unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
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.



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