Subject: bug#32395: 26.1; generated autoloads includes string properties if buffer is open

From: Allen Li <[email-masked]>
Date: Sat, 11 Aug 2018 02:49:30 -0700

On Sat, Aug 11, 2018 at 2:18 AM Eli Zaretskii <[email-masked]> wrote:
>
> > From: Allen Li <[email-masked]>
> > Date: Wed, 8 Aug 2018 00:09:22 -0700
> >
> > The autoload generation code inserts a form with a string that may or
> > may not have text properties, depending on if the buffer is already
> > open.
> >
> > (if (fboundp 'register-definition-prefixes)
> >              (register-definition-prefixes "foo"
> >                                            '(#("foo-" 0 4 (fontified nil)))))
> >
> > (if (fboundp 'register-definition-prefixes)
> >              (register-definition-prefixes "foo" '("foo-")))
> >
> > This makes autoload generation depend on the odd condition of whether
> > the file under consideration is already open and fontified.
>
> Can you tell more about the use case where you see this?  Does this
> happen when the autoload files in the Emacs tree are generated?

I use update-directory-autoloads to generate autoloads for personal
Emacs Lisp files.  The text changes depending on whether I have a
buffer open for any of said files, which is annoying as I have the
autoload file under source version control.  If I edit one file and
update autoloads, it will create a number of unrelated changes in
version control, depending on whether I have any other files open in
buffers or not.

I don't see why there is a need to preserve the text properties of the
package prefix in the autoload file, only when the file for which
autoloads are being generated is open in a buffer.  That seems like
very silly behavior to me and I would fix it on principle even if it
were not affecting my work flow.