emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: "make autoloads" signals an error


From: Eli Zaretskii
Subject: Re: "make autoloads" signals an error
Date: Wed, 01 Jun 2022 15:44:15 +0300

> From: Lars Ingebrigtsen <larsi@gnus.org>
> Cc: emacs-devel@gnu.org
> Date: Wed, 01 Jun 2022 14:26:31 +0200
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >   Error: wrong-type-argument (integer-or-marker-p nil)
> >     mapbacktrace(#f(compiled-function (evald func args flags) #<bytecode 
> > -0x2d78d25b45e2f81>))
> >     debug-early-backtrace()
> >     debug-early(error (wrong-type-argument integer-or-marker-p nil))
> >     loaddefs-generate(("." "./c
> 
> I'm unable to reproduce this -- "make autoloads" just says
> 
>   GEN      loaddefs.el
>   INFO     Scraping files for loaddefs... 
>   INFO     Scraping files for loaddefs...done

I'm guessing that's because it doesn't regenerate anything.  It fails
for me because it regenerates (a lot of) loaddefs.el, perhaps because
loaddefs-gen.el has changed recent-ish?

> Does "make autoloads-force" also fail for you?

Yes.

> In that case, perhaps there's a bug in the code that's computing the
> updates, and in that case, it depends on which files are newer than
> loaddefs.el.  Hm...
> 
> Could you try removing the "c" from "elc" here:
> 
> $(lisp)/loaddefs.el: gen-lisp $(LOADDEFS)
>       $(AM_V_GEN)$(emacs) \
>             -l $(lisp)/emacs-lisp/loaddefs-gen.elc \
>           -f loaddefs-generate-batch $(lisp)/loaddefs.el ${SUBDIRS_ALMOST}
> 
> That should give us a more detailed backtrace.

Not necessary: I know where it errors out.  It's here:

                  ;; Delete the old version of the section.
                  (delete-region (match-beginning 0)
                                 (and (search-forward "\n\f\n;;;" nil t)
                                      (match-beginning 0)))

And that's because search-forward returns nil:

  Thread 1 hit Breakpoint 2, wrong_type_argument (predicate=XIL(0x8d90), 
value=XIL(0)) at data.c:142
  142       eassert (!TAGGEDP (value, Lisp_Type_Unused0));
  (gdb) bt
  #0  wrong_type_argument (predicate=XIL(0x8d90), value=XIL(0)) at data.c:142
  #1  0x011acd80 in fix_position (pos=XIL(0)) at buffer.c:143
  #2  0x011b4275 in validate_region (b=0x82f058, e=0x82f050) at buffer.c:2326
  #3  0x0125ba63 in Fdelete_region (start=make_fixnum(23071), end=XIL(0)) <<<<<<
      at editfns.c:2643



reply via email to

[Prev in Thread] Current Thread [Next in Thread]