all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: cpitclaudel@gmail.com, joaotavora@gmail.com, emacs-devel@gnu.org
Subject: Re: Add a separate mode for .dir-locals.el
Date: Fri, 18 Oct 2019 10:52:02 +0300	[thread overview]
Message-ID: <83mudy8p99.fsf@gnu.org> (raw)
In-Reply-To: <jwv4l07ruo1.fsf-monnier+emacs@gnu.org> (message from Stefan Monnier on Thu, 17 Oct 2019 16:32:59 -0400)

> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: joaotavora@gmail.com,  cpitclaudel@gmail.com,  emacs-devel@gnu.org
> Date: Thu, 17 Oct 2019 16:32:59 -0400
> 
> > elisp-flymake-* at least have the advantage of having "flymake" in
> > their names, so some relation is evident.
> 
> Just because the original description of the problem talked about
> flymake doesn't mean the problem is specific to flymake.

Then maybe we should step back and describe the problem better.  I
already suggested that a few emails ago.  Until now, the only problem
that triggered this discussion was with Flymake.

> > Differences that are important for an Emacs major mode?
> > What differences are those?
> 
> To quote the email to which you reply:
> 
>    ... other things we may want to fix such as the M-C-x binding which
>    makes no sense in .dir-locals.el, or the presence of "Byte-compile
>    this file" in the menu, ...

The former might make sense, because .dir-locals.el can include 'eval'
forms, right?  If we care about the latter, it can be handled by being
sensitive to 'no-byte-compile: t' instead.  Or even compare with the
file name, as bytecomp.el already does, as do other places.

> These probably aren't that important, admittedly.

Exactly.

> But completion in .dir-locals.el doesn't work very well right now,
> because the data has the form (VAR . VAL) but the completion
> function presumes this is Elisp *code* where the head of a list
> should be a function rather than a variable, so it will give you
> bogus completions when trying to complete the variable names.  We
> couldn't cleanly fix this completion in a generic
> emacs-lisp-data-mode, tho: we'd need something more specific like a
> dir-locals-mode.
> 
> > And why not make emacs-lisp-mode recognize these differences and
> > support them accordingly?
> 
> As I said "I don't care if we make it a separate major mode or not".
> 
> Tho I was partly lying: I do think a separate major mode is a better
> choice down the line (e.g. it makes it easier to use auto-mode-alist
> and -*-...-*- to specify the behavior to use for .dir-locals.el,
> ~/.emacs.d/bookmarks, ~/.emacs.d/tramp, ~/.emacs.d/ecomplterc, ...), but
> that's a fairly minor detail compared to the fact that the issue goes
> much further than "flymake in .dir-locals.el".

This all sounds to me like "arguments from the future": we don't yet
have any substantial reasons to define a major mode, but we are trying
hard to think of any potential reason we might have in the future.

If someone wants to work on such a comprehensive elisp-data-mode, with
all the bells and whistles presented above, then by all means please
do.  When the job is done, let's look at the result and decide whether
we want this in core, in ELPA, or not at all.  But until that happens,
all we have is this one minor problem, so the only urgent part is to
solve that problem.  And I consider adding a new major mode for that
as uneconomical, inelegant, and potentially a maintenance burden (if,
as I presume, the more general mode will never materialize).

Please bear with me.  We need to start pretesting Emacs 27 as soon as
possible, and adding unnecessary new features is the wrong way of
making this happen sooner rather than later.

TIA



  parent reply	other threads:[~2019-10-18  7:52 UTC|newest]

