* Incompatible change without "warning" @ 2005-04-19 14:48 Frank Schmitt 2005-04-19 19:09 ` Eli Zaretskii ` (2 more replies) 0 siblings, 3 replies; 48+ messages in thread From: Frank Schmitt @ 2005-04-19 14:48 UTC (permalink / raw) Hello I see that on 2005-4-18 the tooltip-use-echo-area was renamed to tooltip-gud-echo-area. This change breaks existing code (semantic). Isn't it common practise to first deprecate a variable before deleting it? And shouldn't this make it into NEWS? -- Did you ever realize how much text fits in eighty columns? If you now consider that a signature usually consists of up to four lines, this gives you enough space to spread a tremendous amount of information with your messages. So seize this opportunity and don't waste your signature with bullshit nobody will read. ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-04-19 14:48 Incompatible change without "warning" Frank Schmitt @ 2005-04-19 19:09 ` Eli Zaretskii 2005-04-19 20:53 ` Nick Roberts 2005-04-19 21:35 ` Nick Roberts 2 siblings, 0 replies; 48+ messages in thread From: Eli Zaretskii @ 2005-04-19 19:09 UTC (permalink / raw) Cc: emacs-devel > From: Frank Schmitt <ich@frank-schmitt.net> > Date: Tue, 19 Apr 2005 16:48:45 +0200 > > I see that on 2005-4-18 the tooltip-use-echo-area was renamed to > tooltip-gud-echo-area. This change breaks existing code > (semantic). Isn't it common practise to first deprecate a variable > before deleting it? I think we should introduce a defvaralias, so as not to break existing code. > And shouldn't this make it into NEWS? Definitely. ^ permalink raw reply [flat|nested] 48+ messages in thread
* Incompatible change without "warning" 2005-04-19 14:48 Incompatible change without "warning" Frank Schmitt 2005-04-19 19:09 ` Eli Zaretskii @ 2005-04-19 20:53 ` Nick Roberts 2005-04-19 21:25 ` Stefan Monnier 2005-04-20 14:57 ` Richard Stallman 2005-04-19 21:35 ` Nick Roberts 2 siblings, 2 replies; 48+ messages in thread From: Nick Roberts @ 2005-04-19 20:53 UTC (permalink / raw) Cc: emacs-devel > I see that on 2005-4-18 the tooltip-use-echo-area was renamed to > tooltip-gud-echo-area. This change breaks existing code > (semantic). Isn't it common practise to first deprecate a variable > before deleting it? And shouldn't this make it into NEWS? I've replaced it as an alias. As it was obscure and partly broken I thought that I could sneak the change through unnoticed. To emacs-devel: How about adding an optional argument to defvaralias so that: (defvaralias 'tooltip-use-echo-area 'tooltip-gud-echo-area) (make-obsolete-variable 'tooltip-use-echo-area 'tooltip-gud-echo-area "22.1") can be written as: (defvaralias 'tooltip-use-echo-area 'tooltip-gud-echo-area nil "22.1") Nick ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-04-19 20:53 ` Nick Roberts @ 2005-04-19 21:25 ` Stefan Monnier 2005-04-19 22:10 ` Kevin Rodgers 2005-04-20 14:57 ` Richard Stallman 2005-04-20 14:57 ` Richard Stallman 1 sibling, 2 replies; 48+ messages in thread From: Stefan Monnier @ 2005-04-19 21:25 UTC (permalink / raw) Cc: Frank Schmitt, emacs-devel >> I see that on 2005-4-18 the tooltip-use-echo-area was renamed to >> tooltip-gud-echo-area. This change breaks existing code >> (semantic). Isn't it common practise to first deprecate a variable >> before deleting it? And shouldn't this make it into NEWS? > I've replaced it as an alias. As it was obscure and partly broken I thought > that I could sneak the change through unnoticed. > To emacs-devel: > How about adding an optional argument to defvaralias so that: > (defvaralias 'tooltip-use-echo-area 'tooltip-gud-echo-area) > (make-obsolete-variable 'tooltip-use-echo-area 'tooltip-gud-echo-area "22.1") > can be written as: > (defvaralias 'tooltip-use-echo-area 'tooltip-gud-echo-area nil "22.1") I'd prefer to define the same `define-obsolete-variable-alias' macro as used in XEmacs. Stefan ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-04-19 21:25 ` Stefan Monnier @ 2005-04-19 22:10 ` Kevin Rodgers 2005-04-20 14:57 ` Richard Stallman 1 sibling, 0 replies; 48+ messages in thread From: Kevin Rodgers @ 2005-04-19 22:10 UTC (permalink / raw) Stefan Monnier wrote: >>How about adding an optional argument to defvaralias so that: > >>(defvaralias 'tooltip-use-echo-area 'tooltip-gud-echo-area) >>(make-obsolete-variable 'tooltip-use-echo-area 'tooltip-gud-echo-area "22.1") > >>can be written as: > >>(defvaralias 'tooltip-use-echo-area 'tooltip-gud-echo-area nil "22.1") > > I'd prefer to define the same `define-obsolete-variable-alias' macro as used > in XEmacs. I like the way (defobvaralias ...) rolls off the tongue... it sounds like I can speak German! -- Kevin Rodgers ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-04-19 21:25 ` Stefan Monnier 2005-04-19 22:10 ` Kevin Rodgers @ 2005-04-20 14:57 ` Richard Stallman 2005-04-20 23:21 ` Nick Roberts 1 sibling, 1 reply; 48+ messages in thread From: Richard Stallman @ 2005-04-20 14:57 UTC (permalink / raw) Cc: nickrob, ich, emacs-devel I'd prefer to define the same `define-obsolete-variable-alias' macro as used in XEmacs. That sounds useful. ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-04-20 14:57 ` Richard Stallman @ 2005-04-20 23:21 ` Nick Roberts 2005-04-21 14:17 ` Lute Kamstra 2005-04-21 19:56 ` Richard Stallman 0 siblings, 2 replies; 48+ messages in thread From: Nick Roberts @ 2005-04-20 23:21 UTC (permalink / raw) Cc: emacs-devel, Stefan Monnier, ich > I'd prefer to define the same `define-obsolete-variable-alias' macro as > used in XEmacs. > > That sounds useful. Does this DTRT? (defmacro define-obsolete-variable-alias (symbol aliased &optional docstring when) "Make SYMBOL a variable alias for symbol ALIASED and warn that SYMBOL is obsolete. If provided, WHEN should be a string indicating when the variable was first made obsolete, for example a date or a release number. Fourth arg docstring, if non-nil, is documentation for symbol." (list 'progn `(defvaralias ,symbol ,aliased ,docstring) `(make-obsolete-variable ,symbol ,aliased ,when))) The version in XEmacs may be better but I've not looked at at it deliberately, as I wasn't sure of the implications of copying it. Nick ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-04-20 23:21 ` Nick Roberts @ 2005-04-21 14:17 ` Lute Kamstra 2005-04-21 22:35 ` Nick Roberts 2005-04-21 19:56 ` Richard Stallman 1 sibling, 1 reply; 48+ messages in thread From: Lute Kamstra @ 2005-04-21 14:17 UTC (permalink / raw) Cc: ich, rms, Stefan Monnier, emacs-devel Nick Roberts <nickrob@snap.net.nz> writes: > > I'd prefer to define the same `define-obsolete-variable-alias' macro as > > used in XEmacs. > > > > That sounds useful. > > Does this DTRT? > > (defmacro define-obsolete-variable-alias (symbol aliased > &optional docstring when) > "Make SYMBOL a variable alias for symbol ALIASED and warn that > SYMBOL is obsolete. If provided, WHEN should be a string > indicating when the variable was first made obsolete, for example > a date or a release number. Fourth arg docstring, if non-nil, is > documentation for symbol." > (list 'progn > `(defvaralias ,symbol ,aliased ,docstring) > `(make-obsolete-variable ,symbol ,aliased ,when))) The first line of the docstring should be a complete sentence. Occurrences of argument names in the docstring should be in capitals. The fourth argument is WHEN, not DOCSTRING. Personally, I like the argument names OLDVAR and NEWVAR that XEmacs uses. What about this: (defmacro define-obsolete-variable-alias (oldvar newvar &optional when docstring) "Make OLDVAR a variable alias for NEWVAR and warn that OLDVAR is obsolete. If provided, WHEN should be a string indicating when OLDVAR was first made obsolete, for example a date or a release number. The optional argument DOCSTRING specifies the documentation string for OLDVAR; if it is omitted or nil, OLDVAR uses the documentation string of NEWVAR" `(progn (defvaralias ,oldvar ,newvar ,docstring) (make-obsolete-variable ,oldvar ,newvar ,when))) > The version in XEmacs may be better but I've not looked at at it > deliberately, as I wasn't sure of the implications of copying it. Lute, who didn't look at XEmacs' implementation either. ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-04-21 14:17 ` Lute Kamstra @ 2005-04-21 22:35 ` Nick Roberts 2005-04-22 9:46 ` Lute Kamstra 0 siblings, 1 reply; 48+ messages in thread From: Nick Roberts @ 2005-04-21 22:35 UTC (permalink / raw) Cc: ich, rms, Stefan Monnier, emacs-devel > > Does this DTRT? > > > > (defmacro define-obsolete-variable-alias (symbol aliased > > &optional docstring when) > > "Make SYMBOL a variable alias for symbol ALIASED and warn that > > SYMBOL is obsolete. If provided, WHEN should be a string > > indicating when the variable was first made obsolete, for example > > a date or a release number. Fourth arg docstring, if non-nil, is > > documentation for symbol." > > (list 'progn > > `(defvaralias ,symbol ,aliased ,docstring) > > `(make-obsolete-variable ,symbol ,aliased ,when))) > > The first line of the docstring should be a complete sentence. OK. > Occurrences of argument names in the docstring should be in capitals. > The fourth argument is WHEN, not DOCSTRING. Yes. I changed the argument list but not the docstring. > Personally, I like the > argument names OLDVAR and NEWVAR that XEmacs uses. What about this: I've tried to use the same names from defvaralias and make-obsolete-variable. > (defmacro define-obsolete-variable-alias (oldvar newvar > &optional when docstring) > "Make OLDVAR a variable alias for NEWVAR and warn that OLDVAR is obsolete. > If provided, WHEN should be a string indicating when OLDVAR was > first made obsolete, for example a date or a release number. The > optional argument DOCSTRING specifies the documentation string > for OLDVAR; if it is omitted or nil, OLDVAR uses the documentation > string of NEWVAR" > `(progn > (defvaralias ,oldvar ,newvar ,docstring) > (make-obsolete-variable ,oldvar ,newvar ,when))) Yes, thanks. This is an improvement, but I might stick with my argument names for consistency. Nick ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-04-21 22:35 ` Nick Roberts @ 2005-04-22 9:46 ` Lute Kamstra 2005-04-22 21:32 ` Nick Roberts 0 siblings, 1 reply; 48+ messages in thread From: Lute Kamstra @ 2005-04-22 9:46 UTC (permalink / raw) Cc: emacs-devel, ich, Stefan Monnier, rms Hi Nick, I see that you've installed define-obsolete-variable-alias. Thanks. In etc/NEWS you've also added an entry for make-obsolete-variable: +++ *** New function make-obsolete-variable to warn that a variable may be removed at some stage in the future. Even though is wasn't documented in the Lisp Manual, make-obsolete-variable has been part of Emacs since version 19.7. Lute. PS. I noticed that make-obsolete isn't documented either. Maybe you can fix that as well? ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-04-22 9:46 ` Lute Kamstra @ 2005-04-22 21:32 ` Nick Roberts 2005-04-23 7:17 ` Lute Kamstra 0 siblings, 1 reply; 48+ messages in thread From: Nick Roberts @ 2005-04-22 21:32 UTC (permalink / raw) Cc: emacs-devel, rms, Stefan Monnier > In etc/NEWS you've also added an entry for make-obsolete-variable: > > +++ *** New function make-obsolete-variable to warn that a variable may > be removed at some stage in the future. > > Even though is wasn't documented in the Lisp Manual, > make-obsolete-variable has been part of Emacs since version 19.7. I've removed this entry. I was fooled by defvaralias being new. > Lute. > > > PS. I noticed that make-obsolete isn't documented either. Maybe you > can fix that as well? I'm waiting to see if Richard decides that define-obsolete-function-alias should be added too. These two functions are so similar to the two that I've just documented, externally at least, that I wonder if they could be described somewhere centrally in the Lisp manual i.e a link from the nodes 'Defining Variables' and 'Defining Functions'to one called 'Obsoletion'. Nick ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-04-22 21:32 ` Nick Roberts @ 2005-04-23 7:17 ` Lute Kamstra 2005-04-23 7:31 ` David Kastrup 2005-04-23 8:10 ` Nick Roberts 0 siblings, 2 replies; 48+ messages in thread From: Lute Kamstra @ 2005-04-23 7:17 UTC (permalink / raw) Cc: rms, Stefan Monnier, emacs-devel Nick Roberts <nickrob@snap.net.nz> writes: > > In etc/NEWS you've also added an entry for make-obsolete-variable: > > > > +++ *** New function make-obsolete-variable to warn that a variable may > > be removed at some stage in the future. > > > > Even though is wasn't documented in the Lisp Manual, > > make-obsolete-variable has been part of Emacs since version 19.7. > > I've removed this entry. Thanks. > I was fooled by defvaralias being new. defvaralias is part of Emacs since version 21.1. It does have an entry in NEWS under "Lisp Changes in Emacs 22.1", tho. I wonder why it was put there. Maybe because it wasn't mentioned in NEWS for 21.1? We better mention explicitly that it isn't really new for 22.1, in that case. Lute. ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-04-23 7:17 ` Lute Kamstra @ 2005-04-23 7:31 ` David Kastrup 2005-04-23 19:25 ` Lute Kamstra 2005-04-23 8:10 ` Nick Roberts 1 sibling, 1 reply; 48+ messages in thread From: David Kastrup @ 2005-04-23 7:31 UTC (permalink / raw) Cc: Nick Roberts, emacs-devel, rms, Stefan Monnier Lute Kamstra <Lute.Kamstra.lists@xs4all.nl> writes: > Nick Roberts <nickrob@snap.net.nz> writes: > >> > In etc/NEWS you've also added an entry for make-obsolete-variable: >> > >> > +++ *** New function make-obsolete-variable to warn that a variable may >> > be removed at some stage in the future. >> > >> > Even though is wasn't documented in the Lisp Manual, >> > make-obsolete-variable has been part of Emacs since version 19.7. >> >> I've removed this entry. > > Thanks. > >> I was fooled by defvaralias being new. > > defvaralias is part of Emacs since version 21.1. Uh what? > It does have an entry in NEWS under "Lisp Changes in Emacs 22.1", tho. > I wonder why it was put there. Maybe because it wasn't mentioned in > NEWS for 21.1? We better mention explicitly that it isn't really new > for 22.1, in that case. What makes you think it isn't? My Emacs-21.3 does not have it. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-04-23 7:31 ` David Kastrup @ 2005-04-23 19:25 ` Lute Kamstra 0 siblings, 0 replies; 48+ messages in thread From: Lute Kamstra @ 2005-04-23 19:25 UTC (permalink / raw) Cc: Nick Roberts, rms, Stefan Monnier, emacs-devel David Kastrup <dak@gnu.org> writes: [...] >> defvaralias is part of Emacs since version 21.1. > > Uh what? > >> It does have an entry in NEWS under "Lisp Changes in Emacs 22.1", tho. >> I wonder why it was put there. Maybe because it wasn't mentioned in >> NEWS for 21.1? We better mention explicitly that it isn't really new >> for 22.1, in that case. > > What makes you think it isn't? My Emacs-21.3 does not have it. I used the Emacs from Debian: (emacs-version) => "GNU Emacs 21.4.1 (i386-pc-linux-gnu, X toolkit, Xaw3d scroll bars) of 2005-03-17 on trouble, modified by Debian" (fboundp 'defvaralias) => t and also: ,----[ src/ChangeLog.9 ] | 2001-10-20 Gerd Moellmann <gerd@gnu.org> | | * (Version 21.1 released.) | | [...] | | 2001-10-04 Gerd Moellmann <gerd@gnu.org> | | [...] | | (Fdefvaralias): New function. `---- But I overlooked an earlier: ,----[ src/ChangeLog.9 ] | 2001-10-04 Gerd Moellmann <gerd@gnu.org> | | * Branch for 21.1. `---- and I found out that the Big Brother Database does: ,----[ bbdb.el ] | (unless (fboundp 'defvaralias) | (defun defvaralias (&rest args))) `---- I guess it ain't called insidious for nothin'. Sorry for the noise, Lute. ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-04-23 7:17 ` Lute Kamstra 2005-04-23 7:31 ` David Kastrup @ 2005-04-23 8:10 ` Nick Roberts 2005-04-23 9:44 ` Eli Zaretskii 2005-04-23 19:27 ` Lute Kamstra 1 sibling, 2 replies; 48+ messages in thread From: Nick Roberts @ 2005-04-23 8:10 UTC (permalink / raw) Cc: rms, Stefan Monnier, emacs-devel > defvaralias is part of Emacs since version 21.1. Well its not in Emacs 21.2. I don't have 21.1 but I doubt that it has it. Looking at the ChangeLog it seems to have just missed the branch from which 21.2 and 21.3 were also released. 2001-10-20 Gerd Moellmann <gerd@gnu.org> * (Version 21.1 released.) ... 2001-10-04 Gerd Moellmann <gerd@gnu.org> ... (Fdefvaralias): New function. ... 2001-10-04 Gerd Moellmann <gerd@gnu.org> * Branch for 21.1. So at three and a half, defvaralias must be about the oldest feature still in CVS! > It does have an entry in NEWS under "Lisp Changes in Emacs 22.1", tho. > I wonder why it was put there. Maybe because it wasn't mentioned in > NEWS for 21.1? We better mention explicitly that it isn't really new > for 22.1, in that case. I think the NEWS entry is correct. Nick ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-04-23 8:10 ` Nick Roberts @ 2005-04-23 9:44 ` Eli Zaretskii 2005-04-23 19:27 ` Lute Kamstra 1 sibling, 0 replies; 48+ messages in thread From: Eli Zaretskii @ 2005-04-23 9:44 UTC (permalink / raw) Cc: emacs-devel > From: Nick Roberts <nickrob@snap.net.nz> > Date: Sat, 23 Apr 2005 20:10:55 +1200 > Cc: rms@gnu.org, Stefan Monnier <monnier@iro.umontreal.ca>, emacs-devel@gnu.org > > Looking at the ChangeLog it seems to have just missed the branch from which > 21.2 and 21.3 were also released. > > > 2001-10-20 Gerd Moellmann <gerd@gnu.org> > > * (Version 21.1 released.) > > ... > 2001-10-04 Gerd Moellmann <gerd@gnu.org> > ... > (Fdefvaralias): New function. > ... > 2001-10-04 Gerd Moellmann <gerd@gnu.org> > > * Branch for 21.1. It's almost certainly a deliberate omission: Gerd didn't want to add a new feature to the upcoming release that was already at the end of a very thorough pretest. ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-04-23 8:10 ` Nick Roberts 2005-04-23 9:44 ` Eli Zaretskii @ 2005-04-23 19:27 ` Lute Kamstra 1 sibling, 0 replies; 48+ messages in thread From: Lute Kamstra @ 2005-04-23 19:27 UTC (permalink / raw) Cc: rms, Stefan Monnier, emacs-devel Nick Roberts <nickrob@snap.net.nz> writes: [...] > I think the NEWS entry is correct. Yup, my mistake. Sorry. Lute. ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-04-20 23:21 ` Nick Roberts 2005-04-21 14:17 ` Lute Kamstra @ 2005-04-21 19:56 ` Richard Stallman 2005-04-21 23:14 ` Nick Roberts 1 sibling, 1 reply; 48+ messages in thread From: Richard Stallman @ 2005-04-21 19:56 UTC (permalink / raw) Cc: emacs-devel, monnier, ich Before you install this, please write the changes for etc/NEWS and the Lisp manual to install at the same time. ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-04-21 19:56 ` Richard Stallman @ 2005-04-21 23:14 ` Nick Roberts 2005-04-21 23:56 ` Lute Kamstra 2005-04-23 16:15 ` Richard Stallman 0 siblings, 2 replies; 48+ messages in thread From: Nick Roberts @ 2005-04-21 23:14 UTC (permalink / raw) Cc: emacs-devel, monnier, ich Richard Stallman writes: > Before you install this, please write the changes for etc/NEWS and the > Lisp manual to install at the same time. For completeness, I guess there should be one for functions too. Indeed, there seem to be more uses of make-obsolete than make-obsolete-variable (possibly bacause defvaralias is newer than defalias). I see XEmacs has define-obsolete-function-alias so we could do: (defmacro define-obsolete-function-alias (function aliased &optional docstring when) "blurb" `(progn (defalias ,function ,aliased ,docstring) (make-obsolete ,function ,aliased ,when))) Or we could combine the two e.g (defmacro define-obsolete-alias (new aliased &optional docstring when) "blurb" `(if (fboundp ,aliased) (progn (defalias ,new ,aliased ,docstring) (make-obsolete ,new ,aliased ,when)) (progn (defvaralias ,new ,aliased ,docstring) (make-obsolete-variable ,new ,aliased ,when)))) It would have to be done a bit differently though, to deal with case of a symbol having both a value and a function definition. Nick ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-04-21 23:14 ` Nick Roberts @ 2005-04-21 23:56 ` Lute Kamstra 2005-04-23 16:15 ` Richard Stallman 1 sibling, 0 replies; 48+ messages in thread From: Lute Kamstra @ 2005-04-21 23:56 UTC (permalink / raw) Cc: ich, rms, monnier, emacs-devel Nick Roberts <nickrob@snap.net.nz> writes: > Richard Stallman writes: > > Before you install this, please write the changes for etc/NEWS and the > > Lisp manual to install at the same time. > > For completeness, I guess there should be one for functions too. Good idea. > Indeed, there seem to be more uses of make-obsolete than > make-obsolete-variable (possibly bacause defvaralias is newer than > defalias). I see XEmacs has define-obsolete-function-alias so we > could do: > > (defmacro define-obsolete-function-alias (function aliased > &optional docstring when) > "blurb" > `(progn > (defalias ,function ,aliased ,docstring) > (make-obsolete ,function ,aliased ,when))) I think it's better to have WHEN before DOCSTRING. DOCSTRING is hardly ever used while WHEN is used frequently. > Or we could combine the two e.g > > (defmacro define-obsolete-alias (new aliased > &optional docstring when) > "blurb" > `(if (fboundp ,aliased) > (progn > (defalias ,new ,aliased ,docstring) > (make-obsolete ,new ,aliased ,when)) > (progn > (defvaralias ,new ,aliased ,docstring) > (make-obsolete-variable ,new ,aliased ,when)))) Seems like a bad idea to me. For one thing, you can use define-obsolete-{function,variable}-alias before you define ALIASED. (I think XEmacs requires this.) That won't work in this case. > It would have to be done a bit differently though, to deal with case > of a symbol having both a value and a function definition. How can you determine what's the right thing, in that case? Lute. ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-04-21 23:14 ` Nick Roberts 2005-04-21 23:56 ` Lute Kamstra @ 2005-04-23 16:15 ` Richard Stallman 2005-04-26 9:15 ` Nick Roberts 1 sibling, 1 reply; 48+ messages in thread From: Richard Stallman @ 2005-04-23 16:15 UTC (permalink / raw) Cc: emacs-devel, monnier, ich For completeness, I guess there should be one for functions too. We don't add features to Emacs "for completeness". That is not enough reason. I see XEmacs has define-obsolete-function-alias so we could do: Compatibility adds an additional reason. So please add define-obsolete-function-alias. Please give it arguments compatible with XEmacs. Or we could combine the two e.g (defmacro define-obsolete-alias (new aliased Since this does not provide compatibility, it is not as good. Please don't do this. ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-04-23 16:15 ` Richard Stallman @ 2005-04-26 9:15 ` Nick Roberts 2005-04-26 21:06 ` Stefan Monnier [not found] ` <20050430231856.CE9369F511@mirror.positive-internet.com> 0 siblings, 2 replies; 48+ messages in thread From: Nick Roberts @ 2005-04-26 9:15 UTC (permalink / raw) Cc: monnier, emacs-devel > I see XEmacs has > define-obsolete-function-alias so we could do: > > Compatibility adds an additional reason. > So please add define-obsolete-function-alias. > Please give it arguments compatible with XEmacs. I have added define-obsolete-function-alias to byte-run.el I have not provided documentation because I would like guidance: Me> These two functions are so similar to the two that I've just documented, Me> externally at least, that I wonder if they could be described somewhere Me> centrally in the Lisp manual i.e a link from the nodes 'Defining Me> Variables' and 'Defining Functions'to one called 'Obsoletion'. The current documentation for these related functions uses different argument names which I think is confusing: Manual: - Function: defvaralias alias-var base-var &optional docstring Documentation string: (defvaralias symbol aliased &optional docstring) Shall I change these to Manual: - Function: defvaralias variable new &optional docstring Documentation string: (defvaralias variable new &optional docstring) for consistency with make-obsolete-variable, define-obsolete-variable-alias? The manual says: `string-to-int' is an obsolete alias for this function. (string-to-number) but string-to-int has not been made obsolete. Some variables/functions have been obsolete since 19.15. Is now a good time to purge them? Nick ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-04-26 9:15 ` Nick Roberts @ 2005-04-26 21:06 ` Stefan Monnier 2005-04-26 21:35 ` Nick Roberts [not found] ` <20050430231856.CE9369F511@mirror.positive-internet.com> 1 sibling, 1 reply; 48+ messages in thread From: Stefan Monnier @ 2005-04-26 21:06 UTC (permalink / raw) Cc: rms, emacs-devel > The current documentation for these related functions uses different argument > names which I think is confusing: I don't think it's confusing: - `defvaralias' creates a variable alias. Neither of the two variables is known to be "old" or "new" or "obsolete". One is the "base", the other is the "alias". - define-obsolete-variable-alias OTOH just *uses* defvaralias in one specific context (in order to preserve backward compatibility witha now obsolete variable), so the names can be more specific. > - Function: defvaralias variable new &optional docstring That would sound wrong to me: the documentation should generally refer to what a function *does*, not to how the function is used. Stefan ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-04-26 21:06 ` Stefan Monnier @ 2005-04-26 21:35 ` Nick Roberts 2005-04-26 21:45 ` Stefan Monnier 0 siblings, 1 reply; 48+ messages in thread From: Nick Roberts @ 2005-04-26 21:35 UTC (permalink / raw) Cc: rms, emacs-devel > > The current documentation for these related functions uses different > > argument names which I think is confusing: > > I don't think it's confusing: > - `defvaralias' creates a variable alias. > Neither of the two variables is known to be "old" or "new" or "obsolete". > One is the "base", the other is the "alias". > - define-obsolete-variable-alias OTOH just *uses* defvaralias in one specific > context (in order to preserve backward compatibility witha now obsolete > variable), so the names can be more specific. > > > - Function: defvaralias variable new &optional docstring > > That would sound wrong to me: the documentation should generally refer to > what a function *does*, not to how the function is used. Yes, you're right - I've been too narrow in my thinking. However, my first point was about using the same argument names in the manual and the documentation string. Would this not generally be a good idea? Nick ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-04-26 21:35 ` Nick Roberts @ 2005-04-26 21:45 ` Stefan Monnier 0 siblings, 0 replies; 48+ messages in thread From: Stefan Monnier @ 2005-04-26 21:45 UTC (permalink / raw) Cc: rms, emacs-devel > However, my first point was about using the same argument names in the > manual and the documentation string. Would this not generally be > a good idea? Yes, this is of course usually desirable, Stefan ^ permalink raw reply [flat|nested] 48+ messages in thread
[parent not found: <20050430231856.CE9369F511@mirror.positive-internet.com>]
* Re: Incompatible change without "warning" [not found] ` <20050430231856.CE9369F511@mirror.positive-internet.com> @ 2005-05-01 3:50 ` Nick Roberts 2005-05-01 12:07 ` Richard Stallman 0 siblings, 1 reply; 48+ messages in thread From: Nick Roberts @ 2005-05-01 3:50 UTC (permalink / raw) Cc: monnier, emacs-devel > Some variables/functions have been obsolete since 19.15. Is now a good > time to purge them? > > Could be. What are their names? Thinking about it, the best time to do this might be just *after* the release, to give the maximum time to discover any problems it might cause. Nick before 19.15: screen-height screen-width set-screen-width set-screen-height dot dot-max dot-min dot-marker buffer-flush-undo 'compiled-function-p 19.23 allout-exposure 19.32 focus-frame unfocus-frame 19.34 executing-macro ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-05-01 3:50 ` Nick Roberts @ 2005-05-01 12:07 ` Richard Stallman 2005-05-01 14:06 ` Nick Roberts 0 siblings, 1 reply; 48+ messages in thread From: Richard Stallman @ 2005-05-01 12:07 UTC (permalink / raw) Cc: monnier, emacs-devel Thinking about it, the best time to do this might be just *after* the release, to give the maximum time to discover any problems it might cause. Only pretesting will give any real idea of whether a function is used in code outside of Emacs. Since we have not started the pretest, now is a good time to delete some of these names. screen-height screen-width set-screen-width set-screen-height Those are probably really used in .emacs files. We shouldn't delete them now, and maybe not ever. dot dot-max dot-min dot-marker Those can go. They are not used in the Emacs sources, and they were not used much. Note that bytecomp.el defines properties for compiling them, so delete those too. buffer-flush-undo That was probably used often by users; let's not delete it now. 'compiled-function-p Only a few programs would have had reason to use that, so delete it now. 19.23 allout-exposure That was specialized; delete it now. 19.32 focus-frame unfocus-frame Those would have been used rarely; delete them now. 19.34 executing-macro Please delete that too. ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-05-01 12:07 ` Richard Stallman @ 2005-05-01 14:06 ` Nick Roberts 2005-05-01 15:18 ` Luc Teirlinck ` (3 more replies) 0 siblings, 4 replies; 48+ messages in thread From: Nick Roberts @ 2005-05-01 14:06 UTC (permalink / raw) Cc: monnier, emacs-devel I've removed: dot dot-max dot-min dot-marker buffer-flush-undo compiled-function-p allout-exposure focus-frame unfocus-frame I wasn't sure how to remove executing-macro as it is a builtin variable: (make-obsolete-variable 'executing-macro 'executing-kbd-macro "before 19.34") DEFVAR_LISP ("executing-macro", &Vexecuting_macro, doc: /* Currently executing keyboard macro (string or vector); nil if none executing. */); DEFVAR_INT ("executing-macro-index", &executing_macro_index, doc: /* Index in currently executing keyboard macro; undefined if none executing. */); DEFVAR_LISP_NOPRO ("executing-kbd-macro", &Vexecuting_macro, doc: /* Currently executing keyboard macro (string or vector); nil if none executing. */); Note that if you remove executing-macro you need to change the elisp manual: * The state of keyboard macro execution is saved and restored. While Edebug is active, `executing-macro' is bound to `edebug-continue-kbd-macro'. (Edebug -> The Outside Context -> Checking Whether to Stop) Here are some more obsolete functions/variables: 19.15 unread-command-char 19.23 allout-old-expose-topic 19.34 post-command-idle-hook post-command-idle-delay 20.1 define-function truncate-string 20.3 chars-in-region update-iso-coding-systems coding-system-parent 20.4 sref Quite a lot from 21.1 Quite a lot with no timestamp. Nick ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-05-01 14:06 ` Nick Roberts @ 2005-05-01 15:18 ` Luc Teirlinck 2005-05-01 23:39 ` Richard Stallman 2005-05-01 18:57 ` Richard Stallman ` (2 subsequent siblings) 3 siblings, 1 reply; 48+ messages in thread From: Luc Teirlinck @ 2005-05-01 15:18 UTC (permalink / raw) Cc: emacs-devel, rms, monnier Nick Roberts wrote: I wasn't sure how to remove executing-macro as it is a builtin variable: Please wait before removing this, until the following has been considered. Richard Stallman wrote: 19.34 executing-macro Please delete that too. I believe that Richard may have been unaware of the fact that, until very recently, executing-macro and _not_ executing-kbd-macro were documented in the Elisp manual. This only got changed in August 2004 in CVS. (Actually, I changed one occurrence of executing-kbd-macro just moments ago.) So people using the Elisp manual for reference are likely to have kept using executing-macro. Do we still want to remove it given that? Sincerely, Luc. ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-05-01 15:18 ` Luc Teirlinck @ 2005-05-01 23:39 ` Richard Stallman 2005-05-02 2:28 ` Luc Teirlinck 0 siblings, 1 reply; 48+ messages in thread From: Richard Stallman @ 2005-05-01 23:39 UTC (permalink / raw) Cc: nickrob, monnier, emacs-devel So people using the Elisp manual for reference are likely to have kept using executing-macro. Do we still want to remove it given that? They would still have gotten the warning messages when compiling their code. However, it looks like a fair variety of programs have reasons to look at this variable. So we can put in a defvaralias call. ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-05-01 23:39 ` Richard Stallman @ 2005-05-02 2:28 ` Luc Teirlinck 0 siblings, 0 replies; 48+ messages in thread From: Luc Teirlinck @ 2005-05-02 2:28 UTC (permalink / raw) Cc: nickrob, monnier, emacs-devel Richard Stallman wrote: So people using the Elisp manual for reference are likely to have kept using executing-macro. Do we still want to remove it given that? They would still have gotten the warning messages when compiling their code. However, it looks like a fair variety of programs have reasons to look at this variable. So we can put in a defvaralias call. I replaced the make-obsolete-variable with a define-obsolete-variable-alias, which is equivalent. Sincerely, Luc. ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-05-01 14:06 ` Nick Roberts 2005-05-01 15:18 ` Luc Teirlinck @ 2005-05-01 18:57 ` Richard Stallman 2005-05-01 21:18 ` Luc Teirlinck 2005-05-01 18:57 ` Richard Stallman 2005-05-01 18:57 ` Richard Stallman 3 siblings, 1 reply; 48+ messages in thread From: Richard Stallman @ 2005-05-01 18:57 UTC (permalink / raw) Cc: monnier, emacs-devel DEFVAR_LISP ("executing-macro", &Vexecuting_macro, doc: /* Currently executing keyboard macro (string or vector); nil if none executing. */); DEFVAR_INT ("executing-macro-index", &executing_macro_index, doc: /* Index in currently executing keyboard macro; undefined if none executing. */); DEFVAR_LISP_NOPRO ("executing-kbd-macro", &Vexecuting_macro, doc: /* Currently executing keyboard macro (string or vector); nil if none executing. */); I will change that one. Note that if you remove executing-macro you need to change the elisp manual: * The state of keyboard macro execution is saved and restored. While Edebug is active, `executing-macro' is bound to `edebug-continue-kbd-macro'. That isn't true anyway, so it is a good thing you pointed me at it. ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-05-01 18:57 ` Richard Stallman @ 2005-05-01 21:18 ` Luc Teirlinck 0 siblings, 0 replies; 48+ messages in thread From: Luc Teirlinck @ 2005-05-01 21:18 UTC (permalink / raw) Cc: nickrob, monnier, emacs-devel I guess that the following line should be removed from subr.el: (make-obsolete-variable 'executing-macro 'executing-kbd-macro "before 19.34") But just to make sure that there are no misunderstandings. When I said that the use of executing-macro was recommended by the Elisp manual until August 2004, I was not referring to edebug.texi. I was referring to `(elisp)Keyboard Macros' which until then used to say: -- Variable: executing-macro This variable contains the string or vector that defines the keyboard macro that is currently executing. It is `nil' if no macro is currently executing. A command can test this variable so as to behave differently when run from an executing macro. Do not set this variable yourself. It seems strange to remove a variable just one single release after stopping recommending its use. Sincerely, Luc. ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-05-01 14:06 ` Nick Roberts 2005-05-01 15:18 ` Luc Teirlinck 2005-05-01 18:57 ` Richard Stallman @ 2005-05-01 18:57 ` Richard Stallman 2005-05-01 18:57 ` Richard Stallman 3 siblings, 0 replies; 48+ messages in thread From: Richard Stallman @ 2005-05-01 18:57 UTC (permalink / raw) Cc: monnier, emacs-devel 19.15 unread-command-char That was fairly widely used, so I don't think it should be deleted. There is likely to be user code that still refers to this. 19.23 allout-old-expose-topic Since that is just part of allout, it is rather specialized; please delete it. 19.34 post-command-idle-hook post-command-idle-delay Some Emacs packages still use these, so we should leave them alone for now. I will add something to TODO to get convert the places that use this, after the release. 20.1 define-function truncate-string Those were rather specialized, and existed as non-obsolete for a short enough time, so pleae delete them. 20.3 chars-in-region update-iso-coding-systems coding-system-parent Those are rather obscure Mule things, so please get rid of them. 20.4 sref That was a rather obscure Mule thing, so please get rid of it. ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-05-01 14:06 ` Nick Roberts ` (2 preceding siblings ...) 2005-05-01 18:57 ` Richard Stallman @ 2005-05-01 18:57 ` Richard Stallman 2005-05-01 22:43 ` Nick Roberts 3 siblings, 1 reply; 48+ messages in thread From: Richard Stallman @ 2005-05-01 18:57 UTC (permalink / raw) Cc: monnier, emacs-devel Quite a lot with no timestamp. They might be obsolete since long long ago. What are they? ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-05-01 18:57 ` Richard Stallman @ 2005-05-01 22:43 ` Nick Roberts 2005-05-02 7:38 ` David Kastrup 2005-05-02 15:21 ` Richard Stallman 0 siblings, 2 replies; 48+ messages in thread From: Nick Roberts @ 2005-05-01 22:43 UTC (permalink / raw) Cc: monnier, emacs-devel > Quite a lot with no timestamp. > > They might be obsolete since long long ago. What are they? desktop.el: desktop-enable desktop-buffer-modes-to-save desktop-buffer-misc-functions desktop-buffer-handlers desktop-load-default dired-x.el: dired-omit-files-p font-core.el: font-lock-defaults-alist font-lock.el: font-lock-reference-face log-edit.el: cvs-commit-buffer-require-final-newline cvs-changelog-full-paragraphs mwheel.el: mouse-wheel-down-button mouse-wheel-up-button mouse-wheel-click-button outline.el: outline-visible pcvs-defs.el: cvs-diff-ignore-marks cvs-diff-buffer-name subr.el: assoc-ignore-case assoc-ignore-representation tree-widget.el: tree-widget-format-handler vc-hooks.el: vc-ignore-vc-files vc-master-templates vc-header-alist cc-cmds.el: c-comment-line-break-function cc-vars.el: c-comment-continuation-stars compile.el: compile-internal ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-05-01 22:43 ` Nick Roberts @ 2005-05-02 7:38 ` David Kastrup 2005-05-02 22:55 ` Nick Roberts 2005-05-02 23:40 ` Richard Stallman 2005-05-02 15:21 ` Richard Stallman 1 sibling, 2 replies; 48+ messages in thread From: David Kastrup @ 2005-05-02 7:38 UTC (permalink / raw) Cc: emacs-devel, rms, monnier Nick Roberts <nickrob@snap.net.nz> writes: > > Quite a lot with no timestamp. > > > > They might be obsolete since long long ago. What are they? > > desktop.el: desktop-enable > desktop-buffer-modes-to-save > desktop-buffer-misc-functions > desktop-buffer-handlers > desktop-load-default They are still the standard and only interface in Emacs 21.4. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-05-02 7:38 ` David Kastrup @ 2005-05-02 22:55 ` Nick Roberts 2005-05-03 4:31 ` Luc Teirlinck ` (2 more replies) 2005-05-02 23:40 ` Richard Stallman 1 sibling, 3 replies; 48+ messages in thread From: Nick Roberts @ 2005-05-02 22:55 UTC (permalink / raw) Cc: rms, monnier, emacs-devel > > > Quite a lot with no timestamp. > > > > > > They might be obsolete since long long ago. What are they? > > > > desktop.el: desktop-enable > > desktop-buffer-modes-to-save > > desktop-buffer-misc-functions > > desktop-buffer-handlers > > desktop-load-default > > They are still the standard and only interface in Emacs 21.4. Some of these don't seem to be obsoleted correctly, in any case e.g the only reference I can find to desktop-buffer-misc-functions is (make-obsolete-variable 'desktop-buffer-misc-functions 'desktop-save-buffer) i.e desktop-buffer-misc-functions is no longer a variable in Emacs 22.0.50 Shall I replace these with, e.g.: (define-obsolete-variable-alias 'desktop-buffer-misc-functions 'desktop-save-buffer "22.0") Nick ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-05-02 22:55 ` Nick Roberts @ 2005-05-03 4:31 ` Luc Teirlinck 2005-05-03 7:17 ` David Kastrup 2005-05-03 17:12 ` Richard Stallman 2 siblings, 0 replies; 48+ messages in thread From: Luc Teirlinck @ 2005-05-03 4:31 UTC (permalink / raw) Cc: emacs-devel, rms, monnier Nick Roberts wrote: (define-obsolete-variable-alias 'desktop-buffer-misc-functions 'desktop-save-buffer "22.0") Without commenting on any other part of the message, I believe that it should be "22.1", that is the first _released_ version in which it is going to be obsolete, not "22.0". Sincerely, Luc. ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-05-02 22:55 ` Nick Roberts 2005-05-03 4:31 ` Luc Teirlinck @ 2005-05-03 7:17 ` David Kastrup 2005-05-04 22:04 ` Richard Stallman 2005-05-03 17:12 ` Richard Stallman 2 siblings, 1 reply; 48+ messages in thread From: David Kastrup @ 2005-05-03 7:17 UTC (permalink / raw) Cc: rms, monnier, emacs-devel Nick Roberts <nickrob@snap.net.nz> writes: > > > > Quite a lot with no timestamp. > > > > > > > > They might be obsolete since long long ago. What are they? > > > > > > desktop.el: desktop-enable > > > desktop-buffer-modes-to-save > > > desktop-buffer-misc-functions > > > desktop-buffer-handlers > > > desktop-load-default > > > > They are still the standard and only interface in Emacs 21.4. > > Some of these don't seem to be obsoleted correctly, in any case e.g the only > reference I can find to desktop-buffer-misc-functions is > > (make-obsolete-variable 'desktop-buffer-misc-functions > 'desktop-save-buffer) > > i.e desktop-buffer-misc-functions is no longer a variable in Emacs 22.0.50 > > Shall I replace these with, e.g.: > > (define-obsolete-variable-alias 'desktop-buffer-misc-functions > 'desktop-save-buffer "22.0") If I remember correctly, this is not going to cut it: I think I had to change preview-latex to use the new interface since the old interface was not supported at all any more. It was not just a matter of renaming variables: I also had to change other stuff. There is probably no sense in declaring a variable an obsolete alias if it does not even work! I think we should add a compatibility layer with the old interface (can't be much more than three lines or so) that we'll remove with 23.1 or so. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-05-03 7:17 ` David Kastrup @ 2005-05-04 22:04 ` Richard Stallman 0 siblings, 0 replies; 48+ messages in thread From: Richard Stallman @ 2005-05-04 22:04 UTC (permalink / raw) Cc: nickrob, monnier, emacs-devel There is probably no sense in declaring a variable an obsolete alias if it does not even work! I agree. I think we should add a compatibility layer with the old interface (can't be much more than three lines or so) that we'll remove with 23.1 or so. If a compatibility layer can be added, so as to make the old names work, that would indeed be a good thing to do. ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-05-02 22:55 ` Nick Roberts 2005-05-03 4:31 ` Luc Teirlinck 2005-05-03 7:17 ` David Kastrup @ 2005-05-03 17:12 ` Richard Stallman 2 siblings, 0 replies; 48+ messages in thread From: Richard Stallman @ 2005-05-03 17:12 UTC (permalink / raw) Cc: monnier, emacs-devel Some of these don't seem to be obsoleted correctly, in any case e.g the only reference I can find to desktop-buffer-misc-functions is (make-obsolete-variable 'desktop-buffer-misc-functions 'desktop-save-buffer) i.e desktop-buffer-misc-functions is no longer a variable in Emacs 22.0.50 Shall I replace these with, e.g.: (define-obsolete-variable-alias 'desktop-buffer-misc-functions 'desktop-save-buffer "22.0") That might be the right approach, but first can you find which person deleted it and ask him if it still needs to exist? ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-05-02 7:38 ` David Kastrup 2005-05-02 22:55 ` Nick Roberts @ 2005-05-02 23:40 ` Richard Stallman 1 sibling, 0 replies; 48+ messages in thread From: Richard Stallman @ 2005-05-02 23:40 UTC (permalink / raw) Cc: nickrob, monnier, emacs-devel They are still the standard and only interface in Emacs 21.4. Thanks. Could you mark them as obsolete since 22.1? ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-05-01 22:43 ` Nick Roberts 2005-05-02 7:38 ` David Kastrup @ 2005-05-02 15:21 ` Richard Stallman 1 sibling, 0 replies; 48+ messages in thread From: Richard Stallman @ 2005-05-02 15:21 UTC (permalink / raw) Cc: monnier, emacs-devel > Quite a lot with no timestamp. > > They might be obsolete since long long ago. What are they? I don't see anything obvious in common between these symbols. They have not all been obsolete for a long time; in fact, some (maybe all) became obsolete recently. For instance, assoc-ignore-case and assoc-ignore-representation should be marked as obsolete starting in 22.1. Likewise, compile-internal. The others I don't know anything about off hand. I think what needs to be done is first to determine the history of each of these symbols. For some of these symbols, perhaps all, the right thing to do is to add the argument saying which versions they became obsolete in. ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-04-19 20:53 ` Nick Roberts 2005-04-19 21:25 ` Stefan Monnier @ 2005-04-20 14:57 ` Richard Stallman 1 sibling, 0 replies; 48+ messages in thread From: Richard Stallman @ 2005-04-20 14:57 UTC (permalink / raw) Cc: ich, emacs-devel How about adding an optional argument to defvaralias so that: (defvaralias 'tooltip-use-echo-area 'tooltip-gud-echo-area) (make-obsolete-variable 'tooltip-use-echo-area 'tooltip-gud-echo-area "22.1") can be written as: (defvaralias 'tooltip-use-echo-area 'tooltip-gud-echo-area nil "22.1") It looks good to me. ^ permalink raw reply [flat|nested] 48+ messages in thread
* Incompatible change without "warning" 2005-04-19 14:48 Incompatible change without "warning" Frank Schmitt 2005-04-19 19:09 ` Eli Zaretskii 2005-04-19 20:53 ` Nick Roberts @ 2005-04-19 21:35 ` Nick Roberts 2005-04-20 23:14 ` Luc Teirlinck 2 siblings, 1 reply; 48+ messages in thread From: Nick Roberts @ 2005-04-19 21:35 UTC (permalink / raw) Cc: emacs-devel > I see that on 2005-4-18 the tooltip-use-echo-area was renamed to > tooltip-gud-echo-area. This change breaks existing code > (semantic). Isn't it common practise to first deprecate a variable > before deleting it? And shouldn't this make it into NEWS? I should also add that tooltip-gud-echo-area doesn't do exactly the same thing as tooltip-use-echo-area: it only uses the echo area for GUD tooltips. Help messages are still displayed in their own tooltip frame. Previously using the echo area for GUD tooltips required help messages to be displayed there also. Turning tooltip-mode off means that help messages displayed in the echo area and that GUD tooltips are no longer displayed. Maybe this change is not as good as I first thought because now it is not possible to have both GUD tooltips and help messages displayed in the echo area. Nick ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-04-19 21:35 ` Nick Roberts @ 2005-04-20 23:14 ` Luc Teirlinck 2005-04-21 0:56 ` Nick Roberts 0 siblings, 1 reply; 48+ messages in thread From: Luc Teirlinck @ 2005-04-20 23:14 UTC (permalink / raw) Cc: ich, emacs-devel Nick Roberts wrote: I should also add that tooltip-gud-echo-area doesn't do exactly the same thing as tooltip-use-echo-area: it only uses the echo area for GUD tooltips. Help messages are still displayed in their own tooltip frame. Previously using the echo area for GUD tooltips required help messages to be displayed there also. Turning tooltip-mode off means that help messages displayed in the echo area and that GUD tooltips are no longer displayed. Maybe this change is not as good as I first thought because now it is not possible to have both GUD tooltips and help messages displayed in the echo area. Why did you make that change? It would seem that if people prefer to have GUD tooltip texts displayed in the echo area, they most likely also want help messages displayed there. Sincerely, Luc. ^ permalink raw reply [flat|nested] 48+ messages in thread
* Re: Incompatible change without "warning" 2005-04-20 23:14 ` Luc Teirlinck @ 2005-04-21 0:56 ` Nick Roberts 0 siblings, 0 replies; 48+ messages in thread From: Nick Roberts @ 2005-04-21 0:56 UTC (permalink / raw) Cc: ich, emacs-devel > I should also add that tooltip-gud-echo-area doesn't do exactly the > same thing as tooltip-use-echo-area: it only uses the echo area for > GUD tooltips. Help messages are still displayed in their own > tooltip frame. Previously using the echo area for GUD tooltips > required help messages to be displayed there also. Turning > tooltip-mode off means that help messages displayed in the echo > area and that GUD tooltips are no longer displayed. Maybe this > change is not as good as I first thought because now it is not > possible to have both GUD tooltips and help messages displayed in > the echo area. > > Why did you make that change? It would seem that if people prefer to > have GUD tooltip texts displayed in the echo area, they most likely > also want help messages displayed there. When tooltip-mode is off help messages are displayed in the echo area. It was confusing and a bit redundant that tooltip-mode turned on and tooltip-use-echo-area set to t would also display help messages there. GUD tooltips are generated differently to normal tooltips whose message are embedded in the text properties. Their display is more erratic and thats why I thought it might help to display them in the echo area. There are six cases to consider: Normal Own Frame | Echo Area Behaviours None x x x - previous and present G U Own frame x * - previous D Echo area + * + - present The asymmetry arises becauses help messages can't be suppressed like GUD tooltips. I don't think an extra variable to deal with the extra case is justified. I can revert the change if people prefer the old behaviour/can't think of a more elegant solution. As an aside, at some stage in the future I would like to extend GUD tooltips to display #define directives over identifiers (like in Visual Studio, I think) when the program is not executing. Nick ^ permalink raw reply [flat|nested] 48+ messages in thread
end of thread, other threads:[~2005-05-04 22:04 UTC | newest] Thread overview: 48+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2005-04-19 14:48 Incompatible change without "warning" Frank Schmitt 2005-04-19 19:09 ` Eli Zaretskii 2005-04-19 20:53 ` Nick Roberts 2005-04-19 21:25 ` Stefan Monnier 2005-04-19 22:10 ` Kevin Rodgers 2005-04-20 14:57 ` Richard Stallman 2005-04-20 23:21 ` Nick Roberts 2005-04-21 14:17 ` Lute Kamstra 2005-04-21 22:35 ` Nick Roberts 2005-04-22 9:46 ` Lute Kamstra 2005-04-22 21:32 ` Nick Roberts 2005-04-23 7:17 ` Lute Kamstra 2005-04-23 7:31 ` David Kastrup 2005-04-23 19:25 ` Lute Kamstra 2005-04-23 8:10 ` Nick Roberts 2005-04-23 9:44 ` Eli Zaretskii 2005-04-23 19:27 ` Lute Kamstra 2005-04-21 19:56 ` Richard Stallman 2005-04-21 23:14 ` Nick Roberts 2005-04-21 23:56 ` Lute Kamstra 2005-04-23 16:15 ` Richard Stallman 2005-04-26 9:15 ` Nick Roberts 2005-04-26 21:06 ` Stefan Monnier 2005-04-26 21:35 ` Nick Roberts 2005-04-26 21:45 ` Stefan Monnier [not found] ` <20050430231856.CE9369F511@mirror.positive-internet.com> 2005-05-01 3:50 ` Nick Roberts 2005-05-01 12:07 ` Richard Stallman 2005-05-01 14:06 ` Nick Roberts 2005-05-01 15:18 ` Luc Teirlinck 2005-05-01 23:39 ` Richard Stallman 2005-05-02 2:28 ` Luc Teirlinck 2005-05-01 18:57 ` Richard Stallman 2005-05-01 21:18 ` Luc Teirlinck 2005-05-01 18:57 ` Richard Stallman 2005-05-01 18:57 ` Richard Stallman 2005-05-01 22:43 ` Nick Roberts 2005-05-02 7:38 ` David Kastrup 2005-05-02 22:55 ` Nick Roberts 2005-05-03 4:31 ` Luc Teirlinck 2005-05-03 7:17 ` David Kastrup 2005-05-04 22:04 ` Richard Stallman 2005-05-03 17:12 ` Richard Stallman 2005-05-02 23:40 ` Richard Stallman 2005-05-02 15:21 ` Richard Stallman 2005-04-20 14:57 ` Richard Stallman 2005-04-19 21:35 ` Nick Roberts 2005-04-20 23:14 ` Luc Teirlinck 2005-04-21 0:56 ` Nick Roberts
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).