unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* policy, recommendations regarding `cl-*'
@ 2012-09-25 20:31 Drew Adams
  2012-09-25 21:01 ` Eli Zaretskii
  2012-09-25 21:03 ` Helmut Eller
  0 siblings, 2 replies; 22+ messages in thread
From: Drew Adams @ 2012-09-25 20:31 UTC (permalink / raw)
  To: emacs-devel

I have code that uses macros from cl*.el.  This code needs to work with multiple
Emacs versions.  It is not clear to me how, if at all, I should change it now.

NEWS provides no guidance, AFAICT.  It says only this:

 *** CL's main entry is now (require 'cl-lib).
 `cl-lib' is like the old `cl' except that it uses the namespace cleanly,
 i.e. all its definitions have the "cl-" prefix (and internal definitions use
 the "cl--" prefix).

 If `cl' provided a feature under the name `foo', then `cl-lib' provides it
 under the name `cl-foo' instead, with the exceptions of the few definitions
 that had to use `foo*' to avoid conflicts with pre-existing Elisp entities,
 which have not been renamed to `cl-foo*' but just `cl-foo'.

 The old `cl' is now deprecated and is just a bunch of aliases that
 provide the old non-prefixed names.

That's all well and good for Emacs Dev coders, but it does not really guide
users wrt code that must work with multiple Emacs versions.  And the CL manual
does not seem to reflect this change at all.  At least I find no guidance there
either about this.

I would expect to see a clear explanation, with recommendations, of migration
and multiple-version support - in NEWS, preferably.  That is normal for What's
New, README, or Release Changes documents for software.

For example, if I currently have (loop...), what do you recommend?  Replace it
by this?

 (if (fboundp 'cl-loop) (cl-loop...) (loop...))

And likewise for all the rest.

(Yes, I know that this is only a deprecation now, and not yet desupport.  I
would nevertheless like to know what you recommend for supporting multiple Emacs
versions.)




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

end of thread, other threads:[~2012-09-29  4:15 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-25 20:31 policy, recommendations regarding `cl-*' Drew Adams
2012-09-25 21:01 ` Eli Zaretskii
2012-09-25 22:09   ` Drew Adams
2012-09-26  1:15     ` Stefan Monnier
2012-09-26  2:51       ` Drew Adams
2012-09-26  3:29         ` Stefan Monnier
2012-09-26  7:02           ` Bastien
2012-09-26 12:59             ` Stefan Monnier
2012-09-26 13:12               ` Bastien
2012-09-26 17:54                 ` Stefan Monnier
2012-09-26 22:04                   ` Bastien
2012-09-27 20:35                   ` Michael Welsh Duggan
2012-09-27 22:10                     ` Stefan Monnier
2012-09-29  4:15                       ` Michael Welsh Duggan
2012-09-26 14:11           ` Drew Adams
2012-09-26 19:44             ` Stefan Monnier
2012-09-26 20:13               ` Drew Adams
2012-09-26  7:42     ` Eli Zaretskii
2012-09-26 13:00       ` Stefan Monnier
2012-09-26 14:11       ` Drew Adams
2012-09-26 13:37     ` Jason Rumney
2012-09-25 21:03 ` Helmut Eller

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).