Mercurial > emacs
comparison lisp/uniquify.el @ 27686:888000b8e8b6
(toplevel): Require CL at compile time.
(uniquify-push): Removed.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Sat, 12 Feb 2000 19:48:01 +0000 |
parents | 465ff99f6dd2 |
children | 32c5f03d36c9 |
comparison
equal
deleted
inserted
replaced
27685:15ad3fb709f8 | 27686:888000b8e8b6 |
---|---|
83 | 83 |
84 | 84 |
85 ;;; Code: | 85 ;;; Code: |
86 | 86 |
87 (provide 'uniquify) | 87 (provide 'uniquify) |
88 (eval-when-compile (require 'cl)) | |
88 | 89 |
89 ;;; User-visible variables | 90 ;;; User-visible variables |
90 | 91 |
91 (defgroup uniquify nil | 92 (defgroup uniquify nil |
92 "Unique buffer names dependent on file name" | 93 "Unique buffer names dependent on file name" |
156 :type 'boolean | 157 :type 'boolean |
157 :group 'uniquify) | 158 :group 'uniquify) |
158 | 159 |
159 | 160 |
160 ;;; Utilities | 161 ;;; Utilities |
161 | |
162 (defmacro uniquify-push (item list) | |
163 `(setq ,list (cons ,item ,list))) | |
164 | 162 |
165 ;; For directories, return the last component, not the empty string. | 163 ;; For directories, return the last component, not the empty string. |
166 (defun uniquify-file-name-nondirectory (file-name) | 164 (defun uniquify-file-name-nondirectory (file-name) |
167 (file-name-nondirectory (directory-file-name file-name))) | 165 (file-name-nondirectory (directory-file-name file-name))) |
168 | 166 |
211 (buffer-name buffer)))) | 209 (buffer-name buffer)))) |
212 (or (not newbuffile) | 210 (or (not newbuffile) |
213 (equal rawname | 211 (equal rawname |
214 (uniquify-file-name-nondirectory newbuffile)))))) | 212 (uniquify-file-name-nondirectory newbuffile)))))) |
215 (if deserving | 213 (if deserving |
216 (uniquify-push (list rawname bfn buffer nil) fix-list) | 214 (push (list rawname bfn buffer nil) fix-list) |
217 (uniquify-push (list (buffer-name buffer)) | 215 (push (list (buffer-name buffer)) |
218 uniquify-non-file-buffer-names))) | 216 uniquify-non-file-buffer-names))) |
219 (setq buffers (cdr buffers)))) | 217 (setq buffers (cdr buffers)))) |
220 ;; selects buffers whose names may need changing, and others that | 218 ;; selects buffers whose names may need changing, and others that |
221 ;; may conflict. | 219 ;; may conflict. |
222 (setq fix-list | 220 (setq fix-list |
223 (sort fix-list 'uniquify-fix-item-filename-lessp)) | 221 (sort fix-list 'uniquify-fix-item-filename-lessp)) |
271 (if (not (equal proposed-name old-name)) | 269 (if (not (equal proposed-name old-name)) |
272 (progn | 270 (progn |
273 (uniquify-rationalize-conflicting-sublist | 271 (uniquify-rationalize-conflicting-sublist |
274 conflicting-sublist old-name depth) | 272 conflicting-sublist old-name depth) |
275 (setq conflicting-sublist nil))) | 273 (setq conflicting-sublist nil))) |
276 (uniquify-push item conflicting-sublist) | 274 (push item conflicting-sublist) |
277 (setq old-name proposed-name)) | 275 (setq old-name proposed-name)) |
278 (setq fix-list (cdr fix-list))) | 276 (setq fix-list (cdr fix-list))) |
279 (uniquify-rationalize-conflicting-sublist | 277 (uniquify-rationalize-conflicting-sublist |
280 conflicting-sublist old-name depth))) | 278 conflicting-sublist old-name depth))) |
281 | 279 |