From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: =?UTF-8?Q?Cl=c3=a9ment_Pit-Claudel?= Newsgroups: gmane.emacs.devel Subject: Add a separate mode for .dir-locals.el Date: Wed, 16 Oct 2019 22:07:58 -0400 Message-ID: <2058328b-aee5-8cb1-2659-a793e1354517@mit.edu> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------817E4DC78CC78071D5135E72" Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="185481"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 To: Emacs developers Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Oct 17 04:08:20 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1iKvD6-000m4a-GP for ged-emacs-devel@m.gmane.org; Thu, 17 Oct 2019 04:08:16 +0200 Original-Received: from localhost ([::1]:55966 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iKvD4-0000JU-Mu for ged-emacs-devel@m.gmane.org; Wed, 16 Oct 2019 22:08:14 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:46131) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iKvCx-0000J0-VH for emacs-devel@gnu.org; Wed, 16 Oct 2019 22:08:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iKvCw-0005uw-L1 for emacs-devel@gnu.org; Wed, 16 Oct 2019 22:08:07 -0400 Original-Received: from mout.kundenserver.de ([217.72.192.74]:58715) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iKvCw-0005sU-AB for emacs-devel@gnu.org; Wed, 16 Oct 2019 22:08:06 -0400 Original-Received: from [192.168.1.109] ([73.126.99.55]) by mrelayeu.kundenserver.de (mreue108 [212.227.15.184]) with ESMTPSA (Nemesis) id 1MqapC-1hhEsj1bTU-00mXc9 for ; Thu, 17 Oct 2019 04:08:01 +0200 Openpgp: preference=signencrypt Autocrypt: addr=cpitcla@mit.edu; prefer-encrypt=mutual; keydata= mQINBFStGiEBEAC8eHa+DdcrVtDSwYoIgoUtMfRAan4bdLxZuNIASy6iFytCHNsKqfPkq8zD YV2+uMtbdcnjapE038nidEMItNhO04JdZ+PJ6jvJo1gW+XI4fM8uzkGZauwR+d3hEq6goFSp rIlSlaVf2g5q4OKxI754yqwz00++EZhZQMntzoKQVV9stJ5eQ+gxTT1ANr7wQKbjn/8PM/Cg hBZvYLhh+WsS0Ko5qZuWdsvUBLpprmCWkP4FpZ234/tWpdVID65nlHpu25+6ajIcxfCIK+dN 2br0wN1szTeQFG19cfr3jXEvwHmLQbQqCg4UH+2b7JpMGR2/KWjqRWfWVvZMPVeJdOsZHx53 k6HIbEhvFBHbmqCI6FAZQjkgzGGkrSD92+jeMYiCTxRKqq2hFZ6xqQ6pJdXD1TXcIYPEs7rA MwcNMj8g4e6vuI+2CjHyQQkyMPAEi8guNPnyfBb648f1lxj7JiJu/ehRghIP5u/kLOsHNCKG QgCT04sawBZYHqEVYni8oHlGJcdWGT5/UI4B+wn70eXvYSScZEaB+S2s/bD0cdlSpHY5Od3l tpRZTva+ydswlrz4fxbYF45s6rFpqVwBMfNv3gqhBFXbuiEEctcTSGqhHxxT4R+24Yn+ZSBa EfUbrKnVTUmV20k+57rghiVw2wpj8v7sn3QXt96HJ9ImY4JvuwARAQABtCdDbMOpbWVudCBQ aXQtLUNsYXVkZWwgPGNwaXRjbGFAbWl0LmVkdT6JAjkEEwECACMFAlW1rkYCGyMHCwkIBwMC AQYVCAIJCgsEFgIDAQIe Content-Language: en-GB X-Provags-ID: V03:K1:bJO33V0u/4SKG+AXyh6J5Gs9wFiPjfbOW5zP0F/zrgYIohuSOcL 1lWR8IDX7/abwPjJQzKvOnxqBv4QWVTyC+4uWOLbkHDZmjmndRTjivDi3CMD2ecXcwaswpi gcRVnXSg9UHMWCBYgbX1vFx8EhYF540/81uTSH+eYXVakeXhaaL2V42PVvMbW0PJjY2QTWX p4FjpzOoTM5IUxRwlwoPQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:jaH43zKC+EA=:grwymijYsKkn7epmaTKKaf 3qeHcmK4HfhJavGhvDhzLvVzRcGZJWdDBrqsicxmS21OCxhCJhpRpCMGF6SQXu/ekJMTyUp2Q tg4TGRUtkdzR8orJApqW/H2qGrGvTHBg4nhIRxZbiniW7rWFv3jebxT9qeeBMKN3CnTYPE2k1 4BR/wDTmTvFP/SEC2qLdYhYCcX6Gy2gJnflpQSOmg2Ngr1sufvQQSx7eKxhqL2nEZGW3iLNCj 93vJBMAgPi1zYKPBCOTyaSI3Zm/ghsWO8r5QJW8pdfY1JoG/j7gGJiQYhAKNXtiSlw+8xWXam WJuMt7xZKQgxZAYZvVi32LQSN0HvyTRZM1RPsxzv2oup/WdAuZPX+ch0DpAHskEyEaF7MENM7 W9zlu7dYRwonWcFksJLexRZ396BxOJRSH2TExI1OHxKO5Z2I/udMrIDzlc6Zi2+Kgdw2TjwUN zRVS1aUT8WWeaIQ4aXjvj17ctPBPkjlUSZbHgV/Jl6UI860UeHpqAkt4Ht/iug7mqN7J9Df7D 8CFjjakyZa7340zcFQ/POxp77ufvyXL+OWXSYRdGc08JbyNSYw8oCQBRzNysE1yh2MJKAY+bk Kamj9ce+dBCVZJCEZZ08pO6hwafig+u979oDFvJzdxUsKEDjP6gZXsH5IbworGWlVA6iwmN9H 7crHRT4N2DMOEhss/sL5EYwi0bGGQlnEJpK33/O9R7e6N2uZ9PS7xne5KIQ7cIcD6EJ2+sQCC jMGMqmenD0bu5MyyFiHmv9FWWJ0rkQh6cbwbnDiA9FxfhrkzXaeqvdfNKGtRQzQ7V4r7TRbq X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 217.72.192.74 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:241109 Archived-At: This is a multi-part message in MIME format. --------------817E4DC78CC78071D5135E72 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Hi all, .dir-locals.el files are currently opened in emacs-lisp-mode, but they are not proper Emacs Lisp files; as a result, Flymake generates incorrect diagnostics, and I don't know of an easy way to customize Emacs specifically for these files (there's is no hook that runs every time a dir-locals file is opened). We've had a similar problem for a while in Flycheck. The attached patch creates a trivial dir-locals-mode, derived from emacs-lisp-mode, and removes Flymake backends in that mode. Thoughts? Clément. --------------817E4DC78CC78071D5135E72 Content-Type: text/x-patch; name="0001-Add-a-separate-mode-for-.dir-locals.el-files.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0001-Add-a-separate-mode-for-.dir-locals.el-files.patch" =46rom 9fec681101f27ec578cd25fa11fc737641b8dd91 Mon Sep 17 00:00:00 2001 From: =3D?UTF-8?q?Cl=3DC3=3DA9ment=3D20Pit-Claudel?=3D Date: Wed, 16 Oct 2019 22:02:49 -0400 Subject: [PATCH] Add a separate mode for .dir-locals.el files * lisp/progmodes/elisp-mode.el (dir-locals-mode): New mode; disable Flymake in it * lisp/files.el (auto-mode-alist): Use it to open .dir-locals.el --- lisp/files.el | 1 + lisp/progmodes/elisp-mode.el | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/lisp/files.el b/lisp/files.el index 4b364b49d8..2f6d63ba1e 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -2657,6 +2657,7 @@ auto-mode-alist ("\\.ltx\\'" . latex-mode) ("\\.dtx\\'" . doctex-mode) ("\\.org\\'" . org-mode) + ("\\`\\.dir-locals\\(?:-2\\)?.el\\'" . dir-locals-mode) ("\\.el\\'" . emacs-lisp-mode) ("Project\\.ede\\'" . emacs-lisp-mode) ("\\.\\(scm\\|stk\\|ss\\|sch\\)\\'" . scheme-mode) diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el index 516e4f9cd6..fb704c7de0 100644 --- a/lisp/progmodes/elisp-mode.el +++ b/lisp/progmodes/elisp-mode.el @@ -259,6 +259,14 @@ emacs-lisp-mode (add-hook 'flymake-diagnostic-functions #'elisp-flymake-checkdoc nil t= ) (add-hook 'flymake-diagnostic-functions #'elisp-flymake-byte-compile n= il t)) =20 +;;;###autoload +(define-derived-mode dir-locals-mode emacs-lisp-mode "Directory locals" + "Major mode to edit .dir-locals.el files. + +\\{dir-locals-mode-map}" + (remove-hook 'flymake-diagnostic-functions #'elisp-flymake-checkdoc t)= + (remove-hook 'flymake-diagnostic-functions #'elisp-flymake-byte-compil= e t)) + ;; Font-locking support. =20 (defun elisp--font-lock-flush-elisp-buffers (&optional file) --=20 2.17.1 --------------817E4DC78CC78071D5135E72--