[Orgmode] Publish-current-file error

2010-02-02 Thread Chao Lu
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

2010-02-02 Thread Chao Lu
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

2010-02-02 Thread Nick Dokos
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

2010-02-02 Thread Carsten Dominik


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