Thread overview: 98+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-17  2:07 Add a separate mode for .dir-locals.el Clément Pit-Claudel
2019-10-17  2:20 ` Lars Ingebrigtsen
2019-10-17  7:53   ` Eli Zaretskii
2019-10-17 11:51     ` Clément Pit-Claudel
2019-10-17 12:21       ` João Távora
2019-10-17 13:16         ` Eli Zaretskii
2019-10-17 13:51           ` Clément Pit-Claudel
2019-10-17 15:45             ` Yuri Khan
2019-10-17 15:47               ` Clément Pit-Claudel
2019-10-17 16:55                 ` Amin Bandali
2019-10-17 14:00           ` João Távora
2019-10-17 15:12             ` Dmitry Gutov
2019-10-17 15:32             ` Stefan Monnier
2019-10-17 15:41               ` João Távora
2019-10-17 15:47                 ` Clément Pit-Claudel
2019-10-17 16:37                 ` Stefan Monnier
2019-10-17 17:04                   ` João Távora
2019-10-17 17:35                     ` Eli Zaretskii
2019-10-17 17:42                       ` João Távora
2019-10-17 17:52                         ` Eli Zaretskii
2019-10-17 18:09                           ` João Távora
2019-10-17 18:28                             ` Eli Zaretskii
2019-10-17 19:00                               ` João Távora
2019-10-17 19:21                                 ` Eli Zaretskii
2019-10-17 19:53                                   ` Stefan Monnier
2019-10-18  7:39                                     ` Eli Zaretskii
2019-10-18 12:56                                       ` Stefan Monnier
2019-10-17 21:35                                   ` João Távora
2019-10-18  8:00                                     ` Eli Zaretskii
2019-10-18  8:38                                       ` Juanma Barranquero
2019-10-18 13:14                                         ` Stefan Monnier
2019-10-18 10:25                                       ` João Távora
2019-10-18 12:33                                         ` Eli Zaretskii
2019-10-18 13:43                                           ` João Távora
2019-10-18 14:07                                             ` Dmitry Gutov
2019-10-19  9:52                                             ` Eli Zaretskii
2019-10-19 11:00                                               ` João Távora
2019-10-19 11:08                                                 ` João Távora
2019-10-19 11:56                                                 ` Eli Zaretskii
2019-10-19 12:55                                                   ` Clément Pit-Claudel
2019-10-19 13:36                                                   ` João Távora
2019-10-19 14:03                                                     ` Eli Zaretskii
2019-10-19 16:13                                                       ` João Távora
2019-10-19 12:53                                               ` Clément Pit-Claudel
2019-10-19 14:14                                                 ` Eli Zaretskii
2019-10-19 16:51                                                   ` Clément Pit-Claudel
2019-10-19 20:41                                                   ` Dmitry Gutov
2019-10-19 21:35                                                     ` Alan Mackenzie
2019-10-19 22:01                                                       ` Dmitry Gutov
2019-10-20  5:45                                                     ` Eli Zaretskii
2019-10-20  8:17                                                       ` João Távora
2019-10-20 15:40                                                         ` Juri Linkov
2019-10-20 19:29                                                           ` João Távora
2019-10-21 12:43                                                       ` Dmitry Gutov
2019-10-21 13:15                                                         ` Eli Zaretskii
2019-10-21 13:34                                                           ` Dmitry Gutov
2019-10-21 13:41                                                             ` João Távora
2019-10-21 13:48                                                             ` Eli Zaretskii
2019-10-19 20:38                                                 ` Dmitry Gutov
2019-10-20  5:38                                                   ` Eli Zaretskii
2019-10-20 20:21                                                     ` Dmitry Gutov
2019-10-21  6:24                                                       ` Eli Zaretskii
2019-10-21  7:05                                                         ` João Távora
2019-10-21  7:15                                                           ` Eli Zaretskii
2019-10-21  8:25                                                             ` João Távora
2019-10-21 10:09                                                               ` Eli Zaretskii
2019-10-21 10:28                                                                 ` João Távora
2019-10-21 10:59                                                                   ` Eli Zaretskii
2019-10-21 11:22                                                                     ` João Távora
2019-10-21 11:32                                                                       ` Eli Zaretskii
2019-10-21 11:39                                                                         ` João Távora
2019-10-21 12:26                                                         ` Dmitry Gutov
2019-10-17 19:50                               ` Stefan Monnier
2019-10-17 19:59                                 ` Eli Zaretskii
2019-10-17 20:32                                   ` Stefan Monnier
2019-10-18  7:34                                     ` Michael Albinus
2019-10-18  7:52                                     ` Eli Zaretskii [this message]
2019-10-18 13:11                                       ` Stefan Monnier
2019-10-19 10:00                                         ` Eli Zaretskii
2019-10-19 14:05                                           ` Stefan Monnier
2019-10-17 16:36               ` Eli Zaretskii
2019-10-17 17:47                 ` Alan Mackenzie
2019-10-17 18:08                   ` Stefan Monnier
2019-10-17 19:46                     ` Alan Mackenzie
2019-10-17 20:19                       ` Stefan Monnier
2019-10-17 18:19                   ` João Távora
2019-10-17 19:38                     ` Alan Mackenzie
     [not found]           ` <CALDnm50Q+QuhYRqZxV4-YzAAqhmU05+nOS3Oh1wvcJsYEX+sbg@mail.gmail.com>
2019-10-17 14:12             ` Eli Zaretskii
2019-10-17 15:31               ` João Távora
2019-10-17  8:55 ` Andreas Schwab
2019-10-17 11:48   ` Clément Pit-Claudel
2019-10-17 12:03     ` Andreas Schwab
2019-10-17 12:10       ` Clément Pit-Claudel
2019-10-18  3:14       ` Richard Stallman
2019-10-17 13:40   ` Stefan Monnier
2019-10-19 12:28     ` Why we SHOULDN'T add " Alan Mackenzie
2019-10-19 12:59       ` Clément Pit-Claudel
2019-10-19 22:04       ` Dmitry Gutov

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83mudy8p99.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=cpitclaudel@gmail.com \
    --cc=emacs-devel@gnu.org \
    --cc=joaotavora@gmail.com \
    --cc=monnier@iro.umontreal.ca \
    /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 external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.