unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* old-style backquotes now generates void macro
@ 2010-12-13  3:57 Kan-Ru Chen
  2010-12-13 17:55 ` Stefan Monnier
  0 siblings, 1 reply; 8+ messages in thread
From: Kan-Ru Chen @ 2010-12-13  3:57 UTC (permalink / raw)
  To: emacs-devel


Hi,

Using recently compiled emacs development branch, GNU Emacs 24.0.50.1
(x86_64-pc-linux-gnu, GTK+ Version 2.20.1) of 2010-12-12

Byte compiling following file will produce an error:

,----[ test.el ]
| (defmacro test-macro (rec)
|   (` ((, rec))))
| 
| (defun test nil
|   (test-macro x))
`----

,----[ *Compile-Log* ]
| Compiling file /home/kanru/test.el at Mon Dec 13 11:45:18 2010
| test.el:1:1:Warning: !! The file uses old-style backquotes !!
| This functionality has been obsolete for more than 10 years already
| and will be removed soon.  See (elisp)Backquote in the manual.
| test.el:4:8:Error: Symbol's function definition is void: 
`----

Affected package like APEL and BBDB cannot be compiled now.  Is this
intended to push the phase out of old-style backquotes?

- Kanru




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

* Re: old-style backquotes now generates void macro
  2010-12-13  3:57 old-style backquotes now generates void macro Kan-Ru Chen
@ 2010-12-13 17:55 ` Stefan Monnier
  2010-12-14  0:03   ` Kan-Ru Chen
  0 siblings, 1 reply; 8+ messages in thread
From: Stefan Monnier @ 2010-12-13 17:55 UTC (permalink / raw)
  To: Kan-Ru Chen; +Cc: emacs-devel

> ,----[ *Compile-Log* ]
> | Compiling file /home/kanru/test.el at Mon Dec 13 11:45:18 2010
> | test.el:1:1:Warning: !! The file uses old-style backquotes !!
> | This functionality has been obsolete for more than 10 years already
> | and will be removed soon.  See (elisp)Backquote in the manual.
> | test.el:4:8:Error: Symbol's function definition is void: 
> `----

> Affected package like APEL and BBDB cannot be compiled now.  Is this
> intended to push the phase out of old-style backquotes?

There's indeed a newly introduced bug in the old-style backquote code.
It'll get fixed before the Emacs-24 release, but in the mean time you'd
be well-advised to get rid of that dinosaur in "your" source code.


        Stefan



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

* Re: old-style backquotes now generates void macro
  2010-12-13 17:55 ` Stefan Monnier
@ 2010-12-14  0:03   ` Kan-Ru Chen
  2010-12-17  3:28     ` Stefan Monnier
  0 siblings, 1 reply; 8+ messages in thread
From: Kan-Ru Chen @ 2010-12-14  0:03 UTC (permalink / raw)
  To: emacs-devel

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>> ,----[ *Compile-Log* ]
>> | Compiling file /home/kanru/test.el at Mon Dec 13 11:45:18 2010
>> | test.el:1:1:Warning: !! The file uses old-style backquotes !!
>> | This functionality has been obsolete for more than 10 years already
>> | and will be removed soon.  See (elisp)Backquote in the manual.
>> | test.el:4:8:Error: Symbol's function definition is void: 
>> `----
>
>> Affected package like APEL and BBDB cannot be compiled now.  Is this
>> intended to push the phase out of old-style backquotes?
>
> There's indeed a newly introduced bug in the old-style backquote code.
> It'll get fixed before the Emacs-24 release, but in the mean time you'd
> be well-advised to get rid of that dinosaur in "your" source code.

Well, it is indeed a good chance to get rid of the relics.  But if you said
that this is no longer supported, it seems to be more convincing for
people to upgrade "their" code, isn't it?  ;-)

- Kanru




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

* Re: old-style backquotes now generates void macro
  2010-12-14  0:03   ` Kan-Ru Chen
@ 2010-12-17  3:28     ` Stefan Monnier
  2010-12-17 10:11       ` Leo
  0 siblings, 1 reply; 8+ messages in thread
From: Stefan Monnier @ 2010-12-17  3:28 UTC (permalink / raw)
  To: Kan-Ru Chen; +Cc: emacs-devel

>>> ,----[ *Compile-Log* ]
>>> | Compiling file /home/kanru/test.el at Mon Dec 13 11:45:18 2010
>>> | test.el:1:1:Warning: !! The file uses old-style backquotes !!
>>> | This functionality has been obsolete for more than 10 years already
>>> | and will be removed soon.  See (elisp)Backquote in the manual.
>>> | test.el:4:8:Error: Symbol's function definition is void: 
>>> `----
>> 
>>> Affected package like APEL and BBDB cannot be compiled now.  Is this
>>> intended to push the phase out of old-style backquotes?
>> 
>> There's indeed a newly introduced bug in the old-style backquote code.
>> It'll get fixed before the Emacs-24 release, but in the mean time you'd
>> be well-advised to get rid of that dinosaur in "your" source code.

> Well, it is indeed a good chance to get rid of the relics.  But if you said
> that this is no longer supported, it seems to be more convincing for
> people to upgrade "their" code, isn't it?  ;-)

"obsolete" basically means "unsupported".
But in order not to alienate our users who don't always have the ability
to fix the code they use, we tend to keep obsolete features working,
sometimes far too long.


        Stefan



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

* Re: old-style backquotes now generates void macro
  2010-12-17  3:28     ` Stefan Monnier
