On Feb 3, 2010, at 12:13 AM, Chao Lu wrote:
Hey Nick,
Thanks a lot for your detailed explanation, now I'm pretty clear
about the error. But I just get the idea why we could not publish
arbitrary org file as html to current directory, I guess it could be
kind of troublesome that every time to set up the project first?
That process is called "exporting", not "publishing", it needs no
further
setup and is described in the manual.
- Carsten
What do you think?
Chao
On Tue, Feb 2, 2010 at 6:01 PM, Nick Dokos <nicholas.do...@hp.com>
wrote:
Chao Lu <looc...@gmail.com> wrote:
> I just start a new org file, say, PHY.org, type very simple words,
then
> tried
> M-x org-publish-current-file.
>
> The *backtrace* tells:
> --------
> Debugger entered--Lisp error: (wrong-type-argument stringp nil)
> file-name-as-directory(nil)
... and as you can see, the problem is that file-name-as-directory
is called
with a nil argument, whereas it expects a string.
> (let* ((project-plist ...) (base-dir ...) (include-list ...)
(recurse ...)
> (extension ...) (match ...)) (setq org-publish-temp-files nil)
> (org-publish-get-base-files-1 base-dir recurse match exclude-regexp
> exclude-regexp) (mapc (lambda ... ...) include-list) org-publish-
temp-files)
> org-publish-get-base-files(("options" :section-numbers nil
> :table-of-contents nil :style "<script
> type=\"text/javascript\">\n /* <![CDATA[ */\n
> org_html_manager.set(" TOC ", 1);\n
org_html_manager.set("
> LOCAL_TOC ", 1);\n org_html_manager.set("
VIEW_BUTTONS ", "
> true ");\n org_html_manager.set(" MOUSE_HINT ", "
underline
> "); // or background-color like '#eeeeee'\n
> org_html_manager.setup ();\n /* ]]> */\n
> </script>") nil)
... and this tells us that org-publish-get-base-files got called and
somewhere in the execution of the let* form, it got the error.
So you look at that let* form in org-publish-get-base-files and you
see this:
(let* ((project-plist (cdr project))
(base-dir (file-name-as-directory
(plist-get project-plist :base-directory)))
...
which tells me that you *have* to have a project-plist and it *has*
to have a :base-directory property in order to be able to publish.
You just cannot take an arbitrary org file and publish it without
providing the publishing framework for it.
HTH,
Nick
> >
> > > Today I was trying to publish a single org file using
> > > org-publish-current-file, however, org refused to do so, the
error
> > message
> > > is
> > >
> > > ====
> > > let*: Wrong type argument: stringp, nil
> > > ====
> > >
> > > I believe the org-publish function work well, for I could get
the
> > > pre-defined project published smoothly. So do anyone has met
similar
> > > problem?
> > >
> >
> > Please set debug-on-error to t and after recreating the error,
post the
> > resulting backtrace. See the "Feedback" section of the Org
manual for more
> > details on how to report problems.
> >
> > HTH,
> > Nick
- Carsten
_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode