emacs-orgmode
[Top][All Lists]
Advanced

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

[Orgmode] Re: wrong-type-argument when publishing to HTML


From: Sébastien Vauban
Subject: [Orgmode] Re: wrong-type-argument when publishing to HTML
Date: Thu, 03 Sep 2009 10:11:56 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (gnu/linux)

Hi Carsten,

Carsten Dominik wrote:
> On Sep 2, 2009, at 1:44 PM, Sébastien Vauban wrote:
>
>> A colleague of mine gets the error `(wrong-type-argument stringp nil)' when
>> executing the command (from a script, under Ubuntu and Emacs 22.2.1 with
>> Org-mode 6.29c):
>>
>> --8<---------------cut here---------------start------------->8---
>> emacs --batch \
>>      --load ./Org2HTML.el \
>>      --visit=agile-software-development.org \
>>      --funcall org-publish-current-file
>> --8<---------------cut here---------------end--------------->8---
>>
>> The detailed result is:
>>
>> --8<---------------cut here---------------start------------->8---
>> [...]
>> Publishing file /home/llg/devel/Internet/source/agile-software-
>> development.org using `org-publish-org-to-html'
>> Exporting...
>> Warning: defvar ignored because description is let-bound
>> Exporting...
>> Exporting...
>> Debugger entered--Lisp error: (wrong-type-argument stringp nil)
>>  string-match(nil "")
>>  (while (string-match org-maybe-keyword-time-regexp s) (or b (setq b ...))
>> (setq r (concat r ... " @<span class=\"timestamp-wrapper \">" ... ...
>> "@</span>") s (substring s ...)))
>>  (let (r b) (while (string-match org-maybe-keyword-time-regexp s) (or b ...)
>> (setq r ... s ...)) (if (not r) s (setq r ...)  (unless ... ...) r))
>>  (catch (quote exit) (let (r b) (while ... ... ...) (if ... s ... ... r)))
>>  org-html-handle-time-stamps("")
>>  (setq line (org-html-handle-time-stamps line))
>>  (catch (quote nextline) (when (and inquote ...) (insert "</pre>\n")
>> [...]
>> --8<---------------cut here---------------end--------------->8---
>>
>> I tried to understand what could be wrong, but don't see anything special
>> with the time-stamps.
>>
>> Here is the contents of Org2HTML.el:
>>
>> --8<---------------cut here---------------start------------->8---
>> ;; Org-mode
>> (require 'org)
>>
>> ;; publish related Org-mode files as a website
>> (require 'org-publish)
>>
>> ;; association list to control publishing behavior
>> (setq org-publish-project-alist
>>      '(("Project"
>>         :base-directory "./"
>>         :recursive t
>>         :publishing-directory "../public_html/"
>>         :base-extension "org"
>>         :publishing-function org-publish-org-to-html
>>         :section-numbers nil
>>         :table-of-contents nil
>>         :author-info nil
>>         :creator-info nil
>>         :style-include-default nil
>>         :style "<link rel=\"stylesheet\" type=\"text/css\" href=
>>                                               \"assets/css/common.css\"/>"
>>         :timestamp nil
>>         [...]
>>         :auto-preamble nil
>>         :auto-postamble nil
>>         :auto-index t                  ; Generate index.org automagically...
>>         :index-filename "sitemap.org"  ; ... call it sitemap.org ...
>>         :index-title "Sitemap"         ; ... with title 'Sitemap'.
>>         )))
>> --8<---------------cut here---------------end--------------->8---
>
> This looks to me as if the the file being published is not in org-mode. So
> my first guess would be that Org2HTML.el misses the following line:
>
> (add-to-list 'auto-mode-alist '("\\.org\\'" . org-mode))
>
> Remember that --batch processing implies -q, i.e. the .emacs file will not
> be evalated.

I knew that, but I thought that

--8<---------------cut here---------------start------------->8---
;; Org-mode
(require 'org)
--8<---------------cut here---------------end--------------->8---

would add the association `.org' in `auto-mode-alist' on its own.

Anyway, adding the above `add-to-list' line (just after the `require org')
solved the problem of my colleague. Thanks.


> Another solution might be to add
>
>     --load ~/.emacs
>
> directly after --batch, but that only works if the .emacs files does not do
> seomthing strange. For example, some people have their .emacs file
> automatically switch to a certain file or displaying the agenda or so. That
> may not be a good idea in batch mode.

Like you, I would not be in favor of such a solution. My goal is having a kind
of minimal `.emacs' file (this is the goal of Org2HTML.el) that can be used by
anybody using my Makefile.

Best regards,
  Seb

-- 
Sébastien Vauban





reply via email to

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