Subject: Re: bug#54491: 27.2; left-margin variable breaks autoload generation

From: Eli Zaretskii <[email-masked]>
Date: Mon, 21 Mar 2022 14:43:18 +0200

> From: Will Tower <[email-masked]>
> Date: Mon, 21 Mar 2022 04:05:52 -0400
> 
> Steps to reproduce (arch linux, GNU Emacs 27.2 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.33, cairo version 1.17.4) of 2022-03-11)
> 1. Delete all installed versions of magit (our test package)
> 	a. for me this looks like calling M-x package-delete return magit until I can't delete anything else
> 2. from command line, emacs -Q
> 3. yank reproduction config file into a scratch buffer of clean emacs instance:
> 
> (custom-set-variables
>  '(left-margin 8)
> )
> (setq byte-compile-warnings '(cl-functions))
> 
> ;;Initialize package sources
> (require 'package)
> (setq package-archives
> 	'(
> 		("melpa" . "https://melpa.org/packages/")
> 		("org" . "https://orgmode.org/elpa/")
> 		("elpa" . "https://elpa.gnu.org/packages/")
> 	)
> )
> 
> 4. M-x eval-buffer return
> 5. M-x package-install return magit
> 6. Notice a bunch of a compiler warnings and errors, I usually receive something about autoloads 105
> 7. Examine magit-autoloads.el file
> 8. Notice that some of the generated autoloads have mismatched delimiters, (" appearing on the second line of an autoload, in a region that is supposed to be a comment is fairly common, like

I have hard time imagining how display margins, which are purely a
display feature, could ever affect the results of byte compilation or
any other processing of Lisp programs.

Could you perhaps show a simpler reproduction recipe, one that
wouldn't require installing 3rd-part packages from the various ELPAs?
We use autoloading in many Lisp files in the core, so if the problem
is real and general enough, any Lisp file that uses autoloading should
do, right?

Thanks.