all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Tassilo Horn <tsdh@gnu.org>
To: Vladimir Lomov <lomov.vl@gmail.com>
Cc: 20149@debbugs.gnu.org
Subject: bug#20149: Cannot byte-compile 'undo-tree' since commit 801eda8a2
Date: Fri, 20 Mar 2015 09:56:38 +0100	[thread overview]
Message-ID: <87lhisrqrd.fsf@gnu.org> (raw)
In-Reply-To: <20150320081645.GD857@smoon.vl-lomov.ru> (Vladimir Lomov's message of "Fri, 20 Mar 2015 16:16:45 +0800")

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





  reply	other threads:[~2015-03-20  8:56 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
2015-03-20 11:06       ` Tassilo Horn
2015-03-20 20:30       ` Stefan Monnier
2015-03-20 21:39         ` Tassilo Horn

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87lhisrqrd.fsf@gnu.org \
    --to=tsdh@gnu.org \
    --cc=20149@debbugs.gnu.org \
    --cc=lomov.vl@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.