Hi !
First of all, please avoid mixing merges and bugfix (or any other
manual modification) in the same patch. This makes the portion of
the changeset related to the bugfix very hard to identify.
Second point: [EMAIL PROTECTED]
completely broke my xtla :-(
The problematic pieces of code are like the following:
@@ -72,9 +72,7 @@
;; Inspired from `cvs-get-buffer-create'
(or (tla--get-buffer type path)
(let ((path (and path
- (expand-file-name (if (file-directory-p path)
- (concat path "/")
- path))))
+ (expand-file-name path)))
(name (cadr (assoc type tla--buffer-type-alist))))
(with-current-buffer
(let* ((default-directory (or path default-directory))
I think I'm the one who wrote the removed part. I should have
documented it, but here's the problem it solves:
1) If I run M-x tla-changes RET twice, with default-directory having
the values "/home/moy" and "/home/moy/", I don't want to create two
*tla-changes* buffers.
2) See by yourself:
ELISP> (let ((default-directory "/home/moy")) (shell-command-to-string "pwd"))
"/home\n"
If the variable `default-directory' has no trailing slash, then,
the last part is ignored when launching a process.
Since `default-directory' is often set from bookmarks, and since I
usually have no trailing slash in the `local-tree' field of my
bookmarks, the second point was a real problem. Actually, I think this
is the cause of the problem solved by
[EMAIL PROTECTED]
The function `expand-file-name' partly solves the problem number 1)
("~/emacs-lisp" and "/home/moy/emacs-lisp" are made equivalent for
example), but not the second.
My solution was correct with GNU Emacs, but not with XEmacs: GNU
Emacs' `expand-file-name' removes multiple slashes in filenames,
XEmacs' doesn't.
Therefore, my solution returned a unique directory identifier, with
/exactly/ one trailing slash on GNU Emacs, but something not unique,
and with potentially multiple trailing slashes on XEmacs.
My last patch,
[EMAIL PROTECTED], provide a
portable solution for the problem.
--
Matthieu