diff options
| author | Jim Blandy <jimb@redhat.com> | 1992-07-17 22:17:57 +0000 |
|---|---|---|
| committer | Jim Blandy <jimb@redhat.com> | 1992-07-17 22:17:57 +0000 |
| commit | e373f2011039e1efb38ac7de3c7cf1c94c8acb8c (patch) | |
| tree | 69ad2635eb0a022d47e45875bb5107d2c4502285 | |
| parent | c0acc3e1cd36b203b6c1c37241fe634c5cfa3a54 (diff) | |
| download | emacs-e373f2011039e1efb38ac7de3c7cf1c94c8acb8c.tar.gz | |
*** empty log message ***
| -rw-r--r-- | lisp/files.el | 18 | ||||
| -rw-r--r-- | lisp/progmodes/etags.el | 2 | ||||
| -rw-r--r-- | src/xfns.c | 11 |
3 files changed, 23 insertions, 8 deletions
diff --git a/lisp/files.el b/lisp/files.el index 6e68c137f77..7a0a56448a9 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -327,10 +327,18 @@ otherwise a string <2> or <3> or ... is appended to get an unused name." Choose the buffer's name using generate-new-buffer-name." (get-buffer-create (generate-new-buffer-name name))) +(defconst automount-dir-prefix "^/tmp_mnt/" + "Regexp to match the automounter prefix in a directory name.") + (defun abbreviate-file-name (filename) "Return a version of FILENAME shortened using directory-abbrev-alist. This also substitutes \"~\" for the user's home directory. See \\[describe-variable] directory-abbrev-alist RET for more information." + ;; Get rid of the prefixes added by the automounter. + (if (and (string-match automount-dir-prefix filename) + (file-exists-p (file-name-directory + (substring filename (1- (match-end 0)))))) + (setq filename (substring filename (1- (match-end 0))))) (let ((tail directory-abbrev-alist)) (while tail (if (string-match (car (car tail)) filename) @@ -347,13 +355,9 @@ See \\[describe-variable] directory-abbrev-alist RET for more information." If a buffer exists visiting FILENAME, return that one, but verify that the file has not changed since visited or saved. The buffer is not selected, just returned to the caller." - (setq filename (expand-file-name filename)) - ;; Get rid of the prefixes added by the automounter. - (if (and (string-match "^/tmp_mnt/" filename) - (file-exists-p (file-name-directory - (substring filename (1- (match-end 0)))))) - (setq filename (substring filename (1- (match-end 0))))) - (setq filename (abbreviate-file-name filename)) + (setq filename + (abbreviate-file-name + (expand-file-name filename))) (if (file-directory-p filename) (if find-file-run-dired (dired-noselect filename) diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el index 2c171190093..01af927e301 100644 --- a/lisp/progmodes/etags.el +++ b/lisp/progmodes/etags.el @@ -164,7 +164,7 @@ file the tag was in." default-directory) t) current-prefix-arg)) - (setq file (expand-file-name file)) + (setq file (abbreviate-file-name (expand-file-name file))) (if (file-directory-p file) (setq file (expand-file-name "TAGS" file))) (if local diff --git a/src/xfns.c b/src/xfns.c index 12e211a5127..5eef329e6ca 100644 --- a/src/xfns.c +++ b/src/xfns.c @@ -1671,6 +1671,17 @@ x_window (f) class_hints.res_class = EMACS_CLASS; XSetClassHint (x_current_display, f->display.x->window_desc, &class_hints); + /* x_set_name normally ignores requests to set the name if the + requested name is the same as the current name. This is the one + place where that assumption isn't correct; f->name is set, but + the X server hasn't been told. */ + { + Lisp_Object name = f->name; + + f->name = Qnil; + x_set_name (f, name, Qnil); + } + XDefineCursor (XDISPLAY f->display.x->window_desc, f->display.x->text_cursor); UNBLOCK_INPUT; |
