;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301\302\303\304\305%\210\306\307\310\311\312\313\304\301&\210\306\314\315\316\312\317\304\301&\210\306\320\321\322\312\323\304\301&\210\306\324\315\325\312\317\304\301&\210\306\326\302\327\312\317\304\301&\210\306\330\315\331\312\317\304\301&\210\306\332\302\333\312\334\304\301&\210\306\335\336\337\312\340\304\301&\210\306\341\342\343\312\340\304\301&\210\306\344\345\346\312\347\304\301&\210\306\350\351\352\312\353\304\301&\210\306\354\355\356\312\340\304\301&\210\306\357\360\361\312\340\304\301&\210\306\362\363\364\312\340\304\301&\210\306\365\366\367\312\340\304\301&\210\306\370\302\371\312\317\304\301&\210\306\372\373\374\312\375\304\301&\210\376\377\201@\201A\304\301%\210\376\341\201B\201C\304\301%\210\376\201D\201E\201F\304\301%\210\376\201G\201H\201I\304\301%\210\376\201J\201K\201L\304\301%\210\376\201M\201N\201O\304\301%\210\376\201P\201Q\201R\304\301%\210\376\201S\201T\201U\304\301%\210\376\201V\201W\201X\304\301%\210\376\201Y\201Z\201[\304\301%\210\376\357\201\\\201]\304\301%\210\300\201^\302\201_\304\301%\210\306\201`\302\201a\312\317\304\201^&\210\306\201b\302\201c\312\340\304\201^&\210\300\201d\302\201e\304\301%\210\306\201f\201g\201h\312\201i\304\201d&\210\306\201j\201k\201l\312\201m\304\201d&\210\306\201n\201o\201p\312\201q\304\201d&\210\306\201r\201s\201t\312\201u\304\201d&\210\306\201v\201w\201x\312\201y\304\201d&\210\306\201z\201{\201|\312\201}\304\201d&\207" [custom-declare-group tab-group nil "Grouped tabs and their tabbar." :group convenience custom-declare-variable tab-group:show-tabbar 'header-line "Place to show tabbar.\n\nThe following symbols are available:\n header-line : the tabbar is shown as the header line\n mode-line : the tabbar is shown as the mode line\n manual : the tabbar is not to be shown automatically\n\nWhen the value of the variable is the symbol `manual', you have\nto manually set `tab-group:tabbar' somewhere in\n`header-line-format' or `mode-line-format'." :type (choice (const :tag "header line" header-line) (const :tag "mode line" mode-line) (const :tag "manual" manual)) tab-group:show-group-name t "t means to show group name on the tabbar." boolean tab-group:show-scroll-button 'on-demand "Specify when to show the scroll buttons.\n`on-demand' means that the scroll buttons appear when there is a\nspace to scroll. `always' means that the scroll buttons always\nappear even if they are disabled. `never' means that the scroll\nbuttons never appear." (choice (const :tag "on demand" on-demand) (const :tag "always" always) (const :tag "never" nil)) tab-group:scroll "Automatically scroll tabbar to make selected tab visible." tab-group:truncate "Truncate tab name if there isn't enough space." tab-group:no-truncation-for-current-tab "Do not truncate the current tab." tab-group:tabbar-width "Max width of tabbar.\nnil means the window width is used. Otherwise, tabs in the\ntabbar are truncated or scrolled according to the values of\n`tab-group:truncated' and `tab-group:scroll' to fit in the width\nbut this does not mean to hide some part of tabbar longer than\nthe width. To restring length of the tabbar, use the form for\nexample '(20 tab-group:tabbar) in `header-line-format' or\n`mode-line-format'." (choice integer (const :tag "window width" nil)) tab-group:ellipsis (string 8230) "Ellipsis string used for truncation." string tab-group:tab-separator " " "Separator string of tabs." tab-group:show-tab-index 'on-demand "Specify when to show the tab index.\n`on-demand' means that the index appears during tab selection.\n`always' means that the index always appears. `never' means that\nthe index never appears." (choice (const :tag "on demand" 'on-demand) (const :tag "always" 'always) (const :tag "never" 'never)) tab-group:tab-index 'relative "The way to show the index of a tab.\n`relative' means that the index is the position (starting from 0)\nin the tabbar. `fixed' means that the index is the least unused\nnumber when the tab is created." (choice (const :tag "relative" 'relative) (const :tag "fixed" 'fixed)) tab-group:tab-index-format "%d:" "Format of tab number.\nThis is used when selecting tab by `tab-group:select'." tab-group:move-target (string 8964) "Target indicator of tab movement." tab-group:scroll-left-symbol (string 171) "Symbol of scroll left button." tab-group:scroll-right-symbol (string 187) "Symbol of scroll right button." tab-group:select-single-match "Automatically select matched tab in `tab-group:select' when\nthere is only one such tab." tab-group:prefix "C-x t" "Prefix for tab group keymap `tab-group:local-mode-map'.\nThis variable must be set before loading tab-group.el." (choice string vector) custom-declare-face tab-group:tabbar ((t (:inherit header-line :underline nil))) "Face of tabbar." ((t (:inherit tab-group:tabbar))) "Face of tab separator." tab-group:group ((t (:inherit tab-group:tabbar :foreground "#8c8ce8"))) "Face of group name." tab-group:scroll-button ((t (:inherit tab-group:tabbar))) "Face of scroll button." tab-group:scroll-button:hover ((t (:inherit tab-group:tab:active))) "Face of scroll button under the mouse." tab-group:scroll-button:disabled ((t (:inherit tab-group:scroll-button :foreground "gray"))) "Face of disabled scroll button." tab-group:tab ((t (:inherit tab-group:tabbar))) "Face of unselected tabs." tab-group:tab:active ((t (:inherit tab-group:tab :background "SteelBlue" :foreground "white" :bold t))) "Face of the selected tab." tab-group:tab:hover ((t (:inherit tab-group:tab :background "LightSkyBlue" :foreground "white"))) "Face of the tab under the mouse." tab-group:match ((t (:foreground "tomato" :underline t))) "Face for matched text." ((t (:inherit tab-group:tab))) "Face of target of moving tab." tab-group:group-buffer "Show a single buffer for each group." tab-group:group-buffer-mode "t means to automatically enable group buffer mode.\nSee the documentation of `tab-group:group-buffer-local-mode' for\nthe detail. This variable must be set before creating a new tab\ngroup, i.e., to make this variable take effect in the default\ngroup, it must be set before loading tab-group.el." tab-group:group-buffer-prefix "Put prefix on buffer names of group buffers." tab-group:auto "Automatically put buffers into groups." tab-group:auto-process-modes '(comint-mode compilation-mode) "Modes which is put into \"Process\" group." (list symbol) tab-group:auto-help-modes '(help-mode apropos-mode Info-mode Man-mode) "Modes which is put into \"Help\" group." (list symbol) tab-group:auto-mail-modes '(rmail-mode rmail-edit-mode vm-summary-mode vm-mode mail-mode mh-letter-mode mh-show-mode mh-folder-mode gnus-summary-mode message-mode gnus-group-mode gnus-article-mode score-mode gnus-browse-killed-mode mew-summary-mode mew-header-mode mew-message-mode mew-draft-mode mew-virtual-mode mew-addrbook-mode mew-refile-view-mode wl-summary-mode wl-message-mode wl-original-message-mode wl-draft-mode wl-view-mode wl-template-mode wl-addrbook-mode wl-addrmgr-mode wl-news-mode wl-plugged-mode) "Modes which is put into \"Mail\" group." (list symbol) tab-group:auto-common-buffers '("*scratch*" "*Messages*") "Buffer names of which buffer is put into \"Common\" group." (list string) tab-group:auto-exclude-modes '(completion-list-mode Buffer-menu-mode) "Modes which is not put into any group." (list symbol) tab-group:auto-exclude-buffers '("*Completions*") "Buffer names of which buffer is not put into any group." (list string)] 8) (defvar tab-group:groups nil) (defvar tab-group:default-group nil) (defvar tab-group:tab-id 0) #@55 Function used to make a tab label list in the tabbar. (defvar tab-group:tab-list-function 'tab-group:tab-list (#$ . 7722)) (defvar tab-group:update-search-function 'tab-group:update-search) (defvar tab-group:start-search-function 'tab-group:start-search) (defvar tab-group:end-search-function 'tab-group:end-search) (defvar tab-group:search-result nil) (defvar tab-group:search-group nil) (defvar tab-group:search-current-buffer nil) (defvar tab-group:search-pattern nil) (defvar tab-group:search-scroll-restore nil) (defvar tab-group:move-current-tab nil) (defvar tab-group:move-tab-list-restore nil) (defvar tab-group:tab-list-tab+size-width 26) (defvar tab-group:tab-list-column 4) (defvar tab-group:tab-list-process-name-width 25) (defvar tab-group:tab-list-mode-remap nil) #@61 Buffer local value of the active tab of the current buffer. (defvar tab-group:current-tab nil (#$ . 8506)) (byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local tab-group:current-tab put permanent-local t] 4) #@42 Tabs that the current buffer belongs to. (defvar tab-group:buffer-tabs nil (#$ . 8743)) (byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local tab-group:buffer-tabs put permanent-local t] 4) #@85 Tabbar construct which can be used in `header-line-format' or `mode-line-format'. (defvar tab-group:tabbar nil (#$ . 8961)) (byte-code "\300\301\302\303#\210\304\301!\210\300\301\305\303#\207" [put tab-group:tabbar risky-local-variable t make-variable-buffer-local permanent-local] 4) (defvar tab-group:scroll-buttons (list "")) (byte-code "\300\301\302\303#\210\304\301!\210\300\301\305\303#\207" [put tab-group:scroll-buttons risky-local-variable t make-variable-buffer-local permanent-local] 4) (defvar tab-group:restore-tabbar nil) (byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local tab-group:restore-tabbar put permanent-local t] 4) (defvar tab-group:last-scroll-pos nil) (byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local tab-group:last-scroll-pos put permanent-local t] 4) (defvar tab-group:tablist-cache nil) (byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local tab-group:tablist-cache put permanent-local t] 4) (defvar tab-group:buffer-original-name nil) (byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local tab-group:buffer-original-name put permanent-local t] 4) (defvar tab-group:buffer-original-id nil) (make-variable-buffer-local 'tab-group:buffer-original-id) (defvar tab-group:buffer-original-file nil) (byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local tab-group:buffer-original-file put permanent-local t] 4) (defvar tab-group:buffer-last-mtime nil) (byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local tab-group:buffer-last-mtime put permanent-local t] 4) #@88 Function which determines names of groups which the current buffer should be put into. (defvar tab-group:buffer-auto-groups-function 'tab-group:buffer-auto-groups (#$ . 10588)) #@126 Function which determines if the current buffer is automatically put into some groups when `tab-group:auto-mode' is enabled. (defvar tab-group:buffer-auto-p-function 'tab-group:buffer-auto-p (#$ . 10772)) #@64 Hook runs just after initialization of `tab-group:local-mode'. (defvar tab-group:local-mode-entery-hook nil (#$ . 10983)) #@63 Hook runs just before finalization of `tab-group:local-mode'. (defvar tab-group:local-mode-exit-hook nil (#$ . 11111)) #@147 Hook runs just after selecting a tab. The current buffer and `tab-group:current-tab' are those of the selected tab in the invocation of the hook. (defvar tab-group:select-tab-hook nil (#$ . 11237)) #@243 Hook runs when another tab is to be selected or the current tab is going to be popped out from the tabbar. This hook must take two arguments TAB and GROUP. TAB is the tab being unselected and GROUP is the group of TAB (possibly nil). (defvar tab-group:unselect-tab-hook nil (#$ . 11442)) (defvar tab-group:keymap (byte-code "\301 \302\303\304#\210\302\305\304#\210\302\306\307#\210\302\310\311#\210\302\312\313#\210\302\314\315#\210\302\316\317#\210\302\320\321#\210\302\322\323#\210\302\324\325#\210\302\326\327#\210\302\330\331#\210\302\332\333#\210\302\334\335#\210\302\336\337#\210\302\340\341#\210\302\342\343#\210)\207" [map make-sparse-keymap define-key " " tab-group:next "n" "p" tab-group:prev "s" tab-group:select "g" tab-group:switch "N" tab-group:new "P" tab-group:pop "r" tab-group:rename "l" tab-group:list [left] tab-group:scroll-left [right] tab-group:scroll-right [home] tab-group:scroll-begin [end] tab-group:scroll-end "<" tab-group:move-tab-left ">" tab-group:move-tab-right "[" tab-group:move-tab-begin "]" tab-group:move-tab-end] 4)) #@42 Local keymap for `tab-group:local-mode'. (defvar tab-group:local-mode-map (byte-code "\304 \305 \211;\203\306\n!\202\n) #\210)\207" [map tab-group:prefix prefix tab-group:keymap make-sparse-keymap define-key read-kbd-macro] 5) (#$ . 12531)) (byte-code "\300\301\302K\"\207" [defalias tab-group:define-key define-key] 3) (defalias 'tab-group:define-button-map '(macro . #[(bind &rest body) "@\303 \304BC\305\306\307\310\nBBE F)\207" [bind map body let ((make-sparse-keymap)) dolist (prefix '(nil (header-line) (mode-line))) flet ((define-key (map key def) (tab-group:define-key map (vconcat prefix key) def)))] 7])) (byte-code "\300\301\302\303#\300\207" [function-put tab-group:define-button-map lisp-indent-function 1] 4) #@45 Keymap (mouse event map) for tabbar button. (defvar tab-group:tab-button-map (byte-code "\305 \306\307\211\203E\n@\310\311K\312\216\311 M\210\311\313\314#\210\311\315\316#\210\311\317\320#\210\311\321\322#\210\311\323\324#\210\311\325\326#\210+\nA\211\204 *)\207" [map prefix --dolist-tail-- #1=#:vnew #2=#:old make-sparse-keymap (nil (header-line) (mode-line)) nil #[(map key def) "\304\305 \n\" #\207" [map prefix key def tab-group:define-key vconcat] 5] define-key #[nil "\301M\207" [#2# define-key] 2] [mouse-1] tab-group:mouse-select [mouse-2] tab-group:mouse-kill [double-mouse-1] tab-group:rename [double-mouse-3] tab-group:pop [down-mouse-1] tab-group:move-start [drag-mouse-1] tab-group:mouse-move] 5) (#$ . 13270)) #@51 Keymap (mouse event map) for tabbar group button. (defvar tab-group:group-button-map (byte-code "\305 \306\307\211\2033\n@\310\311K\312\216\311 M\210\311\313\314#\210\311\315\316#\210\311\317\320#\210+\nA\211\204 *)\207" [map prefix --dolist-tail-- #1=#:vnew #2=#:old make-sparse-keymap (nil (header-line) (mode-line)) nil #[(map key def) "\304\305 \n\" #\207" [map prefix key def tab-group:define-key vconcat] 5] define-key #[nil "\301M\207" [#2# define-key] 2] [mouse-1] tab-group:next-group [mouse-3] tab-group:prev-group [double-mouse-1] tab-group:list] 5) (#$ . 14019)) #@57 Keymap (mouse event map) for tabbar scroll left button. (defvar tab-group:scroll-left-map (byte-code "\305 \306\307\211\203-\n@\310\311K\312\216\311 M\210\311\313\314#\210\311\315\316#\210+\nA\211\204 *)\207" [map prefix --dolist-tail-- #1=#:vnew #2=#:old make-sparse-keymap (nil (header-line) (mode-line)) nil #[(map key def) "\304\305 \n\" #\207" [map prefix key def tab-group:define-key vconcat] 5] define-key #[nil "\301M\207" [#2# define-key] 2] [mouse-1] tab-group:scroll-left [double-mouse-1] tab-group:scroll-begin] 5) (#$ . 14615)) #@58 Keymap (mouse event map) for tabbar scroll right button. (defvar tab-group:scroll-right-map (byte-code "\305 \306\307\211\203-\n@\310\311K\312\216\311 M\210\311\313\314#\210\311\315\316#\210+\nA\211\204 *)\207" [map prefix --dolist-tail-- #1=#:vnew #2=#:old make-sparse-keymap (nil (header-line) (mode-line)) nil #[(map key def) "\304\305 \n\" #\207" [map prefix key def tab-group:define-key vconcat] 5] define-key #[nil "\301M\207" [#2# define-key] 2] [mouse-1] tab-group:scroll-right [double-mouse-1] tab-group:scroll-end] 5) (#$ . 15176)) (defconst tab-group:zero-width-space (byte-code "\300\301\302!\303\304\305\306%\207" [propertize string 8203 face tab-group:tabbar display (space :width 0)] 6)) (defconst tab-group:scroll-button-left (propertize tab-group:scroll-left-symbol 'face 'tab-group:scroll-button 'mouse-face 'tab-group:scroll-button:hover 'help-echo "Scroll left" 'local-map tab-group:scroll-left-map)) (defconst tab-group:scroll-button-right (propertize tab-group:scroll-right-symbol 'face 'tab-group:scroll-button 'mouse-face 'tab-group:scroll-button:hover 'help-echo "Scroll right" 'local-map tab-group:scroll-right-map)) #@50 compiler-macro for inlining `tab-group:group-p'. (defalias 'tab-group:group-p--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tab-group:group-p (and (memq (type-of cl-x) cl-struct-tab-group:group-tags) t)) nil] 7 (#$ . 16339)]) (put 'tab-group:group-p 'compiler-macro 'tab-group:group-p--cmacro) (defalias 'tab-group:group-p #[(cl-x) "\302! >\205 \303\207" [cl-x cl-struct-tab-group:group-tags type-of t] 2]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put tab-group:group-p side-effect-free error-free put tab-group:group cl-deftype-satisfies] 5) #@53 compiler-macro for inlining `tab-group:group-name'. (defalias 'tab-group:group-name--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tab-group:group-name (progn (or (tab-group:group-p cl-x) (signal 'wrong-type-argument (list 'tab-group:group cl-x))) (aref cl-x 1))) nil] 7 (#$ . 16973)]) (put 'tab-group:group-name 'compiler-macro 'tab-group:group-name--cmacro) #@54 Access slot "name" of `tab-group:group' struct CL-X. (defalias 'tab-group:group-name #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-tab-group:group-tags type-of signal wrong-type-argument tab-group:group 1] 4 (#$ . 17400)]) (byte-code "\300\301\302\303#\300\207" [function-put tab-group:group-name side-effect-free t] 4) #@53 compiler-macro for inlining `tab-group:group-tabs'. (defalias 'tab-group:group-tabs--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tab-group:group-tabs (progn (or (tab-group:group-p cl-x) (signal 'wrong-type-argument (list 'tab-group:group cl-x))) (aref cl-x 2))) nil] 7 (#$ . 17752)]) (put 'tab-group:group-tabs 'compiler-macro 'tab-group:group-tabs--cmacro) #@54 Access slot "tabs" of `tab-group:group' struct CL-X. (defalias 'tab-group:group-tabs #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-tab-group:group-tags type-of signal wrong-type-argument tab-group:group 2] 4 (#$ . 18179)]) (byte-code "\300\301\302\303#\300\207" [function-put tab-group:group-tabs side-effect-free t] 4) #@55 compiler-macro for inlining `tab-group:group-tabbar'. (defalias 'tab-group:group-tabbar--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tab-group:group-tabbar (progn (or (tab-group:group-p cl-x) (signal 'wrong-type-argument (list 'tab-group:group cl-x))) (aref cl-x 3))) nil] 7 (#$ . 18531)]) (put 'tab-group:group-tabbar 'compiler-macro 'tab-group:group-tabbar--cmacro) #@56 Access slot "tabbar" of `tab-group:group' struct CL-X. (defalias 'tab-group:group-tabbar #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-tab-group:group-tags type-of signal wrong-type-argument tab-group:group 3] 4 (#$ . 18968)]) (byte-code "\300\301\302\303#\300\207" [function-put tab-group:group-tabbar side-effect-free t] 4) #@53 compiler-macro for inlining `tab-group:group-list'. (defalias 'tab-group:group-list--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tab-group:group-list (progn (or (tab-group:group-p cl-x) (signal 'wrong-type-argument (list 'tab-group:group cl-x))) (aref cl-x 4))) nil] 7 (#$ . 19326)]) (put 'tab-group:group-list 'compiler-macro 'tab-group:group-list--cmacro) #@54 Access slot "list" of `tab-group:group' struct CL-X. (defalias 'tab-group:group-list #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-tab-group:group-tags type-of signal wrong-type-argument tab-group:group 4] 4 (#$ . 19753)]) (byte-code "\300\301\302\303#\300\207" [function-put tab-group:group-list side-effect-free t] 4) #@56 compiler-macro for inlining `tab-group:group-binding'. (defalias 'tab-group:group-binding--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tab-group:group-binding (progn (or (tab-group:group-p cl-x) (signal 'wrong-type-argument (list 'tab-group:group cl-x))) (aref cl-x 5))) nil] 7 (#$ . 20105)]) (put 'tab-group:group-binding 'compiler-macro 'tab-group:group-binding--cmacro) #@57 Access slot "binding" of `tab-group:group' struct CL-X. (defalias 'tab-group:group-binding #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-tab-group:group-tags type-of signal wrong-type-argument tab-group:group 5] 4 (#$ . 20547)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put tab-group:group-binding side-effect-free t defalias copy-tab-group:group copy-sequence] 4) #@113 compiler-macro for inlining `tab-group:make-group'. (fn CL-WHOLE &cl-quote &key NAME TABS TABBAR LIST BINDING) (defalias 'tab-group:make-group--cmacro #[(cl-whole &rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"A@\203V@\314>\203=AA\211\202(\315>A@\203L\316\211\202(\317\320@\"\210\202&)\321\322\323\316\316 \n \f &\n-\207" [#1# name tabs tabbar list binding plist-member :name :tabs :tabbar :list :binding (:name :tabs :tabbar :list :binding :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:name :tabs :tabbar :list :binding)" cl--defsubst-expand (name tabs tabbar list binding) (cl-block tab-group:make-group (record 'tab-group:group name tabs tabbar list binding)) #2=#:--cl-keys-- cl-whole] 12 (#$ . 20963)]) (put 'tab-group:make-group 'compiler-macro 'tab-group:make-group--cmacro) #@93 Constructor for objects of type `tab-group:group'. (fn &key NAME TABS TABBAR LIST BINDING) (defalias 'tab-group:make-group #[(&rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"A@\203V@\314>\203=AA\211\202(\315>A@\203L\316\211\202(\317\320@\"\210\202&)\321\322 \n \f &-\207" [#1# name tabs tabbar list binding plist-member :name :tabs :tabbar :list :binding (:name :tabs :tabbar :list :binding :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:name :tabs :tabbar :list :binding)" record tab-group:group #2=#:--cl-keys--] 8 (#$ . 21857)]) (byte-code "\300\301\302\303#\304\305\306\307\310\306\311\312\305\303& \207" [function-put tab-group:make-group side-effect-free t cl-struct-define tab-group:group nil cl-structure-object record ((cl-tag-slot) (name) (tabs) (tabbar) (list) (binding)) cl-struct-tab-group:group-tags] 11) #@48 compiler-macro for inlining `tab-group:tab-p'. (defalias 'tab-group:tab-p--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tab-group:tab-p (and (memq (type-of cl-x) cl-struct-tab-group:tab-tags) t)) nil] 7 (#$ . 22785)]) (put 'tab-group:tab-p 'compiler-macro 'tab-group:tab-p--cmacro) (defalias 'tab-group:tab-p #[(cl-x) "\302! >\205 \303\207" [cl-x cl-struct-tab-group:tab-tags type-of t] 2]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put tab-group:tab-p side-effect-free error-free put tab-group:tab cl-deftype-satisfies] 5) #@51 compiler-macro for inlining `tab-group:tab-name'. (defalias 'tab-group:tab-name--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tab-group:tab-name (progn (or (tab-group:tab-p cl-x) (signal 'wrong-type-argument (list 'tab-group:tab cl-x))) (aref cl-x 1))) nil] 7 (#$ . 23399)]) (put 'tab-group:tab-name 'compiler-macro 'tab-group:tab-name--cmacro) #@52 Access slot "name" of `tab-group:tab' struct CL-X. (defalias 'tab-group:tab-name #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-tab-group:tab-tags type-of signal wrong-type-argument tab-group:tab 1] 4 (#$ . 23812)]) (byte-code "\300\301\302\303#\300\207" [function-put tab-group:tab-name side-effect-free t] 4) #@49 compiler-macro for inlining `tab-group:tab-id'. (defalias 'tab-group:tab-id--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tab-group:tab-id (progn (or (tab-group:tab-p cl-x) (signal 'wrong-type-argument (list 'tab-group:tab cl-x))) (aref cl-x 2))) nil] 7 (#$ . 24154)]) (put 'tab-group:tab-id 'compiler-macro 'tab-group:tab-id--cmacro) #@50 Access slot "id" of `tab-group:tab' struct CL-X. (defalias 'tab-group:tab-id #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-tab-group:tab-tags type-of signal wrong-type-argument tab-group:tab 2] 4 (#$ . 24557)]) (byte-code "\300\301\302\303#\300\207" [function-put tab-group:tab-id side-effect-free t] 4) #@52 compiler-macro for inlining `tab-group:tab-group'. (defalias 'tab-group:tab-group--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tab-group:tab-group (progn (or (tab-group:tab-p cl-x) (signal 'wrong-type-argument (list 'tab-group:tab cl-x))) (aref cl-x 3))) nil] 7 (#$ . 24893)]) (put 'tab-group:tab-group 'compiler-macro 'tab-group:tab-group--cmacro) #@53 Access slot "group" of `tab-group:tab' struct CL-X. (defalias 'tab-group:tab-group #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-tab-group:tab-tags type-of signal wrong-type-argument tab-group:tab 3] 4 (#$ . 25311)]) (byte-code "\300\301\302\303#\300\207" [function-put tab-group:tab-group side-effect-free t] 4) #@53 compiler-macro for inlining `tab-group:tab-buffer'. (defalias 'tab-group:tab-buffer--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tab-group:tab-buffer (progn (or (tab-group:tab-p cl-x) (signal 'wrong-type-argument (list 'tab-group:tab cl-x))) (aref cl-x 4))) nil] 7 (#$ . 25656)]) (put 'tab-group:tab-buffer 'compiler-macro 'tab-group:tab-buffer--cmacro) #@54 Access slot "buffer" of `tab-group:tab' struct CL-X. (defalias 'tab-group:tab-buffer #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-tab-group:tab-tags type-of signal wrong-type-argument tab-group:tab 4] 4 (#$ . 26079)]) (byte-code "\300\301\302\303#\300\207" [function-put tab-group:tab-buffer side-effect-free t] 4) #@50 compiler-macro for inlining `tab-group:tab-tab'. (defalias 'tab-group:tab-tab--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tab-group:tab-tab (progn (or (tab-group:tab-p cl-x) (signal 'wrong-type-argument (list 'tab-group:tab cl-x))) (aref cl-x 5))) nil] 7 (#$ . 26427)]) (put 'tab-group:tab-tab 'compiler-macro 'tab-group:tab-tab--cmacro) #@51 Access slot "tab" of `tab-group:tab' struct CL-X. (defalias 'tab-group:tab-tab #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-tab-group:tab-tags type-of signal wrong-type-argument tab-group:tab 5] 4 (#$ . 26835)]) (byte-code "\300\301\302\303#\300\207" [function-put tab-group:tab-tab side-effect-free t] 4) #@52 compiler-macro for inlining `tab-group:tab-index'. (defalias 'tab-group:tab-index--cmacro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211&\207" [cl-x cl--defsubst-expand (cl-x) (cl-block tab-group:tab-index (progn (or (tab-group:tab-p cl-x) (signal 'wrong-type-argument (list 'tab-group:tab cl-x))) (aref cl-x 6))) nil] 7 (#$ . 27174)]) (put 'tab-group:tab-index 'compiler-macro 'tab-group:tab-index--cmacro) #@53 Access slot "index" of `tab-group:tab' struct CL-X. (defalias 'tab-group:tab-index #[(cl-x) "\302! >\204\303\304\305D\"\210\306H\207" [cl-x cl-struct-tab-group:tab-tags type-of signal wrong-type-argument tab-group:tab 6] 4 (#$ . 27592)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put tab-group:tab-index side-effect-free t defalias copy-tab-group:tab copy-sequence] 4) #@112 compiler-macro for inlining `tab-group:make-tab'. (fn CL-WHOLE &cl-quote &key NAME ID GROUP BUFFER TAB INDEX) (defalias 'tab-group:make-tab--cmacro #[(cl-whole &rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"A@\306\314\"A@\203^@\315>\203EAA\211\2020\316>A@\203T\317\211\2020\320\321@\"\210\202.)\322\323\324\317\317 \n \f & .\207" [#1# name id group buffer tab plist-member :name :id :group :buffer :tab :index (:name :id :group :buffer :tab :index :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:name :id :group :buffer :tab :index)" cl--defsubst-expand (name id group buffer tab index) (cl-block tab-group:make-tab (record 'tab-group:tab name id group buffer tab index)) index #2=#:--cl-keys-- cl-whole] 13 (#$ . 27990)]) (put 'tab-group:make-tab 'compiler-macro 'tab-group:make-tab--cmacro) #@92 Constructor for objects of type `tab-group:tab'. (fn &key NAME ID GROUP BUFFER TAB INDEX) (defalias 'tab-group:make-tab #[(&rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"A@\306\314\"A@\203^@\315>\203EAA\211\2020\316>A@\203T\317\211\2020\320\321@\"\210\202.)\322\323 \n \f &.\207" [#1# name id group buffer tab plist-member :name :id :group :buffer :tab :index (:name :id :group :buffer :tab :index :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:name :id :group :buffer :tab :index)" record tab-group:tab index #2=#:--cl-keys--] 9 (#$ . 28899)]) (byte-code "\300\301\302\303#\304\305\306\307\310\306\311\312\305\303& \207" [function-put tab-group:make-tab side-effect-free t cl-struct-define tab-group:tab nil cl-structure-object record ((cl-tag-slot) (name) (id) (group) (buffer) (tab) (index)) cl-struct-tab-group:tab-tags] 11) (defalias 'tab-group:to-name #[(obj &optional class) "\205\303!\211\205\304\305\306Q!\n9\203\307\n!\2024\2033 \n!\2033\304\305\310Q!\n!\2024\n*\207" [class classp obj tab-group:to-name intern "tab-group:" "-p" symbol-name "-name"] 5]) (defalias 'tab-group:group #[(group) "\303! >\203\n\207\304\n\"A\207" [group cl-struct-tab-group:group-tags tab-group:groups type-of assoc] 3]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put tab-group:group speed -1 put byte-optimizer byte-compile-inline-expand] 5) (defalias 'tab-group:tabbar-sym #[(group) "\301\300\"\302\303P!)\207" [group tab-group:to-name intern "tab-group:tabbar:"] 3]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put tab-group:tabbar-sym speed -1 put byte-optimizer byte-compile-inline-expand] 5) (defalias 'tab-group:tabbar #[(group) "\301\300\"\302\303P!*J\207" [group tab-group:to-name intern "tab-group:tabbar:"] 3]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put tab-group:tabbar speed -1 put byte-optimizer byte-compile-inline-expand] 5) (defalias 'tab-group:tab-sym #[(group tab-id) "\304\300\"\305 !\n>\203!\305 !\n>\204\306\307\310 D\"\210 \311H\202\" \312\313\314 #!*\207" [group tab-id cl-struct-tab-group:tab-tags id tab-group:to-name type-of signal wrong-type-argument tab-group:tab 2 intern format "tab-group:tab:%s:%d"] 5]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put tab-group:tab-sym speed -1 put byte-optimizer byte-compile-inline-expand] 5) (defalias 'tab-group:tab #[(group tab-id) " \304\300\"\305 !\n>\203%\305 !\n>\204\306\307\310 D\"\210 \311H\202& \312\313\314 #!,J\207" [group tab-id cl-struct-tab-group:tab-tags id tab-group:to-name type-of signal wrong-type-argument tab-group:tab 2 intern format "tab-group:tab:%s:%d"] 5]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put tab-group:tab speed -1 put byte-optimizer byte-compile-inline-expand] 5) (defalias 'tab-group:current-group #[nil "\205\302! >\204\303\304\305D\"\210\306H\207" [tab-group:current-tab cl-struct-tab-group:tab-tags type-of signal wrong-type-argument tab-group:tab 3] 4]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put tab-group:current-group speed -1 put byte-optimizer byte-compile-inline-expand] 5) (defalias 'tab-group:get #[(key &optional group) "\206 \205\305 !\n>\204\306\307\310 D\"\210 \311H\211\2054 \305!\f>\204/\306\307\312D\"\210\313H\236A)\207" [group tab-group:current-tab cl-struct-tab-group:tab-tags key cl-struct-tab-group:group-tags type-of signal wrong-type-argument tab-group:tab 3 tab-group:group 5] 6]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put tab-group:get speed -1 put byte-optimizer byte-compile-inline-expand] 5) (defalias 'tab-group:set #[(key value &optional group) "\206 \205\306 !\n>\204\307\310\311 D\"\210 \312H\211\2051\306! >\204.\307\310\313D\"\210\314H\315 \f\236\f\"\205[\306! >\204L\307\310\313D\"\210\211\314 B\fB\211I)+\207" [group tab-group:current-tab cl-struct-tab-group:tab-tags cl-struct-tab-group:group-tags binding key type-of signal wrong-type-argument tab-group:tab 3 tab-group:group 5 delq #1=#:v value] 5]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put tab-group:set speed -1 put byte-optimizer byte-compile-inline-expand] 5) (defalias 'tab-group:tab-group-name #[(tab) "\303\211! >\204\304\305\306D\"\210\307H!\n>\2041\304\305\310\303! >\204+\304\305\306D\"\210\307HD\"\210\303! >\204@\304\305\306D\"\210\307H\311H\207" [tab cl-struct-tab-group:tab-tags cl-struct-tab-group:group-tags type-of signal wrong-type-argument tab-group:tab 3 tab-group:group 1] 7]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put tab-group:tab-group-name speed -1 put byte-optimizer byte-compile-inline-expand] 5) (defalias 'tab-group:tab-selected-p #[(tab) "\205\302! >\204\303\304\305D\"\210\306Hp=\207" [tab cl-struct-tab-group:tab-tags type-of signal wrong-type-argument tab-group:tab 4] 4]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put tab-group:tab-selected-p speed -1 put byte-optimizer byte-compile-inline-expand] 5) (defalias 'tab-group:last-tab-p #[(tab) "\205\304! >\204\305\306\307D\"\210\310H\2052\311\304\n! >\204,\305\306\312\nD\"\210\n\313H!\242=)\207" [tab cl-struct-tab-group:tab-tags group cl-struct-tab-group:group-tags type-of signal wrong-type-argument tab-group:tab 3 last tab-group:group 2] 6]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put tab-group:last-tab-p speed -1 put byte-optimizer byte-compile-inline-expand] 5) (defalias 'tab-group:fill-face #[(face) "\302\303\304$\305\306 F)\207" [face background face-attribute :background nil :inherit :foreground] 5]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put tab-group:fill-face speed -1 put byte-optimizer byte-compile-inline-expand] 5) #@229 Return a pair of values indicating adjacent elements of ELT in LIST. The first value of the pair is a list of elements before ELT in LIST in reversed order. The second value of the pair is a list of elements after ELT in LIST. (defalias 'tab-group:split #[(elt list) "\304\211\n\203$ \n@=\203\nA\304\211\202\n@ B\nA\211\204 *B\207" [right left list elt nil] 3 (#$ . 34818)]) (defalias 'tab-group:inheriting-propertize #[(str parent props) "C\n\306\211\203 \f@\307 \310\311 #D\"\fA\211\204 *\312\313 \")\207" [str args props prop --dolist-tail-- parent nil append get-text-property 0 apply propertize] 8]) (defalias 'tab-group:window-total-width #[(&optional window) "\302\303!\203\n\303!\207\304!\305 8 @Z)\207" [window e fboundp window-total-width window-edges 2] 2]) (byte-code "\300\301\302\303!\203\f\304\202 \305\"\207" [defalias tab-group:display-update fboundp force-window-update #[nil "\300\301 !\207" [force-window-update selected-window] 2] force-mode-line-update] 4) #@109 Non-nil if Tab-Group:Local mode is enabled. Use the command `tab-group:local-mode' to change this variable. (defvar tab-group:local-mode nil (#$ . 35836)) (make-variable-buffer-local 'tab-group:local-mode) #@766 Minor mode for tab-group buffer. Quitting this mode pops out every tab of the buffer from its tabbar and restores `header-line-format' or `mode-line-format' if it is overridden by the tabbar. This is a minor mode. If called interactively, toggle the `Tab-Group:Local mode' mode. If the prefix argument is positive, enable the mode, and if it is zero or negative, disable the mode. If called from Lisp, toggle the mode if ARG is `toggle'. Enable the mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, evaluate `tab-group:local-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. \{tab-group:local-mode-map} (defalias 'tab-group:local-mode #[(&optional arg) "\306  \307=\203\n?\202 \247\203 \310W\203\311\202\312\313\303!\2032\314\302 \"\n\2032\302 B\n\203\\\315\316\317\311\312$\210\315\320\317\311\312$\210\315\321\322\311\312$\210\323\324!\203U\325\326!\210\327\330!\210\202\216\327\331!\210\332\316\317\312#\210\332\320\317\312#\210\332\321\322\312#\210\333\334\f\"\210 \203~\305 \210\311\211&\311\211'\311\211()\327\335\n\203\230\336\202\231\337\"\210\323\324!\203\300\306 \203\255\306 \232\203\300\340*\341\342\n\203\272\343\202\273\344*#\210))\345 \210\n\207" [#1=#:last-message arg tab-group:local-mode local-minor-modes tab-group:buffer-tabs tab-group:restore-tabbar current-message toggle 1 nil t boundp delq add-hook after-revert-hook tab-group:restore-local-mode after-change-major-mode-hook kill-buffer-hook tab-group:killing-buffer called-interactively-p any call-interactively tab-group:new run-hooks tab-group:local-mode-entry-hook tab-group:local-mode-exit-hook remove-hook mapc tab-group:pop tab-group:local-mode-hook tab-group:local-mode-on-hook tab-group:local-mode-off-hook " in current buffer" message "Tab-Group:Local mode %sabled%s" "en" "dis" force-mode-line-update tab-group:current-tab tab-group:tabbar tab-group:last-scroll-pos tab-group:tablist-cache local] 6 (#$ . 36049) (list (if current-prefix-arg (prefix-numeric-value current-prefix-arg) 'toggle))]) (defvar tab-group:local-mode-hook nil) (byte-code "\300\301N\204\f\302\300\301\303#\210\302\300\304\305#\210\302\300\306\307C#\207" [tab-group:local-mode-hook variable-documentation put "Hook run after entering or leaving `tab-group:local-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" custom-type hook standard-value nil] 4) #@36 Keymap for `tab-group:local-mode'. (defvar tab-group:local-mode-map (byte-code "\301\302!\203\f\202<\203\303!\202\304\305\")\207" [m tab-group:local-mode-map keymapp easy-mmode-define-keymap error "Invalid keymap %S"] 3) (#$ . 38648)) (byte-code "\301\302\303\303\211%\207" [tab-group:local-mode-map add-minor-mode tab-group:local-mode nil] 6) #@35 Re-enable `tab-group:local-mode'. (defalias 'tab-group:restore-local-mode #[nil "\205s \247\203 \306X\204 ?\205s\205*\307!\n>\204'\310\311\312D\"\210\313H\301\314!\210\315 \210\306\316\317 \206Q\205Q\307!\n>\204N\310\311\312D\"\210\313H\211\205k\f\307 ! >\204f\310\311\320 D\"\210 \321H\236A+W\205r\322 )\207" [tab-group:current-tab tab-group:local-mode cl-struct-tab-group:tab-tags group key cl-struct-tab-group:group-tags 0 type-of signal wrong-type-argument tab-group:tab 3 1 tab-group:show-tabbar group-buffer-mode nil tab-group:group 5 tab-group:group-buffer-local-mode-on] 6 (#$ . 39012)]) (put 'tab-group:restore-local-mode 'permanent-local-hook t) #@227 Select one of other tabs in the tabbar and disable `tab-group:local-mode' before killing the current buffer. If `tab-group:current-tab' is the last tab in the tabbar, select the previous tab. Otherwise, select the next tab. (defalias 'tab-group:killing-buffer #[nil "p \211\205\306\n! >\204\307\310\311\nD\"\210\n\312Hp=)\203hp \211\205:\306\n! >\2047\307\310\311\nD\"\210\n\313H\n\205V\n\314\306\f! >\204P\307\310\315\fD\"\210\f\316H!\242=*\203`\317 \210\202c\320 \210\321!\210)rq\210\322\323!*\207" [buffer tab-group:current-tab tab cl-struct-tab-group:tab-tags group cl-struct-tab-group:group-tags type-of signal wrong-type-argument tab-group:tab 4 3 last tab-group:group 2 tab-group:prev tab-group:next switch-to-buffer tab-group:local-mode 0] 7 (#$ . 39702)]) (defalias 'tab-group:tab-separator #[(&optional tab) "\302\303\300\304 %\207" [tab-group:tab-separator tab propertize face tab-group:tab] 6]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put tab-group:tab-separator speed -1 put byte-optimizer byte-compile-inline-expand] 5) (defalias 'tab-group:format-width #[(&rest formats) "\301\302\303B!!\207" [formats string-width format-mode-line ""] 4]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put tab-group:format-width speed -1 put byte-optimizer byte-compile-inline-expand] 5) (defalias 'tab-group:tabbar-default-width #[nil "\206\301 \207" [tab-group:tabbar-width tab-group:window-total-width] 1]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put tab-group:tabbar-default-width speed -1 put byte-optimizer byte-compile-inline-expand] 5) (defalias 'tab-group:tab-button-label #[(tab label) "\304\305 \306\305\307\310\311\n\312\313 ! >\204\314\315\305 D\"\210 \316H& \207" [label tab tab-group:tab-button-map cl-struct-tab-group:tab-tags propertize tab-group:tab face mouse-face tab-group:tab:hover local-map help-echo type-of signal wrong-type-argument 1] 15]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put tab-group:tab-button-label speed -1 put byte-optimizer byte-compile-inline-expand] 5) (defalias 'tab-group:active-tab-button-label #[(tab label) "\304 \304 \305\306\305\307\310\311\n\312\313! >\204\314\315\305D\"\210\316H& *\306\317\307\317%\207" [tab label tab-group:tab-button-map cl-struct-tab-group:tab-tags propertize tab-group:tab face mouse-face tab-group:tab:hover local-map help-echo type-of signal wrong-type-argument 1 tab-group:tab:active] 16]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put tab-group:active-tab-button-label speed -1 put byte-optimizer byte-compile-inline-expand] 5) (defalias 'tab-group:group-button-label #[(group) "\303\304! >\204\305\306\307D\"\210\310H\311\307\312\307\313\n&\207" [group cl-struct-tab-group:group-tags tab-group:group-button-map propertize type-of signal wrong-type-argument tab-group:group 1 face mouse-face local-map] 8]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put tab-group:group-button-label speed -1 put byte-optimizer byte-compile-inline-expand] 5) #@220 Truncate STR to fit in MAX-WIDTH. Use `tab-group:ellipsis' in the middle of string to indicate omitted part. If there is no room to put the ellipsis in the middle, put it at the end instead, or put no ellipsis at all. (defalias 'tab-group:truncate #[(str max-width) "G\306\211\307!  \307 !\f\f X\203\202\237\f W\203r\306 \fZ\310\245\211W\203r\n\fW\203I\n\311 H!\\ T\2025\n\f\\\211 W\203d S\n\311 H!\\\211\202O\306 O  \312OQ\202\237\n W\203\207\n\311 H!\\ T\202r\306 O \n\f\\X\203\232\202\236 P).\207" [str len w i width tab-group:ellipsis 0 string-width 2 char-width nil ellipsis ellipsis-width max-width] 6 (#$ . 42793)]) #@117 Set the value of tab label symbol of TAB to LABEL. If SELECTED is non-nil, it specifies the value for selected tab. (defalias 'tab-group:set-label #[(tab label &optional selected) "\306! >\204\307\310\311D\"\210\312H\306! >\204!\307\310\311D\"\210\313H\314 \315\316#\210\317 \f\320\f\311\321\311\322\323\324 \325\306! >\204L\307\310\311D\"\210\326H& *\"\210r\nq\210\327 !\206b\f\320\f\320\f\311\321\311\322\323\324 \325\306! >\204\203\307\310\311D\"\210\326H& *\321\330\322\330%*L\210\314 \331\316#+\207" [tab cl-struct-tab-group:tab-tags buffer tab-sym label tab-group:tab-button-map type-of signal wrong-type-argument tab-group:tab 5 4 put risky-local-variable t set-default propertize face mouse-face tab-group:tab:hover local-map help-echo 1 make-local-variable tab-group:tab:active permanent-local selected] 17 (#$ . 43478)]) #@350 Return a single TAB label and update a symbol for the label of TAB. If INDEX is non-nil, then it is used for the index number of TAB formatted by `tab-group:tab-index-format'. If WIDTH is non-nill, it specifies the max width, which the label and a single separator of `tab-group:tab-separator' can occupy, and the label is truncated to the width. (defalias 'tab-group:tab-label #[(tab &optional index width) "\306 \307\n\300\302\310 %)\311 !\f>\204\312\313\310 D\"\210 \314H\2037\315\"\316 J\317#)\206=\320\203\214 D\321\322\320B!!)\323Z]\311 !\f>\204m\312\313\310 D\"\210 \323H\324\"\205\201\325 #\210-  E+\207" [face tab tab-group:tab-separator sep cl-struct-tab-group:tab-tags tab-sym tab-group:tabbar propertize tab-group:tab type-of signal wrong-type-argument 5 format tab-group:inheriting-propertize (face mouse-face tab-group:tab local-map) "" string-width format-mode-line 1 tab-group:truncate tab-group:set-label index tab-group:tab-index-format width formats sep-width name truncated tab-group:no-truncation-for-current-tab selected] 6 (#$ . 44349)]) #@320 Make a list of labels of TABS. If NUM is non-nil, then the label is formatted with its index number (0 for the first element of TABS). If START is non-nil, it specifies the scroll position; the returned list starts from the START-th tab in TABS. If WIDTH is non-nil, it specifies the max width of a single tab label. (defalias 'tab-group:make-tab-list #[(tabs &optional num start width) "\306C\206\307\307 \310\211\203s @ Y\203i\311\f!>\204,\312\313\314\fD\"\210\f\315H\316=\203=\206> \211\317=?\205S\206S\320=\321\f\205] #\nC\244\210- T A\211\204*\nA+\207" [start i tablist tabs tab --dolist-tail-- "" 0 nil type-of signal wrong-type-argument tab-group:tab 6 fixed never always tab-group:tab-label cl-struct-tab-group:tab-tags index tab-group:tab-index tab-group:show-tab-index show num width label] 5 (#$ . 45482)]) #@215 Make the separator of the first element of TABLIST transparent. TABLIST is a list of tab labels. If the current frame is on a terminal and `tab-group:show-group-name' is nil, then the separator is simply removed. (defalias 'tab-group:adjust-tab-list #[(tablist) "\242\306\307\n\310\311\n$\312\n\313 F* \2030 \204 \203, \314 @\302\f#\240\210\2020 \315\240\210*\207" [tablist first face background fill-face window-system tab-group:tab-separator face-attribute :background nil :inherit :foreground propertize "" tab-group:show-group-name] 5 (#$ . 46358)]) #@111 Return a adjusted list of labels of TABS. The meaning of arguments are the same in `tab-group:make-tab-list'. (defalias 'tab-group:tab-list #[(tabs &optional num start width) "\305 \n $\306\f!)\207" [tabs num start width tablist tab-group:make-tab-list tab-group:adjust-tab-list] 5 (#$ . 46932)]) #@214 Return a list of truncated labels of TABS. The meaning of arguments are the same in `tab-group:tab-list' except WIDTH, which specifies the total width of the tab labels. If WIDTH is nil, the window width is used. (defalias 'tab-group:truncated-tab-list #[(tabs &optional num start width) "\206\n \206\n\306 \307 \203\fG \206\310Z\311]\245\n\f \n$*\207" [width tab-group:tabbar-width label-width tab-group:truncate tabs start tab-group:window-total-width nil 0 1 tab-group:tab-list-function num] 5 (#$ . 47238)]) #@224 Return lower and upper bound of scroll position to make TAB visible. TABS are the list of tabs to be scrolled and FORMATS are label constructs corresponding to TABS. WIDTH specifies the total width of the tab label list. (defalias 'tab-group:scroll-limit #[(tab tabs formats width) "\306\307\n\203& @B\f\n@=\203\307\211\202\nA A T\202 T\306 \203W @C\310\311\312 B!!)\\\211\fX\203QA S \202,\307\211\2040  ^ ,B\207" [left i tabs formats tab w 0 nil string-width format-mode-line "" j width] 6 (#$ . 47771)]) #@172 Calculate scroll limit of tabbar i.e. the lower and upper bound of scroll position to make the last element in TABS visible. See `tab-group:scroll-limit' for the detail. (defalias 'tab-group:tabbar-scroll-limit #[(tabs &optional num start width) "\306C\307 @\211\310\n!Z\311 ]\312 \313\"\f\205,\314\f! >\204)\315\316\317\fD\"\210\f\320H\211\205\250\203?DB\203`\314!>\204V\315\316\321D\"\210\322HB\202d B\206j\311\206x \206x\323 \211C!\310\324\306!B!!)Z\325\"#\311$$\326\"!\242\327\"$$-.\207" [tabbar fringe-width tab-group:tab-separator fringe tab-group:current-tab cl-struct-tab-group:tab-tags "" window-inside-edges string-width 0 make-string 32 type-of signal wrong-type-argument tab-group:tab 3 tab-group:group 1 tab-group:window-total-width format-mode-line tab-group:truncated-tab-list last tab-group:scroll-limit group tab-group:show-scroll-button tab-group:scroll-button-left tab-group:scroll-button-right tab-group:show-group-name cl-struct-tab-group:group-tags start width tab-group:tabbar-width formats tabs num tablist] 6 (#$ . 48318)]) #@331 Return a propertized scroll button. WHICH must be `left' or `right'. If ENABLED is non-nil, then the button has enabled face. Otherwise, the button has disabled face. If `tab-group:show-scroll-button' is nil, or, `tab-group:show-scroll-button' is `on-demand' and the button has disabled face, then an empty string is returned. (defalias 'tab-group:scroll-button #[(which enabled) "\306\307!P\310 !J \203\f\203\n\2022 \311=\2041\f\2041\312\313\n\305 \314 \315\316&)\2022\317*\207" [which sym-name button tab-group:show-scroll-button enabled face "tab-group:scroll-button-" symbol-name intern on-demand tab-group:scroll-button:disabled propertize mouse-face local-map nil ""] 8 (#$ . 49443)]) #@76 Update `tab-group:scroll-buttons' according to the scroll limit of tabbar. (defalias 'tab-group:update-scroll-buttons #[(pos limit) "\305\301\306V\"\305\303\n@W\" D\211*\207" [pos left limit right tab-group:scroll-buttons tab-group:scroll-button 0] 4 (#$ . 50156)]) #@124 Scroll and update visibility. POS specifies the position to scroll. If UPDATE is non-nil, call `tab-group:update-tabbar'. (defalias 'tab-group:scroll #[(pos &optional update) "\205\306! >\204\307\310\311D\"\210\312H\211\205-\306\n! >\204*\307\310\313\nD\"\210\n\314H\315\f!\n\205S\316] @^\203M\317\n\320#\202R\321 \")+\207" [tab-group:current-tab cl-struct-tab-group:tab-tags group cl-struct-tab-group:group-tags tabs limit type-of signal wrong-type-argument tab-group:tab 3 tab-group:group 2 tab-group:tabbar-scroll-limit 0 tab-group:update-tabbar nil tab-group:update-scroll-buttons pos update] 5 (#$ . 50435)]) #@45 Recalculate scroll limit and update tabbar. (defalias 'tab-group:force-recalculate-scroll-limit #[(group) "\205 \205 \304\n!\210\305\306\n! >\204\307\310\311\nD\"\210\n\312H!\207" [tab-group:scroll tab-group:show-scroll-button group cl-struct-tab-group:group-tags tab-group:update-tabbar format-mode-line type-of signal wrong-type-argument tab-group:group 3] 5 (#$ . 51082)]) #@301 Return a list of scrolled labels of TABS. The meaning of arguments are the same in `tab-group:truncated-tab-list'. The returned list is scrolled to make the current tab visible (i.e. this function takes account of the current buffer). This function also makes buffer's local cache of the tab list. (defalias 'tab-group:scrolled-tab-list #[(tabs &optional num start width) "\205\371 \206\n\206\306 \f;\205,\f\307 !>\203% \202+\310 \"A)\211\206D\307 !>\204A\311\312\313 D\"\210 \314H\307 !>\204Y\311\312\313 D\"\210 \314H =\204u\307 !>\204q\311\312\313 D\"\210 \314H\206\370\f;\203\225\307 !>\204\217\311\312\315 D\"\210 \316H\202\226\f\317\f\320 $\206\246\320\204\341\321 \f $\206\274\320AX\203\315A\202\336@X\203\334@\202\336*\233\322!\210+-\207" [tab-group:current-tab width tab-group:tabbar-width tab tabs group tab-group:window-total-width type-of assoc signal wrong-type-argument tab-group:tab 3 tab-group:group 2 tab-group:truncated-tab-list 0 tab-group:scroll-limit tab-group:scroll cl-struct-tab-group:group-tags tab-group:groups cl-struct-tab-group:tab-tags tab-group:tablist-cache cache num tablist start scroll limit tab-group:last-scroll-pos last] 6 (#$ . 51471)]) #@354 Reconstruct and redisplay tabbar of GROUP. If NUM is non-nil, then the tab label is formatted with its index number (0 for the first element of the tabs of GROUP). If START is non-nil, it specifies the scroll position; the returned list starts from the START-th tab in the tabs of GROUP. If WIDTH is non-nil, it specifies the max width of the tabbar. (defalias 'tab-group:update-tabbar #[(group &optional num start width) "\306! >\204\307\310\311D\"\210\312H\306! >\204\"\307\310\311D\"\210\313H\314\206E \205E\306 !)>\204B\307\310\315 D\"\210 \312H\211\205_\f\306! >\204Z\307\310\311D\"\210\316H\236A+\206d\317!*\320\321\322\323$+\324\325+F*,\326\327\330,#-\331 @\211.\332/!Z.\333.].\326\334.\335\"\330,#0\306! >\204\265\307\310\311D\"\210\336H1\n\337CL\2102\203\3323\203\316\3403!\210\n\2114\3414JBL\210)5\203\357\n\2116*6JBL\210)\202\374\n\211707JBL\210)\nC8\332\342\3378B!!).9\206:\206\343 \2119.Z9\3441;39$<\345 ;39\257=\346\342=DD> \206F1\242\211?\203e\306?!)>\204^\307\310\315?D\"\210?\347H\202fp@r@q\210\323A)\340>\204\307\310\311D\"\210\312Hp \313\314\211\315\n\316\"\210-\317 \315\n!\210*\207" [tab-group:current-tab cl-struct-tab-group:tab-tags group pattern tab-group:show-scroll-button tab-group:scroll type-of signal wrong-type-argument tab-group:tab 3 tab-group:search-tab-list nil tab-group:update-tabbar t tab-group:search-result tab-group:tab-list-function tab-group:search-pattern tab-group:search-current-buffer tabs] 5 (#$ . 59105)]) (defalias 'tab-group:move-separator #[nil "\301\303\304\305 !\306\"\300\307\310\311$\312\313\nF*#)\207" [face tab-group:tab-separator background propertize make-string string-width 32 face-attribute :background nil :inherit :foreground] 8]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put tab-group:move-separator speed -1 put byte-optimizer byte-compile-inline-expand] 5) #@179 Put a move target indicator to LABEL. LABEL is a tab label construct. If AFTER is non-nil, the indicator appears at the end. Otherwise, the indicator appears at the beginning. (defalias 'tab-group:move-format #[(label &optional after) "\304\306\307 \310\311 $\312 \313\nF*\314\f\301 \315%\316\314\317\320!\321\"\301 \307 \310\311 $\312 \313\nF*#)G\320 !W\203L\322\202U\320 !\311O\314\315#\203m R\202u R-\207" [m-face face background ins-face tab-group:move-target ins tab-group:tabbar face-attribute :background nil :inherit :foreground propertize mouse-face tab-group:tab-separator make-string string-width 32 "" sep tab-group:zero-width-space zw label after] 8 (#$ . 60066)]) #@121 Return a list of tab labels with move target indicators. The meaning of arguments are the same in `tab-group:tab-list'. (defalias 'tab-group:move-tab-list #[(group &optional num start width) "\306 \n $\307\211\211\203zp\310@A\307\211$\311\312\313\314 !\315\"\316\317\320\307$\321\322F*#)\203p\323\324\325#=\203d\326Q\202k\327\f\" B+A\211\204 \237+\207" [group num start width after result tab-group:make-tab-list nil format-mode-line tab-group:tab-separator propertize make-string string-width 32 face face-attribute :background :inherit :foreground get-text-property 0 tab-group:tab t tab-group:move-format list buffer label background sep tab-group:move-current-tab] 9 (#$ . 60801)]) #@27 Update tabbars on WINDOW. (defalias 'tab-group:move-update-tabbar #[(window) "\305!r\306\216\307 @\310\"\210r\311!q\210\n\205)\312\n! >\204&\313\314\315\nD\"\210\n\316H\211\2051\317\f!-\207" [window save-selected-window--state tab-group:current-tab cl-struct-tab-group:tab-tags group internal--before-with-selected-window #[nil "\301!\207" [save-selected-window--state internal--after-with-selected-window] 2] select-window norecord window-buffer type-of signal wrong-type-argument tab-group:tab 3 tab-group:update-tabbar] 5 (#$ . 61557)]) #@26 Start tab movement mode. (defalias 'tab-group:move-start #[(event) "\305!\n\306 \307\310!)\207" [event tab tab-group:tab-list-function tab-group:move-tab-list-restore tab-group:move-current-tab tab-group:event-tab tab-group:move-tab-list internal--track-mouse #[nil "\302 \211\211\242\303=\262\203\304\305\306\307#\202 B\211)\207" [event unread-command-events read-event mouse-movement walk-windows tab-group:move-update-tabbar nil t] 5]] 2 (#$ . 62111) "@e"]) #@25 Stop tab movement mode. (defalias 'tab-group:move-end #[nil "\206\303\304\211\305\306\304\307#\207" [tab-group:move-tab-list-restore tab-group:tab-list-function tab-group:move-current-tab tab-group:tab-list nil walk-windows tab-group:move-update-tabbar t] 5 (#$ . 62591) nil]) (defalias 'tab-group:set-current-tab #[(tab) "\2050 \205\306 !\n>\204\307\310\311 D\"\210 \312H\306 !\f>\204,\307\310\313 D\"\210 \312H)\207" [tab tab-group:current-tab cl-struct-tab-group:tab-tags cl-x cl-struct-tab-group:group-tags tab-group:tabbar type-of signal wrong-type-argument tab-group:tab 3 tab-group:group] 4]) #@155 Return a name for a newly created tab. It is inherited from an existing tab which shares the BUFFER, or the buffer name is used if there is no such tab. (defalias 'tab-group:default-name #[(buffer) "rq\210 \203\304 !\n>\204\305\306\307 D\"\210 \310H\202# \206#\311 )\207" [buffer tab-group:current-tab cl-struct-tab-group:tab-tags tab-group:buffer-original-name type-of signal wrong-type-argument tab-group:tab 1 buffer-name] 4 (#$ . 63216)]) #@105 Return a tab which is owned by the current tab and whose group is GROUP or nil if there is no such tab. (defalias 'tab-group:buffer-tab-in-group #[(group) "\306\n\203/ \204/\n@\307 !\f>\204\310\311\312 D\"\210 \313H =\203( \nA)\202 *\207" [tab-group:buffer-tabs result tabs tab cl-struct-tab-group:tab-tags group nil type-of signal wrong-type-argument tab-group:tab 3] 4 (#$ . 63674)]) #@59 Return the position of TAB in the tabbar starting from 0. (defalias 'tab-group:tab-position #[(tab) "\306! >\204\307\310\311D\"\210\312H\306\n! >\204\"\307\310\313\nD\"\210\n\314H\315\f\203B\f@=\2039\316\211\202)\fA T\202( +\207" [tab cl-struct-tab-group:tab-tags group cl-struct-tab-group:group-tags tabs i type-of signal wrong-type-argument tab-group:tab 3 tab-group:group 2 0 nil] 5 (#$ . 64079)]) (defalias 'tab-group:with-splitting-tabs '(macro . #[(tab bind &rest body) "@A@\3068\3078\310 \311\f\312 DD \313\fDD\314\315 EDE\316\n\317B \320BD\310 BBEEE,\207" [bind right left tabs group tab 2 3 when let* tab-group:tab-group tab-group:group-tabs pair tab-group:split let ((car-safe pair)) ((cdr-safe pair)) body] 9])) (byte-code "\300\301\302\303#\300\207" [function-put tab-group:with-splitting-tabs lisp-indent-function 2] 4) #@66 Pop TAB from its group. It handles updating tabbar of the group. (defalias 'tab-group:pop-tab #[(&optional tab) "\206 \306!\n>\204\307\310\311D\"\210\312H\306!\n>\204(\307\310\311D\"\210\313H \203\301\306 ! >\204?\307\310\314 D\"\210 \211\315\316\306 ! >\204U\307\310\314 D\"\210 \315H\"I\210)\306!\n>\204k\307\310\311D\"\210\211\312\317I\210)\306 ! >\204\203\307\310\314 D\"\210 \315H\211\317\211\203\267@r\306!\n>\204\245\307\310\311D\"\210\313Hq\210\317)A\211\204\221+r\fq\210\320 !\210)r\306!\n>\204\321\307\310\311D\"\210\313Hq\210\316\"\321\242!\210)+\207" [tab tab-group:current-tab cl-struct-tab-group:tab-tags group buffer cl-struct-tab-group:group-tags type-of signal wrong-type-argument tab-group:tab 3 4 tab-group:group 2 delq nil tab-group:update-tabbar tab-group:set-current-tab #1=#:v #2=#:v tabs --dolist-tail-- tab-group:tablist-cache tab-group:buffer-tabs] 9 (#$ . 64946)]) #@167 Push TAB into GROUP. If the tab is already in some group, then it is popped from the group. If POSITION is non-nil, it specifies the position where TAB is inserted. (defalias 'tab-group:push-tab #[(tab group &optional position) "\306!\210\307! >\204\310\311\312D\"\210\211\313 I\210)\307 !\f>\204*\310\311\314 D\"\210 \315H\211G\211\316\206;]^\317 B \233\211AB\241\210\307 !\f>\204`\310\311\314 D\"\210 \211\315 AI\210) A\317\211\203\232@r\307! >\204\210\310\311\312D\"\210\320Hq\210\317)A\211\204t.r\307! >\204\254\310\311\312D\"\210\320Hq\210\307! >\204\300\310\311\312D\"\210\321H\322\"\210)\323 !\210)\207" [tab cl-struct-tab-group:tab-tags #1=#:v group cl-struct-tab-group:group-tags tabs tab-group:pop-tab type-of signal wrong-type-argument tab-group:tab 3 tab-group:group 2 0 nil 4 1 tab-group:rename tab-group:update-tabbar len position tail #2=#:v --dolist-tail-- tab-group:tablist-cache name] 5 (#$ . 65905)]) #@183 Move TAB to POSITION. If GROUP is non-nil, it specifies the target group that TAB is inserted. If CURRENT-TAB is non-nil, it also sets TAB as the current tab of the current buffer. (defalias 'tab-group:move-tab #[(tab position &optional current-tab group) "\206\306 !\n>\204\307\310\311 D\"\210 \312H\313 !\210\314  #\210r\306 !\n>\2041\307\310\311 D\"\210 \315Hq\210\f\203>\316 !\210 \235\204H B)\317 )\207" [group tab cl-struct-tab-group:tab-tags position current-tab tab-group:buffer-tabs type-of signal wrong-type-argument tab-group:tab 3 tab-group:pop-tab tab-group:push-tab 4 tab-group:set-current-tab tab-group:show-tabbar] 4 (#$ . 66895)]) #@294 Make a new tab of BUFFER named NAME in GROUP. If BUFFER is nil, the current buffer is used. If NAME is nil, a default name (normally the buffer name) is used (see the documentation of `tab-group:default-name' for the detail). If GROUP is nil, the value of `tab-group:default-group' is used. (defalias 'tab-group:prepare-new-tab #[(&optional name buffer group) "\206p \206 \306!\n\307\n! >\203\n\202!\310\n\f\"A)\206& T\211rq\210 \204<\311\312!\210\313\314\315 \n\316\211&!-\207" [buffer name group cl-struct-tab-group:group-tags tab-group:groups tab-group:default-group tab-group:default-name type-of assoc tab-group:local-mode 1 tab-group:set-current-tab record tab-group:tab nil tab-group:tab-id id] 9 (#$ . 67564)]) #@304 Add a new tab of BUFFER named NAME to GROUP. If POSITION is non-nil, it specifies the position where the tab is inserted. See the documentation of `tab-group:prepare-new-tab' for the default values of the other arguments when they are omitted. This function enables `tab-group:local-mode' for BUFFER. (defalias 'tab-group:new-tab #[(&optional name buffer group position) "\306 \n#\307 !\f>\204\310\311\312 D\"\210 \313H\307 !\f>\204(\310\311\312 D\"\210 \314H\n \315\n\302\"\307 !\f>\203Q\307 !\f>\204K\310\311\312 D\"\210 \316H\202R \317\320\321\n#!,\322\n\n\206\203\205\203\307!\f>\204\310\311\312D\"\210\313H\211\205\237\307\n! >\204\232\310\311\323\nD\"\210\n\324H\236A+\307 !\f>\204\261\310\311\312 D\"\210 \211!\325I\210)\322T\n\"\n\206\343\205\343\307!\f>\204\337\310\311\312D\"\210\313H\211\205\373\307\n! >\204\370\310\311\323\nD\"\210\n\324H#\326#\236#\"#\n\205.\307\n! >\204\310\311\323\nD\"\210\n\211$\324\"B#B\211#I).\210r q\210\307 !\f>\204D\310\311\312 D\"\210 \211%\324I\210)\327 &\330\n$\210\331\332\n\n\206z\205z\307!\f>\204v\310\311\312D\"\210\313H\211\205\226\307\n! >\204\221\310\311\323\nD\"\210\n\324H\236A+W\203\236\333 \210) -\207" [name buffer group tab cl-struct-tab-group:tab-tags tab-id tab-group:prepare-new-tab type-of signal wrong-type-argument tab-group:tab 3 4 tab-group:to-name 2 intern format "tab-group:tab:%s:%d" index tab-group:group 5 6 delq tab-group:move-tab nil 0 group-buffer-mode tab-group:group-buffer-local-mode-on id tab-sym key tab-group:current-tab cl-struct-tab-group:group-tags #1=#:v value binding #2=#:v #3=#:v position] 7 (#$ . 68318)]) #@127 Invoke hook `tab-group:unselect-tab-hook' with the arguments if TAB was selected. If GROUP is nil, the group of TAB is used. (defalias 'tab-group:unselect #[(tab &optional group) "\211\205\303! >\204\304\305\306D\"\210\307Hp=)\205?\n\2068\2058\303! >\2045\304\305\306D\"\210\310H\311\312\n#)\207" [tab cl-struct-tab-group:tab-tags group type-of signal wrong-type-argument tab-group:tab 4 3 run-hook-with-args tab-group:unselect-tab-hook] 5 (#$ . 70029)]) (defvar tab-group:tab-list-mode-hook nil) (byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [tab-group:tab-list-mode-hook variable-documentation put "Hook run after entering Tab List mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp tab-group:tab-list-mode-map definition-name tab-group:tab-list-mode] 4) (defvar tab-group:tab-list-mode-map (make-sparse-keymap)) (byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\207" [tab-group:tab-list-mode-abbrev-table tab-group:tab-list-mode-map variable-documentation put purecopy "Keymap for `tab-group:tab-list-mode'." boundp tab-group:tab-list-mode-syntax-table definition-name tab-group:tab-list-mode (lambda (def-tmp-var) (defvar tab-group:tab-list-mode-syntax-table def-tmp-var)) make-syntax-table "Syntax table for `tab-group:tab-list-mode'." (lambda (def-tmp-var) (defvar tab-group:tab-list-mode-abbrev-table def-tmp-var)) define-abbrev-table nil "Abbrev table for `tab-group:tab-list-mode'." derived-mode-parent Buffer-menu-mode] 5) #@413 Major mode for Tab List. Tab List is a list of buffers similar to that in `Buffer-menu-mode' but tab names instead of buffer names are shown in the list and buffers are restricted to those in a specific group. In addition to any hooks its parent mode might have run, this mode runs the hook `tab-group:tab-list-mode-hook', as the final or penultimate step during initialization. \{tab-group:tab-list-mode-map} (defalias 'tab-group:tab-list-mode #[nil "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315 !\204'\316 \317 \"\210\320\f!\211\2036 \321 =\203<\322\f\323 \"\210)\324'\325\"\204V'(=\204V\326'\325(C#\210\327 !\210\330\f!\210'(\331\332\333\307#\210\334\332\335\336\307$\210\337\340!\203|\306\341!\210\342!\343\344!\210)\345\346!\207" [delay-mode-hooks major-mode mode-name tab-group:tab-list-mode-map tab-group:tab-list-mode-syntax-table parent make-local-variable t Buffer-menu-mode tab-group:tab-list-mode "Tab List" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table remove-hook tabulated-list-revert-hook list-buffers--refresh add-hook tab-group:tab-list-refresh nil fboundp Buffer-menu-revert-function revert-buffer-function #[(ignore1 ignore2) "\300 \207" [tab-group:tab-list-refresh] 1] tab-group:local-mode 1 run-mode-hooks tab-group:tab-list-mode-hook tab-group:tab-list-mode-abbrev-table local-abbrev-table] 6 (#$ . 71845) nil]) (defalias 'tab-group:with-selecting-this-window '(macro . #[(&rest body) "\301\302\303\304\305\"BBD\207" [body progn let ((group (tab-group:current-group))) append ((let ((tabs (cons tab-group:current-tab tab-group:buffer-tabs)) tab) (while tabs (when (and (car tabs) (eq (tab-group:tab-group (car tabs)) group)) (setq tab (car tabs) tabs nil)) (setq tabs (cdr tabs))) (when tab (tab-group:select tab))))] 6])) (byte-code "\300\301\302\303#\300\207" [function-put tab-group:with-selecting-this-window lisp-indent-function 0] 4) (defalias 'tab-group:define-select-this-window '(macro . #[(sym) "\303\304\305!P!\303\306\305!P!\307\310\311\312 D\312\nDE\313BB\314\n\315\316 !\317\320\321\312 DDD\257E*\207" [sym original fun intern "tab-group:menu-" symbol-name "Buffer-menu-" progn push cons quote (tab-group:tab-list-mode-remap) defun nil documentation (interactive) tab-group:with-selecting-this-window call-interactively] 11])) (byte-code "\301\302BB\301\207" [tab-group:tab-list-mode-remap Buffer-menu-select tab-group:menu-select] 2) #@231 Select this line's buffer; also, display buffers marked with `>'. You can mark buffers with the `m' command. This command deletes and replaces all the previously existing windows in the selected frame, and will remove any marks. (defalias 'tab-group:menu-select #[nil "\205\306! >\204\307\310\311D\"\210\312H\313\314!\210 B\315\211\203P @\203I\306 @! >\204;\307\310\311 @D\"\210 @\312H\n=\203I @\315 A\211\204%\f\205W\316\f!+\207" [tab-group:current-tab cl-struct-tab-group:tab-tags group tab-group:buffer-tabs tab tabs type-of signal wrong-type-argument tab-group:tab 3 call-interactively Buffer-menu-select nil tab-group:select] 5 (#$ . 74455) nil]) (byte-code "\301\302BB\301\207" [tab-group:tab-list-mode-remap Buffer-menu-1-window tab-group:menu-1-window] 2) #@50 Select this line's buffer, alone, in full frame. (defalias 'tab-group:menu-1-window #[nil "\205\306! >\204\307\310\311D\"\210\312H\313\314!\210 B\315\211\203P @\203I\306 @! >\204;\307\310\311 @D\"\210 @\312H\n=\203I @\315 A\211\204%\f\205W\316\f!+\207" [tab-group:current-tab cl-struct-tab-group:tab-tags group tab-group:buffer-tabs tab tabs type-of signal wrong-type-argument tab-group:tab 3 call-interactively Buffer-menu-1-window nil tab-group:select] 5 (#$ . 75249) nil]) (byte-code "\301\302BB\301\207" [tab-group:tab-list-mode-remap Buffer-menu-2-window tab-group:menu-2-window] 2) #@67 Select this line's buffer, with previous buffer in second window. (defalias 'tab-group:menu-2-window #[nil "\205\306! >\204\307\310\311D\"\210\312H\313\314!\210 B\315\211\203P @\203I\306 @! >\204;\307\310\311 @D\"\210 @\312H\n=\203I @\315 A\211\204%\f\205W\316\f!+\207" [tab-group:current-tab cl-struct-tab-group:tab-tags group tab-group:buffer-tabs tab tabs type-of signal wrong-type-argument tab-group:tab 3 call-interactively Buffer-menu-2-window nil tab-group:select] 5 (#$ . 75866) nil]) (byte-code "\301\302BB\301\207" [tab-group:tab-list-mode-remap Buffer-menu-this-window tab-group:menu-this-window] 2) #@43 Select this line's buffer in this window. (defalias 'tab-group:menu-this-window #[nil "\205\306! >\204\307\310\311D\"\210\312H\313\314!\210 B\315\211\203P @\203I\306 @! >\204;\307\310\311 @D\"\210 @\312H\n=\203I @\315 A\211\204%\f\205W\316\f!+\207" [tab-group:current-tab cl-struct-tab-group:tab-tags group tab-group:buffer-tabs tab tabs type-of signal wrong-type-argument tab-group:tab 3 call-interactively Buffer-menu-this-window nil tab-group:select] 5 (#$ . 76506) nil]) (byte-code "\301\302BB\301\207" [tab-group:tab-list-mode-remap Buffer-menu-other-window tab-group:menu-other-window] 2) #@73 Select this line's buffer in other window, leaving buffer menu visible. (defalias 'tab-group:menu-other-window #[nil "\205\306! >\204\307\310\311D\"\210\312H\313\314!\210 B\315\211\203P @\203I\306 @! >\204;\307\310\311 @D\"\210 @\312H\n=\203I @\315 A\211\204%\f\205W\316\f!+\207" [tab-group:current-tab cl-struct-tab-group:tab-tags group tab-group:buffer-tabs tab tabs type-of signal wrong-type-argument tab-group:tab 3 call-interactively Buffer-menu-other-window nil tab-group:select] 5 (#$ . 77130) nil]) (byte-code "\301\302BB\301\207" [tab-group:tab-list-mode-remap Buffer-menu-mouse-select tab-group:menu-mouse-select] 2) #@56 Select the buffer whose line you click on. (fn EVENT) (defalias 'tab-group:menu-mouse-select #[nil "\205\306! >\204\307\310\311D\"\210\312H\313\314!\210 B\315\211\203P @\203I\306 @! >\204;\307\310\311 @D\"\210 @\312H\n=\203I @\315 A\211\204%\f\205W\316\f!+\207" [tab-group:current-tab cl-struct-tab-group:tab-tags group tab-group:buffer-tabs tab tabs type-of signal wrong-type-argument tab-group:tab 3 call-interactively Buffer-menu-mouse-select nil tab-group:select] 5 (#$ . 77786) nil]) (byte-code "\301\302BB\301\207" [tab-group:tab-list-mode-remap Buffer-menu-view tab-group:menu-view] 2) #@39 View this line's buffer in View mode. (defalias 'tab-group:menu-view #[nil "\205\306! >\204\307\310\311D\"\210\312H\313\314!\210 B\315\211\203P @\203I\306 @! >\204;\307\310\311 @D\"\210 @\312H\n=\203I @\315 A\211\204%\f\205W\316\f!+\207" [tab-group:current-tab cl-struct-tab-group:tab-tags group tab-group:buffer-tabs tab tabs type-of signal wrong-type-argument tab-group:tab 3 call-interactively Buffer-menu-view nil tab-group:select] 5 (#$ . 78409) nil]) (byte-code "\301\302BB\301\207" [tab-group:tab-list-mode-remap Buffer-menu-view-other-window tab-group:menu-view-other-window] 2) #@57 View this line's buffer in View mode in another window. (defalias 'tab-group:menu-view-other-window #[nil "\205\306! >\204\307\310\311D\"\210\312H\313\314!\210 B\315\211\203P @\203I\306 @! >\204;\307\310\311 @D\"\210 @\312H\n=\203I @\315 A\211\204%\f\205W\316\f!+\207" [tab-group:current-tab cl-struct-tab-group:tab-tags group tab-group:buffer-tabs tab tabs type-of signal wrong-type-argument tab-group:tab 3 call-interactively Buffer-menu-view-other-window nil tab-group:select] 5 (#$ . 79025) nil]) (byte-code "\n\305\211\203\f@\306 \307\310 @\" A#\210\fA\211\204\n+\305\207" [tab-group:tab-list-mode-map map tab-group:tab-list-mode-remap elt --dolist-tail-- nil define-key vector remap] 6) (defalias 'tab-group:tab-list-pretty-name #[(name) "\301\302\303\304\305%\207" [name propertize font-lock-face buffer-menu-buffer mouse-face highlight] 6]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put tab-group:tab-list-pretty-name speed -1 put byte-optimizer byte-compile-inline-expand] 5) (defalias 'tab-group:tab-list-tab+size-width #[nil "\304\300!\203\304\301!\203 \\\206\304\302!\203\n\206 \207" [Buffer-menu-name-width Buffer-menu-size-width Buffer-menu-name+size-width tab-group:tab-list-tab+size-width boundp] 2]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put tab-group:tab-list-tab+size-width speed -1 put byte-optimizer byte-compile-inline-expand] 5) (defalias 'tab-group:tab-list-buffer-name-and-file #[(&optional buffer) "r\206pq\210 \205\332\306 !\n>\204\307\310\311 D\"\210 \312H\f\206$ \211(\205.\313(!(\314p!\211)\205=\315)!*)\205H\316)!+)\205S\317)!\211,\205b\320\321*+,$,)\205m\322)!\211-\205y\323\324-\325#-\326\327\330!\203\220\327\331!\203\220\\\206\235\327\332!\203\233\206\235./0\333\334%1\335\325\336\337\3401E#-\205\300,\341-\342\260- \335 \343\344\345\346%)(\206\327-\206\327\347. B)\207" [buffer tab-group:current-tab cl-struct-tab-group:tab-tags name buffer-file-name tab-group:buffer-original-file type-of signal wrong-type-argument tab-group:tab 1 abbreviate-file-name get-buffer-process process-id process-tty-name process-name format "%d %s %s" process-command mapconcat identity " " + boundp Buffer-menu-name-width Buffer-menu-size-width Buffer-menu-name+size-width 3 4 propertize display space :align-to " (" ")" font-lock-face buffer-menu-buffer mouse-face highlight "" file proc pid tty pname cmd tab-group:tab-list-tab+size-width Buffer-menu-mode-width tab-group:tab-list-process-name-width align] 7]) (defalias 'tab-group:tab-list-set-entry-tab-name #[(entry) "@A@\304 !\n\305 \242\206\306I\210\n\307 A\206\306I+\207" [entry buffer slot name-and-file tab-group:tab-list-buffer-name-and-file 3 "" 6] 3]) (defalias 'tab-group:tab-list-refresh #[(&optional group old-buffer) "\300\207" [nil] 1]) (defalias 'tab-group:tab-list-tab+size #[(name size &optional nprops sprops) "\300\207" [nil] 1]) (byte-code "\300\301!\203,\300\302!\203,\303\304!\203,\303\305!\203,\303\306!\203,\303\307!\203,\310\311\312\"\210\2026\310\313\314\"\210\310\311\315\"\210\300\316!\203D\310\317\320\"\210\202I\310\317\321\"\210\300\207" [fboundp list-buffers--refresh tabulated-list-init-header boundp Buffer-menu-name-width Buffer-menu-size-width tabulated-list-format tabulated-list-entries defalias tab-group:tab-list-refresh #[(&optional group old-buffer) "\206 \205\306 !\n>\204\307\310\311 D\"\210 \312H\306! >\204*\307\310\313D\"\210\314H\315\316\f\"\203w\317 B\211A\203rA@rq\210\206X)\211 \204i\211AA\241\210\202nA*\202@A*\320 !\"\210\"#\317$%&\321\322!\203\232\322J\203\232\322J%Z&'\312\323&\324BBI\210'\325\326I\210+\327\330(\"\210\331 +\207" [group tab-group:current-tab cl-struct-tab-group:tab-tags cl-struct-tab-group:group-tags tabs buffer-list type-of signal wrong-type-argument tab-group:tab 3 tab-group:group 2 mapcar tab-group:tab-buffer nil list-buffers--refresh boundp Buffer-menu-buffer+size-width "Tab" (t) 6 ("File/Process" 1 t) mapc tab-group:tab-list-set-entry-tab-name tabulated-list-init-header Buffer-menu-files-only head rest buffer buffer-file-name tab-group:buffer-original-file file old-buffer Buffer-menu-name-width Buffer-menu-size-width width size-width name-width tabulated-list-format tabulated-list-entries] 6 "Make tab list buffer content.\nThis function uses internal functions of `Buffer-menu-mode' and\n`tabulated-list-mode', which are introduced in Emacs 24 (devel)."] tab-group:tab-list-tab+size #[(name size &optional nprops sprops) "\306\300!\203\306\301!\203 \\\206\306\302!\203\n\206 \307 !\307!\\\310\\\fV\203;\311 \f\307!\312]Z\310Z\"\313\314 B\"\313\314B\"\f\307!Z\211\307 !Z \314\315\316\"\317\320\321\322\\E#Q+\207" [Buffer-menu-name-width Buffer-menu-size-width Buffer-menu-name+size-width tab-group:tab-list-tab+size-width width name boundp string-width 2 tab-group:truncate 3 apply propertize make-string 32 display space :align-to 4 size nprops sprops name+space-width space-width] 9] #[(&optional group old-buffer) "\206 \205\306 !\n>\204\307\310\311 D\"\210 \312H\211\2051\306! >\204.\307\310\313D\"\210\314H\315@A\316A\314Z\317\"B\320\321\322\323\"\324B\325\260C\326D\327E\330 \210\331\332C #\203s\315\225\333\315\224 \334\335\336 EC%\210\202W\333\315\312\337\340C%\210\341\342\334\343#CP\211CF\f\205\337\f\327G\211H\203\326H@G\306G!\n>\204\255\307\310\311GD\"\210G\344H\327\211\211\211IJKL2r2q\210\3452M=\203\321\346\202\322\317N\203\333\347\202\334\317\350 \203\345\351\202\346\317\317$L\352 \211OAK)\353P\327\2112$IQ\203\353Q\327\2112$RIRPI)\306G!\n>\204%\307\310\311GD\"\210G\354HJ)S\2036K\203\3142M=\203A`E\341JJ\341J\355\356\357\360%)\361\2112!\3622%J\363I!AV\203l\364IA\"IL\321JJ\341J\355\356\357\360%)\365\3662!!\361\2112!\3622F#\367I\261\210K\203\311\370\371T\372\373!\203\257\372\374!\203\257;<\\\206\274\372\375!\203\272=\206\274UA\344$\354\"\210\376K!c\210\377c\210-HA\211H\204\227*E\205\337Eb.\207" [group tab-group:current-tab cl-struct-tab-group:tab-tags cl-struct-tab-group:group-tags tabs pos type-of signal wrong-type-argument tab-group:tab 3 tab-group:group 2 0 make-string 32 "CRM " tab-group:tab-list-tab+size "Tab" "Size" " Mode" "File/Process" t nil erase-buffer string-match "[ \n]+" put-text-property display space :align-to face fixed-pitch propertize " " (space :align-to 0) 4 string 46 37 buffer-modified-p 42 tab-group:tab-list-buffer-name-and-file format-mode-line 1 font-lock-face buffer-menu-buffer mouse-face highlight buffer-name buffer string-width truncate-string-to-width int-to-string buffer-size " " indent-to + boundp Buffer-menu-name-width Buffer-menu-size-width Buffer-menu-name+size-width abbreviate-file-name "\n" Buffer-menu-mode-width mode-width mode-end header inhibit-read-only point header-line-format tab --dolist-tail-- mode name file bits old-buffer buffer-read-only tab-and-file mode-name mode-line-process process Buffer-menu-files-only tab-group:tab-list-column tab-group:tab-list-tab+size-width] 9 "Make tab list buffer content.\nThis function gives least functionalities of tab list for the\nolder versions of Emacs."] tabulated-list-print tab-group:tab-list-print #[nil "\300 \207" [tabulated-list-print] 1] #[nil "\300\207" [nil] 1]] 3) #@86 Make a tab (and a buffer) of Tab List for GROUP. The tab is not shown in the tabbar. (defalias 'tab-group:tab-list-tab #[(group) "\306! >\204\307\310\311D\"\210\312H\313\n\314Q\306! >\204'\307\310\311D\"\210\315H\211\205A\306\f! >\204>\307\310\316\fD\"\210\f\315H\317!\203O\206R\320 !\f\206^\321\n#prq\210\322 \210\323 !\210\324\f!\210\306\f! >\204\201\307\310\316\fD\"\210\f\211\315I\210)\325\326\206\257 \205\257\306 ! >\204\253\307\310\316 D\"\210 \327H\211\205\312\306! >\204\305\307\310\311D\"\210\330H\236A+!\210\331!\332\"\210\333 \210)\306! >\204\351\307\310\311D\"\210\211\"\315\fI\210)\f.\207" [group cl-struct-tab-group:group-tags name list-name tab cl-struct-tab-group:tab-tags type-of signal wrong-type-argument tab-group:group 1 "*" " tabs*" 4 tab-group:tab buffer-live-p get-buffer-create tab-group:prepare-new-tab tab-group:tab-list-mode rename-buffer tab-group:set-current-tab tab-group:group-buffer-local-mode group-buffer-mode 3 5 nil tab-group:tab-list-refresh tab-group:tab-list-print buffer old-buffer #1=#:v key tab-group:current-tab Buffer-menu-files-only #2=#:v] 7 (#$ . 86493)]) #@29 Show list of tabs in GROUP. (defalias 'tab-group:list #[(group) "\205 \301\302!!\207" [group tab-group:select tab-group:tab-list-tab] 3 (#$ . 87672) (list (tab-group:current-group))]) #@135 Non-nil if Tab-Group:Group-Buffer-Local mode is enabled. Use the command `tab-group:group-buffer-local-mode' to change this variable. (defvar tab-group:group-buffer-local-mode nil (#$ . 87866)) (make-variable-buffer-local 'tab-group:group-buffer-local-mode) #@1279 Minor mode for group buffer. Group buffer is a singleton buffer for a specific group, i.e., buffers in the group except the selected buffer are hidden and the selected buffer is identified by the group name in the buffer list. Selecting other tabs in the group automatically changes the group's selected buffer. If there is no buffer suitable for the selected buffer (this happens when a buffer has multiple tabs in different groups, or the selected buffer is popped without selecting other tabs), the tab list buffer is selected. With this mode, the selected tab list buffer cannot be killed. This is a minor mode. If called interactively, toggle the `Tab-Group:Group-Buffer-Local mode' mode. If the prefix argument is positive, enable the mode, and if it is zero or negative, disable the mode. If called from Lisp, toggle the mode if ARG is `toggle'. Enable the mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, evaluate `tab-group:group-buffer-local-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. Do not invoke this function directly. Use `tab-group:group-buffer-mode' to enable/disable group buffer mode. (defalias 'tab-group:group-buffer-local-mode #[(&optional arg) "\306  \307=\203\n?\202 \247\203 \310W\203\311\202\312\313\303!\2032\314\302 \"\n\2032\302 B\n\203\273\f\204\354\315 \203\354\316 /\2110\205`\3170!1>\204\\\320\321\3220D\"\2100\323H234\204m 45\204v\324 5\3254!3\326\327\330\311\312$\210\326\331\332\311\312$\210\326\333\334\311\312$\2106\335=\203\237\326\336\337\311\312$\2100\203\2612p=\203\261\332 \210\202\267\3400\311\"\210+\202\354\f\203\354\341\327\330\312#\210\341\331\332\312#\210\341\333\334\312#\210\341\336\337\312#\210\34245\"\210\f3\311\2114\311\21157\343\344\n\203\366\345\202\367\346\"\210\347\350!\203\306 \203 \306 \232\203\3518\352\353\n\203\354\202\3558#\210))\356 \210\n\207" [#1=#:last-message arg tab-group:group-buffer-local-mode local-minor-modes tab-group:buffer-original-id name current-message toggle 1 nil t boundp delq tab-group:group-buffer-p buffer-name type-of signal wrong-type-argument tab-group:tab 4 buffer-file-name propertized-buffer-identification add-hook tab-group:local-mode-exit-hook tab-group:group-buffer-local-mode-off tab-group:select-tab-hook tab-group:group-buffer-select tab-group:unselect-tab-hook tab-group:group-buffer-unselect tab-group:tab-list-mode kill-buffer-query-functions tab-group:group-buffer-prevent-kill-buffer tab-group:group-buffer-rename remove-hook tab-group:group-buffer-set-name-and-file run-hooks tab-group:group-buffer-local-mode-hook tab-group:group-buffer-local-mode-on-hook tab-group:group-buffer-local-mode-off-hook called-interactively-p any " in current buffer" message "Tab-Group:Group-Buffer-Local mode %sabled%s" "en" "dis" force-mode-line-update tab-group:current-tab tab cl-struct-tab-group:tab-tags buffer mode-line-buffer-identification tab-group:buffer-original-name tab-group:buffer-original-file major-mode tab-group:buffer-last-mtime local] 6 (#$ . 88132) (list (if current-prefix-arg (prefix-numeric-value current-prefix-arg) 'toggle))]) (defvar tab-group:group-buffer-local-mode-hook nil) (byte-code "\301\302N\204\f\303\301\302\304#\210\303\301\305\306#\210\303\301\307\310C#\210\311\312\310\313\300!\205#\310\211%\207" [tab-group:group-buffer-local-mode-map tab-group:group-buffer-local-mode-hook variable-documentation put "Hook run after entering or leaving `tab-group:group-buffer-local-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" custom-type hook standard-value nil add-minor-mode tab-group:group-buffer-local-mode boundp] 6) (defalias 'tab-group:group-buffer-p #[nil "\300 \301\230?\207" [buffer-name "*Messages*"] 2]) (defalias 'tab-group:group-buffer-set-name-and-file #[(name file) "\305 \306\n\204\307 \203\310\303!\210\311 \n\204\307 \204'\n\203,\307 \204,\312\n\313\"\210\314 !\210\307 \203= \203=\315 !\210\316 \205F\317\f\313\"*\207" [change-major-mode-with-file-name flag file tab-group:buffer-last-mtime name buffer-modified-p nil buffer-file-name make-local-variable visited-file-modtime set-visited-file-name t set-buffer-modified-p set-visited-file-modtime tab-group:group-buffer-p rename-buffer] 3]) (defalias 'tab-group:group-buffer-name #[(group) "\302! >\204\303\304\305D\"\210\306H\207" [group cl-struct-tab-group:group-tags type-of signal wrong-type-argument tab-group:group 1] 4]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put tab-group:group-buffer-name speed -1 put byte-optimizer byte-compile-inline-expand] 5) (defalias 'tab-group:group-buffer-rename #[(tab selected) "\205\306! >\204\307\310\311D\"\210\312H\205,\306! >\204)\307\310\311D\"\210\313H\n\205\nr\nq\210\f\205  =\205 \314 \203\214\315\316  \206k \205k\306 ! >\204h\307\310\311 D\"\210 \312H\211\205\207\306 !>\204\202\307\310\317 D\"\210 \320H\236A+Y\203\223\202\203\371\321  \206\267 \205\267\306 ! >\204\264\307\310\311 D\"\210 \312H\211\205\323\306 !>\204\316\307\310\317 D\"\210 \320H\236A+\206\335\206\335\322 \306 !>\204\357\307\310\317 D\"\210 \323H)P\202\324P\314\325\"*)*\207" [tab cl-struct-tab-group:tab-tags buffer group tab-group:group-buffer-local-mode tab-group:current-tab type-of signal wrong-type-argument tab-group:tab 3 4 nil 0 group-buffer-mode tab-group:group 5 group-buffer-prefix "" 1 " " tab-group:group-buffer-set-name-and-file tab-group:buffer-original-file file name key cl-struct-tab-group:group-tags tab-group:buffer-original-name selected tab-group:group-buffer-prefix] 6]) (defalias 'tab-group:group-buffer-select #[nil "\211\205\306 !\n>\204\307\310\311 D\"\210 \312H\211\205/\306 !\f>\204,\307\310\313 D\"\210 \314H\306 !\f>\204?\307\310\313 D\"\210 \315H \205{ \205{\203X B\202Y \316\211\203v@\317\316\"\210A\211\204b*\317 \320\",\207" [tab-group:current-tab tab cl-struct-tab-group:tab-tags group cl-struct-tab-group:group-tags tabs type-of signal wrong-type-argument tab-group:tab 3 tab-group:group 2 4 nil tab-group:group-buffer-rename t list elt --dolist-tail--] 5]) (defalias 'tab-group:group-buffer-unselect #[(tab group) "\205\214 \205\214\306\307  \206' \205'\310 !\f>\204$\311\312\313 D\"\210 \314H\211\205A\n\310 ! >\204<\311\312\315 D\"\210 \316H\236A+W\205\214\317\320\"\210\310 ! >\204Z\311\312\315 D\"\210 \321H\322 !B\320\211\203\205@\317\320\"\210A\211\204q*\317\323\"*\207" [tab group key tab-group:current-tab cl-struct-tab-group:tab-tags cl-struct-tab-group:group-tags 0 group-buffer-mode type-of signal wrong-type-argument tab-group:tab 3 tab-group:group 5 tab-group:group-buffer-rename nil 2 tab-group:tab-list-tab t list tabs elt --dolist-tail--] 7]) (defalias 'tab-group:group-buffer-prevent-kill-buffer #[nil "\300\207" [nil] 1]) (defalias 'tab-group:group-buffer-local-mode-on #[nil "\300\301!\207" [tab-group:group-buffer-local-mode 1] 2]) (defalias 'tab-group:group-buffer-local-mode-off #[nil "\300\301!\207" [tab-group:group-buffer-local-mode 0] 2]) #@107 Disable group buffer mode if all groups of tabs owned by the current buffer are not in group buffer mode. (defalias 'tab-group:group-buffer-carefully-disable #[nil "\306\n\203n\n@\307 !\f>\204\310\311\312 D\"\210 \313H\314\315  \206B\205B\307!\f>\204>\310\311\312D\"\210\313H\211\205^\307 !>\204Y\310\311\316 D\"\210 \317H\236A+W\203g\320\211\nA*\202 \203u\321 \210\315\320 \206\230\205\230\307!\f>\204\224\310\311\312D\"\210\313H\211\205\264\307 !>\204\257\310\311\316 D\"\210 \317H\236A+\314X\205\277\322\320\"*\207" [tab-group:buffer-tabs disable tabs tab cl-struct-tab-group:tab-tags group t type-of signal wrong-type-argument tab-group:tab 3 0 group-buffer-mode tab-group:group 5 nil tab-group:group-buffer-local-mode-off tab-group:group-buffer-rename key tab-group:current-tab cl-struct-tab-group:group-tags] 7 (#$ . 95493)]) #@154 Toggle group buffer mode for the group of the current tab. It enables/disables `tab-group:group-buffer-local-mode' in all buffers of tabs in the group. (defalias 'tab-group:group-buffer-mode #[(&optional arg) "\211\205\306 !\n>\204\307\310\311 D\"\210 \312H\211\205/\306 !\f>\204,\307\310\313 D\"\210 \314H \205F\306 !\f>\204C\307\310\313 D\"\210 \315H \205P\206\221\316\317 \206p\205p\306!\n>\204m\307\310\311D\"\210\312H\211\205\213\306 !\f>\204\206\307\310\313 D\"\210 \320H\236A+\206\220\321[\316\317 \206\266\205\266\306!\n>\204\263\307\310\311D\"\210\312H\211\205\315\306 !\f>\204\312\307\310\313 D\"\210 \320H\322\236\" \205\377\306 !\f>\204\355\307\310\313 D\"\210 \211\320BB\211I).\210\203 B\202 \317\211\203L@r\306 !\n>\204+\307\310\311 D\"\210 \315Hq\210\323W\203?\324!\210\202B\325 \210)A\211\204*\326 ),\207" [tab-group:current-tab tab cl-struct-tab-group:tab-tags group cl-struct-tab-group:group-tags tabs type-of signal wrong-type-argument tab-group:tab 3 tab-group:group 2 4 group-buffer-mode nil 5 -1 delq 0 tab-group:group-buffer-local-mode tab-group:group-buffer-carefully-disable tab-group:group-buffer-select list arg key mode value binding #1=#:v --dolist-tail--] 6 (#$ . 96392) nil]) #@51 Return non-nil if MODE derives a mode in PARENTS. (defalias 'tab-group:mode-derived-p #[(mode parents) "\303\204 \203 \n>\203\304\211\202 \305N\202)\207" [derived mode parents nil t derived-mode-parent] 3 (#$ . 97710)]) #@106 Return a group name for the current buffer. The name is determined by the major mode or the buffer name. (defalias 'tab-group:buffer-auto-group #[nil "\306p!\204 \307 \"\203\310\207\311 \n\235\203\312\207 >\203 \313\207\f>\203(\314\207 ;\203@\315 \316\317\320#)\266\203\203@ \207\321!\322\316\317\320#)\266\203\203b\211G\323Z\316O\202d)\207" [major-mode tab-group:auto-process-modes tab-group:auto-common-buffers tab-group:auto-help-modes tab-group:auto-mail-modes mode-name get-buffer-process tab-group:mode-derived-p "Process" buffer-name "Common" "Help" "Mail" "[^ \n ]" nil t string-match symbol-name "-mode$" 5 inhibit-changing-match-data mode] 7 (#$ . 97952)]) #@78 Return a singleton list of a value retuend by `tab-group:buffer-auto-group'. (defalias 'tab-group:buffer-auto-groups #[nil "\300 C\207" [tab-group:buffer-auto-group] 1 (#$ . 98659)]) #@269 Return t if the current buffer is neither a minibuffer or header-lined locally or in a major mode listed in `tab-group:auto-exclude-modes' or named as listed in `tab-group:auto-exclude-buffers' or named as uninteresting non-file buffer i.e. the name starts with " *". (defalias 'tab-group:buffer-auto-p #[nil "\305 \206/\306 \211\205\307p\")\206/ \n>\206/\310 \235\206/\311\310 \312\313\314#)\266\203?\207" [sym major-mode tab-group:auto-exclude-modes tab-group:auto-exclude-buffers inhibit-changing-match-data minibufferp tab-group:show-tabbar-sym buffer-local-value buffer-name "^ \\*" nil t string-match] 8 (#$ . 98849)]) #@196 Create a new group named NAME if none exists. The group is marked as auto-grouped group. Tabs in auto-grouped groups are automatically popped when `tab-group:auto-group-local-mode' is disabled. (defalias 'tab-group:auto-new-group #[(name) "\306 !\n>\203 \202\307 \"A)\206\213\310!\311\312  \206@\205@\306!>\204<\313\314\315D\"\210\316H\211\205W\306 !\n>\204T\313\314\317 D\"\210 \320H\321 \236\" \205\206\306 !\n>\204v\313\314\317 D\"\210 \211\320 \fBB\211I).\210 )\207" [name group cl-struct-tab-group:group-tags tab-group:groups value key type-of assoc tab-group:new auto t signal wrong-type-argument tab-group:tab 3 tab-group:group 5 delq tab-group:current-tab cl-struct-tab-group:tab-tags binding #1=#:v] 4 (#$ . 99494)]) (defalias 'tab-group:auto-group-tab-p #[(tab) "\306\307! >\204\310\311\312D\"\210\313H\n\206/\f\205/\307\f! >\204,\310\311\312\fD\"\210\f\313H\211\205I \307\n! >\204D\310\311\314\nD\"\210\n\315H\236A+\207" [tab cl-struct-tab-group:tab-tags group key tab-group:current-tab cl-struct-tab-group:group-tags auto type-of signal wrong-type-argument tab-group:tab 3 tab-group:group 5] 5]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put tab-group:auto-group-tab-p speed -1 put byte-optimizer byte-compile-inline-expand] 5) #@131 Non-nil if Tab-Group:Auto-Group-Local mode is enabled. Use the command `tab-group:auto-group-local-mode' to change this variable. (defvar tab-group:auto-group-local-mode nil (#$ . 100821)) (make-variable-buffer-local 'tab-group:auto-group-local-mode) #@827 Minor mode of (major) modewise grouping of tabs. The buffer will automatically tabbed and the tab is put into some groups unless `tab-group:buffer-auto-p-function' returns nil. The names of the groups are determined by `tab-group:buffer-auto-groups-function'. This is a minor mode. If called interactively, toggle the `Tab-Group:Auto-Group-Local mode' mode. If the prefix argument is positive, enable the mode, and if it is zero or negative, disable the mode. If called from Lisp, toggle the mode if ARG is `toggle'. Enable the mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, evaluate `tab-group:auto-group-local-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. (defalias 'tab-group:auto-group-local-mode #[(&optional arg) "\306  \307=\203\n?\202 \247\203 \310W\203\311\202\312\313\303!\2032\314\302 \"\n\2032\302 B\n\203u\f \203\366 \311'\211(\203q(@'\315'!)\316)!\204g\317*!\210\320\321\311\211)#\312\"\210)(A\211(\204F*\202\366+\311,\211(\203\365(@\211,,\322\323,!->\204\233\324\325\326,D\"\210,\327H).)\206\303*\205\303\323*!->\204\277\324\325\326*D\"\210*\327H\211)\205\343.\323)!/>\204\335\324\325\330)D\"\210)\331H\236A,\203\354\332,!\210(A\211(\204\200*\333\334\n\203\335\202\336\"\210\337\340!\203(\306 \203\306 \232\203(\3410\342\343\n\203\"\344\202#\3450#\210))\346 \210\n\207" [#1=#:last-message arg tab-group:auto-group-local-mode local-minor-modes tab-group:buffer-auto-p-function tab-group:buffer-auto-groups-function current-message toggle 1 nil t boundp delq tab-group:auto-new-group tab-group:buffer-tab-in-group tab-group:unselect tab-group:select tab-group:new-tab auto type-of signal wrong-type-argument tab-group:tab 3 tab-group:group 5 tab-group:pop run-hooks tab-group:auto-group-local-mode-hook tab-group:auto-group-local-mode-on-hook tab-group:auto-group-local-mode-off-hook called-interactively-p any " in current buffer" message "Tab-Group:Auto-Group-Local mode %sabled%s" "en" "dis" force-mode-line-update group-name --dolist-tail-- group tab-group:current-tab tab-group:buffer-tabs tab cl-struct-tab-group:tab-tags key cl-struct-tab-group:group-tags local] 6 (#$ . 101079) (list (if current-prefix-arg (prefix-numeric-value current-prefix-arg) 'toggle))]) (defvar tab-group:auto-group-local-mode-hook nil) (byte-code "\301\302N\204\f\303\301\302\304#\210\303\301\305\306#\210\303\301\307\310C#\210\311\312\310\313\300!\205#\310\211%\210\303\314\315\316#\207" [tab-group:auto-group-local-mode-map tab-group:auto-group-local-mode-hook variable-documentation put "Hook run after entering or leaving `tab-group:auto-group-local-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" custom-type hook standard-value nil add-minor-mode tab-group:auto-group-local-mode boundp tab-group:auto-mode globalized-minor-mode t] 6) (defvar tab-group:auto-group-local-mode-major-mode nil nil) (byte-code "\300\301!\210\302\303\304\305\306\307\310\311\312\313\314\315& \207" [make-variable-buffer-local tab-group:auto-group-local-mode-major-mode custom-declare-variable tab-group:auto-mode nil "Non-nil if Tab-Group:Auto mode is enabled.\nSee the `tab-group:auto-mode' command\nfor a description of this minor mode.\nSetting this variable directly does not take effect;\neither customize it (see the info node `Easy Customization')\nor call the function `tab-group:auto-mode'." :set custom-set-minor-mode :initialize custom-initialize-default :type boolean :group tab-group:auto] 12) #@415 Toggle Tab-Group:Auto-Group-Local mode in all buffers. With prefix ARG, enable Tab-Group:Auto mode if ARG is positive; otherwise, disable it. If called from Lisp, enable the mode if ARG is omitted or nil. Tab-Group:Auto-Group-Local mode is enabled in all buffers where `tab-group:auto-group-local-mode' would do it. See `tab-group:auto-group-local-mode' for more information on Tab-Group:Auto-Group-Local mode. (defalias 'tab-group:auto-mode #[(&optional arg) "\306 \307\303 \310=\203\311\303!?\202\" \247\203! \312W\203!\313\202\"\314\"\210\315\302!\2039\316\303\n\"\311\303!\2039\303\nB \203O\317\320\321\"\210\317\322\323\"\210\317\324\325\"\210\202^\326\320\321\"\210\326\322\323\"\210\326\324\325\"\210\327 \313\211\203\211 @r\fq\210 \203x\330 \210\202\201\203\201\330\331!\210) A\211\204g*\332\333\311\303!\203\226\334\202\227\335\"\210\336\337!\203\304\340\303!\210\306 \203\257\306 \232\203\304\341'\342\343\311\303!\203\276\344\202\277\345'#\210))\346 \210\311\303!\207" [#1=#:last-message arg global-minor-modes tab-group:auto-mode buf --dolist-tail-- current-message set-default toggle default-value 1 nil t boundp delq add-hook after-change-major-mode-hook tab-group:auto-mode-enable-in-buffers find-file-hook tab-group:auto-mode-check-buffers change-major-mode-hook tab-group:auto-mode-cmhh remove-hook buffer-list tab-group:auto-group-local-mode -1 run-hooks tab-group:auto-mode-hook tab-group:auto-mode-on-hook tab-group:auto-mode-off-hook called-interactively-p any customize-mark-as-set "" message "Tab-Group:Auto mode %sabled%s" "en" "dis" force-mode-line-update local] 5 (#$ . 104813) (list (if current-prefix-arg (prefix-numeric-value current-prefix-arg) 'toggle))]) (defvar tab-group:auto-mode-hook nil) (byte-code "\301\302N\204\f\303\301\302\304#\210\303\301\305\306#\210\303\301\307\310C#\210\311\312\310\313\300!\205#\310\211%\207" [tab-group:auto-mode-map tab-group:auto-mode-hook variable-documentation put "Hook run after entering or leaving `tab-group:auto-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" custom-type hook standard-value nil add-minor-mode tab-group:auto-mode boundp] 6) (defvar tab-group:auto-group-local-mode-set-explicitly nil nil) (make-variable-buffer-local 'tab-group:auto-group-local-mode-set-explicitly) (defalias 'tab-group:auto-group-local-mode-set-explicitly #[nil "\301\211\207" [tab-group:auto-group-local-mode-set-explicitly t] 2]) (byte-code "\300\301\302\303#\210\304\305\301\"\207" [put tab-group:auto-group-local-mode-set-explicitly definition-name tab-group:auto-mode add-hook tab-group:auto-group-local-mode-hook] 4) (defvar tab-group:auto-mode-buffers nil) (defalias 'tab-group:auto-mode-enable-in-buffers #[nil "\306 \306\211\205B @\307\n!\203:r\nq\210\f\2046 \n=\2046\2033\310\311!\210\310 \210\2026\310 \210\n) A\211\204\f\306+\207" [tab-group:auto-mode-buffers buffers buf --dolist-tail-- tab-group:auto-group-local-mode-set-explicitly tab-group:auto-group-local-mode-major-mode nil buffer-live-p tab-group:auto-group-local-mode -1 major-mode] 3]) (put 'tab-group:auto-mode-enable-in-buffers 'definition-name 'tab-group:auto-mode) (defalias 'tab-group:auto-mode-check-buffers #[nil "\300 \210\301\302\303\"\207" [tab-group:auto-mode-enable-in-buffers remove-hook post-command-hook tab-group:auto-mode-check-buffers] 3]) (put 'tab-group:auto-mode-check-buffers 'definition-name 'tab-group:auto-mode) (defalias 'tab-group:auto-mode-cmhh #[nil "p\211 \235\204\f B)\302\303\304\"\207" [#1=#:x tab-group:auto-mode-buffers add-hook post-command-hook tab-group:auto-mode-check-buffers] 4]) (put 'tab-group:auto-mode-cmhh 'definition-name 'tab-group:auto-mode) (defalias 'tab-group:normalize-group-name #[(name) "\203\306\307\310\311#)\266\203\203N\n\203-\312\n! >\204'\313\314\315\nD\"\210\n\316H\206.\f\211\205F\312 !>\204C\313\314\317 D\"\210 \320H\211\206L\321*\207\207" [name inhibit-changing-match-data tab-group:current-tab cl-struct-tab-group:tab-tags tab-group:default-group initial "^[ \n ]*$" nil t string-match type-of signal wrong-type-argument tab-group:tab 3 tab-group:group 1 "default" cl-struct-tab-group:group-tags] 8]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put tab-group:normalize-group-name speed -1 put byte-optimizer byte-compile-inline-expand] 5) #@219 Create a new tab group named GROUP. If GROUP is nil, either the group of `tab-group:current-tab' or `tab-group:default-group' is used. When called interactively, create a new tab for the group by `tab-group:new-tab'. (defalias 'tab-group:new #[(&optional group) "\211\203\306 \307\310\311#)\266\203\203W \203/\312 !\f>\204)\313\314\315 D\"\210 \316H\2060 \211'\205L\312'!(>\204H\313\314\317'D\"\210'\320H\211'\206S\321*\202X )\211\211\312!(>\203k\202q\322)\"A)\211*\206\201\323\317 \307\211\211\211& \324\300\"\325\326P!*+*\204\315\312!(>\204\246\313\314\317D\"\210\211,\316+I\210)\327+\330\"\210\331+\332\310#\210 B\211-)\235\204\320-)B))\333\334./\206\363 \205\363\312 !\f>\204\360\313\314\315 D\"\210 \316H\211\205 \312!(>\204\313\314\317D\"\210\335H0\336/0\2360\"0\205>\312!(>\204,\313\314\317D\"\210\2111\335/.B0B\2110I).\2102\2113\203X3\250\203T3\206Y\320\202Y\3373\3403./\206~ \205~\312 !\f>\204{\313\314\315 D\"\210 \316H\211\205\226\312!(>\204\223\313\314\317D\"\210\335H0\336/0\2360\"0\205\311\312!(>\204\267\313\314\317D\"\210\2111\335/.B0B\2110I).\210*\341\342!\203\3464\343=\204\346\344 !\210\345\346\307\211#!\210,\207" [group name inhibit-changing-match-data tab-group:current-tab cl-struct-tab-group:tab-tags tab-group:default-group "^[ \n ]*$" nil t string-match type-of signal wrong-type-argument tab-group:tab 3 tab-group:group 1 "default" assoc record tab-group:to-name intern "tab-group:tabbar:" set-default ("") put risky-local-variable index 0 5 delq -1 group-buffer-mode called-interactively-p any tab-group:tab-list-mode tab-group:unselect tab-group:select tab-group:new-tab initial cl-struct-tab-group:group-tags tab-group:groups defined tabbar-sym #1=#:v #2=#:x value key binding #3=#:v tab-group:group-buffer-mode mode major-mode] 8 (#$ . 109248) (list (completing-read "Group: " tab-group:groups))]) (byte-code "\301 \301\207" [tab-group:default-group tab-group:new] 1) #@63 Remove a group named GROUP. All tabs in the group are popped. (defalias 'tab-group:remove #[(&optional group) "\306! >\203\306! >\204\307\310\311D\"\210\312H\211\2031\313\n\314\315\316#)\266\203\203r\f\203J\306\f! >\204D\307\310\317\fD\"\210\f\320H\206L\211 \205g\306 ! >\204c\307\310\311 D\"\210 \312H\211 \206n\321*\202s\n)\211\211\306! >\203\205\202\213\322!\"A)\306! >\204\234\307\310\311D\"\210\320H\"\306! >\204\260\307\310\311D\"\210\323H#\306! >\204\304\307\310\311D\"\210\324H$\325\326#\"\210$\203\327\306$! >\204\346\307\310\317$D\"\210$\324H!\203r\306$! >\204\307\310\317$D\"\210$\324Hq\210\330\331\332\315#\210\333 \210)\334\322\n!\"!\"!\335\"!\203'\336\"!\210-\207" [group cl-struct-tab-group:group-tags name inhibit-changing-match-data tab-group:current-tab cl-struct-tab-group:tab-tags type-of signal wrong-type-argument tab-group:group 1 "^[ \n ]*$" nil t string-match tab-group:tab 3 "default" assoc 2 4 mapc tab-group:pop buffer-live-p remove-hook kill-buffer-query-functions tab-group:group-buffer-prevent-kill-buffer kill-buffer delq boundp makunbound tab-group:default-group initial tab-group:groups sym tabs list] 8 (#$ . 111297) (list (completing-read "Group: " tab-group:groups))]) #@80 Switch to GROUP. GROUP must include a tab which the current buffer belongs to. (defalias 'tab-group:switch #[(group) "\304! >\203\202\305\n\"A)\306\304! >\203$\202)\305\n\"A)!\211\2034\307 !\210*\207" [group cl-struct-tab-group:group-tags tab-group:groups tab type-of assoc tab-group:buffer-tab-in-group tab-group:select] 5 (#$ . 112588) (let ((collection (mapcar 'tab-group:tab-group-name tab-group:buffer-tabs))) (list (completing-read "Switch to group: " collection)))]) #@63 Switch to the group previous to the group of the current tab. (defalias 'tab-group:next-group #[nil "\n\306 \"\211\242\242\307 \206\310 !\242!,\207" [tab-group:current-tab tab tab-group:buffer-tabs tabs pair next tab-group:split tab-group:select last] 4 (#$ . 113088) nil]) #@63 Switch to the group previous to the group of the current tab. (defalias 'tab-group:prev-group #[nil "\n\306 \"\211A\242\307 \206 \242!,\207" [tab-group:current-tab tab tab-group:buffer-tabs tabs pair prev tab-group:split tab-group:select] 4 (#$ . 113376) nil]) #@96 Select TAB. TAB can be in any group. If NO-SWITCH is nil, the buffer of the tab is displayed. (defalias 'tab-group:select #[(tab &optional no-switch) "\203\277\306! >\203\277\n\306! >\204\307\310\311D\"\210\312H\306! >\2040\307\310\311D\"\210\313H\n\205J\306\n! >\204G\307\310\311\nD\"\210\n\313H =\205U\314 !\210\204d\315\f!\210r\fq\210 \203\207\306 ! >\204{\307\310\311 D\"\210 \312H\f=\204\207\314\n!\210\316!\210\317\306! >\204\237\307\310\311D\"\210\313H!\210\320\306! >\204\264\307\310\311D\"\210\313H!\210\321\322!\210.\207" [tab cl-struct-tab-group:tab-tags tab-group:current-tab old-tab buffer group type-of signal wrong-type-argument tab-group:tab 4 3 tab-group:unselect switch-to-buffer tab-group:set-current-tab tab-group:force-recalculate-scroll-limit tab-group:update-tabbar run-hooks tab-group:select-tab-hook current-group tab-group:last-scroll-pos scroll no-switch] 5 (#$ . 113651) (byte-code "\205\303! >\204\304\305\306D\"\210\307H\211\205!\310\n\311\"\242C)\207" [tab-group:current-tab cl-struct-tab-group:tab-tags group type-of signal wrong-type-argument tab-group:tab 3 tab-group:search "Select tab: "] 5)]) #@93 Select a tab next to TAB in the tabbar. If TAB is nil, the `tab-group:current-tab' is used. (defalias 'tab-group:next #[(&optional tab) "\204 \205N\306!\n>\204\307\310\311D\"\210\312H\306 !\f>\204,\307\310\313 D\"\210 \314H\315 \"\211\242\243 \205M\316\242\206L @!-\207" [tab tab-group:current-tab cl-struct-tab-group:tab-tags group cl-struct-tab-group:group-tags tabs type-of signal wrong-type-argument tab-group:tab 3 tab-group:group 2 tab-group:split tab-group:select pair right left] 5 (#$ . 114846) nil]) #@97 Select a tab previous to TAB in the tabbar. If TAB is nil, the `tab-group:current-tab' is used. (defalias 'tab-group:prev #[(&optional tab) "\204 \205P\306!\n>\204\307\310\311D\"\210\312H\306 !\f>\204,\307\310\313 D\"\210 \314H\315 \"\211\242\243 \205O\316\242\206N\317 !@!-\207" [tab tab-group:current-tab cl-struct-tab-group:tab-tags group cl-struct-tab-group:group-tags tabs type-of signal wrong-type-argument tab-group:tab 3 tab-group:group 2 tab-group:split tab-group:select last pair right left] 5 (#$ . 115389) nil]) #@78 Pop TAB from the tabbar. If TAB is nil, the `tab-group:current-tab' is used. (defalias 'tab-group:pop #[(&optional tab) "\204 \205^\305!\210\306!\210r\307!\n>\204\"\310\311\312D\"\210\313Hq\210\307!\n>\2046\310\311\312D\"\210\314H\315 !\203J\316 !\203J\317 !\210\315 !\203T\320 !\210)\f?\205]\321\322!)\207" [tab tab-group:current-tab cl-struct-tab-group:tab-tags sym tab-group:buffer-tabs tab-group:unselect tab-group:pop-tab type-of signal wrong-type-argument tab-group:tab 4 5 boundp local-variable-p kill-local-variable makunbound tab-group:local-mode 0] 4 (#$ . 115946) nil]) #@21 Rename TAB to NAME. (defalias 'tab-group:rename #[(tab name) "\203$ \203$\304!\n>\204\305\306\307D\"\210\211\310 I\210)\311 \"\210 \207" [tab name cl-struct-tab-group:tab-tags #1=#:v type-of signal wrong-type-argument tab-group:tab 1 tab-group:set-label] 5 (#$ . 116554) (let ((tab tab-group:current-tab)) (list tab (read-string "Name: " (and tab (progn (or (progn (and (memq (type-of tab) cl-struct-tab-group:tab-tags) t)) (signal 'wrong-type-argument (list 'tab-group:tab tab))) (aref tab 1))))))]) (defalias 'tab-group:move-tab-command #[(tab pos &optional group) "\306 \307\n$\210\310! >\204\311\312\313D\"\210\314H\310\n!\f>\204)\311\312\315\nD\"\210\n\316H\211\317\211\205b@r\310! >\204J\311\312\313D\"\210\320Hq\210\321\n!\210\322\n!\210)A\211\2046\317,\207" [tab pos group cl-struct-tab-group:tab-tags cl-struct-tab-group:group-tags tabs tab-group:move-tab t type-of signal wrong-type-argument tab-group:tab 3 tab-group:group 2 nil 4 tab-group:force-recalculate-scroll-limit tab-group:update-tabbar --dolist-tail--] 6]) #@82 Move tab left in the tabbar. If TAB is nil, the `tab-group:current-tab' is used. (defalias 'tab-group:move-tab-left #[(&optional tab) "\204 \205\303!\304\nS\")\207" [tab tab-group:current-tab pos tab-group:tab-position tab-group:move-tab-command] 3 (#$ . 117623) nil]) #@83 Move tab right in the tabbar. If TAB is nil, the `tab-group:current-tab' is used. (defalias 'tab-group:move-tab-right #[(&optional tab) "\204 \205\303!\304\nT\")\207" [tab tab-group:current-tab pos tab-group:tab-position tab-group:move-tab-command] 3 (#$ . 117908) nil]) #@94 Move tab to the beginning of the tabbar. If TAB is nil, the `tab-group:current-tab' is used. (defalias 'tab-group:move-tab-begin #[(&optional tab) "\204 \205\302\303\"\207" [tab tab-group:current-tab tab-group:move-tab-command 0] 3 (#$ . 118195) nil]) #@88 Move tab to the end of the tabbar. If TAB is nil, the `tab-group:current-tab' is used. (defalias 'tab-group:move-tab-end #[(&optional tab) "\204 \205V\305\211!\n>\204\306\307\310D\"\210\311H! >\204;\306\307\312\305!\n>\2045\306\307\310D\"\210\311HD\"\210\305!\n>\204J\306\307\310D\"\210\311H\313H\314\fG\")\207" [tab tab-group:current-tab cl-struct-tab-group:tab-tags cl-struct-tab-group:group-tags tabs type-of signal wrong-type-argument tab-group:tab 3 tab-group:group 2 tab-group:move-tab-command] 7 (#$ . 118461) nil]) #@25 Scroll the tabbar left. (defalias 'tab-group:scroll-left #[nil "\205\305! >\204\306\307\310D\"\210\311H\312\n\206\312S]\313 \314\"*\207" [tab-group:current-tab cl-struct-tab-group:tab-tags tab-group:last-scroll-pos scroll group type-of signal wrong-type-argument tab-group:tab 3 0 tab-group:scroll t] 4 (#$ . 119012) nil]) #@26 Scroll the tabbar right. (defalias 'tab-group:scroll-right #[nil "\205\306! >\204\307\310\311D\"\210\312H\211\205/\306\n! >\204*\307\310\313\nD\"\210\n\314HGS\211\2065\315 \206:\315T^\316\317\"+\207" [tab-group:current-tab cl-struct-tab-group:tab-tags group cl-struct-tab-group:group-tags last tab-group:last-scroll-pos type-of signal wrong-type-argument tab-group:tab 3 tab-group:group 2 0 tab-group:scroll t scroll] 5 (#$ . 119353) nil]) #@37 Scroll the tabbar to the beginning. (defalias 'tab-group:scroll-begin #[nil "\205\303! >\204\304\305\306D\"\210\307H\310\311\312\")\207" [tab-group:current-tab cl-struct-tab-group:tab-tags group type-of signal wrong-type-argument tab-group:tab 3 tab-group:scroll 0 t] 4 (#$ . 119817) nil]) #@31 Scroll the tabbar to the end. (defalias 'tab-group:scroll-end #[nil "\205\305! >\204\306\307\310D\"\210\311H\211\205/\305\n! >\204*\306\307\312\nD\"\210\n\313HGS\314\f\315\"*\207" [tab-group:current-tab cl-struct-tab-group:tab-tags group cl-struct-tab-group:group-tags last type-of signal wrong-type-argument tab-group:tab 3 tab-group:group 2 tab-group:scroll t] 5 (#$ . 120122) nil]) (defalias 'tab-group:event-tab #[(event &optional end) "\304\203 \305 !\202\306 !!\211A\211\205\307 \310\n@#*\207" [end event target pos posn-string event-end event-start get-text-property tab-group:tab] 5]) #@32 Select tab indicated by EVENT. (defalias 'tab-group:mouse-select #[(event) "\303 \210\304!\211\205\305 !\n>\205\306 !)\207" [event tab cl-struct-tab-group:tab-tags tab-group:move-end tab-group:event-tab type-of tab-group:select] 3 (#$ . 120741) "@e"]) #@30 Kill tab indicated by EVENT. (defalias 'tab-group:mouse-kill #[(event) "\303!\211\205$\304 !\n>\205$\305\304 !\n>\204 \306\307\310 D\"\210 \311H!)\207" [event tab cl-struct-tab-group:tab-tags tab-group:event-tab type-of kill-buffer signal wrong-type-argument tab-group:tab 4] 6 (#$ . 121005) "@e"]) #@30 Move tab indicated by EVENT. (defalias 'tab-group:mouse-move #[(event) "\306 \210\307!\307\310\"\311!\211@\262 \205Z\312 !\f>\205Z\n\205Z\312\n!\f>\205Z\312\n!\f>\204;\313\314\315\nD\"\210\n\316H\317\n!\320 !r\321\216\322@\323\"\210\324 #-+\207" [event tab other window cl-struct-tab-group:tab-tags pos tab-group:move-end tab-group:event-tab t event-end type-of signal wrong-type-argument tab-group:tab 3 tab-group:tab-position internal--before-with-selected-window #[nil "\301!\207" [save-selected-window--state internal--after-with-selected-window] 2] select-window norecord tab-group:move-tab-command group save-selected-window--state] 4 (#$ . 121315) "@e"]) (provide 'tab-group)