[Orgmode] Publish-current-file error
Dear all, 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? All the best, Chao ___ 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
Re: [Orgmode] Publish-current-file error
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);\norg_html_manager.set( LOCAL_TOC , 1);\norg_html_manager.set( VIEW_BUTTONS , true );\norg_html_manager.set( MOUSE_HINT , underline ); // or background-color like '#ee'\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
Re: [Orgmode] Publish-current-file error
Chao Lu looc...@gmail.com wrote: 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? Assuming you do a good job of implementing it, Carsten will happily accept patches. :-) Cheers, 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
Re: [Orgmode] Publish-current-file error
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);\norg_html_manager.set( VIEW_BUTTONS , true );\norg_html_manager.set( MOUSE_HINT , underline ); // or background-color like '#ee'\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