changeset 817:1dd126823b36

*** empty log message ***
author Jim Blandy <jimb@redhat.com>
date Fri, 17 Jul 1992 22:17:57 +0000
parents fc1f790220a4
children a1a57d5a94bb
files lisp/files.el lisp/progmodes/etags.el src/xfns.c
diffstat 3 files changed, 23 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/files.el	Fri Jul 17 21:04:37 1992 +0000
+++ b/lisp/files.el	Fri Jul 17 22:17:57 1992 +0000
@@ -327,10 +327,18 @@
 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 @@
 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)
--- a/lisp/progmodes/etags.el	Fri Jul 17 21:04:37 1992 +0000
+++ b/lisp/progmodes/etags.el	Fri Jul 17 22:17:57 1992 +0000
@@ -164,7 +164,7 @@
 						       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
--- a/src/xfns.c	Fri Jul 17 21:04:37 1992 +0000
+++ b/src/xfns.c	Fri Jul 17 22:17:57 1992 +0000
@@ -1671,6 +1671,17 @@
   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;