From: "João Távora" <joaotavora@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: "Clément Pit-Claudel" <cpitclaudel@gmail.com>,
"Stefan Monnier" <monnier@iro.umontreal.ca>,
emacs-devel@gnu.org
Subject: Re: Add a separate mode for .dir-locals.el
Date: Thu, 17 Oct 2019 22:35:33 +0100 [thread overview]
Message-ID: <CALDnm52q6X-zeNMs3G+785nYFwV+_+F6Y+b2VQf29E7eLUk3jQ@mail.gmail.com> (raw)
In-Reply-To: <835zkn9o01.fsf@gnu.org>
[-- Attachment #1: Type: text/plain, Size: 2565 bytes --]
On Thu, Oct 17, 2019, 20:21 Eli Zaretskii <eliz@gnu.org> wrote:
>
> Which class of problems is that? I see only one problem that was
> clearly identified and described: the .dir-locals.el file, and the
> problem is that Flymake erroneously reports problems in that file.
>
The class can informally be described by "functionality not applicable and
thus harmful to the manipulation of non-code lisp data files."
What misdesign is that?
>
A failure to correctly model the differences between lisp code and lisp
data. It's not a giant flaw, tho: inheritance is available and this is a
textbook example of where it should used.
> But others have suggested more situations. I don't think the same
> > xref-backend-functions apply to .dir-locals or ~/.emacs.d/recentf
> > files for example.
>
> I don't think I understand what you are saying here. Can we step back
> a notch and start by describing the problem in more detail? What
> diagnostics does Flymake produce in the case of .dir-locals.el, and
> why does it produce that diagnostics?
>
I haven't checked, but if I had to guess, I would say it tries to invoke
the byte-compiler on the file, which doesn't make any sense, as you know.
As a result, bogus diagnostics are produced.
No, because this new mode is defined in a place that is not Flymake.
> So when some change is done in Flymake that affects that mode, someone
> needs to remember to update an unrelated mode in an unrelated source
> file.
>
No. Simply no. We might be miscommunicating, but when a change happens in
Flymake, the new mode proposed by Stefan need not be changed. At all.
Stefan's patch doesn't mention anything related to Flymake, so I don't
> understand what you are trying to say here.
>
Exactly. Stefan's patch doesn't change anything related to Flymake and
indeed solves the problem (or as i said, the class of problems where this
one related to Flymake happens to be included). And that is why it is very
good and you should take it! Indeed it answers your very legitimate
concerns about maintenance.
What drawbacks do you see in the other solution? I see only
> advantages.
>
The least bad one has code duplication, is less maintainable is specific
to Flymake.
You are basically saying that emacs-lisp-mode should do for these
> files.
>
No. I'm saying that it does a superset of what it should do. And that the
surplus is harmful. You can see exactly what that surplus is: it's whatever
is left in emacs-lisp-mode in Stefan's patch.
João
>
[-- Attachment #2: Type: text/html, Size: 4722 bytes --]
next prev parent reply other threads:[~2019-10-17 21:35 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 [this message]
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
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
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=CALDnm52q6X-zeNMs3G+785nYFwV+_+F6Y+b2VQf29E7eLUk3jQ@mail.gmail.com \
--to=joaotavora@gmail.com \
--cc=cpitclaudel@gmail.com \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--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 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).