From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= Newsgroups: gmane.emacs.bugs Subject: bug#40573: 27.0.90; flymake-mode broken in scratch buffer Date: Sun, 19 Apr 2020 00:36:36 +0100 Message-ID: References: <835ze4lsr1.fsf@gnu.org> <831roslq62.fsf@gnu.org> <87sgh89r78.fsf@mail.linkov.net> <83lfn0j92e.fsf@gnu.org> <87imi39e8w.fsf@mail.linkov.net> <83h7xmipi7.fsf@gnu.org> <878sivdsjn.fsf@mail.linkov.net> <83r1wmd2u0.fsf@gnu.org> <83a73acted.fsf@gnu.org> <837dyecoyb.fsf@gnu.org> <835zdyclfa.fsf@gnu.org> <83zhbab07u.fsf@gnu.org> <83v9lyazdo.fsf@gnu.org> <83r1wmav3h.fsf@gnu.org> <83a739b0sd.fsf@gnu.org> <835zdxaw60.fsf@gnu.org> <83zhb99dkg.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="000000000000bcec3105a399232e" Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="50027"; mail-complaints-to="usenet@ciao.gmane.io" Cc: "Basil L. Contovounesios" , 40573@debbugs.gnu.org, Juri Linkov , Stefan Monnier , Dmitry Gutov To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Apr 19 01:37:16 2020 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jPx1O-000Crw-GK for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 19 Apr 2020 01:37:14 +0200 Original-Received: from localhost ([::1]:34398 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jPx1N-0007jX-2P for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 18 Apr 2020 19:37:13 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:36740) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jPx1D-0007cc-QJ for bug-gnu-emacs@gnu.org; Sat, 18 Apr 2020 19:37:05 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jPx1C-0002wl-Dz for bug-gnu-emacs@gnu.org; Sat, 18 Apr 2020 19:37:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:60469) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jPx1C-0002w7-0K for bug-gnu-emacs@gnu.org; Sat, 18 Apr 2020 19:37:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jPx1B-0008Ov-On for bug-gnu-emacs@gnu.org; Sat, 18 Apr 2020 19:37:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 18 Apr 2020 23:37:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 40573 X-GNU-PR-Package: emacs Original-Received: via spool by 40573-submit@debbugs.gnu.org id=B40573.158725301832282 (code B ref 40573); Sat, 18 Apr 2020 23:37:01 +0000 Original-Received: (at 40573) by debbugs.gnu.org; 18 Apr 2020 23:36:58 +0000 Original-Received: from localhost ([127.0.0.1]:43782 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jPx17-0008OZ-94 for submit@debbugs.gnu.org; Sat, 18 Apr 2020 19:36:58 -0400 Original-Received: from mail-io1-f53.google.com ([209.85.166.53]:42024) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jPx14-0008OJ-Eo for 40573@debbugs.gnu.org; Sat, 18 Apr 2020 19:36:55 -0400 Original-Received: by mail-io1-f53.google.com with SMTP id y17so6716778iow.9 for <40573@debbugs.gnu.org>; Sat, 18 Apr 2020 16:36:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=X1ZD6ydVskImAA21C6PCshxHWJCz/fm6Pp45QYr6qW8=; b=NJMVBiamTw/+gyM36ZVx6tJ5J1UYCTC96Knz9rkiO6N6yjPo+YnsfO7RLZmd5MsR3q noYNgnFE60iZDJji3TXOmRY03dUhX414UZ6zpmBXaRSoR7Eo75svPRaV002T7yEqsqUm 5dHgFB7JEzgLQ23NDWY5XEfjbxDADmdjIetqhz0InURQlqqZvCvVl46coleBQRuT6WDf 3gDbjvUBstWmmjThL2HBmsTudSJ2PKwX0VxA7I2iDgOUBmnKafNC8HJTtEHxYbfg9OY3 g+KDlHSQ/bJZG9qQNhdKvWZFQQE0GGUiDh72fDJNUjtA+FE9eIgoZ89OstJhGbsZkyDx mfng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=X1ZD6ydVskImAA21C6PCshxHWJCz/fm6Pp45QYr6qW8=; b=lgRwj9Yfn3rzldDvSBCtjzET0PB6YxnN9jR7KqvADO8q5pY49Is/i3pA0hafpGyWGK /lW/VZ63W6CB4ck5QPjCNnZtkOok0TZdJQVUkDw5MX5lxGALyOjXnBgSd2yU5vtvJVHW TFgYo1Pdx5AgALjV5yH5A52KsV//xpLN0tGsM2pZuURRtWn7OIy+h+23FT7ZB0KBFyXe ds24GIYSMr3uC6yfG1BQQg+iddYnuyGB0P2qVVxEVm+S36Z7s2NSQpa6CuWXY4uQF4zf digMMV9a/N8YxWMNbNs1m8gDm/x9gzE6YA6nPrmg316TBhZAJI8QZFe58kzXWFP+xJgw CH3Q== X-Gm-Message-State: AGi0PuZKFazuL9mReSJiZ0k/NaCIPr+xtFIh0Va7MiMa3DDBAWTUT99c qYCmrsT9cCgocc2qF3jTXzpSZ0BrtL9I1RMVII0= X-Google-Smtp-Source: APiQypKzSGwZ81yYzL/YWpg+5nqmJF4YxkLz3scADnvejZ9ywtnIHkAGkSymvqKXTU98lQZgYZ7ycng5NtXKdYSQI0w= X-Received: by 2002:a02:205:: with SMTP id 5mr9177011jau.78.1587253008459; Sat, 18 Apr 2020 16:36:48 -0700 (PDT) In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Received-From: 209.51.188.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:178606 Archived-At: --000000000000bcec3105a399232e Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Here's the final patch as a sum of all the commits in the scratch/add-lisp-data-mode branch. I fixed the small lisp-mode-variables backward incompatibility issue. Any comments/objections? Does this need documentation? Stefan, you want to add an emacs-lisp-data-mode in between lisp-data-mode and emacs-lisp-mode? Thanks, Jo=C3=A3o diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi index df7458c3fb..fc68ee1b32 100644 --- b/doc/lispref/modes.texi +++ a/doc/lispref/modes.texi @@ -1356,9 +1356,9 @@ @smallexample @group -(defun lisp-mode-variables (&optional syntax keywords-case-insensitive elisp) - (when syntax - (set-syntax-table lisp-mode-syntax-table)) +(defun lisp-mode-variables () + "Common initialization routine for lisp modes." + (setq-local paragraph-ignore-fill-prefix t) @dots{} @end group @end smallexample @@ -1414,7 +1414,7 @@ @smallexample @group -(define-derived-mode lisp-mode prog-mode "Lisp" +(define-derived-mode lisp-mode lisp-data-mode "Lisp" "Major mode for editing Lisp code for Lisps other than GNU Emacs Lisp. Commands: Delete converts tabs to spaces as it moves back. @@ -1425,7 +1425,7 @@ or to switch back to an existing one." @end group @group - (lisp-mode-variables nil t) + (lisp-mode-variables) (setq-local find-tag-default-function 'lisp-find-tag-default) (setq-local comment-start-skip "\\(\\(^\\|[^\\\n]\\)\\(\\\\\\\\\\)*\\)\\(;+\\|#|\\) *") diff --git a/lisp/bookmark.el b/lisp/bookmark.el index f2384973e9..720ad18c16 100644 --- b/lisp/bookmark.el +++ a/lisp/bookmark.el @@ -734,8 +734,10 @@ (if (memq (coding-system-base coding) '(undecided prefer-utf-8)) (setq coding 'utf-8-emacs)) (insert - (format ";;;; Emacs Bookmark Format Version %d ;;;; -*- coding: %S -*-\n" - bookmark-file-format-version (coding-system-base coding))) + (format + ";;;; Emacs Bookmark Format Version %d\ +;;;; -*- coding: %S mode: lisp-data -*-\n" + bookmark-file-format-version (coding-system-base coding))) (insert ";;; This format is meant to be slightly human-readable;\n" ";;; nevertheless, you probably don't want to edit it.\n" ";;; " diff --git a/lisp/chistory.el b/lisp/chistory.el index 485515d07b..c9aa927b94 100644 --- b/lisp/chistory.el +++ a/lisp/chistory.el @@ -139,7 +139,7 @@ Keybindings: \\{command-history-mode-map}" - (lisp-mode-variables nil) + (lisp-mode-variables) (set (make-local-variable 'revert-buffer-function) 'command-history-revert) (set-syntax-table emacs-lisp-mode-syntax-table)) diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el index 13263f2fb5..3b0f5493ee 100644 --- b/lisp/emacs-lisp/lisp-mode.el +++ a/lisp/emacs-lisp/lisp-mode.el @@ -611,15 +611,10 @@ ;; a single docstring. Let's fix it here. (if (looking-at "\\s-+\"[^\n\"]+\"\\s-*$") "")) -(defun lisp-mode-variables (&optional lisp-syntax keywords-case-insensitiv= e - elisp) +(defun lisp-mode-variables (&rest ignored) "Common initialization routine for lisp modes. -The LISP-SYNTAX argument is used by code in inf-lisp.el and is -\(uselessly) passed from pp.el, chistory.el, gnus-kill.el and -score-mode.el. KEYWORDS-CASE-INSENSITIVE non-nil means that for -font-lock keywords will not be case sensitive." - (when lisp-syntax - (set-syntax-table lisp-mode-syntax-table)) +Any number of parameters is accepted and ignored." + (set-syntax-table lisp-mode-syntax-table) (setq-local paragraph-ignore-fill-prefix t) (setq-local fill-paragraph-function 'lisp-fill-paragraph) (setq-local adaptive-fill-function #'lisp-adaptive-fill) @@ -643,21 +638,23 @@ (setq-local multibyte-syntax-as-symbol t) ;; (setq-local syntax-begin-function 'beginning-of-defun) ;;Bug#16247. (setq font-lock-defaults - `(,(if elisp '(lisp-el-font-lock-keywords - lisp-el-font-lock-keywords-1 - lisp-el-font-lock-keywords-2) - '(lisp-cl-font-lock-keywords - lisp-cl-font-lock-keywords-1 - lisp-cl-font-lock-keywords-2)) - nil ,keywords-case-insensitive nil nil - (font-lock-mark-block-function . mark-defun) - (font-lock-extra-managed-props help-echo) - (font-lock-syntactic-face-function - . lisp-font-lock-syntactic-face-function))) + (list nil nil nil nil nil + '(font-lock-mark-block-function . mark-defun) + '(font-lock-extra-managed-props help-echo) + '(font-lock-syntactic-face-function + . lisp-font-lock-syntactic-face-function))) (setq-local prettify-symbols-alist lisp-prettify-symbols-alist) (setq-local electric-pair-skip-whitespace 'chomp) (setq-local electric-pair-open-newline-between-pairs nil)) +;;;###autoload +(define-derived-mode lisp-data-mode prog-mode "Lisp-Data" + "Major mode for buffers holding data written in Lisp syntax." + :group 'lisp + (lisp-mode-variables) + (setq-local electric-quote-string t) + (setq imenu-case-fold-search nil)) + (defun lisp-outline-level () "Lisp mode `outline-level' function." (let ((len (- (match-end 0) (match-beginning 0)))) @@ -737,7 +734,7 @@ "Keymap for ordinary Lisp mode. All commands in `lisp-mode-shared-map' are inherited by this map.") -(define-derived-mode lisp-mode prog-mode "Lisp" +(define-derived-mode lisp-mode lisp-data-mode "Lisp" "Major mode for editing Lisp code for Lisps other than GNU Emacs Lisp. Commands: Delete converts tabs to spaces as it moves back. @@ -746,7 +743,11 @@ \\{lisp-mode-map} Note that `run-lisp' may be used either to start an inferior Lisp job or to switch back to an existing one." - (lisp-mode-variables nil t) + (setf + (nth 0 font-lock-defaults) '(lisp-cl-font-lock-keywords + lisp-cl-font-lock-keywords-1 + lisp-cl-font-lock-keywords-2) + (nth 2 font-lock-defaults) t) (setq-local lisp-indent-function 'common-lisp-indent-function) (setq-local find-tag-default-function 'lisp-find-tag-default) (setq-local comment-start-skip diff --git a/lisp/emacs-lisp/pp.el b/lisp/emacs-lisp/pp.el index 4d8bf52934..3df7b0e368 100644 --- b/lisp/emacs-lisp/pp.el +++ a/lisp/emacs-lisp/pp.el @@ -42,7 +42,7 @@ OBJECT can be any Lisp object. Quoting characters are used as needed to make output that `read' can handle, whenever this is possible." (with-temp-buffer - (lisp-mode-variables nil) + (lisp-mode-variables) (set-syntax-table emacs-lisp-mode-syntax-table) (let ((print-escape-newlines pp-escape-newlines) (print-quoted t)) diff --git a/lisp/files.el b/lisp/files.el index 56d4679ad7..fa72e51c49 100644 --- b/lisp/files.el +++ a/lisp/files.el @@ -2657,6 +2657,13 @@ ("\\.ltx\\'" . latex-mode) ("\\.dtx\\'" . doctex-mode) ("\\.org\\'" . org-mode) + ;; .dir-locals.el is not really elisp. Could use the + ;; `dir-locals-file' constant if it weren't defined below. + ("\\.dir-locals\\(-2\\)?\\.el\\'" . lisp-data-mode) + ("eww-bookmarks\\'" . lisp-data-mode) + ("tramp\\'" . lisp-data-mode) + ("places\\'" . lisp-data-mode) + ("\\.emacs-places\\'" . lisp-data-mode) ("\\.el\\'" . emacs-lisp-mode) ("Project\\.ede\\'" . emacs-lisp-mode) ("\\.\\(scm\\|stk\\|ss\\|sch\\)\\'" . scheme-mode) diff --git a/lisp/help-fns.el b/lisp/help-fns.el index dbf2cb807b..0a99b8d6a3 100644 --- b/lisp/help-fns.el +++ a/lisp/help-fns.el @@ -1000,7 +1000,7 @@ (terpri) (let ((buf (current-buffer))) (with-temp-buffer - (lisp-mode-variables nil) + (lisp-mode-variables) (set-syntax-table emacs-lisp-mode-syntax-table) (insert print-rep) (pp-buffer) diff --git a/lisp/net/eww.el b/lisp/net/eww.el index a4544023f6..c83884fd25 100644 --- b/lisp/net/eww.el +++ a/lisp/net/eww.el @@ -1733,7 +1733,7 @@ (defun eww-write-bookmarks () (with-temp-file (expand-file-name "eww-bookmarks" eww-bookmarks-directory) - (insert ";; Auto-generated file; don't edit\n") + (insert ";; Auto-generated file; don't edit -*- mode: lisp-data -*-\n"= ) (pp eww-bookmarks (current-buffer)))) (defun eww-read-bookmarks () diff --git a/lisp/net/nsm.el b/lisp/net/nsm.el index cc22427e6d..2d36c5e257 100644 --- b/lisp/net/nsm.el +++ a/lisp/net/nsm.el @@ -964,6 +964,7 @@ (defun nsm-write-settings () (with-temp-file nsm-settings-file + (insert ";;;; -*- mode: lisp-data -*-\n") (insert "(\n") (dolist (setting nsm-permanent-host-settings) (insert " ") diff --git a/lisp/net/tramp-cache.el b/lisp/net/tramp-cache.el index 6d87ce297b..09e30f000f 100644 --- b/lisp/net/tramp-cache.el +++ a/lisp/net/tramp-cache.el @@ -472,7 +472,7 @@ ;; Dump it. (with-temp-file tramp-persistency-file-name (insert - ";; -*- emacs-lisp -*-" + ";; -*- lisp-data -*-" ;; `time-stamp-string' might not exist in all Emacs flavors. (condition-case nil (progn diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el index 2f231781ba..f85fd771ca 100644 --- b/lisp/progmodes/elisp-mode.el +++ a/lisp/progmodes/elisp-mode.el @@ -250,7 +250,7 @@ map)) ;;;###autoload -(define-derived-mode emacs-lisp-mode prog-mode +(define-derived-mode emacs-lisp-mode lisp-data-mode `("ELisp" (lexical-binding (:propertize "/l" help-echo "Using lexical-binding mode") @@ -268,35 +268,26 @@ \\{emacs-lisp-mode-map}" :group 'lisp (defvar project-vc-external-roots-function) - (lisp-mode-variables nil nil 'elisp) + (setcar font-lock-defaults + '(lisp-el-font-lock-keywords + lisp-el-font-lock-keywords-1 + lisp-el-font-lock-keywords-2)) + (set-syntax-table emacs-lisp-mode-syntax-table) (add-hook 'after-load-functions #'elisp--font-lock-flush-elisp-buffers) (if (boundp 'electric-pair-text-pairs) (setq-local electric-pair-text-pairs (append '((?\` . ?\') (?\=E2=80=98 . ?\=E2=80=99)) electric-pair-text-pairs)) (add-hook 'electric-pair-mode-hook #'emacs-lisp-set-electric-text-pairs)) - (setq-local electric-quote-string t) - (setq imenu-case-fold-search nil) (add-hook 'eldoc-documentation-functions #'elisp-eldoc-documentation-function nil t) (add-hook 'xref-backend-functions #'elisp--xref-backend nil t) (setq-local project-vc-external-roots-function #'elisp-load-path-roots) (add-hook 'completion-at-point-functions #'elisp-completion-at-point nil 'local) - ;; .dir-locals.el and lock files will cause the byte-compiler and - ;; checkdoc emit spurious warnings, because they don't follow the - ;; conventions of Emacs Lisp sources. Until we have a better fix, - ;; like teaching elisp-mode about files that only hold data - ;; structures, we disable the ELisp Flymake backend for these files. - (unless - (let* ((bfname (buffer-file-name)) - (fname (and (stringp bfname) (file-name-nondirectory bfname)))) - (and (stringp fname) - (or (string-match "\\`\\.#" fname) - (string-equal dir-locals-file fname)))) - (add-hook 'flymake-diagnostic-functions #'elisp-flymake-checkdoc nil t= ) - (add-hook 'flymake-diagnostic-functions - #'elisp-flymake-byte-compile nil t))) + (add-hook 'flymake-diagnostic-functions #'elisp-flymake-checkdoc nil t) + (add-hook 'flymake-diagnostic-functions + #'elisp-flymake-byte-compile nil t)) ;; Font-locking support. diff --git a/lisp/progmodes/inf-lisp.el b/lisp/progmodes/inf-lisp.el index fca803be18..9f34a377f4 100644 --- b/lisp/progmodes/inf-lisp.el +++ a/lisp/progmodes/inf-lisp.el @@ -274,7 +274,7 @@ to continue it." (setq comint-prompt-regexp inferior-lisp-prompt) (setq mode-line-process '(":%s")) - (lisp-mode-variables t) + (lisp-mode-variables) (setq comint-get-old-input (function lisp-get-old-input)) (setq comint-input-filter (function lisp-input-filter))) diff --git a/lisp/saveplace.el b/lisp/saveplace.el index f78639db24..fa0e181bb1 100644 --- b/lisp/saveplace.el +++ a/lisp/saveplace.el @@ -248,7 +248,7 @@ (delete-region (point-min) (point-max)) (when save-place-forget-unreadable-files (save-place-forget-unreadable-files)) - (insert (format ";;; -*- coding: %s -*-\n" + (insert (format ";;; -*- coding: %s mode: lisp-data -*-\n" (symbol-name coding-system-for-write))) (let ((print-length nil) (print-level nil)) On Sat, Apr 18, 2020 at 4:10 PM Jo=C3=A3o T=C3=A1vora wrote: > On Sat, Apr 18, 2020 at 1:35 PM Eli Zaretskii wrote: > > > > > > > why not add it to auto-mod-alist? > > > > > Anyway, I can surely switch to auto-mode-alist if you > > > > > insist, no problem. Do you insist in this? > > > > Do I have to insist? > > > Any problem with doing so? I'll interpret that as a "Yes". > > It's actually the other way around: if I don't feel my opinion is > > strong enough, I usually say so. > > This is what actually-actually what happened: you asked "why > not add it to auto-mod-alist? " I answered and asked if you > insisted, because a question doesn't really sound imperative > to me. If it was an instrument of rhetoric, it wasn't very effective. > > > > Anyway, I went and looked at the three files you mention, and > > > I discovered they're not "fixed" as I thought. They're defcustom > > > and defined way after auto-mode-alist, so we'd have to add-to-list, > > > > No need for such complexity. I meant to mention the standard names in > > auto-mode-alist, under the assumption that many/most users don't > > change the default names. > > OK. > > Jo=C3=A3o > --=20 Jo=C3=A3o T=C3=A1vora --000000000000bcec3105a399232e Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Here's the final patch as a sum of all the commit= s in the scratch/add-lisp-data-mode
branch.=C2=A0 I fixed th= e small lisp-mode-variables backward incompatibility issue.

