emacs-orgmode
[Top][All Lists]
Advanced

[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




reply via email to

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