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

Reply via email to