unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#20149: Cannot byte-compile 'undo-tree' since commit 801eda8a2
@ 2015-03-20  5:15 Vladimir Lomov
  2015-03-20  7:46 ` Tassilo Horn
  0 siblings, 1 reply; 7+ messages in thread
From: Vladimir Lomov @ 2015-03-20  5:15 UTC (permalink / raw)
  To: 20149

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.





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#20149: Cannot byte-compile 'undo-tree' since commit 801eda8a2
  2015-03-20  5:15 bug#20149: Cannot byte-compile 'undo-tree' since commit 801eda8a2 Vladimir Lomov
@ 2015-03-20  7:46 ` Tassilo Horn
  2015-03-20  8:16   ` Vladimir Lomov
  0 siblings, 1 reply; 7+ messages in thread
From: Tassilo Horn @ 2015-03-20  7:46 UTC (permalink / raw)
  To: Vladimir Lomov; +Cc: 20149

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

Bye,
Tassilo





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#20149: Cannot byte-compile 'undo-tree' since commit 801eda8a2
  2015-03-20  7:46 ` Tassilo Horn
@ 2015-03-20  8:16   ` Vladimir Lomov
  2015-03-20  8:56     ` Tassilo Horn
  0 siblings, 1 reply; 7+ messages in thread
From: Vladimir Lomov @ 2015-03-20  8:16 UTC (permalink / raw)
  To: 20149; +Cc: Tassilo Horn

Hello,
** Tassilo Horn [2015-03-20 08:46:34 +0100]:

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





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#20149: Cannot byte-compile 'undo-tree' since commit 801eda8a2
  2015-03-20  8:16   ` Vladimir Lomov
@ 2015-03-20  8:56     ` Tassilo Horn
  2015-03-20 11:06       ` Tassilo Horn
  2015-03-20 20:30       ` Stefan Monnier
  0 siblings, 2 replies; 7+ messages in thread
From: Tassilo Horn @ 2015-03-20  8:56 UTC (permalink / raw)
  To: Vladimir Lomov; +Cc: 20149

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.

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





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#20149: Cannot byte-compile 'undo-tree' since commit 801eda8a2
  2015-03-20  8:56     ` Tassilo Horn
@ 2015-03-20 11:06       ` Tassilo Horn
  2015-03-20 20:30       ` Stefan Monnier
  1 sibling, 0 replies; 7+ messages in thread
From: Tassilo Horn @ 2015-03-20 11:06 UTC (permalink / raw)
  To: Vladimir Lomov; +Cc: 20149

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





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#20149: Cannot byte-compile 'undo-tree' since commit 801eda8a2
  2015-03-20  8:56     ` Tassilo Horn
  2015-03-20 11:06       ` Tassilo Horn
@ 2015-03-20 20:30       ` Stefan Monnier
  2015-03-20 21:39         ` Tassilo Horn
  1 sibling, 1 reply; 7+ messages in thread
From: Stefan Monnier @ 2015-03-20 20:30 UTC (permalink / raw)
  To: Tassilo Horn; +Cc: Vladimir Lomov, 20149-done

I installed a patch which should fix it,


        Stefan





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#20149: Cannot byte-compile 'undo-tree' since commit 801eda8a2
  2015-03-20 20:30       ` Stefan Monnier
@ 2015-03-20 21:39         ` Tassilo Horn
  0 siblings, 0 replies; 7+ messages in thread
From: Tassilo Horn @ 2015-03-20 21:39 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Vladimir Lomov, 20149-done

Stefan Monnier <monnier@IRO.UMontreal.CA> writes:

> I installed a patch which should fix it,

Yes, compiles again.

Bye,
Tassilo





^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2015-03-20 21:39 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-20  5:15 bug#20149: Cannot byte-compile 'undo-tree' since commit 801eda8a2 Vladimir Lomov
2015-03-20  7:46 ` Tassilo Horn
2015-03-20  8:16   ` Vladimir Lomov
2015-03-20  8:56     ` Tassilo Horn
2015-03-20 11:06       ` Tassilo Horn
2015-03-20 20:30       ` Stefan Monnier
2015-03-20 21:39         ` Tassilo Horn

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).