From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Clemente Subject: "void-variable: tree" in agenda in emacs 23.4.1 Date: Sat, 11 Jan 2014 13:01:42 +0700 Message-ID: <87fvovxdix.wl%n142857@gmail.com> Mime-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:56209) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W1re0-0001ng-0J for emacs-orgmode@gnu.org; Sat, 11 Jan 2014 01:02:12 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W1rdr-0006R7-J2 for emacs-orgmode@gnu.org; Sat, 11 Jan 2014 01:02:03 -0500 Received: from mail-pa0-x233.google.com ([2607:f8b0:400e:c03::233]:63410) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W1rdr-0006R1-AV for emacs-orgmode@gnu.org; Sat, 11 Jan 2014 01:01:55 -0500 Received: by mail-pa0-f51.google.com with SMTP id fa1so5682057pad.10 for ; Fri, 10 Jan 2014 22:01:53 -0800 (PST) Received: from 2d2.gmail.com ([139.193.199.253]) by mx.google.com with ESMTPSA id id1sm21812061pbc.11.2014.01.10.22.01.50 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Fri, 10 Jan 2014 22:01:52 -0800 (PST) List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org Hi, since some days ago I get an export error after C-a a, batch export, C-e = on .org files, =E2=80=A6 Backtrace at the end. Even (avl-tree--root org-element--cache) or (avl-tree--root nil) produce = the same error. This is not a bug in org, but in Emacs 23.4.1. avl-tree.el says: (defmacro avl-tree--root (tree) ;; Return the root node for an avl-tree. INTERNAL USE ONLY. `(avl-tree--node-left (avl-tree--dummyroot tree))) And it should have a comma before the word =E2=80=9Etree=E2=80=9C in the = body. Like this (org-mode works with this): (defmacro avl-tree--root (tree) ;; Return the root node for an avl-tree. INTERNAL USE ONLY. `(avl-tree--node-left (avl-tree--dummyroot ,tree))) This was fixed in emacs from Bazaar (in rev. 104392, Fri 2011-05-27 20:03= :26 -0300). But at the moment org-mode does not work in Emacs 23.4.1, so I think it s= hould have a work-around. The fix can be: =E2=80=9Eif Emacs version is lower than [=E2=80=A6] then = define the macro again with the correct code=E2=80=9C. Like: (if (version< emacs-version "24") (defmacro avl-tree--root (tree) ;; Backport fix for older versions due to missing comma in ,tree `(avl-tree--node-left (avl-tree--dummyroot ,tree))) ) Thanks, Daniel Backtrace: Debugger entered--Lisp error: (void-variable tree) (avl-tree--dummyroot tree) (avl-tree--node-left (avl-tree--dummyroot tree)) (avl-tree--root org-element--cache) (let ((node ...) last) (catch (quote found) (while node ...) last)) (if (not (wholenump key)) (gethash key org-element--cache-objects) (let (= ... last) (catch ... ... last))) (progn (when (and ... ...) (org-element--cache-sync ...)) (if (not ...) (= gethash key org-element--cache-objects) (let ... ...))) (if (and org-element-use-cache org-element--cache) (progn (when ... ...) = (if ... ... ...))) (when (and org-element-use-cache org-element--cache) (when (and ... ...) = (org-element--cache-sync ...)) (if (not ...) (gethash key org-element--cach= e-objects) (let ... ...))) org-element-cache-get(65264) (let* ((cached ...) (begin ...)) (cond (... ... ... ...) (... ...) (... .= .. ... ...) (t ...))) (let ((origin ...) element next) (end-of-line) (skip-chars-backward " =0D= \n") (cond (... ...) (... ... ...)) (goto-char origin) (let* (... ...) (co= nd ... ... ... ...)) (let (... parent special-flag) (while t ... ... ...))) (save-restriction (widen) (let (... element next) (end-of-line) (skip-cha= rs-backward " =0D \n") (cond ... ...) (goto-char origin) (let* ... ...) (le= t ... ...))) (save-excursion (save-restriction (widen) (let ... ... ... ... ... ... ..= .))) (org-with-wide-buffer (let (... element next) (end-of-line) (skip-chars-b= ackward " =0D \n") (cond ... ...) (goto-char origin) (let* ... ...) (let ..= . ...))) =E2=80=A6