emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] Contrib missing from (Cygwin) Emacs


From: Sebastien Vauban
Subject: Re: [O] Contrib missing from (Cygwin) Emacs
Date: Fri, 25 Jan 2013 13:28:24 +0100
User-agent: Gnus/5.130006 (Ma Gnus v0.6) Emacs/24.2.92 (windows-nt)

Hi Bastien, Achim and Charles,

Bastien wrote:
> yes, the default `org-ditaa-jar-path' value points to the contrib/
> directory, but a wrong value for this variable does prevent publishing a web
> page -- unless you want to publish ditaa shunk without setting the
> `org-ditaa-jar-path' correctly.
>
> Is it what you did?

Nope. I don't use DITAA in my Web pages at all.

When looking more carefully at the backtrace:

--8<---------------cut here---------------start------------->8---
Debugger entered--Lisp error: (error "Can't find library org")
  signal(error ("Can't find library org"))
  error("Can't find library %s" "org")
  find-library-name("org")
  (file-name-directory (find-library-name "org"))
  (expand-file-name "../contrib" (file-name-directory (find-library-name 
"org")))
  (file-name-as-directory (expand-file-name "../contrib" (file-name-directory 
(find-library-name "org"))))
  (expand-file-name "scripts" (file-name-as-directory (expand-file-name 
"../contrib" (file-name-directory (find-library-name "org")))))
  (file-name-as-directory (expand-file-name "scripts" (file-name-as-directory 
(expand-file-name "../contrib" (file-name-directory (find-library-name 
"org"))))))
  (expand-file-name "ditaa.jar" (file-name-as-directory (expand-file-name 
"scripts" (file-name-as-directory (expand-file-name "../contrib" 
(file-name-directory (find-library-name "org")))))))
  eval((expand-file-name "ditaa.jar" (file-name-as-directory (expand-file-name 
"scripts" (file-name-as-directory (expand-file-name "../contrib" 
(file-name-directory (find-library-name "org"))))))))
  custom-initialize-reset(org-ditaa-jar-path (expand-file-name "ditaa.jar" 
(file-name-as-directory (expand-file-name "scripts" (file-name-as-directory 
(expand-file-name "../contrib" (file-name-directory (find-library-name 
"org"))))))))
  custom-declare-variable(org-ditaa-jar-path (expand-file-name "ditaa.jar" 
(file-name-as-directory (expand-file-name "scripts" (file-name-as-directory 
(expand-file-name "../contrib" (file-name-directory (find-library-name 
"org"))))))) ("/usr/share/emacs/24.2/lisp/org/org-exp-blocks.elc" . 6117) 
:group org-babel :type string)
  require(org-exp-blocks)
  
byte-code("\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\300\306!\207"
 [require org org-macs org-agenda org-exp-blocks ob-exp org-src] 2)
  require(org-exp)
  
byte-code("\300\301!\210\300\302!\210\300\303!\210\304\305!\204\306\305\307\"\210\300\207"
 [require org org-exp format-spec fboundp declare-function defalias (macro . 
#[(fn file &optional arglist fileonly) "\300\207" [nil] 1])] 3)
  require(org-publish)
--8<---------------cut here---------------end--------------->8---

it seems that (in the latest Cygwin Emacs, that is Emacs bundled with Org-mode
version 7.8.11):

1. `org-publish' calls `org-exp' (still true as of today)
2. `org-exp' calls `org-exp-blocks' (not true anymore)
3. `org-exp-blocks' needs, somehow, a right value for DITAA.

Wait, wait, wait...

When reading the backtrace even more carefully, this 3rd observation is not
what's said by the error message: "../contrib" is not (I guess Achim is right)
the problem here, but the fact that `find-library-name' fails to find "org".

So, the problem comes down to the fact that the following...

#+begin_src emacs-lisp
  (require 'find-func)
  (find-library-name "org")
#+end_src

... does fail with the latest Cygwin [1]:

--8<---------------cut here---------------start------------->8---
Debugger entered--Lisp error: (error "Can't find library org")
  signal(error ("Can't find library org"))
  error("Can't find library %s" "org")
  find-library-name("org")
--8<---------------cut here---------------end--------------->8---

OTOH, the following does work:

#+begin_src emacs-lisp
  (message "%s" (locate-library "org"))
#+end_src

and returns:

--8<---------------cut here---------------start------------->8---
/usr/share/emacs/24.2/lisp/org/org.elc
--8<---------------cut here---------------end--------------->8---

I'm not sure to understand the (subtle?) difference between
`find-library-name' and `locate-library'...

IOW, using `locate-library' (if equivalent) in `org-exp-blocks' would (seem
to) be a workaround to this problem. But...?

Best regards,
  Seb

--
Sebastien Vauban

[1] No local Org installation -- or at least no (add-to-list 'load-path).




reply via email to

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