From: Drew Adams <drew.adams@oracle.com>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: Emacs developers <emacs-devel@gnu.org>,
John Wiegley <johnw@gnu.org>,
Michael Albinus <michael.albinus@gmx.de>,
Oleh Krehel <ohwoeowho@gmail.com>,
Kaushal Modi <kaushal.modi@gmail.com>
Subject: RE: [Emacs-diffs] emacs-25 a9c48d5: Additional fixes for file notification
Date: Mon, 29 Feb 2016 13:19:21 -0800 (PST) [thread overview]
Message-ID: <ef5f2e16-3d4c-4da3-adfc-45754dfd57a5@default> (raw)
In-Reply-To: <jwvpovf8f8a.fsf-monnier+emacsdiffs@gnu.org>
> > `cl-callf'
> > `cl-callf2'
>
> Don't have an opinion on those two. They might fit in gv.el.
Good.
> > `cl-iter-defun'
>
> This one could indeed move to generator.el, tho it currently uses
> the internal cl--transform-lambda, so the implementation would need
> to be rewoked to avoid having an external package depend on CL's
> internals.
Good again.
> > `cl-flet*'
>
> This belongs right next to cl-flet, so moving it out of cl-lib would
> make no sense.
>
> > `cl-letf*'
>
> This belongs right next to cl-letf.
It belongs right next to `letf'. Neither `letf' nor `letf*' are
Common Lisp. Why should they be in this library and have prefix
`cl-'? They are Emacs inventions.
> > `cl-prettyprint' (called a "debugging aid")
> > `cl-prettyexpand' (called a "debugging aid")
> > `cl-describe-type'
>
> These are intimately linked to cl-lib's implementation, AFAIK.
1. No, I don't think so, at least not the pretties. Grepping for
`cl-prettyprint' shows that it is used only in `cl-prettyexpand'.
Grepping for that shows that it used nowhere.
2. But if it were true then they should use prefix `cl--', no?
3. Grepping for `cl-describe-type' shows that it is used only to
fill `describe-symbol-backends' and to define button type
`cl-help-type'. Not Common Lisp at all - just Emacs stuff.
> > Moving to `cl-preloaded.el':
> > `cl-struct-define'
>
> Same here. IOW they belong to cl-lib not because they're part of
> Common-Lisp, but because they belong to cl-lib's implementation.
Rename it (there is no "them") using prefix `cl--', if it is really
used only to implement a Common Lisp construct.
> > And it seems that there are internal functions and macros,
> > which are used only for implementing CL things, which use
> > prefix `cl-' instead of `cl--'. For example, `cl-struct-define'.
> > Should they not be renamed?
>
> I don't have a strong opinion on this. The issue is the following:
> cl-struct-define is "used internally by cl-defstruct", but it can't
> be changed at will, because it will basically have to be preserved
> for as long as Emacs-NN.MM wants to be able to run .elc files
> generated with Emacs-24.5.
At the rate things have been changing in the byte-compiler, that
won't be long. ;-)
> Those "functions only used in a macro's expansion" have a half-way
> "internal" status in this respect, and we sometimes give them
> a "prefix-" and sometimes a "prefix--".
How so, "half-way"? When is it sometimes this and when sometimes
that?
I think Joost expressed the point pretty clearly just now:
To me, `cl' is so obviously an abbreviation for Common Lisp that
I would automatically expect any function (macro, etc.) prefixed
with `cl-' to be a Common-Lisp emulation function. The fact that
some of them aren't is quite confusing and makes me wonder by what
criterion a function or macro is included in (or excluded from)
cl-lib.
next prev parent reply other threads:[~2016-02-29 21:19 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20160222175244.30186.2617@vcs.savannah.gnu.org>
[not found] ` <E1aXuf6-0007rW-6h@vcs.savannah.gnu.org>
2016-02-22 18:51 ` [Emacs-diffs] emacs-25 a9c48d5: Additional fixes for file notification Stefan Monnier
2016-02-22 20:41 ` Michael Albinus
2016-02-22 20:49 ` Dmitry Gutov
2016-02-22 20:50 ` Stefan Monnier
2016-02-22 21:07 ` Michael Albinus
2016-02-22 21:19 ` Stefan Monnier
2016-02-22 22:48 ` Michael Albinus
2016-02-22 23:22 ` Stefan Monnier
2016-02-22 21:39 ` Drew Adams
2016-02-22 21:42 ` Kaushal Modi
2016-02-22 22:28 ` Oleh Krehel
2016-02-22 23:15 ` Drew Adams
2016-02-23 1:05 ` John Wiegley
2016-02-23 1:58 ` Lars Ingebrigtsen
2016-02-23 2:11 ` Stefan Monnier
2016-02-23 16:41 ` John Wiegley
2016-02-23 16:50 ` Stefan Monnier
2016-02-23 17:11 ` Drew Adams
2016-02-23 22:48 ` John Wiegley
2016-02-24 1:56 ` Stefan Monnier
2016-02-24 2:00 ` John Wiegley
2016-02-24 2:50 ` Drew Adams
2016-02-24 2:17 ` Lars Ingebrigtsen
2016-02-24 3:32 ` Stefan Monnier
2016-02-24 3:52 ` Lars Ingebrigtsen
2016-02-24 3:53 ` Lars Ingebrigtsen
2016-02-24 4:09 ` Stefan Monnier
2016-02-24 4:23 ` Lars Ingebrigtsen
2016-02-24 15:18 ` Nicolas Richard
2016-02-24 15:33 ` Clément Pit--Claudel
2016-02-24 12:21 ` Dmitry Gutov
2016-02-24 15:29 ` Nicolas Richard
2016-02-24 16:51 ` Drew Adams
2016-02-24 4:08 ` Clément Pit--Claudel
2016-02-24 10:02 ` Stephen Berman
2016-02-29 6:24 ` Drew Adams
2016-02-29 7:06 ` John Wiegley
2016-02-29 15:41 ` Drew Adams
2016-02-29 19:53 ` Joost Kremers
2016-03-01 16:53 ` Richard Stallman
2016-02-29 17:15 ` Stefan Monnier
2016-02-29 18:11 ` Drew Adams
2016-02-29 18:47 ` John Wiegley
2016-02-29 19:28 ` Drew Adams
2016-02-29 20:05 ` Stefan Monnier
2016-02-29 21:19 ` Drew Adams [this message]
2016-02-29 21:57 ` Stefan Monnier
2016-02-29 22:19 ` Drew Adams
2016-03-01 16:53 ` Richard Stallman
2016-03-01 20:09 ` John Wiegley
2016-02-23 17:45 ` Richard Stallman
[not found] ` <<87r3g4js64.fsf@gmail.com>
[not found] ` <<E1aYH1b-0006nO-9u@fencepost.gnu.org>
2016-02-23 18:09 ` Drew Adams
2016-02-24 13:41 ` Richard Stallman
2016-02-22 23:29 ` Stefan Monnier
2016-02-22 23:50 ` Drew Adams
2016-02-23 17:45 ` Richard Stallman
[not found] ` <<87egc4v4hs.fsf@gmx.de>
[not found] ` <<8bd4ec21-1306-41bf-aca7-5571a3014337@default>
[not found] ` <<E1aYH1M-0006ia-SR@fencepost.gnu.org>
2016-02-23 18:05 ` Drew Adams
2016-02-24 13:41 ` Richard Stallman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ef5f2e16-3d4c-4da3-adfc-45754dfd57a5@default \
--to=drew.adams@oracle.com \
--cc=emacs-devel@gnu.org \
--cc=johnw@gnu.org \
--cc=kaushal.modi@gmail.com \
--cc=michael.albinus@gmx.de \
--cc=monnier@iro.umontreal.ca \
--cc=ohwoeowho@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).