[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Orgmode] possible Bug: non-interactive publishing (emacs 22.1)
From: |
Sebastian Rose |
Subject: |
Re: [Orgmode] possible Bug: non-interactive publishing (emacs 22.1) |
Date: |
Wed, 09 Jun 2010 23:22:50 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) |
"address@hidden" <address@hidden> writes:
> Hi Carsten,
>
> when using org to publish non-interactively under 22.3.1 I get sometimes an
> error, depending on which publishing function I call. This does not happen
> during interactive calling of the publishing function (i.e. M-x org-publish
> ).
>
> no error:
> emacs -q -batch -l ../org-init.el --eval='(org-publish-all)'
>
> with error:
> emacs -q -batch -l ../org-init.el --eval='(org-publish "h-rd.org" t)'
>
> (obviously the project h-rd.org exists, and is published without error and
> all
> components from org-publish-all)
> error message:
>
> Starting emacs
> Loading subst-ksc...
> Loading subst-gb2312...
> Loading subst-big5...
> Loading subst-jis...
> Debugger entered--Lisp error: (wrong-type-argument listp "h-rd.org")
> cdr("h-rd.org")
> (plist-get (cdr p) :components)
> (setq components (plist-get (cdr p) :components))
> (if (setq components (plist-get ... :components)) (setq rest (append
> ... rest) )
> (push p
> rtn))
> (while (setq p (pop rest)) (if (setq components ...) (setq rest ...) (push
> p
> r tn)))
> (let ((rest projects-alist) rtn p components) (while (setq p ...) (if ...
> ...
> ...)) (nreverse (org-publish-delete-dups ...)))
> org-publish-expand-projects(("h-rd.org"))
> (mapc (lambda (project) (let* ... ... ... ... ... ...))
> (org-publish-expand-pr
> ojects projects))
> org-publish-projects(("h-rd.org"))
> (let* ((org-publish-use-timestamps-flag ...)) (org-publish-projects (list
> proj ect)))
> (save-window-excursion (let* (...) (org-publish-projects ...)))
> org-publish("h-rd.org" t)
> eval((org-publish "h-rd.org" t))
> command-line-1(("-l" "../org-init.el" "--eval=(org-publish \"h-rd.org\"
> t)"))
> command-line()
> normal-top-level()
>
> emacs finished
>
>
> greetings.
And here is a fix for publishing in batch-mode. Please test. It works
here, but I use emacs 24 only currently...
diff --git a/lisp/org-publish.el b/lisp/org-publish.el
index fc18a9a..3f24863 100644
--- a/lisp/org-publish.el
+++ b/lisp/org-publish.el
@@ -756,7 +756,12 @@ Default for SITEMAP-FILENAME is 'sitemap.org'."
(save-window-excursion
(let* ((org-publish-use-timestamps-flag
(if force nil org-publish-use-timestamps-flag)))
- (org-publish-projects (list project)))))
+ (org-publish-projects
+ (if (stringp project)
+ ;; If this function is called in batch mode,
+ ;; project is still a string here.
+ (list (assoc project org-publish-project-alist))
+ (list project))))))
;;;###autoload
(defun org-publish-all (&optional force)
Best wishes
Sebastian