Subject: Re: bug#13670: 24.3.50; `autoload-generate-file-autoloads' off-by-one bug

From: Michael Heerdegen <[email-masked]>
Date: Sun, 01 May 2016 17:34:09 +0200

Drew Adams <[email-masked]> writes:

> > If we make this change, then autoloads that want to have a single space
> > at the start of the string (and use this syntax to do that) would then
> > not have that space?
>
> No.  See the bug report.  Only the first SPC should be used
> as a separator.  If you want an initial SPC char included
> then you use SPC SPC.
>
> > Have you examined the sources to see whether that's potentially a
> > problem?
>
> No.  Do you see a problem with it?  Do you disagree that this
> is a bug, regardless of whether you doubt the proposed solution?

The emacs-25 version of `autoload-generate-file-autoloads' does not
contain a call to `char-after', so I think it has been rewritten in the
meantime.

Moreover, if I let Emacs generate file autoloads for a file with this
content:

#+begin_src emacs-lisp
;;;###autoload (autoload 'icicle-mode "icicles"
;;;###autoload"Icicle mode: Toggle minibuffer input completion and cycling.
;;;###autoloadNon-nil prefix ARG turns mode on if ARG > 0, else off.
;;;###autoloadIt is a global minor mode.  It binds minibuffer keys."
;;;###autoloadt nil)
#+end_src

(update-file-autoloads
  "/home/micha/today/test.el"
   nil
  "/home/micha/today/test-auto.el")

the result looks like this:

#+begin_src emacs-lisp
 (autoload 'icicle-mode "icicles"
"Icicle mode: Toggle minibuffer input completion and cycling.
Non-nil prefix ARG turns mode on if ARG > 0, else off.
It is a global minor mode.  It binds minibuffer keys."
 nil)
#+end_src

So this generates a sane docstring.

Is this acceptable?

Michael.