Subject: bug#24901: Caught mistake in elec-pair.el patch

From: [email-masked]
Date: Thu, 17 Aug 2017 21:51:30 -0400

[email-masked] (João Távora) writes:

>> As far as I know, the only way to be sure of testing all dependencies
>> is deleting all elc files, i.e., a full bootstrap minus the C
>> compilation (using ccache can help automate the "minus the C
>> compilation" part).
>
> So is 'find . -iname "*.elc" | xargs rm -f' enough?

Actually, now that I think of it, 'rm lisp/loaddefs.el' might be needed
too.

> What's ccache?

https://ccache.samba.org/

    ccache is a compiler cache. It speeds up recompilation by caching
    previous compilations and detecting when the same compilation is being
    done again. Supported languages are C, C++, Objective-C and
    Objective-C++.

So you can ./configure CC='ccache gcc' and then if you do 'make
bootstrap' the C compilation goes by very quickly after the first time.
The lisp compilation still takes a long time, but caching the C part at
least makes it less painful to use an -O2 optimized build which compiles
lisp a bit faster.

>> The elisp-mode.el problem is what causes the align.elc failure: the
>> byte compiler uses elisp-mode.
>
> Does this mean you sign off on both patches?

Yes, I think they're good (I have just a couple of format trivia
nitpicks, below).  I'm under the impression that I'm more tolerant of
explicit `require' than the average Emacser though.

> * lisp/elec-pair.el (electric-pair-pairs): Use backquote and comma.
> (electric-pair-text-pairs): Use backquote and comma.

This could be

    * lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs): Use
    backquote and comma.

>  (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)))
> +  `((?\" . ?\" )

Can we get rid of that space before the closing paren while we're here?