From mboxrd@z Thu Jan 1 00:00:00 1970 From: James Harkins Subject: [bug] Beamer export fails in current master Date: Sat, 11 Jan 2014 11:40:39 +0800 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:43728) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W1pRT-0008DD-JP for emacs-orgmode@gnu.org; Fri, 10 Jan 2014 22:41:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W1pRN-0006fz-KX for emacs-orgmode@gnu.org; Fri, 10 Jan 2014 22:40:59 -0500 Received: from mail-pd0-x232.google.com ([2607:f8b0:400e:c02::232]:52138) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W1pRN-0006fu-6v for emacs-orgmode@gnu.org; Fri, 10 Jan 2014 22:40:53 -0500 Received: by mail-pd0-f178.google.com with SMTP id y10so5365842pdj.9 for ; Fri, 10 Jan 2014 19:40:52 -0800 (PST) Received: from localhost ([113.109.19.101]) by mx.google.com with ESMTPSA id pe3sm20933471pbc.23.2014.01.10.19.40.49 for (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 10 Jan 2014 19:40:51 -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: orgmode I just started to work on the issue of wrapping the title command in beamer=20= export within a frame, but found that I can't export to Beamer at all in=20 the master branch (after pulling just today). I can export this minimal example successfully if I check out=20 release_8.2.4, but it fails in current master. ~~ #+startup: beamer #+LaTeX_CLASS: beamer #+LaTeX_CLASS_OPTIONS: [presentation] #+BEAMER_THEME: default * Section header ** Slide header *** Block header Free text, which could be long. - List item ~~ Bisecting revealed: ~~ e32ebb6c1ad1455cc34d29cc0881cff84ebde12f is the first bad commit commit e32ebb6c1ad1455cc34d29cc0881cff84ebde12f Author: Nicolas Goaziou Date: Sun Jan 5 00:37:37 2014 +0100 org-element: Change data structure for cache =20 * lisp/org-element.el (org-element-at-point, org-element-cache-get, org-element-cache-put, org-element--cache-sync): Complete rewrite to use new data structure. (org-element-context, org-element-cache-reset): Slight change in order to use new tools to access cached data. (org-element-cache-merge-changes-threshold): Renamed from `org-element--cache-merge-changes-threshold'. (org-element-cache-sync-idle-time): Renamed from `org-element--cache-sync-idle-time'. (org-element--cache-objects): New variable. =20 Now elements are stored in AVL tree and objects in a hash table. Also moved functions relative to cache into a specific section of the file. :040000 040000 b8c02c245efd135d4e52bb84bf4df59a7baa81ea=20 98c018db02b5336e44e8f7ad1f54870e724fd79d M=09lisp ~~ Backtrace: Debugger entered--Lisp error: (wrong-type-argument arrayp nil) avl-tree--dummyroot(nil) (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=20 (... last) (catch ... ... last))) (progn (when (and ... ...) (org-element--cache-sync ...)) (if (not ...)=20 (gethash key org-element--cache-objects) (let ... ...))) (if (and org-element-use-cache org-element--cache) (progn (when ... ...)=20= (if ... ... ...))) (when (and org-element-use-cache org-element--cache) (when (and ... ...)=20= (org-element--cache-sync ...)) (if (not ...) (gethash key=20 org-element--cache-objects) (let ... ...))) org-element-cache-get(33) (let* ((cached ...) (begin ...)) (cond (... ... ... ...) (... ...) (...=20 ... ... ...) (t ...))) (let ((origin ...) element next) (end-of-line) (skip-chars-backward "=20 =09\n") (cond (... ...) (... ... ...)) (goto-char origin) (let* (... ...)=20 (cond ... ... ... ...)) (let (... parent special-flag) (while t ... ...=20 ...))) (save-restriction (widen) (let (... element next) (end-of-line)=20 (skip-chars-backward "=20 =09\n") (cond ... ...) (goto-char origin) (let* ... ...) (let ... ...))) (save-excursion (save-restriction (widen) (let ... ... ... ... ... ...=20 ...))) (org-with-wide-buffer (let (... element next) (end-of-line)=20 (skip-chars-backward "=20 =09\n") (cond ... ...) (goto-char origin) (let* ... ...) (let ... ...))) (catch (quote exit) (org-with-wide-buffer (let ... ... ... ... ... ...=20 ...))) org-element-at-point() (let ((element ...)) (when (eq ... ...) (let ... ...))) (while (re-search-forward regexp nil t) (let (...) (when ... ...))) (save-restriction (widen) (goto-char (point-min)) (while=20 (re-search-forward regexp nil t) (let ... ...)) plist) (save-excursion (save-restriction (widen) (goto-char ...) (while ... ...)=20= plist)) (org-with-wide-buffer (goto-char (point-min)) (while (re-search-forward=20 regexp nil t) (let ... ...)) plist) (lambda (&optional files plist) (org-with-wide-buffer (goto-char ...)=20 (while ... ...)=20 plist))(("/home/dlm/Documents/conferences/scweek2013/shows/test-all.org")=20 nil) funcall((lambda (&optional files plist) (org-with-wide-buffer (goto-char=20= ...) (while ... ...) plist))=20 ("/home/dlm/Documents/conferences/scweek2013/shows/test-all.org") nil) (setq plist (funcall get-options (and buffer-file-name ...) nil)) (let* (plist get-options (case-fold-search t) (options ...) (regexp ...)=20= (find-properties ...) (get-options ...)) (setq plist (funcall get-options=20 ... nil)) (dolist (keyword org-element-document-properties plist) (dolist=20 ... ...))) org-export--get-inbuffer-options([cl-struct-org-export-backend beamer=20 latex ((bold . org-beamer-bold) (export-block . org-beamer-export-block)=20 (export-snippet . org-beamer-export-snippet) (headline .=20 org-beamer-headline) (item . org-beamer-item) (keyword .=20 org-beamer-keyword) (link . org-beamer-link) (plain-list .=20 org-beamer-plain-list) (radio-target . org-beamer-radio-target) (target .=20 org-beamer-target) (template . org-beamer-template)) ((:beamer-theme=20 "BEAMER_THEME" nil org-beamer-theme) (:beamer-color-theme=20 "BEAMER_COLOR_THEME" nil nil t) (:beamer-font-theme "BEAMER_FONT_THEME" nil=20= nil t) (:beamer-inner-theme "BEAMER_INNER_THEME" nil nil t)=20 (:beamer-outer-theme "BEAMER_OUTER_THEME" nil nil t) (:beamer-header-extra=20= "BEAMER_HEADER" nil nil newline) (:headline-levels nil "H"=20 org-beamer-frame-level) (:latex-class "LATEX_CLASS" nil "beamer" t)) nil=20 ("BEAMER") (108 1 (... ... ... ...))]) (org-combine-plists (org-export--get-global-options backend) ext-plist=20 (org-export--get-inbuffer-options backend) (and subtreep=20 (org-export--get-subtree-options backend)) (list :back-end backend=20 :translate-alist (org-export-get-all-transcoders backend)=20 :footnote-definition-alist (let ... ...) :id-alist (let ... ... alist))) org-export-get-environment([cl-struct-org-export-backend beamer latex=20 ((bold . org-beamer-bold) (export-block . org-beamer-export-block)=20 (export-snippet . org-beamer-export-snippet) (headline .=20 org-beamer-headline) (item . org-beamer-item) (keyword .=20 org-beamer-keyword) (link . org-beamer-link) (plain-list .=20 org-beamer-plain-list) (radio-target . org-beamer-radio-target) (target .=20 org-beamer-target) (template . org-beamer-template)) ((:beamer-theme=20 "BEAMER_THEME" nil org-beamer-theme) (:beamer-color-theme=20 "BEAMER_COLOR_THEME" nil nil t) (:beamer-font-theme "BEAMER_FONT_THEME" nil=20= nil t) (:beamer-inner-theme "BEAMER_INNER_THEME" nil nil t)=20 (:beamer-outer-theme "BEAMER_OUTER_THEME" nil nil t) (:beamer-header-extra=20= "BEAMER_HEADER" nil nil newline) (:headline-levels nil "H"=20 org-beamer-frame-level) (:latex-class "LATEX_CLASS" nil "beamer" t)) nil=20 ("BEAMER") (108 1 (... ... ... ...))] nil nil) (org-combine-plists info (org-export-get-environment backend subtreep=20 ext-plist)) (org-export-install-filters (org-combine-plists info=20 (org-export-get-environment backend subtreep ext-plist))) (setq info (org-export-install-filters (org-combine-plists info ...))) (progn (run-hook-with-args (quote org-export-before-processing-hook)=20 (org-export-backend-name backend)) (org-export-expand-include-keyword)=20 (org-macro-initialize-templates) (org-macro-replace-all=20 org-macro-templates) (org-export-execute-babel-code)=20 (org-update-radio-target-regexp) (goto-char (point-min)) (save-excursion=20 (run-hook-with-args ... ...)) (setq info (org-export-install-filters ...))=20= (org-macro-replace-all (list ... ... ... ...)) (setq tree=20 (org-element-parse-buffer nil visible-only))=20 (org-export-remove-uninterpreted-data tree info) (let (...) (dolist ...=20 ...)) (setq tree (org-export-filter-apply-functions ... tree info)) (setq=20 info (org-combine-plists info ...)) (let* (... ... ... ...)=20 (org-no-properties ...))) (save-current-buffer (set-buffer --buf-copy) (goto-char (point-min))=20 (progn (run-hook-with-args ... ...) (org-export-expand-include-keyword)=20 (org-macro-initialize-templates) (org-macro-replace-all=20 org-macro-templates) (org-export-execute-babel-code)=20 (org-update-radio-target-regexp) (goto-char ...) (save-excursion ...) (setq=20= info ...) (org-macro-replace-all ...) (setq tree ...)=20 (org-export-remove-uninterpreted-data tree info) (let ... ...) (setq tree=20 ...) (setq info ...) (let* ... ...))) (with-current-buffer --buf-copy (goto-char (point-min)) (progn=20 (run-hook-with-args ... ...) (org-export-expand-include-keyword)=20 (org-macro-initialize-templates) (org-macro-replace-all=20 org-macro-templates) (org-export-execute-babel-code)=20 (org-update-radio-target-regexp) (goto-char ...) (save-excursion ...) (setq=20= info ...) (org-macro-replace-all ...) (setq tree ...)=20 (org-export-remove-uninterpreted-data tree info) (let ... ...) (setq tree=20 ...) (setq info ...) (let* ... ...))) (unwind-protect (with-current-buffer --buf-copy (goto-char ...) (progn=20 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...)) (and=20 (buffer-live-p --buf-copy) (progn ... ...))) (let ((--buf-copy ...)) (unwind-protect (with-current-buffer --buf-copy=20 ... ...) (and ... ...))) (org-export-with-buffer-copy (run-hook-with-args (quote=20 org-export-before-processing-hook) (org-export-backend-name backend))=20 (org-export-expand-include-keyword) (org-macro-initialize-templates)=20 (org-macro-replace-all org-macro-templates) (org-export-execute-babel-code)=20= (org-update-radio-target-regexp) (goto-char (point-min)) (save-excursion=20 (run-hook-with-args ... ...)) (setq info (org-export-install-filters ...))=20= (org-macro-replace-all (list ... ... ... ...)) (setq tree=20 (org-element-parse-buffer nil visible-only))=20 (org-export-remove-uninterpreted-data tree info) (let (...) (dolist ...=20 ...)) (setq tree (org-export-filter-apply-functions ... tree info)) (setq=20 info (org-combine-plists info ...)) (let* (... ... ... ...)=20 (org-no-properties ...))) (let* ((org-export-current-backend ...) (info ...) tree)=20 (org-export-with-buffer-copy (run-hook-with-args ... ...)=20 (org-export-expand-include-keyword) (org-macro-initialize-templates)=20 (org-macro-replace-all org-macro-templates) (org-export-execute-babel-code)=20= (org-update-radio-target-regexp) (goto-char ...) (save-excursion ...) (setq=20= info ...) (org-macro-replace-all ...) (setq tree ...)=20 (org-export-remove-uninterpreted-data tree info) (let ... ...) (setq tree=20 ...) (setq info ...) (let* ... ...))) (save-restriction (cond (... ...) (subtreep ... ... ... ...)) (let* (...=20= ... tree) (org-export-with-buffer-copy ... ... ... ... ... ... ... ... ...=20= ... ... ... ... ... ... ...))) (save-excursion (save-restriction (cond ... ...) (let* ... ...))) org-export-as(beamer nil nil nil nil) (let ((output ...) (buffer ...) (encoding buffer-file-coding-system))=20 (when (and ... ...) (org-kill-new output)) (with-current-buffer buffer=20 (erase-buffer) (setq buffer-file-coding-system encoding) (insert output)=20 (goto-char ...) (and ... ...)) (when=20 org-export-show-temporary-export-buffer (switch-to-buffer-other-window=20 buffer)) buffer) (if async (org-export-async-start (\` ...) (\` ...)) (let (... ... ...)=20 (when ... ...) (with-current-buffer buffer ... ... ... ... ...) (when=20 org-export-show-temporary-export-buffer ...) buffer)) org-export-to-buffer(beamer "*Org BEAMER Export*" nil nil nil nil nil=20 (lambda nil (LaTeX-mode))) org-beamer-export-as-latex(nil nil nil nil) funcall(org-beamer-export-as-latex nil nil nil nil) (save-excursion (when arg (if ... ... ...)) (funcall action (and ... t)=20 (and ... t) (and ... t) (and ... t))) (cond ((eql action ...) (org-export-insert-default-template nil optns))=20 ((eql action ...) (org-export-stack)) ((eql action ...)=20 (org-publish-current-file ... ...)) ((eql action ...)=20 (org-publish-current-project ... ...)) ((eql action ...) (org-publish ...=20 ... ...)) ((eql action ...) (org-publish-all ... ...)) (t (save-excursion=20 ... ...))) (case action (template (org-export-insert-default-template nil optns))=20 (stack (org-export-stack)) (publish-current-file (org-publish-current-file=20= ... ...)) (publish-current-project (org-publish-current-project ... ...))=20 (publish-choose-project (org-publish ... ... ...)) (publish-all=20 (org-publish-all ... ...)) (otherwise (save-excursion ... ...))) (let* ((input ...) (action ...) (optns ...)) (unless (memq ... optns)=20 (move-marker org-export-dispatch-last-position nil)) (case action (template=20= ...) (stack ...) (publish-current-file ...) (publish-current-project ...)=20 (publish-choose-project ...) (publish-all ...) (otherwise ...))) org-export-dispatch(nil) call-interactively(org-export-dispatch nil nil) Enjoy! hjh