From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Sebastien Vauban" Subject: Re: Contrib missing from (Cygwin) Emacs Date: Fri, 25 Jan 2013 13:28:24 +0100 Message-ID: <86r4l9sazb.fsf@somewhere.org> References: <86ham6wr57.fsf@somewhere.org> <878v7i4mix.fsf@bzg.ath.cx> <86ehhacu73.fsf@somewhere.org> <878v7ipefo.fsf@bzg.ath.cx> Mime-Version: 1.0 Content-Type: text/plain Return-path: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org-mXXj517/zsQ@public.gmane.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org-mXXj517/zsQ@public.gmane.org To: emacs-orgmode-mXXj517/zsQ@public.gmane.org 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).