emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[O] Bug: Publishing with auto-sitemap is broken [7.7 (release_7.7.497.ga


From: Bernt Hansen
Subject: [O] Bug: Publishing with auto-sitemap is broken [7.7 (release_7.7.497.gae02e)]
Date: Sat, 29 Oct 2011 14:13:14 -0400
User-agent: Gnus/5.110018 (No Gnus v0.18) Emacs/23.2 (gnu/linux)

Hi Nicolas.

Publishing with an automatically generated index file is broken for me.

With org-publish-projects set with 

               :auto-sitemap t
               :sitemap-filename "index.html"
               :sitemap-title "Test Publishing Area"
               :sitemap-style "tree"

I get the following backtrace:

,----
| Debugger entered--Lisp error: (wrong-type-argument stringp nil)
|   format(nil "FOOBAR")
|   (let* ((opt-plist ...) (body-only ...) (style ...) (html-extension ...) 
valid thetoc have-headings first-heading-pos (odd org-odd-levels-only) 
(region-p ...) (rbeg ...) (rend ...) (subtree-p ...) (level-offset ...) 
(opt-plist ...) (org-current-export-dir ...) (org-current-export-file 
buffer-file-name) (level 0) (line "") (origline "") txt todo (umax nil) 
(umax-toc nil) (filename ...) (current-dir ...) (auto-insert nil) (buffer ...) 
(org-levels-open ...) (date ...) (author ...) (html-validation-link ...) (title 
...) (link-up ...) (link-home ...) (dummy ...) (html-table-tag ...) (quote-re0 
...) (quote-re ...) (inquote nil) (infixed nil) (inverse nil) (email ...) 
(language ...) (keywords ...) (description ...) (num ...) (lang-words nil) 
(head-count 0) cnt ...) (let (...) (org-unmodified ...)) (message 
"Exporting...") (setq org-min-level (org-get-min-level lines level-offset)) 
(setq org-last-level org-min-level) (org-init-section-numbers) (cond (... ...) 
(date) (t ...)) (setq lang-words (or ... ...)) (set-buffer buffer) (let (...) 
(erase-buffer)) (fundamental-mode) (org-install-letbind) (and (fboundp ...) 
(set-buffer-file-coding-system coding-system-for-write)) (let (... ...) (mapc 
... org-export-plist-vars) (setq umax ...) (setq umax-toc ...) (unless 
body-only ... ... ...) (if ... ...) (setq head-count 0) 
(org-init-section-numbers) (org-open-par) (while ... ...) (when inquote ... 
...) (org-html-level-start 1 nil umax ... head-count opt-plist) (when ... ...) 
(save-excursion ... ...) (when footnotes ...) (let ... ...) (unless body-only 
... ...) (if org-export-html-with-timestamp ...) (unless body-only ...) (unless 
... ... ...) (goto-char ...) (when thetoc ... ... ...) (goto-char ...) (while 
... ...) (goto-char ...) (goto-char ...) (let ... ...) (goto-char ...) (when 
... ...) (remove-text-properties ... ... ...) (run-hooks ...) (or to-buffer 
...) (goto-char ...) (or ... ...) (if ... ... ...)))
|   org-export-as-html(nil nil (:buffer-will-be-killed t :base-directory 
"/tmp/publish/" :publishing-directory 
"/ssh:address@hidden:~/www.norang.ca/htdocs/tmp" :recursive t :section-numbers 
nil :table-of-contents nil :base-extension "org" :publishing-function 
(org-publish-org-to-html org-publish-org-to-org) :style "<link 
rel=\"stylesheet\" href=\"http://doc.norang.ca/org.css\"; type=\"text/css\" />" 
:plain-source t :htmlized-source t :style-include-default nil :auto-sitemap t 
:sitemap-filename "index.html" :sitemap-title "Test Publishing Area" 
:sitemap-style "tree" :author-info t :creator-info t) nil nil 
"/ssh:address@hidden:/var/www/www.norang.ca/htdocs/tmp/")
|   funcall(org-export-as-html nil nil (:buffer-will-be-killed t 
:base-directory "/tmp/publish/" :publishing-directory 
"/ssh:address@hidden:~/www.norang.ca/htdocs/tmp" :recursive t :section-numbers 
nil :table-of-contents nil :base-extension "org" :publishing-function 
(org-publish-org-to-html org-publish-org-to-org) :style "<link 
rel=\"stylesheet\" href=\"http://doc.norang.ca/org.css\"; type=\"text/css\" />" 
:plain-source t :htmlized-source t :style-include-default nil :auto-sitemap t 
:sitemap-filename "index.html" :sitemap-title "Test Publishing Area" 
:sitemap-style "tree" :author-info t :creator-info t) nil nil 
"/ssh:address@hidden:/var/www/www.norang.ca/htdocs/tmp/")
|   (setq export-buf-or-file (funcall (intern ...) (plist-get plist 
:headline-levels) nil plist nil (plist-get plist :body-only) pub-dir))
|   (let* ((plist ...) (init-buf ...) (init-point ...) (init-buf-string ...) 
export-buf-or-file) (run-hooks (quote org-publish-before-export-hook)) (setq 
export-buf-or-file (funcall ... ... nil plist nil ... pub-dir)) (when (and ... 
...) (set-buffer export-buf-or-file) (progn ... ...) (kill-buffer 
export-buf-or-file)) (set-buffer init-buf) (when (buffer-modified-p init-buf) 
(erase-buffer) (insert init-buf-string) (save-buffer) (goto-char init-point)) 
(unless visiting (kill-buffer init-buf)))
|   (save-excursion (org-pop-to-buffer-same-window (or visiting ...)) (let* 
(... ... ... ... export-buf-or-file) (run-hooks ...) (setq export-buf-or-file 
...) (when ... ... ... ...) (set-buffer init-buf) (when ... ... ... ... ...) 
(unless visiting ...)))
|   (let ((visiting ...)) (save-excursion (org-pop-to-buffer-same-window ...) 
(let* ... ... ... ... ... ... ...)))
|   org-publish-org-to("html" (:base-directory "/tmp/publish/" 
:publishing-directory "/ssh:address@hidden:~/www.norang.ca/htdocs/tmp" 
:recursive t :section-numbers nil :table-of-contents nil :base-extension "org" 
:publishing-function (org-publish-org-to-html org-publish-org-to-org) :style 
"<link rel=\"stylesheet\" href=\"http://doc.norang.ca/org.css\"; 
type=\"text/css\" />" :plain-source t :htmlized-source t :style-include-default 
nil :auto-sitemap t :sitemap-filename "index.html" :sitemap-title "Test 
Publishing Area" :sitemap-style "tree" :author-info t :creator-info t) 
"/tmp/publish/index.html" 
"/ssh:address@hidden:/var/www/www.norang.ca/htdocs/tmp/")
|   (let ((org-export-preprocess-after-headline-targets-hook ...)) 
(org-publish-org-to "html" plist filename pub-dir))
|   (org-publish-with-aux-preprocess-maybe (org-publish-org-to "html" plist 
filename pub-dir))
|   org-publish-org-to-html((:base-directory "/tmp/publish/" 
:publishing-directory "/ssh:address@hidden:~/www.norang.ca/htdocs/tmp" 
:recursive t :section-numbers nil :table-of-contents nil :base-extension "org" 
:publishing-function (org-publish-org-to-html org-publish-org-to-org) :style 
"<link rel=\"stylesheet\" href=\"http://doc.norang.ca/org.css\"; 
type=\"text/css\" />" :plain-source t :htmlized-source t :style-include-default 
nil :auto-sitemap t :sitemap-filename "index.html" :sitemap-title "Test 
Publishing Area" :sitemap-style "tree" :author-info t :creator-info t) 
"/tmp/publish/index.html" 
"/ssh:address@hidden:/var/www/www.norang.ca/htdocs/tmp/")
|   funcall(org-publish-org-to-html (:base-directory "/tmp/publish/" 
:publishing-directory "/ssh:address@hidden:~/www.norang.ca/htdocs/tmp" 
:recursive t :section-numbers nil :table-of-contents nil :base-extension "org" 
:publishing-function (org-publish-org-to-html org-publish-org-to-org) :style 
"<link rel=\"stylesheet\" href=\"http://doc.norang.ca/org.css\"; 
type=\"text/css\" />" :plain-source t :htmlized-source t :style-include-default 
nil :auto-sitemap t :sitemap-filename "index.html" :sitemap-title "Test 
Publishing Area" :sitemap-style "tree" :author-info t :creator-info t) 
"/tmp/publish/index.html" 
"/ssh:address@hidden:/var/www/www.norang.ca/htdocs/tmp/")
|   (progn (funcall f project-plist filename tmp-pub-dir) 
(org-publish-update-timestamp filename pub-dir f))
|   (if (org-publish-needed-p filename pub-dir f tmp-pub-dir) (progn (funcall f 
project-plist filename tmp-pub-dir) (org-publish-update-timestamp filename 
pub-dir f)))
|   (when (org-publish-needed-p filename pub-dir f tmp-pub-dir) (funcall f 
project-plist filename tmp-pub-dir) (org-publish-update-timestamp filename 
pub-dir f))
|   (lambda (f) (when (org-publish-needed-p filename pub-dir f tmp-pub-dir) 
(funcall f project-plist filename tmp-pub-dir) (org-publish-update-timestamp 
filename pub-dir f)))(org-publish-org-to-html)
|   mapc((lambda (f) (when (org-publish-needed-p filename pub-dir f 
tmp-pub-dir) (funcall f project-plist filename tmp-pub-dir) 
(org-publish-update-timestamp filename pub-dir f))) (org-publish-org-to-html 
org-publish-org-to-org))
|   (if (listp publishing-function) (mapc (lambda ... ...) publishing-function) 
(when (org-publish-needed-p filename pub-dir publishing-function tmp-pub-dir) 
(funcall publishing-function project-plist filename tmp-pub-dir) 
(org-publish-update-timestamp filename pub-dir publishing-function)))
|   (let* ((project ...) (project-plist ...) (ftname ...) (publishing-function 
...) (base-dir ...) (pub-dir ...) tmp-pub-dir) (unless no-cache 
(org-publish-initialize-cache ...)) (setq tmp-pub-dir (file-name-directory 
...)) (if (listp publishing-function) (mapc ... publishing-function) (when ... 
... ...)) (unless no-cache (org-publish-write-cache-file)))
|   org-publish-file("/tmp/publish/index.html" ("tmp-org" :base-directory 
"/tmp/publish/" :publishing-directory 
"/ssh:address@hidden:~/www.norang.ca/htdocs/tmp" :recursive t :section-numbers 
nil :table-of-contents nil :base-extension "org" :publishing-function 
(org-publish-org-to-html org-publish-org-to-org) :style "<link 
rel=\"stylesheet\" href=\"http://doc.norang.ca/org.css\"; type=\"text/css\" />" 
:plain-source t :htmlized-source t :style-include-default nil :auto-sitemap t 
:sitemap-filename "index.html" :sitemap-title "Test Publishing Area" 
:sitemap-style "tree" :author-info t :creator-info t) t)
|   (while (setq file (pop files)) (org-publish-file file project t))
|   (let* ((project-plist ...) (exclude-regexp ...) (sitemap-p ...) 
(sitemap-filename ...) (sitemap-function ...) (org-sitemap-date-format ...) 
(org-sitemap-file-entry-format ...) (preparation-function ...) 
(completion-function ...) (files ...) file) (when preparation-function 
(run-hooks ...)) (if sitemap-p (funcall sitemap-function project 
sitemap-filename)) (while (setq file ...) (org-publish-file file project t)) 
(when (plist-get project-plist :makeindex) (org-publish-index-generate-theindex 
...) (org-publish-file ... project t)) (when completion-function (run-hooks 
...)) (org-publish-write-cache-file))
|   (lambda (project) (org-publish-initialize-cache (car project)) (let* (... 
... ... ... ... ... ... ... ... ... file) (when preparation-function ...) (if 
sitemap-p ...) (while ... ...) (when ... ... ...) (when completion-function 
...) (org-publish-write-cache-file)))(("tmp-org" :base-directory 
"/tmp/publish/" :publishing-directory 
"/ssh:address@hidden:~/www.norang.ca/htdocs/tmp" :recursive t :section-numbers 
nil :table-of-contents nil :base-extension "org" :publishing-function 
(org-publish-org-to-html org-publish-org-to-org) :style "<link 
rel=\"stylesheet\" href=\"http://doc.norang.ca/org.css\"; type=\"text/css\" />" 
:plain-source t :htmlized-source t :style-include-default nil :auto-sitemap t 
:sitemap-filename "index.html" :sitemap-title "Test Publishing Area" 
:sitemap-style "tree" :author-info t :creator-info t))
|   mapc((lambda (project) (org-publish-initialize-cache (car project)) (let* 
(... ... ... ... ... ... ... ... ... ... file) (when preparation-function ...) 
(if sitemap-p ...) (while ... ...) (when ... ... ...) (when completion-function 
...) (org-publish-write-cache-file))) (("tmp-org" :base-directory 
"/tmp/publish/" :publishing-directory 
"/ssh:address@hidden:~/www.norang.ca/htdocs/tmp" :recursive t :section-numbers 
nil :table-of-contents nil :base-extension "org" :publishing-function 
(org-publish-org-to-html org-publish-org-to-org) :style "<link 
rel=\"stylesheet\" href=\"http://doc.norang.ca/org.css\"; type=\"text/css\" />" 
:plain-source t :htmlized-source t :style-include-default nil :auto-sitemap t 
:sitemap-filename "index.html" :sitemap-title "Test Publishing Area" 
:sitemap-style "tree" :author-info t :creator-info t) ("tmp-extra" 
:base-directory "/tmp/publish/" :publishing-directory 
"/ssh:address@hidden:~/www.norang.ca/htdocs/tmp" :base-extension 
"css\\|pdf\\|png\\|jpg\\|gif" :publishing-function org-publish-attachment 
:recursive t :author nil)))
|   org-publish-projects((("tmp" :components ("tmp-org" "tmp-extra"))))
|   (let* ((org-publish-use-timestamps-flag ...)) (org-publish-projects (if ... 
... ...)))
|   (save-window-excursion (let* (...) (org-publish-projects ...)))
|   org-publish(("tmp" :components ("tmp-org" "tmp-extra")))
|   (let ((project ...) (org-publish-use-timestamps-flag ...)) (if (not 
project) (error "File %s is not part of any known project" ...)) (org-publish 
project))
|   (save-window-excursion (let (... ...) (if ... ...) (org-publish project)))
|   org-publish-current-project(nil)
|   (let ((org-export-html-style-extra) (org-export-html-validation-link "<a 
href=\"http://validator.w3.org/check?uri=referer\";>Validate XHTML 1.0</a>")) 
(org-publish-current-project force))
|   bh/save-then-publish(nil)
|   call-interactively(bh/save-then-publish nil nil)
`----

This is from 

         (quote-re    (format org-heading-keyword-regexp-format
                              org-quote-string))

at line 1183 in org-html.el.
I have org-quote- string set as follows

,----
| (setq org-quote-string "FOOBAR")
`----

since I wanted to use QUOTE as a keyword (which is the default string
for this)

git bisect identifies the following commit as the cause of this problem.

,----
| dfcb6faef11a2439b56b18a6289803361d402130 is the first bad commit
| commit dfcb6faef11a2439b56b18a6289803361d402130
| Author: Nicolas Goaziou <address@hidden>
| Date:   Thu Aug 25 01:58:29 2011 +0200
| 
|     Provide more consistent regexps for headlines
|     
|     * lisp/org-agenda.el (org-search-view): Simplify regexp.
|     (org-agenda-get-todos): Use new format string.
|     * lisp/org-archive.el (org-archive-all-done): Simplify regexp.
|     * lisp/org-ascii.el (org-export-as-ascii): More accurate regexp.
|     * lisp/org-colview-xemacs.el (org-columns-capture-view): Use new
|       format string and new string.
|     * lisp/org-colview.el (org-columns-capture-view): Use new format
|       string and new string.
|     * lisp/org-docbook.el (org-export-as-docbook): More accurate
|       regexp.  Also use new regexp to match generic headlines.
|     * lisp/org-exp.el (org-export-protect-quoted-subtrees): More accurate
|       regexp.  Also use new regexp to match generic headlines.
|     * lisp/org-html.el (org-export-as-html): More accurate regexp.  Also
|       use new regexp to match generic headlines.
|     * lisp/org-mouse.el (org-mouse-match-todo-keyword): Removed unused
|       and now erroneous function.
|     * lisp/org.el (org-heading-regexp, org-heading-keyword-regexp-format):
|       New variables.
|     (org-set-regexps-and-options): Create regexps according to the
|     following rule: use spaces only to separate elements from an headline,
|     while allowing mixed tabs and spaces for any indentation job.
|     (org-nl-done-regexp, org-looking-at-done-regexp): Removed variables.
|     (org-set-font-lock-defaults): Fontify again headlines with a keyword
|     and no other text.  Use new format strings.
|     (org-get-heading, org-toggle-comment, org-prepare-agenda-buffers,
|     org-toggle-fixed-width-section): Use new format string.
|     (org-todo): More accurate regexps.
|     (org-point-at-end-of-empty-headline): Simplify regexp.
|     (org-insert-heading): Headline can sometimes be nil.
|     
|     This patch attempts to reduce the number of hard-coded headlines, by
|     providing two format strings and one generic string to cover most of
|     the cases of headline construction.
| 
| :040000 040000 c95587ff389224683249bba25c443b29b83b8885 
b2ad639be9e4672ce873d8bc27e59888b805235b M    lisp
`----

Publishing works fine for me if I don't have an auto-generated index.

Regards,
Bernt


Emacs  : GNU Emacs 23.2.1 (i486-pc-linux-gnu, GTK+ Version 2.20.0)
 of 2010-12-11 on raven, modified by Debian
Package: Org-mode version 7.7 (release_7.7.497.gae02e)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]