Subject: Re: bug#49278: 28.0.50; Lisp Mode is for Common Lisp

From: Eli Zaretskii <[email-masked]>
Date: Wed, 30 Jun 2021 15:35:05 +0300

> From: João Távora <[email-masked]>
> Date: Tue, 29 Jun 2021 19:25:45 +0100
> Cc: [email-masked], Stefan Monnier <[email-masked]>
> 
> > > -  Lisp mode is the major mode for editing programs written in
> > > -general-purpose Lisp dialects, such as Common Lisp.  Its mode command
> > > -is @kbd{M-x lisp-mode}.  Emacs uses Lisp mode automatically for files
> > > -whose names end in @file{.l}, @file{.lsp}, or @file{.lisp}.
> > > +  Lisp mode is the major mode for editing programs written in Common
> > > +Lisp or its ancestor dialects.  Its mode command is @kbd{M-x
> > > +lisp-mode}.  Emacs uses Lisp mode automatically for files whose names
> > > +end in @file{.l}, @file{.lsp}, or @file{.lisp}.
> >
> > This basically doesn't change anything, and the original text does
> > mention CL.  If mentioning the ancestor dialects is important, we
> > could add that.
> 
> The point is to make sure that noone is misinformed to think that
> lisp-mode is a suitable ancestor for, say, scheme-mode or clojure-mode or
> my-2021-lisp-mode.

We can mention Scheme and Clojure there (as examples of languages that
are NOT handled), if that's the issue.  Or maybe you can describe
those dialects that you'd like to exempt in some more general way?

> So it's not true that this doesn't change anything: it removes an
> ambiguity.

Not in my eyes, no.  I think you assign too much significance to the
"ancestor" part, and rely on the reader to understand that
significance.

> > >  (define-derived-mode lisp-mode lisp-data-mode "Lisp"
> > > -  "Major mode for editing Lisp code for Lisps other than GNU Emacs Lisp.
> > > +  "Major mode for editing Common Lisp code.
> >
> > Here I'd prefer to mention CL without un-mentioning the other Lisps.
> > There's no reason to deny they exist or existed.
> 
> That's true, I guess.  The point is to make sure that no one gets the
> temptation to derive new Lisp-ish modes based on lisp-mode for
> languages that have no relation to CL.  So what to you say to:
> 
> "Major mode for editing Common Lisp and historically related Lisps"
> 
> "Major mode for editing Common Lisp and its ancestors"
> 
> "Major mode for editing code historically related to Common Lisp"

Again, I'd like to understand better what misunderstandings are you
trying to prevent.  If we are only talking about Scheme and Clojure, I
think it's easier to mention them explicitly.