emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [Orgmode] Publish-current-file error


From: Carsten Dominik
Subject: Re: [Orgmode] Publish-current-file error
Date: Wed, 3 Feb 2010 01:10:32 +0100


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 <address@hidden> wrote:
Chao Lu <address@hidden> 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







reply via email to

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