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.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 20149 in the body.
You can then email your comments to 20149 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#20149; Package emacs. (Fri, 20 Mar 2015 05:16:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Vladimir Lomov <lomov.vl <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Fri, 20 Mar 2015 05:16:02 GMT) Full text and rfc822 format available.

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

From: Vladimir Lomov <lomov.vl <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: Cannot byte-compile 'undo-tree' since commit 801eda8a2
Date: Fri, 20 Mar 2015 13:15:29 +0800
Hello,

I was able to byte-compile 'undo-tree' package using Emacs from
commit f925fc93 but since that commit Emacs stops compilation with
message:

  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 don't think this is a problem of the package, because the next four
commits: 801eda8a2, a961dcedeb, b0743354e, 508049aa have some
trouble(s), so I wasn't able to compile Emacs. Below is terminal output
before the stop:

  Loading /home/vladimir/works/projects/pkgbuild/emacs/src/emacs/lisp/select.el (source)...
  Loading /home/vladimir/works/projects/pkgbuild/emacs/src/emacs/lisp/emacs-lisp/timer.el (source)...
  Eager macro-expansion failure: (void-function cl-every)
  Eager macro-expansion failure: (void-function cl-every)
  Symbol's function definition is void: cl-every

---
WBR, Vladimir Lomov

-- 
new, adj.:
	Different color from previous model.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#20149; Package emacs. (Fri, 20 Mar 2015 07:47:02 GMT) Full text and rfc822 format available.

Message #8 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
Subject: Re: bug#20149: Cannot byte-compile 'undo-tree' since commit 801eda8a2
Date: Fri, 20 Mar 2015 08:46:34 +0100
Vladimir Lomov <lomov.vl <at> gmail.com> writes:

> I was able to byte-compile 'undo-tree' package using Emacs from
> commit f925fc93 but since that commit Emacs stops compilation with
> message:
>
>   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 don't think this is a problem of the package, because the next four
> commits: 801eda8a2, a961dcedeb, b0743354e, 508049aa have some
> trouble(s), so I wasn't able to compile Emacs. Below is terminal output
> before the stop:
>
>   Loading /home/vladimir/works/projects/pkgbuild/emacs/src/emacs/lisp/select.el (source)...
>   Loading
> /home/vladimir/works/projects/pkgbuild/emacs/src/emacs/lisp/emacs-lisp/timer.el
> (source)...
>   Eager macro-expansion failure: (void-function cl-every)
>   Eager macro-expansion failure: (void-function cl-every)
>   Symbol's function definition is void: cl-every

This has already been reported as bug#20125, and it's already fixed.

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.

Bye,
Tassilo




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#20149; Package emacs. (Fri, 20 Mar 2015 08:17:01 GMT) Full text and rfc822 format available.

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

From: Vladimir Lomov <lomov.vl <at> gmail.com>
To: 20149 <at> debbugs.gnu.org
Cc: Tassilo Horn <tsdh <at> gnu.org>
Subject: Re: bug#20149: Cannot byte-compile 'undo-tree' since commit 801eda8a2
Date: Fri, 20 Mar 2015 16:16:45 +0800
Hello,
** Tassilo Horn [2015-03-20 08:46:34 +0100]:

> Vladimir Lomov <lomov.vl <at> gmail.com> writes:
> 
>> I was able to byte-compile 'undo-tree' package using Emacs from
>> commit f925fc93 but since that commit Emacs stops compilation with
>> message:
>>
>>   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 don't think this is a problem of the package, because the next four
>> commits: 801eda8a2, a961dcedeb, b0743354e, 508049aa have some
>> trouble(s), so I wasn't able to compile Emacs. Below is terminal output
>> before the stop:
>>
>>   Loading /home/vladimir/works/projects/pkgbuild/emacs/src/emacs/lisp/select.el (source)...
>>   Loading
>> /home/vladimir/works/projects/pkgbuild/emacs/src/emacs/lisp/emacs-lisp/timer.el
>> (source)...
>>   Eager macro-expansion failure: (void-function cl-every)
>>   Eager macro-expansion failure: (void-function cl-every)
>>   Symbol's function definition is void: cl-every
> 
> This has already been reported as bug#20125, and it's already fixed.

I'm sorry, but you got me wrong. I wasn't concerned by this error
(bug#20125) and these messages:

  Eager macro-expansion failure: (void-function cl-every)
  Eager macro-expansion failure: (void-function cl-every)
  Symbol's function definition is void: cl-every

but with package 'undo-tree' and this message from Emacs:

  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.
 
> Bye,
> Tassilo

---
WBR, Vladimir Lomov

-- 
"The rotter who simpers that he sees no difference between a five-dollar bill 
and a whip deserves to learn the difference on his own back -- as, I think, he 
will."
-- Francisco d'Anconia, in Ayn Rand's _Atlas Shrugged_




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#20149; Package emacs. (Fri, 20 Mar 2015 08:57:02 GMT) Full text and rfc822 format available.

Message #14 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
Subject: Re: bug#20149: Cannot byte-compile 'undo-tree' since commit 801eda8a2
Date: Fri, 20 Mar 2015 09:56:38 +0100
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.

undo-tree is here: http://www.dr-qubit.org/git/undo-tree.git

The definition of the constructor is this:

--8<---------------cut here---------------start------------->8---
(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)
--8<---------------cut here---------------end--------------->8---

The error location (which looks strange to me) is this:

--8<---------------cut here---------------start------------->8---
(defun undo-tree-register-data-p (data)  ;; <== HERE
  (and (vectorp data)
       (= (length data) 2)
       (undo-tree-node-p (undo-tree-register-data-node data))))
--8<---------------cut here---------------end--------------->8---

Bye,
Tassilo




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#20149; Package emacs. (Fri, 20 Mar 2015 11:07:02 GMT) Full text and rfc822 format available.

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




Reply sent to Stefan Monnier <monnier <at> IRO.UMontreal.CA>:
You have taken responsibility. (Fri, 20 Mar 2015 20:31:02 GMT) Full text and rfc822 format available.

Notification sent to Vladimir Lomov <lomov.vl <at> gmail.com>:
bug acknowledged by developer. (Fri, 20 Mar 2015 20:31:02 GMT) Full text and rfc822 format available.

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

From: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
To: Tassilo Horn <tsdh <at> gnu.org>
Cc: Vladimir Lomov <lomov.vl <at> gmail.com>, 20149-done <at> debbugs.gnu.org
Subject: Re: bug#20149: Cannot byte-compile 'undo-tree' since commit 801eda8a2
Date: Fri, 20 Mar 2015 16:30:14 -0400
I installed a patch which should fix it,


        Stefan




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#20149; Package emacs. (Fri, 20 Mar 2015 21:40:02 GMT) Full text and rfc822 format available.

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

From: Tassilo Horn <tsdh <at> gnu.org>
To: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
Cc: Vladimir Lomov <lomov.vl <at> gmail.com>, 20149-done <at> debbugs.gnu.org
Subject: Re: bug#20149: Cannot byte-compile 'undo-tree' since commit 801eda8a2
Date: Fri, 20 Mar 2015 22:39:35 +0100
Stefan Monnier <monnier <at> IRO.UMontreal.CA> writes:

> I installed a patch which should fix it,

Yes, compiles again.

Bye,
Tassilo




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 18 Apr 2015 11:24:04 GMT) Full text and rfc822 format available.

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.