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