@ 2010-12-17 10:11       ` Leo
  2010-12-17 15:33         ` Kan-Ru Chen
  2010-12-17 19:01         ` David Engster
  0 siblings, 2 replies; 8+ messages in thread
From: Leo @ 2010-12-17 10:11 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Kan-Ru Chen, emacs-devel

On 2010-12-17 03:28 +0000, Stefan Monnier wrote:
> "obsolete" basically means "unsupported". But in order not to alienate
> our users who don't always have the ability to fix the code they use,
> we tend to keep obsolete features working, sometimes far too long.

I think packages most users use are well supported i.e. any trivial bugs
like these are fixed promptly. The thing though is they don't know when
the obsolete features are going, so they sometimes keep using them until
absolutely have to change.

Leo

-- 
Oracle is the new evil



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

* Re: old-style backquotes now generates void macro
  2010-12-17 10:11       ` Leo
@ 2010-12-17 15:33         ` Kan-Ru Chen
  2010-12-17 19:01         ` David Engster
  1 sibling, 0 replies; 8+ messages in thread
From: Kan-Ru Chen @ 2010-12-17 15:33 UTC (permalink / raw)
  To: Leo; +Cc: Stefan Monnier, emacs-devel

Leo <sdl.web@gmail.com> writes:

> On 2010-12-17 03:28 +0000, Stefan Monnier wrote:
>> "obsolete" basically means "unsupported". But in order not to alienate
>> our users who don't always have the ability to fix the code they use,
>> we tend to keep obsolete features working, sometimes far too long.
>
> I think packages most users use are well supported i.e. any trivial bugs
> like these are fixed promptly. The thing though is they don't know when
> the obsolete features are going, so they sometimes keep using them until
> absolutely have to change.

I think disable obsolete features in development version more
aggressively is good to make someone who can fix the trivial bugs aware
of them, since some packages are installed using the system tool, Debian
package in my case, the warnings are hidden from the user.

- Kanru



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

* Re: old-style backquotes now generates void macro
  2010-12-17 10:11       ` Leo
  2010-12-17 15:33         ` Kan-Ru Chen
@ 2010-12-17 19:01         ` David Engster
  2010-12-17 22:00           ` Stefan Monnier
  1 sibling, 1 reply; 8+ messages in thread
From: David Engster @ 2010-12-17 19:01 UTC (permalink / raw)
  To: emacs-devel

Leo writes:
> On 2010-12-17 03:28 +0000, Stefan Monnier wrote:
>> "obsolete" basically means "unsupported". But in order not to alienate
>> our users who don't always have the ability to fix the code they use,
>> we tend to keep obsolete features working, sometimes far too long.
>
> I think packages most users use are well supported i.e. any trivial bugs
> like these are fixed promptly. The thing though is they don't know when
> the obsolete features are going, so they sometimes keep using them until
> absolutely have to change.

The problem is that it is sometimes not clear to me what exactly has to
change.

Currently, the change to lread.c broke the grammar generation in CEDET.

The culprit is that

(read "( ,(cons $1 $3 ) )")

used to return

(\, (cons $1 $3))

but now returns

((\, (cons $1 $3)))

Does CEDET depend on some obsoleted feature here, meaning this should
rather be fixed in CEDET than emacs?

-David



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

* Re: old-style backquotes now generates void macro
  2010-12-17 19:01         ` David Engster
@ 2010-12-17 22:00           ` Stefan Monnier
  0 siblings, 0 replies; 8+ messages in thread
From: Stefan Monnier @ 2010-12-17 22:00 UTC (permalink / raw)
  To: emacs-devel

> Currently, the change to lread.c broke the grammar generation in CEDET.
> The culprit is that
> (read "( ,(cons $1 $3 ) )")
> used to return
> (\, (cons $1 $3))

That is the interpretation if we take the above , to be an old-style unquote.

> but now returns
> ((\, (cons $1 $3)))

That is the interpretation if we take the above , to be an new-style unquote.

> Does CEDET depend on some obsoleted feature here, meaning this should
> rather be fixed in CEDET than Emacs?

Yes.


        Stefan



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

end of thread, other threads:[~2010-12-17 22:00 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-12-13  3:57 old-style backquotes now generates void macro Kan-Ru Chen
2010-12-13 17:55 ` Stefan Monnier
2010-12-14  0:03   ` Kan-Ru Chen
2010-12-17  3:28     ` Stefan Monnier
2010-12-17 10:11       ` Leo
2010-12-17 15:33         ` Kan-Ru Chen
2010-12-17 19:01         ` David Engster
2010-12-17 22:00           ` Stefan Monnier

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).