....................................../////.===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/info.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" #$))

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


(custom-declare-group 'info nil "Info subsystem." :group 'help :group 'docs)
#@106 Stack of Info nodes user has visited.
Each element of the stack is a list (FILENAME NODENAME BUFFERPOS).
(defvar Info-history nil (#$ . 486))
(make-variable-buffer-local 'Info-history)
#@139 Stack of Info nodes user has visited with `Info-history-back' command.
Each element of the stack is a list (FILENAME NODENAME BUFFERPOS).
(defvar Info-history-forward nil (#$ . 678))
(make-variable-buffer-local 'Info-history-forward)
#@98 List of all Info nodes user has visited.
Each element of the list is a list (FILENAME NODENAME).
(defvar Info-history-list nil (#$ . 918))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313&	\207" [custom-declare-variable Info-history-skip-intermediate-nodes funcall function #[0 "\300\207" [t] 1] "Non-nil means don't record intermediate Info nodes to the history.\nIntermediate Info nodes are nodes visited by Info internally in the process of\nsearching the node to display.  Intermediate nodes are not presented\nto the user." :type boolean :group info :version "24.1"] 10)
#@118 Non-nil allows Info to execute Lisp code associated with nodes.
The Lisp code is executed when the node is selected.
(defvar Info-enable-active-nodes nil (#$ . 1515))
(byte-code "\300\301\302\303#\210\304\305\306\307\310\311%\210\304\312\313\314\310\311%\210\304\315\316\317\310\311%\210\304\320\321\322\310\311%\210\304\323\324\325\310\311%\210\304\326\327\330\310\311%\210\304\331\332\333\310\311%\210\304\334\335\336\310\311%\210\304\337\340\341\342\343\310\311&\210\344\345\346\347\350DD\351\342\343\352\353\310\311&	\210\344\354\346\347\355DD\356\352\357\342\360\310\311&	\210\344\361\346\347\362DD\363\352\353\310\311&\210\304\364\365\366\310\311%\210\304\367\370\371\310\311%\210\304\372\373\374\310\311\342\375&\210\344\376\346\347\377DD\201@\201A\201B\352\201C\310\311&	\207" [put Info-enable-active-nodes risky-local-variable t custom-declare-face info-node ((((class color) (background light)) :foreground "brown" :weight bold :slant italic) (((class color) (background dark)) :foreground "white" :weight bold :slant italic) (t :weight bold :slant italic)) "Face for Info node names." :group info info-title-1 ((((type tty pc) (class color) (background light)) :foreground "green" :weight bold) (((type tty pc) (class color) (background dark)) :foreground "yellow" :weight bold) (t :height 1.2 :inherit info-title-2)) "Face for info titles at level 1." info-title-2 ((((type tty pc) (class color)) :foreground "lightblue" :weight bold) (t :height 1.2 :inherit info-title-3)) "Face for info titles at level 2." info-title-3 ((((type tty pc) (class color)) :weight bold) (t :height 1.2 :inherit info-title-4)) "Face for info titles at level 3." info-title-4 ((((type tty pc) (class color)) :weight bold) (t :weight bold :inherit variable-pitch)) "Face for info titles at level 4." info-menu-header ((((type tty pc)) :underline t :weight bold) (t :inherit variable-pitch :weight bold)) "Face for headers in Info menus." info-menu-star ((((class color)) :foreground "red1") (t :underline t)) "Face for every third `*' in an Info menu." info-xref ((t :inherit link)) "Face for unvisited Info cross-references." info-xref-visited ((t :inherit (link-visited info-xref))) "Face for visited Info cross-references." :version "22.1" custom-declare-variable Info-fontify-visited-nodes funcall function #[0 "\300\207" [t] 1] "Non-nil to fontify references to visited nodes in `info-xref-visited' face." :type boolean Info-fontify-maximum-menu-size #[0 "\300\207" [400000] 1] "Maximum size of menu to fontify if `font-lock-mode' is non-nil.\nSet to nil to disable node fontification; set to t for no limit." (choice (const :tag "No fontification" nil) (const :tag "No size limit" t) (integer :tag "Up to this many characters")) "25.1" Info-use-header-line #[0 "\300\207" [t] 1] "Non-nil means to put the beginning-of-node links in an Emacs header-line.\nA header-line does not scroll with the rest of the buffer." info-header-xref ((t :inherit info-xref)) "Face for Info cross-references in a node header." info-header-node ((t :inherit info-node)) "Face for Info nodes in a node header." info-index-match ((t :inherit match)) "Face used to highlight matches in an index entry." "24.4" Info-default-directory-list #[0 "\304\305\306!\203\307\310\"\311!\205\211\262\206	!\312\313!\314\315\316\317\320\321\322\323\324!\325\"\326\327%\"\"\235\203=\211C\244\202@B\n\330=\204J\211\202t\331!\307\332\"\307\333\"\334!\203c\335C\"\202r\334!\203q\335C\"\202r\266\203\207" [data-directory configure-info-directory system-type invocation-directory file-name-as-directory featurep ns expand-file-name "../info" file-directory-p prune-directory-list ("/usr/local/" "/usr/" "/opt/") ("share/" "") apply nconc mapcar make-byte-code 257 "\301\302\303\304\305\306!\307\"\310\311%\300\"\312!\207" vconcat vector [mapcar make-byte-code 257 "\300\301Q\207" vconcat vector ["info/"] 4 "\n\n(fn SFX)" prune-directory-list] 8 "\n\n(fn PFX)" windows-nt file-name-directory "../info/" "../../../info/" file-exists-p append] 12] "Default list of directories to search for Info documentation files.\nThey are searched in the order they are given in the list.\nTherefore, the directory of Info files that come with Emacs\nnormally should come last (so that local files override standard ones),\nunless Emacs is installed into a non-standard directory.  In the latter\ncase, the directory of Info files that come with Emacs should be\nfirst in this list.\n\nOnce Info is started, the list of directories to search\ncomes from the variable `Info-directory-list'.\nThis variable `Info-default-directory-list' is used as the default\nfor initializing `Info-directory-list' when Info is started, unless\nthe environment variable INFOPATH is set.\n\nAlthough this is a customizable variable, that is mainly for technical\nreasons.  Normally, you should either set INFOPATH or customize\n`Info-additional-directory-list', rather than changing this variable." :initialize custom-initialize-delay (repeat directory)] 10)
#@1514 List of directories to search for Info documentation files.
If nil, meaning not yet initialized, Info uses the environment
variable INFOPATH to initialize it, or `Info-default-directory-list'
if there is no INFOPATH variable in the environment, or the
concatenation of the two if INFOPATH ends with a `path-separator'.

When `Info-directory-list' is initialized from the value of
`Info-default-directory-list', and Emacs is installed in one of the
standard directories, the directory of Info files that come with Emacs
is put last (so that local Info files override standard ones).

When `Info-directory-list' is initialized from the value of
`Info-default-directory-list', and Emacs is not installed in one
of the standard directories, the first element of the resulting
list is the directory where Emacs installs the Info files that
come with it.  This is so that Emacs's own manual, which suits the
version of Emacs you are using, will always be found first.  This
is useful when you install an experimental version of Emacs without
removing the standard installation.

If you want to override the order of directories in
`Info-default-directory-list', set INFOPATH in the environment.

If you run the Emacs executable from the `src' directory in the Emacs
source tree, and INFOPATH is not defined, the `info' directory in the
source tree is used as the first element of `Info-directory-list', in
place of the installation Info directory.  This is useful when you run
a version of Emacs without installing it.
(defvar Info-directory-list nil (#$ . 6549))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\315\316\306\317\310\311&	\210\300\320\302\303\321DD\322\315\316\306\323\324\325\310\311&\210\300\326\302\303\327DD\330\315\316\306\317\310\311&	\210\300\331\302\303\332DD\333\315\334\306\335\310\311&	\210\300\336\302\303\337DD\340\306\341\310\311&\210\300\342\302\303\343DD\344\315\316\306\317\310\311&	\207" [custom-declare-variable Info-additional-directory-list funcall function #[0 "\300\207" [nil] 1] "List of additional directories to search for Info documentation files.\nThese directories are searched after those in `Info-directory-list'." :type (repeat directory) :group info Info-scroll-prefer-subnodes #[0 "\300\207" [nil] 1] "If non-nil, \\<Info-mode-map>\\[Info-scroll-up] in a menu visits subnodes.\n\nIf this is non-nil, and you scroll far enough in a node that its menu\nappears on the screen, the next \\<Info-mode-map>\\[Info-scroll-up]\nmoves to a subnode indicated by the following menu item.  This means\nthat you visit a subnode before getting to the end of the menu.\n\nSetting this option to nil results in behavior similar to the stand-alone\nInfo reader program, which visits the first subnode from the menu only\nwhen you hit the end of the current node." :version "22.1" boolean Info-hide-note-references #[0 "\300\207" [t] 1] "If non-nil, hide the tag and section reference in *note and * menu items.\nIf the value is t, the default, replace \"*note\" with \"see\".\nIf the value is `hide', remove \"*note\" without replacing it with anything.\nIf value is non-nil, but not t or `hide', the reference section is still shown.\nnil completely disables this feature, leaving the original \"*note\" visible.\nIf this is non-nil, you may wish setting `Info-refill-paragraphs' non-nil." (choice (const :tag "No hiding" nil) (const :tag "Replace tag and hide reference" t) (const :tag "Hide tag and reference" hide) (other :tag "Only replace tag" tag)) :set #[514 "L\210\300 \211\205#\211@r\211q\210\301\302!\203\303\304\211\"\210)A\266\202\202\207" [buffer-list derived-mode-p Info-mode revert-buffer t] 7 "\n\n(fn SYM VAL)"] Info-refill-paragraphs #[0 "\300\207" [nil] 1] "If non-nil, attempt to refill paragraphs with hidden references.\nThis refilling may accidentally remove explicit line breaks in the Info\nfile, so be prepared for a few surprises if you enable this feature.\nThis only has an effect if `Info-hide-note-references' is non-nil." Info-breadcrumbs-depth #[0 "\300\207" [4] 1] "Depth of breadcrumbs to display.\n0 means do not display breadcrumbs." "23.1" integer Info-search-whitespace-regexp #[0 "\300\207" [#1="\\s-+"] 1 #1#] "If non-nil, regular expression to match a sequence of whitespace chars.\nThis applies to Info search for regular expressions.\nYou might want to use something like \"[ \\t\\r\\n]+\" instead.\nIn the Customization buffer, that is `[' followed by a space,\na tab, a carriage return (control-M), a newline, and `]+'.  Don't\nadd any capturing groups into this value; that can change the\nnumbering of existing capture groups in unexpected ways." regexp Info-isearch-search #[0 "\300\207" [t] 1] "If non-nil, isearch in Info searches through multiple nodes.\nBefore leaving the initial Info node, where isearch was started,\nit fails once with the error message [end of node], and with\nsubsequent C-s/C-r continues through other nodes without failing\nwith this error message in other nodes.  When isearch fails for\nthe rest of the manual, it displays the error message [end of manual],\nwraps around the whole manual and restarts the search from the top/final\nnode depending on search direction.\n\nSetting this option to nil restores the default isearch behavior\nwith wrapping around the current Info node."] 12)
(defvar Info-isearch-initial-node nil)
(defvar Info-isearch-initial-history nil)
(defvar Info-isearch-initial-history-list nil)
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\306\307\310\311&\207" [custom-declare-variable Info-mode-hook funcall function #[0 "\301\300!\205??\205
\302\207" [Info-fontify boundp (turn-on-font-lock)] 2] "Hook run when activating Info Mode." :type hook :group info Info-selection-hook #[0 "\300\207" [nil] 1] "Hook run when an Info node is selected as the current node."] 8)
#@193 Info file that Info is now looking at, or nil.
This is the name that was specified in Info, not the actual file name.
It doesn't contain directory names or file name extensions added by Info.
(defvar Info-current-file nil (#$ . 12449))
(make-variable-buffer-local 'Info-current-file)
#@116 Info subfile that is actually in the *info* buffer now.
It is nil if current Info file is not split into subfiles.
(defvar Info-current-subfile nil (#$ . 12740))
(make-variable-buffer-local 'Info-current-subfile)
#@51 Name of node that Info is now looking at, or nil.
(defvar Info-current-node nil (#$ . 12959))
(make-variable-buffer-local 'Info-current-node)
#@112 Marker pointing at beginning of current Info file's tag table.
Marker points nowhere if file has no tag table.
(defvar Info-tag-table-marker nil (#$ . 13108))
(make-variable-buffer-local 'Info-tag-table-marker)
#@38 Buffer used for indirect tag tables.
(defvar Info-tag-table-buffer nil (#$ . 13325))
(make-variable-buffer-local 'Info-tag-table-buffer)
#@47 Cached completion list for current Info file.
(defvar Info-current-file-completions nil (#$ . 13468))
(make-variable-buffer-local 'Info-current-file-completions)
#@98 Cached completion alist of visited Info files.
Each element of the alist is (FILE . COMPLETIONS)
(defvar Info-file-completions nil (#$ . 13636))
#@54 Non-nil if current Info file supports index cookies.
(defvar Info-file-supports-index-cookies nil (#$ . 13787))
(make-variable-buffer-local 'Info-file-supports-index-cookies)
#@188 List of Info files with information about index cookies support.
Each element of the list is a list (FILENAME SUPPORTS-INDEX-COOKIES)
where SUPPORTS-INDEX-COOKIES can be either t or nil.
(defvar Info-file-supports-index-cookies-list nil (#$ . 13969))
#@57 List of possible matches for last `Info-index' command.
(defvar Info-index-alternatives nil (#$ . 14226))
(make-variable-buffer-local 'Info-index-alternatives)
#@220 Point location within a selected node.
If string, the point is moved to the proper occurrence of the
name of the followed cross reference within a selected node.
If number, the point is moved to the corresponding line.
(defvar Info-point-loc nil (#$ . 14393))
#@57 Non-nil if Emacs was started solely as an Info browser.
(defvar Info-standalone nil (#$ . 14659))
#@104 Alist of file attributes of visited Info files.
Each element is a list (FILE-NAME FILE-ATTRIBUTES...).
(defvar Info-file-attributes nil (#$ . 14764))
#@334 Alist of cached parent-children node information in visited Info files.
Each element is (FILE (NODE-NAME PARENT SECTION CHILDREN) ...)
where PARENT is the parent node extracted from the Up pointer,
SECTION is the section name in the Top node where this node is placed,
CHILDREN is a list of child nodes extracted from the node menu.
(defvar Info-toc-nodes nil (#$ . 14921))
#@118 Alist of cached index node names of visited Info files.
Each element has the form (INFO-FILE INDEX-NODE-NAMES-LIST).
(defvar Info-index-nodes nil (#$ . 15302))
#@705 List of definitions of virtual Info files.
Each element of the list has the form (FILENAME (OPERATION . HANDLER) EXTRA)
where FILENAME is a regexp that matches a class of virtual Info file names,
it should be carefully chosen to not cause file name clashes with
existing file names;
OPERATION is one of the symbols `find-file', `find-node', `toc-nodes';
and HANDLER is a function to call when OPERATION is invoked on a
virtual Info file.
EXTRA, if present, is one or more cons cells specifying extra
attributes important to some applications which use this data.
For example, desktop saving and desktop restoring use the `slow'
attribute to avoid restoration of nodes that could be expensive
to compute.
(defvar Info-virtual-files nil (#$ . 15469))
#@671 List of definitions of virtual Info nodes.
Each element of the list has the form (NODENAME (OPERATION . HANDLER) EXTRA)
where NODENAME is a regexp that matches a class of virtual Info node names,
it should be carefully chosen to not cause node name clashes with
existing node names;
OPERATION is the symbol `find-node';
and HANDLER is a function to call when OPERATION is invoked on a
virtual Info node.
EXTRA, if present, is one or more cons cells specifying extra
attributes important to some applications which use this data.
For example, desktop saving and desktop restoring use the `slow'
attribute to avoid restoration of nodes that could be expensive
to compute.
(defvar Info-virtual-nodes nil (#$ . 16225))
#@46 Non-nil if the current Info node is virtual.
(defvar Info-current-node-virtual nil (#$ . 16946))
(make-variable-buffer-local 'Info-current-node-virtual)
#@56 Check if Info file FILENAME is virtual.

(fn FILENAME)
(defalias 'Info-virtual-file-p #[257 "\300\301\302#\207" [Info-virtual-fun find-file nil] 5 (#$ . 17105)])
#@314 Find a function that handles operations on virtual manuals.
OP is an operation symbol (`find-file', `find-node' or `toc-nodes'),
FILENAME is a virtual Info file name, NODENAME is a virtual Info
node name.  Return a function found either in `Info-virtual-files'
or `Info-virtual-nodes'.

(fn OP FILENAME NODENAME)
(defalias 'Info-virtual-fun #[771 ";\203\302\303\304#\"\243\206\211;\205\302\303	\304#\"\243\207" [Info-virtual-files Info-virtual-nodes assoc assoc-default string-match] 9 (#$ . 17275)])
#@90 Call a function that handles operations on virtual manuals.

(fn VIRTUAL-FUN &rest ARGS)
(defalias 'Info-virtual-call #[385 "\300!\205\301\"\206\302\207" [functionp apply t] 5 (#$ . 17794)])
#@412 List of file name suffixes and associated decoding commands.
Each entry should be (SUFFIX . STRING); the file is given to
the command as standard input.

STRING may be a list of strings.  In that case, the first element is
the command name, and the rest are arguments to that command.

If STRING is nil, no decoding is done.
Because the SUFFIXes are tried in order, the empty string should
be last in the list.
(defvar Info-suffix-list (byte-code "\301=\203\302\207\303\207" [system-type ms-dos ((".gz" . "gunzip") (".z" . "gunzip") (".bz2" "bzip2" "-dc") (".inz" . "gunzip") (".igz" . "gunzip") (".info.Z" . "gunzip") (".info.gz" . "gunzip") ("-info.Z" . "gunzip") ("-info.gz" . "gunzip") ("/index.gz" . "gunzip") ("/index.z" . "gunzip") (".inf") (".info") ("-info") ("/index") (#1="")) ((".info.Z" . "uncompress") (".info.Y" . "unyabba") (".info.gz" . "gunzip") (".info.z" . "gunzip") (".info.bz2" "bzip2" "-dc") (".info.xz" . "unxz") (".info") ("-info.Z" . "uncompress") ("-info.Y" . "unyabba") ("-info.gz" . "gunzip") ("-info.bz2" "bzip2" "-dc") ("-info.z" . "gunzip") ("-info.xz" . "unxz") ("-info") ("/index.Z" . "uncompress") ("/index.Y" . "unyabba") ("/index.gz" . "gunzip") ("/index.z" . "gunzip") ("/index.bz2" "bzip2" "-dc") ("/index.xz" . "unxz") ("/index") (".Z" . "uncompress") (".Y" . "unyabba") (".gz" . "gunzip") (".z" . "gunzip") (".bz2" "bzip2" "-dc") (".xz" . "unxz") (#1#))] 2) (#$ . 17999))
#@28 

(fn FILENAME SUFFIX LFN)
(defalias 'info-insert-file-contents-1 #[771 "\211\203P\207\300!\301\302GG\303#]\304\301X\203%\211GSH\305=\2032G\301U\2042\306\303\"\262\301\307GZ]^\262\306\301GZZ#P\207" [file-name-sans-extension 0 - 1 nil 46 substring 3] 12 (#$ . 19421)])
#@17 

(fn FILENAME)
(defalias 'info-file-exists-p #[257 "\300!\205\n\301!?\207" [file-exists-p file-directory-p] 3 (#$ . 19721)])
#@153 Insert the contents of an Info file in the current buffer.
Do the right thing if the file has been compressed or zipped.

(fn FILENAME &optional VISIT)
(defalias 'info-insert-file-contents #[513 "\306\307\310!\203\310 \202\311\307\310!\205\211\306\211\211\312!\203F\203:\313\314@@!\315P	\"\204:A\262\202 \262@A\262\202\231\203\217\211\204\217\316@@#\262\312!\203k\311\262@A\262\202\210\203\210\316@@\306#\262\312!\203\210\311\262@A\262A\262\202F\204\231\317\320	\"\210\321 \203\247\322!\203\247\306\262\203\334\323\"\210\311\324\311\325!\206\274\n:\204\311C\262\326\327ed@\311\211\306	A&\210,\202\345\311\330\"\210)\331\"A\211\205\365\211\3328\262;\205\375\333!\211\205\211\3328\262\2038\211\2038\334\"\2038\335\331\206
 \" \" \335\331\2060
!\"!\"!B\335\331	\"\"B\211\266\204)\207" [Info-suffix-list jka-compr-verbose default-directory inhibit-nul-byte-detection coding-system-for-write inhibit-read-only nil fboundp msdos-long-file-names t info-file-exists-p string-match regexp-quote "$" info-insert-file-contents-1 error "Can't find %s or any compressed version of it" jka-compr-installed-p jka-compr-get-compression-info insert-file-contents-literally no-conversion file-name-directory apply call-process-region insert-file-contents assoc 5 file-attributes time-less-p remove Info-file-attributes Info-current-file Info-index-nodes Info-toc-nodes] 17 (#$ . 19857)])
#@318 Return non-nil value if FILE supports Info index cookies.
Info index cookies were first introduced in 4.7, and all later
makeinfo versions output them in index nodes, so we can rely
solely on the makeinfo version.  This function caches the information
in `Info-file-supports-index-cookies-list'.

(fn &optional FILE)
(defalias 'Info-file-supports-index-cookies #[256 "\211\204\262\302	\"\204U\211;\203\303!\203#\211\304B	B\211\204U\212\304eb\210\3051H\306\307\310\311!\312#\205D\313\314\315!\316\"?\205D\312\211\2620\202L\210\202M\210B	B\210)\302	\"A\207" [Info-current-file Info-file-supports-index-cookies-list assoc Info-virtual-file-p nil (error) re-search-forward "makeinfo[ \n]version[ \n]\\([0-9]+.[0-9]+\\)" line-beginning-position 4 t version< match-string 1 "4.7"] 6 (#$ . 21366)])
(defalias 'Info-default-dirs #[0 "\306\307\"	\203\306\307	\"\2020\n\2050\306\310\n\"\311!\203!\211\202.\306\312\n\"\262\311!\205.\211\262\313\203?\311!\203?\202@\262\211\235\204]\f\314>\204W
\306\315	\"\230\203]\311!\204a\202d\211B\207" [source-directory installation-directory invocation-directory Info-default-directory-list system-type exec-directory expand-file-name "info/" "../share/info/" file-exists-p "../../../share/info/" nil (ms-dos windows-nt) "lib-src/"] 7])
#@65 Initialize `Info-directory-list', if that hasn't been done yet.
(defalias 'info-initialize #[0 "?\205d\304\305!\306	!\307\2038\310P\311\312\313#)\266\203\2031\314\315\316\317\320#\"\321 \"\202:\315\"\202:\321 !\205b\322\323!\205b\324\325\"\326!\205`\211\315\327\312#\235?\205`\211B\211\262\266\202\207" [Info-directory-list path-separator inhibit-changing-match-data data-directory getenv "INFOPATH" regexp-quote prune-directory-list "\\'" nil t string-match append split-string substring 0 -1 Info-default-dirs featurep ns expand-file-name "../info" file-directory-p ":"] 10 (#$ . 22688)])
#@93 Like `info' but show the Info buffer in another window.

(fn &optional FILE-OR-NODE BUFFER)
(defalias 'info-other-window #[512 "\300\301\206\302!\"\207" [info-setup switch-to-buffer-other-window "*info*"] 6 (#$ . 23314) (byte-code "\205\247?\205\301\302\303\211\304$\247\205\305\306\"D\207" [current-prefix-arg read-file-name "Info file name: " nil t format "*info*<%s>"] 5)])
#@911 Enter Info, the documentation browser.
Optional argument FILE-OR-NODE specifies the file to examine;
the default is the top-level directory of Info.
Called from a program, FILE-OR-NODE may specify an Info node of the form
"(FILENAME)NODENAME".
Optional argument BUFFER specifies the Info buffer name;
the default buffer name is *info*.  If BUFFER exists,
just switch to BUFFER.  Otherwise, create a new buffer
with the top-level Info directory.

In interactive use, a non-numeric prefix argument directs
this command to read a file name from the minibuffer.

A numeric prefix argument of N selects an Info buffer named "*info*<N>".

The search path for Info files is in the variable `Info-directory-list'.
The top-level Info directory is made by combining all the files named `dir'
in all the directories in that path.

See a list of available Info commands in `Info-mode'.

(fn &optional FILE-OR-NODE BUFFER)
(defalias 'info #[512 "\300\301\206\302!\"\207" [info-setup pop-to-buffer-same-window "*info*"] 6 (#$ . 23712) (byte-code "\205\247?\205\301\302\303\211\304$\247\205\305\306\"D\207" [current-prefix-arg read-file-name "Info file name: " nil t format "*info*<%s>"] 5)])
#@69 Display Info node FILE-OR-NODE in BUFFER.

(fn FILE-OR-NODE BUFFER)
(defalias 'info-setup #[514 "\211\203
\301\302!\204
\302 \210\203(\303;\203\"\304\305\"\203\"\202&\306\307Q!\207\310 \311U\2056?\2056\312 \207" [Info-history derived-mode-p Info-mode Info-goto-node string-match "(.*)" "(" ")" buffer-size 0 Info-directory] 6 (#$ . 24910)])
#@40 Display the Emacs manual in Info mode.
(defalias 'info-emacs-manual #[0 "\300\301!\207" [info "emacs"] 2 (#$ . 25271) nil])
#@72 Display the "Reporting Bugs" section of the Emacs manual in Info mode.
(defalias 'info-emacs-bug #[0 "\300\301!\207" [info "(emacs)Bugs"] 2 (#$ . 25401) nil])
#@155 Run Emacs as a standalone Info reader.
Usage:  emacs -f info-standalone [filename]
In standalone mode, \<Info-mode-map>\[quit-window] exits Emacs itself.
(defalias 'info-standalone #[0 "\302	\2034\303\304	@\"\2044\3051\306	@!\210	A\2110\207\307\310\311\242\312=\203-A@\202.\"!\210\313 \207\306 \207" [Info-standalone command-line-args-left t string-match "^-" (error) info send-string-to-terminal format "%s\n" error save-buffers-kill-emacs] 6 (#$ . 25567)])
#@15 

(fn REGEXP)
(defalias 'Info-node-at-bob-matching #[257 "o\205\300\301!\205\302\303y\210`\262\303y\210\304\305#\262\207" [looking-at "" nil 1 re-search-backward t] 6 (#$ . 26043)])
#@276 Return expanded FILENAME, or t if FILENAME is "dir".
Optional second argument NOERROR, if t, means if file is not found
just return nil (no error).

If NO-POP-TO-DIR, don't try to pop to the info buffer if we can't
find a node.

(fn FILENAME &optional NOERROR NO-POP-TO-DIR)
(defalias 'Info-find-file #[769 "\305 \210\306\307\310\311##\206\365;\205\365\311\211\211\312!\262\313\314\"\203)\315\202@\316!\2034\317\202@\203?\320	\"\202@	\n\203N\320\321\322\n\"C\"\262\211\203\314\204\314\321@\"\262\321\227@\"\262\323\324!\203s\324 \202t\325\203\303\204\303\326\327@@#!\203\217\262\202\274\326\327@@#!\203\242\262\202\274\323\324!\203\274\211\203\274\326\327@@\311#!\203\274\262A\262\202t\266\211A\262\202N\210\211\203\327\211\262\202\362\203\341\311\262\202\362\204\354\f\204\354\330 \210\331\332\"\210\266\203\207" [Info-additional-directory-list Info-directory-list installation-directory Info-suffix-list Info-current-file info-initialize Info-virtual-call Info-virtual-fun find-file nil substitute-in-file-name string-match "^\\./" ("./") file-name-absolute-p (nil) append expand-file-name "info" fboundp msdos-long-file-names t info-file-exists-p info-insert-file-contents-1 Info-directory user-error "Info file %s does not exist"] 14 (#$ . 26241)])
#@412 Go to an Info node specified as separate FILENAME and NODENAME.
NO-GOING-BACK is non-nil if recovering from an error in this function;
it says do not attempt further (recursive) error recovery.

This function first looks for a case-sensitive match for NODENAME;
if none is found it then tries a case-insensitive match (unless
STRICT-CASE is non-nil).

(fn FILENAME NODENAME &optional NO-GOING-BACK STRICT-CASE)
(defalias 'Info-find-node #[1026 "\303 \210\304!\262\305\306!\204\307\310!\210\204!\203!	`E\nB\311$\207" [Info-current-file Info-current-node Info-history info-initialize Info-find-file derived-mode-p Info-mode switch-to-buffer "*info*" Info-find-node-2] 9 (#$ . 27586)])
#@176 Use Info mode to browse the current Info buffer.
With a prefix arg, this queries for the node name to visit first;
otherwise, that defaults to `Top'.

(fn &optional NODENAME)
(defalias 'Info-on-current-buffer #[256 "\211\204\303\262\304 \210\305 \210\206	\306 P\307\310\"\207" [buffer-file-name default-directory Info-current-file "Top" info-initialize Info-mode buffer-name Info-find-node-2 nil] 4 (#$ . 28290) (byte-code "\205\f\301\302\303 \304\305\306%C\207" [current-prefix-arg completing-read "Node name: " Info-build-node-completions nil t "Top"] 6)])
#@197 Go to an Info node FILENAME and NODENAME, re-reading disk contents.
When *info* is already displaying FILENAME and NODENAME, the window position
is preserved, if possible.

(fn FILENAME NODENAME)
(defalias 'Info-revert-find-node #[514 "\303\304!\204\n\305\306!\210	\307 \310 =i\311e\312 \"\311e\313 \"\205$	`E\314\315		\"\210\232\203V	\232\203V\203Jeb\210y\210\316\307 `\"\210eb\210y\210\317!\202_\211\205_\211\nB\211\207" [Info-current-file Info-current-node Info-history derived-mode-p Info-mode switch-to-buffer "*info*" selected-window get-buffer-window count-lines line-beginning-position window-start nil Info-find-node set-window-start move-to-column] 12 (#$ . 28866)])
#@30 

(fn IGNORE-AUTO NOCONFIRM)
(defalias 'Info-revert-buffer-function #[514 "\211\204\n\302\303!\205\304	\"\210\305\306\"\207" [Info-current-file Info-current-node y-or-n-p "Revert info buffer? " Info-revert-find-node message "Reverted %s"] 5 (#$ . 29571)])
#@527 Find a node in a tag table.
MARKER specifies the buffer and position to start searching at.
REGEXP is a regular expression matching nodes or references.  Its first
group should match `Node:' or `Ref:'.
CASE-FOLD t means search for a case-insensitive match.
If a match was found, value is a list (FOUND-ANCHOR POS MODE), where
FOUND-ANCHOR is non-nil if a `Ref:' was matched, POS is the file position
where the match was found, and MODE is `major-mode' of the buffer in
which the match was found.

(fn MARKER REGEXP CASE-FOLD)
(defalias 'Info-find-in-tag-table-1 #[771 "\211r\302!q\210b\210\303 \210\304\305\306#\205 \307\310!\311\230\312p!	E*\207" [case-fold-search major-mode marker-buffer beginning-of-line re-search-forward nil t match-string 1 "Ref:" read] 7 (#$ . 29839)])
#@632 Find a node in a tag table.
MARKER specifies the buffer and position to start searching at.
REGEXP is a regular expression matching nodes or references.  Its first
group should match `Node:' or `Ref:'.
If a match was found, value is a list (FOUND-ANCHOR POS MODE), where
FOUND-ANCHOR is non-nil if a `Ref:' was matched, POS is the file position
where the match was found, and MODE is `major-mode' of the buffer in
which the match was found.
This function tries to find a case-sensitive match first, then a
case-insensitive match is tried (unless optional argument STRICT-CASE
is non-nil).

(fn MARKER REGEXP &optional STRICT-CASE)
(defalias 'Info-find-in-tag-table #[770 "\300\301#\204\211@\204\300\302#\262\211\207" [Info-find-in-tag-table-1 nil t] 8 (#$ . 30629)])
#@305 Find a node or anchor in the current buffer.
REGEXP is a regular expression matching nodes or references.  Its first
group should match `Node:' or `Ref:'.
CASE-FOLD t means search for a case-insensitive match.
Value is the position at which a match was found, or nil if not found.

(fn REGEXP CASE-FOLD)
(defalias 'Info-find-node-in-buffer-1 #[514 "\211\301\212\302!\203`\262\2024\211\2044\303\304\301\305#\2034\306y\210`\306y\210\307\305#\2030\310 \262\210\202*\207" [case-fold-search nil Info-node-at-bob-matching search-forward "\n" t 1 re-search-backward line-beginning-position] 9 (#$ . 31413)])
#@420 Find a node or anchor in the current buffer.
REGEXP is a regular expression matching nodes or references.  Its first
group should match `Node:' or `Ref:'.
Value is the position at which a match was found, or nil if not found.
This function looks for a case-sensitive match first.  If none is found,
a case-insensitive match is tried (unless optional argument STRICT-CASE
is non-nil).

(fn REGEXP &optional STRICT-CASE)
(defalias 'Info-find-node-in-buffer #[513 "\300\301\"\206\211?\205\300\302\"\207" [Info-find-node-in-buffer-1 nil t] 5 (#$ . 32037)])
#@62 

(fn FILENAME NODENAME &optional NO-GOING-BACK STRICT-CASE)
(defalias 'Info-find-node-2 #[1026 "\306p!\210\307\310!\204
\310 \210~\210\311\312\313\314\315\316!\317\"\320$\216\321\322\323\206'	#\311\324!\203c\2069	\311\211\311\211\311@\325 \210\326		$\210A\311\211\223\210\321\327\311!\210\321B\210\202B\204t\203	\232\204\321CB\203\207\311B\204\207	\262\311\211\311\211@\325 \210\330\331\321\"\210\332\311\"\210\333!D\327\311!\210\334!db\210\335y\210\336\230\204\337\340\311\321#\203\311\341\342!\210`\262\212\343y\210\344\345!)\203\376pE\206\336\346\347!\211Er\211q\210\306p!\210\321\325 \210\350!\210)A\313\225\223\266\202A\311\223\210\210\202A\311\211\223\210)\336\230\203\351 \202e\352;\203.\353!\202/\354\355Q\3562\310\357A!\203qA\360	#\211\203o\211A@\3438\310=\204X\361!\262\362\363\"\262\210\211@\203o\211\262b\210\364\356\321\"\210\266e\365Z]b\210\366\"\211\203\211\211b\210\364\356\321\"\210\210e\367Z]b\210\366\"\211\203\242\211b\210\364\356\321\"\210\210\370\371	\"\203\302\311F\372	\373\374\"	#\210)~\210\364\356\321\"\210\375\376	\"0\210\377 \210eb\210\374y\210\203\357	\201H	!D\211\201IG\"BG\210b\202F\247\203F\343Zy\210\311\211F\202F;\205\201JF!\210\311\211F\266\202)\266\203)\207" [Info-current-node Info-current-file case-fold-search buffer-read-only Info-current-subfile Info-current-file-completions buffer-disable-undo derived-mode-p Info-mode nil make-byte-code 0 "	\206\300?\205%\n\203 \n@\nA\304@A@\305#\210\3068b\207\304\307\305#\207" vconcat vector [Info-current-node Info-history Info-current-file Info-find-node t 2 "Top"] 5 t Info-virtual-fun find-node functionp erase-buffer Info-virtual-call set-buffer-modified-p set-buffer-file-coding-system undecided info-insert-file-contents file-name-directory Info-file-supports-index-cookies -8 "*" search-forward "\nEnd tag table\n" search-backward "\nTag table:\n" 2 looking-at "(Indirect)\n" generate-new-buffer " *info tag table*" insert-buffer-substring Info-set-mode-line "\\(Node:\\|Ref:\\) *\\(" regexp-quote "" "\\) *[,	\n]" foo marker-position Info-find-in-tag-table Info-read-subfile filepos-to-bufferpos approximate throw 1000 Info-find-node-in-buffer 10000 string-match "\\([^.]+\\)\\." Info-find-node-2 match-string 1 user-error "No such node or anchor: %s" Info-select-node buffer-file-name Info-tag-table-marker Info-current-node-virtual inhibit-read-only default-directory Info-tag-table-buffer Info-point-loc Info-history-list substring-no-properties remove Info-find-index-name] 16 (#$ . 32602)])
(defvar Info-dir-contents nil nil)
(make-variable-buffer-local 'Info-dir-contents)
(defvar Info-dir-contents-directory nil nil)
(make-variable-buffer-local 'Info-dir-contents-directory)
(defvar Info-dir-file-attributes nil nil)
(make-variable-buffer-local 'Info-dir-file-attributes)
(defvar Info-dir-file-name nil nil)
(make-variable-buffer-local 'Info-dir-file-name)
(defalias 'Info-insert-dir #[0 "\203	\203\306\307\310\311	\"B!\203c\210eb\210\202 \n\203'\312\n\"\202(\313\314\313\211\211\211\211\211\203\342\315\316\n@!!\211\235\204\314\317!\235\204\314\313\316\320\"\262\321!\206\207\316\322\"\262\321!\206\207\316\323\"\262\321!\206\207\316\324\"\262\321!\206\207\316\325\"\262\321!\317!BB\262\211\203\312r\326\327!q\210\204\243\330\331!\210\3321\304\314\333!\210@pB\262BB\211\262\f)0\202\310\210\334p!\210)\266	A\204\331\335\n@!A	A\262\n\210\2023\204\352\336\337!\210\340!@\262\341\"\262\212\342!\210)\211\203h\211@\313rq\210eb\210\343\344\313\314#\203F\345y\346U\203l\204`\313\211\347\350!\210\351\352!\210\353 \262\351\354\313\355#\210\356 \210`\262FB\266\204\202\f\357\360\314#\203V\211\244\262\202_\314\262	\330\361@\"\210)\210A\266\202\202\376\210\343\344!\210\345y\210\362\212\351\363\313\314#\210`)\211\203\255\211@\211@\212\211\227\235\204\244\343\364\365!\366Q\314#\204\244\367\366\370\261\210\211B\262)\210A\266\202\202{\266\211\203\363\211@\314@eb\210\343\371\365!\372Q\313\314#\203\332\351\354\313\355#\210\356 \210\370c\210\202\343db\210\373\374\261\210\375\342A\"\210)\266A\266\202\202\260\210\376 \210\377\334B\"\210eb\210\203\330\201C!\210\202\330\201D!\210\201E )\266	A\211B\207" [Info-dir-contents Info-dir-file-attributes Info-additional-directory-list Info-directory-list case-fold-search inhibit-nul-byte-detection eval and mapcar #[257 "\300\301@!!\211\203\302\233\303\240\210\302A\233\303\240\210A\232\207" [file-attributes file-truename 4 0] 4 "\n\n(fn ELT)"] append nil t file-truename expand-file-name directory-file-name "dir" file-attributes "DIR" "dir.info" "DIR.INFO" "dir.gz" generate-new-buffer " info dir" message "Composing main Info directory..." (error) insert-file-contents kill-buffer file-name-as-directory error "Can't find the Info directory node" last delq insert-buffer-substring re-search-forward "^\\* Menu:" 1 0 re-search-backward "^" search-forward "Node: " Info-following-node-name "\n" move beginning-of-line assoc-string "top" "No `top' node in %s" ("top") "" "^\\* +" regexp-quote "::" "* " "\n" "^.*\n.*Node: " "[,\n	]" "\nFile: dir	Node: " "\n\n* Menu:\n\n" apply Info-dir-remove-duplicates mapc Info-dir-file-name Info-dir-contents-directory default-directory "Composing main Info directory...problems encountered, see `*Messages*'" "Composing main Info directory...done" buffer-string] 19])
#@69 List of elements (RE . NAME) to merge headings matching RE to NAME.
(defvar Info-streamline-headings '(("Emacs" . "Emacs") ("Programming" . "Programming") ("Libraries" . "Libraries") ("World Wide Web\\|Net Utilities" . "Net Utilities")) (#$ . 38179))
(defalias 'Info-dir-remove-duplicates #[0 "\301eb\210\302\303\301\304#\205A\212\302\305\301\304#)\262\306\307\304#\203\310\311!\312\224\301\211\313 \314\312\315\316\317!\320\"\321$\216\211\203Q\211@\322@\"\203J\211A\262\211@\262A\266\202\2023\210)\210\211\203`\323\304\211\301\311%\210\306\324\304#\203n\312\224\202s\206sdb\210\212\306\307\304#\203\315\211\203\235\313 \314\312\315\316\317!\325\"\321$\216\322\310\311!\")\262\202\242\310\311!\232\203v\312y\210\312\224`|\210\326`\306\324\301\304#\203\274\312\224\202\302\206\302d\"B\262\312y\210\202v)\327\312!`SU\203\335\330u\210\202\316\237\211\203\211@\211c\210\327\312!`SU\203\371`S`|\210\202\350A\266\202\202\337\210\301\214`}\210eb\210\306\331\301\332#\203;\310\311!\227\211\235\2032\312\224\306\333\301\332#\203,\312\224b\202-d|\210\2027\211B\262\210\202\n)\266\202\207" [Info-streamline-headings nil search-forward "\n* Menu:" t "\n" re-search-forward "^\\(\\w.*\\)\n\\*" match-string 1 0 match-data make-byte-code "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 string-match replace-match "^[^* \n	]" [set-match-data evaporate] delete-and-extract-region line-beginning-position -1 "^\\* \\([^:\n]+:[^.\n]+.\\)" move "^[^ 	]"] 12])
#@16 

(fn NODEPOS)
(defalias 'Info-read-subfile #[257 "\304\211\247\203er\305!q\210eb\210\306\307!\204\310\311!\210\312y\210\3132`\306\307!?\205_l\204Y`\304\211\310\314!\210`\312Z{\262\315p!\262\316y\210V\203N\317\313\320\"\210\211\262\262\266\202!\316y\210\202!0\210)\202k\262\321\262	\232\204\205\320\304~\210\322 \210\323!\210\324\304!\210\211)~\210eb\210\306\307!\203\226\316u\210\202\232\310\311!\210\247\205\247Z\325`\326\"\\\207" [Info-tag-table-marker Info-current-subfile inhibit-read-only buffer-file-name nil marker-buffer looking-at "" search-forward "\n" 2 foo ": " read 1 throw t 0 erase-buffer info-insert-file-contents set-buffer-modified-p bufferpos-to-filepos exact] 9 (#$ . 39708)])
#@62 Unescape double quotes and backslashes in VALUE.

(fn VALUE)
(defalias 'Info-unescape-quotes #[257 "\300\301\302#\203\303\304\305\211\306%\262\300\225S\262\202\207" [0 string-match "[^\\\"]*\\(\\\\\\)[\\\"]" replace-match "" t 1] 9 (#$ . 40451)])
#@293 Return alist of ("KEY" . "VALUE") from PARAMETER-STRING.
PARAMETER-STRING is a whitespace separated list of KEY=VALUE pairs.
If VALUE contains whitespace or double quotes, it must be quoted
in double quotes and any double quotes or backslashes must be
escaped (\",\\).

(fn PARAMETER-STRING)
(defalias 'Info-split-parameter-string #[257 "\300\301\302\303#\203(\300\225\262\304\305\"\304\306\"\206 \307\304\310\"!BB\262\202\207" [0 nil string-match "\\s *\\([^=]+\\)=\\(?:\\([^\\s \"]+\\)\\|\\(?:\"\\(\\(?:[^\\\"]\\|\\\\[\\\"]\\)*\\)\"\\)\\)" match-string 1 2 Info-unescape-quotes 3] 8 (#$ . 40715)])
#@13 

(fn FILE)
(defalias 'Info-node-description #[257 "\211\301\267\202\302\207\303\207\304\207\305\207\211;\204\306\207\307\310!\311R\207" [Info-current-node #s(hash-table size 4 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ("dir" 6 apropos 8 history 10 toc 12)) "*Info Directory*" "*Info Apropos*" "*Info History*" "*Info TOC*" "" "(" file-name-nondirectory ") "] 5 (#$ . 41334)])
#@33 Display images in current node.
(defalias 'Info-display-images-node #[0 "\212\303\211eb\210\304\305\306\303#\203\233\307\224\310\311\312!!\313\314\"A\315 \203t\211\2035\316!\203/\211\2026\nP\2026\317\320!\203B\321!\202V\313\322\"A\206V\203U\323\324Q\206V\325\326\327\"\204o\330`\327\331\332\333\313\334
\"A\257#\210\266\202\226`|\210\313\322\"A\206\224\313\334\"A\206\224\211\203\223\335\324Q\206\224\336c\210\266\202*\337\306!)\207" [case-fold-search inhibit-read-only default-directory t re-search-forward "\\([[]image\\(\\(?:[^]\\|[^]+\\)*\\)[]]\\)" nil 1 Info-split-parameter-string match-string 2 assoc-string "src" display-images-p file-name-absolute-p "" file-exists-p create-image "text" "[broken image:" "]" "[broken image]" get-text-property display add-text-properties rear-nonsticky (display) help-echo "alt" "[image:" "[image]" set-buffer-modified-p] 16 (#$ . 41748)])
#@44 Hide unrecognized cookies in current node.
(defalias 'Info-hide-cookies-node #[0 "\212\302\211eb\210\303\304\305\302#\203+\306\224\307\310\"\204'\307\311\"\204'\312`\310\302$\210\210\202*\313\305!)\207" [case-fold-search inhibit-read-only t re-search-forward "\\([-][[][^]*[-][]]\n?\\)" nil 1 get-text-property invisible display put-text-property set-buffer-modified-p] 6 (#$ . 42683)])
#@40 Select the Info node that point is in.
(defalias 'Info-select-node #[0 "\306\212\307\310\311\312#\203\313y\210\202#\314\315!\203\316y\210\202#\317\320\310C\"\210\321\322!\210\323`\324\311w\210`\"\325 \210\326 \210\311`\321\327\311\306#\203T`S\314\330!\203U\331\225b\210\332p!\262\202Ud}\210\n\203_\333!\210	D\211\334\f\"B\311\210#\311=\204v\335 \210\336!$\337 \210\340 \210\341\342!\262*\207" [case-fold-search Info-current-node Info-enable-active-nodes Info-current-file Info-history-list Info-history-forward t search-backward "\n" nil move 2 looking-at "" 1 signal search-failed re-search-forward "Node:[ 	]*" buffer-substring-no-properties "^,	\n" Info-set-mode-line beginning-of-line "\n[\f]" "[\n\f]*execute: " 0 read eval remove Info-fontify-node Info-node-description Info-display-images-node Info-hide-cookies-node run-hooks Info-selection-hook Info-fontify-maximum-menu-size list-buffers-directory] 6 (#$ . 43093)])
#@55 Keymap to put on the Info node name in the mode line.
(defvar Info-mode-line-node-keymap (byte-code "\300 \301\302\303#\210\301\304\305#\210\211\207" [make-sparse-keymap define-key [mode-line mouse-1] Info-mouse-scroll-up [mode-line mouse-3] Info-mouse-scroll-down] 5) (#$ . 44052))
(defalias 'Info-set-mode-line #[0 "\304\305!\306;\203\307\310\311\312\313!!#\202\314\315\"\316	\2031\317\307\310\311	#\320\321\322\323\324\325\326\n&	\2022\327RC\244\211\207" [Info-current-file Info-current-node Info-mode-line-node-keymap mode-line-buffer-identification propertized-buffer-identification "%b" " (" replace-regexp-in-string "%" "%%" file-name-sans-extension file-name-nondirectory format "*%S*" ") " propertize face mode-line-buffer-id help-echo "mouse-1: scroll forward, mouse-3: scroll back" mouse-face mode-line-highlight local-map ""] 14])
#@814 Go to Info node named NODENAME.  Give just NODENAME or (FILENAME)NODENAME.
If NODENAME is of the form (FILENAME)NODENAME, the node is in the Info file
FILENAME; otherwise, NODENAME should be in the current Info file (or one of
its sub-files).
Completion is available for node names in the current Info file as well as
in the Info file FILENAME after the closing parenthesis in (FILENAME).
Empty NODENAME in (FILENAME) defaults to the Top node.
If FORK is non-nil (interactively with a prefix arg), show the node in
a new Info buffer.
If FORK is a string, it is the name to use for the new buffer.

This function first looks for a case-sensitive match for the node part
of NODENAME; if none is found it then tries a case-insensitive match
(unless STRICT-CASE is non-nil).

(fn NODENAME &optional FORK STRICT-CASE)
(defalias 'Info-goto-node #[769 "\301 \210\203\302\303;\203\202\304Q\305\"q\210\306\307\310\"\210\311\224\311\225U\203+\312\202/\313\314\"\262\313\315\"\262\307\316\"\211\203F\317\320#\262\210\307\316\"\211\203V\317\320#\262\210\203^\321 \210\322\312\232?\205g\312\232\203q\323\202r\306$\207" [transient-mark-mode info-initialize clone-buffer "*info-" "*" t nil string-match "\\s *\\((\\s *\\([^	)]*\\)\\s *)\\s *\\|\\)\\(.*\\)" 1 "" match-string 2 3 "\\s +\\'" substring 0 deactivate-mark Info-find-node "Top"] 9 (#$ . 44914) (byte-code "\301\302!D\207" [current-prefix-arg Info-read-node-name "Go to node: "] 2)])
#@396 Internal function used to complete Info node names.
Return a completion table for Info files---the FILENAME part of a
node named "(FILENAME)NODENAME".  DIRS is a list of Info
directories to search if FILENAME is not absolute; SUFFIXES is a
list of valid filename suffixes for Info files.  See
`try-completion' for a description of the remaining arguments.

(fn DIRS SUFFIXES STRING PRED ACTION)
(defalias 'Info-read-node-name-2 #[1285 "\301\302\"\262\303!\203\304!C\262\305\211\306\307\"\310P\304!\211\203\246\211@\211\204.\262\2038\311\"\262\312!\203\237\313\314\n!\"\211\203\236\211@\315!\203Y\316\"\203w\316\317\"\204w\316\320\"\204w\203qP\202r\211B\262\316\"\203\227\321\322\211\224#\262\203\221P\202\222\211B\262A\266\202\202E\210A\266\202\202!\210G\323U\203\273G\323U\203\273\262\202\301\324\"\262\325		$\207" [default-directory remove "" file-name-absolute-p file-name-directory nil regexp-opt t "\\'" expand-file-name file-directory-p file-name-all-completions file-name-nondirectory file-name-extension string-match "-[0-9]+\\'" "~\\'" substring 0 1 append complete-with-action] 17 (#$ . 46388)])
#@142 Internal function used by `Info-read-node-name'.
See `completing-read' for a description of arguments and usage.

(fn STRING PREDICATE CODE)
(defalias 'Info-read-node-name-1 #[771 "\303\304\"\203\305\306\307\310\311\307\312\313\314	\"##\315\316\"%\207\303\317\"\203X\320\321\"\320\316\"\315\321\225\"\211\322\232\203B\323=\203B\324\202W\305\325\326\327\330\331!\332\"\333\334%%\207\335\n$\207" [Info-directory-list Info-suffix-list Info-read-node-completion-table string-match "\\`([^)]*\\'" completion-table-with-context "(" apply-partially completion-table-with-terminator ")" Info-read-node-name-2 mapcar car substring 1 "\\`(\\([^)]+\\))" match-string 0 "" lambda t make-byte-code 771 "\301\302\303\300\304\305#!$\207" vconcat vector [complete-with-action Info-build-node-completions Info-find-file nil t] 10 "\n\n(fn STRING PRED ACTION)" complete-with-action] 14 (#$ . 47578)])
#@290 Read an Info node name with completion, prompting with PROMPT.
A node name can have the form "NODENAME", referring to a node
in the current Info file, or "(FILENAME)NODENAME", referring to
a node in FILENAME.  "(FILENAME)" is a short format to go to
the Top node in FILENAME.

(fn PROMPT)
(defalias 'Info-read-node-name #[257 "\302\303 \304\305\306\302$\211\307\232\203\310!\202\211*\207" [completion-ignore-case Info-read-node-completion-table t Info-build-node-completions completing-read Info-read-node-name-1 nil "" Info-read-node-name] 6 (#$ . 48499)])
#@27 

(fn &optional FILENAME)
(defalias 'Info-build-node-completions #[256 "\211\2035\302\"A\206;\303\304!r\211q\210\305\306\307\310\311!\312\"\313$\216\314 \210\315\316\317\"!\210\320 \210	BB	*\207	\206;\320 \207" [Info-file-completions Info-current-file-completions assoc generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 Info-mode Info-goto-node format "(%s)Top" Info-build-node-completions-1] 8 (#$ . 49071)])
(defalias 'Info-build-node-completions-1 #[0 "\303\304\305\212\214	\204\306\307!\210\310	!\2037	\310!q\210~\210\211b\210\311\312\303\304#\2033\313\314!CB\262\202 \210\202k~\210eb\210\315!\203H\313\316!C\262\317\320\303\304#\203k\316y\210`\316y\210\321\304#\203g\313\316!CB\262\210\202H*\322\237B\262)\207" [case-fold-search Info-tag-table-marker Info-current-file-completions nil t "Node: *\\([^,\n]*\\) *[,\n	]" error "No Info tags found" marker-buffer re-search-forward "\n\\(Node\\|Ref\\): \\(.*\\)" match-string-no-properties 2 Info-node-at-bob-matching 1 search-forward "\n" re-search-backward ("*")] 8])
#@79 If this node has been visited, restore the point value when we left.

(fn HL)
(defalias 'Info-restore-point #[257 "\211\205(\211@@\232\203!\211@A@	\230\203!\302@8b\210\303\262\202\211A\262\202\207" [Info-current-file Info-current-node 2 nil] 3 (#$ . 50206)])
#@37 The history list for `Info-search'.
(defvar Info-search-history nil (#$ . 50482))
#@70 The value of `case-fold-search' from previous `Info-search' command.
(defvar Info-search-case-fold nil (#$ . 50570))
#@30 

(fn REGEXP BOUND BACKWARD)
(defalias 'Info--search-loop #[771 "\211\203\212eb\210\303\304!\210`S)d}\210\305\211\211\204U\203$\"\204U	\203.\306\202/\307\310#\203K`\262\203D\311\225\202F\311\224\262\202Q\310\262\305\262)\202\207" [isearch-filter-predicate Info-search-whitespace-regexp search-spaces-regexp search-forward "\n" nil re-search-backward re-search-forward t 0] 10 (#$ . 50693)])
#@186 Search for REGEXP, starting from point, and select node it's found in.
If DIRECTION is `backward', search in the reverse direction.

(fn REGEXP &optional BOUND NOERROR COUNT DIRECTION)
(defalias 'Info-search #[1281 "\306 \210\307\232\203
@\262\205\371	\211\310=\f`ed\311 
\212\214~\210\312

\n#*C.\203[/\203[0\204[\f\204[\211\242\203S\211\242V\203S\211\242W\204[\313\314\315D\"\210\211\242\204\227
\204\227.\203t\313\314\316D\"\210\202\22712\203\206\317\320\321#\202\214\322\320\321#\204\226\313\314C\"\210)\f\203\250\211\242\204\250\313\314C\"\210\211\242\204\217\f\204\217\323\324\325\326\327\n$\330\"\331$\216\320r\3323!q\210eb\210\333\334!\210\214`\333\335!\210`S}\210eb\210\333\336\337Q!\210	\203\361\324\202\362\340y\210	\203\374\341u\210	\203o\202m\204=	\203\317\342!\210\202\322\342!\210\340\225\343\\b\210\344p!\345\340!BB\262	\2035\324\224S\2028\324\225Tb\210\202\374\211\237\262*\211\203t\346\347@A\"\210\350@@!\210	\203[db\210\211A\262\312\320
#\240\210\242\203B\320\262\202B\242\203\200\346\307!\210\202\215\313\314.\205\212\351B\"\210\210)
\230\203\252\211\242V\203\252\211\242W\203\252\211\242b\210\202\303~\210\211\242b\210\352 \323\324\353\326\327!\354\"\331$\216\355 \210)\210\230\203\321\f\232\206\367.\203\3524\203\3525\203\345\202\346=\206\367E6B\2116\266\211\207" [Info-search-history case-fold-search Info-search-case-fold Info-current-node Info-current-file Info-current-subfile deactivate-mark "" backward window-start Info--search-loop signal user-search-failed "end of node" "end of manual" re-search-backward nil t re-search-forward make-byte-code 0 "\303\242?\205\304\302!\210\300b\210\305 \210\306\307 \301\"\207" vconcat vector [Info-read-subfile Info-select-node set-window-start selected-window] 3 marker-buffer search-forward "\n\nIndirect:" "\n" "\n" ": " 1 -1 "\\(^.*\\): [0-9]+$" 2 read match-string-no-properties message "Searching subfile %s..." Info-read-subfile ("end of manual") match-data "\301\300\302\"\207" [set-match-data evaporate] Info-select-node isearch-mode Info-isearch-search Info-isearch-initial-node Info-search-whitespace-regexp search-spaces-regexp Info-tag-table-marker isearch-wrapped isearch-forward Info-history] 23 (#$ . 51122) (byte-code "\302\203\303\304	\203\305\202\306@#\202\"\303\307	\203 \305\202!\306\"\310\300#C\207" [Info-search-history case-fold-search read-string format "Regexp search%s (default %s): " "" " case-sensitively" "Regexp search%s: " nil] 5)])
#@39 Search for a regexp case-sensitively.
(defalias 'Info-search-case-sensitively #[0 "\301\302\303!)\207" [case-fold-search nil call-interactively Info-search] 2 (#$ . 53716) nil])
#@63 Search for next regexp from a previous `Info-search' command.
(defalias 'Info-search-next #[0 "\n\203
\303\n@!\202\304\303!)\207" [Info-search-case-fold case-fold-search Info-search-history Info-search call-interactively] 2 (#$ . 53901) nil])
#@88 Search for REGEXP in the reverse direction.

(fn REGEXP &optional BOUND NOERROR COUNT)
(defalias 'Info-search-backward #[1025 "\300\301%\207" [Info-search backward] 10 (#$ . 54155) (byte-code "\302\203\303\304	\203\305\202\306@#\202\"\303\307	\203 \305\202!\306\"\310\300#C\207" [Info-search-history case-fold-search read-string format "Regexp search%s backward (default %s): " "" " case-sensitively" "Regexp search%s backward: " nil] 5)])
(defalias 'Info-isearch-search #[0 "\203\301\207\302 \207" [Info-isearch-search #[1025 "\203	\202	\n\205
\306
\2039?\205\307 \211\203!\310
\311
!\203/
\"\2024\312\"\262\202D\203A\202D\313!?\205N\314%\210)`\207" [isearch-regexp isearch-regexp-lax-whitespace isearch-lax-whitespace search-whitespace-regexp Info-search-whitespace-regexp isearch-regexp-function Info-search isearch--lax-regexp-function-p t functionp word-search-regexp regexp-quote backward isearch-adjusted isearch-forward] 10 "\n\n(fn STRING &optional BOUND NOERROR COUNT)"] isearch-search-fun-default] 1])
(defalias 'Info-isearch-wrap #[0 "\203&	\203 \n\203\305 \210\202\306 \210\n\203e\202db\207\307\211\207\n\203.e\202/db\207" [Info-isearch-search Info-isearch-initial-node isearch-forward Info-current-node isearch-wrapped Info-top-node Info-final-node nil] 2])
(defalias 'Info-isearch-push-state #[0 "\302\303\304\305\306D\306	DFE\207" [Info-current-file Info-current-node lambda (cmd) Info-isearch-pop-state cmd quote] 7])
#@22 

(fn CMD FILE NODE)
(defalias 'Info-isearch-pop-state #[771 "\232\203\f	\232\206\302\"\210\303\304!\207" [Info-current-file Info-current-node Info-find-node sit-for 0] 6 (#$ . 55665)])
(defalias 'Info-isearch-start #[0 "\205	
\306\307\310\311\312$\207" [isearch-nonincremental Info-current-node Info-isearch-initial-node Info-history Info-isearch-initial-history Info-history-list add-hook isearch-mode-end-hook Info-isearch-end nil t Info-isearch-initial-history-list] 5])
(defalias 'Info-isearch-end #[0 "G	GV\203\304G	G\305#\233\nGGV\203\n@B\306\307\310\311#\207" [Info-history Info-isearch-initial-history Info-history-list Info-isearch-initial-history-list - 1 remove-hook isearch-mode-end-hook Info-isearch-end t] 4])
#@193 Test whether the current search hit is a visible useful text.
Return non-nil if the text from BEG-FOUND to FOUND is visible
and is not in the header line or a tag table.

(fn BEG-FOUND FOUND)
(defalias 'Info-isearch-filter #[514 "\301 \302\303\304\305\306!\307\"\310$\216W\204=\211\203+\311\312\313$\206b\311\314\313$\202:\311\312\313$\206b\311\314\313$\206b\212\315y\210\316\317!)\203U\211\203P\315\202Q\320y\206b\212\321\317\313\322#\205a\316\323!)?\262)\207" [search-invisible match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 text-property-not-all invisible nil display -1 looking-at "" 1 search-backward t "\n\\(Tag Table\\|Local Variables\\)"] 9 (#$ . 56424)])
#@174 Extract the value of the node-pointer named NAME.
If there is none, use ERRORNAME in the error message;
if ERRORNAME is nil, just return nil.

(fn NAME &optional ERRORNAME)
(defalias 'Info-extract-pointer #[513 "\301\212eb\210`\302y\210\303\304\305 Q\301#\203\306\302!\202-\301=?\205-\307\310\311\206+!\"\262*\207" [case-fold-search t 1 re-search-backward ":" Info-following-node-name-re match-string-no-properties user-error "Node has no %s" capitalize] 7 (#$ . 57167)])
#@406 Return a regexp matching a node name.
ALLOWEDCHARS, if non-nil, goes within [...] to make a regexp
saying which chars may appear in the node name.
Submatch 1 is the complete node name.
Submatch 2 if non-nil is the parenthesized file name part of the node name.
Submatch 3 is the local part of the node name.
End of submatch 0, 1, and 3 are the same, so you can safely concat.

(fn &optional ALLOWEDCHARS)
(defalias 'Info-following-node-name-re #[256 "\300\206\301\302\206\f\301\303\260\207" ["[ 	\n]*\\(\\(([^)]+)\\)?\\([" "^,	\n" "]*[" " ]\\|\\)\\)"] 6 (#$ . 57658)])
(defalias 'Info-following-node-name #[0 "\300\301 !\205\n\302\303!\207" [looking-at Info-following-node-name-re match-string-no-properties 1] 2])
#@157 Go to the "next" node, staying on the same hierarchical level.
This command doesn't descend into sub-nodes, like \<Info-mode-map>\[Info-forward-node] does.
(defalias 'Info-next #[0 "\300 \301\302\303\304\305!\306\"\307$\216\310\311!\204\312\313!\210\314\315\316!!)\207" [current-window-configuration make-byte-code 0 "\301\300!\207" vconcat vector [set-window-configuration] 2 derived-mode-p Info-mode switch-to-buffer "*info*" Info-goto-node Info-extract-pointer "next"] 7 (#$ . 58387) nil])
#@164 Go to the "previous" node, staying on the same hierarchical level.
This command doesn't go up to the parent node, like \<Info-mode-map>\[Info-backward-node] does.
(defalias 'Info-prev #[0 "\300 \301\302\303\304\305!\306\"\307$\216\310\311!\204\312\313!\210\314\315\316\317\"!)\207" [current-window-configuration make-byte-code 0 "\301\300!\207" vconcat vector [set-window-configuration] 2 derived-mode-p Info-mode switch-to-buffer "*info*" Info-goto-node Info-extract-pointer "prev[ious]*" "previous"] 7 (#$ . 58890) nil])
#@128 Go to the superior node of this node.
If SAME-FILE is non-nil, do not move to a different Info file.

(fn &optional SAME-FILE)
(defalias 'Info-up #[256 "\303 \304\305\306\307\310!\311\"\312$\216\313\314!\204\315\316!\210	\317\320!\321\203-\322\323\"\203-\324\325!\210\326!\210`\262eb\210;\203u\327\330\321\331#\203u\332\333\230\203T\334\335!\336Q\202a\337\340!\341\340!\342\260\321\331#\203u\343 \210\344\345!\205{\312u\202{\211b\210\346\n!\266\204)\207" [Info-current-node Info-current-file Info-history current-window-configuration make-byte-code 0 "\301\300!\207" vconcat vector [set-window-configuration] 2 derived-mode-p Info-mode switch-to-buffer "*info*" Info-extract-pointer "up" nil string-match "^(" error "Up node is in another Info file" Info-goto-node search-forward "\n* Menu:" t re-search-forward "Top" "\n\\*[^:]+: +(" file-name-nondirectory ")" "\n\\* +\\(" regexp-quote ":\\|[^:]+: +" "\\)" beginning-of-line looking-at "^\\* " Info-restore-point] 12 (#$ . 59423) nil])
#@50 Go back in the history to the last node visited.
(defalias 'Info-history-back #[0 "\204\304\305!\210	\n`EB\306\211\211@@\262@A@\262@AA@\262A\307\"\210A\211b\207" [Info-history Info-current-file Info-current-node Info-history-forward user-error "This is the first Info node you looked at" nil Info-find-node] 7 (#$ . 60442) nil])
(defalias 'Info-last 'Info-history-back)
#@45 Go forward in the history of visited nodes.
(defalias 'Info-history-forward #[0 "\204\301\302!\210A\303\211\211@@\262@A@\262@AA@\262\304\"\210\211b\207" [Info-history-forward user-error "This is the last Info node you looked at" nil Info-find-node] 7 (#$ . 60836) nil])
(byte-code "\301\235\203\210\202\301B\302\207" [Info-virtual-files ("\\`dir\\'" (toc-nodes . Info-directory-toc-nodes) (find-file . Info-directory-find-file) (find-node . Info-directory-find-node)) nil] 2)
#@71 Directory-specific implementation of `Info-toc-nodes'.

(fn FILENAME)
(defalias 'Info-directory-toc-nodes #[257 "\211\300B\207" [(("Top" nil nil nil))] 3 (#$ . 61340)])
#@89 Directory-specific implementation of `Info-find-file'.

(fn FILENAME &optional NOERROR)
(defalias 'Info-directory-find-file #[513 "\207" [] 3 (#$ . 61515)])
#@106 Directory-specific implementation of `Info-find-node-2'.

(fn FILENAME NODENAME &optional NO-GOING-BACK)
(defalias 'Info-directory-find-node #[770 "\300 \207" [Info-insert-dir] 4 (#$ . 61680)])
#@32 Go to the Info directory node.
(defalias 'Info-directory #[0 "\300\301\302\"\207" [Info-find-node "dir" "top"] 3 (#$ . 61880) nil])
(byte-code "\301\235\203\210\202\301B\302\207" [Info-virtual-files ("\\`\\*History\\*\\'" (toc-nodes . Info-history-toc-nodes) (find-file . Info-history-find-file) (find-node . Info-history-find-node)) nil] 2)
#@69 History-specific implementation of `Info-toc-nodes'.

(fn FILENAME)
(defalias 'Info-history-toc-nodes #[257 "\211\300B\207" [(("Top" nil nil nil))] 3 (#$ . 62236)])
#@87 History-specific implementation of `Info-find-file'.

(fn FILENAME &optional NOERROR)
(defalias 'Info-history-find-file #[513 "\207" [] 3 (#$ . 62407)])
#@104 History-specific implementation of `Info-find-node-2'.

(fn FILENAME NODENAME &optional NO-GOING-BACK)
(defalias 'Info-history-find-node #[770 "\302\303\206#c\210\304c\210\305c\210\306c\210\307\310	\"\211\205K\211@@@A@;\203B\311\312\313\314!\2064\315\316\317#\320!\321\322\261\210\266\211A\262\202\207" [Info-current-file Info-history-list format "\n\nFile: %s,  Node: %s,  Up: (dir)\n\n" "History of Visited Nodes\n" "************************\n\n" "* Menu:\n\n" remove ("*History*" "Top") "* " ": (" propertize file-name-directory "" invisible t file-name-nondirectory ")" ".\n"] 14 (#$ . 62568)])
#@44 Go to a node with a menu of visited nodes.
(defalias 'Info-history #[0 "\300\301\302\"\210\303 \210\303 \207" [Info-find-node "*History*" "Top" Info-next-reference] 3 (#$ . 63196) nil])
(byte-code "\301\235\203\210\202\301B\302\207" [Info-virtual-nodes ("\\`\\*TOC\\*\\'" (find-node . Info-toc-find-node)) nil] 2)
#@100 Toc-specific implementation of `Info-find-node-2'.

(fn FILENAME NODENAME &optional NO-GOING-BACK)
(defalias 'Info-toc-find-node #[770 "\304\206!\304\206
	!\305!\306\307#c\210\310c\210\311c\210\312c\210\313\314\315\316\"8\317$\210o?\205O\320\321\322eb\210\323\324\321\325#\206Ged}\210\326 \210~*\207" [Info-current-file Info-current-node Info-fontify-visited-nodes Info-hide-note-references substring-no-properties Info-toc-nodes format "\n\nFile: %s,  Node: %s,  Up: Top\n\n" "Table of Contents\n" "*****************\n\n" "*Note Top::\n" Info-toc-insert 3 assoc "Top" 0 hide nil "*TOC*" re-search-forward "\n[\f]\n" t Info-fontify-node] 11 (#$ . 63525)])
#@126 Go to a node with table of contents of the current Info file.
Table of contents is created from the tree structure of menus.
(defalias 'Info-toc #[0 "\302\303\"\210	@A@\304eb\210\305\306\307Q\304\310#\211\262\203#\311G\312#\262\211\206(eb\207" [Info-current-file Info-history Info-find-node "*TOC*" nil search-forward "*Note " ":" t - 2] 6 (#$ . 64210) nil])
#@90 Insert table of contents with references to nodes.

(fn NODES NODE-LIST LEVEL CURR-FILE)
(defalias 'Info-toc-insert #[1028 "\300\205M\301@\"\302\303\"\3048\305D\235\204-A@\3048\232\204-\211\3048\211\262\306\261\210\211\307@\310\261\210\311\3128T$\210A\262\266\202\207" ["Top" assoc make-string 9 2 nil "\n" "*Note " ":: \n" Info-toc-insert 3] 12 (#$ . 64583)])
#@78 Build table of contents from menus of Info FILE and its subfiles.

(fn FILE)
(defalias 'Info-toc-build #[257 "\301\302!r\211q\210\303\304\305\306\307!\310\"\311$\216;\205\312!\211;\203&\313!\206'\211;\205.\211\314\315\211\2049\211\203L\316 \210\317\206C@!\210eb\210\320\321\315\322#\203\320\323\315\322#\203\324\325 !\212\320\326\315\327#)\206gd\311Z\330\331\332 P\327#\205w\333\334!\335\315\203\207\336\337\"\203\207\315\262\340\"\204\367\330\341\327#\203\367\334y\210\342 \210\335\232\203\255\212\330\343\315\327#)\206\256\262`W\203\367\344\345!\203\335\342 \210\311u\210\324\346 !\211B\262\335\232\203\331\211D	B\262	\210\202\356\335\232\203\356\344\347!\203\356\333\334!\262\334y\210\342 \210\202\260\350\"A@\237FB\262b\266\202H\203E\212eb\210\320\351\315\327#\203:\212\320\326\315\327#)\330\352\327#\2039\333\334!B\262\202'\210\211\237\262\315\262)\2021\211A\262\2021\353\354!\210\237)\266\205*\207" [default-directory generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 Info-find-file file-name-directory (("Top" "Top")) nil erase-buffer info-insert-file-contents search-forward "\n\nFile:" move "Node: " substring-no-properties Info-following-node-name "\n" t re-search-forward "Up:" Info-following-node-name-re match-string-no-properties 1 "Top" string-match "(" Info-index-node "^\\* Menu:" beginning-of-line "^[ 	-]*The Detailed Node Listing" looking-at "^\\* +[^:]+:" Info-extract-menu-node-name "^\\([^ 	\n*=.-][^:\n]*\\)" assoc "\n\nIndirect:" "^\\(.*\\): [0-9]+$" message ""] 17 (#$ . 64980)])
#@194 Return a node list of Info FILENAME with parent-children information.
This information is cached in the variable `Info-toc-nodes' with the help
of the function `Info-toc-build'.

(fn FILENAME)
(defalias 'Info-toc-nodes #[257 "\302\303\304\206\305#\"\206L\211\204\262\306	\"\204G\211;\203(\307!\2032\211\305B	B\211\204G\310!B	B\211\262\204G\211\305B	B\306	\"A\207" [Info-current-file Info-toc-nodes Info-virtual-call Info-virtual-fun toc-nodes nil assoc Info-virtual-file-p Info-toc-build] 6 (#$ . 66649)])
#@316 Follow cross reference named FOOTNOTENAME to the node it refers to.
FOOTNOTENAME may be an abbreviation of the reference name.
If FORK is non-nil (interactively with a prefix arg), show the node in
a new Info buffer.  If FORK is a string, it is the name to use for the
new buffer.

(fn FOOTNOTENAME &optional FORK)
(defalias 'Info-follow-reference #[513 "\204\301\302!\210\303\211\304\305!P\306\307\310#\211\262\2032\311\312#\313\311T\"Q\262\314\\\262\202\212\315\316!\204k\317\316\212\320\303x\210\321 )\"\203M\312\224b\204k\212`\322\\b\210\323\316\303\306#\210\315!)\203k`\312\225X\203k\312\224b\210\212\324\303\306#\205x\312\224\322\\)\212\323\303\306#\205\206\312\224\322\\)\203\245\211\203\245\325`Z!\325`Z!W\203\241\202\262\211\202\262\206\262\211\206\262\326\327\"b\210\330\306!\262\266)\307\313#\211\262\203\334\311\312#\310\311\312\225\"Q\262T\262\202\274\331\")\207" [case-fold-search error "No reference was specified" nil "\\*note " regexp-quote t string-match " " substring 0 "[ 	\n]+" 6 looking-at "\\*note[ \n	]+" looking-back " \n	" line-beginning-position 5 re-search-backward re-search-forward abs user-error "No cross-reference named %s" Info-extract-menu-node-name Info-goto-node] 11 (#$ . 67187) (byte-code "\303\211\304\211\211`\304\211\211\211	\212\305 \262\306 \262eb\210\307\310\304\303#\203\233\311\312!\262\204>\313\224X\203>`X\203>\303\262\204R\313\224X\203R`X\203R\303\262\313\262\314\315#\211\262\203v\316\313#\317\316\313\225\"Q\262T\262\202U\303=\203\200\262\303=\203\211\262\320	\303#\204B\262\202)\204\244\262G\312=\203\261@\262\203\335\321\203\304\322\323Q\202\305\324	\304\303$\211\325\232\203\325\202\326\211\nD\262\202\340\326\327!*\207" [case-fold-search completion-ignore-case current-prefix-arg t nil line-end-position line-beginning-position re-search-forward "\\*note[ \n	]+\\([^:]*\\):" match-string-no-properties 1 0 string-match "[ \n	]+" substring " " assoc-string completing-read "Follow reference named (default " "): " "Follow reference named: " "" user-error "No cross-references in this node"] 15)])
#@184 Regexp that matches a menu entry name upto but not including the colon.
Because of ambiguities, this should be concatenated with something like
`:' and `Info-following-node-name-re'.
(defconst Info-menu-entry-name-re "\\(?:[^:]\\|:[^:,.;() 	\n]\\)*" (#$ . 69386))
#@40 

(fn &optional MULTI-LINE INDEX-NODE)
(defalias 'Info-extract-menu-node-name #[512 "\302\303w\210\304\305\306\203\307\202\203\310\202\311!\312\203#\313\202$\314\260!\205\\\211\203C\315\224\203;\316\317\315!!\202B\320\321\224\322\224S\"\323\324\325\326\327!\314\232\204T\326\327!\206[\320\321\224\322\224S\"#\207" [Info-menu-entry-name-re Info-point-loc " 	\n" nil looking-at ":\\(:\\|" Info-following-node-name-re "^,	\n" "^.,	" "^.,	\n" "\\)" "\\.\\(?:[ 	\n]+(line +\\([0-9]+\\))\\)?" "" 5 string-to-number match-string buffer-substring-no-properties 0 1 replace-regexp-in-string "[ \n]+" " " match-string-no-properties 2] 8 (#$ . 69656)])
(defvar Info-complete-next-re nil)
(defvar Info-complete-nodes nil)
(defvar Info-complete-cache nil nil)
(make-variable-buffer-local 'Info-complete-cache)
#@63 Regexp to match the text after a : until the terminating `.'.
(defconst Info-node-spec-re (byte-code "\300\301!\302P\207" [Info-following-node-name-re "^.,:" "[,:.]"] 2) (#$ . 70481))
#@32 

(fn STRING PREDICATE ACTION)
(defalias 'Info-complete-menu-item #[771 "rq\210\212\306\211	\307eb\210\310\311\307\306#\204\312\313!\210\242\314=\203'\307\202\356\315\267\202?\316\202\356\317\320\321	!\322Q\307\306#\202\356\323\321!\f\324
\260\307\"#@$\232\203\206#A@	\232\203\206\325#8%\232\203\206\326#8\"\232\203\206\327\330#8\"\203\206\331#8\262\202\343\317\307\306#\203\230\332\333!B\262\202\206\334!\262%\203\264\335\336\306\"\211\262\203\264\337%\"\204\304\211\203\313\211A\262\211@\211\262\203\313\340!\210\202\206	\232\204\325\340!\210$	%\f\"\257#\341\f\f$\266\203*\266\204*\207" [Info-complete-menu-buffer Info-current-node case-fold-search completion-ignore-case Info-menu-entry-name-re Info-node-spec-re t nil search-forward "\n* Menu:" user-error "No menu in this node" boundaries #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (metadata 45 lambda 49)) (metadata (category . info-menu)) re-search-forward "\n\\* +" regexp-quote ":" "\n\\* +\\(" "\\):" 2 5 string-prefix-p 3 4 match-string-no-properties 1 delete-dups Info-extract-pointer "next" string-match Info-goto-node complete-with-action Info-complete-nodes Info-complete-cache Info-current-file Info-complete-next-re] 16 (#$ . 70671)])
#@405 Go to the node pointed to by the menu item named (or abbreviated) MENU-ITEM.
The menu item should one of those listed in the current node's menu.
Completion is allowed, and the default menu item is the one point is on.
If FORK is non-nil (interactively with a prefix arg), show the node in
a new Info buffer.  If FORK is a string, it is the name to use for the
new buffer.

(fn MENU-ITEM &optional FORK)
(defalias 'Info-menu #[513 "\300\301!\205;\203\202\"\207" [Info-goto-node Info-extract-menu-item] 5 (#$ . 71994) (byte-code "\305`\305\306\212eb\210\307\310\305\306#\204\311\312!\210`\262`W\2036\212b\210\305\210\313\314	\315Q\306#\2035\316\317!\262))\305\211\204]\306p\320\203M\321\322\"\202N\323\324\305\306\305\211\n&*\262\2028\211\fD\262)\207" [case-fold-search Info-menu-entry-name-re Info-complete-menu-buffer completion-ignore-case current-prefix-arg nil t search-forward "\n* menu:" user-error "No menu in this node" re-search-backward "\n\\* +\\(" "\\):" match-string-no-properties 1 completing-read format "Menu item (default %s): " "Menu item: " Info-complete-menu-item] 12)])
#@18 

(fn MENU-ITEM)
(defalias 'Info-extract-menu-item #[257 "\301!\262\302\212\302eb\210\303\304\305\302#\204\306\307!\210\310\311\312Q\305\302#\2042\310\311P\305\302#\2042\306\313!\210\314 \210\315u\210\316\305\317 \"+\207" [case-fold-search regexp-quote t search-forward "\n* menu:" nil user-error "No menu in this node" re-search-forward "\n\\* +" ":" "No such item in menu" beginning-of-line 2 Info-extract-menu-node-name Info-index-node] 5 (#$ . 73126)])
#@34 

(fn COUNT &optional NO-DETAIL)
(defalias 'Info-extract-menu-counting #[513 "\301\212\301\205\302\303\304\301#\205\305\224eb\210\306\307\301#\204#\310\311!\210\2038\306\312\301$\204@\313\314!\210\202@\306\312\301#\2048\315\304\316 \")\266\202*\207" [case-fold-search t re-search-forward "^[ 	-]*The Detailed Node Listing" nil 0 search-forward "\n* menu:" user-error "No menu in this node" "\n* " error "Too few items in menu" Info-extract-menu-node-name Info-index-node] 9 (#$ . 73599)])
#@91 Go to the node of the Nth menu item.
N is the digit argument used to invoke this command.
(defalias 'Info-nth-menu-item #[0 "\300\301\302 \302 GSH\303Z!!\207" [Info-goto-node Info-extract-menu-counting this-command-keys 48] 4 (#$ . 74113) nil])
#@34 Go to the Top node of this file.
(defalias 'Info-top-node #[0 "\300\301!\207" [Info-goto-node "Top"] 2 (#$ . 74364) nil])
#@36 Go to the final node in this file.
(defalias 'Info-final-node #[0 "\302\303!\210\304\305\302\306\304\305\"!\210\307\305\211\211#\204\310 ?\2050\212\311\312\304\305#)\2050\302\306\304!!\210\202*\207" [case-fold-search Info-history Info-goto-node "Top" nil t Info-extract-menu-counting Info-forward-node Info-index-node search-forward "\n* Menu:"] 4 (#$ . 74492) nil])
#@478 Go forward one node, considering all nodes as forming one sequence.
Interactively, if the current node has sub-nodes, descend into the first
sub-node; otherwise go to the "next" node, if it exists, else go "up"
to the parent node.
When called from Lisp, NOT-DOWN non-nil means don't descend into sub-nodes,
NOT-UP non-nil means don't go to parent nodes, and NO-ERROR non-nil means
don't signal a user-error if there's no node to go to.

(fn &optional NOT-DOWN NOT-UP NO-ERROR)
(defalias 'Info-forward-node #[768 "eb\210\304y\210\305\204%\212\306\307\310\305#)\203%\311 \204%\312\313\304!!\210\305\202\206\212\314\315\310\305#)\2036\316 \210\305\202\206\204{\212\314\317\310\305#)\203{\320\321!\227\322\230\204{	\323 \210\n\310C\324\325\326\327\330\"\331\"\332$\216\211\333\305\310#\240\210)\205t\211\266\202\262\202\206\211\203\203\310\202\206\334\335!)\207" [case-fold-search Info-current-node Info-history Info-history-skip-intermediate-nodes 1 t search-forward "\n* menu:" nil Info-index-node Info-goto-node Info-extract-menu-counting search-backward "next:" Info-next "up:" Info-extract-pointer "up" "top" Info-up make-byte-code 0 "\301\242\206\302\300!\207" vconcat vector [Info-goto-node] 2 Info-forward-node user-error "No pointer forward from this node"] 13 (#$ . 74874) nil])
#@204 Go backward one node, considering all nodes as forming one sequence.
If the current node has a "previous" node, go to it, descending into its
last sub-node, if any; otherwise go "up" to the parent node.
(defalias 'Info-backward-node #[0 "\303\304\305\"\303\306\305\"\305\211\203\307\310\"\203\311\312!\202_\211\2030\203+\227\227\230\2030\313 \202_\203\\\314 \210	\315 \204P\212\316\317\320\305#)\203P\321\322\320!!\210\2028\n\205W\211\211\262\202_\311\323!)\207" [case-fold-search Info-history Info-history-skip-intermediate-nodes Info-extract-pointer "prev[ious]*" t "up" string-match "(" user-error "First node in file" Info-up Info-prev Info-index-node search-forward "\n* Menu:" nil Info-goto-node Info-extract-menu-counting "No pointer backward from this node"] 7 (#$ . 76194) nil])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias Info-exit quit-window nil make-obsolete "27.1"] 4)
#@39 Go to the node of the next menu item.
(defalias 'Info-next-menu-item #[0 "\301\212\302y\210\303\304\305\301#\210\303\306\305\301#\205\307 )\211\203!\310!\202$\311\312!)\207" [case-fold-search t -1 search-forward "\n* menu:" nil "\n* " Info-extract-menu-node-name Info-goto-node user-error "No more items in menu"] 4 (#$ . 77128) nil])
#@43 Go to the node of the previous menu item.
(defalias 'Info-last-menu-item #[0 "\212\301y\210\302\212\303\304\305\302#\205`)\211\203\303\306\302#\204!\307\310!\210)\210\311\212\312\225b\210\313 )!)\207" [case-fold-search 1 t search-backward "\n* menu:" nil "\n* " user-error "No previous items in menu" Info-goto-node 0 Info-extract-menu-node-name] 5 (#$ . 77475) nil])
#@19 

(fn &rest BODY)
(defalias 'Info-no-error '(macro . #[128 "\300\301\302\303\304\"B\305BBB\207" [condition-case nil progn append (t) ((error nil))] 7 (#$ . 77856)]))
#@60 Go to the next subnode or the next node, or go up a level.
(defalias 'Info-next-preorder #[0 "\3021\f\303 \210\3040\202\210\202\206L\3051\306 \210\3040\202#\210\202&\206L\30713\310\304!\210\3040\2027\210\202I\203Idb\210\311 \210	\205H\211\211\207\312\313!\207" [Info-history Info-history-skip-intermediate-nodes (error) Info-next-menu-item t (error) Info-next (error) Info-up Info-next-preorder user-error "No more nodes"] 3 (#$ . 78029) nil])
#@59 Go to the last node, popping up a level if there is none.
(defalias 'Info-last-preorder #[0 "\203:\3041\305 \210db\210\3060\202\210\307\203:	\3101(\305 \210db\210\3060\202,\210\202/\204\n\2035\211\210\311\312!\207\3131G\314\315!\210\3060\202K\210\202\214\203\214\314\316!\314\315!\232\204\214\3171b\320 0\202f\210\202g\210db\210	\3211z\305 \210db\210\3060\202~\210\202\201\204k\n\203\207\211\210\311\312!\207\3221\231\323\306!\210\3060\202\235\210\202\261\203\261eb\210\306\324\325\307\306#\206\257db)\207\326\327!\207" [Info-scroll-prefer-subnodes Info-history Info-history-skip-intermediate-nodes case-fold-search (error) Info-last-menu-item t nil (error) recenter -1 (error) Info-extract-pointer "prev" "up" (error) Info-prev (error) (error) Info-up search-forward "\n* Menu:" user-error "No previous nodes"] 4 (#$ . 78497) nil])
#@717 Scroll one screenful forward in Info, considering all nodes as one sequence.
Once you scroll far enough in a node that its menu appears on the screen
but after point, the next scroll moves into its first subnode, unless
`Info-scroll-prefer-subnodes' is nil.

When you scroll past the end of a node, that goes to the next node if
`Info-scroll-prefer-subnodes' is non-nil and to the first subnode otherwise;
if this node has no successor, it moves to the parent node's successor,
and so on.  If `Info-scroll-prefer-subnodes' is non-nil and point is inside
the menu of a node, it moves to subnode indicated by the following menu
item.  (That case won't normally result from this command, but can happen
in other ways.)
(defalias 'Info-scroll-up #[0 "\302 eW\204\302 dV\203\303\304 `\"\210\305\212eb\210	\203*\306\307\310\305#\203*`\202+d)\211\302 W\2049\311!\203]	\203B\312 \202_\3131Q\314\315\316!!\210\3050\202U\210\202X\206_\312 \202_\317 )\207" [case-fold-search Info-scroll-prefer-subnodes window-start set-window-start selected-window t search-forward "\n* Menu:" nil pos-visible-in-window-p Info-next-preorder (error) Info-goto-node Info-extract-menu-counting 1 scroll-up] 4 (#$ . 79371) nil])
#@86 Scroll one screenful forward in Info, using the mouse.
See `Info-scroll-up'.

(fn E)
(defalias 'Info-mouse-scroll-up #[257 "\300 r\301\302\303\304\305!\306\"\307$\216\310!\203\311\312!\211@\262!\210\313 *\207" [internal--before-save-selected-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-save-selected-window] 2 eventp select-window event-start Info-scroll-up] 8 (#$ . 80593) "e"])
#@300 Scroll one screenful back in Info, considering all nodes as one sequence.
If point is within the menu of a node, and `Info-scroll-prefer-subnodes'
is non-nil, this goes to its last subnode.  When you scroll past the
beginning of a node, that goes to the previous node or back up to the
parent node.
(defalias 'Info-scroll-down #[0 "\302 eW\204\302 dV\203\303\304 `\"\210\305`	\205)\212\306 \262eb\210\307\310\305#)\211\2045\311e\312\305#\203:\313 \202<\314 )\207" [case-fold-search Info-scroll-prefer-subnodes window-start set-window-start selected-window t line-beginning-position search-forward "\n* Menu:" pos-visible-in-window-p nil Info-last-preorder scroll-down] 6 (#$ . 81014) nil])
#@89 Scroll one screenful backward in Info, using the mouse.
See `Info-scroll-down'.

(fn E)
(defalias 'Info-mouse-scroll-down #[257 "\300 r\301\302\303\304\305!\306\"\307$\216\310!\203\311\312!\211@\262!\210\313 *\207" [internal--before-save-selected-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-save-selected-window] 2 eventp select-window event-start Info-scroll-down] 8 (#$ . 81721) "e"])
#@409 Move point to the next pattern-based cross-reference or property-based link.
The next cross-reference is searched using the regexp PAT, and the next link
is searched using the text property PROP.  Move point to the closest found position
of either a cross-reference found by `re-search-forward' or a link found by
`next-single-char-property-change'.  Return the new position of point, or nil.

(fn PAT PROP)
(defalias 'Info-next-reference-or-link #[514 "\212\300\301\302#)\303`\"\211dW\203\304\"\204\303\"\262\211dW\203>\2039X\2039\305\224\2065\306\224b\202J\211b\202J\205J\305\224\206I\306\224b\207" [re-search-forward nil t next-single-char-property-change get-char-property 1 0] 7 (#$ . 82149)])
#@426 Move point to the previous pattern-based cross-reference or property-based link.
The previous cross-reference is searched using the regexp PAT, and the previous link
is searched using the text property PROP.  Move point to the closest found position
of either a cross-reference found by `re-search-backward' or a link found by
`previous-single-char-property-change'.  Return the new position of point, or nil.

(fn PAT PROP)
(defalias 'Info-prev-reference-or-link #[514 "\212\300\301\302#)\303`\"\211eV\203\304\"\204\303\"\262\211eV\203>\2039Y\2039\305\224\2065\306\224b\202J\211b\202J\205J\305\224\206I\306\224b\207" [re-search-backward nil t previous-single-char-property-change get-char-property 1 0] 7 (#$ . 82878)])
#@184 Move cursor to the next cross-reference or menu item in the node.
If COUNT is non-nil (interactively with a prefix arg), jump over
COUNT cross-references.

(fn &optional RECUR COUNT)
(defalias 'Info-next-reference #[512 "\211\204\301\262\211\302W\203\303[\"\207\211\302U?\205l\211S\211\262\205l\304`\305m\204-\301u\210\306\307\"\204Eeb\210\306\307\"\204E\211b\210\310\311!\210\312\313!\203]\203V\310\311!\210\202f\314\305!\210\202f\312\315!\203f\316u\210)\266\202\207" [case-fold-search 1 0 Info-prev-reference "\\*note[ \n	]+\\([^:]+\\):\\|^\\* .*:\\|[hf]t?tps?://" t Info-next-reference-or-link link user-error "No cross references in this node" looking-at "\\* Menu:" Info-next-reference "^\\* " 2] 7 (#$ . 83629) "i\np"])
#@188 Move cursor to the previous cross-reference or menu item in the node.
If COUNT is non-nil (interactively with a prefix arg), jump over
COUNT cross-references.

(fn &optional RECUR COUNT)
(defalias 'Info-prev-reference #[512 "\211\204\301\262\211\302W\203\303[\"\207\211\302U?\205e\211S\211\262\205e\304`\305\306\307\"\204>db\210\306\307\"\204>\211b\210\310\311!\210\312\313!\203V\203O\310\311!\210\202_\314\305!\210\202_\312\315!\203_\316u\210)\266\202\207" [case-fold-search 1 0 Info-next-reference "\\*note[ \n	]+\\([^:]+\\):\\|^\\* .*:\\|[hf]t?tps?://" t Info-prev-reference-or-link link user-error "No cross references in this node" looking-at "\\* Menu:" Info-prev-reference "^\\* " 2] 7 (#$ . 84387) "i\np"])
#@455 Return a list of names of all index nodes in Info FILE.
If FILE is omitted, it defaults to the current Info file.
First look in a list of cached index node names.  Then scan Info
file and its subfiles for nodes with the index cookie.  Then try
to find index nodes starting from the first node in the top level
menu whose name contains the word "Index", plus any immediately
following nodes whose names also contain the word "Index".

(fn &optional FILE)
(defalias 'Info-index-nodes #[256 "\211\204\262\306	\"\204\200\211;\203\307!\203#\211\310B	B\211\204\200\311!\203\351\211;\2039\312\313!\211\262!\206:\n\310\211\310\211\310\211\3141\320\315\316!r\211q\210\317\320\321\322\323!\324\"\325$\216\204c\205\311\326 \210\327\206m@!\210eb\210\330\331\310\332#\203\215\212\333\334!\210\330\335!\210\336 B\262)\202r\203\302\212eb\210\330\337\310\340#\203\267\212\330\341\310\340#)\342\343\340#\203\266\344\345!B\262\202\244\210\237\262\310\262)\202[A\262\202[*\2620\202\324\210\202\325\210\211\203\343\211\237\262B	B,\266\202\202w\340\310\211\211\211\211\21134\3461_\315\316!r\211q\210\317\320\321\322\323!\347\"\325$\216\350 \210\351	\352\"\210\330\353\310\340#\205X\342\354\310\340#\205X\345\224b\210\355 C\262\356@!\210\357\360\340\"\211\262\205X\361\362\"\205XB\262\356!\210\202;*\2620\202c\210\202d\210\203s\237\262B	B-\266\207\204\200\211\310B	B\306	\"A\207" [Info-current-file Info-index-nodes default-directory Info-history Info-history-list Info-fontify-maximum-menu-size assoc Info-virtual-file-p nil Info-file-supports-index-cookies file-name-directory Info-find-file (error) generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 erase-buffer info-insert-file-contents search-forward "[index]" move re-search-backward "^" "Node: " Info-following-node-name "\n\nIndirect:" t "\n" re-search-forward "^\\(.*\\): [0-9]+$" match-string-no-properties 1 (error) [buffer-name kill-buffer] Info-mode Info-find-node "Top" "\n* menu:" "\n\\* \\(.*\\<Index\\>\\)" Info-extract-menu-node-name Info-goto-node Info-extract-pointer "next" string-match "\\<Index\\>" Info-point-loc case-fold-search] 16 (#$ . 85133)])
#@164 Return non-nil value if NODE is an index node.
If NODE is nil, check the current Info node.
If FILE is nil, check the current Info file.

(fn &optional NODE FILE)
(defalias 'Info-index-node #[512 "\211\204\262\203	\232\203\304\n\"\203&\204&\206!	\302!\235\207\305 \306\307\310\311\312!\313\"\314$\216\315!\203]\212\212\316\317\320\321#)\206Fe\322\\b\210\323\324\212\323\317\320\321#)\206Wd\321#)\202i\325\326\206h	\206h\327\")\207" [Info-current-file Info-current-node Info-index-nodes Info-current-node-virtual assoc match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 Info-file-supports-index-cookies search-backward "\n" nil t 2 search-forward "[index]" string-match "\\<Index\\>" ""] 9 (#$ . 87420)])
#@29 Go to the first index node.
(defalias 'Info-goto-index #[0 "\300 @\211\204\301\302!\210\303!\207" [Info-index-nodes error "No index" Info-goto-node] 3 (#$ . 88203)])
#@354 Look up a string TOPIC in the index for this manual and go to that entry.
If there are no exact matches to the specified topic, this chooses
the first match which is a case-insensitive substring of a topic.
Use the \<Info-mode-map>\[Info-index-next] command to see the other matches.
Give an empty topic name to go to the Index node itself.

(fn TOPIC)
(defalias 'Info-index #[257 "\306\232\203\n\307\310!\210\211;\203$\211G\311V\203$\211\311H\312U\203$\313\314\"\262	\315\316\317!\"\320\321 \n\322\323 \210\324\232\206\301\320\211\211\211eb\210\325\320\322#\203x\326\314!\326\327!\330\331\332\333!P!\334\335\224\314\224Z\335\225\314\224Z\336$\210	FB\262\266\202CA\262@\211\262\203\214\337!\210\202@\204\233\337	!\210\340\341\"\210\342\n\"\211\262\203\264\211B\262\343\"\262\202\233\237\244\344\311!)\266\204)\207" [Info-current-file Info-current-node Info-history-list case-fold-search Info-history Info-index-alternatives "dir" error "The Info directory node has no index; use m to select a manual" 0 58 substring 1 format "\n\\* +\\([^\n]*\\(%s\\)[^\n]*\\):[ 	]+\\([^\n]*\\)\\.\\(?:[ 	\n]*(line +\\([0-9]+\\))\\)?" regexp-quote nil Info-index-nodes t Info-goto-index "" re-search-forward match-string-no-properties 3 string-to-number "0" match-string 4 add-text-properties 2 (face info-index-match) Info-goto-node user-error "No `%s' in index" assoc delq Info-index-next] 18 (#$ . 88379) (byte-code "\305\306 \307 \310\f\311\232\203\312\313!\210\314\216r\nq\210\315 \210\316\317\320\".C\207" [Info-history-list Info-complete-nodes Info-complete-menu-buffer completion-ignore-case Info-current-file t clone-buffer Info-index-nodes nil "dir" error "The Info directory node has no index; use m to select a manual" #[0 "\301!\207" [Info-complete-menu-buffer kill-buffer] 2] Info-goto-index completing-read "Index topic: " Info-complete-menu-item] 4)])
#@99 Go to the next matching index item from the last \<Info-mode-map>\[Info-index] command.

(fn NUM)
(defalias 'Info-index-next #[257 "\204\302\303!\210\211\304W\203\211G\\\262\202\211\304V\203+A@C\244\211S\262\202\305@A@!\210\306@8\304V\203F\306@8\307Zy\210\202Q\306y\210@@\310!\266\311\312@@\307@8A\203n\313\314G\315\316\317	\320#!#\202o\321$\207" [Info-index-alternatives overriding-local-map user-error "No previous `i' command" 0 Info-goto-node 3 2 Info-find-index-name message "Found `%s' in %s.  %s" format-message "(%s total; use `%s' for next)" key-description where-is-internal Info-index-next t "(Only match)"] 13 (#$ . 90298) "p"])
#@83 Move point to the place within the current node where NAME is defined.

(fn NAME)
(defalias 'Info-find-index-name #[257 "\301\302\303\304\305!\"\306\301#\204V\302\303\307\305!\"\306\301#\204V\310\303\311\"\306\301#\204V\312\313\"\203>\310\303\311\314\315\316\224#\"\306\301#\204V\310\306\301#\204V\312\317\"\203]\320\321\316\"!\203]\322 \210\301\202_eb)\207" [case-fold-search t re-search-forward format "[a-zA-Z]+: %s\\( \\|$\\)" regexp-quote nil "[a-zA-Z]+: [a-zA-Z0-9_ *&]+ %s\\( \\|$\\)" search-forward "['`‘]%s['’]" string-match "\\`.*\\( (.*)\\)\\'" substring 0 1 "\\`\\(.*\\) <[0-9]+>\\'" Info-find-index-name match-string beginning-of-line] 8 (#$ . 90975)])
(byte-code "\301\235\203\210\202\301B\302\207" [Info-virtual-nodes ("\\`\\*Index.*\\*\\'" (find-node . Info-virtual-index-find-node) (slow . t)) nil] 2)
#@268 Alist of cached matched index search nodes.
Each element is ((FILENAME . TOPIC) MATCHES) where
FILENAME is the file name of the manual,
TOPIC is the search string given as an argument to `Info-virtual-index',
MATCHES is a list of index matches found by `Info-index'.
(defvar Info-virtual-index-nodes nil (#$ . 91831))
#@102 Index-specific implementation of `Info-find-node-2'.

(fn FILENAME NODENAME &optional NO-GOING-BACK)
(defalias 'Info-virtual-index-find-node #[770 "\302\303\"\203q\304\305\"\306\206B	\"A\307\310\206#c\210\311c\210\312c\210\313\314\261\210\315c\210\211\204;\316c\202p\317c\210\211\211\205n\211@\307\320\307\321@\3228#A@\3238\203c\307\324\3238\"\202d\325$c\210A\266\202\202?\262\207\326	!\307\327\206{#c\210\311c\210\312c\210\330\331\261\210\317c\210\211\211\205\266\211@\211@@\206\235\232\203\257\307\332\307\333@A\"@A#c\210A\266\202\202\216\262\207" [Info-current-file Info-virtual-index-nodes string-match "^\\*Index for ‘\\(.+\\)’\\*$" match-string 1 assoc format "\n\nFile: %s,  Node: %s,  Up: *Index*\n\n" "Info Virtual Index\n" "******************\n\n" "Index entries that match ‘" "’:\n\n" "[index]\n" "No matches found.\n" "* Menu:\n\n" "* %-38s %s.%s\n" "%s [%s]:" 2 3 " (line %s)" "" reverse "\n\nFile: %s,  Node: %s,  Up: Top\n\n" "This is a list of search results produced by\n" "‘Info-virtual-index’ for the current manual.\n\n" "* %-20s %s.\n" "*Index for ‘%s’*::"] 15 (#$ . 92156)])
#@227 Show a node with all lines in the index containing a string TOPIC.
Like `Info-index' but displays a node with index search results.
Give an empty topic name to go to the node with links to previous
search results.

(fn TOPIC)
(defalias 'Info-virtual-index #[257 "\211\305\232\203\306\307\"\207\310B	\"\204-\n\311!\210B\fB	B\211\312!\210\313\305!\266\306\314\315\"\"\207" [Info-current-file Info-virtual-index-nodes Info-current-node Info-history-list Info-index-alternatives "" Info-find-node "*Index*" assoc Info-index Info-goto-node message format "*Index for ‘%s’*"] 6 (#$ . 93330) (byte-code "\305\306 \307 \310\f\311\232\203\312\313!\210\314\216r\nq\210\315 \210\316\317\320\".C\207" [Info-history-list Info-complete-nodes Info-complete-menu-buffer completion-ignore-case Info-current-file t clone-buffer Info-index-nodes nil "dir" error "The Info directory node has no index; use m to select a manual" #[0 "\301!\207" [Info-complete-menu-buffer kill-buffer] 2] Info-goto-index completing-read "Index topic: " Info-complete-menu-item] 4)])
(byte-code "\301\235\203\210\202\301B\302\207" [Info-virtual-files ("\\`\\*Apropos\\*\\'" (toc-nodes . Info-apropos-toc-nodes) (find-file . Info-apropos-find-file) (find-node . Info-apropos-find-node) (slow . t)) nil] 2)
#@69 Info file name of the virtual manual for matches of `info-apropos'.
(defvar Info-apropos-file "*Apropos*" (#$ . 94638))
#@287 Alist of cached apropos matched nodes.
Each element is (NODENAME STRING MATCHES) where
NODENAME is the name of the node that holds the search result,
STRING is the search string given as an argument to `info-apropos',
MATCHES is a list of index matches found by `Info-apropos-matches'.
(defvar Info-apropos-nodes nil (#$ . 94765))
#@69 Apropos-specific implementation of `Info-toc-nodes'.

(fn FILENAME)
(defalias 'Info-apropos-toc-nodes #[257 "\301\302\303!\"\304\305\211F\301\306\"BB\207" [Info-apropos-nodes mapcar car reverse "Top" nil #[257 "\211\300B\207" [("Top" nil nil)] 3 "\n\n(fn NODE)"]] 7 (#$ . 95102)])
#@87 Apropos-specific implementation of `Info-find-file'.

(fn FILENAME &optional NOERROR)
(defalias 'Info-apropos-find-file #[513 "\207" [] 3 (#$ . 95393)])
#@104 Apropos-specific implementation of `Info-find-node-2'.

(fn FILENAME NODENAME &optional NO-GOING-BACK)
(defalias 'Info-apropos-find-node #[770 "\302\232\203:\303!\304\305	#c\210\306c\210\307c\210\310c\210\311c\210\211\211\2057\211@\304\312\304\313@\"A@#c\210A\266\202\202\262\207\314\"\3158\211\205\240\304\316	#c\210\306c\210\307c\210\317A@\320\261\210\321c\210\211\322=\203i\323c\202\240\311c\210\211\211\205\236\211@\304\324\304\325A@@#@\3158\3268\203\223\304\327\3268\"\202\224\330%c\210A\266\202\202m\262\207" [Info-apropos-nodes Info-apropos-file "Top" reverse format "\n\nFile: %s,  Node: %s,  Up: (dir)\n\n" "Apropos Index\n" "*************\n\n" "This is a list of search results produced by ‘info-apropos’.\n\n" "* Menu:\n\n" "* %-20s %s.\n" "%s::" assoc 2 "\n\nFile: %s,  Node: %s,  Up: Top\n\n" "Index entries that match ‘" "’:\n\n" "[index]\n" t "No matches found.\n" "* %-38s (%s)%s.%s\n" "%s [%s]:" 3 " (line %s)" ""] 16 (#$ . 95554)])
#@184 Collect STRING matches from all known Info files on your system.
Return a list of matches where each element is in the format
((FILENAME INDEXTEXT NODENAME LINENUMBER)).

(fn STRING)
(defalias 'Info-apropos-matches #[257 "\211\305\230?\205\371\306\307\310!\"	\n\311\211\211\211\211\312 \210\204$\262\n\262\313\314!\210eb\210\315\316\311\317#\210\315\320\311\317#\203P\321\322!\211\235\203F\202I\211B\262\262\2021\237\211\203\337\211@\313\323\"\210\3241\277\325\326!!\211\262\205\273\212\327@\"\210eb\210\315\311\317#\203\247\330\322!\330\331!\330\332!\333\334\224\322\224Z\334\225\322\224Z\335$\210FB\262\266\202vA\262@\211\262\205\272\336!\210\202s)0\202\327\313\337\242\340=\203\316A@\202\317\"\210\341\322\317\"\262\210A\266\202\202R\210)\327\"\210\313\342!\210\237\206\367\317\266\211\207" [Info-history Info-history-list Info-current-node Info-current-file Info-fontify-maximum-menu-size "" format "\n\\* +\\([^\n]*\\(%s\\)[^\n]*\\):[ 	]+\\([^\n]+\\)\\.\\(?:[ 	\n]*(line +\\([0-9]+\\))\\)?" regexp-quote nil Info-directory message "Searching indices..." re-search-forward "\\* Menu: *\n" t "\\*.*: *(\\([^)]+\\))" match-string 1 "Searching %s" (error) Info-index-nodes Info-find-file Info-find-node match-string-no-properties 3 4 add-text-properties 2 (face info-index-match) Info-goto-node "%s" error sit-for "Searching indices...done"] 20 (#$ . 96560)])
#@118 Grovel indices of all known Info files on your system for STRING.
Build a menu of the possible matches.

(fn STRING)
(defalias 'info-apropos #[257 "\211\302\232\203\303\304\"\207	\305\203!@A@\232\204!A\262\202
\203.\303@@\"\202A\306\307\"\262\211\310!E	B\303\"\207" [Info-apropos-file Info-apropos-nodes "" Info-find-node "Top" nil format "Index for ‘%s’" Info-apropos-matches] 7 (#$ . 97997) "sIndex apropos: "])
(byte-code "\301\235\203\210\202\301B\302\207" [Info-virtual-files ("\\`\\*Finder.*\\*\\'" (find-file . Info-finder-find-file) (find-node . Info-finder-find-node)) nil] 2)
#@59 Info file name of the virtual Info keyword finder manual.
(defvar Info-finder-file "*Finder*" (#$ . 98624))
#@86 Finder-specific implementation of `Info-find-file'.

(fn FILENAME &optional NOERROR)
(defalias 'Info-finder-find-file #[513 "\207" [] 3 (#$ . 98738)])
#@13 

(fn DESC)
(defalias 'info--prettify-description #[257 "\211;\203C\302\303!r\211q\210\304\305\306\307\310!\311\"\312$\216\313!c\210`Sf\314\232\203)\315\316!\210eb\210\317\320\321\322!)\262)\204?\323\324!\210\325 *\207\207" [case-fold-search inhibit-changing-match-data generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 substitute-command-keys 46 delete-char -1 nil "\\.\\|[[:upper:]]" t looking-at capitalize-word 1 buffer-string] 8 (#$ . 98896)])
#@103 Finder-specific implementation of `Info-find-node-2'.

(fn FILENAME NODENAME &optional NO-GOING-BACK)
(defalias 'Info-finder-find-node #[770 "\305\306!\210\307\267\202\224\310\311#c\210\312c\210\313c\210\314c\210\315\316	\"\211\205@\211@\211@\310\317\320!\321\320!\322R\323A!#c\266A\266\202\202\207\310\324#c\210\325c\210\326c\210\314c\210\327\330\331 \"\207\310\324#c\210\332c\210\333c\210\314c\210\334\n\211\205\221\211@\211\243\262\335!\203\212\310\336\320@!\337P\323\340H!#c\210A\266\202\202i\262\207\341\342\"\2031\343\344\225\"\262\310\345#c\210\346c\210\313c\210\347\350\261\210\314c\210\351\352\353\334\354\341#)\266\203\203\322\355\356\354#\202\324C\"\334\211\211\203\357\211@\357\360\f\"!B\262A\266\202\202\330\210\361\362\315\"!\262\363\364\"\262\365\366\"\262\211\205.\211@\211\n\236\243\262\335!\203'\310\336\320!\337P\323\340H!#c\210A\266\202\202\262\207\310\324#c\210\367c\210\333c\210\370\350\261\210\3711Q\372\373!!0\202S\210\334\211\204\\\374c\202\256\375\376!r\211q\210\377\344\201@\201A\201B!\201C\"\340$\216c\210eb\210\201D \210db\210\201D \210eb\210\201E\201F\334\354#\203\246\201G\201H\334\211#\210\202\215\201I *\262c\207" [Info-finder-file finder-known-keywords package--builtins inhibit-changing-match-data finder-keywords-hash require finder #s(hash-table size 3 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ("Top" 10 "Keyword unknown" 65 "Keyword all" 87)) format "\n\nFile: %s,  Node: %s,  Up: (dir)\n\n" "Finder Keywords\n" "***************\n\n" "* Menu:\n\n" append ((all . "All package info") (unknown . "Unknown keywords")) "* %s %s.\n" symbol-name ": Keyword " "." info--prettify-description "\n\nFile: %s,  Node: %s,  Up: Top\n\n" "Finder Unknown Keywords\n" "***********************\n\n" mapc #[257 "\300\301\302@!\303\302@!\304RA#c\207" [format "* %-14s %s.\n" symbol-name ": Keyword " "."] 7 "\n\n(fn ASSOC)"] finder-unknown-keywords "Finder Package Info\n" "*******************\n\n" nil vectorp "* %-16s %s.\n" "::" 2 string-match "\\`Keyword " substring 0 "\n\nFile: %s,  Node: Keyword %s,  Up: Top\n\n" "Finder Packages\n" "The following packages match the keyword ‘" "’:\n\n" mapcar intern "," t split-string ",[ 	\n]*" copy-tree gethash delete-dups apply delete emacs sort #[514 "\300!\300!\231\207" [symbol-name] 5 "\n\n(fn A B)"] "Package Description\n" "Description of the package ‘" (error) lm-commentary find-library-name "Can’t find package description.\n\n" generate-new-buffer " *temp*" make-byte-code "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] delete-blank-lines re-search-forward "^;+ ?" replace-match "" buffer-string] 14 (#$ . 99432)])
#@292 Display descriptions of the keywords in the Finder virtual manual.
In interactive use, a prefix argument directs this command to read
a list of keywords separated by comma.  After that, it displays a node
with a list of packages that contain all specified keywords.

(fn &optional KEYWORDS)
(defalias 'info-finder #[256 "\301\302!\210\211\203\303\304\305\306#\"\207\303\307\"\207" [Info-finder-file require finder Info-find-node mapconcat identity ", " "Top"] 7 (#$ . 102190) (byte-code "\205\302\303!\210\304\305\306\307\306\310\311	\312 \"\"\"\313\314$C\207" [current-prefix-arg finder-known-keywords require finder completing-read-multiple "Keywords (separated by comma): " mapcar symbol-name car append finder-unknown-keywords nil t] 9)])
#@36 Make command be undefined in Info.
(defalias 'Info-undefined #[0 "\300 \207" [ding] 1 (#$ . 102947) nil])
#@26 Enter the Info tutorial.
(defalias 'Info-help #[0 "\300 \210\301\302\303 \304W\203\305\202\306\"\207" [delete-other-windows Info-find-node "info" window-height 23 "Help-Small-Screen" "Help"] 4 (#$ . 103059) nil])
#@47 Display a brief summary of all Info commands.
(defalias 'Info-summary #[0 "\302 \303\304\305\306\307!\310\"\311$\216\312\313!\210\314\315 \210\316\317!c\210\320 \210eb\210\314\211\321d!?\262\322\2033\323\2024\324!\210\325 \211\262\326=\204G	B\202Q\211\203Q\327 \210\202$\266\330\313!)\207" [buffer-read-only unread-command-events current-window-configuration make-byte-code 0 "\301\300!\207" vconcat vector [set-window-configuration] 2 switch-to-buffer "*Help*" nil erase-buffer documentation Info-mode help-mode pos-visible-in-window-p message "Type Space to see more" "Type Space to return to Info" read-event 32 scroll-up bury-buffer] 7 (#$ . 103282) nil])
#@542 Return the token around POS.
POS must be somewhere inside the token.
START is a regular expression which will match the
    beginning of the tokens delimited string.
ALL is a regular expression with a single
    parenthesized subpattern which is the token to be
    returned.  E.g. `{(.*)}' would return any string
    enclosed in braces around POS.
ERRORSTRING optional fourth argument, controls action on no match:
    nil: return nil
    t: beep
    a string: signal an error, using that string.

(fn POS START ALL &optional ERRORSTRING)
(defalias 'Info-get-token #[1027 "\301\212b\210o\204`GZV\203\302!\204\303u\210\202\302!\2043b\210\304e\305Z]\306#\210\307\310d\305\\^\306#\203R\311\224X\205L\311\225V\211\262\2034\211\203j\311\224X\203j\311\225V\203j\312\313!\202\205\204r\307\202\205\301=\203\314 \210\307\202\205\315\316#\262*\207" [case-fold-search t looking-at -1 re-search-backward 200 yes nil re-search-forward 0 match-string-no-properties 1 beep error "No %s around position %d"] 10 (#$ . 103963)])
#@256 \<Info-mode-map>Follow a node reference near point.
Like \[Info-menu], \[Info-follow-reference], \[Info-next], \[Info-prev] or \[Info-up] command, depending on where you click.
At end of the node's text, moves to the next node, or up if none.

(fn CLICK)
(defalias 'Info-mouse-follow-nearest-node #[257 "\300!\210\301 ?\205\212\302y\210m)\205\303 \207" [mouse-set-point Info-follow-nearest-node 1 Info-next-preorder] 3 (#$ . 105028) "e"])
#@338 Follow a node reference near point.
If point is on a reference, follow that reference.  Otherwise,
if point is in a menu item description, follow that menu item.

If FORK is non-nil (interactively with a prefix arg), show the node in
a new Info buffer.
If FORK is a string, it is the name to use for the new buffer.

(fn &optional FORK)
(defalias 'Info-follow-nearest-node #[256 "\302!\206J\212\303\304\305\306#)\2039\212\307 \210o\204%\310\311!\204%\307\312!\210\202\310\313!\2055\314\315\316\317!!\"\210\306)\206J\320=\203G\321	!\322=\206J\323\324!\207" [this-command last-input-event Info-try-follow-nearest-node search-backward "\n* menu:" nil t beginning-of-line looking-at "[^ 	]\\|[ 	]*$" 0 "\\* +\\([^	\n]*\\):" Info-goto-node Info-extract-menu-item match-string-no-properties 1 Info-mouse-follow-nearest-node event-basic-type mouse-1 user-error "Point neither on reference nor in menu item description"] 5 (#$ . 105479) "P"])
#@143 Follow a node reference near point.  Return non-nil if successful.
If FORK is non-nil, it is passed to `Info-goto-node'.

(fn &optional FORK)
(defalias 'Info-try-follow-nearest-node #[256 "\300\301`\302\303#\211\262\203\304!\210\305\262\202\353\301`\306\307#\211\262\203)\310\"\210\202\353\301`\311\312#\211\262\203r`\300\212eb\210\313\314\300\305#\203\\`W\203U\315\300\305#\205Z\316\224\202Z\317\300\305#\262)\211\203j\211b\210\305\262\202m\300\262\266\202\353\301`\320\321#\211\262\203\205\322\"\210\202\353\301`\320\323#\203\242\324 \210\325u\210\326\300\327 \"\262\322\"\210\202\353\301`\330\331#\211\262\203\265\322\"\210\202\353\301`\332\333#\211\262\203\310\322\"\210\202\353\301`\334\335#\211\262\203\333\322\336\"\210\202\353\301`\337\340#\211\262\203\353\322\"\210\211\207" [nil Info-get-token "\\(?:f\\(?:ile\\|tp\\)\\|https?\\)://" "\\(\\(?:f\\(?:ile\\|tp\\)\\|https?\\)://[^ 	\n\"`‘({<>})’']+\\)" browse-url t "\\*note[ \n	]+" "\\*note[ \n	]+\\([^:]*\\):\\(:\\|[ \n	]*(\\)?" Info-follow-reference "(" "\\(([0-9]+)\\)" re-search-forward "^[ 	]*-+ Footnotes -+$" search-forward 0 search-backward "\\* +" "\\* +\\([^:]*\\)::" Info-goto-node "\\* +\\(.*\\): " beginning-of-line 2 Info-extract-menu-node-name Info-index-node "Up: " "Up: \\([^,\n	]*\\)" "Next: " "Next: \\([^,\n	]*\\)" "File: " "File: \\([^,\n	]*\\)" "Top" "Prev: " "Prev: \\([^,\n	]*\\)"] 8 (#$ . 106434)])
#@44 Follow a link where you click.

(fn CLICK)
(defalias 'Info-mouse-follow-link #[257 "\300!\211\205\n\301!\211\203\302A\303@#\202\304\305!\303\"\211;\203)\306!\202F\211\307\267\202>\310 \202F\311 \202F\312 \202F\211;\205F\306!\207" [event-start posn-string get-text-property link-args get-char-property posn-point Info-goto-node #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (prev 47 next 52 up 57)) Info-prev Info-next Info-up] 7 (#$ . 107881) "@e"])
#@34 Keymap containing Info commands.
(defvar Info-mode-map (byte-code "\300 \301!\210\302\303\304#\210\302\305\306#\210\302\307\310#\210\302\311\312#\210\302\313\314#\210\302\315\316#\210\302\317\316#\210\302\320\321#\210\302\322\321#\210\302\323\321#\210\302\324\321#\210\302\325\321#\210\302\326\321#\210\302\327\321#\210\302\330\321#\210\302\331\321#\210\302\332\333#\210\302\334\335#\210\302\336\337#\210\302\340\341#\210\302\342\343#\210\302\344\345#\210\302\346\304#\210\347\304\350\346#\210\302\351\352#\210\302\353\354#\210\302\355\356#\210\302\357\360#\210\302\361\362#\210\302\363\364#\210\302\365\366#\210\302\367\370#\210\302\371\372#\210\302\373\374#\210\302\375\376#\210\302\377\201@#\210\302\201A\201B#\210\302\201C\201D#\210\302\201E\201F#\210\302\201G\201H#\210\302\201I\201J#\210\302\201K\201L#\210\302\201M\343#\210\302\201N\201O#\210\302\201P\201Q#\210\302\201R\201S#\210\302\201T\201S#\210\302\201U\201Q#\210\302\201V\201W#\210\302\201X\310#\210\302\201Y\201Z#\210\302\201[\201\\#\210\302\201]\372#\210\302\201^\201F#\210\302\201_\201`#\210\302\201a\201b#\210\211\207" [make-keymap suppress-keymap define-key "." beginning-of-buffer " " Info-scroll-up [33554464] Info-scroll-down "
" Info-follow-nearest-node "	" Info-next-reference "	" Info-prev-reference [backtab] "1" Info-nth-menu-item "2" "3" "4" "5" "6" "7" "8" "9" "0" undefined "?" Info-summary "]" Info-forward-node "[" Info-backward-node "<" Info-top-node ">" Info-final-node "b" put :advertised-binding "d" Info-directory "e" end-of-buffer "f" Info-follow-reference "g" Info-goto-node "h" Info-help "H" describe-mode "i" Info-index "I" Info-virtual-index "l" Info-history-back "L" Info-history "m" Info-menu "n" Info-next "p" Info-prev "q" quit-window "r" Info-history-forward "s" Info-search "S" Info-search-case-sensitively "\356" clone-buffer "t" "T" Info-toc "u" Info-up "w" Info-copy-current-node-name "c" "^" "," Info-index-next "" [mouse-2] Info-mouse-follow-nearest-node [follow-link] mouse-face [XF86Back] [XF86Forward] [tool-bar C-Back\ in\ history] Info-history-back-menu [tool-bar C-Forward\ in\ history] Info-history-forward-menu] 5) (#$ . 108395))
#@53 Non-nil if ITEM is present in this node.

(fn ITEM)
(defalias 'Info-check-pointer #[257 "\3001	\301!0\207\210\302\207" [(error) Info-extract-pointer nil] 3 (#$ . 110637)])
#@22 Menu for Info files.
(defvar Info-mode-menu nil (#$ . 110817))
(easy-menu-do-define 'Info-mode-menu Info-mode-map "Menu for Info files." '("Info" ["Up" Info-up :active (Info-check-pointer "up") :help "Go up in the Info tree"] ["Next" Info-next :active (Info-check-pointer "next") :help "Go to the next node"] ["Previous" Info-prev :active (Info-check-pointer "prev[ious]*") :help "Go to the previous node"] ["Backward" Info-backward-node :help "Go backward one node, considering all as a sequence"] ["Forward" Info-forward-node :help "Go forward one node, considering all as a sequence"] ["Beginning" beginning-of-buffer :help "Go to beginning of this node"] ["Top" Info-top-node :help "Go to top node of file"] ["Final Node" Info-final-node :help "Go to final node in this file"] ("Menu Item" ["You should never see this" report-emacs-bug t]) ("Reference" ["You should never see this" report-emacs-bug t]) ["Search..." Info-search :help "Search for regular expression in this Info file"] ["Search Next" Info-search-next :help "Search for another occurrence of regular expression"] ["Go to Node..." Info-goto-node :help "Go to a named node"] ["Back in history" Info-history-back :active Info-history :help "Go back in history to the last node you were at"] ["Forward in history" Info-history-forward :active Info-history-forward :help "Go forward in history"] ["History" Info-history :active Info-history-list :help "Go to menu of visited nodes"] ["Table of Contents" Info-toc :help "Go to table of contents"] ("Index" ["Lookup a String..." Info-index :help "Look for a string in the index items"] ["Next Matching Item" Info-index-next :active Info-index-alternatives :help "Look for another occurrence of previous item"] ["Lookup a string and display index of results..." Info-virtual-index :help "Look for a string in the index items and display node with results"] ["Lookup a string in all indices..." info-apropos :help "Look for a string in the indices of all manuals"]) ["Copy Node Name" Info-copy-current-node-name :help "Copy the name of the current node into the kill ring"] ["Clone Info buffer" clone-buffer :help "Create a twin copy of the current Info buffer."] ["Exit" quit-window :help "Stop reading Info"]))
(defvar info-tool-bar-map (byte-code "\302 \303\304\305\306\307\310\311\312\313&\n\210\303\314\307\306\305\310\315\312\313&\n\210\316\317	#\210\303\320\321\306\322&\210\303\323\322\306\321&\210\303\324\325\312\313&\210\316\326	#\210\303\327\330\312\313&\210\303\331\332$\210\316\333	#\210\303\334\335\310\336&\210\303\337\340\312\313&\210\303\341\342\312\313&\210\211\207" [Info-mode-map menu-bar-separator make-sparse-keymap tool-bar-local-item-from-menu Info-history-back "left-arrow" :rtl "right-arrow" :label "Back" :vert-only t Info-history-forward "Forward" define-key-after [separator-1] Info-prev "prev-node" "next-node" Info-next Info-up "up-node" [separator-2] Info-top-node "home" Info-goto-node "jump-to" [separator-3] Info-index "index" "Index" Info-search "search" quit-window "exit"] 12))
#@31 

(fn E NAME HISTORY COMMAND)
(defalias 'Info-history-menu #[1028 "GC\300!\301\302\303\304\305\306#\307\"\310\311%\312!\"\210\313\"\211\205.\314\306@!\"\211\2055\315!\266\202\207" [make-sparse-keymap mapc make-byte-code 257 "\211@A@;\203\303\304!!\262\305\302\306\307\310\311\301\242\"!!\312\310\313#\314\315\316\317\320\301\242D\321\322\300DDEFE#\266\301\211\242S\240\207" vconcat vector [file-name-sans-extension file-name-nondirectory define-key vector intern format "history-%i" menu-item "(%s) %s" lambda nil (interactive) dotimes _ call-interactively quote] 16 "\n\n(fn HISTORY)" reverse x-popup-menu lookup-key call-interactively] 15 (#$ . 113880)])
#@71 Pop up the menu with a list of previously visited Info nodes.

(fn E)
(defalias 'Info-history-back-menu #[257 "\301\302\303$\207" [Info-history Info-history-menu "Back in history" Info-history-back] 6 (#$ . 114572) "e"])
#@89 Pop up the menu with a list of Info nodes visited with ‘Info-history-back’.

(fn E)
(defalias 'Info-history-forward-menu #[257 "\301\302\300$\207" [Info-history-forward Info-history-menu "Forward in history"] 6 (#$ . 114801) "e"])
(defvar Info-menu-last-node nil)
#@44 Update the Info menu for the current node.
(defalias 'Info-menu-update #[0 "\3051\306\307!?\206	D\n\232?\205p\3101#\311\312\313\314#0\202%\210\313\237\313\211\315\203R\211\316W\203R@\262A\262\211T\262\317\320D\321\322\323\"$B\262\202)\203[\324B\262\204e\325\313\326E\262\327\330\331\237#\210)\266\313\211\211\211\211\315\314\212eb\210\332\333\313\314#\203\270\334\335!\262\315\262\336\337#\211\262\203\257\340\315#\341\340\315\225\"Q\262T\262\202\213B\262\202{)\203\340\211\316W\203\340@\262A\262\211T\262\342\317\343D\344BB\"B\262\202\271\203\351\345B\262\204\363\346\313\326E\262\327\347\350\237#\210)\266	D\2110\207\210\351 \207" [Info-current-file Info-current-node Info-menu-last-node Info-complete-menu-buffer case-fold-search (error) derived-mode-p Info-mode (error) Info-complete-menu-item "" nil t 0 9 vector Info-menu :keys format "%d" ["Other..." Info-menu t] ["No menu" nil nil] :active easy-menu-change ("Info") "Menu Item" re-search-forward "\\*note[ \n	]+\\([^:]*\\):" match-string 1 string-match "[ \n	]+" substring " " apply Info-follow-reference (t) ["Other..." Info-follow-reference t] ["No references" nil nil] ("Info") "Reference" ding] 11 (#$ . 115077)])
#@222 Put the name of the current Info node into the kill ring.
The name of the Info file is prepended to the node name in parentheses.
With a zero prefix arg, put the name inside a function call to `info'.

(fn &optional ARG)
(defalias 'Info-copy-current-node-name #[256 "\204\302\303!\210	;\205\304\305\306	!!\307R\310!\311U\203$\312\313Q\262	;\2040\314\315	#\262\316!\210\317\320\"\207" [Info-current-node Info-current-file user-error "No current Info node" "(" file-name-sans-extension file-name-nondirectory ") " prefix-numeric-value 0 "(info \"" "\")" format "(Info-find-node '%S '%S)" kill-new message "%s"] 6 (#$ . 116343) "P"])
(byte-code "\300\301\302\303#\210\300\301\304\305#\207" [put Info-mode mode-class special no-clone-indirect t] 4)
#@35 Syntax table used in `Info-mode'.
(defvar Info-mode-syntax-table (byte-code "\301!\302\303\304#\210\211\207" [text-mode-syntax-table copy-syntax-table modify-syntax-entry 39 "."] 5) (#$ . 117109))
(custom-declare-face 'Info-quoted '((t :inherit fixed-pitch-serif)) "Face used for quoted elements.")
(defvar Info-mode-font-lock-keywords '(("‘\\([‘’]\\|[^‘’]*\\)’" (1 'Info-quoted))))
#@178 A list of Unicode symbols used in Info files and their ASCII translations.
Each element should be a cons cell with its car a character and its cdr
a string of ASCII characters.
(defvar info-symbols-and-replacements '((8216 . "`") (8217 . "'") (8220 . "\"") (8221 . "\"") (169 . "(C)") (12299 . ">>") (8594 . "->") (8658 . "=>") (8867 . "-|") (9733 . "-!-") (8614 . "==>") (8208 . "-") (8209 . "-") (8210 . "-") (8211 . "-") (8212 . "--") (8722 . "-") (8230 . "...") (8226 . "*")) (#$ . 117513))
(defvar Info-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [Info-mode-hook variable-documentation put "Hook run after entering Info mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp Info-mode-map definition-name Info-mode] 4)
(defvar Info-mode-map (make-sparse-keymap))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [Info-mode-map variable-documentation put purecopy "Keymap for `Info-mode'." Info-mode derived-mode-parent nil] 5)
#@3691 Info mode provides commands for browsing through the Info documentation tree.
Documentation in Info is divided into "nodes", each of which discusses
one topic and contains references to other nodes which discuss related
topics.  Info has commands to follow the references and show you other nodes.

\<Info-mode-map>\[Info-help]	Invoke the Info tutorial.
\[quit-window]	Quit Info: reselect previously selected buffer.

Selecting other nodes:
\[Info-mouse-follow-nearest-node]
	Follow a node reference you click on.
	  This works with menu items, cross references, and
	  the "next", "previous" and "up", depending on where you click.
\[Info-follow-nearest-node]	Follow a node reference near point, like \[Info-mouse-follow-nearest-node].
\[Info-next]	Move to the "next" node of this node.
\[Info-prev]	Move to the "previous" node of this node.
\[Info-up]	Move "up" from this node.
\[Info-menu]	Pick menu item specified by name (or abbreviation).
	  Picking a menu item causes another node to be selected.
\[Info-directory]	Go to the Info directory node.
\[Info-top-node]	Go to the Top node of this file.
\[Info-final-node]	Go to the final node in this file.
\[Info-backward-node]	Go backward one node, considering all nodes as forming one sequence.
\[Info-forward-node]	Go forward one node, considering all nodes as forming one sequence.
\[Info-next-reference]	Move cursor to next cross-reference or menu item.
\[Info-prev-reference]	Move cursor to previous cross-reference or menu item.
\[Info-follow-reference]	Follow a cross reference.  Reads name of reference.
\[Info-history-back]	Move back in history to the last node you were at.
\[Info-history-forward]	Move forward in history to the node you returned from after using \[Info-history-back].
\[Info-history]	Go to menu of visited nodes.
\[Info-toc]	Go to table of contents of the current Info file.

Moving within a node:
\[Info-scroll-up]	Normally, scroll forward a full screen.
	  Once you scroll far enough in a node that its menu appears on the
	  screen but after point, the next scroll moves into its first
	  subnode.  When after all menu items (or if there is no menu),
	  move up to the parent node.
\[Info-scroll-down]	Normally, scroll backward.  If the beginning of the buffer is
	  already visible, try to go to the previous menu entry, or up
	  if there is none.
\[beginning-of-buffer]	Go to beginning of node.

Advanced commands:
\[Info-search]	Search through this Info file for specified regexp,
	  and select the node in which the next occurrence is found.
\[Info-search-case-sensitively]	Search through this Info file for specified regexp case-sensitively.
\[isearch-forward], \[isearch-forward-regexp]	Use Isearch to search through multiple Info nodes.
\[Info-index]	Search for a topic in this manual's Index and go to index entry.
\[Info-index-next]	(comma) Move to the next match from a previous \<Info-mode-map>\[Info-index] command.
\[Info-virtual-index]	Look for a string and display the index node with results.
\[info-apropos]	Look for a string in the indices of all manuals.
\[Info-goto-node]	Move to node specified by name.
	  You may include a filename as well, as (FILENAME)NODENAME.
1 .. 9	Pick first ... ninth item in node's menu.
	  Every third `*' is highlighted to help pick the right number.
\[Info-copy-current-node-name]	Put name of current Info node in the kill ring.
\[clone-buffer]	Select a new cloned Info buffer in another window.
\[universal-argument] \[info]	Move to new Info file with completion.
\[universal-argument] N \[info]	Select Info buffer with prefix number in the name *info*<N>.

This mode runs the hook `Info-mode-hook', as the final or penultimate step
during initialization.
(defalias 'Info-mode #[0 "\306\300!\210\307\310 \210\311\312\313!\210\314\f!\210
>\315?\316\317\320\321\307$\210\307\211@A\322 B\323 \204j\324\325\326 !\327\"\204jC\211\203i\211@\211@A\330!\204`D\206W\331 \211D\332\333\334\"!I\210\266A\266\202\202=\210E\203r\335F\306\336!\210G\306\337!\210\307\306\340!\210\341 \306\342!\210\321\"\316\343\344\321\307$\210\316\345\346\321\307$\210\316\347\350\321\307$\210\316\351\352\321\307$\210H\203\267\316\353\354\321\307$\210\306\355!\210\356-\306\357!\210\360/\306\361!\210\3621\306\363!\210\3643\306\365!\210\3665\306\367!\210\3707\371 \210\306\372!\210\373:)\374\375!\207" [delay-mode-hooks major-mode mode-name Info-mode-map Info-mode-syntax-table text-mode-abbrev-table make-local-variable t kill-all-local-variables Info-mode "Info" use-local-map set-syntax-table 8 add-hook activate-menubar-hook Info-menu-update nil make-marker display-multi-font-p coding-system-equal coding-system-base terminal-coding-system utf-8 char-displayable-p make-display-table vconcat mapcar #[257 "\300\301\"\207" [make-glyph-code homoglyph] 4 "\n\n(fn C)"] (:eval (get-text-property (point-min) 'header-line)) tool-bar-map line-move-ignore-invisible desktop-save-buffer Info-desktop-buffer-misc-data widen-automatically kill-buffer-hook Info-kill-buffer clone-buffer-hook Info-clone-buffer change-major-mode-hook font-lock-defontify isearch-mode-hook Info-isearch-start quit-window-hook save-buffers-kill-emacs isearch-search-fun-function Info-isearch-search isearch-wrap-function Info-isearch-wrap isearch-push-state-function Info-isearch-push-state isearch-filter-predicate Info-isearch-filter revert-buffer-function Info-revert-buffer-function font-lock-defaults (Info-mode-font-lock-keywords t t) Info-set-mode-line bookmark-make-record-function Info-bookmark-make-record run-mode-hooks Info-mode-hook local-abbrev-table tab-width case-fold-search buffer-read-only Info-tag-table-marker info-symbols-and-replacements buffer-display-table Info-use-header-line header-line-format info-tool-bar-map Info-standalone] 11 (#$ . 118632) nil])
(defalias 'Info-kill-buffer #[0 "\301\302!\205
\205
\303!\207" [Info-tag-table-buffer derived-mode-p Info-mode kill-buffer] 2])
(defalias 'Info-clone-buffer #[0 "\302!\203rq\210\303 )	\304!\2052\305!\203.\302!\203.rq\210\306\305!!)\2020\307 \211\207" [Info-tag-table-buffer Info-tag-table-marker bufferp clone-buffer markerp marker-position copy-marker make-marker] 4])
#@259 List of Info files that describe Emacs commands.
An element can be a file name, or a list of the form (PREFIX . FILE)
where PREFIX is a name prefix and FILE is the file to look in.
If the element is just a file name, the file name also serves as the prefix.
(defvar Info-file-list-for-emacs '("ediff" "eudc" "forms" "gnus" "info" ("Info" . "info") ("mh" . "mh-e") "sc" "message" ("dired" . "dired-x") "viper" "vip" "idlwave" ("c" . "ccmode") ("c++" . "ccmode") ("objc" . "ccmode") ("java" . "ccmode") ("idl" . "ccmode") ("pike" . "ccmode") ("skeleton" . "autotype") ("auto-insert" . "autotype") ("copyright" . "autotype") ("executable" . "autotype") ("time-stamp" . "autotype") ("quickurl" . "autotype") ("tempo" . "autotype") ("hippie-expand" . "autotype") ("cvs" . "pcl-cvs") ("ada" . "ada-mode") "calc" ("calcAlg" . "calc") ("calcDigit" . "calc") ("calcVar" . "calc") "ebrowse" "eshell" "cl" "reftex" "speedbar" "widget" "woman" ("mail-header" . "emacs-mime") ("mail-content" . "emacs-mime") ("mail-encode" . "emacs-mime") ("mail-decode" . "emacs-mime") ("rfc2045" . "emacs-mime") ("rfc2231" . "emacs-mime") ("rfc2047" . "emacs-mime") ("rfc2045" . "emacs-mime") ("rfc1843" . "emacs-mime") ("ietf-drums" . "emacs-mime") ("quoted-printable" . "emacs-mime") ("binhex" . "emacs-mime") ("uudecode" . "emacs-mime") ("mailcap" . "emacs-mime") ("mm" . "emacs-mime") ("mml" . "emacs-mime") "tramp" "dbus") (#$ . 124830))
#@535 Return a list of locations documenting COMMAND.
The `info-file' property of COMMAND says which Info manual to search.
If COMMAND has no property, the variable `Info-file-list-for-emacs'
defines heuristics for which Info manual to try.
The locations are of the format used in the variable `Info-history', i.e.
(FILENAME NODENAME BUFFERPOS), where BUFFERPOS is the line number
in the first element of the returned list (which is treated specially in
`Info-goto-emacs-command-node'), and 0 for the rest elements of a list.

(fn COMMAND)
(defalias 'Info-find-emacs-command-nodes #[257 "\305\211\306\307\310!!\311Q\312\313N\203\313N\262\202Y\211\203X\211@\211:\203*\211@\202+\211:\2035A\2026\305\314\307!\315Q\316\310\f!\"\203N\262\305\262A\262)\266\202\210\317\320\"\210\305\211\211\321 \322@!\210eb\210\323\305\324#\203\222\f\325\326!\327EB\262\330\224\205\215\331\332\330!!\262\202o\211A\262\211@\211\262\203\245\322!\210\202l*\266\203\277\203\277@@@A@EAB\202\300\207" [Info-file-list-for-emacs case-fold-search Info-history-list Info-history Info-current-file nil "^\\* +" regexp-quote symbol-name "\\( <[0-9]+>\\)?:\\s *\\(.*\\)\\.\\(?:[ 	\n]+(line +\\([0-9]+\\))\\)?" "emacs" info-file "\\`" "\\(\\'\\|-\\)" string-match Info-find-node "Top" Info-index-nodes Info-goto-node re-search-forward t match-string-no-properties 2 0 3 string-to-number match-string] 14 (#$ . 126252)])
#@279 Go to the Info node in the Emacs manual for command COMMAND.
The command is found by looking up in Emacs manual's indices
or in another manual found via COMMAND's `info-file' property or
the variable `Info-file-list-for-emacs'.
COMMAND must be a symbol or string.

(fn COMMAND)
(defalias 'Info-goto-emacs-command-node #[257 "\211;\203\n\302!\262\303!\204\304\305\303D\"\210\306!\211\203\222\211G\307 \310\311\312\313\314!\315\"\316$\216\317 \210)\210\320\321!\204=\322\323!\210\324\211\316@8\325@@@A@\"\210\211\250\203a\211\311V\203a\211Sy\210*\266\211\326V\205\215A	\244\327\330S\316V\203}\331\202~\332\333\334!\316V\203\213\335\202\214\336%\262\202\226\337\340\"\207" [Info-history-list Info-history intern commandp signal wrong-type-argument Info-find-emacs-command-nodes current-window-configuration make-byte-code 0 "\301\300!\207" vconcat vector [set-window-configuration] 2 info derived-mode-p Info-mode pop-to-buffer "*info*" nil Info-find-node 1 message "Found %d other entr%s.  Use %s to see %s." "ies" "y" substitute-command-keys "\\[Info-history-back]" "them" "it" error "Couldn't find documentation for %s"] 10 (#$ . 127697) "CFind documentation for command: "])
#@352 Go to the node in the Emacs manual which describes the command bound to KEY.
KEY is a string.
Interactively, if the binding is `execute-extended-command', a command is read.
The command is found by looking up in Emacs manual's indices
or in another manual found via COMMAND's `info-file' property or
the variable `Info-file-list-for-emacs'.

(fn KEY)
(defalias 'Info-goto-emacs-key-command-node #[257 "\300!\211\204\301\302\303!\"\202'\304\305!\203$\211\306=\203$\307\310\311!!\202'\307!\207" [key-binding message "%s is undefined" key-description called-interactively-p interactive execute-extended-command Info-goto-emacs-command-node read-command "Find documentation for command: "] 6 (#$ . 128915) "kFind documentation for key: "])
#@142 Keymap to put on Info links.
This is used for the "Next", "Prev", and "Up" links in the
first line or header line, and for breadcrumb links.
(defvar Info-link-keymap (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\307#\210\301\311\312#\210\211\207" [make-sparse-keymap define-key [header-line down-mouse-1] mouse-drag-header-line [header-line mouse-1] mouse-select-window [header-line mouse-2] Info-mouse-follow-link [mouse-2] [follow-link] mouse-face] 5) (#$ . 129667))
(defalias 'Info-breadcrumbs #[0 "\305!	\306\n\306\307\232\204,\310V\203,\311\"A@\262\203%B\262S\262\202\2035	C\244\210\204=\203\270\307\211A\262\242\312\235\203M\202P\306BB\262\313y\210\211\203\262\211@\211\307\232\204g\211\202x\314\315;\203v\316\317!!\202w\"\211\204\201\320\202\202\321\204\212\322\202\247	\232\203\230\323\324\325#\202\247\323\326\327\324\330\331\332\333\f\334
&Q\262\210A\266\202\202W\210\211\335P\262\207" [Info-current-file Info-current-node Info-breadcrumbs-depth Info-use-header-line Info-link-keymap Info-toc-nodes nil "Top" 0 assoc (nil "Top") 1 format "(%s)Top" file-name-sans-extension file-name-nondirectory "" " > " "..." propertize font-lock-face info-header-node mouse-face highlight info-header-xref help-echo "mouse-2: Go to node" keymap link-args "\n"] 22])
#@19 Fontify the node.
(defalias 'Info-fontify-node #[0 "\212\306\211\307\310e\311\"\211\205\211dU?\262?\n\205(\205(\306=\206(deZW\307\211eb\210\203 \312\313!\203 \314\225b\210\312\315!\203\220\314\225b\210\316\224\316\225\317\224\320\317!\211\227\321\230\203_\322\311\323$\210\202\213\322\311\324$\210\322\325\326$\210\322\327\330{P$\210\322\331\f$\210\322\332\333\227!$\210\266\202;
\203 eb\210\334 \335\336\306#\203\253\317\224b\210`{\202\276\335\337\306#\203\273\340`{P\202\276`{\322eeT\341\342\343\344#$\210@\314V\203\350\345eT\"\346\347\350 #\210\346\351\306#\266\202o\204\352\307x\210\322`\353\306$\210\354 \210\335\355\356A;\203\f\357\360A!!\202A\"\306#\203\322\317\224\317\225\353\306$\210\266eb\210B\203}\203}\335\361\307\306#\203}\362\320\317!!\362\320\316!!U\203,h\211\363U\203M\364\202b\211\365U\203W\366\202b\211\367U\203a\370\202b\371\322\317\224\317\225\311$\266\372 \203,\373\316\224S\316\225\374#\210\202,eb\210\204\210\203\371\335\375\307\306#\203\371\314\224`\307\203C\203\312C\376=\204x\377 \201MV\203xb\210\201N\201O!\210`Sf\201P>\203\313\201N\201Q!\210\201R \201S\314\201T\201U\201V!\201W\"\201X$\216\201Y\201Z`\201XZ\")\262\203\377\201[\202v\201R \201S\314\201T\201U\201V!\201\\\"\201X$\216\201Y\201]`\316Z\")\262\2031\201[\202v`Sf\201^>\203A\201_\202v\201R \201S\314\201T\201U\201V!\201`\"\201X$\216\212\201a\201b\306#*\262\203s\201_\202v\201c\262b\210\373\317\224\201R \201S\314\201T\201U\201V!\201d\"\201X$\216\317\224\201e\201f\320\317!\"\205\255\211\314\224\\\262)\262\206\267\317\225\203\305\347\201gBB\202\310\201h#\210\373\316\224\316\225\327\201i\225\204\343\320\201M!\201[\232\204\367\201j\320\201i!\206\363\320\201M!P\202\372\201k\325\201lF#\210\204\n\2030\316\224\262\316\225\262\322\311\n\203\355\201R \201S\314\201T\201U\201V!\201m\"\201X$\216\342\201n\201[\342\201o\201O\201p\201i!\206i\320\201M!\201[\232\204d\201p\201M!\206i\201p\316!##\201e\201q\"\211\203\202\360\201p\317\"!\202\204AD\307\203\246\320\316\"\201[\232\203\235\201r\202\244\201p\316\"\262\203\337@A@\230\203\330\203\307@@;\203\307\360@@!\202\312@@\232\203\330@\262\307\262\202\246A\262\202\246\266\204)\262\203\355\201s\202\360\201t$\210\212b\210\201R \201S\314\201T\201U\201V!\201u\"\201X$\216\335\201v\306\307$\203-\201w\314\224\314\225\201x#\210\202)\210)\203\364C\201y>\203\336\373\201X\224\201X\225\201z#\210\320\201{!\203kC\376=\204k\201w\201{\224\201{\225\201|#\210\201R \201S\314\201T\201U\201V!\201}\"\201X$\216\201X\224\201X\225\201e\201~\320\201X!\"\203\332\201R \201S\314\201T\201U\201V!\201\"\201X$\216\212Tb\210\312\201\200!*\262\204\332\201w\314\224\\\314\225\\\201\201#\210\266)\210E\203\364C\203\364\201\202 \307\223B\262\266\202\210\203TE\203T\203T\306\307\201\203\201\204\307FGHIJdb\210\211\203R\211@\211`W\203F\211b\210\354 \210`\201\205 \314U\203E\201\206`\307\211$\210\211b\210\210\211\307\211\223\210A\266\202\202\210-eb\210\204_\203f\201a\201\207\307\306#\203f\203f\306=\204}d`ZW\203f\314\307\335\201\210K\201\211L\201\212\260\307\306#\203d\317\224\203\203\300T\262\201\213X\203\300\201X\246\314U\203\300\322\314\224\314\224T\311\201\214$\210\203\363\373\317\224\317\225\327\201X\225\203\351\320\201X!\201[\232\204\351\201j\320\201X!P\202\354\201k\325\201lF#\210\204\373\203\303\322\317\224\317\225\311\n\203\276\201R \201S\314\201T\201U\201V!\201\215\"\201X$\216\320\201X!\201[\232\2035\201p\317!\202<\201p\201X!\201e\201q\"\211\203S\360\201p\317\"!\202UAD\307\203w\320\316\"\201[\232\203n\201r\202u\201p\316\"\262\203\260@A@\230\203\251\203\230@@;\203\230\360@@!\202\233@@\232\203\251@\262\307\262\202wA\262\202w\266\204)\262\203\276\201s\202\301\201t$\210\203C\201\216>\203\201\217 \204\322\316\224\201{\225S\353\306$\210\201M\225\203\201M\225f\201\220=\204\201w\201M\224\201M\225\201\221#\210\322\201{\225S\201{\225\347\201\222\317\225\314\224ZY\203#\201\223\202&\201\224$\210\312\201\225!\262\317y\314U\203\312\201\226!\203\322\317\224\317\225S\353\306$\210\322\317\225S\317\225\347\203Y\201\227\202\\\201\230$\210\306\262\202/\266eb\210\203\232\335\201\231\307\306#\203\232\322\314\224\314\225\311\201\232$\210\335\201\233\307\306#\203\232\322\317\224\317\225\311\201\232$\210\202\202eb\210\203\276\201\217 \203\276\335\201\234\307\306#\203\276\322\314\224\314\225\353\306$\210\202\250eb\210\203\334\335\201\235\307\306#\203\334\373\314\224\314\225\201\236#\210\202\305eb\210\203L\335\201\237\307\306#\203L`\314\335\201\240\307\306#\203\211T\262\202\357eb\210\335\201\241\307\306#\203J\201\242\320\316!!\211\314V\203F\211X\203F\373\314\224\314\225\311\201t\201\243\306\325\201l\327`
W\203?\201\244\202B\201\245\257#\210\210\202\266db\210\201f\307x\210`dSW\203d\322`dS\353\306$\210\201\246\307!*\266\205)\207" [inhibit-read-only case-fold-search Info-fontify-visited-nodes Info-fontify-maximum-menu-size Info-link-keymap Info-use-header-line t nil next-single-property-change font-lock-face looking-at "^\\(File: [^,: 	]+,?[ 	]+\\)?" 0 "[ 	]*\\([^:, 	\n]+\\):[ 	]+\\([^:,	\n]+\\),?" 2 1 match-string "node" put-text-property info-header-node info-header-xref mouse-face header-line-highlight help-echo "mouse-2: Go to node " keymap link-args intern line-end-position re-search-forward "\\(next\\|up\\|prev[ious]*\\): " "node:[ 	]*[^ 	]+[ 	]*" "No next, prev or up links  --  " header-line replace-regexp-in-string "%" #[257 "\211P\207" [] 3 "\n\n(fn S)"] make-overlay overlay-put display Info-breadcrumbs evaporate " 	," invisible beginning-of-line format "File: %s\\([^,\n	]+\\)," file-name-sans-extension file-name-nondirectory "\n\\([^ 	\n].+\\)\n\\(\\*\\*+\\|==+\\|--+\\|\\.\\.+\\)$" string-width 42 info-title-1 61 info-title-2 45 info-title-3 info-title-4 display-multi-font-p add-text-properties (invisible t front-sticky nil rear-nonsticky t) "\\(\\*Note[ \n	]+\\)\\([^:]*\\)\\(:[ 	]*\\([^.,:(]*\\)\\(\\(([^)]*)\\)[^.,:]*\\)?[,:]?\n?\\)" hide line-number-at-pos Info-breadcrumbs-depth Info-current-file font-lock-mode Info-hide-note-references Info-history-list Info-refill-paragraphs adaptive-fill-mode paragraph-separate paragraph-start fill-individual-varying-indent fill-nobreak-invisible Info-menu-entry-name-re Info-node-spec-re 4 skip-syntax-backward " " (40 91 123) " (" match-data make-byte-code "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 looking-back "\\<see" "" [set-match-data evaporate] "\\<in" (nil 46 33 63) "See " [set-match-data evaporate] search-forward "\n\n" "see " [set-match-data evaporate] string-match "\n" (front-sticky nil rear-nonsticky t) (invisible t front-sticky nil rear-nonsticky t) 5 "mouse-2: go to " "mouse-2: go to this node" highlight [set-match-data evaporate] "^[ 	]+" "[ 	\n]+" match-string-no-properties "(\\([^)]+\\))\\([^)]*\\)" "Top" info-xref-visited info-xref [set-match-data evaporate] "\\s-*\n\\s-*" remove-text-properties (font-lock-face t) (t hide) (invisible t front-sticky nil rear-nonsticky t) 6 (invisible t front-sticky nil rear-nonsticky t) [set-match-data evaporate] "\n[ 	]*" [set-match-data evaporate] "[.)]*$" (invisible t front-sticky nil rear-nonsticky t) make-marker "\f\\|[ 	]*[-*]\\|[ 	]*$" ".*\\.[ 	]*\n[ 	]\\|[ 	]*[-*]\\|[ 	\f]*$" forward-paragraph fill-individual-paragraphs "\n* Menu:" "^\\* Menu:\\|\\(?:^\\* +\\(" "\\)\\(:" "\\([ 	]*\\)\\)\\)" 9 info-menu-star [set-match-data evaporate] (t hide) Info-index-node 46 (invisible t) 22 (space :align-to 24) (space :width 2) "." "\\([ 	]+\\)[^*\n]" (space :align-to 26) (space :align-to 24) "^\\* Menu:" info-menu-header "\n\n\\([^*\n ].*\\)\n\n?[*]" "[ 	\n]*(line +[0-9]+)" "\\(https?\\|ftp\\)://[^ 	\n\"`‘({<>})’']+" (font-lock-face info-xref mouse-face highlight help-echo "mouse-2: go to this URL") "^[ 	]*-+ Footnotes -+$" "^ [ 	]*([0-9]+) " "\\((\\([0-9]+\\))\\)" string-to-number link "mouse-2: go to footnote definition" "mouse-2: go to footnote reference" set-buffer-modified-p] 22 (#$ . 131029)])
#@44 Keymap used when in the Info display mode.
(defvar Info-speedbar-key-map nil (#$ . 139401))
#@59 Install those variables used by speedbar to enhance Info.
(defalias 'Info-install-speedbar-variables #[0 "\204\301 \302\303\304#\210\302\305\304#\210\302\306\307#\210\302\310\311#\210\312\313!\207" [Info-speedbar-key-map speedbar-make-specialized-keymap define-key "e" speedbar-edit-line "
" "+" speedbar-expand-line "-" speedbar-contract-line speedbar-add-expansion-list ("Info" Info-speedbar-menu-items Info-speedbar-key-map Info-speedbar-hierarchy-buttons)] 4 (#$ . 139499)])
#@49 Additional menu-items to add to speedbar frame.
(defvar Info-speedbar-menu-items '(["Browse Node" speedbar-edit-line t] ["Expand Node" speedbar-expand-line (save-excursion (beginning-of-line) (looking-at "[0-9]+: *.\\+. "))] ["Contract Node" speedbar-contract-line (save-excursion (beginning-of-line) (looking-at "[0-9]+: *.-. "))]) (#$ . 139992))
(byte-code "\300\301!\203\f\302 \210\202\303\304\302\"\210\300\207" [featurep speedbar Info-install-speedbar-variables add-hook speedbar-load-hook] 3)
#@99 Initialize speedbar to display an Info node browser.
This will add a speedbar major display mode.
(defalias 'Info-speedbar-browser #[0 "\300\301!\210\302\303!\210\304\305!\207" [require speedbar speedbar-frame-mode 1 speedbar-change-initial-expansion-list "Info"] 2 (#$ . 140500) nil])
#@269 Display an Info directory hierarchy in speedbar.
DIRECTORY is the current directory in the attached frame.
DEPTH is the current indentation depth.
NODE is an optional argument that is used to represent the
specific node to expand.

(fn DIRECTORY DEPTH &optional NODE)
(defalias 'Info-speedbar-hierarchy-buttons #[770 "\211?\205\212eb\210\302\303\304!*?\205p\211\204\302\305c\210)\306\307\310\311\312\"!\210\313 \314\315\316\317\320!\321\"\322$\216\323\2069\324!\262)\210\325\310\311\312\"!\210\211\205n\302\211\211\203k\211@\326\327\330\331A@\332A\333
&	\210A\266\202\202L\210)\302\262\207" [case-fold-search inhibit-read-only t looking-at "Info Nodes:" "Info Nodes:\n" nil dframe-select-attached-frame dframe-current-frame speedbar-frame speedbar-mode current-window-configuration make-byte-code 0 "\301\300!\207" vconcat vector [set-window-configuration] 2 Info-speedbar-fetch-file-nodes "(dir)top" select-frame speedbar-make-tag-line bracket 43 Info-speedbar-expand-node Info-speedbar-goto-node info-xref] 16 (#$ . 140793)])
#@99 When user clicks on TEXT, go to an info NODE.
The INDENT level is ignored.

(fn TEXT NODE INDENT)
(defalias 'Info-speedbar-goto-node #[771 "\303\304\305\306\"!\210\307\310!\206\311 \210\307\310!\312\313\"\211\203(\314!\210\315\316!!\210\202>\2033\317!\210\202>\303\304\305\306\"!\210\320!\210\321\322\"\204L\323\324\"\202b\325\326\327\"\326\330\"\"\210	\331\230\205b\332\n!\207" [speedbar-power-click speedbar-initial-expansion-list-name speedbar-previously-used-expansion-list-name dframe-select-attached-frame dframe-current-frame speedbar-frame speedbar-mode get-buffer "*info*" info get-buffer-window 0 select-window raise-frame window-frame switch-to-buffer-other-frame switch-to-buffer string-match "^(\\([^)]+\\))\\([^.]+\\)$" error "Invalid node %s" Info-find-node match-string 1 2 "Info" speedbar-change-initial-expansion-list] 10 (#$ . 141849)])
#@214 Expand the node the user clicked on.
TEXT is the text of the button we clicked on, a + or - item.
TOKEN is data related to this node (NAME . FILE).
INDENT is the current indentation depth.

(fn TEXT TOKEN INDENT)
(defalias 'Info-speedbar-expand-node #[771 "\301\302\"\203,\303\304!\210\305\212\306\210\307u\210\310\306T#*\203%\303\304!\210\202B\303\311!\210\202B\301\312\"\203>\303\313!\210\314!\210\202B\315\316!\210\317 \207" [inhibit-read-only string-match "\\+" speedbar-change-expand-button-char 45 t nil 1 Info-speedbar-hierarchy-buttons 63 "-" 43 speedbar-delete-subblock error "Ooops... not sure what to do" speedbar-center-buffer-smartly] 7 (#$ . 142733)])
#@105 Fetch the subnodes from the info NODESPEC.
NODESPEC is a string of the form: (file)node.

(fn NODESPEC)
(defalias 'Info-speedbar-fetch-file-nodes #[257 "r\301\302!q\210\303\304!\204\304 \210\305\306\"\204\307\310\"\210\202)\311\312\313\"\312\314\"\"\210eb\210\315\316\305\317\"\210\312\313\"\320\321\315\316#\210\320\321\315\316#\203\312\313!\211\322\323!\203W\312\313!\202v\322\324!\203e\312\313!\325P\202v\326\327\322\330!\203t\312\313!\202uRBB\262\210\202?\237)\266\203)\207" [case-fold-search get-buffer-create " *info-browse-tmp*" derived-mode-p Info-mode string-match "^(\\([^)]+\\))\\([^.]+\\)$" error "Invalid node specification %s" Info-find-node match-string 1 2 nil t "^(\\([^)]+\\))" re-search-forward "\n\\* \\([^:	\n]*\\):" looking-at " *\\(([^)]+)[^.\n]+\\)\\." " *\\(([^)]+)\\)\\." "Top" "(" ")" " \\([^.]+\\)."] 11 (#$ . 143419)])
#@133 Create a speedbar display to help navigation in an Info file.
BUFFER is the buffer speedbar is requesting buttons for.

(fn BUFFER)
(defalias 'Info-speedbar-buttons #[257 "\212eb\210\301\302\303!*\204\304 \210\305\306\307\"\207" [case-fold-search t looking-at "Info Nodes:" erase-buffer Info-speedbar-hierarchy-buttons nil 0] 4 (#$ . 144301)])
#@74 Auxiliary information to be saved in desktop file.

(fn DESKTOP-DIRNAME)
(defalias 'Info-desktop-buffer-misc-data #[257 "	\303\304\n\205\305\nB\306\307	#\205\307\310BD\"E\207" [Info-current-file Info-current-node Info-history delq nil history Info-virtual-fun slow t] 10 (#$ . 144654)])
#@124 Restore an Info buffer specified in a desktop file.

(fn DESKTOP-BUFFER-FILE-NAME DESKTOP-BUFFER-NAME DESKTOP-BUFFER-MISC)
(defalias 'Info-restore-desktop-buffer #[771 "\211@A@\3018\302\236\303\236\211?\2056\2056\2056\203)\304!q\210\305 \210\306\"\210\2035Ap\207" [Info-history 2 history slow get-buffer-create Info-mode Info-find-node] 11 (#$ . 144954)])
(add-to-list 'desktop-buffer-mode-handlers '(Info-mode . Info-restore-desktop-buffer))
#@86 This implements the `bookmark-make-record-function' type (which see)
for Info nodes.
(defalias 'Info-bookmark-make-record #[0 ";\205\n\302\303!!\211\203\304\305	R\202	\306\307	E\"\310\311\312!\313B\314	B\315\316BF\"B\207" [Info-current-file Info-current-node file-name-sans-extension file-name-nondirectory "(" ") " delq nil append bookmark-make-record-default no-file filename info-node (handler . Info-bookmark-jump) defaults] 11 (#$ . 145423)])
#@132 This implements the `handler' function interface for the record
type returned by `Info-bookmark-make-record', which see.

(fn BMK)
(defalias 'Info-bookmark-jump #[257 "\300\301\"\300\302\"\303 \304\305\306\307\310!\311\"\312$\216\313\"\210p)\262\314\315\316B\317!BB!\207" [bookmark-prop-get filename info-node current-window-configuration make-byte-code 0 "\301\300!\207" vconcat vector [set-window-configuration] 2 Info-find-node bookmark-default-handler "" buffer bookmark-get-bookmark-record] 10 (#$ . 145892)])
#@293 Display an Info buffer displaying MANUAL.
If there is an existing Info buffer for MANUAL, display it.
Otherwise, visit the manual in a new Info buffer.  In interactive
use, a prefix argument directs this command to limit the
completion alternatives to currently visited manuals.

(fn MANUAL)
(defalias 'info-display-manual #[257 "\302 \303\304Q\305\306\211\2035\211@r\211q\210\307\310!\203-	;\203-\311	\"\203-\211\262\306\262)A\266\202\202\210\211\203\\\312\305\"\211\203T\313\314!!\210\315\314!!\210\316!\202W\317!\262\202h\320 \210\321\322!\323\324!\")\207" [case-fold-search Info-current-file buffer-list "\\(/\\|\\`\\)" "\\(\\.\\|\\'\\)" t nil derived-mode-p Info-mode string-match get-buffer-window raise-frame window-frame select-frame-set-input-focus select-window switch-to-buffer info-initialize info Info-find-file generate-new-buffer-name "*info*"] 10 (#$ . 146423) (byte-code "\301 \210\302\303\304!\305\306$C\207" [current-prefix-arg info-initialize completing-read "Manual name: " info--manual-names nil t] 5)])
#@21 

(fn VISITED-ONLY)
(defalias 'info--manual-names #[257 "\303\304 \211\2034\211@r\211q\210\305\306!\203,;\203,\307\310 \311\312#\313\230\204,\314\315!!B\262)A\266\202\202\210\316\317\237?\205I\320\321\322\323	\324\325\n\"#\"\"!\207" [Info-current-file Info-directory-list Info-suffix-list nil buffer-list derived-mode-p Info-mode substring buffer-name 0 1 " " file-name-sans-extension file-name-nondirectory delete-dups append all-completions "" apply-partially Info-read-node-name-2 mapcar car] 13 (#$ . 147482)])
(provide 'info)

Youez - 2016 - github.com/yon3zu
LinuXploit