emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Emacs-diffs] emacs-25 a9c48d5: Additional fixes for file notificati


From: Drew Adams
Subject: RE: [Emacs-diffs] emacs-25 a9c48d5: Additional fixes for file notification
Date: Mon, 22 Feb 2016 15:15:16 -0800 (PST)

> > +1
> >
> > I wholeheartedly agree to that.
> 
> +1 from me as well. I recall recently Richard proposed that we vote on
> some new isearch feature. Should we vote on renaming `cl-caddr' ->
> `caddr' as well?
> 
> Here's a list of `cl-' stuff that I like to use, which I think wouldn't
> bring confusion without a `cl-' prefix: `cl-find-if',
> `cl-remove-if-not', `cl-incf', `cl-position-if', `cl-caadr',
> `cl-rotatef', `cl-destructuring-bind'.
> 
> I realize there are prefix-less aliases for most of these functions.
> But I'm not sure how long they're staying. And if they are staying
> indefinitely, is there a reason to use `cl-' prefix?  I made a switch to
> the prefix some time ago when the unprefixed macros became no longer
> syntax-highlighted. But now since recently all macros are syntax
> highlighted, no matter where they come from.

I understand that we like using library prefixes (I respect that),
hence the use of `cl-'.  But there is plenty in Emacs that is just
plain _Lisp_, and which is not different between Common Lisp and
anything else that Emacs has.  Emacs Lisp has just as much a right
to these Lisp names as any other Lisp.

We don't say `subr-rplacd' just because `rplacd' is defined in `subr.el'.

And we have plenty of functions and macros that are not found in other
Lisps.  Many of those too are in files that are not considered to be
foreign libraries but, like `subr.el', are simply part of the Emacs-Lisp
language.

We don't say `simp-goto-line' just because `goto-line' is defined in
`simple.el'.  And we don't say `diraux-dired-do-chmod' just because
`dired-do-chmod' is defined in `dired-aux.el'.

Why should we act differently when it comes to things like `caddr'?

Regardless of what file they are in, and whether that file is loaded
by default (like `simple.el' and `subr.el') or only on demand (like
`dired-aux.el), I see no good reason for such things to be plastered
over with a `cl-' prefix.

In a way this is a minor, bike-shed point.  And in a way it is
anything but bike-shedding.

To me, it is just common sense to use widespread, longstanding Lisp
names as is, without embellishment.  Unless, that is, there is an
Emacs-Lisp version that already has the unembellished name and is
different.

In the relatively few cases where Emacs Lisp has its own, different
thing that has a widespread Lisp name,  using the `cl-' prefix for
the Common Lisp emulation is appropriate.  And that makes the
difference stand out: This thingy with the `cl-' prefix is different
from the similarly named thingy without that prefix.

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.

If it's just because such things are in a `cl*.el' file then I think
we're missing the point of such a prefix.  It should be reserved for
Common Lisp emulation, nothing more or less.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]