Your IP : 216.73.216.48
;ELC
;;; Compiled
;;; in Emacs version 24.5
;;; 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\304\301&\210\306\321\310\311\322DD\323\314\324\304\301&\210\306\325\310\311\326DD\327\314\324\304\301&\210\306\330\310\311\331DD\332\314\333\304\301&\210\306\334\310\311\335DD\336\314\337\304\301&\210\306\340\310\311\341DD\342\314\343\304\301&\210\306\344\310\311\345DD\346\314\324\304\301&\210\306\347\310\311\350DD\351\314\324\304\301&\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 "\n\n(fn)"] "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 "\n\n(fn)"] "If non-nil, rerationalize buffer names after a buffer has been killed." boolean uniquify-ask-about-buffer-names-p #[0 "\300\207" [nil] 1 "\n\n(fn)"] "If non-nil, permit user to choose names for buffers with same base file.\nIf the user chooses to name a buffer, uniquification is preempted and no\nother buffer names are changed." uniquify-ignore-buffers-re #[0 "\300\207" [nil] 1 "\n\n(fn)"] "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 "\n\n(fn)"] "Minimum number of directory name components included in buffer name." integer uniquify-separator #[0 "\300\207" [nil] 1 "\n\n(fn)"] "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 "\n\n(fn)"] "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 "\n\n(fn)"] "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."] 12)
#@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) (#$ . 4031))
(byte-code "\300\301\302\303#\210\300\304\305\306#\207" [byte-code "\300\301\302\"\207" [defalias #1=#:uniquify-item-base--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block uniquify-item-base (or (and (memq (aref cl-x 0) cl-struct-uniquify-item-tags)) (error "%s accessing a non-%s" 'uniquify-item-base 'uniquify-item)) (aref cl-x 1)) nil] 9 "\n\n(fn CL-WHOLE-ARG CL-X)"]] 3 "\300\301\302\303#\207" [put uniquify-item-base compiler-macro #1#] 4] 4)
(defalias 'uniquify-item-base #[257 "\211\301H>\204 \302\303\304\305#\210\211\306H\207" [cl-struct-uniquify-item-tags 0 error "%s accessing a non-%s" uniquify-item-base uniquify-item 1] 5 "\n\n(fn CL-X)"])
(byte-code "\300\301\302\303#\210\300\304\305\306#\207" [byte-code "\300\301\302\"\207" [defalias #1=#:uniquify-item-dirname--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block uniquify-item-dirname (or (and (memq (aref cl-x 0) cl-struct-uniquify-item-tags)) (error "%s accessing a non-%s" 'uniquify-item-dirname 'uniquify-item)) (aref cl-x 2)) nil] 9 "\n\n(fn CL-WHOLE-ARG CL-X)"]] 3 "\300\301\302\303#\207" [put uniquify-item-dirname compiler-macro #1#] 4] 4)
(defalias 'uniquify-item-dirname #[257 "\211\301H>\204 \302\303\304\305#\210\211\306H\207" [cl-struct-uniquify-item-tags 0 error "%s accessing a non-%s" uniquify-item-dirname uniquify-item 2] 5 "\n\n(fn CL-X)"])
(byte-code "\300\301\302\303#\210\300\304\305\306#\207" [byte-code "\300\301\302\"\207" [defalias #1=#:uniquify-item-buffer--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block uniquify-item-buffer (or (and (memq (aref cl-x 0) cl-struct-uniquify-item-tags)) (error "%s accessing a non-%s" 'uniquify-item-buffer 'uniquify-item)) (aref cl-x 3)) nil] 9 "\n\n(fn CL-WHOLE-ARG CL-X)"]] 3 "\300\301\302\303#\207" [put uniquify-item-buffer compiler-macro #1#] 4] 4)
(defalias 'uniquify-item-buffer #[257 "\211\301H>\204 \302\303\304\305#\210\211\306H\207" [cl-struct-uniquify-item-tags 0 error "%s accessing a non-%s" uniquify-item-buffer uniquify-item 3] 5 "\n\n(fn CL-X)"])
(byte-code "\300\301\302\303#\210\300\304\305\306#\207" [byte-code "\300\301\302\"\207" [defalias #1=#:uniquify-item-proposed--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block uniquify-item-proposed (or (and (memq (aref cl-x 0) cl-struct-uniquify-item-tags)) (error "%s accessing a non-%s" 'uniquify-item-proposed 'uniquify-item)) (aref cl-x 4)) nil] 9 "\n\n(fn CL-WHOLE-ARG CL-X)"]] 3 "\300\301\302\303#\207" [put uniquify-item-proposed compiler-macro #1#] 4] 4)
(defalias 'uniquify-item-proposed #[257 "\211\301H>\204 \302\303\304\305#\210\211\306H\207" [cl-struct-uniquify-item-tags 0 error "%s accessing a non-%s" uniquify-item-proposed uniquify-item 4] 5 "\n\n(fn CL-X)"])
(byte-code "\300\301\302\303#\210\300\304\305\306#\207" [byte-code "\300\301\302\"\207" [defalias #1=#:uniquify-item-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block uniquify-item-p (and (vectorp cl-x) (>= (length cl-x) 5) (memq (aref cl-x 0) cl-struct-uniquify-item-tags) t)) nil] 9 "\n\n(fn CL-WHOLE-ARG CL-X)"]] 3 "\300\301\302\303#\207" [put uniquify-item-p compiler-macro #1#] 4] 4)
(defalias 'uniquify-item-p #[257 "\301!\205 \211G\302Y\205 \211\303H>\205 \304\207" [cl-struct-uniquify-item-tags vectorp 5 0 t] 3 "\n\n(fn CL-X)"])
(byte-code "\300\301\302\303#\210\300\304\305\306#\207" [byte-code "\300\301\302\"\207" [defalias #1=#:uniquify-make-item--cmacro #[1156 "\211A\262\242\203 \300\301\302\303G\\D\"\210\304\305\306\307\211\211\n\n\n & \207" [signal wrong-number-of-arguments #1# 5 cl--defsubst-expand (base dirname buffer proposed) (cl-block uniquify-make-item (vector 'cl-struct-uniquify-item base dirname buffer proposed)) nil] 16 "\n\n(fn CL-WHOLE-ARG &cl-quote BASE DIRNAME BUFFER &optional PROPOSED)"]] 3 "\300\301\302\303#\207" [put uniquify-make-item compiler-macro #1#] 4] 4)
#@47
(fn BASE DIRNAME BUFFER &optional PROPOSED)
(defalias 'uniquify-make-item #[899 "\211A\262\242\203 \300\301\302\303G\\D\"\210\304\305%\207" [signal wrong-number-of-arguments uniquify-make-item 4 vector cl-struct-uniquify-item] 11 (#$ . 8328)])
(byte-code "\301C\302\303\304\305#\210\302\303\306\307#\210\302\303\310\311#\210\302\303\312\313#\210\302\314\315\313#\210\302\316\315\317#\210\302\320\315\313#\210\302\321\315\313#\210\302\322\315\313#\210\302\323\315\313#\207" [cl-struct-uniquify-item-tags cl-struct-uniquify-item put uniquify-item cl-struct-slots ((cl-tag-slot) (base) (dirname) (buffer) (proposed)) cl-struct-type (vector nil) cl-struct-include nil cl-struct-print t uniquify-make-item side-effect-free uniquify-item-p error-free uniquify-item-proposed uniquify-item-buffer uniquify-item-dirname uniquify-item-base] 4)
(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 (#$ . 9226))
(byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local uniquify-managed put permanent-local t] 4)
#@104 Return the base name of the current buffer.
Return nil if the buffer is not managed by uniquify.
(fn)
(defalias 'uniquify-buffer-base-name #[0 "\205 @\302H >\204 \303\304\305\306#\210@\307H\207" [uniquify-managed cl-struct-uniquify-item-tags 0 error "%s accessing a non-%s" uniquify-item-base uniquify-item 1] 4 (#$ . 9531)])
#@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\333 \304\305!!\262\306\307\303%C\303\310 \211\203\325 \211@ \2030 \311 \312!\"\204\316 \313\300\"\211\262\203\316 @\314H\n>\204K \315\316\317\320#\210@\321H\232\203\316 @>\204\316 A\204\276 @\314H\n>\204n \315\316\322\320#\210@\211\323\324@\314H\n>\204\203 \315\316\325\320#\210@\326H!I\266@\314H\n>\204\233 \315\316\322\320#\210@\323H\204\276 r@\314H\n>\204\262 \315\316\325\320#\210@\326Hq\210\303)\303\262\327\303\330\331\"\"\262\332\"\262A\266\202\202 \210\333!\266\202\207" [uniquify-managed uniquify-ignore-buffers-re cl-struct-uniquify-item-tags nil expand-file-name directory-file-name vector cl-struct-uniquify-item buffer-list string-match buffer-name buffer-local-value 0 error #1="%s accessing a non-%s" uniquify-item-base uniquify-item 1 uniquify-item-dirname 2 uniquify-buffer-file-name uniquify-item-buffer 3 delq mapcar #[257 "\301\302H>\204 \303\304\305\306#\210\307H!\205 \211\207" [cl-struct-uniquify-item-tags buffer-live-p 0 error #1# uniquify-item-buffer uniquify-item 3] 6 "\n\n(fn ITEM)"] append uniquify-rationalize] 15 (#$ . 9870) (byte-code "\203 @\302H >\204 \303\304\305\306#\210@\307H\202 \310 \311p!pE\207" [uniquify-managed cl-struct-uniquify-item-tags 0 error #1# uniquify-item-base 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 (#$ . 11542)])
#@87 Re-rationalize the buffers in FIX-LIST, but ignoring `current-buffer'.
(fn FIX-LIST)
(defalias 'uniquify-rerationalize-w/o-cb #[257 "\301\211\2032 \211@\211\302H>\204 \303\304\305\306#\210\211\307H\211p=\204* \310!\203* B\262\210A\266\202\202 \210\211\205: \311!\207" [cl-struct-uniquify-item-tags nil 0 error "%s accessing a non-%s" uniquify-item-buffer uniquify-item 3 buffer-live-p uniquify-rationalize] 8 (#$ . 12051)])
(defalias 'uniquify-rationalize #[257 "\211\211\203] \211@r\211\303H>\204 \304\305\306\307#\210\211\310Hq\210\211\303H>\204) \304\305\311\307#\210\211\211\312\313\303H>\204; \304\305\314\307#\210\315H\303H>\204L \304\305\316\307#\210\317H\"I\266)A\266\202\202 \210\211A\203+\n\203+\320\321@\303H>\204x \304\305\316\307#\210@\317H!G\303V\205\264 \203\263 \211\203\263 \321\211A\262\242\211\303H>\204\243 \304\305\316\307#\210\211\317H\262!\232\204\205 \322\262\202\205 \266\202\203*\322\262\211\203&\211@\211\303H>\204\321 \304\305\314\307#\210\211\315H\323\303H>\204\343 \304\305\316\307#\210\317H!\211\205\356 \324!\262\303H>\204\376 \304\305\306\307#\210\310H\303H>\204\304\305\311\307#\210\312H\325\326%\266\204B\262A\266\202\202\275 \210\202h \210\327!\207" [cl-struct-uniquify-item-tags uniquify-managed uniquify-strip-common-suffix 0 error "%s accessing a non-%s" uniquify-item-buffer uniquify-item 3 uniquify-item-proposed 4 uniquify-get-proposed-name uniquify-item-base 1 uniquify-item-dirname 2 t file-name-nondirectory nil file-name-directory directory-file-name vector cl-struct-uniquify-item uniquify-rationalize-a-list] 14 "\n\n(fn FIX-LIST)"])
(defalias 'uniquify-item-greaterp #[514 "\211\301H>\204 \302\303\304\305#\210\211\306H\301H>\204 \302\303\304\305#\210\306H\231\207" [cl-struct-uniquify-item-tags 0 error "%s accessing a non-%s" uniquify-item-proposed uniquify-item 4] 7 "\n\n(fn ITEM1 ITEM2)"])
(defalias 'uniquify-rationalize-a-list #[513 "\211\204 \262\302\303\302\304\305!\306\"\211\203I \211@\211\307H >\204% \310\311\312\313#\210\211\314H\262\232\204: \315#\210\302\262\211B\262\262A\266\202\202 \210\315#\207" [uniquify-min-dir-content cl-struct-uniquify-item-tags nil "" sort copy-sequence uniquify-item-greaterp 0 error "%s accessing a non-%s" uniquify-item-proposed uniquify-item 4 uniquify-rationalize-conflicting-sublist] 11 "\n\n(fn FIX-LIST &optional DEPTH)"])
(defalias 'uniquify-get-proposed-name #[770 "\211\204 \262\305!\232\204 \306\307\310C\"\210 \203E \311\312\"!\203E \313\230\204E \n\314=\2036 \315!\262\202E \n\316=\203E \206A \317P\262\320\211\321V\203\203 \203\203 \322!\323!\211\262\203b \305!\262S\262\324G!\203z \325!\206t \313\320\262\202{ \211B\262\210\202G \324!\203\240 \203\236 \203\236 \323!\232\203\236 \313B\262\326\204\250 \202 \313\230\203\266 \327\330\331#\202 \n\316=\203\314 \327\330\237B\206\310 \317#\202 \n\314=\203\336 \327\330C\244\331#\202 \n\332=\203\363 \206\352 \333\327\330\331#Q\202 \n\334=\203\335\327\330\331#\336R\202 \337\340\n\"\207" [uniquify-min-dir-content uniquify-trailing-separator-p uniquify-buffer-name-style uniquify-separator uniquify-possibly-resolvable directory-file-name signal cl-assertion-failed (equal (directory-file-name dirname) dirname) file-directory-p expand-file-name "" forward file-name-as-directory reverse "\\" nil 0 file-name-nondirectory file-name-directory zerop file-remote-p t mapconcat identity "/" post-forward "|" post-forward-angle-brackets "<" ">" error "Bad value for uniquify-buffer-name-style: %s"] 11 "\n\n(fn BASE DIRNAME &optional DEPTH)"])
(defalias 'uniquify-rationalize-conflicting-sublist #[771 "\205\217 A\204+ \302!\211\205&