bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#20149: Cannot byte-compile 'undo-tree' since commit 801eda8a2


From: Tassilo Horn
Subject: bug#20149: Cannot byte-compile 'undo-tree' since commit 801eda8a2
Date: Fri, 20 Mar 2015 12:06:53 +0100
User-agent: Gnus/5.130012 (Ma Gnus v0.12) Emacs/25.0.50 (gnu/linux)

Tassilo Horn <tsdh@gnu.org> writes:

> Vladimir Lomov <lomov.vl@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@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





reply via email to

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