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 10:11:10 -0800 (PST)	[thread overview]
Message-ID: <b578d9b2-37a8-42cd-b511-4c7d7d583d02@default> (raw)
In-Reply-To: <jwva8mja1dp.fsf-monnier+emacsdiffs@gnu.org>

> >  Finally, to make things even more muddy, we have recently piled
> >  additional, non-Common Lisp stuff into the `cl-' namespace.
> >  What's that about?  That just confuses people.
> [...]
> > This particular problem was reported as bug #20056, which was
> > just closed today as "wont-fix".
> 
> You make it sound like we have many such additions, but I've only
> heard of one such so far (namely (cl-)letf).  In the specific case
> of cl-letf,

Sorry if I did.  I don't know how many there are.  If there is
only one, so much the better - easy to fix.

And again, it is more important for the future than for the past.
No exceptions and a clear policy will help keep the CL libraries
for Common Lisp emulation.

Put differently, I see no good reason why something like `cl-letf'
would be defined in a Common-Lisp emulation library.  `letf' is
simply not Common Lisp.

Oh, but wait -

Browsing through just `cl-macs.el', which is where `cl-letf' is
defined, and searching for just `defmacro', I come across these
non Common-Lisp macros (which are not just implementation building
blocks):

`cl-callf'
`cl-callf2'
`cl-iter-defun'
`cl-flet*'
`cl-letf*'

Moving to `cl-extra' and searching for `defun', I see these:

`cl-prettyprint'   (called a "debugging aid")
`cl-prettyexpand'  (called a "debugging aid")
`cl-describe-type'

Moving to `cl-preloaded.el':

`cl-struct-define'

And there are other `cl*.el' libraries which could be checked.

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?

So it seems that there at least a few more than just `cl-letf'.

> I'm not sure where else you'd want to put it [`cl-letf']

Doesn't matter to me.  Typically, something as general as that
would go in a library such as `subr.el' or `simple.el', I would
think.  But I'm no expert on the collection of Lisp libraries
we have.

> (I don't want it as just unprefixed `letf').

Why not?

But if there is a good reason for that, fine.  I don't have a
problem with putting it in a library that uses a prefix for
everything - as long as the prefix is not `cl-'.  I really
don't see why `cl-' would not be reserved for emulation of
Common Lisp constructs (and their implementations).



  reply	other threads:[~2016-02-29 18:11 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 [this message]
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
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=b578d9b2-37a8-42cd-b511-4c7d7d583d02@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).