Hi Sebastian,

excellent catch, thank you very much!  This was one difficult
to trace bug.

I have applied you patch and modified it a bit further, by
wrapping it in unwind-protect.  So even if the version computation
throws an error, the working directory will be restored.

- Carsten

P.S.  In fact, Bernt did try to restore the working directory
      in his original org-version function, but that code was
      not always executed due to badly placed parenthesis.

On Nov 10, 2009, at 11:51 PM, SebastianRose wrote:

Hi,


I found out why I ran into this earlier. It's _not_ org-reload, it's
org-version that changes the default directory. Patch attached.


I don't know where my bug report is... so I cannot respond to that
post.




Best wishes,

 Sebastian

diff --git a/lisp/org.el b/lisp/org.el
index 42e229e..0b1005f 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -102,7 +102,8 @@
  "Show the org-mode version in the echo area.
With prefix arg HERE, insert it at point."
  (interactive "P")
-  (let* ((version org-version)
+  (let* ((origin default-directory)
+        (version org-version)
         (git-version)
         (dir (concat (file-name-directory (locate-library "org")) "../" )))
    (if (and (file-exists-p (expand-file-name ".git" dir))
@@ -122,6 +123,7 @@ With prefix arg HERE, insert it at point."
            (cd pwd))))
    (setq version (format "Org-mode version %s" version))
    (if here (insert version))
+    (cd origin)
    (message version)
    version))


- Carsten





_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

Reply via email to