....................................../////.===Shadow-Here===./////................................................ > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < ------------------------------------------------------------------------------------------------------------------- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// RIFF¤ WEBPVP8 ˜ ðÑ *ôô>‘HŸK¥¤"§£±¨àð enü¹%½_F‘åè¿2ºQú³íªú`N¿­3ÿƒügµJžaÿ¯ÿ°~¼ÎùnúîÞÖô•òíôÁÉß®Sm¥Ü/ ‡ó˜f£Ùà<˜„xëJ¢Ù€SO3x<ªÔ©4¿+ç¶A`q@Ì“Úñè™ÍÿJÌ´ª-˜ÆtÊÛL]Ïq*‘Ý”ì#ŸÌÏãY]@ê`¿ /ªfkØB4·®£ó z—Üw¥Pxù–ÞLШKÇN¾AkÙTf½è'‰g gÆv›Øuh~ a˜Z— ïj*á¥t d£“uÒ ¨`K˜¹ßþ]b>˜]_ÏÔ6W—è2r4x•íÖ…"ƒÖNîä!¦å Ú}ýxGøÌ —@ ;ÆÚŠ=ɾ1ý8lªË¥ô ^yf®Œ¢u&2©nÙÇ›ñÂñŒ³ aPo['½»øFùà­+4ê“$!lövlüÞ=;N®3ð‚õ›DÉKòÞ>ÄÍ ¥ˆuߤ#ˆ$6ù™¥îЇy’ÍB¼ çxÛ;X"WL£R÷͝*ó-¶Zu}º.s¸sšXqù–DþÿvªhüïwyŸ ¯é³lÀ:KCûÄ£Ëá\…­ ~—ýóî ¼ûûÜTÓüÇy…ŽÆvc»¾×U ñ¸žþоP÷¦ó:Ò¨¨5;Ð#&#ÖúñläÿÁœ GxÉ­/ñ‡áQðìYÉtÒw޼GÔ´zàÒò ð*ëzƒ•4~H]Ø‹f ñÓÈñ`NåWçs'ÆÏW^ø¹!XžµmQ5ÃËoLœÎ: ÞËÍ¥J ù…î èo£ßPÎñ¶ž8.Œ]ʵ~5›ÙË-ù*8ÙÖß±~ ©¹rÓê‚j¶d¸{^Q'˜±Crß ÚH—#¥¥QlÀ×ëã‡DÜ«èî þ&Çæžî;ŽÏºò6ÒLÃXy&ZŒ'j‚¢Ù€IßÚù+–MGi‰*jE€‘JcÜ ÓÌ EÏÚj]o˜ Þr <¾U ûŪæÍ/šÝH¥˜b”¼ ÁñßX GP›ï2›4WŠÏà×£…íÓk†¦H·ÅíMh–*nó÷à]ÁjCº€b7<ب‹¨5車bp2:Á[UªM„QŒçiNMa#<5›áËó¸HýÊ"…×Éw¹¦ì2º–x<›»a±¸3Weü®FÝ⑱ö–î–³|LPÈ~çð~Çå‡|º kD¢µÏàÆAI %1À% ¹Ò – ”ϝS¦‰4&¶£°à Öý”û_Ò Áw°A«Å€?mÇÛgHÉ/8)á¾ÛìáöŽP í¨PŸNÙµº¦‡§Ùš"ÿ«>+ªÕ`Ê÷‡‚ß Õû˜þãÇ-PÍ.¾XV‘€ dÜ"þ4¹ ±Oú‘©t¥¦FªÄÃÄ•b‚znýu½—#cDs˜ÃiÑOˆñ×QO=*IAÊ,¶ŽZƒ;‡wøXè%EÐk:F±Ú” .Ѽ+Áu&Ç`."pÈÉw o&¿dE6‘’EqTuK@Ì¥ã™À(Êk(h‰,H}RÀIXÛš3µ1©_OqÚÒJAñ$ÊÙÜ;D3çŒ[þùœh¬Ã³™ö6ç†NY".Ú‰ï[ªŸŒ '²Ð öø_¨ÂÉ9ué¶³ÒŠõTàîMØ#û¯gN‡bÙ놚X„ö …ÉeüÌ^J ‹€.œ$Æ)βÄeæW#óüßĺŸ€ ÀzwV 9oä»f4V*uB «Ë†¹ì¯žR霓æHXa=&“I4K;¯ç‹h×·"UŠ~<•╪Vêª&ÍSÃÆÅ?ÔqÎ*mTM ˜›µwêd#[C¡©§‘D<©àb†–ÁœøvH/,í:¯( ²£|4-„Æövv„Yͼ™^Á$ˆ„¢Û[6yB.åH*V¨æ?$=˜Ñ€•ñ·­(VlŸ‘ nÀt8W÷´Bûba?q9ú¶Xƒl«ÿ\ù¶’þòUÐj/õ¢Ìµ³g$ƒÎR!¸»|Oߍë’BhîÚÑ¢ñåŒJ„®„£2Ð3•ô02Nt…!£Í]Ïc½Qÿ?ˆ<&ÃA¾Ú,JˆijÌ#5yz„‰Î|ÊŽ5QÏ:‹ÐaóVÔxW—CpeÏzÐïíçôÿÅ_[hãsÐ_/ŽTÝ?BîˆííV$<¿i>²F¬_Eß¿ †bÊŒº­ÿ®Z H“C}”¬,Mp ý/Bá£w>˜YV°aƒúh+cŠ- r/[%|üUMHäQ°X»|û/@|°¥Ð !BÔ Ç¢Ä©š+Õì D«7ìN¶ŽðÔ " ƶ’ÖçtA‰Û×}{tþz­¾GÍ›k¹OEJR$ Â׃ «ëÁ"oÉôž$oUK(Ä)Ãz³Ê-‹êN[Ò3Œñbï8P 4ƒ×q¢bo|?<ÛX¬òÄͰL–±›(™ûG?ýË©ÚÄ–ÂDØÐ_Ç¡ô ¾–ÄÏø ×e8Ë©$ÄF¹Å‹ì[©óìl:F¾f´‹‹Xì²ï®\¬ôùƒ ÿat¥óèÒùHß0äe‚;ü×h:ÆWðHž=Ã8骣"kœ'Y?³}Tûè€>?0l›e1Lòñ„aæKÆw…hÖŠùW…ÈÆÄ0ši·›[pcwËþñiêíY/~-Á5˜!¿†A›™Mÿþ(±“t@â“ö2­´TG5yé]çå僳 .·ÍïçÝ7UÚ±Ð/Nè»,_Ï ùdj7\ï Wì4›„»c¸àešg#ÒÊ⥭áØo5‘?ÌdÝô¯ ¹kzsƒ=´#ëÉK›Ø´±-¥eW?‡çßtòTã…$Ý+qÿ±ƒ÷_3Ô¥í÷:æ–ž<·Ö‡‰Å¢ š‡%Ô—utÌÈìðžgÖÀz²À—ï÷Óîäõ{K'´È÷³yaÏÁjƒô}ž§®æÊydÕÈë5¯èˆõvÕ©ã*çD„ “z„Ó‡^^xÂ3M§A´JG‚öï 3W'ˆ.OvXè¡ÊÕª?5º7†˜(˜Ç¶#çê’¶!ÌdZK§æ 0fãaN]òY³RV ™î$®K2R¨`W!1Ôó\;Ý ýB%qæK•&ÓÈe9È0êI±žeŸß -ú@žQr¦ ö4»M¼Áè¹µmw 9 EÆE_°2ó„ŸXKWÁ×Hóì^´²GѝF©óäR†¦‰ç"V»eØ<3ùd3ÿÚ¤Žú“Gi" —‘_ÙËÎ~Üö¯¥½Î»üŸEÚŽåmÞþí ;ÞólËΦMzA"Âf(´òá;Éï(/7½ûñÌ­cïÕçлþÝz¾-ÍvÑ“pH­–ðÓj$¸Äû¤‚‘ãUBË-n“2åPkS5&‹Â|+g^œ®Ì͆d!OïäîU«c;{Û!ÅŽ«ëZ9Ókóˆ]¯ƒ›né `ÇÒ+tÆš (ØKá¾—=3œ®•vuMñg²\ï Ec€ 05±d™‡×iÇ×›UúvÌ¢£Èþ¡ÕØô¶ßÎA"ß±#Ö²ˆÊŸ¦*Ä~ij|àø.-¼'»Ú¥£h ofº¦‡VsR=N½„Î v˜Z*SÌ{=jÑB‹tê…;’HžH¯8–îDù8ñ¢|Q•bÛçš–‹m³“ê¨ åÏ^m¬Žãþ©ïêO‡½6] µÆ„Ooòü ²x}N¦Ë3ïé¿»€›HA˜m%çÞ/¿í7Fø“‹léUk)É°Œµ8Q8›:ÀŠeT*šõ~ôڝG6 ¢}`ùH­–”¡k ‰P1>š†®9z11!X wKfmÁ¦xÑ,N1Q”–æB¶M…ÒÃv6SMˆhU¬ÊPŽï‘öj=·CŒ¯u¹ƒVIЃsx4’ömÛýcå¡¶7ßŠß 57^\wÒÐÆ k§h,Œý î«q^R½3]J¸ÇðN ‚çU¬ôº^Áì} ³f©Õœ§ˆã:FÄÈ‚é(€™?àýÓüè1Gô£¼éj‚OÅñ  #>×—ßtà 0G¥Åa뀐kßhc™À_ÉñÞ#±)GD" YîäË-ÿÙ̪ ¹™a¯´¢E\ÝÒö‚;™„ë]_ p8‰o¡ñ+^÷ 3‘'dT4œŽ ðVë½° :¬víÑ«£tßÚS-3¶“þ2 †üüʨòrš¹M{É_¤`Û¨0ìjœøJ‡:÷ÃáZ˜†@GP&œÑDGÏs¡þ¦þDGú‘1Yá9Ôþ¼ ûø…§÷8&–ÜÑnÄ_m®^üÆ`;ÉVÁJ£?â€-ßê}suÍ2sõA NÌúA磸‘îÿÚ»ƒìö·á¿±tÑÐ"Tÿü˜[@/äj¬€uüªìù¥Ý˜á8Ý´sõj 8@rˆð äþZÇD®ÿUÏ2ùôõrBzÆÏÞž>Ì™xœ“ wiÎ×7_… ¸ \#€MɁV¶¥üÕÿPÔ9Z‡ø§É8#H:ƒ5ÀÝå9ÍIŒ5åKÙŠ÷qÄ>1AÈøžj"µÂд/ªnÀ qªã}"iŸBå˜ÓÛŽ¦…&ݧ;G@—³b¯“•"´4í¨ôM¨åñC‹ïùÉó¯ÓsSH2Ý@ßáM‡ˆKÀªÛUeø/4\gnm¥‹ŸŒ qÄ b9ÞwÒNÏ_4Ég³ú=܆‚´ •â¥õeíþkjz>éÚyU«Íӝ݃6"8/ø{=Ô¢»G¥ äUw°W«,ô—¿ãㆅү¢³xŠUû™yŒ (øSópÐ 9\åTâ»—*oG$/×ÍT†Y¿1¤Þ¢_‡ ¼ „±ÍçèSaÓ 3ÛMÁBkxs‰’R/¡¤ˆÙçª(*õ„üXÌ´ƒ E§´¬EF"Ù”R/ÐNyÆÂ^°?™6¡œïJ·±$§?º>ÖüœcNÌù¯G ‹ñ2ЁBB„^·úìaz¨k:#¨Æ¨8LÎõލ£^§S&cŒÐU€ü(‡F±Š¼&P>8ÙÁ ‰ p5?0ÊÆƒZl¸aô š¼¡}gÿ¶zÆC²¹¬ÎÖG*HB¡O<º2#ñŒAƒ–¡B˜´É$¥›É:FÀÔx¾u?XÜÏÓvN©RS{2ʈãk9rmP¼Qq̳ è¼ÐFׄ^¡Öì fE“F4A…!ì/…¦Lƒ… … $%´¾yã@CI¬ á—3PþBÏNÿ<ý°4Ü ËÃ#ØÍ~âW«rEñw‹eùMMHß²`¬Öó½íf³:‹k˜¯÷}Z!ã¿<¥,\#öµÀ¯aÒNÆIé,Ћ–lŽ#Àæ9ÀÒS·I’½-Ïp Äz¤Š Â* ­íÄ9­< h>׍3ZkËU¹§˜ŒŠ±f­’¤º³Q ÏB?‹#µíÃ¥®@(Gs«†vI¥Mµ‹Á©e~2ú³ÁP4ìÕi‚²Ê^ö@-DþÓàlÜOÍ]n"µã:žpsŽ¢:! Aõ.ç~ÓBûH÷JCÌ]õVƒd «ú´QÙEA–¯¯Œ!.ˆˆëQ±ù œ·Ì!Õâ )ùL„ÅÀlÚè5@B…o´Æ¸XÓ&Û…O«˜”_#‡ƒ„ûÈt!¤ÁÏ›ÎÝŠ?c9 â\>lÓÁVÄÑ™£eØY]:fÝ–—ù+p{™ðè û³”g±OƒÚSù£áÁÊ„ä,ï7š²G ÕÌBk)~ÑiCµ|h#u¤¶îK¨² #²vݯGãeÖ϶ú…¾múÀ¶þÔñ‚Š9'^($¤§ò “š½{éúp÷J›ušS¹áªCÂubÃH9™D™/ZöØÁ‡¦ÝÙŸ·kð*_”.C‹{áXó€‡c¡c€§/šò/&éš÷,àéJþ‰X›fµ“C¨œ®r¬"kL‰Â_q…Z–.ÉL~O µ›zn‚¹À¦Öª7\àHµšÖ %»ÇníV[¥*Õ;ƒ#½¾HK-ÖIÊdÏEÚ#=o÷Óò³´Š: Ç?{¾+9›–‘OEáU·S€˜j"ÄaÜ ŒÛWt› á–c#a»pÔZÞdŽtWê=9éöÊ¢µ~ ë ;Öe‡Œ®:bî3±ýê¢wà¼îpêñ¹¾4 zc¾ðÖÿzdêŒÑÒŝÀ‰s6¤í³ÎÙB¿OZ”+F¤á‡3@Ñëäg©·Ž ˆèª<ù@É{&S„œÕúÀA)‰h:YÀ5^ÂÓŒ°õäU\ ùËÍû#²?Xe¬tu‰^zÒÔãë¼ÛWtEtû …‚g¶Úüâî*moGè¨7%u!]PhÏd™Ý%Îx: VÒ¦ôÊD3ÀŽKÛËãvÆî…N¯ä>Eró–ð`5 Œ%u5XkñÌ*NU%¶áœÊ:Qÿú»“úzyÏ6å-၇¾ ´ ÒÊ]y žO‘w2Äøæ…H’²f±ÎÇ.ª|¥'gîV•Ü .̘¯€šòü¤U~Ù†*¢!?ò wý,}´°ÔÞnïoKq5µb!áÓ3"vAßH¡³¡·G(ÐÎ0Îò¼MG!/ài®@—¬04*`…«é8ªøøló“ˆÊ”èù¤…ßÊoÿé'ËuÌÖ5×È¡§ˆˆfŽë9}hìâ_!!¯  B&Ëö¶‰ÀAÙNVŸ Wh›¸®XÑJì¨ú“¿÷3uj²˜¨ÍÎìë±aúŠÝå¯ð*Ó¨ôJ“yºØ)m°WýOè68†ŸÏ2—‰Ïüꪫٚ¥‹l1 ø ÏÄFjêµvÌbü¦èÝx:X±¢H=MÐß—,ˆÉÇ´(9ú¾^ÅÚ4¿m‡$âX‘å%(AlZo@½¨UOÌÕ”1ø¸jÎÀÃÃ_ µ‘Ü.œº¦Ut: Æï’!=¯uwû#,“pþÇúŒø(é@?³ü¥‘Mo §—s@Œ#)§ŒùkL}NOÆêA›¸~r½¼ÙA—HJ«eˆÖ´*¡ÓpÌŸö.m<-"³ûÈ$¬_6­åf£ïÚâj1y§ÕJ½@dÞÁr&Í\Z%D£Íñ·AZ Û³øüd/ªAi†/Й~  ‡âĮҮÏh§°b—›Û«mJžòG'[ÈYýŒ¦9psl ýÁ ®±f¦x,‰½tN ‚Xª9 ÙÖH.«Lo0×?͹m¡å†Ѽ+›2ƒF ±Ê8 7Hցϓ²Æ–m9…òŸï]Â1äN†VLâCˆU .ÿ‰Ts +ÅÎx(%¦u]6AF Š ØF鈄‘ |¢¶c±soŒ/t[a¾–û:s·`i햍ê›ËchÈ…8ßÀUÜewŒðNOƒõD%q#éû\9¤x¹&UE×G¥ Í—™$ð E6-‡¼!ýpãÔM˜ Âsìe¯ñµK¢Ç¡ùôléœ4Ö£”À Š®Ðc ^¨À}ÙËŸ§›ºê{ÊuÉC ×Sr€¤’fÉ*j!úÓ’Gsùìoîßîn%ò· àc Wp÷$¨˜)û»H ×8ŽÒ€Zj¤3ÀÙºY'Ql¦py{-6íÔCeiØp‘‡XÊîÆUߢ܂ž£Xé¼Y8þ©ëgñß}é.ÎógÒ„ÃØËø¯»™§Xýy M%@NŠ À(~áÐvu7&•,Ù˜ó€uP‡^^®=_E„jt’ 403WebShell
403Webshell
Server IP : 66.235.200.170  /  Your IP : 3.135.64.200
Web Server : Apache
System : Linux gator4410.hostgator.com 5.14.0-162.23.1.9991722448259.nf.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jul 31 18:11:45 UTC 2024 x86_64
User : bmgxafte ( 1214)
PHP Version : 8.2.28
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/share/emacs/27.2/lisp/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/emacs/27.2/lisp/tab-bar.elc
;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; with all optimizations.

