GNU bug report logs - #20149
Cannot byte-compile 'undo-tree' since commit 801eda8a2

Previous Next

Package: emacs;

Reported by: Vladimir Lomov <lomov.vl <at> gmail.com>

Date: Fri, 20 Mar 2015 05:16:02 UTC

Severity: normal

Done: Stefan Monnier <monnier <at> IRO.UMontreal.CA>

Bug is archived. No further changes may be made.

Full log


Message #17 received at 20149 <at> debbugs.gnu.org (full text, mbox):

From: Tassilo Horn <tsdh <at> gnu.org>
To: Vladimir Lomov <lomov.vl <at> gmail.com>
Cc: 20149 <at> debbugs.gnu.org, Stefan Monnier <monnier <at> iro.umontreal.ca>
Subject: Re: bug#20149: Cannot byte-compile 'undo-tree' since commit 801eda8a2
Date: Fri, 20 Mar 2015 12:06:53 +0100
Tassilo Horn <tsdh <at> gnu.org> writes:

> Vladimir Lomov <lomov.vl <at> gmail.com> writes:
>
>>   In undo-tree-update-menu-bar:
>>   undo-tree.el:1232:7:Warning: reference to free variable `undo-tree-mode'
>>   undo-tree.el:1481:1:Error: Symbol's function definition is void: undo-tree-make-node
>>
>> I tracked down to the commit when Emacs was able to compile the
>> 'undo-tree' package, this is commit f925fc93 but starting from next
>> commit, 801eda8a2, the package isn't byte-compiled. Actually, I wasn't
>> able to compile Emacs taking source from commit 801eda8a2 and next three
>> ones. 
>>
>>> Could you please verify that compiling undo-tree works again with the
>>> current emacs git version?  If so, feel free to close this bug by
>>> replying to 20149-done <at> debbugs.gnu.org.
>>
>> I did fresh Emacs build (commit 395a76a) and I see the same message when
>> byte-compile 'undo-tree' package.
>
> Ok, I see, and I confirm the compile error.  `undo-tree-make-node' is an
> undo-tree-node constructor.  So it seems to be another problem with
> Stefan's latest cl-defstruct changes.  I've added him to Cc.

Ups, of course I didn't. ;-)  So now he is.

> undo-tree is here: http://www.dr-qubit.org/git/undo-tree.git
>
> The definition of the constructor is this:
>
> (defstruct
>   (undo-tree-node
>    (:type vector)   ; create unnamed struct
>    (:constructor nil)
>    (:constructor undo-tree-make-node
>                  (previous undo
> 		  &optional redo
>                   &aux
>                   (timestamp (current-time))
>                   (branch 0)))
>    (:constructor undo-tree-make-node-backwards
>                  (next-node undo
> 		  &optional redo
>                   &aux
>                   (next (list next-node))
>                   (timestamp (current-time))
>                   (branch 0)))
>    (:copier nil))
>   previous next undo redo timestamp branch meta-data)
>
>
> The error location (which looks strange to me) is this:
>
> (defun undo-tree-register-data-p (data)  ;; <== HERE
>   (and (vectorp data)
>        (= (length data) 2)
>        (undo-tree-node-p (undo-tree-register-data-node data))))
>
> Bye,
> Tassilo




This bug report was last modified 10 years and 69 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.