Gnus development mailing list
 help / color / mirror / Atom feed
* CVS: Symbol's function definition is void: ignore-errors
@ 1999-12-04 11:42 Thomas Skogestad
  1999-12-04 13:11 ` Raymond Scholz
                   ` (2 more replies)
  0 siblings, 3 replies; 32+ messages in thread
From: Thomas Skogestad @ 1999-12-04 11:42 UTC (permalink / raw)


I've never tried CVS before, but I followed the instructions at 
http://www.gnus.org/distribution.html.

(cvs -v gives Concurrent Versions System (CVS) 1.10.6 (client/server))

After downloading (or whatever it's called), I tried starting with
the CVS-Gnus, however just after Gnus has started loading I get the
following error message: Symbol's function definition is void:
ignore-errors  

Just what version is supposed to be downloaded? (gnus.el claims to be
5.8.3)

(Things work just fine with 5.8.2 downloaded from the ftp site.)

If it's of any interest, the debug trace is:

Signaling: (void-function ignore-errors)
  (ignore-errors (nconc (list ... ...) (if ... nil ...)))
  eval((ignore-errors (nconc (list ... ...) (if ... nil ...))))
  custom-initialize-reset(gnus-select-method (ignore-errors (nconc (list ... ...) (if ... nil ...))))
  custom-declare-variable(gnus-select-method (ignore-errors (nconc (list ... ...) (if ... nil ...))) ("/home/thomas/gnus/gnus-5.8.cvs/lisp/gnus.elc" . -20416) :group gnus-server :type gnus-select-method)
  gnus()
  command-line-1(("-f" "gnus"))
  command-line()
  normal-top-level()

-- 
thomas.skogestad@jusstud.uio.no * http://www.ntnu.no/y2k/
http://www.rock103.com/crew/pics/promnight.jpg
http://cgi.mercurycenter.com/premium/comics/10_13/dilbert.gif
http://cgi.mercurycenter.com/premium/comics/11_19/bizarro.gif


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: CVS: Symbol's function definition is void: ignore-errors
  1999-12-04 11:42 CVS: Symbol's function definition is void: ignore-errors Thomas Skogestad
@ 1999-12-04 13:11 ` Raymond Scholz
  1999-12-04 16:51   ` Andi Hechtbauer
  1999-12-04 16:52 ` Michael Welsh Duggan
  1999-12-04 17:57 ` Dave Love
  2 siblings, 1 reply; 32+ messages in thread
From: Raymond Scholz @ 1999-12-04 13:11 UTC (permalink / raw)


Thomas Skogestad <tskogest@jusstud.uio.no> writes:

> After downloading (or whatever it's called), I tried starting with
> the CVS-Gnus, however just after Gnus has started loading I get the
> following error message: Symbol's function definition is void:
> ignore-errors  

I got this error too, it seems to be BBDB related. The backtrace is
the same for me. Uncommenting the following lines in my .gnus solves
the problem temporarily:

;(bbdb-initialize 'gnus 'message 'w3)
;(bbdb-insinuate-message)

The problem came up last night somewhere between 5.8.2 and 5.8.3.

Cheers,
  Ray
-- 
Raymond Scholz -*- rscholz@tzi.de -*- http://www.tzi.de/~rscholz/
FB 3 Informatik, Universität Bremen -*- PGP key available via WWW


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: CVS: Symbol's function definition is void: ignore-errors
  1999-12-04 13:11 ` Raymond Scholz
@ 1999-12-04 16:51   ` Andi Hechtbauer
  0 siblings, 0 replies; 32+ messages in thread
From: Andi Hechtbauer @ 1999-12-04 16:51 UTC (permalink / raw)
  Cc: ding

Raymond Scholz <rscholz@tzi.de> writes:

> Thomas Skogestad <tskogest@jusstud.uio.no> writes:
> 
> > After downloading (or whatever it's called), I tried starting with
> > the CVS-Gnus, however just after Gnus has started loading I get the
> > following error message: Symbol's function definition is void:
> > ignore-errors  
> 
> I got this error too, it seems to be BBDB related. The backtrace is
> the same for me. Uncommenting the following lines in my .gnus solves
> the problem temporarily:
> 
> ;(bbdb-initialize 'gnus 'message 'w3)
> ;(bbdb-insinuate-message)
> 
> The problem came up last night somewhere between 5.8.2 and 5.8.3.

Hmm. I don't use bbdb and still got that error.

About finding out that "ignore-errors" is a macro from "cl-macs",
I manually did a
M-x load-file /usr/share/emacs/20.3/lisp/emacs-lisp/cl-macs.elc
and fired up gnus again: here I am.

There's a (eval-when-compile (require 'cl)) in gnus.el, that perhaps
got something to do with it? OTOH I'm not a lisp hacker at all, I did
do a diff against an ol' pgnus .97 gnus.el, and this line is there,
too...

bye,
-- 
Andi Hechtbauer                                           anti@spin.de 
System Administration                         voice: +49 941 94 65 937
SPiN GmbH               http://www.spin.de/     fax: +49 941 94 65 938  
------- web design - java chats - guestbooks - java/cgi coding -------


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: CVS: Symbol's function definition is void: ignore-errors
  1999-12-04 11:42 CVS: Symbol's function definition is void: ignore-errors Thomas Skogestad
  1999-12-04 13:11 ` Raymond Scholz
@ 1999-12-04 16:52 ` Michael Welsh Duggan
  1999-12-04 17:00   ` Andi Hechtbauer
  1999-12-04 17:57 ` Dave Love
  2 siblings, 1 reply; 32+ messages in thread
From: Michael Welsh Duggan @ 1999-12-04 16:52 UTC (permalink / raw)


Thomas Skogestad <tskogest@jusstud.uio.no> writes:

> I've never tried CVS before, but I followed the instructions at 
> http://www.gnus.org/distribution.html.
> 
> (cvs -v gives Concurrent Versions System (CVS) 1.10.6 (client/server))
> 
> After downloading (or whatever it's called), I tried starting with
> the CVS-Gnus, however just after Gnus has started loading I get the
> following error message: Symbol's function definition is void:
> ignore-errors  

Did you compile the dist?  `ignore-errors' is a macro in the
cl-macs.el package, and calls to it should be expanded at compile
time.

-- 
Michael Duggan
(md5i@cs.cmu.edu)


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: CVS: Symbol's function definition is void: ignore-errors
  1999-12-04 16:52 ` Michael Welsh Duggan
@ 1999-12-04 17:00   ` Andi Hechtbauer
  1999-12-04 17:11     ` Shenghuo ZHU
  1999-12-04 17:11     ` Michael Welsh Duggan
  0 siblings, 2 replies; 32+ messages in thread
From: Andi Hechtbauer @ 1999-12-04 17:00 UTC (permalink / raw)
  Cc: anti

Michael Welsh Duggan <md5i@cs.cmu.edu> writes:

> Thomas Skogestad <tskogest@jusstud.uio.no> writes:
> 
> > I've never tried CVS before, but I followed the instructions at 
> > http://www.gnus.org/distribution.html.
> > 
> > (cvs -v gives Concurrent Versions System (CVS) 1.10.6 (client/server))
> > 
> > After downloading (or whatever it's called), I tried starting with
> > the CVS-Gnus, however just after Gnus has started loading I get the
> > following error message: Symbol's function definition is void:
> > ignore-errors  
> 
> Did you compile the dist?  `ignore-errors' is a macro in the
> cl-macs.el package, and calls to it should be expanded at compile
> time.


make distclean; configure; make

same error.

-- 
Andi Hechtbauer                                           anti@spin.de 
System Administration                         voice: +49 941 94 65 937
SPiN GmbH               http://www.spin.de/     fax: +49 941 94 65 938  
------- web design - java chats - guestbooks - java/cgi coding -------


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: CVS: Symbol's function definition is void: ignore-errors
  1999-12-04 17:00   ` Andi Hechtbauer
@ 1999-12-04 17:11     ` Shenghuo ZHU
  1999-12-04 17:45       ` Per Abrahamsen
  1999-12-04 17:11     ` Michael Welsh Duggan
  1 sibling, 1 reply; 32+ messages in thread
From: Shenghuo ZHU @ 1999-12-04 17:11 UTC (permalink / raw)


>>>>> "Andi" == Andi Hechtbauer <anti@spin.de> writes:

Andi> Michael Welsh Duggan <md5i@cs.cmu.edu> writes:
>> Thomas Skogestad <tskogest@jusstud.uio.no> writes:
>> 
>> > I've never tried CVS before, but I followed the instructions at 
>> > http://www.gnus.org/distribution.html.
>> > 
>> > (cvs -v gives Concurrent Versions System (CVS) 1.10.6 (client/server))
>> > 
>> > After downloading (or whatever it's called), I tried starting with
>> > the CVS-Gnus, however just after Gnus has started loading I get the
>> > following error message: Symbol's function definition is void:
>> > ignore-errors  
>> 
>> Did you compile the dist?  `ignore-errors' is a macro in the
>> cl-macs.el package, and calls to it should be expanded at compile
>> time.


Andi> make distclean; configure; make

Andi> same error.

[...]

It is a bug. Per Abrahamsen sent a patch to gnus.gnus-bug.

Temporally solution is loading cl-macs.el.

-- 
Shenghuo


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: CVS: Symbol's function definition is void: ignore-errors
  1999-12-04 17:00   ` Andi Hechtbauer
  1999-12-04 17:11     ` Shenghuo ZHU
@ 1999-12-04 17:11     ` Michael Welsh Duggan
  1 sibling, 0 replies; 32+ messages in thread
From: Michael Welsh Duggan @ 1999-12-04 17:11 UTC (permalink / raw)


Andi Hechtbauer <anti@spin.de> writes:

> Michael Welsh Duggan <md5i@cs.cmu.edu> writes:
> 
> > Thomas Skogestad <tskogest@jusstud.uio.no> writes:
> > 
> > > I've never tried CVS before, but I followed the instructions at 
> > > http://www.gnus.org/distribution.html.
> > > 
> > > (cvs -v gives Concurrent Versions System (CVS) 1.10.6 (client/server))
> > > 
> > > After downloading (or whatever it's called), I tried starting with
> > > the CVS-Gnus, however just after Gnus has started loading I get the
> > > following error message: Symbol's function definition is void:
> > > ignore-errors  
> > 
> > Did you compile the dist?  `ignore-errors' is a macro in the
> > cl-macs.el package, and calls to it should be expanded at compile
> > time.
> 
> 
> make distclean; configure; make
> 
> same error.

See my reply to Neil Crellin in the other thread:
<v1tg0xi4ort.fsf@maru.rem.cs.cmu.edu>

-- 
Michael Duggan
(md5i@cs.cmu.edu)


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: CVS: Symbol's function definition is void: ignore-errors
  1999-12-04 17:11     ` Shenghuo ZHU
@ 1999-12-04 17:45       ` Per Abrahamsen
  1999-12-07  4:39         ` Emerick Rogul
  0 siblings, 1 reply; 32+ messages in thread
From: Per Abrahamsen @ 1999-12-04 17:45 UTC (permalink / raw)


Shenghuo ZHU <zsh@cs.rochester.edu> writes:

> It is a bug. Per Abrahamsen sent a patch to gnus.gnus-bug.

I have committed it now.


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: CVS: Symbol's function definition is void: ignore-errors
  1999-12-04 11:42 CVS: Symbol's function definition is void: ignore-errors Thomas Skogestad
  1999-12-04 13:11 ` Raymond Scholz
  1999-12-04 16:52 ` Michael Welsh Duggan
@ 1999-12-04 17:57 ` Dave Love
  1999-12-04 18:21   ` Hrvoje Niksic
  2 siblings, 1 reply; 32+ messages in thread
From: Dave Love @ 1999-12-04 17:57 UTC (permalink / raw)


As a workaround, `(require 'cl)' before loading Gnus.

I've sent Lars a bunch of diffs to fix such problems introduced by
requiring cl only at compile time, per Emacs standards.  `copy-list'
and `delete-duplicates' may also bite.  Sorry I didn't catch this
before.


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: CVS: Symbol's function definition is void: ignore-errors
  1999-12-04 17:57 ` Dave Love
@ 1999-12-04 18:21   ` Hrvoje Niksic
  1999-12-04 19:31     ` Lars Magne Ingebrigtsen
                       ` (2 more replies)
  0 siblings, 3 replies; 32+ messages in thread
From: Hrvoje Niksic @ 1999-12-04 18:21 UTC (permalink / raw)


Dave Love <d.love@dl.ac.uk> writes:

> I've sent Lars a bunch of diffs to fix such problems introduced by
> requiring cl only at compile time, per Emacs standards.  `copy-list'
> and `delete-duplicates' may also bite.

It would be really nice if GNU Emacs standards could change to at
least allow the major packages to use the CL extensions.

Of course, the code can be written without use of copy-list,
delete-duplicates, etc., but some of the functions provided by cl.el
are non-trivial, and it's a shame to have to duplicate the work that
went into implementing them.


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: CVS: Symbol's function definition is void: ignore-errors
  1999-12-04 18:21   ` Hrvoje Niksic
@ 1999-12-04 19:31     ` Lars Magne Ingebrigtsen
  1999-12-04 19:42       ` Lars Magne Ingebrigtsen
  1999-12-04 19:44       ` Hrvoje Niksic
  1999-12-05  0:06     ` Dave Love
  1999-12-07 23:42     ` Eric Marsden
  2 siblings, 2 replies; 32+ messages in thread
From: Lars Magne Ingebrigtsen @ 1999-12-04 19:31 UTC (permalink / raw)


Hrvoje Niksic <hniksic@iskon.hr> writes:

> Of course, the code can be written without use of copy-list,
> delete-duplicates, etc., but some of the functions provided by cl.el
> are non-trivial, and it's a shame to have to duplicate the work that
> went into implementing them.

Yup.

How about importing all the functions from cl into Gnus, but renaming
them `gnus-*'?  :-)  Should be possible to do with an
`eval-when-compile' in gnus.el and some creativity with `load' and
`mapatoms'.  

-- 
(domestic pets only, the antidote for overdose, milk.)
   larsi@gnus.org * Lars Magne Ingebrigtsen


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: CVS: Symbol's function definition is void: ignore-errors
  1999-12-04 19:31     ` Lars Magne Ingebrigtsen
@ 1999-12-04 19:42       ` Lars Magne Ingebrigtsen
  1999-12-06 14:03         ` Andreas Schwab
  1999-12-04 19:44       ` Hrvoje Niksic
  1 sibling, 1 reply; 32+ messages in thread
From: Lars Magne Ingebrigtsen @ 1999-12-04 19:42 UTC (permalink / raw)


Lars Magne Ingebrigtsen <larsi@gnus.org> writes:

> How about importing all the functions from cl into Gnus, but renaming
> them `gnus-*'?  :-)

Er; that was a joke, but now I'm serious.  I could just get a list of
all the defuns in cl-*, map over them and do

(fset 'gnus-* (symbol-function *))

Hm.  But how to write out the result during byte-compilation?  We want 
a gnus-cl.elc file that contains the

(fset 'gnus-* #<compiled-function --->)

Can that be done?  Hm.  (Well, not the "#<compiled-function" stuff,
but the same thing.)

-- 
(domestic pets only, the antidote for overdose, milk.)
   larsi@gnus.org * Lars Magne Ingebrigtsen


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: CVS: Symbol's function definition is void: ignore-errors
  1999-12-04 19:31     ` Lars Magne Ingebrigtsen
  1999-12-04 19:42       ` Lars Magne Ingebrigtsen
@ 1999-12-04 19:44       ` Hrvoje Niksic
  1999-12-04 19:58         ` Lars Magne Ingebrigtsen
  1999-12-05  0:11         ` Dave Love
  1 sibling, 2 replies; 32+ messages in thread
From: Hrvoje Niksic @ 1999-12-04 19:44 UTC (permalink / raw)


Lars Magne Ingebrigtsen <larsi@gnus.org> writes:

> Hrvoje Niksic <hniksic@iskon.hr> writes:
> 
> > Of course, the code can be written without use of copy-list,
> > delete-duplicates, etc., but some of the functions provided by cl.el
> > are non-trivial, and it's a shame to have to duplicate the work that
> > went into implementing them.
> 
> Yup.
> 
> How about importing all the functions from cl into Gnus, but
> renaming them `gnus-*'?  :-)

Two remarks:

a) There are a lot of them.  You wouldn't want all that in Gnus,
   renamed as gnus-*.

b) Some of them carry interesting meta-information that is not easy to
   transfer, such as instructions for byte-optimizer.  cl.el is
   smarter than it appears -- some of the seemingly cluttered function
   and macro constructs compile to efficient byte-code.  (See the
   various compiler macro definitions in cl-macs.el)

Maybe it would be a better approach to really really beg Stallman to
allow Gnus to use the nice CL thingies.  Gnus is *huge*.  I don't
think anyone will notice the difference.


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: CVS: Symbol's function definition is void: ignore-errors
  1999-12-04 19:44       ` Hrvoje Niksic
@ 1999-12-04 19:58         ` Lars Magne Ingebrigtsen
  1999-12-04 20:10           ` Hrvoje Niksic
  1999-12-05 23:11           ` Kai Großjohann
  1999-12-05  0:11         ` Dave Love
  1 sibling, 2 replies; 32+ messages in thread
From: Lars Magne Ingebrigtsen @ 1999-12-04 19:58 UTC (permalink / raw)


Hrvoje Niksic <hniksic@iskon.hr> writes:

> a) There are a lot of them.  You wouldn't want all that in Gnus,
>    renamed as gnus-*.

cl.el and friends isn't that big.  And I only need the functions, not
the macros.

> b) Some of them carry interesting meta-information that is not easy to
>    transfer, such as instructions for byte-optimizer.  cl.el is
>    smarter than it appears -- some of the seemingly cluttered function
>    and macro constructs compile to efficient byte-code.  (See the
>    various compiler macro definitions in cl-macs.el)

Yup.  That's why I want the byte-code, not the functions themselves.

And it can be done.  gnus-cl.el could be a kinda large
`eval-when-compile' form that contained a macro that would return a
big

(progn
  (defaliast 'gnus-delete-duplicates 

#[(cl-seq &rest cl-keys) "byte code removed" [cl-delete-duplicates cl-seq cl-keys nil] 4 596479]

Er.  But the cl functions call other cl functions.  Er.  Uhm.  Hm.
Can I alter the contents of the byte-compiled function to call the
Gnus functions instead?  My, this is getting rather complicated...

> Maybe it would be a better approach to really really beg Stallman to
> allow Gnus to use the nice CL thingies.  Gnus is *huge*.  I don't
> think anyone will notice the difference.

I think it's mainly a name-pollution thing for RMS.  Having
`delete-duplicates' in the namespace will make people believe that's a 
proper Emacs function and stuff.

But I can ask him again.

-- 
(domestic pets only, the antidote for overdose, milk.)
   larsi@gnus.org * Lars Magne Ingebrigtsen


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: CVS: Symbol's function definition is void: ignore-errors
  1999-12-04 19:58         ` Lars Magne Ingebrigtsen
@ 1999-12-04 20:10           ` Hrvoje Niksic
  1999-12-04 20:36             ` Lars Magne Ingebrigtsen
  1999-12-05 23:11           ` Kai Großjohann
  1 sibling, 1 reply; 32+ messages in thread
From: Hrvoje Niksic @ 1999-12-04 20:10 UTC (permalink / raw)


Lars Magne Ingebrigtsen <larsi@gnus.org> writes:

> > b) Some of them carry interesting meta-information that is not easy to
> >    transfer, such as instructions for byte-optimizer.  cl.el is
> >    smarter than it appears -- some of the seemingly cluttered function
> >    and macro constructs compile to efficient byte-code.  (See the
> >    various compiler macro definitions in cl-macs.el)
> 
> Yup.  That's why I want the byte-code, not the functions themselves.

But the byte-code doesn't have the whole info.  My point is that, for
instance:

(disassemble
  (lambda () (eql x 'bar)))

...disassembles to code that uses `eq' because it's safe.  OTOH, this:

(disassemble
  (lambda () (eql x y)))

...disassembles to code that uses `equal', because EQUAL has its own
byte-code instruction, and it's faster than calling `eql'.

If you do something like (fset 'gnus-eql (indirect-function 'eql)),
you lose this meta-information.  This is a trivial example, but there
are more.

EQL is a trivial example, but there is more where that came from.
"compiler macros" != "Lisp macros".

> #[(cl-seq &rest cl-keys) "byte code removed" [cl-delete-duplicates cl-seq cl-keys nil] 4 596479]
> 
> Er.  But the cl functions call other cl functions.  Er.  Uhm.  Hm.
> Can I alter the contents of the byte-compiled function to call the
> Gnus functions instead?  My, this is getting rather complicated...

Yup.

> > Maybe it would be a better approach to really really beg Stallman
> > to allow Gnus to use the nice CL thingies.  Gnus is *huge*.  I
> > don't think anyone will notice the difference.
> 
> I think it's mainly a name-pollution thing for RMS.  Having
> `delete-duplicates' in the namespace will make people believe that's
> a proper Emacs function and stuff.

Isn't it, really?  It ships with Emacs, it's GPL-ed, it's assigned to
the FSF, it works nicely, it sings and it cooks for you.  If noone is
supposed to use it, why is it there in the first place?


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: CVS: Symbol's function definition is void: ignore-errors
  1999-12-04 20:10           ` Hrvoje Niksic
@ 1999-12-04 20:36             ` Lars Magne Ingebrigtsen
  1999-12-04 20:53               ` Hrvoje Niksic
  0 siblings, 1 reply; 32+ messages in thread
From: Lars Magne Ingebrigtsen @ 1999-12-04 20:36 UTC (permalink / raw)


Hrvoje Niksic <hniksic@iskon.hr> writes:

> > Yup.  That's why I want the byte-code, not the functions themselves.
> 
> But the byte-code doesn't have the whole info.  My point is that, for
> instance:
> 
> (disassemble
>   (lambda () (eql x 'bar)))
> 
> ...disassembles to code that uses `eq' because it's safe.  OTOH, this:
> 
> (disassemble
>   (lambda () (eql x y)))
> 
> ...disassembles to code that uses `equal', because EQUAL has its own
> byte-code instruction, and it's faster than calling `eql'.

Cool.  I didn't know about `define-compiler-macro'.  

> > I think it's mainly a name-pollution thing for RMS.  Having
> > `delete-duplicates' in the namespace will make people believe that's
> > a proper Emacs function and stuff.
> 
> Isn't it, really?  It ships with Emacs, it's GPL-ed, it's assigned to
> the FSF, it works nicely, it sings and it cooks for you.  If noone is
> supposed to use it, why is it there in the first place?

I think people are supposed to decide for themselves whether to load
cl, or something.

-- 
(domestic pets only, the antidote for overdose, milk.)
   larsi@gnus.org * Lars Magne Ingebrigtsen


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: CVS: Symbol's function definition is void: ignore-errors
  1999-12-04 20:36             ` Lars Magne Ingebrigtsen
@ 1999-12-04 20:53               ` Hrvoje Niksic
  0 siblings, 0 replies; 32+ messages in thread
From: Hrvoje Niksic @ 1999-12-04 20:53 UTC (permalink / raw)


Lars Magne Ingebrigtsen <larsi@gnus.org> writes:

> > Isn't it, really?  It ships with Emacs, it's GPL-ed, it's assigned
> > to the FSF, it works nicely, it sings and it cooks for you.  If
> > noone is supposed to use it, why is it there in the first place?
> 
> I think people are supposed to decide for themselves whether to load
> cl, or something.

No offense to Stallman, but that doesn't really make sense.  cl.el is
supposed to be helpful to programmers, not to users.  If no package is
uses it because people should decide whether they want to use it or
not, then why is it there?

But I'm attacking strawmen here -- I don't know the actual Stallman's
position.  I just wish the impressive amount of work invested in cl.el
could be leveraged elsewhere, like in Gnus.


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: CVS: Symbol's function definition is void: ignore-errors
  1999-12-04 18:21   ` Hrvoje Niksic
  1999-12-04 19:31     ` Lars Magne Ingebrigtsen
@ 1999-12-05  0:06     ` Dave Love
  1999-12-07 23:42     ` Eric Marsden
  2 siblings, 0 replies; 32+ messages in thread
From: Dave Love @ 1999-12-05  0:06 UTC (permalink / raw)


>>>>> "HN" == Hrvoje Niksic <hniksic@iskon.hr> writes:

 HN> It would be really nice if GNU Emacs standards could change to at
 HN> least allow the major packages to use the CL extensions.

It's fine to require cl when compiling.

 HN> Of course, the code can be written without use of copy-list,
 HN> delete-duplicates, etc., but some of the functions provided by cl.el
 HN> are non-trivial, 

`delete-duplicates' isn't entirely trivial...

 HN> and it's a shame to have to duplicate the work that went into
 HN> implementing them.

If the case is made that there's a common need for such particular CL
functions they might be moved into the core.  The usual use of `push'
and `pop' is now covered, for instance.


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: CVS: Symbol's function definition is void: ignore-errors
  1999-12-04 19:44       ` Hrvoje Niksic
  1999-12-04 19:58         ` Lars Magne Ingebrigtsen
@ 1999-12-05  0:11         ` Dave Love
  1 sibling, 0 replies; 32+ messages in thread
From: Dave Love @ 1999-12-05  0:11 UTC (permalink / raw)


>>>>> "HN" == Hrvoje Niksic <hniksic@iskon.hr> writes:

 HN> Maybe it would be a better approach to really really beg Stallman
 HN> to allow Gnus to use the nice CL thingies.  Gnus is *huge*.

Surely, though, some of this is meant to be library code (potentially)
used outside Gnus?  It doesn't seem to be a big issue in practice.  I
didn't fix up so much (though there may be some more to do).



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: CVS: Symbol's function definition is void: ignore-errors
  1999-12-04 19:58         ` Lars Magne Ingebrigtsen
  1999-12-04 20:10           ` Hrvoje Niksic
@ 1999-12-05 23:11           ` Kai Großjohann
  1 sibling, 0 replies; 32+ messages in thread
From: Kai Großjohann @ 1999-12-05 23:11 UTC (permalink / raw)


Lars Magne Ingebrigtsen <larsi@gnus.org> writes:

> I think it's mainly a name-pollution thing for RMS.  Having
> `delete-duplicates' in the namespace will make people believe that's a 
> proper Emacs function and stuff.

Maybe he would agree to having a cl-safe package which contains all
the CL functions, but with different names cl-foo rather than foo?

I have communicated with somebody about this before,¹ and that person
has asked RMS, and it appears that RMS is somehow opposed to CL on a
non-rational basis.  After all, Scheme (or Guile) is supposed to
become the standard GNU extension language...  And it is not clear
that anything would really be gained by lots of people using CL-isms
where they should have been using Guile-isms, if Emacs Lisp ever gets
transferred to Guile.

But that's only hearsay and rumor and vague memory and all that.

For the record, I think that it is okay for somebody to not /like/
something for irrational reasons.  Happens to all of us, I think.
Some people try to rationalize (is that the right word?), but if you
admit it, it's okay...

kai

¹ Sorry that I forgot your name :-/

-- 
A preposition is not a good thing to end a sentence with.


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: CVS: Symbol's function definition is void: ignore-errors
  1999-12-04 19:42       ` Lars Magne Ingebrigtsen
@ 1999-12-06 14:03         ` Andreas Schwab
  0 siblings, 0 replies; 32+ messages in thread
From: Andreas Schwab @ 1999-12-06 14:03 UTC (permalink / raw)


Lars Magne Ingebrigtsen <larsi@gnus.org> writes:

|> Lars Magne Ingebrigtsen <larsi@gnus.org> writes:
|> 
|> > How about importing all the functions from cl into Gnus, but renaming
|> > them `gnus-*'?  :-)
|> 
|> Er; that was a joke, but now I'm serious.  I could just get a list of
|> all the defuns in cl-*, map over them and do
|> 
|> (fset 'gnus-* (symbol-function *))
|> 
|> Hm.  But how to write out the result during byte-compilation?  We want 
|> a gnus-cl.elc file that contains the
|> 
|> (fset 'gnus-* #<compiled-function --->)
|> 
|> Can that be done?  Hm.  (Well, not the "#<compiled-function" stuff,
|> but the same thing.)

(fset 'gnus-* (eval-when-compile (symbol-function '*)))

-- 
Andreas Schwab                                  "And now for something
SuSE Labs                                        completely different."
schwab@suse.de
SuSE GmbH, Schanzäckerstr. 10, D-90443 Nürnberg


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: CVS: Symbol's function definition is void: ignore-errors
  1999-12-04 17:45       ` Per Abrahamsen
@ 1999-12-07  4:39         ` Emerick Rogul
  1999-12-07 10:43           ` Per Abrahamsen
                             ` (2 more replies)
  0 siblings, 3 replies; 32+ messages in thread
From: Emerick Rogul @ 1999-12-07  4:39 UTC (permalink / raw)


Per Abrahamsen writes:

: Shenghuo ZHU <zsh@cs.rochester.edu> writes:
:: It is a bug. Per Abrahamsen sent a patch to gnus.gnus-bug.

: I have committed it now.

Hrm.  I grabbed the most recent gnus out of CVS a few moments ago, and
I'm still having this problem.  Loading cl-macs.el in my .emacs file
seems to bypass the problem, however.  Any ideas what could be
happening?

-Emerick
-- 
-------------------------------------------------------------------------
  "razzle, dazzle, drazzle, drone, time for this one to come home,
   razzle, dazzle, drazzle, dry, time for this one to come alive."
--- Emerick Rogul <emerick@cs.bu.edu> ---------- 'hold my life', the mats


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: CVS: Symbol's function definition is void: ignore-errors
  1999-12-07  4:39         ` Emerick Rogul
@ 1999-12-07 10:43           ` Per Abrahamsen
  1999-12-07 12:19           ` Thomas Skogestad
  1999-12-07 14:51           ` Dave Love
  2 siblings, 0 replies; 32+ messages in thread
From: Per Abrahamsen @ 1999-12-07 10:43 UTC (permalink / raw)


Emerick Rogul <emerick@cs.bu.edu> writes:

> Per Abrahamsen writes:
> 
> : Shenghuo ZHU <zsh@cs.rochester.edu> writes:
> :: It is a bug. Per Abrahamsen sent a patch to gnus.gnus-bug.
> 
> : I have committed it now.
> 
> Hrm.  I grabbed the most recent gnus out of CVS a few moments ago, and
> I'm still having this problem.  Loading cl-macs.el in my .emacs file
> seems to bypass the problem, however.  Any ideas what could be
> happening?

No.  Try to post a backtrace.


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: CVS: Symbol's function definition is void: ignore-errors
  1999-12-07  4:39         ` Emerick Rogul
  1999-12-07 10:43           ` Per Abrahamsen
@ 1999-12-07 12:19           ` Thomas Skogestad
  1999-12-07 12:46             ` Per Abrahamsen
  1999-12-07 14:51           ` Dave Love
  2 siblings, 1 reply; 32+ messages in thread
From: Thomas Skogestad @ 1999-12-07 12:19 UTC (permalink / raw)


* Emerick Rogul

| Hrm.  I grabbed the most recent gnus out of CVS a few moments ago,
| and I'm still having this problem.

So did I, just seconds ago. But I still nedd (require 'cl) in my
.emacs.

The backtrace is 

Signaling: (void-function ignore-errors)
  (ignore-errors (nconc (list ... ...) (if ... nil ...)))
  eval((ignore-errors (nconc (list ... ...) (if ... nil ...))))
  custom-initialize-reset(gnus-select-method (ignore-errors (nconc (list ... ...) (if ... nil ...))))
  custom-declare-variable(gnus-select-method (ignore-errors (nconc (list ... ...) (if ... nil ...))) ("/home/thomas/gnus/gnus-5.8.cvs/lisp/gnus.elc" . -20416) :group gnus-server :type gnus-select-method)
  gnus()
  command-line-1(("-f" "gnus"))
  command-line()
  normal-top-level()

-- 
thomas.skogestad@jusstud.uio.no
http://quimby.gnus.org/circus/problem.gif
ftp://ftp.splode.com/pub/users/friedman/emacs-lisp/kill-a-lawyer.el


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: CVS: Symbol's function definition is void: ignore-errors
  1999-12-07 12:19           ` Thomas Skogestad
@ 1999-12-07 12:46             ` Per Abrahamsen
  1999-12-07 14:22               ` Raymond Scholz
  0 siblings, 1 reply; 32+ messages in thread
From: Per Abrahamsen @ 1999-12-07 12:46 UTC (permalink / raw)


Thomas Skogestad <tskogest@jusstud.uio.no> writes:

>   custom-initialize-reset(gnus-select-method (ignore-errors (nconc (list ... ...) (if ... nil ...))))

I missed `gnus-select-method' since I have customized that variable myself.
A fix for that has been committed now.


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: CVS: Symbol's function definition is void: ignore-errors
  1999-12-07 12:46             ` Per Abrahamsen
@ 1999-12-07 14:22               ` Raymond Scholz
  1999-12-07 14:38                 ` Per Abrahamsen
  0 siblings, 1 reply; 32+ messages in thread
From: Raymond Scholz @ 1999-12-07 14:22 UTC (permalink / raw)


Per Abrahamsen <abraham@dina.kvl.dk> writes:

> I missed `gnus-select-method' since I have customized that variable myself.
> A fix for that has been committed now.

Hmm, didn't fix it for me. Before your fix I got the backtrace Thomas
reported.

Now it has changed to:

Signaling: (error "Attempted use of a nil select method")
  signal(error ("Attempted use of a nil select method"))
  error("Attempted use of a nil select method")
  gnus-server-opened(nil)
  gnus-start-news-server(nil)
  gnus-1(nil nil nil)
  gnus()
  command-line-1(("-f" "gnus"))
  command-line()
  normal-top-level()

(require 'cl) in .emacs is still required for a successful startup.

Cheers,
  Ray
-- 
Raymond Scholz -*- rscholz@tzi.de -*- http://www.tzi.de/~rscholz/
FB 3 Informatik, Universität Bremen -*- PGP key available via WWW


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: CVS: Symbol's function definition is void: ignore-errors
  1999-12-07 14:22               ` Raymond Scholz
@ 1999-12-07 14:38                 ` Per Abrahamsen
  1999-12-07 16:07                   ` Emerick Rogul
  0 siblings, 1 reply; 32+ messages in thread
From: Per Abrahamsen @ 1999-12-07 14:38 UTC (permalink / raw)


Raymond Scholz <rscholz@tzi.de> writes:

> Per Abrahamsen <abraham@dina.kvl.dk> writes:
> 
> > I missed `gnus-select-method' since I have customized that variable myself.
> > A fix for that has been committed now.
> 
> Hmm, didn't fix it for me.

Oops, the definition had nested calls to `ignore-errors', I only
changed the outer layer.

Both calls should be fixed now in CVS.


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: CVS: Symbol's function definition is void: ignore-errors
  1999-12-07  4:39         ` Emerick Rogul
  1999-12-07 10:43           ` Per Abrahamsen
  1999-12-07 12:19           ` Thomas Skogestad
@ 1999-12-07 14:51           ` Dave Love
  2 siblings, 0 replies; 32+ messages in thread
From: Dave Love @ 1999-12-07 14:51 UTC (permalink / raw)


At the weekend I sent a bunch of changes for CL problems at runtime
that haven't been applied yet.  (There may be more changes needed
yet).

See an article headed `Re: more CL at runtime fixes' which it seems
you can find in the bugs group nntp+quimby.gnus.org:gnus.gnus-bug.


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: CVS: Symbol's function definition is void: ignore-errors
  1999-12-07 14:38                 ` Per Abrahamsen
@ 1999-12-07 16:07                   ` Emerick Rogul
  0 siblings, 0 replies; 32+ messages in thread
From: Emerick Rogul @ 1999-12-07 16:07 UTC (permalink / raw)


Per Abrahamsen writes:

: Raymond Scholz <rscholz@tzi.de> writes:
:: Per Abrahamsen <abraham@dina.kvl.dk> writes:
:: 
:: > I missed `gnus-select-method' since I have customized that variable myself.
:: > A fix for that has been committed now.
:: 
:: Hmm, didn't fix it for me.

: Oops, the definition had nested calls to `ignore-errors', I only
: changed the outer layer.

: Both calls should be fixed now in CVS.

That fixed the problem here.  Thanks Per!

-Emerick
-- 
-------------------------------------------------------------------------
Emerick Rogul             /\/     "how young are you, how old am i?
emerick@cs.bu.edu         /\/      let's count the rings around my eyes."
------------------------------------------------- 'i will dare', the mats


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: CVS: Symbol's function definition is void: ignore-errors
  1999-12-04 18:21   ` Hrvoje Niksic
  1999-12-04 19:31     ` Lars Magne Ingebrigtsen
  1999-12-05  0:06     ` Dave Love
@ 1999-12-07 23:42     ` Eric Marsden
  1999-12-07 23:50       ` David Maslen
  1999-12-08  9:23       ` Hrvoje Niksic
  2 siblings, 2 replies; 32+ messages in thread
From: Eric Marsden @ 1999-12-07 23:42 UTC (permalink / raw)


>>>>> "Hrvoje" == Hrvoje Niksic <hniksic@iskon.hr> writes:

  Hrvoje> It would be really nice if GNU Emacs standards could change
  Hrvoje> to at least allow the major packages to use the CL
  Hrvoje> extensions.

hear, hear!  Heck, even minor packages :-)

-- 
Eric Marsden


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: CVS: Symbol's function definition is void: ignore-errors
  1999-12-07 23:42     ` Eric Marsden
@ 1999-12-07 23:50       ` David Maslen
  1999-12-08  9:23       ` Hrvoje Niksic
  1 sibling, 0 replies; 32+ messages in thread
From: David Maslen @ 1999-12-07 23:50 UTC (permalink / raw)
  Cc: ding

Eric Marsden <emarsden@mail.dotcom.fr> writes:
> >>>>> "Hrvoje" == Hrvoje Niksic <hniksic@iskon.hr> writes:
> 
>   Hrvoje> It would be really nice if GNU Emacs standards could change
>   Hrvoje> to at least allow the major packages to use the CL
>   Hrvoje> extensions.
> 
> hear, hear!  Heck, even minor packages :-)

Isn't that the sort of talk that got the XEmacs project started?



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: CVS: Symbol's function definition is void: ignore-errors
  1999-12-07 23:42     ` Eric Marsden
  1999-12-07 23:50       ` David Maslen
@ 1999-12-08  9:23       ` Hrvoje Niksic
  1 sibling, 0 replies; 32+ messages in thread
From: Hrvoje Niksic @ 1999-12-08  9:23 UTC (permalink / raw)


Eric Marsden <emarsden@mail.dotcom.fr> writes:

> >>>>> "Hrvoje" == Hrvoje Niksic <hniksic@iskon.hr> writes:
> 
>   Hrvoje> It would be really nice if GNU Emacs standards could change
>   Hrvoje> to at least allow the major packages to use the CL
>   Hrvoje> extensions.
> 
> hear, hear!  Heck, even minor packages :-)

True, but it can be argued that use of cl.el in small packages causes
unnecessary delay in loading time, memory use, etc.  With an
elephant-sized karakondžula like Gnus, cl.el is only a tear-drop in
the ocean of Elisp.  :-)

David Maslen <david.maslen@iname.com> writes:

> Isn't that the sort of talk that got the XEmacs project started?

It is.  But in this case, it's irrelevant, as Gnus is bundled with GNU
Emacs and respects its standards.  It would be, uh, difficult, to have
one version of Gnus under GNU Emacs, and something else under XEmacs.

Incidentally, XEmacs preloads (dumps) the CL extensions.  (Except for
cl-macs.el, which is auto-loaded.)


^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~1999-12-08  9:23 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-12-04 11:42 CVS: Symbol's function definition is void: ignore-errors Thomas Skogestad
1999-12-04 13:11 ` Raymond Scholz
1999-12-04 16:51   ` Andi Hechtbauer
1999-12-04 16:52 ` Michael Welsh Duggan
1999-12-04 17:00   ` Andi Hechtbauer
1999-12-04 17:11     ` Shenghuo ZHU
1999-12-04 17:45       ` Per Abrahamsen
1999-12-07  4:39         ` Emerick Rogul
1999-12-07 10:43           ` Per Abrahamsen
1999-12-07 12:19           ` Thomas Skogestad
1999-12-07 12:46             ` Per Abrahamsen
1999-12-07 14:22               ` Raymond Scholz
1999-12-07 14:38                 ` Per Abrahamsen
1999-12-07 16:07                   ` Emerick Rogul
1999-12-07 14:51           ` Dave Love
1999-12-04 17:11     ` Michael Welsh Duggan
1999-12-04 17:57 ` Dave Love
1999-12-04 18:21   ` Hrvoje Niksic
1999-12-04 19:31     ` Lars Magne Ingebrigtsen
1999-12-04 19:42       ` Lars Magne Ingebrigtsen
1999-12-06 14:03         ` Andreas Schwab
1999-12-04 19:44       ` Hrvoje Niksic
1999-12-04 19:58         ` Lars Magne Ingebrigtsen
1999-12-04 20:10           ` Hrvoje Niksic
1999-12-04 20:36             ` Lars Magne Ingebrigtsen
1999-12-04 20:53               ` Hrvoje Niksic
1999-12-05 23:11           ` Kai Großjohann
1999-12-05  0:11         ` Dave Love
1999-12-05  0:06     ` Dave Love
1999-12-07 23:42     ` Eric Marsden
1999-12-07 23:50       ` David Maslen
1999-12-08  9:23       ` Hrvoje Niksic

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).