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?

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
>
_______________________________________________
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

Reply via email to