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.goaz...@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