diff options
| author | Stefan Monnier | 2003-05-07 21:56:43 +0000 |
|---|---|---|
| committer | Stefan Monnier | 2003-05-07 21:56:43 +0000 |
| commit | ad599c11938b8cf5ccc85c403fb4659debac5d33 (patch) | |
| tree | e3aaf2eb37d1dd8027af7ce9297b43630fa393e6 | |
| parent | c6e26ce2e466e93739d2ba3917d15ce7cadf26ea (diff) | |
| download | emacs-ad599c11938b8cf5ccc85c403fb4659debac5d33.tar.gz emacs-ad599c11938b8cf5ccc85c403fb4659debac5d33.zip | |
(uniquify-rationalize-file-buffer-names):
Don't uniquify if there is no filename.
| -rw-r--r-- | lisp/uniquify.el | 48 |
1 files changed, 25 insertions, 23 deletions
diff --git a/lisp/uniquify.el b/lisp/uniquify.el index cf5155c9615..d360b17dc0b 100644 --- a/lisp/uniquify.el +++ b/lisp/uniquify.el | |||
| @@ -180,29 +180,31 @@ If `uniquify-min-dir-content' > 0, always pulls that many | |||
| 180 | file name elements. | 180 | file name elements. |
| 181 | Arguments NEWBUFFILE and NEWBUF cause only a subset of buffers to be renamed." | 181 | Arguments NEWBUFFILE and NEWBUF cause only a subset of buffers to be renamed." |
| 182 | (interactive) | 182 | (interactive) |
| 183 | (setq newbuffile (expand-file-name (directory-file-name newbuffile))) | 183 | (if (null newbuffile) |
| 184 | (let ((fix-list nil) | 184 | (with-current-buffer newbuf (setq uniquify-managed nil)) |
| 185 | (base (file-name-nondirectory newbuffile))) | 185 | (setq newbuffile (expand-file-name (directory-file-name newbuffile))) |
| 186 | (dolist (buffer (buffer-list)) | 186 | (let ((fix-list nil) |
| 187 | (let ((bufname (buffer-name buffer)) | 187 | (base (file-name-nondirectory newbuffile))) |
| 188 | bfn) | 188 | (dolist (buffer (buffer-list)) |
| 189 | (when (and (not (and uniquify-ignore-buffers-re | 189 | (let ((bufname (buffer-name buffer)) |
| 190 | (string-match uniquify-ignore-buffers-re | 190 | bfn) |
| 191 | bufname))) | 191 | (when (and (not (and uniquify-ignore-buffers-re |
| 192 | ;; Only try to rename buffers we actually manage. | 192 | (string-match uniquify-ignore-buffers-re |
| 193 | (or (buffer-local-value 'uniquify-managed buffer) | 193 | bufname))) |
| 194 | (eq buffer newbuf)) | 194 | ;; Only try to rename buffers we actually manage. |
| 195 | (setq bfn (if (eq buffer newbuf) newbuffile | 195 | (or (buffer-local-value 'uniquify-managed buffer) |
| 196 | (uniquify-buffer-file-name buffer))) | 196 | (eq buffer newbuf)) |
| 197 | (equal (file-name-nondirectory bfn) base)) | 197 | (setq bfn (if (eq buffer newbuf) newbuffile |
| 198 | (when (setq bfn (file-name-directory bfn)) ;Strip off the `base'. | 198 | (uniquify-buffer-file-name buffer))) |
| 199 | (setq bfn (directory-file-name bfn))) ;Strip trailing slash. | 199 | (equal (file-name-nondirectory bfn) base)) |
| 200 | (push (uniquify-make-item base bfn buffer | 200 | (when (setq bfn (file-name-directory bfn)) ;Strip off the `base'. |
| 201 | (uniquify-get-proposed-name base bfn)) | 201 | (setq bfn (directory-file-name bfn))) ;Strip trailing slash. |
| 202 | fix-list)))) | 202 | (push (uniquify-make-item base bfn buffer |
| 203 | ;; selects buffers whose names may need changing, and others that | 203 | (uniquify-get-proposed-name base bfn)) |
| 204 | ;; may conflict, then bring conflicting names together | 204 | fix-list)))) |
| 205 | (uniquify-rationalize fix-list))) | 205 | ;; selects buffers whose names may need changing, and others that |
| 206 | ;; may conflict, then bring conflicting names together | ||
| 207 | (uniquify-rationalize fix-list)))) | ||
| 206 | 208 | ||
| 207 | ;; uniquify's version of buffer-file-name; result never contains trailing slash | 209 | ;; uniquify's version of buffer-file-name; result never contains trailing slash |
| 208 | (defun uniquify-buffer-file-name (buffer) | 210 | (defun uniquify-buffer-file-name (buffer) |