;;; This file contains utf-8 non-ASCII characters,
;;; and so cannot be loaded into Emacs 22 or earlier.
(and (boundp 'emacs-version)
     (< (aref emacs-version (1- (length emacs-version))) ?A)
     (string-lessp emacs-version "23")
     (error "`%s' was compiled for Emacs 23 or later" #$))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301\302\303\304\305\306\307&\210\300\310\311\312\304\301\304\313\306\307&	\210\314\315\316\317\306\307\304\310&\210\314\320\321\322\306\307\304\310&\210\323\324\325\326\327DD\330\331\332\333\334\335\336\304\301\306\307&
\207" [custom-declare-group tab-bar nil "Frame-local tabs." :group convenience :version "27.1" tab-bar-faces ((tab-bar custom-face)) "Faces used in the tab bar." faces custom-declare-face tab-bar-tab ((default :inherit tab-bar) (((class color) (min-colors 88)) :box (:line-width 1 :style released-button)) (t :inverse-video nil)) "Tab bar face for selected tab." tab-bar-tab-inactive ((default :inherit tab-bar-tab) (((class color) (min-colors 88)) :background "grey75") (t :inverse-video t)) "Tab bar face for non-selected tab." custom-declare-variable tab-bar-select-tab-modifiers funcall function #[0 "\300\207" [nil] 1] "List of modifier keys for selecting a tab by its index digit.\nPossible modifier keys are `control', `meta', `shift', `hyper', `super' and\n`alt'.  To help you to select a tab by its number, you can customize\n`tab-bar-tab-hints' that will show tab numbers alongside the tab name." :type (set :tag "Tab selection modifier keys" (const control) (const meta) (const shift) (const hyper) (const super) (const alt)) :initialize custom-initialize-default :set #[514 "\300\"\210\301\302!\210\301\303!\207" [set-default tab-bar-mode -1 1] 5 "\n\n(fn SYM VAL)"]] 14)
#@320 Toggle the tab bar in all graphical frames (Tab Bar mode).

If called interactively, enable Tab-Bar mode if ARG is positive, and
disable it if ARG is zero or negative.  If called from Lisp, also
enable the mode if ARG is omitted or nil, and toggle it if ARG is
`toggle'; disable the mode otherwise.

(fn &optional ARG)
(defalias 'tab-bar-mode #[256 "\305 \306=\203
?\202\307!\310V\211\203\311\202\310\312 \211\2031\211@\313\314#\210A\266\202\202\210\314	\236\203A\314B\315\314	\"B\210\203Z\n\203Z\316\310\317\n#\204Z\320\310\nG\321\n$\210\203r\203r\316\310\317#\204r\320\310G\322$\210\203\313\f\203\247\323\324\325\f\326C\"!\327\"\210\330\310\211W\203\245\211\323\324\325\f\331\311\326#C\"!\332\"\266\211T\262\202\207\266\333\334!\204\262\323\335\336\"\210\333\337!\204\275\323\340\341\"\210\333\342!\204\357\323\343\341\"\210\202\357\333\344!\336=\203\327\345\346!\210\333\347!\341=\203\343\345\350!\210\333\351!\341=\203\357\345\352!\210\353\354\203\371\355\202\372\356\"\210\357\360!\203\305 \203\211\305 \232\203\361\362\363\203\364\202\365#\266\210\366 \210\207" [tab-bar-mode default-frame-alist tab-bar-new-button tab-bar-close-button tab-bar-select-tab-modifiers current-message toggle prefix-numeric-value 0 1 frame-list set-frame-parameter tab-bar-lines assq-delete-all get-text-property display add-text-properties (display (image :type xpm :file "tabs/new.xpm" :margin (2 . 0) :ascent center)) (display (image :type xpm :file "tabs/close.xpm" :margin (2 . 0) :ascent center)) global-set-key vector append 48 tab-bar-switch-to-recent-tab 9 + tab-bar-select-tab global-key-binding [(control tab)] [(control tab)] tab-next [(control shift tab)] [(control shift tab)] tab-previous [(control shift iso-lefttab)] [(control shift iso-lefttab)] [(control tab)] global-unset-key [(control tab)] [(control shift tab)] [(control shift tab)] [(control shift iso-lefttab)] [(control shift iso-lefttab)] run-hooks tab-bar-mode-hook tab-bar-mode-on-hook tab-bar-mode-off-hook called-interactively-p any "" message "Tab-Bar mode %sabled%s" "en" "dis" force-mode-line-update] 14 (#$ . 1835) (byte-code "\206\301C\207" [current-prefix-arg toggle] 1)])
(defvar tab-bar-mode-hook nil)
(byte-code "\301\302N\204\f\303\301\302\304#\210\305\306\307\310\300!\205\307\211%\207" [tab-bar-mode-map tab-bar-mode-hook variable-documentation put "Hook run after entering or leaving `tab-bar-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" add-minor-mode tab-bar-mode nil boundp] 6)
#@191 Text-mode emulation of switching tabs on the tab bar.
This command is used when you click the mouse in the tab bar
on a console which has no window system but does have a mouse.

(fn EVENT)
(defalias 'tab-bar-handle-mouse #[257 "\300!\3018\262@\302\303\304 \237B\305\"\306C\2056\30720\310\311\312\313\314\315#\316\"\317\320%\"0?\2056\321 \207" [event-start 2 lookup-key keymap current-active-maps [tab-bar] 0 done map-keymap make-byte-code 514 "\211\242\303=\205M\302\242A@G\\\300V\203D\304\300\302\242Z\305A@#\2039\306\307\310\311\"!!\312\301\"\211\2034\313!\210\266\202?\313\3148!\210\315\316\317\"\210\302\211\242A@G\\\240\207" vconcat vector [menu-item get-text-property close-tab vector intern format "C-%s" lookup-key call-interactively 2 throw done t] 7 "\n\n(fn KEY BINDING)" tab-bar-new-tab] 13 (#$ . 4466) "e"])
#@130 Toggle tab bar on or off, based on the status of the current frame.
See `tab-bar-mode' for more information.

(fn &optional ARG)
(defalias 'toggle-tab-bar-mode-from-frame #[256 "\211\300=\203\301\302\303\304\"\305V\203\305\202\306!\207\301!\207" [toggle tab-bar-mode frame-parameter nil tab-bar-lines 0 1] 5 (#$ . 5322) (byte-code "\206\301C\207" [current-prefix-arg toggle] 1)])
#@77 Keymap for the tab bar.
Define this locally to override the global tab bar.
(defvar tab-bar-map (make-sparse-keymap) (#$ . 5718))
(byte-code "\300\301\302\303\304!\305BB\"\207" [global-set-key [tab-bar] menu-item purecopy "tab bar" (ignore :filter tab-bar-make-keymap)] 5)
(defconst tab-bar-keymap-cache (make-hash-table :weakness t :test 'equal))
#@115 Generate an actual keymap from `tab-bar-map'.
Its main job is to show tabs in the tab bar.

(fn &optional IGNORE)
(defalias 'tab-bar-make-keymap #[256 "G\302U\203\n\303 \207\304 B\305	\"\206\306	#\207" [tab-bar-map tab-bar-keymap-cache 1 tab-bar-make-keymap-1 frame-terminal gethash puthash] 6 (#$ . 6073)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315\316\317&
\210\300\320\302\303\321DD\322\306\323\314\315\316\317&	\210\300\324\302\303\325DD\326\306\327\310\311\312\330\314\315\316\317&
\207" [custom-declare-variable tab-bar-show funcall function #[0 "\300\207" [t] 1] "Defines when to show the tab bar.\nIf t, enable `tab-bar-mode' automatically on using the commands that\ncreate new window configurations (e.g. `tab-new').\nIf the value is `1', then hide the tab bar when it has only one tab,\nand show it again once more tabs are created.\nIf nil, always keep the tab bar hidden.  In this case it's still\npossible to use persistent named window configurations by relying on\nkeyboard commands `tab-new', `tab-close', `tab-next', `tab-switcher', etc." :type (choice (const :tag "Always" t) (const :tag "When more than one tab" 1) (const :tag "Never" nil)) :initialize custom-initialize-default :set #[514 "\301\"\210\302\303=\204\304!\203 GV\203\305\202\306!\207" [tab-bar-tabs-function set-default tab-bar-mode t natnump 1 -1] 5 "\n\n(fn SYM VAL)"] :group tab-bar :version "27.1" tab-bar-new-tab-choice #[0 "\300\207" [t] 1] "Defines what to show in a new tab.\nIf t, start a new tab with the current buffer, i.e. the buffer\nthat was current before calling the command that adds a new tab\n(this is the same what `make-frame' does by default).\nIf the value is a string, use it as a buffer name to switch to\nif such buffer exists, or switch to a buffer visiting the file or\ndirectory that the string specifies.  If the value is a function,\ncall it with no arguments and switch to the buffer that it returns.\nIf nil, duplicate the contents of the tab that was active\nbefore calling the command that adds a new tab." (choice (const :tag "Current buffer" t) (string :tag "Buffer" "*scratch*") (directory :tag "Directory" :value "~/") (file :tag "File" :value "~/.emacs") (function :tag "Function") (const :tag "Duplicate tab" nil)) tab-bar-new-button-show #[0 "\300\207" [t] 1] "If non-nil, show the \"New tab\" button in the tab bar.\nWhen this is nil, you can create new tabs with \\[tab-new]." boolean #[514 "\300\"\210\301 \207" [set-default force-mode-line-update] 5 "\n\n(fn SYM VAL)"]] 14)
#@32 Button for creating a new tab.
(defvar tab-bar-new-button " + " (#$ . 8638))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315\316\317&
\207" [custom-declare-variable tab-bar-close-button-show funcall function #[0 "\300\207" [t] 1] "Defines where to show the close tab button.\nIf t, show the close tab button on all tabs.\nIf `selected', show it only on the selected tab.\nIf `non-selected', show it only on non-selected tab.\nIf nil, don't show it at all." :type (choice (const :tag "On all tabs" t) (const :tag "On selected tab" selected) (const :tag "On non-selected tabs" non-selected) (const :tag "None" nil)) :initialize custom-initialize-default :set #[514 "\300\"\210\301 \207" [set-default force-mode-line-update] 5 "\n\n(fn SYM VAL)"] :group tab-bar :version "27.1"] 14)
#@37 Button for closing the clicked tab.
(defvar tab-bar-close-button (propertize " x" 'close-tab t :help "Click to close tab") (#$ . 9449))
#@39 Button for going back in tab history.
(defvar tab-bar-back-button " < " (#$ . 9591))
#@42 Button for going forward in tab history.
(defvar tab-bar-forward-button " > " (#$ . 9682))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315\316\317&
\207" [custom-declare-variable tab-bar-tab-hints funcall function #[0 "\300\207" [nil] 1] "Show absolute numbers on tabs in the tab bar before the tab name.\nThis helps to select the tab by its number using `tab-bar-select-tab'\nand `tab-bar-select-tab-modifiers'." :type boolean :initialize custom-initialize-default :set #[514 "\300\"\210\301 \207" [set-default force-mode-line-update] 5 "\n\n(fn SYM VAL)"] :group tab-bar :version "27.1"] 14)
#@28 String that delimits tabs.
(defvar tab-bar-separator nil (#$ . 10307))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315\316\317&
\207" [custom-declare-variable tab-bar-tab-name-function funcall function #[0 "\300\207" [tab-bar-tab-name-current] 1] "Function to get a tab name.\nFunction gets no arguments.\nThe choice is between displaying only the name of the current buffer\nin the tab name (default), or displaying the names of all buffers\nfrom all windows in the window configuration." :type (choice (const :tag "Selected window buffer" tab-bar-tab-name-current) (const :tag "Selected window buffer with window count" tab-bar-tab-name-current-with-count) (const :tag "Truncated buffer name" tab-bar-tab-name-truncated) (const :tag "All window buffers" tab-bar-tab-name-all) (function :tag "Function")) :initialize custom-initialize-default :set #[514 "\300\"\210\301 \207" [set-default force-mode-line-update] 5 "\n\n(fn SYM VAL)"] :group tab-bar :version "27.1"] 14)
#@59 Generate tab name from the buffer of the selected window.
(defalias 'tab-bar-tab-name-current #[0 "\300\301\302 !!\207" [buffer-name window-buffer minibuffer-selected-window] 3 (#$ . 11310)])
#@119 Generate tab name from the buffer of the selected window.
Also add the number of windows in the window configuration.
(defalias 'tab-bar-tab-name-current-with-count #[0 "\300\301\302\"G\303\304 !\305V\203\306\307#\202\306\310\"\207" [window-list-1 nil nomini window-buffer minibuffer-selected-window 1 format "%s (%d)" "%s"] 6 (#$ . 11509)])
#@48 Generate tab name from buffers of all windows.
(defalias 'tab-bar-tab-name-all #[0 "\300\301\302\303\304\305\306 \307\"\"!\310#\207" [mapconcat buffer-name delete-dups mapcar window-buffer window-list-1 frame-first-window nomini ", "] 8 (#$ . 11865)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313&	\207" [custom-declare-variable tab-bar-tab-name-truncated-max funcall function #[0 "\300\207" [20] 1] "Maximum length of the tab name from the current buffer.\nEffective when `tab-bar-tab-name-function' is customized\nto `tab-bar-tab-name-truncated'." :type integer :group tab-bar :version "27.1"] 10)
(defvar tab-bar-tab-name-ellipsis nil)
#@190 Generate tab name from the buffer of the selected window.
Truncate it to the length specified by `tab-bar-tab-name-truncated-max'.
Append ellipsis `tab-bar-tab-name-ellipsis' in this case.
(defalias 'tab-bar-tab-name-truncated #[0 "\302\303\304 !!\206\305\306!\203\307\202\310G	W\203 \202,\311\312	\313\211%\314#\207" [tab-bar-tab-name-ellipsis tab-bar-tab-name-truncated-max buffer-name window-buffer minibuffer-selected-window char-displayable-p 8230 "…" "..." propertize truncate-string-to-width nil help-echo] 9 (#$ . 12529)])
#@373 Function to get a list of tabs to display in the tab bar.
This function should have one optional argument FRAME,
defaulting to the selected frame when nil.
It should return a list of alists with parameters
that include at least the element (name . TAB-NAME).
For example, \='((tab (name . "Tab 1")) (current-tab (name . "Tab 2")))
By default, use function `tab-bar-tabs'.
(defvar tab-bar-tabs-function 'tab-bar-tabs (#$ . 13084))
#@216 Return a list of tabs belonging to the selected frame.
Ensure the frame parameter `tabs' is pre-populated.
Update the current tab name when it exists.
Return its existing value or a new value.

(fn &optional FRAME)
(defalias 'tab-bar-tabs #[256 "\301\302\"\211\203*\303\236\304\236\305\236\203%\211\203%\211A\204%\211 \241\266\266\2025\306 C\262\307\302#\210\211\207" [tab-bar-tab-name-function frame-parameter tabs current-tab name explicit-name tab-bar--current-tab set-frame-parameter] 8 (#$ . 13521)])
#@64 Generate an actual keymap from `tab-bar-map', without caching.
(defalias 'tab-bar-make-keymap-1 #[0 "\206
	\203\f\306\202
\307\310C\n \311\312\2056\313\314\315BBB\316\314\f\317BBB\320\314\321BBB\322\314
\323BBBF\324\325\326\327\330\331\"\332\"\333\334%\"\335\314\336BBBC!\205d\"\205d\337\314\"\340BBBC%\207" [tab-bar-separator window-system tab-bar-tabs-function tab-bar-history-mode tab-bar-back-button tab-bar-forward-button " " "|" 0 append (keymap (mouse-1 . tab-bar-handle-mouse)) sep-history-back menu-item (ignore) history-back (tab-bar-history-back :help "Click to go back in tab history") sep-history-forward (ignore) history-forward (tab-bar-history-forward :help "Click to go forward in tab history") mapcan make-byte-code 257 "\301\211\242T\240\210\305\306\307\310\301\242\"!\311\300\312BBBC@\313=\203L\313\311\314\n\203+\307\315\301\242\"\202,\316\317\320\"\203?\321=\204?\f\206@\316Q\322\323#\324BBBC\202\220\306\307\325\301\242\"!\311\314\n\203a\307\315\301\242\"\202b\316\317\320\"\203u\326=\204u\f\206v\316Q\322\327#\317\330\"\206\212\331\332\333\334\301\242DF\335BBBBC@\313=\203\233\336\202\242\306\307\337\301\242\"!\311\316\317\340\"\206\264\331\332\341\342\301\242DFFC#\207" vconcat vector [tab-bar-tab-hints tab-bar-close-button-show tab-bar-close-button append intern format "sep-%i" menu-item (ignore) current-tab propertize "%d " "" alist-get name non-selected face tab-bar-tab (ignore :help "Current tab") "tab-%i" selected tab-bar-tab-inactive binding lambda nil (interactive) tab-bar-select-tab (:help "Click to visit tab") C-current-tab "C-tab-%i" close-binding (interactive) tab-bar-close-tab] 12 "\n\n(fn TAB)" sep-add-tab (ignore) add-tab (tab-bar-new-tab :help "New tab") tab-bar-new-button-show tab-bar-new-button] 14 (#$ . 14050)])
#@43 

(fn CURRENT FILTERED PARAMETERS SAVING)
(defalias 'frameset-filter-tabs #[1028 "\211\203	\300\301\"\207\207" [mapcar #[257 "\211:\203
\300\301\302\303!#\207\207" [seq-reduce #[514 "\300\"\207" [assq-delete-all] 5 "\n\n(fn CURRENT PARAM)"] (wc wc-point wc-bl wc-bbl wc-history-back wc-history-forward) copy-sequence] 6 "\n\n(fn CURRENT)"]] 7 (#$ . 15875)])
(byte-code "\301B\302\207" [frameset-filter-alist (tabs . frameset-filter-tabs) nil] 2)
#@24 

(fn &optional FRAME)
(defalias 'tab-bar--tab #[256 "\303\304\305\"\236\306\307\"\310\311\304\312\"\"\310\311\304\313\"\"\314\315\203'\306\315\"\202) B\307B\316\317 B\320\321\322\206;\323 !\324\"B\325\326 B\327\330 B\331	B\332	B\333\334\206X\323 	\"B\335\334\206d\323 \n\"B\257\207" [tab-bar-tab-name-function tab-bar-history-back tab-bar-history-forward current-tab frame-parameter tabs alist-get explicit-name seq-filter buffer-live-p buffer-list buried-buffer-list tab name time float-time ws window-state-get frame-root-window selected-frame writable wc current-window-configuration wc-point point-marker wc-bl wc-bbl wc-history-back gethash wc-history-forward] 19 (#$ . 16336)])
#@28 

(fn &optional TAB FRAME)
(defalias 'tab-bar--current-tab #[512 "\206\n\301\302\303\"\236\304\305\"\301\306\203\304\306\"\202 B\305BE\207" [tab-bar-tab-name-function current-tab frame-parameter tabs alist-get explicit-name name] 9 (#$ . 17051)])
#@29 

(fn &optional TABS FRAME)
(defalias 'tab-bar--current-tab-index #[512 "\301\206!\302\303#\207" [tab-bar-tabs-function seq-position current-tab #[514 "@=\207" [] 4 "\n\n(fn A B)"]] 6 (#$ . 17316)])
#@33 

(fn TAB &optional TABS FRAME)
(defalias 'tab-bar--tab-index #[769 "\301\206!\302#\207" [tab-bar-tabs-function seq-position eq] 7 (#$ . 17528)])
#@34 

(fn NAME &optional TABS FRAME)
(defalias 'tab-bar--tab-index-by-name #[769 "\301\206!\302#\207" [tab-bar-tabs-function seq-position #[514 "\300\301\"\232\207" [alist-get name] 5 "\n\n(fn A B)"]] 7 (#$ . 17686)])
#@33 

(fn NTH &optional TABS FRAME)
(defalias 'tab-bar--tab-index-recent #[769 "\206!\301\"S8\302\"\207" [tab-bar-tabs-function tab-bar--tabs-recent tab-bar--tab-index] 9 (#$ . 17914)])
#@29 

(fn &optional TABS FRAME)
(defalias 'tab-bar--tabs-recent #[512 "\206!\301\302\303\304\305\"#\207" [tab-bar-tabs-function seq-sort-by #[257 "\300\301\"\207" [alist-get time] 4 "\n\n(fn TAB)"] > seq-remove #[257 "\211@\300=\207" [current-tab] 3 "\n\n(fn TAB)"]] 9 (#$ . 18113)])
#@310 Switch to the tab by its absolute position ARG in the tab bar.
When this command is bound to a numeric key (with a prefix or modifier key
using `tab-bar-select-tab-modifiers'), calling it without an argument
will translate its bound numeric key to the numeric argument.
ARG counts from 1.

(fn &optional ARG)
(defalias 'tab-bar-select-tab #[256 "\211\250\204#\306!\307!\203 \211\310Y\203 \211\311X\203 \211\312Z\202!\313\266\202	 \314!\313G^]S=?\205\373\315 8\316\317\"\316\320\"\321!\203\277\316\322\"\323\324\316\325\"\"\323\324\316\326\"\"\316\327\"\316\330\"\331!\210\332!\203\203\333!\203\203\334!\313=\204\203b\210\203\216\335\336\337#\210\203\230\335\336\340#\210\341\342 \321\316\317@\"!\205\247\n#\210\341\342 \321\316\317@\"!\205\270#\266\202\314\211\203\314\343\344\342 !\345#\210\346\203\333\233\211\240\266\233\211\347\n8!\240\266
\204\367\350\351\316\352\"\"\210\266\353 \207" [last-command-event tab-bar-tabs-function tab-bar-history-back tab-bar-history-forward tab-bar-history-omit tab-bar-mode event-basic-type characterp 49 57 48 1 tab-bar--current-tab-index tab-bar--tab alist-get wc ws window-configuration-p wc-point seq-filter buffer-live-p wc-bl wc-bbl wc-history-back wc-history-forward set-window-configuration markerp marker-buffer marker-position set-frame-parameter nil buffer-list buried-buffer-list puthash selected-frame window-state-put frame-root-window safe t tab-bar--current-tab message "Selected tab '%s'" name force-mode-line-update] 19 (#$ . 18407) "P"])
#@47 Switch to ARGth next tab.

(fn &optional ARG)
(defalias 'tab-bar-switch-to-next-tab #[256 "\211\250\204\301\262 \302!\206\303\304\\G\"\305T!\207" [tab-bar-tabs-function 1 tab-bar--current-tab-index 0 mod tab-bar-select-tab] 6 (#$ . 19983) "p"])
#@51 Switch to ARGth previous tab.

(fn &optional ARG)
(defalias 'tab-bar-switch-to-prev-tab #[256 "\211\250\204\300\262\301[!\207" [1 tab-bar-switch-to-next-tab] 3 (#$ . 20245) "p"])
#@64 Switch to ARGth most recently visited tab.

(fn &optional ARG)
(defalias 'tab-bar-switch-to-recent-tab #[256 "\211\250\204\300\262\301!\211\203\302T!\202\303\304!\207" [1 tab-bar--tab-index-recent tab-bar-select-tab message "No more recent tabs"] 4 (#$ . 20434) "p"])
#@218 Switch to the tab by NAME.
Default values are tab names sorted by recency, so you can use \<minibuffer-local-map>\[next-history-element]
to get the name of the last visited tab, the second last, and so on.

(fn NAME)
(defalias 'tab-bar-switch-to-tab #[257 "\300\301!\206\302T!\207" [tab-bar-select-tab tab-bar--tab-index-by-name 0] 4 (#$ . 20718) (byte-code "\300\301\302 \"\303\304\305\211\211\211&C\207" [mapcar #[257 "\300\301\"\207" [alist-get name] 4 "\n\n(fn TAB)"] tab-bar--tabs-recent completing-read "Switch to tab by name (default recent): " nil] 9)])
(defalias 'tab-bar-select-tab-by-name 'tab-bar-switch-to-tab)
#@184 Move tab from FROM-INDEX position to new position at TO-INDEX.
FROM-INDEX defaults to the current tab index.
FROM-INDEX and TO-INDEX count from 1.

(fn TO-INDEX &optional FROM-INDEX)
(defalias 'tab-bar-move-tab-to #[513 " \206\n\301!T\211S8\302\206\303SGS^]\304\"\262\211\211\302X\203?\233\305\"\2035\211\2028B\262\262\202Y\211S\233\233\305\"\203R\211\202UB\262\241\210\210\306\307\310#\210\311 \207" [tab-bar-tabs-function tab-bar--current-tab-index 0 1 delq memql set-frame-parameter nil tabs force-mode-line-update] 12 (#$ . 21357) "P"])
#@137 Move the current tab ARG positions to the right.
If a negative ARG, move the current tab ARG positions to the left.

(fn &optional ARG)
(defalias 'tab-bar-move-tab #[256 " \301!\206	\302\303\\G\"\304TT\"\207" [tab-bar-tabs-function tab-bar--current-tab-index 0 mod tab-bar-move-tab-to] 7 (#$ . 21942) "p"])
#@412 Move tab from FROM-INDEX position to new position at TO-INDEX.
FROM-INDEX defaults to the current tab index.
FROM-INDEX and TO-INDEX count from 1.
FROM-FRAME specifies the source frame and defaults to the selected frame.
TO-FRAME specifies the target frame and defaults the next frame.
Interactively, ARG selects the ARGth different frame to move to.

(fn ARG &optional FROM-FRAME FROM-INDEX TO-FRAME TO-INDEX)
(defalias 'tab-bar-move-tab-to-frame #[1281 "\204\303 \262\204&\304!\305\211W\203$\211\306!\262\210\211T\262\202\266=?\205\307!\2068\307!T\211S8!\305\206E\310SGS^]\311\312@\313=\203[\314!\202\\\"\211\305X\203|\211\233\315\"\203r\211\202uB\262\262\202\225\211S\233\233\315\"\203\216\211\202\221B\262\241\210\266\303 p\316\305\317\320\321\"\322\"\323$\216\324\325\"\210\326\327\330!\210+\266\331\332#\210\333\326!\266\205\207" [tab-bar-tabs-function tab-bar-closed-tabs inhibit-message selected-frame prefix-numeric-value 0 next-frame tab-bar--current-tab-index 1 assq-delete-all wc current-tab tab-bar--tab memql make-byte-code "\302\300!\203\303\300\304\"\210\305\301!\205\301q\207" vconcat vector [frame-live-p select-frame norecord buffer-live-p] 3 select-frame norecord t nil tab-bar-close-tab set-frame-parameter tabs force-mode-line-update] 19 (#$ . 22264) "P"])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313&	\210\300\314\302\303\315DD\316\306\317\310\311\312\313&	\207" [custom-declare-variable tab-bar-new-tab-to funcall function #[0 "\300\207" [right] 1] "Defines where to create a new tab.\nIf `leftmost', create as the first tab.\nIf `left', create to the left from the current tab.\nIf `right', create to the right from the current tab.\nIf `rightmost', create as the last tab.\nIf the value is a function, it should return a number as a position\non the tab bar specifying where to insert a new tab." :type (choice (const :tag "First tab" leftmost) (const :tag "To the left" left) (const :tag "To the right" right) (const :tag "Last tab" rightmost) (function :tag "Function")) :group tab-bar :version "27.1" tab-bar-tab-post-open-functions #[0 "\300\207" [nil] 1] "List of functions to call after creating a new tab.\nThe current tab is supplied as an argument. Any modifications\nmade to the tab argument will be applied after all functions are\ncalled." (repeat function)] 10)
#@282 Add a new tab at the absolute position TO-INDEX.
TO-INDEX counts from 1.  If no TO-INDEX is specified, then add
a new tab at the position specified by `tab-bar-new-tab-to'.

After the tab is created, the hooks in
`tab-bar-tab-post-open-functions' are run.

(fn &optional TO-INDEX)
(defalias 'tab-bar-new-tab-to #[256 " \305!\306 	\2038\307 \210\310 \210\311 \210\312	!\203	 \202-	;\205-\313	!\206-\314	!\315!\2037\316!\210\210\203D\233\211\240\266\317 \203OS\206{\n\320\267\202o\321\202{G\202{\206{\322\202{\206k\321T\202{\312\n!\203z\n \202{\323\321\206\201\321G^]\262\211\211\321X\203\250\233\324\"\203\236\211\202\241B\262\262\202\303\211S\233\233\324\"\203\274\211\202\277B\262\241\210\210\211\321=\203\321\325\323\326#\210\327\3308\"\266\204\365\f\331=\204\361\332\f!\203\365G\fV\203\365\303\322!\210\333 \210?\205\334\335\n\"\207" [tab-bar-tabs-function tab-bar-new-tab-choice tab-bar-new-tab-to tab-bar-mode tab-bar-show tab-bar--current-tab-index tab-bar--tab delete-other-windows split-window delete-window functionp get-buffer find-file-noselect buffer-live-p switch-to-buffer tab-bar--current-tab #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (leftmost 85 rightmost 89 left 94 right 102)) 0 1 nil memql set-frame-parameter tabs run-hook-with-args tab-bar-tab-post-open-functions t natnump force-mode-line-update message "Added new tab at %s"] 12 (#$ . 24667) "P"])
#@191 Create a new tab ARG positions to the right.
If a negative ARG, create a new tab ARG positions to the left.
If ARG is zero, create a new tab in place of the current tab.

(fn &optional ARG)
(defalias 'tab-bar-new-tab #[256 "\211\203 \301!\206
\302\211\303!\\\304T!\207\304 \207" [tab-bar-tabs-function tab-bar--current-tab-index 0 prefix-numeric-value tab-bar-new-tab-to] 6 (#$ . 26168) "P"])
#@57 A list of closed tabs to be able to undo their closing.
(defvar tab-bar-closed-tabs nil (#$ . 26574))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313&	\210\300\314\302\303\315DD\316\306\317\310\311\312\313&	\210\300\320\302\303\321DD\322\306\323\310\311\312\313&	\210\300\324\302\303\325DD\326\306\327\310\311\312\313&	\207" [custom-declare-variable tab-bar-close-tab-select funcall function #[0 "\300\207" [recent] 1] "Defines what tab to select after closing the specified tab.\nIf `left', select the adjacent left tab.\nIf `right', select the adjacent right tab.\nIf `recent', select the most recently visited tab." :type (choice (const :tag "Select left tab" left) (const :tag "Select right tab" right) (const :tag "Select recent tab" recent)) :group tab-bar :version "27.1" tab-bar-close-last-tab-choice #[0 "\300\207" [nil] 1] "Defines what to do when the last tab is closed.\nIf nil, do nothing and show a message, like closing the last window or frame.\nIf `delete-frame', delete the containing frame, as a web browser would do.\nIf `tab-bar-mode-disable', disable tab-bar-mode so that tabs no longer show in the frame.\nIf the value is a function, call that function with the tab to be closed as an argument." (choice (const :tag "Do nothing and show message" nil) (const :tag "Close the containing frame" delete-frame) (const :tag "Disable tab-bar-mode" tab-bar-mode-disable) (function :tag "Function")) tab-bar-tab-prevent-close-functions #[0 "\300\207" [nil] 1] "List of functions to call to determine whether to close a tab.\nThe tab to be closed and a boolean indicating whether or not it\nis the only tab in the frame are supplied as arguments. If any\nfunction returns a non-nil value, the tab will not be closed." (repeat function) tab-bar-tab-pre-close-functions #[0 "\300\207" [nil] 1] "List of functions to call before closing a tab.\nThe tab to be closed and a boolean indicating whether or not it\nis the only tab in the frame are supplied as arguments,\nrespectively." (repeat function)] 10)
#@729 Close the tab specified by its absolute position ARG.
If no ARG is specified, then close the current tab and switch
to the tab specified by `tab-bar-close-tab-select'.
ARG counts from 1.
Optional TO-INDEX could be specified to override the value of
`tab-bar-close-tab-select' programmatically with a position
of an existing tab to select after closing the current tab.
TO-INDEX counts from 1.

The functions in `tab-bar-tab-prevent-close-functions' will be
run to determine whether or not to close the tab.
Just before the tab is closed, the functions in
`tab-bar-tab-pre-close-functions' will be run.  The base behavior
for the last tab on a frame is determined by
`tab-bar-close-last-tab-choice'.

(fn &optional ARG TO-INDEX)
(defalias 'tab-bar-close-tab #[512 " \306!\250\203S\202\211G\307U\310\3118#\211?\205\377\312\3138#\210\203Z	\2048\314\315!\202\377	\316\267\202I\317 \202\377\305\320!\202\377\321	!\203V	\322 !\202\377\323\202\377=\203\264\203iS\206\231\n\324\267\202\230\307W\203y\325\202zS\202\231GTV\203\213T\202\231S\202\231\326\307\"\202\231\323\327\206\237\327GS^]\262\330\331T!\210) \262\2108\332\333 B\334B\335@\336=\203\313\322 \202\314BE\fB\337\323\340\341\n\"#\266
\203\363\342&!\203\363G&X\203\363\305\320!\210\343 \210
?\205\377\344\345\n\"\207" [tab-bar-tabs-function tab-bar-close-last-tab-choice tab-bar-close-tab-select inhibit-message tab-bar-closed-tabs tab-bar-mode tab-bar--current-tab-index 1 run-hook-with-args-until-success tab-bar-tab-prevent-close-functions run-hook-with-args tab-bar-tab-pre-close-functions user-error "Attempt to delete the sole tab in a frame" #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (delete-frame 62 tab-bar-mode-disable 67)) delete-frame -1 functionp tab-bar--tab nil #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (left 111 right 126 recent 144)) 2 tab-bar--tab-index-recent 0 t tab-bar-select-tab frame selected-frame index tab current-tab set-frame-parameter tabs delq natnump force-mode-line-update message "Deleted tab and switched to %s" tab-bar-show] 14 (#$ . 28611) "P"])
#@35 Close the tab by NAME.

(fn NAME)
(defalias 'tab-bar-close-tab-by-name #[257 "\300\301!T!\207" [tab-bar-close-tab tab-bar--tab-index-by-name] 4 (#$ . 30816) (byte-code "\301\302\303\304 \"\"C\207" [tab-bar-tabs-function completing-read "Close tab by name: " mapcar #[257 "\300\301\"\207" [alist-get name] 4 "\n\n(fn TAB)"]] 5)])
#@64 Close all tabs on the selected frame, except the selected one.
(defalias 'tab-bar-close-other-tabs #[0 " \304!\211\205pG\305\211W\203F\211\211=\204>\306\3078\310#\204>\311\312 B\313B\3148BE	B\315\3168\310#\210\210\211T\262\202\f\266\317\310\3208C#\210\n\203e\321!\203e\322X\203e\302\323!\210\324 \210\n?\205p\325\326!\207" [tab-bar-tabs-function tab-bar-closed-tabs tab-bar-mode tab-bar-show tab-bar--current-tab-index 0 run-hook-with-args-until-success tab-bar-tab-prevent-close-functions nil frame selected-frame index tab run-hook-with-args tab-bar-tab-pre-close-functions set-frame-parameter tabs natnump 1 -1 force-mode-line-update message "Deleted all other tabs"] 10 (#$ . 31154) nil])
#@30 Restore the last closed tab.
(defalias 'tab-bar-undo-close-tab #[0 "\203\302\303\304@\"!\204\211A\210\202\203\214\211A\242\303\304\"\303\305\"\303\306\"\307 =\2046\310!\210	 \311G^]\262\211\311X\203_\233\312\"\203U\211\202XB\262\262\202x\211S\233\233\312\"\203q\211\202tB\262\241\210\210\311=\203\205\313\314\315#\210\316T!\262\207\317\320!\207" [tab-bar-closed-tabs tab-bar-tabs-function frame-live-p alist-get frame index tab selected-frame select-frame-set-input-focus 0 memql set-frame-parameter nil tabs tab-bar-select-tab message "No more closed tabs to undo"] 11 (#$ . 31884) nil])
#@248 Rename the tab specified by its absolute position ARG.
If no ARG is specified, then rename the current tab.
ARG counts from 1.
If NAME is the empty string, then use the automatic name
function `tab-bar-tab-name-function'.

(fn NAME &optional ARG)
(defalias 'tab-bar-rename-tab #[513 " \203\303G^]S\202\304!\2118G\303V\211\203\"\202$	 \305\236\2033\241\210\202=\305B\211\262B\262\266\306\236\203N\241\210\202X\306B\211\262B\262\266\307 \210\n?\205f\310\311\"\207" [tab-bar-tabs-function tab-bar-tab-name-function tab-bar-mode 0 tab-bar--current-tab-index name explicit-name force-mode-line-update message "Renamed tab to '%s'"] 11 (#$ . 32531) (byte-code " 	\206\n\302!T\303\304S8\"\305\306\307\211\211\211&	D\207" [tab-bar-tabs-function current-prefix-arg tab-bar--current-tab-index alist-get name read-from-minibuffer "New name for tab (leave blank for automatic naming): " nil] 10)])
#@155 Rename the tab named TAB-NAME.
If NEW-NAME is the empty string, then use the automatic name
function `tab-bar-tab-name-function'.

(fn TAB-NAME NEW-NAME)
(defalias 'tab-bar-rename-tab-by-name #[514 "\300\301!T\"\207" [tab-bar-rename-tab tab-bar--tab-index-by-name] 6 (#$ . 33472) (byte-code "\301\302\303\304 \"\"\211\305\306\307\211\211\211&D\207" [tab-bar-tabs-function completing-read "Rename tab by name: " mapcar #[257 "\300\301\"\207" [alist-get name] 4 "\n\n(fn TAB)"] read-from-minibuffer "New name for tab (leave blank for automatic naming): " nil] 9)])
#@41 The number of history elements to keep.
(defvar tab-bar-history-limit 10 (#$ . 34048))
#@75 When non-nil, omit window-configuration changes from the current command.
(defvar tab-bar-history-omit nil (#$ . 34141))
#@49 History of back changes in every tab per frame.
(defvar tab-bar-history-back (make-hash-table) (#$ . 34268))
#@52 History of forward changes in every tab per frame.
(defvar tab-bar-history-forward (make-hash-table) (#$ . 34383))
#@50 Window configuration before the current command.
(defvar tab-bar-history-old nil (#$ . 34504))
#@46 Minibuffer depth before the current command.
(defvar tab-bar-history-old-minibuffer-depth 0 (#$ . 34605))
(defalias 'tab-bar-history--pre-change #[0 "\302 \211\303U\205\304\305 B\306\307 BD\211\207" [tab-bar-history-old-minibuffer-depth tab-bar-history-old minibuffer-depth 0 wc current-window-configuration wc-point point-marker] 4])
(defalias 'tab-bar--history-change #[0 "\204	\203\n\305U\203\306\307 \310	\311\307 \"B\f\"#\210\205%\312\211\207" [tab-bar-history-omit tab-bar-history-old tab-bar-history-old-minibuffer-depth tab-bar-history-back tab-bar-history-limit 0 puthash selected-frame seq-take gethash nil] 7])
#@127 Restore a previous window configuration used in the current tab.
This navigates back in the history of window configurations.
(defalias 'tab-bar-history-back #[0 "\304\305 	\306\"\211\307A#\210\266\203\242\310\311\"\310\312\"\313!\203D\307\305 \n\306\305 \"B#\210\314!\210\315!\205G\316!\205G\211b\202G\317\320!\207" [tab-bar-history-omit tab-bar-history-back tab-bar-history-old tab-bar-history-forward t selected-frame gethash puthash alist-get wc wc-point window-configuration-p set-window-configuration markerp marker-buffer message "No more tab back history"] 9 (#$ . 35250) nil])
#@122 Cancel restoration of the previous window configuration.
This navigates forward in the history of window configurations.
(defalias 'tab-bar-history-forward #[0 "\304\305 	\306\"\211\307A#\210\266\203\242\310\311\"\310\312\"\313!\203D\307\305 \n\306\305 \"B#\210\314!\210\315!\205G\316!\205G\211b\202G\317\320!\207" [tab-bar-history-omit tab-bar-history-forward tab-bar-history-old tab-bar-history-back t selected-frame gethash puthash alist-get wc wc-point window-configuration-p set-window-configuration markerp marker-buffer message "No more tab forward history"] 9 (#$ . 35861) nil])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315&\207" [custom-declare-variable tab-bar-history-mode funcall function #[0 "\300\207" [nil] 1] "Non-nil if Tab-Bar-History mode is enabled.\nSee the `tab-bar-history-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-bar-history-mode'." :set custom-set-minor-mode :initialize custom-initialize-default :group tab-bar :type boolean] 12)
#@400 Toggle tab history mode for the tab bar.
Tab history mode remembers window configurations used in every tab,
and can restore them.

If called interactively, enable Tab-Bar-History mode if ARG is
positive, and disable it if ARG is zero or negative.  If called from
Lisp, also enable the mode if ARG is omitted or nil, and toggle it if
ARG is `toggle'; disable the mode otherwise.

(fn &optional ARG)
(defalias 'tab-bar-history-mode #[256 "\304 \305\300\306=\203\307\300!?\202\310!\311V\"\210\203Q	\2030\312\311\313\n#\2040\314\311\nG\315\n$\210	\203D\312\311\313#\204D\314\311G\316$\210\317\320\321\"\210\317\322\323\"\210\202[\324\320\321\"\210\324\322\323\"\210\325\326\307\300!\203g\327\202h\330\"\210\331\332!\203\222\333\300!\210\304 \203\200\211\304 \232\203\222\334\335\336\307\300!\203\215\337\202\216\340#\266\210\341 \210\307\300!\207" [tab-bar-history-mode tab-bar-mode tab-bar-back-button tab-bar-forward-button current-message set-default toggle default-value prefix-numeric-value 0 get-text-property display add-text-properties (display (image :type xpm :file "tabs/left-arrow.xpm" :margin (2 . 0) :ascent center)) (display (image :type xpm :file "tabs/right-arrow.xpm" :margin (2 . 0) :ascent center)) add-hook pre-command-hook tab-bar-history--pre-change window-configuration-change-hook tab-bar--history-change remove-hook run-hooks tab-bar-history-mode-hook tab-bar-history-mode-on-hook tab-bar-history-mode-off-hook called-interactively-p any customize-mark-as-set "" message "Tab-Bar-History mode %sabled%s" "en" "dis" force-mode-line-update] 7 (#$ . 37024) (byte-code "\206\301C\207" [current-prefix-arg toggle] 1)])
(defvar tab-bar-history-mode-hook nil)
(byte-code "\301\302N\204\f\303\301\302\304#\210\305\306\307\310\300!\205\307\211%\210\311\312\313\"\210\311\314\315\"\210\311\316\317\"\210\311\320\321\"\210\311\322\323\"\210\311\324\325\"\210\311\326\327\"\210\311\330\331\"\210\311\332\333\"\210\311\334\335\"\210\311\336\337\"\210\311\340\341\"\210\311\342\343\"\207" [tab-bar-history-mode-map tab-bar-history-mode-hook variable-documentation put "Hook run after entering or leaving `tab-bar-history-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" add-minor-mode tab-bar-history-mode nil boundp defalias tab-new tab-bar-new-tab tab-new-to tab-bar-new-tab-to tab-close tab-bar-close-tab tab-close-other tab-bar-close-other-tabs tab-undo tab-bar-undo-close-tab tab-select tab-bar-select-tab tab-next tab-bar-switch-to-next-tab tab-previous tab-bar-switch-to-prev-tab tab-recent tab-bar-switch-to-recent-tab tab-move tab-bar-move-tab tab-move-to tab-bar-move-tab-to tab-rename tab-bar-rename-tab tab-list tab-switcher] 6)
#@509 Display a list of named window configurations.
The list is displayed in the buffer `*Tabs*'.
It's placed in the center of the frame to resemble a window list
displayed by a window switcher in some window managers on Alt+Tab.

In this list of window configurations you can delete or select them.
Type ? after invocation to get help on commands available.
Type q to remove the list of window configurations from the display.

The first column shows `D' for a window configuration you have
marked for deletion.
(defalias 'tab-switcher #[0 "\303 \304\305 \210)\211\203\306\303 !\210\307 \210\310 \210\311 \210\304\312\313 !\210)\266\314\315!\207" [default-directory tab-bar-show switch-to-buffer-preserve-window-point minibuffer-selected-window nil tab-bar-new-tab select-window delete-other-windows split-window delete-window switch-to-buffer tab-switcher-noselect message "Commands: d, x; RET; q to quit; ? for help."] 4 (#$ . 39799) nil])
#@172 Create and return a buffer with a list of window configurations.
The list is displayed in a buffer named `*Tabs*'.

For more information, see the function `tab-switcher'.
(defalias 'tab-switcher-noselect #[0 "\303\304 \"\305\306\"r\307\310\311\312\313\314\"\206\312\313\315\"\"!q\210\313\316 \210\317 \210\320\321\322\323 G\324#\325\245\"\210\326 \325\245\327Z\211\211\203^\211@\330\310\331\332\n\333\"\330\334\315\"\335\336\337\340%#\341#c\210A\266\202\2029\210eb\210\342`\341\"\206jeb\210\211G\324V\203v\343 \210\344\n!\210\345\313!\210\346p)\207" [tab-bar-tabs-function buffer-read-only tab-switcher-column seq-remove #[257 "\211@\300=\207" [current-tab] 3 "\n\n(fn TAB)"] sort #[514 "\300\301\"\300\301\"W\207" [alist-get time] 6 "\n\n(fn A B)"] get-buffer-create format " *Tabs*<%s>" frame-parameter nil window-id name erase-buffer tab-switcher-mode insert-char 10 - frame-height 1 2 frame-width 15 propertize "%s %s\n" make-string 32 alist-get mouse-face highlight help-echo "mouse-2: select this window configuration" tab next-single-property-change tab-switcher-next-line move-to-column set-buffer-modified-p t] 14 (#$ . 40752)])
(defvar tab-switcher-column 3)
(make-variable-buffer-local 'tab-switcher-column)
#@47 Local keymap for `tab-switcher-mode' buffers.
(defvar tab-switcher-mode-map (byte-code "\300 \301\302\"\210\303\304\305#\210\303\306\307#\210\303\310\311#\210\303\312\311#\210\303\313\314#\210\303\315\311#\210\303\316\317#\210\303\320\321#\210\303\322\321#\210\303\323\324#\210\303\325\326#\210\303\327\330#\210\303\331\332#\210\303\333\334#\210\303\335\336#\210\211\207" [make-keymap suppress-keymap t define-key "q" quit-window "
" tab-switcher-select "d" tab-switcher-delete "k" "" tab-switcher-delete-backwards "" "x" tab-switcher-execute " " tab-switcher-next-line "n" "p" tab-switcher-prev-line "" tab-switcher-backup-unmark "?" describe-mode "u" tab-switcher-unmark [mouse-2] tab-switcher-mouse-select [follow-link] mouse-face] 5) (#$ . 41995))
(defvar tab-switcher-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-switcher-mode-hook variable-documentation put "Hook run after entering Window Configurations 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-switcher-mode-map definition-name tab-switcher-mode] 4)
(defvar tab-switcher-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\317#\207" [tab-switcher-mode-abbrev-table tab-switcher-mode-map variable-documentation put purecopy "Keymap for `tab-switcher-mode'." boundp tab-switcher-mode-syntax-table definition-name tab-switcher-mode (lambda (#1=#:def-tmp-var) (defvar tab-switcher-mode-syntax-table #1#)) make-syntax-table "Syntax table for `tab-switcher-mode'." (lambda (#1#) (defvar tab-switcher-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `tab-switcher-mode'." derived-mode-parent] 5)
#@873 Major mode for selecting a window configuration.
Each line describes one window configuration in Emacs.
Letters do not insert themselves; instead, they are commands.
\<tab-switcher-mode-map>
\[tab-switcher-mouse-select] -- select window configuration you click on.
\[tab-switcher-select] -- select current line's window configuration.
\[tab-switcher-delete] -- mark that window configuration to be deleted, and move down.
\[tab-switcher-delete-backwards] -- mark that window configuration to be deleted, and move up.
\[tab-switcher-execute] -- delete marked window configurations.
\[tab-switcher-unmark] -- remove all kinds of marks from current line.
  With prefix argument, also move up one line.
\[tab-switcher-backup-unmark] -- back up a line and remove marks.

This mode runs the hook `tab-switcher-mode-hook', as the final or penultimate step
during initialization.
(defalias 'tab-switcher-mode #[0 "\306\300!\210\307\310 \210\311\312\313!\210\314\f!\210
\307)\315\316!\207" [delay-mode-hooks major-mode mode-name tab-switcher-mode-map tab-switcher-mode-syntax-table tab-switcher-mode-abbrev-table make-local-variable t kill-all-local-variables tab-switcher-mode "Window Configurations" use-local-map set-syntax-table run-mode-hooks tab-switcher-mode-hook local-abbrev-table truncate-lines] 2 (#$ . 44000) nil])
#@95 Return window configuration described by this line of the list.

(fn ERROR-IF-NON-EXISTENT-P)
(defalias 'tab-switcher-current-tab #[257 "\212\301 \210\302\303`#)m?\205\304\305\"\211\206\205\306\307!\207" [tab-switcher-column beginning-of-line + 2 get-text-property tab user-error "No window configuration on this line"] 5 (#$ . 45332)])
#@22 

(fn &optional ARG)
(defalias 'tab-switcher-next-line #[256 "\211y\210\301 \210\302!\207" [tab-switcher-column beginning-of-line move-to-column] 3 (#$ . 45684) "p"])
#@22 

(fn &optional ARG)
(defalias 'tab-switcher-prev-line #[256 "\211[y\210\301 \210\302!\207" [tab-switcher-column beginning-of-line move-to-column] 3 (#$ . 45858) "p"])
#@143 Cancel all requested operations on window configuration on this line and move down.
Optional prefix arg means move up.

(fn &optional BACKUP)
(defalias 'tab-switcher-unmark #[256 "\302 \210\303!\210\304\305\306!\210\307c\210)\211\203\310\202\306y\210\303!\207" [tab-switcher-column buffer-read-only beginning-of-line move-to-column nil delete-char 1 " " -1] 3 (#$ . 46034) "P"])
#@84 Move up and cancel all requested operations on window configuration on line above.
(defalias 'tab-switcher-backup-unmark #[0 "\301y\210\302 \210\301y\210\303!\207" [tab-switcher-column -1 tab-switcher-unmark move-to-column] 2 (#$ . 46426) nil])
#@227 Mark window configuration on this line to be deleted by \<tab-switcher-mode-map>\[tab-switcher-execute] command.
Prefix arg is how many window configurations to delete.
Negative arg means delete backwards.

(fn &optional ARG)
(defalias 'tab-switcher-delete #[256 "\302\211\203\f\211\303U\203\304\262\211\303V\203&\305\304!\210\306c\210\304y\210\211S\262\202\211\303W\203=\305\304!\210\306c\210\307y\210\211T\262\202&\310	!)\207" [buffer-read-only tab-switcher-column nil 0 1 delete-char 68 -1 move-to-column] 3 (#$ . 46679) "p"])
#@197 Mark window configuration on this line to be deleted by \<tab-switcher-mode-map>\[tab-switcher-execute] command.
Then move up one line.  Prefix arg means move that many lines.

(fn &optional ARG)
(defalias 'tab-switcher-delete-backwards #[256 "\300\206\301[!\207" [tab-switcher-delete 1] 3 (#$ . 47228) "p"])
#@60 Delete the window configuration from both lists.

(fn TAB)
(defalias 'tab-switcher-delete-from-list #[257 "\302\303 B\304\305!B\306BEB\307\310\311\312	 \"#\207" [tab-bar-closed-tabs tab-bar-tabs-function frame selected-frame index tab-bar--tab-index tab set-frame-parameter nil tabs delq] 7 (#$ . 47546)])
#@99 Delete window configurations marked with \<tab-switcher-mode-map>\[tab-switcher-delete] commands.
(defalias 'tab-switcher-execute #[0 "\212eb\210\302\303\304\305\306	\307\"\"\302\310#\2030\311u\210\312\302!\211\203,\313!\210\314 \210`\315y\210`|\210\210\202*\314 \210\316	!\210\317 \207" [buffer-read-only tab-switcher-column nil re-search-forward format "^%sD" make-string 32 t -1 tab-switcher-current-tab tab-switcher-delete-from-list beginning-of-line 1 move-to-column force-mode-line-update] 6 (#$ . 47863) nil])
#@135 Select this line's window configuration.
This command deletes and replaces all the previously existing windows
in the selected frame.
(defalias 'tab-switcher-select #[0 "\302\303!\304p!\210\303\305\306\305\307!T\"*\207" [tab-bar-closed-tabs inhibit-message tab-switcher-current-tab t kill-buffer nil tab-bar-close-tab tab-bar--tab-index] 5 (#$ . 48393) nil])
#@70 Select the window configuration whose line you click on.

(fn EVENT)
(defalias 'tab-switcher-mouse-select #[257 "\300\301!\211@\262!q\210\302\301!!b\210\303 \207" [window-buffer event-end posn-point tab-switcher-select] 4 (#$ . 48761) "e"])
#@19 

(fn ALL-FRAMES)
(defalias 'tab-bar--reusable-frames #[257 "\211\300\267\202\f\301 \207\302 \207\303!\203\211C\207\304 C\207" [#s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (t 6 visible 9)) frame-list visible-frame-list framep selected-frame] 3 (#$ . 49011)])
#@661 Return a tab owning a window whose buffer is BUFFER-OR-NAME.
BUFFER-OR-NAME may be a buffer or a buffer name and defaults to
the current buffer.

The optional argument ALL-FRAMES specifies the frames to consider:

- t means consider all tabs on all existing frames.

- `visible' means consider all tabs on all visible frames.

- A frame means consider all tabs on that frame only.

Any other value of ALL-FRAMES means consider all tabs on the
selected frame and no others.

When the optional argument IGNORE-CURRENT-TAB is non-nil,
don't take into account the buffers in the currently selected tab.

(fn BUFFER-OR-NAME &optional ALL-FRAMES IGNORE-CURRENT-TAB)
(defalias 'tab-bar-get-buffer-tab #[769 "\203\n\300!\202p\301!\205%\302\303\304\305\306\307\"\310\"\311\312%\313!\"\207" [get-buffer bufferp seq-some make-byte-code 257 "\303\304\305\306\307\310\300\301#\311\"\312\313%\n!\"\207" vconcat vector [tab-bar-tabs-function seq-some make-byte-code 257 "\211@\303=\203\300?\205<\304\301\302\"\202+\305\306\"\211\205\307!\301>\206)\310\301!\235\266\202\205<\311\312\313\314\302#B\315\302BD\"\207" vconcat vector [current-tab get-buffer-window alist-get ws window-state-buffers buffer-name append index tab-bar--tab-index nil frame] 8 "\n\n(fn TAB)"] 10 "\n\n(fn FRAME)" tab-bar--reusable-frames] 12 (#$ . 49322)])
#@1114 Display BUFFER in a tab.
ALIST is an association list of action symbols and values.  See
Info node `(elisp) Buffer Display Action Alists' for details of
such alists.

If ALIST contains a `tab-name' entry, it creates a new tab with that name and
displays BUFFER in a new tab.  If a tab with this name already exists, it
switches to that tab before displaying BUFFER.  The `tab-name' entry can be
a function, then it is called with two arguments: BUFFER and ALIST, and
should return the tab name.  When a `tab-name' entry is omitted, create
a new tab without an explicit name.

If ALIST contains a `reusable-frames' entry, its value determines
which frames to search for a reusable tab:
  nil -- the selected frame (actually the last non-minibuffer frame)
  A frame   -- just that frame
  `visible' -- all visible frames
  0   -- all frames on the current terminal
  t   -- all frames.

This is an action function for buffer display, see Info
node `(elisp) Buffer Display Action Functions'.  It should be
called only by `display-buffer' or a function directly or
indirectly called by the latter.

(fn BUFFER ALIST)
(defalias 'display-buffer-in-tab #[514 "\301\302\"\301\303\"\211\205\304\"\211\203A\301\305\"\301\306\"\203$\307!\210\211\203-\310T!\210\311\"\205<\312\311\"!\266\202\202r\313!\203M\"\262\203m\314!\211\203_\310T!\202h\315\316 \210\317!)\262\202r\315\316 )\207" [tab-bar-new-tab-choice alist-get tab-name reusable-frames tab-bar-get-buffer-tab frame index select-frame-set-input-focus tab-bar-select-tab get-buffer-window select-window functionp tab-bar--tab-index-by-name t tab-bar-new-tab tab-bar-rename-tab] 11 (#$ . 50674)])
#@162 Switch to buffer BUFFER-OR-NAME in another tab.
Like \[switch-to-buffer-other-frame] (which see), but creates a new tab.

(fn BUFFER-OR-NAME &optional NORECORD)
(defalias 'switch-to-buffer-other-tab #[513 "\300\301!\302#\207" [display-buffer window-normalize-buffer-to-switch-to ((display-buffer-in-tab display-buffer-same-window) (inhibit-same-window))] 6 (#$ . 52361) (byte-code "\300\301!C\207" [read-buffer-to-switch "Switch to buffer in other tab: "] 2)])
#@138 Edit file FILENAME, in another tab.
Like \[find-file-other-frame] (which see), but creates a new tab.

(fn FILENAME &optional WILDCARDS)
(defalias 'find-file-other-tab #[513 "\300\301\211$\211<\203\211\237\262\302@!\210\303\304A\"\210\211\202!\302!\207" [find-file-noselect nil switch-to-buffer-other-tab mapc switch-to-buffer] 7 (#$ . 52831) (byte-code "\300\301\302 \"\207" [find-file-read-args "Find file in other tab: " confirm-nonexistent-file-or-buffer] 3)])
(byte-code "\301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\311#\210\301\312\313#\210\301\314\315#\210\301\316\317#\210\301\320\321#\210\301\322\323#\210\301\324\323#\210\325\326!\207" [tab-prefix-map define-key "2" tab-new "1" tab-close-other "0" tab-close "o" tab-next "m" tab-move "r" tab-rename "
" tab-bar-select-tab-by-name "b" switch-to-buffer-other-tab "f" find-file-other-tab "" provide tab-bar] 4)

Youez - 2016 - github.com/yon3zu
LinuXploit