Current File : //proc/self/root/kunden/kunden/proc/thread-self/root/usr/share/emacs/27.2/lisp/uniquify.elc |
;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; with all optimizations.
;;; This file uses dynamic docstrings, first added in Emacs 19.29.
;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(byte-code "\300\301\302\303\304\305%\210\306\307\310\311\312DD\313\314\315\316\317\320\301& \210\306\321\310\311\322DD\323\314\324%\210\306\325\310\311\326DD\327\314\330%\210\306\331\310\311\332DD\333\314\334%\210\306\335\310\311\336DD\337\314\340%\210\306\341\310\311\342DD\343\314\324%\210\306\344\310\311\345DD\346\314\324%\207" [custom-declare-group uniquify nil "Unique buffer names dependent on file name." :group files custom-declare-variable uniquify-buffer-name-style funcall function #[0 "\300\207" [post-forward-angle-brackets] 1] "How to construct unique buffer names for files with the same base name.\nThe value can be one of: `forward', `reverse', `post-forward',\n`post-forward-angle-brackets', or nil.\n\nFor example, the files `/foo/bar/mumble/name' and `/baz/quux/mumble/name'\nwould have the following buffer names in the various styles:\n\n forward bar/mumble/name quux/mumble/name\n reverse name\\mumble\\bar name\\mumble\\quux\n post-forward name|bar/mumble name|quux/mumble\n post-forward-angle-brackets name<bar/mumble> name<quux/mumble>\n nil name name<2>\n\nThe \"mumble\" part may be stripped as well, depending on the\nsetting of `uniquify-strip-common-suffix'. For more options that\nyou can set, browse the `uniquify' custom group." :type (radio (const forward) (const reverse) (const post-forward) (const post-forward-angle-brackets) (const :tag "numeric suffixes" nil)) :version "24.4" :require uniquify-after-kill-buffer-p #[0 "\300\207" [t] 1] "If non-nil, rerationalize buffer names after a buffer has been killed." boolean uniquify-ignore-buffers-re #[0 "\300\207" [nil] 1] "Regular expression matching buffer names that should not be uniquified.\nFor instance, set this to \"^draft-[0-9]+$\" to avoid having uniquify rename\ndraft buffers even if `uniquify-after-kill-buffer-p' is non-nil and the\nvisited file name isn't the same as that of the buffer." (choice (const :tag "Uniquify all buffers" nil) regexp) uniquify-min-dir-content #[0 "\300\207" [0] 1] "Minimum number of directory name components included in buffer name." integer uniquify-separator #[0 "\300\207" [nil] 1] "String separator for buffer name components.\nWhen `uniquify-buffer-name-style' is `post-forward', separates\nbase file name from directory part in buffer names (default \"|\").\nWhen `uniquify-buffer-name-style' is `reverse', separates all\nfile name components (default \"\\\")." (choice (const nil) string) uniquify-trailing-separator-p #[0 "\300\207" [nil] 1] "If non-nil, add a file name separator to dired buffer names.\nIf `uniquify-buffer-name-style' is `forward', add the separator at the end;\nif it is `reverse', add the separator at the beginning; otherwise, this\nvariable is ignored." uniquify-strip-common-suffix #[0 "\301=\207" [uniquify-min-dir-content 0] 2] "If non-nil, strip common directory suffixes of conflicting files.\nE.g. if you open /a1/b/c/d and /a2/b/c/d, the buffer names will say\n\"d|a1\" and \"d|a2\" instead of \"d|a1/b/c\" and \"d|a2/b/c\".\nThis can be handy when you have deep parallel hierarchies."] 10)
#@217 List of modes for which uniquify should obey `list-buffers-directory'.
That means that when `buffer-file-name' is set to nil, `list-buffers-directory'
contains the name of the directory which the buffer is visiting.
(defvar uniquify-list-buffers-directory-modes '(dired-mode cvs-mode vc-dir-mode) (#$ . 3593))
#@72 compiler-macro for inlining `uniquify-item-p'.
(fn CL-WHOLE-ARG CL-X)
(defalias 'uniquify-item-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block uniquify-item-p (and (memq (type-of cl-x) cl-struct-uniquify-item-tags) t)) nil] 9 (#$ . 3909)])
(put 'uniquify-item-p 'compiler-macro 'uniquify-item-p--cmacro)
#@13
(fn CL-X)
(defalias 'uniquify-item-p #[257 "\301!>\205 \302\207" [cl-struct-uniquify-item-tags type-of t] 3 (#$ . 4261)])
(byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put uniquify-item-p side-effect-free error-free put uniquify-item cl-deftype-satisfies] 5)
#@75 compiler-macro for inlining `uniquify-item-base'.
(fn CL-WHOLE-ARG CL-X)
(defalias 'uniquify-item-base--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block uniquify-item-base (progn (or (uniquify-item-p cl-x) (signal 'wrong-type-argument (list 'uniquify-item cl-x))) (aref cl-x 1))) nil] 9 (#$ . 4547)])
(put 'uniquify-item-base 'compiler-macro 'uniquify-item-base--cmacro)
#@63 Access slot "base" of `uniquify-item' struct CL-X.
(fn CL-X)
(defalias 'uniquify-item-base #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-uniquify-item-tags type-of signal wrong-type-argument uniquify-item 1] 5 (#$ . 4962)])
(byte-code "\300\301\302\303#\300\207" [function-put uniquify-item-base side-effect-free t] 4)
#@78 compiler-macro for inlining `uniquify-item-dirname'.
(fn CL-WHOLE-ARG CL-X)
(defalias 'uniquify-item-dirname--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block uniquify-item-dirname (progn (or (uniquify-item-p cl-x) (signal 'wrong-type-argument (list 'uniquify-item cl-x))) (aref cl-x 2))) nil] 9 (#$ . 5309)])
(put 'uniquify-item-dirname 'compiler-macro 'uniquify-item-dirname--cmacro)
#@66 Access slot "dirname" of `uniquify-item' struct CL-X.
(fn CL-X)
(defalias 'uniquify-item-dirname #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-uniquify-item-tags type-of signal wrong-type-argument uniquify-item 2] 5 (#$ . 5739)])
(byte-code "\300\301\302\303#\300\207" [function-put uniquify-item-dirname side-effect-free t] 4)
#@77 compiler-macro for inlining `uniquify-item-buffer'.
(fn CL-WHOLE-ARG CL-X)
(defalias 'uniquify-item-buffer--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block uniquify-item-buffer (progn (or (uniquify-item-p cl-x) (signal 'wrong-type-argument (list 'uniquify-item cl-x))) (aref cl-x 3))) nil] 9 (#$ . 6095)])
(put 'uniquify-item-buffer 'compiler-macro 'uniquify-item-buffer--cmacro)
#@65 Access slot "buffer" of `uniquify-item' struct CL-X.
(fn CL-X)
(defalias 'uniquify-item-buffer #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-uniquify-item-tags type-of signal wrong-type-argument uniquify-item 3] 5 (#$ . 6520)])
(byte-code "\300\301\302\303#\300\207" [function-put uniquify-item-buffer side-effect-free t] 4)
#@79 compiler-macro for inlining `uniquify-item-proposed'.
(fn CL-WHOLE-ARG CL-X)
(defalias 'uniquify-item-proposed--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block uniquify-item-proposed (progn (or (uniquify-item-p cl-x) (signal 'wrong-type-argument (list 'uniquify-item cl-x))) (aref cl-x 4))) nil] 9 (#$ . 6873)])
(put 'uniquify-item-proposed 'compiler-macro 'uniquify-item-proposed--cmacro)
#@67 Access slot "proposed" of `uniquify-item' struct CL-X.
(fn CL-X)
(defalias 'uniquify-item-proposed #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-uniquify-item-tags type-of signal wrong-type-argument uniquify-item 4] 5 (#$ . 7308)])
(byte-code "\300\301\302\303#\300\207" [function-put uniquify-item-proposed side-effect-free t] 4)
#@109 compiler-macro for inlining `uniquify-make-item'.
(fn CL-WHOLE-ARG BASE DIRNAME BUFFER &optional PROPOSED)
(defalias 'uniquify-make-item--cmacro #[1284 "\300\301\302\303\211\211 & \207" [cl--defsubst-expand (base dirname buffer proposed) (cl-block uniquify-make-item (record 'uniquify-item base dirname buffer proposed)) nil] 15 (#$ . 7668)])
(put 'uniquify-make-item 'compiler-macro 'uniquify-make-item--cmacro)
#@95 Constructor for objects of type `uniquify-item'.
(fn BASE DIRNAME BUFFER &optional PROPOSED)
(defalias 'uniquify-make-item #[1027 "\300\301%\207" [record uniquify-item] 10 (#$ . 8095)])
(byte-code "\300\301\302\303#\304\305\306\307\310\306\311\312\305\303& \207" [function-put uniquify-make-item side-effect-free t cl-struct-define uniquify-item nil cl-structure-object record ((cl-tag-slot) (base) (dirname) (buffer) (proposed)) cl-struct-uniquify-item-tags] 11)
(defvar uniquify-possibly-resolvable nil)
#@138 Non-nil if the name of this buffer is managed by uniquify.
It actually holds the list of `uniquify-item's corresponding to the conflict.
(defvar uniquify-managed nil (#$ . 8613))
(byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local uniquify-managed put permanent-local t] 4)
#@98 Return the base name of the current buffer.
Return nil if the buffer is not managed by uniquify.
(defalias 'uniquify-buffer-base-name #[0 "\205 \302@! >\204 \303\304\305@D\"\210@\306H\207" [uniquify-managed cl-struct-uniquify-item-tags type-of signal wrong-type-argument uniquify-item 1] 4 (#$ . 8917)])
#@263 Make file buffer names unique by adding segments from file name.
If `uniquify-min-dir-content' > 0, always pulls that many
file name elements.
Arguments BASE, DIRNAME, and NEWBUF specify the new buffer that causes
this rationalization.
(fn BASE DIRNAME NEWBUF)
(defalias 'uniquify-rationalize-file-buffer-names #[771 "r\211q\210\303)\205\347 \304\305!!\262\306\307\303%C\303\310 \211\203\341 \211@ \2030 \311 \312!\"\204\332 \313\300\"\211\262\203\332 \314@!\n>\204N \315\316\307@D\"\210@\317H\232\203\332 @>\204\332 A\204\312 \314@!\n>\204s \315\316\307@D\"\210@\211\320\321\314@!\n>\204\213 \315\316\307 @D\"\210@\322H!I\266\314@!\n>\204\245 \315\316\307@D\"\210@\320H\204\312 r\314@!\n>\204\276 \315\316\307@D\"\210@\322Hq\210\303)\303\262\323\303\324\325\"\"\262\326\"\262A\266\202\202 \210\327!\266\202\207" [uniquify-managed uniquify-ignore-buffers-re cl-struct-uniquify-item-tags nil expand-file-name directory-file-name record uniquify-item buffer-list string-match buffer-name buffer-local-value type-of signal wrong-type-argument 1 2 uniquify-buffer-file-name 3 delq mapcar #[257 "\301\302!>\204 \303\304\305D\"\210\306H!\205 \211\207" [cl-struct-uniquify-item-tags buffer-live-p type-of signal wrong-type-argument uniquify-item 3] 6 "\n\n(fn ITEM)"] append uniquify-rationalize] 15 (#$ . 9234) (byte-code "\203 \302@! >\204 \303\304\305@D\"\210@\306H\202 \307 \310p!pE\207" [uniquify-managed cl-struct-uniquify-item-tags type-of signal wrong-type-argument uniquify-item 1 buffer-name uniquify-buffer-file-name] 4)])
#@224 Return name of directory, file BUFFER is visiting, or nil if none.
Works on ordinary file-visiting buffers and buffers whose mode is mentioned
in `uniquify-list-buffers-directory-modes', otherwise returns nil.
(fn BUFFER)
(defalias 'uniquify-buffer-file-name #[257 "r\211q\210\206 \n>\205 \211\205 \304\305\306\304!!!!\262)\207" [buffer-file-name major-mode uniquify-list-buffers-directory-modes list-buffers-directory directory-file-name file-name-directory expand-file-name] 7 (#$ . 10827)])
#@87 Re-rationalize the buffers in FIX-LIST, but ignoring `current-buffer'.
(fn FIX-LIST)
(defalias 'uniquify-rerationalize-w/o-cb #[257 "\301\211\2033 \211@\302!>\204 \303\304\305D\"\210\211\306H\211p=\204+ \307!\203+ B\262\210A\266\202\202 \210\211\205; \310!\207" [cl-struct-uniquify-item-tags nil type-of signal wrong-type-argument uniquify-item 3 buffer-live-p uniquify-rationalize] 8 (#$ . 11336)])
#@17
(fn FIX-LIST)
(defalias 'uniquify-rationalize #[257 "\211\211\203d \211@r\303!>\204 \304\305\306D\"\210\211\307Hq\210\303!>\204+ \304\305\306D\"\210\211\211\310\311\303!>\204? \304\305\306D\"\210\312H\303!>\204S \304\305\306D\"\210\313H\"I\266)A\266\202\202 \210\211A\203:\n\203:\314\315\303@!>\204\201 \304\305\306@D\"\210@\313H!G\316V\205\276 \203\275 \211\203\275 \315\211A\262\242\303!>\204\255 \304\305\306D\"\210\211\313H\262!\232\204\216 \317\262\202\216 \266\202\2039\317\262\211\2035\211@\303!>\204\334 \304\305\306D\"\210\211\312H\320\303!>\204\357 \304\305\306D\"\210\313H!\211\205\372 \321!\262\303!>\204\304\305\306D\"\210\307H\303!>\204\304\305\306D\"\210\310H\322\306%\266\204B\262A\266\202\202\307 \210\202o \210\323!\207" [cl-struct-uniquify-item-tags uniquify-managed uniquify-strip-common-suffix type-of signal wrong-type-argument uniquify-item 3 4 uniquify-get-proposed-name 1 2 t file-name-nondirectory 0 nil file-name-directory directory-file-name record uniquify-rationalize-a-list] 14 (#$ . 11755)])
#@20
(fn ITEM1 ITEM2)
(defalias 'uniquify-item-greaterp #[514 "\301!>\204 \302\303\304D\"\210\211\305H\301!>\204! \302\303\304D\"\210\305H\231\207" [cl-struct-uniquify-item-tags type-of signal wrong-type-argument uniquify-item 4] 7 (#$ . 12862)])
#@33
(fn FIX-LIST &optional DEPTH)
(defalias 'uniquify-rationalize-a-list #[513 "\211\204 \262\302\303\302\304\305!\306\"\211\203J \211@\307! >\204&