emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* [bug] Beamer export fails in current master
@ 2014-01-11  3:40 James Harkins
  2014-01-11  8:25 ` Nicolas Goaziou
  0 siblings, 1 reply; 7+ messages in thread
From: James Harkins @ 2014-01-11  3:40 UTC (permalink / raw)
  To: orgmode

I just started to work on the issue of wrapping the title command in beamer 
export within a frame, but found that I can't export to Beamer at all in 
the master branch (after pulling just today).

I can export this minimal example successfully if I check out 
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 <n.goaziou@gmail.com>
Date:   Sun Jan 5 00:37:37 2014 +0100

    org-element: Change data structure for cache
    
    * 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.
    
    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 
98c018db02b5336e44e8f7ad1f54870e724fd79d M	lisp
~~

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 
(... 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--cache-objects) (let ... ...)))
  org-element-cache-get(33)
  (let* ((cached ...) (begin ...)) (cond (... ... ... ...) (... ...) (... 
... ... ...) (t ...)))
  (let ((origin ...) element next) (end-of-line) (skip-chars-backward " 
	\n") (cond (... ...) (... ... ...)) (goto-char origin) (let* (... ...) 
(cond ... ... ... ...)) (let (... parent special-flag) (while t ... ... 
...)))
  (save-restriction (widen) (let (... element next) (end-of-line) 
(skip-chars-backward " 
	\n") (cond ... ...) (goto-char origin) (let* ... ...) (let ... ...)))
  (save-excursion (save-restriction (widen) (let ... ... ... ... ... ... 
...)))
  (org-with-wide-buffer (let (... element next) (end-of-line) 
(skip-chars-backward " 
	\n") (cond ... ...) (goto-char origin) (let* ... ...) (let ... ...)))
  (catch (quote exit) (org-with-wide-buffer (let ... ... ... ... ... ... 
...)))
  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 
(re-search-forward regexp nil t) (let ... ...)) plist)
  (save-excursion (save-restriction (widen) (goto-char ...) (while ... ...) 
plist))
  (org-with-wide-buffer (goto-char (point-min)) (while (re-search-forward 
regexp nil t) (let ... ...)) plist)
  (lambda (&optional files plist) (org-with-wide-buffer (goto-char ...) 
(while ... ...) 
plist))(("/home/dlm/Documents/conferences/scweek2013/shows/test-all.org") 
nil)
  funcall((lambda (&optional files plist) (org-with-wide-buffer (goto-char 
...) (while ... ...) plist)) 
("/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 ...) 
(find-properties ...) (get-options ...)) (setq plist (funcall get-options 
... nil)) (dolist (keyword org-element-document-properties plist) (dolist 
... ...)))
  org-export--get-inbuffer-options([cl-struct-org-export-backend beamer 
latex ((bold . org-beamer-bold) (export-block . org-beamer-export-block) 
(export-snippet . org-beamer-export-snippet) (headline . 
org-beamer-headline) (item . org-beamer-item) (keyword . 
org-beamer-keyword) (link . org-beamer-link) (plain-list . 
org-beamer-plain-list) (radio-target . org-beamer-radio-target) (target . 
org-beamer-target) (template . org-beamer-template)) ((:beamer-theme 
"BEAMER_THEME" nil org-beamer-theme) (:beamer-color-theme 
"BEAMER_COLOR_THEME" nil nil t) (:beamer-font-theme "BEAMER_FONT_THEME" nil 
nil t) (:beamer-inner-theme "BEAMER_INNER_THEME" nil nil t) 
(:beamer-outer-theme "BEAMER_OUTER_THEME" nil nil t) (:beamer-header-extra 
"BEAMER_HEADER" nil nil newline) (:headline-levels nil "H" 
org-beamer-frame-level) (:latex-class "LATEX_CLASS" nil "beamer" t)) nil 
("BEAMER") (108 1 (... ... ... ...))])
  (org-combine-plists (org-export--get-global-options backend) ext-plist 
(org-export--get-inbuffer-options backend) (and subtreep 
(org-export--get-subtree-options backend)) (list :back-end backend 
:translate-alist (org-export-get-all-transcoders backend) 
:footnote-definition-alist (let ... ...) :id-alist (let ... ... alist)))
  org-export-get-environment([cl-struct-org-export-backend beamer latex 
((bold . org-beamer-bold) (export-block . org-beamer-export-block) 
(export-snippet . org-beamer-export-snippet) (headline . 
org-beamer-headline) (item . org-beamer-item) (keyword . 
org-beamer-keyword) (link . org-beamer-link) (plain-list . 
org-beamer-plain-list) (radio-target . org-beamer-radio-target) (target . 
org-beamer-target) (template . org-beamer-template)) ((:beamer-theme 
"BEAMER_THEME" nil org-beamer-theme) (:beamer-color-theme 
"BEAMER_COLOR_THEME" nil nil t) (:beamer-font-theme "BEAMER_FONT_THEME" nil 
nil t) (:beamer-inner-theme "BEAMER_INNER_THEME" nil nil t) 
(:beamer-outer-theme "BEAMER_OUTER_THEME" nil nil t) (:beamer-header-extra 
"BEAMER_HEADER" nil nil newline) (:headline-levels nil "H" 
org-beamer-frame-level) (:latex-class "LATEX_CLASS" nil "beamer" t)) nil 
("BEAMER") (108 1 (... ... ... ...))] nil nil)
  (org-combine-plists info (org-export-get-environment backend subtreep 
ext-plist))
  (org-export-install-filters (org-combine-plists info 
(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) 
(org-export-backend-name backend)) (org-export-expand-include-keyword) 
(org-macro-initialize-templates) (org-macro-replace-all 
org-macro-templates) (org-export-execute-babel-code) 
(org-update-radio-target-regexp) (goto-char (point-min)) (save-excursion 
(run-hook-with-args ... ...)) (setq info (org-export-install-filters ...)) 
(org-macro-replace-all (list ... ... ... ...)) (setq tree 
(org-element-parse-buffer nil visible-only)) 
(org-export-remove-uninterpreted-data tree info) (let (...) (dolist ... 
...)) (setq tree (org-export-filter-apply-functions ... tree info)) (setq 
info (org-combine-plists info ...)) (let* (... ... ... ...) 
(org-no-properties ...)))
  (save-current-buffer (set-buffer --buf-copy) (goto-char (point-min)) 
(progn (run-hook-with-args ... ...) (org-export-expand-include-keyword) 
(org-macro-initialize-templates) (org-macro-replace-all 
org-macro-templates) (org-export-execute-babel-code) 
(org-update-radio-target-regexp) (goto-char ...) (save-excursion ...) (setq 
info ...) (org-macro-replace-all ...) (setq tree ...) 
(org-export-remove-uninterpreted-data tree info) (let ... ...) (setq tree 
...) (setq info ...) (let* ... ...)))
  (with-current-buffer --buf-copy (goto-char (point-min)) (progn 
(run-hook-with-args ... ...) (org-export-expand-include-keyword) 
(org-macro-initialize-templates) (org-macro-replace-all 
org-macro-templates) (org-export-execute-babel-code) 
(org-update-radio-target-regexp) (goto-char ...) (save-excursion ...) (setq 
info ...) (org-macro-replace-all ...) (setq tree ...) 
(org-export-remove-uninterpreted-data tree info) (let ... ...) (setq tree 
...) (setq info ...) (let* ... ...)))
  (unwind-protect (with-current-buffer --buf-copy (goto-char ...) (progn 
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...)) (and 
(buffer-live-p --buf-copy) (progn ... ...)))
  (let ((--buf-copy ...)) (unwind-protect (with-current-buffer --buf-copy 
... ...) (and ... ...)))
  (org-export-with-buffer-copy (run-hook-with-args (quote 
org-export-before-processing-hook) (org-export-backend-name backend)) 
(org-export-expand-include-keyword) (org-macro-initialize-templates) 
(org-macro-replace-all org-macro-templates) (org-export-execute-babel-code) 
(org-update-radio-target-regexp) (goto-char (point-min)) (save-excursion 
(run-hook-with-args ... ...)) (setq info (org-export-install-filters ...)) 
(org-macro-replace-all (list ... ... ... ...)) (setq tree 
(org-element-parse-buffer nil visible-only)) 
(org-export-remove-uninterpreted-data tree info) (let (...) (dolist ... 
...)) (setq tree (org-export-filter-apply-functions ... tree info)) (setq 
info (org-combine-plists info ...)) (let* (... ... ... ...) 
(org-no-properties ...)))
  (let* ((org-export-current-backend ...) (info ...) tree) 
(org-export-with-buffer-copy (run-hook-with-args ... ...) 
(org-export-expand-include-keyword) (org-macro-initialize-templates) 
(org-macro-replace-all org-macro-templates) (org-export-execute-babel-code) 
(org-update-radio-target-regexp) (goto-char ...) (save-excursion ...) (setq 
info ...) (org-macro-replace-all ...) (setq tree ...) 
(org-export-remove-uninterpreted-data tree info) (let ... ...) (setq tree 
...) (setq info ...) (let* ... ...)))
  (save-restriction (cond (... ...) (subtreep ... ... ... ...)) (let* (... 
... tree) (org-export-with-buffer-copy ... ... ... ... ... ... ... ... ... 
... ... ... ... ... ... ...)))
  (save-excursion (save-restriction (cond ... ...) (let* ... ...)))
  org-export-as(beamer nil nil nil nil)
  (let ((output ...) (buffer ...) (encoding buffer-file-coding-system)) 
(when (and ... ...) (org-kill-new output)) (with-current-buffer buffer 
(erase-buffer) (setq buffer-file-coding-system encoding) (insert output) 
(goto-char ...) (and ... ...)) (when 
org-export-show-temporary-export-buffer (switch-to-buffer-other-window 
buffer)) buffer)
  (if async (org-export-async-start (\` ...) (\` ...)) (let (... ... ...) 
(when ... ...) (with-current-buffer buffer ... ... ... ... ...) (when 
org-export-show-temporary-export-buffer ...) buffer))
  org-export-to-buffer(beamer "*Org BEAMER Export*" nil nil nil nil nil 
(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) 
(and ... t) (and ... t) (and ... t)))
  (cond ((eql action ...) (org-export-insert-default-template nil optns)) 
((eql action ...) (org-export-stack)) ((eql action ...) 
(org-publish-current-file ... ...)) ((eql action ...) 
(org-publish-current-project ... ...)) ((eql action ...) (org-publish ... 
... ...)) ((eql action ...) (org-publish-all ... ...)) (t (save-excursion 
... ...)))
  (case action (template (org-export-insert-default-template nil optns)) 
(stack (org-export-stack)) (publish-current-file (org-publish-current-file 
... ...)) (publish-current-project (org-publish-current-project ... ...)) 
(publish-choose-project (org-publish ... ... ...)) (publish-all 
(org-publish-all ... ...)) (otherwise (save-excursion ... ...)))
  (let* ((input ...) (action ...) (optns ...)) (unless (memq ... optns) 
(move-marker org-export-dispatch-last-position nil)) (case action (template 
...) (stack ...) (publish-current-file ...) (publish-current-project ...) 
(publish-choose-project ...) (publish-all ...) (otherwise ...)))
  org-export-dispatch(nil)
  call-interactively(org-export-dispatch nil nil)

Enjoy!
hjh

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

end of thread, other threads:[~2014-01-19  5:25 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-01-11  3:40 [bug] Beamer export fails in current master James Harkins
2014-01-11  8:25 ` Nicolas Goaziou
     [not found]   ` <CAFniQ7XfifzACfVQLTTtesmUaCOpM3Q-esyYMorc7KFUQcmRhg@mail.gmail.com>
2014-01-11  9:44     ` Fwd: " James Harkins
2014-01-15 21:29       ` Nicolas Goaziou
2014-01-18  1:39         ` James Harkins
2014-01-18 16:33           ` Nicolas Goaziou
2014-01-19  5:25             ` James Harkins

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

	https://git.savannah.gnu.org/cgit/emacs/org-mode.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).