<= /div>
Any comments/objections?=C2=A0 Does this need documentation?=C2= =A0 Stefan,
you want to add an emacs-lisp-data-mode in betwe= en lisp-data-mode
and emacs-lisp-mode?

<= div>Thanks,
Jo=C3=A3o

diff --git a/doc/l= ispref/modes.texi b/doc/lispref/modes.texi
index df7458c3fb..fc68ee1b32 = 100644
--- b/doc/lispref/modes.texi
+++ a/doc/lispref/modes.texi
@= @ -1356,9 +1356,9 @@
=C2=A0
=C2=A0@smallexample
=C2=A0@group
-(= defun lisp-mode-variables (&optional syntax keywords-case-insensitive e= lisp)
- =C2=A0(when syntax
- =C2=A0 =C2=A0(set-syntax-table lisp-mode= -syntax-table))
+(defun lisp-mode-variables ()
+ =C2=A0"Common i= nitialization routine for lisp modes."
+ =C2=A0(setq-local paragrap= h-ignore-fill-prefix t)
=C2=A0 =C2=A0@dots{}
=C2=A0@end group
=C2= =A0@end smallexample
@@ -1414,7 +1414,7 @@
=C2=A0
=C2=A0@smallexam= ple
=C2=A0@group
-(define-derived-mode lisp-mode prog-mode "Lisp= "
+(define-derived-mode lisp-mode lisp-data-mode "Lisp"=C2=A0 =C2=A0"Major mode for editing Lisp code for Lisps other than = GNU Emacs Lisp.
=C2=A0Commands:
=C2=A0Delete converts tabs to spaces = as it moves back.
@@ -1425,7 +1425,7 @@
=C2=A0or to switch back to an= existing one."
=C2=A0@end group
=C2=A0@group
- =C2=A0(lisp-m= ode-variables nil t)
+ =C2=A0(lisp-mode-variables)
=C2=A0 =C2=A0(setq= -local find-tag-default-function 'lisp-find-tag-default)
=C2=A0 =C2= =A0(setq-local comment-start-skip
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0"\\(\\(^\\|[^\\\n]\\)\\(\\\\\\\\\\)*\\)\\(;+\\|#|\\) = *")
diff --git a/lisp/bookmark.el b/lisp/bookmark.el
index f2384= 973e9..720ad18c16 100644
--- b/lisp/bookmark.el
+++ a/lisp/bookmark.e= l
@@ -734,8 +734,10 @@
=C2=A0 =C2=A0(if (memq (coding-system-base cod= ing) '(undecided prefer-utf-8))
=C2=A0 =C2=A0 =C2=A0 =C2=A0(setq cod= ing 'utf-8-emacs))
=C2=A0 =C2=A0(insert
- =C2=A0 (format ";;= ;; Emacs Bookmark Format Version %d ;;;; -*- coding: %S -*-\n"
- = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 bookmark-file-format-version (coding-sys= tem-base coding)))
+ =C2=A0 (format
+ =C2=A0 =C2=A0";;;; Emacs B= ookmark Format Version %d\
+;;;; -*- coding: %S mode: lisp-data -*-\n&qu= ot;
+ =C2=A0 =C2=A0bookmark-file-format-version (coding-system-base codi= ng)))
=C2=A0 =C2=A0(insert ";;; This format is meant to be slightly= human-readable;\n"
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0"= ;;; nevertheless, you probably don't want to edit it.\n"
=C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0";;; "
diff --git a/lisp/ch= istory.el b/lisp/chistory.el
index 485515d07b..c9aa927b94 100644
--- = b/lisp/chistory.el
+++ a/lisp/chistory.el
@@ -139,7 +139,7 @@
=C2= =A0
=C2=A0Keybindings:
=C2=A0\\{command-history-mode-map}"
- = =C2=A0(lisp-mode-variables nil)
+ =C2=A0(lisp-mode-variables)
=C2=A0 = =C2=A0(set (make-local-variable 'revert-buffer-function) 'command-h= istory-revert)
=C2=A0 =C2=A0(set-syntax-table emacs-lisp-mode-syntax-tab= le))
=C2=A0
diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-li= sp/lisp-mode.el
index 13263f2fb5..3b0f5493ee 100644
--- b/lisp/emacs-= lisp/lisp-mode.el
+++ a/lisp/emacs-lisp/lisp-mode.el
@@ -611,15 +611,= 10 @@
=C2=A0 =C2=A0;; a single docstring.=C2=A0 Let's fix it here.=C2=A0 =C2=A0(if (looking-at "\\s-+\"[^\n\"]+\"\\s-*$= ") ""))
=C2=A0
-(defun lisp-mode-variables (&optio= nal lisp-syntax keywords-case-insensitive
- =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0elisp)
+(defun lisp-mode-variables (&= rest ignored)
=C2=A0 =C2=A0"Common initialization routine for lisp = modes.
-The LISP-SYNTAX argument is used by code in inf-lisp.el and is-\(uselessly) passed from pp.el, chistory.el, gnus-kill.el and
-score-= mode.el.=C2=A0 KEYWORDS-CASE-INSENSITIVE non-nil means that for
-font-lo= ck keywords will not be case sensitive."
- =C2=A0(when lisp-syntax<= br>- =C2=A0 =C2=A0(set-syntax-table lisp-mode-syntax-table))
+Any number= of parameters is accepted and ignored."
+ =C2=A0(set-syntax-table = lisp-mode-syntax-table)
=C2=A0 =C2=A0(setq-local paragraph-ignore-fill-p= refix t)
=C2=A0 =C2=A0(setq-local fill-paragraph-function 'lisp-fill= -paragraph)
=C2=A0 =C2=A0(setq-local adaptive-fill-function #'lisp-a= daptive-fill)
@@ -643,21 +638,23 @@
=C2=A0 =C2=A0(setq-local multibyt= e-syntax-as-symbol t)
=C2=A0 =C2=A0;; (setq-local syntax-begin-function = 'beginning-of-defun) =C2=A0;;Bug#16247.
=C2=A0 =C2=A0(setq font-lock= -defaults
- `(,(if elisp '(lisp-el-font-lock-keywords
- =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 lisp-= el-font-lock-keywords-1
- =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 lisp-el-font-lock-keywords-2)
- =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 '(lisp-cl-font-lock-keywords
- = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 lisp-cl-font-lock-keywords= -1
- =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 lisp-cl-font-lock-= keywords-2))
- =C2=A0nil ,keywords-case-insensitive nil nil
- =C2= =A0(font-lock-mark-block-function . mark-defun)
- =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0(font-lock-extra-managed-props help-echo)
- =C2=A0(font-lo= ck-syntactic-face-function
- =C2=A0 . lisp-font-lock-syntactic-face-fun= ction)))
+ (list nil nil nil nil nil
+ =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0'(font-lock-mark-block-function . mark-defun)
+ = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0'(font-lock-extra-manag= ed-props help-echo)
+ =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0&#= 39;(font-lock-syntactic-face-function
+ =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0. lisp-font-lock-syntactic-face-function)))
=C2= =A0 =C2=A0(setq-local prettify-symbols-alist lisp-prettify-symbols-alist)=C2=A0 =C2=A0(setq-local electric-pair-skip-whitespace 'chomp)
=C2= =A0 =C2=A0(setq-local electric-pair-open-newline-between-pairs nil))
=C2= =A0
+;;;###autoload
+(define-derived-mode lisp-data-mode prog-mode &q= uot;Lisp-Data"
+ =C2=A0"Major mode for buffers holding data wr= itten in Lisp syntax."
+ =C2=A0:group 'lisp
+ =C2=A0(lisp-mo= de-variables)
+ =C2=A0(setq-local electric-quote-string t)
+ =C2=A0(s= etq imenu-case-fold-search nil))
+
=C2=A0(defun lisp-outline-level ()=
=C2=A0 =C2=A0"Lisp mode `outline-level' function."
=C2= =A0 =C2=A0(let ((len (- (match-end 0) (match-beginning 0))))
@@ -737,7 += 734,7 @@
=C2=A0 =C2=A0"Keymap for ordinary Lisp mode.
=C2=A0All = commands in `lisp-mode-shared-map' are inherited by this map.")=C2=A0
-(define-derived-mode lisp-mode prog-mode "Lisp"
+(= define-derived-mode lisp-mode lisp-data-mode "Lisp"
=C2=A0 =C2= =A0"Major mode for editing Lisp code for Lisps other than GNU Emacs Li= sp.
=C2=A0Commands:
=C2=A0Delete converts tabs to spaces as it moves = back.
@@ -746,7 +743,11 @@
=C2=A0\\{lisp-mode-map}
=C2=A0Note that= `run-lisp' may be used either to start an inferior Lisp job
=C2=A0o= r to switch back to an existing one."
- =C2=A0(lisp-mode-variables = nil t)
+ =C2=A0(setf
+ =C2=A0 (nth 0 font-lock-defaults) '(lisp-c= l-font-lock-keywords
+ =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0lisp-cl-font-= lock-keywords-1
+ =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0lisp-cl-font-loc= k-keywords-2)
+ =C2=A0 (nth 2 font-lock-defaults) t)
=C2=A0 =C2=A0(se= tq-local lisp-indent-function 'common-lisp-indent-function)
=C2=A0 = =C2=A0(setq-local find-tag-default-function 'lisp-find-tag-default)
= =C2=A0 =C2=A0(setq-local comment-start-skip
diff --git a/lisp/emacs-lisp= /pp.el b/lisp/emacs-lisp/pp.el
index 4d8bf52934..3df7b0e368 100644
--= - b/lisp/emacs-lisp/pp.el
+++ a/lisp/emacs-lisp/pp.el
@@ -42,7 +42,7 = @@
=C2=A0OBJECT can be any Lisp object.=C2=A0 Quoting characters are use= d as needed
=C2=A0to make output that `read' can handle, whenever th= is is possible."
=C2=A0 =C2=A0(with-temp-buffer
- =C2=A0 =C2=A0(= lisp-mode-variables nil)
+ =C2=A0 =C2=A0(lisp-mode-variables)
=C2=A0 = =C2=A0 =C2=A0(set-syntax-table emacs-lisp-mode-syntax-table)
=C2=A0 =C2= =A0 =C2=A0(let ((print-escape-newlines pp-escape-newlines)
=C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0(print-quoted t))
diff --git a/lisp/files.el= b/lisp/files.el
index 56d4679ad7..fa72e51c49 100644
--- b/lisp/files= .el
+++ a/lisp/files.el
@@ -2657,6 +2657,13 @@
=C2=A0 =C2=A0 =C2= =A0 ("\\.ltx\\'" . latex-mode)
=C2=A0 =C2=A0 =C2=A0 ("= ;\\.dtx\\'" . doctex-mode)
=C2=A0 =C2=A0 =C2=A0 ("\\.org\\= '" . org-mode)
+ =C2=A0 =C2=A0 ;; .dir-locals.el is not really = elisp.=C2=A0 Could use the
+ =C2=A0 =C2=A0 ;; `dir-locals-file' cons= tant if it weren't defined below.
+ =C2=A0 =C2=A0 ("\\.dir-loca= ls\\(-2\\)?\\.el\\'" . lisp-data-mode)
+ =C2=A0 =C2=A0 ("e= ww-bookmarks\\'" . lisp-data-mode)
+ =C2=A0 =C2=A0 ("tramp= \\'" . lisp-data-mode)
+ =C2=A0 =C2=A0 ("places\\'&quo= t; . lisp-data-mode)
+ =C2=A0 =C2=A0 ("\\.emacs-places\\'"= . lisp-data-mode)
=C2=A0 =C2=A0 =C2=A0 ("\\.el\\'" . emac= s-lisp-mode)
=C2=A0 =C2=A0 =C2=A0 ("Project\\.ede\\'" . em= acs-lisp-mode)
=C2=A0 =C2=A0 =C2=A0 ("\\.\\(scm\\|stk\\|ss\\|sch\\)= \\'" . scheme-mode)
diff --git a/lisp/help-fns.el b/lisp/help-f= ns.el
index dbf2cb807b..0a99b8d6a3 100644
--- b/lisp/help-fns.el
+= ++ a/lisp/help-fns.el
@@ -1000,7 +1000,7 @@
=C2=A0 =C2=A0 =C2=A0(te= rpri)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0(let ((buf (current-buffer)))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(with-temp-buffer
- = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0(lisp-mode-variables nil)
+ =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(lisp-mode-variables)
= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0(set-syntax-table emacs-lisp-mode-syntax-table)
=C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0(insert print-rep)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(pp-buffer)
diff --git a= /lisp/net/eww.el b/lisp/net/eww.el
index a4544023f6..c83884fd25 100644--- b/lisp/net/eww.el
+++ a/lisp/net/eww.el
@@ -1733,7 +1733,7 @@=C2=A0
=C2=A0(defun eww-write-bookmarks ()
=C2=A0 =C2=A0(with-temp-= file (expand-file-name "eww-bookmarks" eww-bookmarks-directory)- =C2=A0 =C2=A0(insert ";; Auto-generated file; don't edit\n&quo= t;)
+ =C2=A0 =C2=A0(insert ";; Auto-generated file; don't edit = -*- mode: lisp-data -*-\n")
=C2=A0 =C2=A0 =C2=A0(pp eww-bookmarks (= current-buffer))))
=C2=A0
=C2=A0(defun eww-read-bookmarks ()
diff = --git a/lisp/net/nsm.el b/lisp/net/nsm.el
index cc22427e6d..2d36c5e257 1= 00644
--- b/lisp/net/nsm.el
+++ a/lisp/net/nsm.el
@@ -964,6 +964,7= @@
=C2=A0
=C2=A0(defun nsm-write-settings ()
=C2=A0 =C2=A0(with-t= emp-file nsm-settings-file
+ =C2=A0 =C2=A0(insert ";;;; -*- mode: l= isp-data -*-\n")
=C2=A0 =C2=A0 =C2=A0(insert "(\n")
= =C2=A0 =C2=A0 =C2=A0(dolist (setting nsm-permanent-host-settings)
=C2=A0= =C2=A0 =C2=A0 =C2=A0(insert " ")
diff --git a/lisp/net/tramp-= cache.el b/lisp/net/tramp-cache.el
index 6d87ce297b..09e30f000f 100644--- b/lisp/net/tramp-cache.el
+++ a/lisp/net/tramp-cache.el
@@ -472= ,7 +472,7 @@
=C2=A0 ;; Dump it.
=C2=A0 (with-temp-file tramp-persiste= ncy-file-name
=C2=A0 =C2=A0(insert
- =C2=A0 ";; -*- emacs-lisp= -*-"
+ =C2=A0 ";; -*- lisp-data -*-"
=C2=A0 =C2=A0 = ;; `time-stamp-string' might not exist in all Emacs flavors.
=C2=A0 = =C2=A0 (condition-case nil
=C2=A0 =C2=A0 =C2=A0 =C2=A0 (progn
diff = --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el
inde= x 2f231781ba..f85fd771ca 100644
--- b/lisp/progmodes/elisp-mode.el
++= + a/lisp/progmodes/elisp-mode.el
@@ -250,7 +250,7 @@
=C2=A0 =C2=A0 = =C2=A0map))
=C2=A0
=C2=A0;;;###autoload
-(define-derived-mode emac= s-lisp-mode prog-mode
+(define-derived-mode emacs-lisp-mode lisp-data-mo= de
=C2=A0 =C2=A0`("ELisp"
=C2=A0 =C2=A0 =C2=A0(lexical-bind= ing (:propertize "/l"
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0help-echo "Using lexical-= binding mode")
@@ -268,35 +268,26 @@
=C2=A0\\{emacs-lisp-mode-ma= p}"
=C2=A0 =C2=A0:group 'lisp
=C2=A0 =C2=A0(defvar project-v= c-external-roots-function)
- =C2=A0(lisp-mode-variables nil nil 'eli= sp)
+ =C2=A0(setcar font-lock-defaults
+ =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0'(lisp-el-font-lock-keywords
+ =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0lisp-el-font-lock-keywords-1
+ =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0lisp-el-font-lock-keywords-2))
+ =C2=A0(set-syntax-table emacs= -lisp-mode-syntax-table)
=C2=A0 =C2=A0(add-hook 'after-load-function= s #'elisp--font-lock-flush-elisp-buffers)
=C2=A0 =C2=A0(if (boundp &= #39;electric-pair-text-pairs)
=C2=A0 =C2=A0 =C2=A0 =C2=A0(setq-local ele= ctric-pair-text-pairs
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0(append '((?\` . ?\') (?\=E2=80=98 . ?\=E2=80= =99))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0electric-pair-text-pairs))
=C2=A0 =C2=A0 = =C2=A0(add-hook 'electric-pair-mode-hook #'emacs-lisp-set-electric-= text-pairs))
- =C2=A0(setq-local electric-quote-string t)
- =C2=A0(se= tq imenu-case-fold-search nil)
=C2=A0 =C2=A0(add-hook 'eldoc-documen= tation-functions
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0#'e= lisp-eldoc-documentation-function nil t)
=C2=A0 =C2=A0(add-hook 'xre= f-backend-functions #'elisp--xref-backend nil t)
=C2=A0 =C2=A0(setq-= local project-vc-external-roots-function #'elisp-load-path-roots)
= =C2=A0 =C2=A0(add-hook 'completion-at-point-functions
=C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0#'elisp-completion-at-point nil '= local)
- =C2=A0;; .dir-locals.el and lock files will cause the byte-comp= iler and
- =C2=A0;; checkdoc emit spurious warnings, because they don= 9;t follow the
- =C2=A0;; conventions of Emacs Lisp sources.=C2=A0 Until= we have a better fix,
- =C2=A0;; like teaching elisp-mode about files t= hat only hold data
- =C2=A0;; structures, we disable the ELisp Flymake b= ackend for these files.
- =C2=A0(unless
- =C2=A0 =C2=A0 =C2=A0(let* (= (bfname (buffer-file-name))
- =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = (fname (and (stringp bfname) (file-name-nondirectory bfname))))
- =C2=A0= =C2=A0 =C2=A0 =C2=A0(and (stringp fname)
- =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 (or (string-match "\\`\\.#" fname)
- =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (string-equal dir-locals-file= fname))))
- =C2=A0 =C2=A0(add-hook 'flymake-diagnostic-functions #&= #39;elisp-flymake-checkdoc nil t)
- =C2=A0 =C2=A0(add-hook 'flymake-= diagnostic-functions
- =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0#= 'elisp-flymake-byte-compile nil t)))
+ =C2=A0(add-hook 'flymake-= diagnostic-functions #'elisp-flymake-checkdoc nil t)
+ =C2=A0(add-ho= ok 'flymake-diagnostic-functions
+ =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0#'elisp-flymake-byte-compile nil t))
=C2=A0
=C2= =A0;; Font-locking support.
=C2=A0
diff --git a/lisp/progmodes/inf-li= sp.el b/lisp/progmodes/inf-lisp.el
index fca803be18..9f34a377f4 100644--- b/lisp/progmodes/inf-lisp.el
+++ a/lisp/progmodes/inf-lisp.el
@= @ -274,7 +274,7 @@
=C2=A0to continue it."
=C2=A0 =C2=A0(setq com= int-prompt-regexp inferior-lisp-prompt)
=C2=A0 =C2=A0(setq mode-line-pro= cess '(":%s"))
- =C2=A0(lisp-mode-variables t)
+ =C2=A0= (lisp-mode-variables)
=C2=A0 =C2=A0(setq comint-get-old-input (function = lisp-get-old-input))
=C2=A0 =C2=A0(setq comint-input-filter (function li= sp-input-filter)))
=C2=A0
diff --git a/lisp/saveplace.el b/lisp/savep= lace.el
index f78639db24..fa0e181bb1 100644
--- b/lisp/saveplace.el+++ a/lisp/saveplace.el
@@ -248,7 +248,7 @@
=C2=A0 =C2=A0 =C2=A0 = =C2=A0(delete-region (point-min) (point-max))
=C2=A0 =C2=A0 =C2=A0 =C2= =A0(when save-place-forget-unreadable-files
=C2=A0 (save-place-forget-un= readable-files))
- =C2=A0 =C2=A0 =C2=A0(insert (format ";;; -*- cod= ing: %s -*-\n"
+ =C2=A0 =C2=A0 =C2=A0(insert (format ";;; -*- = coding: %s mode: lisp-data -*-\n"
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(symbol-name coding-sys= tem-for-write)))
=C2=A0 =C2=A0 =C2=A0 =C2=A0(let ((print-length nil)
= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(print-level nil))




On Sat, Apr 18, 2020 at 4:10 PM J= o=C3=A3o T=C3=A1vora <joaotavora= @gmail.com> wrote:
On Sat, Apr 18, 2020 at 1:35 PM Eli Zaretskii &= lt;eliz@gnu.org> w= rote:

> > > > > why not add it to aut= o-mod-alist?
> > > > Anyway, I can surely switch to auto-= mode-alist if you
> > > > insist, no problem. Do you insist = in this?
> > > Do I have to insist?
> > Any problem wi= th doing so? I'll interpret that as a "Yes".
> It's= actually the other way around: if I don't feel my opinion is
&= gt; strong enough, I usually say so.

This is what = actually-actually what happened: you asked "why
not add it = to auto-mod-alist? " I answered and asked if you
insiste= d, because a question doesn't really sound imperative
to= me. If it was an instrument of rhetoric, it wasn't very effective.
=

> > Anyway, I went and looked at the three files= you mention, and
> > I discovered they're not "fixed&quo= t; as I thought. They're defcustom
> > and defined way after a= uto-mode-alist, so we'd have to add-to-list,
>
> No need fo= r such complexity.=C2=A0 I meant to mention the standard names in
> a= uto-mode-alist, under the assumption that many/most users don't
> change the default names.

OK.

=
Jo=C3=A3o


--
Jo=C3=A3o T=C3=A1vora
--000000000000bcec3105a399232e--