[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#24901: Caught mistake in elec-pair.el patch
From: |
João Távora |
Subject: |
bug#24901: Caught mistake in elec-pair.el patch |
Date: |
Thu, 17 Aug 2017 16:36:19 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux) |
Eli Zaretskii <eliz@gnu.org> writes:
>> From: João Távora <joaotavora@gmail.com>
>> Date: Thu, 17 Aug 2017 14:32:08 +0100
>> Cc: Reuben Thomas <rrt@sc3d.org>, 24901@debbugs.gnu.org, Eli Zaretskii
>> <eliz@gnu.org>
>>
>> On Thu, Aug 17, 2017 at 1:35 PM, <npostavs@users.sourceforge.net> wrote:
>>
>> > Or remove the autoload from electric-pair-text-pairs?
>>
>> Seems to be there for a reason, unfortunately. It's forward
>> referenced in electric.el if I'm not mistaken.
>
> I don't understand this: electric.el is preloaded, so why would it
> need the autoload?
I don't know, I admit I'm very confused by the autoload logic, so you
lost me at preloaded. Also have been away from Elisp for almost a year.
If I remove the autoload I get compilation errors in electric.elc or
align.elc (from make bootstrap). I might be doing something wrong. How
can I test the autoload dependecies without a full make bootstrap?
And then there's the problem Noam mentioned in elisp-mode.el.
But Noam's patch apparently fixes that, so here's his patch and mine for
a quick review from either of you if you don't mind. Tested with 'make
bootstrap'.
Thanks,
João
>From 3e5a166cb7e5b575252c5c69c2678d2074d58c12 Mon Sep 17 00:00:00 2001
From: Noam Postavsky <npostavs@gmail.com>
Date: Thu, 17 Aug 2017 07:06:47 -0400
Subject: [PATCH 1/2] * lisp/elec-pair.el (electric-pair-text-pairs): Don't
autoload (Bug#24901).
* lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Require `elec-pair'
explicitly in the interactive case.
---
lisp/elec-pair.el | 1 -
lisp/progmodes/elisp-mode.el | 9 ++++++---
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/lisp/elec-pair.el b/lisp/elec-pair.el
index 87e82e24fb..f990851185 100644
--- a/lisp/elec-pair.el
+++ b/lisp/elec-pair.el
@@ -42,7 +42,6 @@ electric-pair-pairs
:group 'electricity
:type '(repeat (cons character character)))
-;;;###autoload
(defcustom electric-pair-text-pairs
'((?\" . ?\" )
((nth 0 electric-quote-chars) . (nth 1 electric-quote-chars))
diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el
index 47739f5957..0bf8857960 100644
--- a/lisp/progmodes/elisp-mode.el
+++ b/lisp/progmodes/elisp-mode.el
@@ -231,9 +231,12 @@ emacs-lisp-mode
(defvar project-vc-external-roots-function)
(lisp-mode-variables nil nil 'elisp)
(add-hook 'after-load-functions #'elisp--font-lock-flush-elisp-buffers)
- (setq-local electric-pair-text-pairs
- (append '((?\` . ?\') (?‘ . ?’)) electric-pair-text-pairs))
- (setq-local electric-quote-string t)
+ (unless noninteractive
+ (require 'elec-pair)
+ (defvar electric-pair-text-pairs)
+ (setq-local electric-pair-text-pairs
+ (append '((?\` . ?\') (?‘ . ?’)) electric-pair-text-pairs))
+ (setq-local electric-quote-string t))
(setq imenu-case-fold-search nil)
(add-function :before-until (local 'eldoc-documentation-function)
#'elisp-eldoc-documentation-function)
--
2.11.0
>From a96f9ed05edfe619f7bc4edf5485c937e3df4d1b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=C3=A3o=20T=C3=A1vora?= <joaotavora@gmail.com>
Date: Thu, 17 Aug 2017 10:44:38 +0100
Subject: [PATCH 2/2] Fix default value of electric-pair-pairs and
electric-pair-text-pairs
Fixes: debbugs:24901
A previous change, titled "Add support for curly quotation marks to
electric-pair-mode", attempted to add these characters to the default
value of these variables. But it did so in a quoted list, preventing
evaluation of the relevant expressions and resulting in an invalid
format.
* lisp/elec-pair.el (electric-pair-pairs): Use backquote and comma.
(electric-pair-text-pairs): Use backquote and comma.
---
lisp/elec-pair.el | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/lisp/elec-pair.el b/lisp/elec-pair.el
index f990851185..236f5f1283 100644
--- a/lisp/elec-pair.el
+++ b/lisp/elec-pair.el
@@ -28,9 +28,9 @@
;;; Electric pairing.
(defcustom electric-pair-pairs
- '((?\" . ?\")
- ((nth 0 electric-quote-chars) . (nth 1 electric-quote-chars))
- ((nth 2 electric-quote-chars) . (nth 3 electric-quote-chars)))
+ `((?\" . ?\")
+ (,(nth 0 electric-quote-chars) . ,(nth 1 electric-quote-chars))
+ (,(nth 2 electric-quote-chars) . ,(nth 3 electric-quote-chars)))
"Alist of pairs that should be used regardless of major mode.
Pairs of delimiters in this list are a fallback in case they have
@@ -43,9 +43,9 @@ electric-pair-pairs
:type '(repeat (cons character character)))
(defcustom electric-pair-text-pairs
- '((?\" . ?\" )
- ((nth 0 electric-quote-chars) . (nth 1 electric-quote-chars))
- ((nth 2 electric-quote-chars) . (nth 3 electric-quote-chars)))
+ `((?\" . ?\" )
+ (,(nth 0 electric-quote-chars) . ,(nth 1 electric-quote-chars))
+ (,(nth 2 electric-quote-chars) . ,(nth 3 electric-quote-chars)))
"Alist of pairs that should always be used in comments and strings.
Pairs of delimiters in this list are a fallback in case they have
--
2.11.0
- bug#24901: Caught mistake in elec-pair.el patch, João Távora, 2017/08/17
- bug#24901: Caught mistake in elec-pair.el patch, npostavs, 2017/08/17
- bug#24901: Caught mistake in elec-pair.el patch, João Távora, 2017/08/17
- bug#24901: Caught mistake in elec-pair.el patch, npostavs, 2017/08/17
- bug#24901: Caught mistake in elec-pair.el patch, Reuben Thomas, 2017/08/18
- bug#24901: Caught mistake in elec-pair.el patch, João Távora, 2017/08/18
- bug#24901: Caught mistake in elec-pair.el patch, Noam Postavsky, 2017/08/18