....................................../////.===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/htmlfontify.elc
;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; with all optimizations.

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

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


(byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\207" [require faces custom font-lock cus-edit htmlfontify-loaddefs] 2)
(defconst htmlfontify-version 0.21)
#@57 The generator meta tag for this version of htmlfontify.
(defconst hfy-meta-tags (format "<meta name=\"generator\" content=\"emacs %s; htmlfontify %0.2f\" />" emacs-version htmlfontify-version) (#$ . 589))
#@1774 Copy and convert buffers and files to HTML, adding hyperlinks between files
(driven by etags) if requested.

Interactive functions:
  `htmlfontify-buffer'
  `htmlfontify-run-etags'
  `htmlfontify-copy-and-link-dir'
  `htmlfontify-load-rgb-file'
  `htmlfontify-unload-rgb-file'

In order to:

fontify a file you have open:           \[htmlfontify-buffer]
prepare the etags map for a directory:  \[htmlfontify-run-etags]
copy a directory, fontifying as you go: \[htmlfontify-copy-and-link-dir]

The following might be useful when running non-windowed or in batch mode:
(note that they shouldn't be necessary - we have a built in map)

load an X11 style rgb.txt file:         \[htmlfontify-load-rgb-file]
unload the current rgb.txt file:        \[htmlfontify-unload-rgb-file]

And here's a programmatic example:

(defun rtfm-build-page-header (file style)
  (format "#define  TEMPLATE red+black.html
#define  DEBUG    1
#include <build/menu-dirlist|>\n
html-css-url := /css/red+black.css
title        := rtfm.etla.org ( %s / src/%s )
bodytag      :=
head         <=STYLESHEET;\n
%s
STYLESHEET
main-title   := rtfm / %s / src/%s\n
main-content <=MAIN_CONTENT;\n" rtfm-section file style rtfm-section file))

(defun rtfm-build-page-footer (file) "\nMAIN_CONTENT\n")

(defun rtfm-build-source-docs (section srcdir destdir)
  (interactive
   "s section[eg- emacs / p4-blame]:\nD source-dir: \nD output-dir: ")
  (require \='htmlfontify)
  (hfy-load-tags-cache srcdir)
  (let ((hfy-page-header  \='rtfm-build-page-header)
        (hfy-page-footer  \='rtfm-build-page-footer)
        (rtfm-section                     section)
        (hfy-index-file                   "index"))
    (htmlfontify-run-etags srcdir)
    (htmlfontify-copy-and-link-dir srcdir destdir ".src" ".html")))
(defconst htmlfontify-manual "Htmlfontify Manual" (#$ . 802))
(byte-code "\300\301\302\303\304\305\306\307\306\310\306\311\312\313&
\210\314\315\316\317\320DD\321\304\301\322\323\324\325&	\210\314\326\316\317\327DD\330\304\301\322\331\324\332&	\210\314\333\316\317\334DD\335\304\301\322\336\324\337&	\210\314\340\316\317\341DD\342\304\301\322\343\324\344&	\210\314\345\316\317\346DD\347\304\301\322\350\324\351&	\210\314\352\316\317\353DD\354\304\301\322\355\324\356&	\210\314\357\316\317\360DD\361\304\301\322\362\324\363&	\210\314\364\316\317\365DD\366\304\301\322\367\324\370&	\210\314\371\316\317\372DD\373\304\301\322\374\324\375&	\210\314\376\316\317\377DD\201@\304\301\322\201A\324\201B&	\210\314\201C\316\317\201DDD\201E\304\301\322\201F\324\201G&	\210\201H\201I\201J\302#\210\201K\211\203\211@\201IN\203\201JN\204\201L\201J\201IN#\210A\266\202\202\353\210\201M\201I\201J\201N#\210\314\201J\316\317\201ODD\201P\304\301\322\201Q\324\201R&	\210\201H\201S\201T\302#\210\201K\211\203z\211@\201SN\203s\201TN\204s\201L\201T\201SN#\210A\266\202\202O\210\201M\201S\201T\201U#\210\314\201T\316\317\201VDD\201W\304\301\322\201X\201Y\201Z\324\201[&\210\314\201\\\316\317\201]DD\201^\304\301\322\201_\324\201`&	\210\314\201a\316\317\201bDD\201c\304\301\322\201d\324\201e&	\210\314\201f\316\317\201gDD\201h\304\301\322\201i\324\201j&	\207" [custom-declare-group htmlfontify nil "Convert buffers and files to HTML." :group applications :link (variable-link htmlfontify-manual) (custom-manual "(htmlfontify) Top") (info-link "(htmlfontify) Customization") :prefix "hfy-" custom-declare-variable hfy-page-header funcall function #[0 "\300\207" [hfy-default-header] 1] "Function called to build the header of the HTML source.\nThis is called with two arguments (the filename relative to the top\nlevel source directory being etag'd and fontified), and a string containing\nthe <style>...</style> text to embed in the document.\nIt should return a string that will be used as the header for the\nhtmlfontified version of the source file.\n\nSee also `hfy-page-footer'." :tag "page-header" :type (function) hfy-split-index #[0 "\300\207" [nil] 1] "Whether or not to split the index `hfy-index-file' alphabetically.\nIf non-nil, the index is split on the first letter of each tag.\nUseful when the index would otherwise be large and take\na long time to render or be difficult to navigate." "split-index" (boolean) hfy-page-footer #[0 "\300\207" [hfy-default-footer] 1] "As `hfy-page-header', but generates the output footer.\nIt takes only one argument, the filename." "page-footer" (function) hfy-extn #[0 "\300\207" [#1=".html"] 1 #1#] "File extension used for output files." "extension" (string) hfy-src-doc-link-style #[0 "\300\207" [#2="text-decoration: underline;"] 1 #2#] "String to add to the `<style> a' variant of an htmlfontify CSS class." "src-doc-link-style" (string) hfy-src-doc-link-unstyle #[0 "\300\207" [#3=" text-decoration: none;"] 1 #3#] "Regex to remove from the `<style> a' variant of an htmlfontify CSS class." "src-doc-link-unstyle" (string) hfy-link-extn #[0 "\300\207" [nil] 1] "File extension used for href links.\nUseful where the htmlfontify output files are going to be processed\nagain, with a resulting change in file extension.  If nil, then any\ncode using this should fall back to `hfy-extn'." "link-extension" (choice string (const nil)) hfy-link-style-fun #[0 "\300\207" [hfy-link-style-string] 1] "Function to customize the appearance of hyperlinks.\nSet this to a function, which will be called with one argument\n(a \"{ foo: bar; ...}\" CSS style-string) - it should return a copy of\nits argument, altered so as to make any changes you want made for text which\nis a hyperlink, in addition to being in the class to which that style would\nnormally be applied." "link-style-function" (function) hfy-index-file #[0 "\300\207" [#4="hfy-index"] 1 #4#] "Name (sans extension) of the tag definition index file produced during\nfontification-and-hyperlinking." "index-file" (string) hfy-instance-file #[0 "\300\207" [#5="hfy-instance"] 1 #5#] "Name (sans extension) of the tag usage index file produced during\nfontification-and-hyperlinking." "instance-file" (string) hfy-html-quote-regex #[0 "\300\207" [#6="\\([<\"&>]\\)"] 1 #6#] "Regex to match (with a single back-reference per match) strings in HTML\nwhich should be quoted with `hfy-html-quote' (and `hfy-html-quote-map')\nto make them safe." "html-quote-regex" (regexp) defvaralias hfy-init-kludge-hooks hfy-init-kludge-hook (saved-value saved-variable-comment) put make-obsolete-variable "23.2" #[0 "\300\207" [(hfy-kludge-cperl-mode)] 1] "List of functions to call when starting `htmlfontify-buffer' to do any\nkludging necessary to get highlighting modes to behave as you want, even\nwhen not running under a window system." "init-kludge-hooks" (hook) hfy-post-html-hooks hfy-post-html-hook "24.3" #[0 "\300\207" [nil] 1] "List of functions to call after creating and filling the HTML buffer.\nThese functions will be called with the HTML buffer as the current buffer." "post-html-hooks" :options (set-auto-mode) (hook) hfy-default-face-def #[0 "\300\207" [nil] 1] "Fallback `defface' specification for the face `default', used when\n`hfy-display-class' has been set (the normal htmlfontify way of extracting\npotentially non-current face information doesn't necessarily work for\n`default').\n\nExample: I customize this to:\n\n((t :background \"black\" :foreground \"white\" :family \"misc-fixed\"))" "default-face-definition" (alist) hfy-etag-regex #[0 "\300\207" [".*\\([^\n]+\\)\\([0-9]+\\),\\([0-9]+\\)$\\|.*[0-9]+,[0-9]+$"] 1] "Regex used to parse an etags entry: must have 3 subexps, corresponding,\nin order, to:\n\n   1 - The tag\n   2 - The line\n   3 - The char (point) at which the tag occurs." "etag-regex" (regexp) hfy-html-quote-map #[0 "\300\207" [(("\"" "&quot;") ("<" "&lt;") ("&" "&amp;") (">" "&gt;"))] 1] "Alist of char -> entity mappings used to make the text HTML-safe." "html-quote-map" (alist :key-type (string))] 14)
(defconst hfy-e2x-etags-cmd "for src in `find . -type f`;\ndo\n  ETAGS=%s;\n  case ${src} in\n    *.ad[absm]|*.[CFHMSacfhlmpsty]|*.def|*.in[cs]|*.s[as]|*.src|*.cc|\\\n    *.hh|*.[chy]++|*.[ch]pp|*.[chy]xx|*.pdb|*.[ch]s|*.[Cc][Oo][Bb]|\\\n    *.[eh]rl|*.f90|*.for|*.java|*.[cem]l|*.clisp|*.lisp|*.[Ll][Ss][Pp]|\\\n    [Mm]akefile*|*.pas|*.[Pp][LlMm]|*.psw|*.lm|*.pc|*.prolog|*.oak|\\\n    *.p[sy]|*.sch|*.scheme|*.[Ss][Cc][Mm]|*.[Ss][Mm]|*.bib|*.cl[os]|\\\n    *.ltx|*.sty|*.TeX|*.tex|*.texi|*.texinfo|*.txi|*.x[bp]m|*.yy|\\\n    *.[Ss][Qq][Ll])\n          ${ETAGS} -o- ${src};\n          ;;\n      *)\n          FTYPE=`file ${src}`;\n          case ${FTYPE} in\n              *script*text*)\n                  ${ETAGS} -o- ${src};\n                  ;;\n              *text*)\n                  SHEBANG=`head -n1 ${src} | grep '#!' -c`;\n                  if [ ${SHEBANG} -eq 1 ];\n                  then\n                      ${ETAGS} -o- ${src};\n                  fi;\n                  ;;\n          esac;\n          ;;\n  esac;\ndone;")
(defconst hfy-etags-cmd-alist-default (byte-code "\301B\302B\207" [hfy-e2x-etags-cmd "emacs etags" (("exuberant ctags" . "%s -R -f -"))] 2))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313&	\210\300\314\302\303\315DD\316\306\307\310\317\312\320&	\210\300\321\302\303\322DD\323\306\307\310\324\312\325&	\210\300\326\302\303\327DD\330\306\307\310\331\312\332&	\207" [custom-declare-variable hfy-etags-cmd-alist funcall function #[0 "\207" [hfy-etags-cmd-alist-default] 1] "Alist of possible shell commands that will generate etags output that\n`htmlfontify' can use.  `%s' will be replaced by `hfy-etags-bin'." :group htmlfontify :tag "etags-cmd-alist" :type (alist :key-type (string) :value-type (string)) hfy-etags-bin #[0 "\300\207" [#1="etags"] 1 #1#] "Location of etags binary (we begin by assuming it's in your path).\n\nNote that if etags is not in your path, you will need to alter the shell\ncommands in `hfy-etags-cmd-alist'." "etags-bin" (file) hfy-shell-file-name #[0 "\300\207" [#2="/bin/sh"] 1 #2#] "Shell (Bourne or compatible) to invoke for complex shell operations." "shell-file-name" (file) hfy-ignored-properties #[0 "\300\207" [(read-only intangible modification-hooks insert-in-front-hooks insert-behind-hooks point-entered point-left)] 1] "Properties to omit when copying a fontified buffer for HTML transformation." "ignored-properties" (repeat symbol)] 10)
#@64 Return a string indicating which flavor of etags we are using.
(defalias 'hfy-which-etags #[0 "\301\302!r\211q\210\303\304\305\306\307!\310\"\311$\216\3121?\313\314\315\314\316%\304=\205;eb\210\317\320\314\315#\2032\321\202;\317\322\314\315#\205;\3230\202A\210\314*\207" [hfy-etags-bin generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 (file-error) call-process nil t "--version" search-forward "exube" "exuberant ctags" "GNU E" "emacs etags"] 7 (#$ . 11136)])
(byte-code "\301\302\303\304\305DD\306\307\310\311\312\313\314C\211\203(\211@\315\311@AFB\262A\266\202\202\210\316B\262&	\210\301\317\303\304\320DD\321\307\310\311\322\313\323&	\210\301\324\303\304\325DD\326\307\310\311\327\313\330&	\210\301\331\303\304\332DD\333\313\334\307\310\311\335\336\337&\210\340\341\342\343#\210\344\211\203\216\211@\341N\203\207\342N\204\207\345\342\341N#\210A\266\202\202m\210\346\341\342\347#\210\301\342\303\304\350DD\351\313\352\307\310\311\353&	\207" [hfy-etags-cmd-alist custom-declare-variable hfy-etags-cmd funcall function #[0 "\301\302 \"A\207" [hfy-etags-cmd-alist assoc hfy-which-etags] 3] "The etags equivalent command to run in a source directory to generate a tags\nfile for the whole source tree from there on down.  The command should emit\nthe etags output on stdout.\n\nTwo canned commands are provided - they drive Emacs's etags and\nexuberant-ctags' etags respectively." :group htmlfontify :tag "etags-command" :type (string) const choice hfy-istext-command #[0 "\300\207" [#1="file %s | sed -e 's@^[^:]*:[ 	]*@@'"] 1 #1#] "Command to run with the name of a file, to see whether it is a text file\nor not.  The command should emit a string containing the word `text' if\nthe file is a text file, and a string not containing `text' otherwise." "istext-command" (string) hfy-find-cmd #[0 "\300\207" [#2="find . -type f \\! -name \\*~ \\! -name \\*.flc \\! -path \\*/CVS/\\*"] 1 #2#] "Find command used to harvest a list of files to attempt to fontify." "find-command" (string) hfy-display-class #[0 "\300\207" [nil] 1] "Display class to use to determine which display class to use when\ncalculating a face's attributes.  This is useful when, for example, you\nare running Emacs on a tty or in batch mode, and want htmlfontify to have\naccess to the face spec you would use if you were connected to an X display.\n\nSome valid class specification elements are:\n\n  (class      color)\n  (class      grayscale)\n  (background dark)\n  (background light)\n  (type       x-toolkit)\n  (type       tty)\n  (type       motif)\n  (type       lucid)\nMultiple values for a tag may be combined, to indicate that any one or more\nof these values in the specification key constitutes a match, eg:\n\n((class color grayscale) (type tty)) would match any of:\n\n  ((class color))\n  ((class grayscale))\n  ((class color grayscale))\n  ((class color foo))\n  ((type  tty))\n  ((type  tty) (class color))\n\nand so on." (alist :key-type (symbol) :value-type (symbol)) "display-class" :options ((type (choice (const :tag "X11" x-toolkit) (const :tag "Terminal" tty) (const :tag "Lucid Toolkit" lucid) (const :tag "Motif Toolkit" motif))) (class (choice (const :tag "Color" color) (const :tag "Grayscale" grayscale))) (background (choice (const :tag "Dark" dark) (const :tag "Bright" light)))) defvaralias hfy-optimisations hfy-optimizations nil (saved-value saved-variable-comment) put make-obsolete-variable "25.1" #[0 "\300C\207" [keep-overlays] 1] "Optimizations to turn on: So far, the following have been implemented:\n\n  merge-adjacent-tags: If two (or more) span tags are adjacent, identical and\n                       separated by nothing more than whitespace, they will\n                       be merged into one span.\n  zap-comment-links  : Suppress hyperlinking of tags found in comments.\n  zap-string-links   : Suppress hyperlinking of tags found in strings.\n  div-wrapper        : Add <div class=\"default\"> </div> tags around the\n                       output.\n  keep-overlays      : More of a bell (or possibly whistle) than an\n                       optimization - If on, preserve overlay highlighting\n                       (cf ediff or goo-font-lock) as well as basic faces.\n\n  body-text-only     : Emit only body-text.  In concrete terms,\n                       1. Suppress calls to `hfy-page-header' and\n                          `hfy-page-footer'\n                       2. Pretend that `div-wrapper' option above is\n                          turned off\n                       3. Don't enclose output in <pre> </pre> tags\n  And the following are planned but not yet available:\n\n  kill-context-leak  : Suppress hyperlinking between files highlighted by\n                       different modes.\n\nNote: like compiler optimizations, these optimize the _output_ of the code,\nnot the processing of the source itself, and are therefore likely to slow\nhtmlfontify down, at least a little.  Except for skip-refontification,\nwhich can never slow you down, but may result in incomplete fontification." (set (const :tag "merge-adjacent-tags" merge-adjacent-tags) (const :tag "zap-comment-links" zap-comment-links) (const :tag "zap-string-links" zap-string-links) (const :tag "skip-refontification" skip-refontification) (const :tag "kill-context-leak" kill-context-leak) (const :tag "div-wrapper" div-wrapper) (const :tag "keep-overlays" keep-overlays) (const :tag "body-text-only" body-text-only)) "optimizations"] 16)
#@294 Alist of the form:

(("/src/dir/0" . tag-hash0) ("/src/dir/1" tag-hash1) ...)

Each tag hash entry then contains entries of the form:

"tag_string" => (("file/name.ext" line char) ... )

ie an alist mapping (relative) file paths to line and character offsets.

See also `hfy-load-tags-cache'.
(defvar hfy-tags-cache nil (#$ . 16689))
#@149 Alist of the form (("/src/dir" . (tag0 tag1 tag2)) ... )

where the tags are stored in descending order of length.

See also `hfy-load-tags-cache'.
(defvar hfy-tags-sortl nil (#$ . 17030))
#@262 Alist of the form (("/src/dir" . tag-rmap-hash))

where tag-rmap-hash has entries of the form:
"tag_string" => ( "file/name.ext" line char )
Unlike `hfy-tags-cache' these are the locations of occurrences of
tagged items, not the locations of their definitions.
(defvar hfy-tags-rmap nil (#$ . 17226))
#@866 An assoc representing/describing an Emacs face.
Properties may be repeated, in which case later properties should be
treated as if they were inherited from a `parent' font.
(For some properties, only the first encountered value is of any importance,
for others the values might be cumulative, and for others they might be
cumulative in a complex way.)

Some examples:

(hfy-face-to-style \='default) =>
  (("background"      . "rgb(0, 0, 0)")
   ("color"           . "rgb(255, 255, 255)")
   ("font-style"      . "normal")
   ("font-weight"     . "500")
   ("font-stretch"    . "normal")
   ("font-family"     . "misc-fixed")
   ("font-size"       . "13pt")
   ("text-decoration" . "none"))

(hfy-face-to-style \='Info-title-3-face) =>
  (("font-weight"     . "700")
   ("font-family"     . "helv")
   ("font-size"       . "120%")
   ("text-decoration" . "none"))

(defvar hfy-style-assoc 'please-ignore-this-line (#$ . 17534))
#@214 An assoc with elements of the form (face-name style-name . style-string):

((default               "default" . "{background: black; color: white}")
 (font-lock-string-face "string"  . "{color: rgb(64,224,208)}"))
(defvar hfy-sheet-assoc 'please-ignore-this-line (#$ . 18469))
#@1094 An assoc of (point . FACE-SYMBOL) or (point . DEFFACE-LIST)
and (point . \='end) elements, in descending order of point value
(ie from the file's end to its beginning).

The map is in reverse order because inserting a <style> tag (or any other
string) at `point' invalidates the map for all entries with a greater value of
point.  By traversing the map from greatest to least point, we still invalidate
the map as we go, but only those points we have already dealt with (and
therefore no longer care about) will be invalid at any time.

\='((64820 . end)
  (64744 . font-lock-comment-face)
  (64736 . end)
  (64722 . font-lock-string-face)
  (64630 . end)
  (64623 . font-lock-string-face)
  (64449 . end)
  (64446 . font-lock-keyword-face)
  (64406 . end)
  (64395 . font-lock-constant-face)
  (64393 . end)
  (64386 . font-lock-keyword-face)
  (64379 . end)
  ;; big similar section elided.  You get the idea.
  (4285 . font-lock-constant-face)
  (4285 . end)
  (4221 . font-lock-comment-face)
  (4221 . end)
  (4197 . font-lock-constant-face)
  (4197 . end)
  (1 . font-lock-comment-face))
(defvar hfy-facemap-assoc 'please-ignore-this-line (#$ . 18753))
#@52 An alist of derived fonts resulting from overlays.
(defvar hfy-tmpfont-stack nil (#$ . 19917))
(defconst hfy-hex-regex "[[:xdigit:]]")
(defconst hfy-triplet-regex (byte-code "\301\211\302\211\302\211\303\260\n\207" [hfy-hex-regex "\\(" "\\)\\(" "\\)"] 10))
#@86 Return the intersection (using `eq') of two lists SET-A and SET-B.

(fn SET-A SET-B)
(defalias 'hfy-interq #[514 "\300\211\203@\262A\262\211>\203\211B\262\202\207" [nil] 7 (#$ . 20183)])
#@197 Where COLOR is a color name or #XXXXXX style triplet, return a
list of three (16 bit) rgb values for said color.

If a window system is unavailable, calls `hfy-fallback-color-values'.

(fn COLOR)
(defalias 'hfy-color-vals #[257 "\302\"\203\303\304\305\306\307\310!\311\"\312\313%\314\"\207	\203*\315\316!\203&\316!\207\317!\207\320!\207" [hfy-triplet-regex window-system string-match mapcar make-byte-code 257 "\301\302\300\"\303\"\304_\207" vconcat vector [string-to-number match-string 16 257] 5 "\n\n(fn X)" (1 2 3) fboundp color-values x-color-values hfy-fallback-color-values] 8 (#$ . 20393)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias hfy-colour-vals hfy-color-vals nil make-obsolete "27.1"] 4)
(defvar hfy-cperl-mode-kludged-p nil)
#@119 CPerl mode does its damnedest not to do some of its fontification when not
in a windowing system - try to trick it...
(defalias 'hfy-kludge-cperl-mode #[0 "?\205	\204\303\304\305!\210\306)\306\211\207" [hfy-cperl-mode-kludged-p window-system cperl-syntaxify-by-font-lock htmlfontify require cperl-mode t] 2 (#$ . 21175)])
#@36 Is option SYMBOL set.

(fn SYMBOL)
(defalias 'hfy-opt #[257 "\211>\207" [hfy-optimizations] 3 (#$ . 21511)])
#@161 Default value for `hfy-page-header'.
FILE is the name of the file.
STYLE is the inline CSS stylesheet (or tag referring to an external sheet).

(fn FILE STYLE)
(defalias 'hfy-default-header #[514 "\300\301\302\303\304\305\"\306##\207" [format "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\"\n\"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n  <head>\n    <meta charset=\"utf-8\"/>\n    <title>%s</title>\n%s\n    <script type=\"text/javascript\"><!--\n  // this function is needed to work around\n  // a bug in IE related to element attributes\n  function hasClass(obj)\n  {\n      var result = false;\n      if (obj.getAttributeNode(\"class\") != null)\n      {\n          result = obj.getAttributeNode(\"class\").value;\n      }\n      return result;\n  }\n\n  function stripe(id)\n  {\n      // the flag we'll use to keep track of\n      // whether the current row is odd or even\n      var even = false;\n\n      // if arguments are provided to specify the colors\n      // of the even & odd rows, then use them;\n      // otherwise use the following defaults:\n      var evenColor = arguments[1] ? arguments[1] : \"#fff\";\n      var oddColor  = arguments[2] ? arguments[2] : \"#ddd\";\n\n      // obtain a reference to the desired table\n      // if no such table exists, abort\n      var table = document.getElementById(id);\n      if (! table) { return; }\n\n      // by definition, tables can have more than one tbody\n      // element, so we'll have to get the list of child\n      // &lt;tbody&gt;s\n      var tbodies = table.getElementsByTagName(\"tbody\");\n\n      // and iterate through them...\n      for (var h = 0; h < tbodies.length; h++)\n      {\n          // find all the &lt;tr&gt; elements...\n          var trs = tbodies[h].getElementsByTagName(\"tr\");\n\n          // ... and iterate through them\n          for (var i = 0; i < trs.length; i++)\n          {\n              // avoid rows that have a class attribute\n              // or backgroundColor style\n              if (! hasClass(trs[i]) &&\n                  ! trs[i].style.backgroundColor)\n              {\n                  // get all the cells in this row...\n                  var tds = trs[i].getElementsByTagName(\"td\");\n\n                  // and iterate through them...\n                  for (var j = 0; j < tds.length; j++)\n                  {\n                      var mytd = tds[j];\n\n                      // avoid cells that have a class attribute\n                      // or backgroundColor style\n                      if (! hasClass(mytd) &&\n                          ! mytd.style.backgroundColor)\n                      {\n                          mytd.style.backgroundColor =\n                            even ? evenColor : oddColor;\n                      }\n                  }\n              }\n              // flip from odd to even, or vice-versa\n              even =  ! even;\n          }\n      }\n  }\n\n  function toggle_invis( name )\n  {\n      var filter =\n        { acceptNode:\n          function( node )\n          { var classname = node.id;\n            if( classname )\n            { var classbase = classname.substr( 0, name.length );\n              if( classbase == name ) { return NodeFilter.FILTER_ACCEPT; } }\n            return NodeFilter.FILTER_SKIP; } };\n      var walker = document.createTreeWalker( document.body           ,\n                                              NodeFilter.SHOW_ELEMENT ,\n                                              filter                  ,\n                                              false                   );\n      while( walker.nextNode() )\n      {\n          var e = walker.currentNode;\n          if( e.style.display == \"none\" ) { e.style.display = \"inline\"; }\n          else                            { e.style.display = \"none\";   }\n      }\n  }\n--> </script>\n  </head>\n  <body onload=\"stripe('index'); return true;\">\n" mapconcat hfy-html-quote mapcar char-to-string ""] 9 (#$ . 21628)])
#@116 Default value for `hfy-page-footer'.
FILE is the name of the file being rendered, in case it is needed.

(fn FILE)
(defalias 'hfy-default-footer #[257 "\300\207" ["\n </body>\n</html>\n"] 2 (#$ . 25725)])
#@217 Replace the end of a CSS style declaration STYLE-STRING with the contents
of the variable `hfy-src-doc-link-style', removing text matching the regex
`hfy-src-doc-link-unstyle' first, if necessary.

(fn STYLE-STRING)
(defalias 'hfy-link-style-string #[257 "\302\"\203\303\304\305\306$\262\302	\"\204&\302\307\"\203&\303	\305\306$\310P\207\207" [hfy-src-doc-link-unstyle hfy-src-doc-link-style string-match replace-match "" fixed-case literal "} *$" " }"] 6 (#$ . 25937)])
#@317 Takes a COLOR name (string) and return a CSS rgb(R, G, B) triplet string.
Uses the definition of "white" to map the numbers to the 0-255 range, so
if you've redefined white, (esp. if you've redefined it to have a triplet
member lower than that of the color you are processing) strange things
may happen.

(fn COLOR)
(defalias 'hfy-triplet #[257 "\211\300\267\202\301\262\202\302\262\303\304\305\302!\"\303\306\305!\"\211\2055\307\310\311\303\312\313\314\315\316\n\n\"\317\"\320\321%\322\"#\207" [#s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ("unspecified-fg" 6 "unspecified-bg" 12)) "black" "white" mapcar #[257 "\300T!\207" [float] 3 "\n\n(fn I)"] hfy-color-vals #[257 "\300T!\207" [float] 3 "\n\n(fn I)"] apply format "#%02x%02x%02x" make-byte-code 257 "\211\3018\3008\245\302_\207" vconcat vector [255] 4 "\n\n(fn X)" (0 1 2)] 14 (#$ . 26426)])
#@15 

(fn FAMILY)
(defalias 'hfy-family #[257 "\300BC\207" ["font-family"] 3 (#$ . 27336)])
#@14 

(fn COLOR)
(defalias 'hfy-bgcol #[257 "\300\301!BC\207" ["background" hfy-triplet] 4 (#$ . 27431)])
#@14 

(fn COLOR)
(defalias 'hfy-color #[257 "\300\301!BC\207" ["color" hfy-triplet] 4 (#$ . 27540)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias hfy-colour hfy-color nil make-obsolete "27.1"] 4)
#@14 

(fn WIDTH)
(defalias 'hfy-width #[257 "\300\301!BC\207" ["font-stretch" symbol-name] 4 (#$ . 27760)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable hfy-font-zoom funcall function #[0 "\300\207" [1.05] 1] "Font scaling from Emacs to HTML." :type float :group htmlfontify] 8)
#@199 Derive a CSS font-size specifier from an Emacs font :height attribute HEIGHT.
Does not cope with the case where height is a function to be applied to
the height of the underlying font.

(fn HEIGHT)
(defalias 'hfy-size #[257 "\301 \204\211\302\232\203\303\262\304!\203!\305\306\307_\303_\"B\2020\211\250\2050\305\306\310_\311\245\"BC\207" [hfy-font-zoom display-graphic-p 1 100 floatp "font-size" format "%d%%" "%dpt" 10] 6 (#$ . 28085)])
#@174 Derive a font-style CSS specifier from the Emacs :slant attribute SLANT:
CSS does not define the reverse-* styles, so just maps those to the
regular specifiers.

(fn SLANT)
(defalias 'hfy-slant #[257 "\300\301\236A\206	\302BC\207" ["font-style" ((italic . "italic") (reverse-italic . "italic") (oblique . "oblique") (reverse-oblique . "oblique")) "normal"] 4 (#$ . 28543)])
#@90 Derive a font-weight CSS specifier from an Emacs weight spec symbol WEIGHT.

(fn WEIGHT)
(defalias 'hfy-weight #[257 "\300\301\236ABC\207" ["font-weight" ((ultra-bold . "900") (extra-bold . "800") (bold . "700") (semi-bold . "600") (normal . "500") (semi-light . "400") (light . "300") (extra-light . "200") (ultra-light . "100"))] 4 (#$ . 28925)])
#@13 

(fn SPEC)
(defalias 'hfy-box-to-border-assoc #[257 "\211\205*\211@A@\300\267\202!\301B\202\"\302B\202\"\303B\202\"\304\305AA!B\266\202\207" [#s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (:color 15 :width 21 :style 27)) "color" "width" "style" nil hfy-box-to-border-assoc] 6 (#$ . 29281)])
#@13 

(fn SPEC)
(defalias 'hfy-box-to-style #[257 "\300!\301\302\"A\301\303\"A\205\304\301\302\"AB\305\306\307\301\310\"A\206%\311\"B\312\313\267\2026\314\2027\315\2027\316BE\207" [hfy-box-to-border-assoc assoc "color" "style" "border-color" "border-width" format "%dpx" "width" 1 "border-style" #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (released-button 46 pressed-button 50)) "outset" "inset" "solid"] 11 (#$ . 29629)])
#@77 Derive CSS border-* attributes from the Emacs :box attribute BOX.

(fn BOX)
(defalias 'hfy-box #[257 "\211\205&\211\250\203\300\301\302\"BC\207\211;\203\303\301\304\"BC\207\211<\205&\305!\207" ["border-width" format "%dpx" "border" "solid %s 1px" hfy-box-to-style] 5 (#$ . 30110)])
#@157 Derive CSS text-decoration specifiers from various Emacs font attributes.
TAG is an Emacs font attribute key (eg :underline).
VAL is ignored.

(fn TAG VAL)
(defalias 'hfy-decor #[514 "\300\267\202\301\302B\202\301\303B\202\301\304B\202\305C\207" [#s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (:underline 6 :overline 12 :strike-through 18)) "text-decoration" "underline" "overline" "line-through" nil] 4 (#$ . 30408)])
#@114 This text should be invisible.
Do something in CSS to make that happen.
VAL is ignored here.

(fn &optional VAL)
(defalias 'hfy-invisible #[256 "\300\207" [(("display" . "none"))] 2 (#$ . 30882)])
#@160 Return a `defface' style alist of possible specifications for FACE.
Entries resulting from customization (`custom-set-faces') will take
precedence.

(fn FACE)
(defalias 'hfy-combined-face-spec #[257 "\302\205	\205\303=\205	\304N\305N#\207" [hfy-display-class hfy-default-face-def append default saved-face face-defface-spec] 6 (#$ . 31086)])
#@919 Return the face attributes for FACE.
If CLASS is set, it must be a `defface' alist key [see below],
in which case the first face specification returned by `hfy-combined-face-spec'
which *doesn't* clash with CLASS is returned.

(A specification with a class of t is considered to match any class you
specify - this matches Emacs's behavior when deciding on which face attributes
to use, to the best of my understanding).

If CLASS is nil, then you just get whatever `face-attr-construct' returns,
ie the current specification in effect for FACE.

*NOTE*: This function forces any face that is not `default' and which has
no :inherit property to inherit from `default' (this is because `default'
is magical in that Emacs's fonts behave as if they inherit implicitly from
`default', but no such behavior exists in HTML/CSS).

See also `hfy-display-class' for details of valid values for CLASS.

(fn FACE &optional CLASS)
(defalias 'hfy-face-attr-for-class #[513 "\211\203\264\300!\301\211\211\302\301\203\237@\262@\262A\262A\262\301\211\211\211\211\303\203\214\204\214@\262A\262@\262A\262<\203L\202NC\262\304=\204]\n\305>\203c\303\262\202(\236A\203(\306
\236A\"\211\262\203\203\211G\\\262\202(\304\262\307\262\202(\211	V\203\232	\262\211\262	\266\202\f\211\205\257\211@<\203\256\211@\202\257\211\266\206\202\360\310!\301\311>\204\302\202\356\203\355@A@\311=\203\334\211;\203\334\211\312\230\204\343BB\262\266AA\262\202\302\211\266\202\313>\204\374\314=\203\211\202\315\313\314D\"\207" [hfy-combined-face-spec nil -1 0 t (t default) hfy-interq -10 face-attr-construct :background "SystemWindow" :inherit default append] 19 (#$ . 31445)])
#@413 The guts of `hfy-face-to-style': FN should be a `defface' font spec,
as returned by `face-attr-construct' or `hfy-face-attr-for-class'.
Note that this function does not get font-sizes right if they are based
on inherited modifiers (via the :inherit) attribute, and any other
modifiers that are cumulative if they appear multiple times need to be
merged by the user - `hfy-flatten-style' should do this.

(fn FN)
(defalias 'hfy-face-to-style-i #[257 "\211\205\264\211@A@AA\301\211\211\302=\203><\203\202 C\211\211\2039\211@\303\304\305\"!\"\262A\266\202\202!\266\202\250\205\246\306\267\202\245\307!\202\246\310!\202\246\311!\202\246\312!\202\246\313!\202\246\314!\202\246\315!\202\246\316!\202\246\317\"\202\246\317\"\202\246\317\"\202\246\320!\202\246\311\321!\202\246\312\322!\202\246\301\262\304!\262\244\244\266\206\207" [hfy-display-class nil :inherit append hfy-face-to-style-i hfy-face-attr-for-class #s(hash-table size 14 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (:family 72 :width 78 :weight 84 :slant 90 :foreground 96 :background 102 :box 108 :height 114 :underline 120 :overline 129 :strike-through 138 :invisible 147 :bold 153 :italic 159)) hfy-family hfy-width hfy-weight hfy-slant hfy-color hfy-bgcol hfy-box hfy-size hfy-decor hfy-invisible bold italic] 16 (#$ . 33182)])
#@140 Convert SPEC, a CSS font-size specifier, to an Emacs :height attribute value.
Used while merging multiple font-size attributes.

(fn SPEC)
(defalias 'hfy-size-to-int #[257 "\300\301\"\203/\302\303\"\304\230\203\305\302\306\"!\307\245\2022\302\303\"\310\230\2052\305\302\306\"!\311_\2022\305!C\207" [string-match "\\([0-9]+\\)\\(%\\|pt\\)" match-string 2 "%" string-to-number 1 100.0 "pt" 10] 5 (#$ . 34565)])
#@288 Take STYLE (see `hfy-face-to-style-i', `hfy-face-to-style') and merge
any multiple attributes appropriately.  Currently only font-size is merged
down to a single occurrence - others may need special handling, but I
haven't encountered them yet.  Returns a `hfy-style-assoc'.

(fn STYLE)
(defalias 'hfy-flatten-style #[257 "\300\301C\302\211\211\203:\211@\211@\303\230\203-\204\304A!\244\262\305\306A\"\2033\307\262\2023C\244\262A\266\202\202\210\310\311\"\262\211\312\203N\313!\202Q\314_!\244\207" [0 1 nil "font-size" hfy-size-to-int string-match "pt" t apply * hfy-size round 1.0] 10 (#$ . 34993)])
#@157 For FN return a face specification.
FN may be either a face or a face specification.  If the latter,
then the specification is returned unchanged.

(fn FN)
(defalias 'hfy-face-resolve-face #[257 "\301!\203\302\"\207\2119\203\301J!\203\302J\"\207\207" [hfy-display-class facep hfy-face-attr-for-class] 4 (#$ . 35628)])
#@219 Take FN, a font or `defface' style font specification,
(as returned by `face-attr-construct' or `hfy-face-attr-for-class')
and return a `hfy-style-assoc'.

See also `hfy-face-to-style-i', `hfy-flatten-style'.

(fn FN)
(defalias 'hfy-face-to-style #[257 "\300!\301\302!!\303\304\"\204\211\305\244\262\207" [hfy-face-resolve-face hfy-flatten-style hfy-face-to-style-i assoc "text-decoration" (("text-decoration" . "none"))] 6 (#$ . 35965)])
#@79 Render a font symbol or `defface' font spec FN into a name (string).

(fn FN)
(defalias 'hfy-face-or-def-to-name #[257 "\211<\204\n\301\302\"\207\301\302\"\303\"\304>A@A\204-\301\305G\"\262B\262B\301\306\2064\307#\207" [hfy-tmpfont-stack format "%s" assoc :inherit "%04d" "%s-%s" default] 9 (#$ . 36416)])
#@81 Strip the boring bits from a font-name FN and return a CSS style name.

(fn FN)
(defalias 'hfy-css-name #[257 "\300!\301\302\"\204\301\303\"\204\301\304\"\203/\305\306\"\262\301\307\"\203+\305\306\"\262\211\2020\211\207" [hfy-face-or-def-to-name string-match "font-lock-\\(.*\\)" "cperl-\\(.*\\)" "^[Ii]nfo-\\(.*\\)" match-string 1 "\\(.*\\)-face\\'"] 5 (#$ . 36748)])
#@83 Default handler for mapping faces to styles.
See also `hfy-face-to-css'.

(fn FN)
(defalias 'hfy-face-to-css-default #[257 "\300!\301C\302\303\304\305\306\307!\310\"\311\312%\"\313!\314\315\316\317\"\"B\207" [hfy-face-to-style nil mapcar make-byte-code 257 "\211@\205\211@\300\242\235?\205\300@\300\242B\240\210\301\302@A#\207" vconcat vector [format " %s: %s; "] 5 "\n\n(fn E)" hfy-css-name format "{%s}" apply concat] 10 (#$ . 37139)])
#@330 Handler for mapping faces  to styles.
The signature of the handler is of the form (lambda (FN) ...).
FN is a font or `defface' specification (cf
`face-attr-construct').  The handler should return a cons cell of
the form (STYLE-NAME . STYLE-SPEC).

The default handler is `hfy-face-to-css-default'.

See also `hfy-face-to-style'.
(defvar hfy-face-to-css 'hfy-face-to-css-default (#$ . 37597))
(byte-code "\300\301\302\303!\203\f\303\202
\304\"\207" [defalias hfy-prop-invisible-p fboundp invisible-p #[257 "\301=\203\n\211\206\211>\206\211\236\207" [buffer-invisibility-spec t] 3 "Is text property PROP an active invisibility property?\n\n(fn PROP)"]] 4)
#@77 Return a list of (start-point . end-point) cons cells of invisible regions.
(defalias 'hfy-find-invisible-ranges #[0 "\212\300\211\211\211eb\262\301!\203\262\302\262dW\203F\2032\301!\204>\300\262\211BB\262\202>\301!\203>\262\302\262\303!\262\202\203Q\211dBB\262\266\204)\207" [nil invisible-p t next-char-property-change] 6 (#$ . 38267)])
#@203 Generate a CSS style name for an invisible section of the buffer.
POINT is the point inside the invisible region.
MAP is the invisibility map as returned by `hfy-find-invisible-ranges'.

(fn POINT MAP)
(defalias 'hfy-invisible-name #[514 "\300\211\203&\211@@Y\203AW\203\301\302@A#\262A\266\202\202\210\211\207" [nil format "invisible-%S-%S"] 9 (#$ . 38645)])
#@189 Find face in effect at point P.
If overlays are to be considered (see `hfy-optimizations') then this may
return a `defface' style list of face properties instead of a face symbol.

(fn P)
(defalias 'hfy-face-at #[257 "\300\211\301\302\"\300\211\303!\203D<\203D\304@!\203D\211\203<\211@\211<\203.\211B\2023\305BB\262A\266\202\202\210@\262\300\262\306\307!\203T\310!\211\262\204\\\206\302\202\302\211\203f\211B\262\237\262\203q\262\211\203\253\211@\311>A@\211\203\217\312!\203\217\313\314BB\262\210\302>\206\231\315>A@\211<\204\277\211;\203\253\316!\202\254\211\211	=\204\273\305BB\262\210\202\243\211\203\243\304@!\203\345\211@\211;\203\326\316!\262\305BB\262A\266\202\202\277\300\211@<\203@A<\204@@\262@A\262A\262\202L@@\262@A@\262A\262\202LA<\203.@\262A@\262AA\262\202L<\203GA<\204G@\262A\262\300\262\202L\317\320\"\210\321\267\202\206\322\202\207\323\202\207\324\202\207\325\202\207\326\202\207\327\202\207\330\202\207\331\202\207\332\202\207\333\202\207\334\202\207\335\202\207\336\202\207\262>\204\236B\262BB\262\266\202\277\210A\266\202\202r\210\203\301<\203\272\202\275\337!\244\202\302\207" [nil get-text-property face text-properties-at facep :inherit hfy-opt keep-overlays hfy-overlay-props-at invisible hfy-prop-invisible-p :invisible t font-lock-face intern error "Eh... another format! fprops=%s" #s(hash-table size 13 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (family 338 width 342 height 346 weight 350 slant 354 underline 358 overline 362 strike-through 366 box 370 foreground-color 374 background-color 378 bold 382 italic 386)) :family :width :height :weight :slant :underline :overline :strike-through :box :foreground :background :bold :italic face-attr-construct] 15 (#$ . 39027)])
#@99 Grab overlay properties at point P.
The plists are returned in descending priority order.

(fn P)
(defalias 'hfy-overlay-props-at #[257 "\300\301\302\303\"\"\207" [mapcar overlay-properties overlays-at sorted] 6 (#$ . 40918)])
#@207 Trawl the current buffer, construct and return a `hfy-sheet-assoc'.
If `hfy-user-sheet-assoc' is currently bound then use it to
collect new styles discovered during this run.  Otherwise create
a new assoc.
(defalias 'hfy-compile-stylesheet #[0 "e\302\303\300!\205	\212b\210dW\2034\304!\211\262\203,\305\"\204,	!BB\262\306!\262\202
)\305\307\"\204E\307	\307!BB\262\303\300!\203M\211\207" [hfy-user-sheet-assoc hfy-face-to-css nil boundp hfy-face-at assoc next-char-property-change default] 6 (#$ . 41153)])
#@277 `font-lock' doesn't like to say it's been fontified when in batch
mode, but we want to know if we should fontify or raw copy, so in batch
mode we check for non-default face properties.  Otherwise we test
variable `font-lock-mode' and variable `font-lock-fontified' for truth.
(defalias 'hfy-fontified-p #[0 "\205(	\203'e\303\212b\210dW\203%\211\204%\304!\262\305!\262\202)\207\n\207" [font-lock-fontified noninteractive font-lock-mode nil hfy-face-at next-char-property-change] 4 (#$ . 41690)])
#@401 Where FACE-MAP is a `hfy-facemap-assoc' for the current buffer,
this function merges adjacent style blocks which are of the same value
and are separated by nothing more interesting than whitespace.

  <span class="foo">narf</span> <span class="foo">brain</span>

(as interpreted from FACE-MAP) would become:

  <span class="foo">narf brain</span>

Returns a modified copy of FACE-MAP.

(fn FACE-MAP)
(defalias 'hfy-merge-adjacent-spans #[257 "\211\300\211\211\211\211\211\211\211\203\212AAA@\262AA@\262A@\262@\262\262\262\262AA\232\203r\212@b\210\301\302@\303#)\204rAA\262\262AAA@\262AA@\262A@\262@\262\2022B\262B\262	>\262	A\262	\202	\211\237\211\262\207" [nil re-search-forward "[^ 	\n
]" t] 14 (#$ . 42205)])
#@66 Compile and return a `hfy-facemap-assoc' for the current buffer.
(defalias 'hfy-compile-face-map #[0 "e\214~\210e)Z\300\211\211\212b\210dW\203U\301!\211\262\2038\211\203+\302BB\262BB\262\303\262\202F\211\203C\302BB\262\300\262\304!\262\\\262\202\203k@A\302=\204kdeZT\302BB\262)\305\306!\203x\307!\202y\207" [nil hfy-face-at end t next-char-property-change hfy-opt merge-adjacent-tags hfy-merge-adjacent-spans] 8 (#$ . 42984)])
#@280 Generate a buffer to hold the HTML output.
The filename of this buffer is derived from the source (current) buffer's
variable `buffer-file-name', if it is set, plus `hfy-extn'.
Otherwise a plausible filename is constructed from `default-directory',
`buffer-name' and `hfy-extn'.
(defalias 'hfy-buffer #[0 "\302 P\301 \303!r\211q\210\203P\202(\304\305\306\"\203&\307\310\"\202'!)\207" [hfy-extn buffer-file-name buffer-name get-buffer-create expand-file-name string-match "^.*/\\([^/]*\\)\\'" match-string 1] 7 (#$ . 43461)])
#@60 Get a CSS style name for FACE from STYLE.

(fn FACE STYLE)
(defalias 'hfy-lookup #[514 "\300\"A@\207" [assoc] 5 (#$ . 44006)])
#@133 Copy, alter and return a STYLE-STRING to make it suitable for a hyperlink.
Uses `hfy-link-style-fun' to do this.

(fn STYLE-STRING)
(defalias 'hfy-link-style #[257 "\301!\203\n!\207\207" [hfy-link-style-fun functionp] 3 (#$ . 44142)])
#@72 Return the inline CSS style sheet for FILE as a string.

(fn CSS FILE)
(defalias 'hfy-sprintf-stylesheet #[514 "\302\303\304\305\236AA\"\306\307\310\311\"\"\312\260	\"\207" [hfy-meta-tags hfy-page-header "\n<style type=\"text/css\"><!-- \n" format "body, pre %s\n" default apply concat mapcar #[257 "\300\301A@AAA@\302AA!%\207" [format "span.%s   %s\nspan.%s a %s\n" hfy-link-style] 8 "\n\n(fn STYLE)"] " --></style>\n"] 10 (#$ . 44387)])
#@104 Mark dangerous ["<>] characters with the `hfy-quoteme' property.

See also `hfy-html-dekludge-buffer'.
(defalias 'hfy-html-enkludge-buffer #[0 "\212eb\210\301\302\303#\205\304\305\224`\306\303$\210\202)\207" [hfy-html-quote-regex re-search-forward nil t put-text-property 0 hfy-quoteme] 5 (#$ . 44846)])
#@79 Map CHAR-STRING to an HTML safe string (entity) if need be.

(fn CHAR-STRING)
(defalias 'hfy-html-quote #[257 "\301\"A@\206\n\211\207" [hfy-html-quote-map assoc] 4 (#$ . 45161)])
#@137 Transform all dangerous characters marked with the `hfy-quoteme' property
using `hfy-html-quote'.

See also `hfy-html-enkludge-buffer'.
(defalias 'hfy-html-dekludge-buffer #[0 "\212eb\210\301\302\303#\205\304\305\224\306\"\203\307\310\311\312!!!\210\202)\207" [hfy-html-quote-regex re-search-forward nil t get-text-property 0 hfy-quoteme replace-match hfy-html-quote match-string 1] 4 (#$ . 45350)])
#@158 Bind variables according to VARLIST and eval BODY restoring buffer state.
Do not record undo information during evaluation of BODY.

(fn VARLIST &rest BODY)
(defalias 'hfy-save-buffer-state '(macro . #[385 "\300\301!\302\303\304B\305B\"\306B\307\310BBF\207" [make-symbol "modified" let* append ((buffer-modified-p)) ((buffer-undo-list t) (inhibit-read-only t) (inhibit-point-motion-hooks t) (inhibit-modification-hooks t) deactivate-mark buffer-file-name buffer-file-truename) progn unless ((restore-buffer-modified-p nil))] 9 (#$ . 45764)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put hfy-save-buffer-state lisp-indent-function 1 put edebug-form-spec let] 5)
#@77 Tag trailing whitespace with a hfy property if it is currently highlighted.
(defalias 'hfy-mark-trailing-whitespace #[0 "\205=\306\212eb\210\307 \306\211\306\211\310\211\310\311\312\310\306#\2030\313\314\224\314\225\315\306$\210\202\211?\2058\316\310!.\262*\207" [show-trailing-whitespace inhibit-read-only buffer-undo-list inhibit-point-motion-hooks inhibit-modification-hooks deactivate-mark t buffer-modified-p nil re-search-forward "[ 	]+$" put-text-property 0 hfy-show-trailing-whitespace restore-buffer-modified-p buffer-file-name buffer-file-truename] 7 (#$ . 46457)])
#@52 Undo the effect of `hfy-mark-trailing-whitespace'.
(defalias 'hfy-unmark-trailing-whitespace #[0 "\205(\306 \307\211\307\211\310\211\f\310
\311ed\312#\210\211?\205$\313\310!.\262\207" [show-trailing-whitespace buffer-undo-list inhibit-read-only inhibit-point-motion-hooks inhibit-modification-hooks deactivate-mark buffer-modified-p t nil remove-text-properties (hfy-show-trailing-whitespace nil) restore-buffer-modified-p buffer-file-name buffer-file-truename] 6 (#$ . 47057)])
#@179 Default handler to begin a span of text.
Insert "<span class="STYLE" ...>".
See `hfy-begin-span-handler' for more information.

(fn STYLE TEXT-BLOCK TEXT-ID TEXT-BEGINS-BLOCK-P)
(defalias 'hfy-begin-span #[1028 "\211\203\n\300\301\"c\210\203\300\302$\202\300\303\"c\207" [format "<span onclick=\"toggle_invis('%s');\">…</span>" "<span class=\"%s\" id=\"%s-%d\">" "<span class=\"%s\">"] 9 (#$ . 47555)])
#@108 Default handler to end a span of text.
Insert "</span>".  See `hfy-end-span-handler' for more
information.
(defalias 'hfy-end-span #[0 "\300c\207" ["</span>"] 1 (#$ . 47978)])
#@1081 Handler to begin a span of text.
The signature of the handler is (lambda (STYLE TEXT-BLOCK
TEXT-ID TEXT-BEGINS-BLOCK-P) ...).  The handler must insert
appropriate tags to begin a span of text.

STYLE is the name of the style that begins at point.  It is
derived from the face attributes as part of `hfy-face-to-css'
callback.  The other arguments TEXT-BLOCK, TEXT-ID,
TEXT-BEGINS-BLOCK-P are non-nil only if the buffer contains
invisible text.

TEXT-BLOCK is a string that identifies a single chunk of visible
or invisible text of which the current position is a part.  For
visible portions, its value is "nil".  For invisible portions,
its value is computed as part of `hfy-invisible-name'.

TEXT-ID marks a unique position within a block.  It is set to
value of `point' at the current buffer position.

TEXT-BEGINS-BLOCK-P is a boolean and is non-nil if the current
span also begins an invisible portion of text.

An implementation can use TEXT-BLOCK, TEXT-ID,
TEXT-BEGINS-BLOCK-P to implement fold/unfold-on-mouse-click like
behavior.

The default handler is `hfy-begin-span'.
(defvar hfy-begin-span-handler 'hfy-begin-span (#$ . 48162))
#@186 Handler to end a span of text.
The signature of the handler is (lambda () ...).  The handler
must insert appropriate tags to end a span of text.

The default handler is `hfy-end-span'.
(defvar hfy-end-span-handler 'hfy-end-span (#$ . 49310))
#@159 Implement the guts of `htmlfontify-buffer'.
SRCDIR, if set, is the directory being htmlfontified.
FILE, if set, is the file name.

(fn &optional SRCDIR FILE)
(defalias 'hfy-fontify-buffer #[512 "\203	\306!\262\307\310 \311\211\211\211	\205\312 	\205\313 	\203C\n\203CeU\2031\211dU\204C\314\"\262\315\316\317#\210\315\320\321#\210\322 \210\323 \262\324 \262\325 \262\326 \210\203]\327!\210\330ed#\210q\210\331ed#\210\311\203\210\203\210\332		\"\210\333		\"\210\334 \210\211\203\211@\211@A\311b\210\335\336\"\206\245\335\337\"\262\340=\203\263
 \210\202\f
\203\320\f\203\320\211\203\320\341``T\342#\210\343\211T\337\307$\210@\344
\"\n\205\345\345\346\347\"\"\205\353\f\205\365
\236$\210\211\203\f\341``T\350#\203\f\343\211T\337\307$\210\266A\266\202\202\214\210\203\234\203\234\351e\311\211\352\353\"\211\262\203K\335\353\"\211\262\203$b\210\341\211T\354#\210\355\356Qc\210\202$e\262\352\"\211\262\203\232\335\"\211\262\203Nb\210\341\211T\311D#\210\357\267\202N\335\360\"\211\262\203\205\345\361\"c\210\345\362\"c\210\337\262\202N\363c\210\351\262\202N\266\364 \210\365\366!\204\322eb\210\367	\"c\210\365\370!\203\271\371c\210\372c\210db\210\373c\210\365\370!\203\313\374c\210A!c\210\375\376!\210\377\311!\210)\207" [inhibit-read-only mark-active transient-mark-mode hfy-ignored-properties buffer-invisibility-spec hfy-end-span-handler directory-file-name t hfy-buffer nil region-beginning region-end make-overlay overlay-put priority 1000 face region hfy-mark-trailing-whitespace hfy-compile-stylesheet hfy-compile-face-map hfy-find-invisible-ranges hfy-unmark-trailing-whitespace delete-overlay copy-to-buffer remove-list-of-text-properties hfy-mark-tag-names hfy-mark-tag-hrefs hfy-html-enkludge-buffer get-text-property hfy-linkp hfy-endl end remove-text-properties (hfy-endl nil) put-text-property hfy-lookup format "%s" hfy-invisible-name (hfy-endl nil) hfy-link next-single-property-change hfy-anchor (hfy-anchor nil) "<a name=\"" "\"></a>" #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (hfy-link 373 hfy-endl 401)) hfy-inst "<a name=\"%s\"></a>" "<a href=\"%s\">" "</a>" hfy-html-dekludge-buffer hfy-opt body-text-only hfy-sprintf-stylesheet div-wrapper "<div class=\"default\">" "\n<pre>" "</pre>\n" "</div>" run-hooks hfy-post-html-hook set-buffer-modified-p hfy-begin-span-handler hfy-page-footer] 21 (#$ . 49559)])
#@210 Take a STRING and return a fontified version of it.
It is assumed that STRING has text properties that allow it to be
fontified.  This is a simple convenience wrapper around
`htmlfontify-buffer'.

(fn STRING)
(defalias 'htmlfontify-string #[257 "\301!\302>\203
\211\202\302B\211\262\303\304!r\211q\210\305\306\307\310\311!\312\"\313$\216c\210\314 \210\315 *\262)\207" [hfy-optimizations copy-sequence skip-refontification generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 htmlfontify-buffer buffer-string] 9 (#$ . 52065)])
#@59 Try to force font-locking even when it is optimized away.
(defalias 'hfy-force-fontification #[0 "\306\307!\210\310\311!\210\312\300!\203\204\313 	\2035\314\315\316 \206\"\317 \n#\210\320\321!\203.\321 \207\2054\322 \207\320\323!\203N\312\304!\203N\f\203N\314\324
\n#\210\323 \207\314\325
\n#\207" [font-lock-cache-position noninteractive major-mode font-lock-defaults jit-lock-mode window-system run-hooks hfy-init-kludge-hook require font-lock boundp make-marker message "hfy batch mode (%s:%S)" buffer-file-name buffer-name fboundp font-lock-ensure font-lock-fontify-buffer jit-lock-fontify-now "hfy jit-lock mode (%S %S)" "hfy interactive mode (%S %S)"] 4 (#$ . 52676)])
#@693 Create a new buffer, named for the current buffer + a .html extension,
containing an inline CSS-stylesheet and formatted CSS-markup HTML
that reproduces the look of the current Emacs buffer as closely
as possible.

Dangerous characters in the existing buffer are turned into HTML
entities, so you should even be able to do HTML-within-HTML
fontified display.

You should, however, note that random control or non-ASCII
characters such as ^L (U+000C FORM FEED (FF)) or ¤ (U+00A4
CURRENCY SIGN) won't get mapped yet.

If the SRCDIR and FILE arguments are set, lookup etags derived
entries in the `hfy-tags-cache' and add HTML anchors and
hyperlinks as appropriate.

(fn &optional SRCDIR FILE)
(defalias 'htmlfontify-buffer #[512 "\211\204\300 \206\301 \262\302\303\"\203\304\305\"\262\306\307!\204%\212\310 \210)\311\312!\2032\313\314\"!\207\314\"\207" [buffer-file-name buffer-name string-match "/\\([^/]*\\)\\'" match-string 1 hfy-opt skip-refontification hfy-force-fontification called-interactively-p any switch-to-buffer hfy-fontify-buffer] 6 (#$ . 53372) nil])
#@101 Return a list of files under DIRECTORY.
Strips any leading "./" from each filename.

(fn DIRECTORY)
(defalias 'hfy-list-files #[257 "\301!\210\302\303\304\305!!\"\207" [hfy-find-cmd cd mapcar #[257 "\300\301\"\203\f\302\303\"\207\207" [string-match "^./\\(.*\\)" match-string 1] 4 "\n\n(fn F)"] split-string shell-command-to-string] 6 (#$ . 54461)])
#@228 Return everything preceding the last "/" from a relative filename FILE,
on the assumption that this will produce a relative directory name.
Hardly bombproof, but good enough in the context in which it is being used.

(fn FILE)
(defalias 'hfy-dirname #[257 "\300!\301\302\"\205\303\304\"\207" [directory-file-name string-match "^\\(.*\\)/" match-string 1] 5 (#$ . 54823)])
#@47 Approx. equivalent of mkdir -p DIR.

(fn DIR)
(defalias 'hfy-make-directory #[257 "\300!\203\301!\205\302\207\303\302\"\207" [file-exists-p file-directory-p t make-directory] 4 (#$ . 55206)])
#@86 Is SRCDIR/FILE text?  Uses `hfy-istext-command' to determine this.

(fn SRCDIR FILE)
(defalias 'hfy-text-p #[514 "\301\302\303\"!\"\304!\305\306\"\207" [hfy-istext-command format shell-quote-argument expand-file-name shell-command-to-string string-match "text"] 8 (#$ . 55411)])
#@234 Open FILE in SRCDIR - if fontified, write a fontified copy to DSTDIR
adding an extension of `hfy-extn'.  Fontification is actually done by
`htmlfontify-buffer'.  If the buffer is not fontified, just copy it.

(fn SRCDIR DSTDIR FILE)
(defalias 'hfy-copy-and-fontify-file #[771 "\301\211\211\302!\210r\303!\211\262q\210\304Q\262\305\306!!\210\307\310!\204&\311 \210\312 \2043\313\"\203J\314\"\262\211q\210\315P!\210\316!\210\202h\317!\211\203_\320!\204_\321\322\323\"\"\210\210\324\325!\326#\210\316!)\207" [hfy-extn nil cd find-file-noselect "/" hfy-make-directory hfy-dirname hfy-opt skip-refontification hfy-force-fontification hfy-fontified-p hfy-text-p hfy-fontify-buffer write-file kill-buffer file-modes file-writable-p set-file-modes logior 128 copy-file buffer-file-name overwrite] 12 (#$ . 55703)])
#@108 List of etags tags that have definitions in this FILE.
CACHE-HASH is the tags cache.

(fn CACHE-HASH FILE)
(defalias 'hfy-tags-for-file #[514 "\300C\203\301\302\303\304\305\306\"\307\"\310\311%\"\210\211\242\207" [nil maphash make-byte-code 514 "\302\300\"\205
\301\301\242B\240\207" vconcat vector [assoc] 5 "\n\n(fn K V)"] 11 (#$ . 56548)])
#@140 Mark tags in FILE (lookup SRCDIR in `hfy-tags-cache') with the `hfy-anchor'
property, with a value of "tag.line-number".

(fn SRCDIR FILE)
(defalias 'hfy-mark-tag-names #[514 "\301\"\211A@\211\205!\302\303\304\305\306\307\"\310\"\311\312%\313\"\"\207" [hfy-tags-cache assoc mapcar make-byte-code 257 "\302\303\304\305\306\307\300\"\310\"\311\312%\313\301\"\"\207" vconcat vector [mapcar make-byte-code 257 "\300@\230\205\211A@AA@\302\303\301#\304T\305\\\306$\266\203\207" vconcat vector [format "%s.%d" put-text-property 2 hfy-anchor] 9 "\n\n(fn TLIST)" gethash] 9 "\n\n(fn TAG)" hfy-tags-for-file] 12 (#$ . 56909)])
#@222 Return a "../" stub of the appropriate length for the current source
tree depth, as determined from FILE (a filename).
START is the offset at which to start looking for the / character in FILE.

(fn FILE &optional START)
(defalias 'hfy-relstub #[513 "\300\301\302#\211\262\203T\262\211\303P\262\202\211\207" ["" string-match "/" "../"] 7 (#$ . 57554)])
#@586 Return an href stub for a tag href in THIS-FILE.
If DEF-FILES (list of files containing definitions for the tag in question)
contains only one entry, the href should link straight to that file.
Otherwise, the link should be to the index file.

We are not yet concerned with the file extensions/tag line number and so on at
this point.

If `hfy-split-index' is set, and the href wil be to an index file rather than
a source file, append a .X to `hfy-index-file', where X is the uppercased
first character of TAG.

See also `hfy-relstub', `hfy-index-file'.

(fn THIS-FILE DEF-FILES TAG)
(defalias 'hfy-href-stub #[771 "\302!G\303U\203@\202 \204	\202 	\304\305\306\303#\226QP\207" [hfy-split-index hfy-index-file hfy-relstub 1 "." substring 0] 10 (#$ . 57924)])
#@337 Return a relative href to the tag in question, based on

THIS-FILE `hfy-link-extn' `hfy-extn' DEF-FILES TAG and TAG-MAP

THIS-FILE is the current source file
DEF-FILES is a list of file containing possible link endpoints for TAG
TAG is the tag in question
TAG-MAP is the entry in `hfy-tags-cache'.

(fn THIS-FILE DEF-FILES TAG TAG-MAP)
(defalias 'hfy-href #[1028 "\302#\206\n	\303G\304U\205\"\305\306\307\310\n@	\"A@\"P\260\207" [hfy-link-extn hfy-extn hfy-href-stub "#" 1 "." format "%d" assoc] 14 (#$ . 58701)])
#@119 Return a regex that matches STRING as the first `match-string', with non
word characters on either side.

(fn STRING)
(defalias 'hfy-word-regex #[257 "\300\301!\302Q\207" ["[^$A-Za-z_0-9]\\(" regexp-quote "\\)[^A-Za-z_0-9]"] 4 (#$ . 59234)])
#@389 Mark href start points with the `hfy-link' prop (value: href string).

Mark href end points with the `hfy-endl' prop (value t).

Avoid overlapping links, and mark links in descending length of
tag name in order to prevent subtags from usurping supertags,
(eg "term" for "terminal").
SRCDIR is the directory being "published".
FILE is the specific file we are rendering.

(fn SRCDIR FILE)
(defalias 'hfy-mark-tag-hrefs #[514 "\304\"\304	\"\304\n\"\305\306!\305\307!\310C\310\211C\310A@\240\205M\211A@\240\205MA@\211\262\205M\311\312\313\314\315\316\n%\317\"\320\321%\")\207" [hfy-tags-cache hfy-tags-sortl hfy-tags-rmap case-fold-search assoc hfy-opt zap-comment-links zap-string-links nil mapcar make-byte-code 257 "\306\211\211\211\211\306\211\211\211\211\211\307!\310\f\303\242\"\311\312\"eb\210\313\306\314#\205\340`\262	\315\224S\262b\210\316!\203\331\317\224\262
\317\225\262\f\301\204H\302\205L\320
!\262<\203\\\321>A@\262\322

T\323\324$\204\331\301\203s\325=\204\331\302\203~\326=\204\331\327 \262\310\304\242\"\262\300E\262B\262\330\331#\262\n\332
\211T\333
$\210\334\304\242#\210\335\300$\262\332
\211T\336$\210\332\f\211T\337\324$\210\332

T\323\324$\210b\210\202)\207" vconcat vector [case-fold-search nil hfy-word-regex gethash mapcar car search-forward NOERROR 0 looking-at 1 hfy-face-at :inherit text-property-any hfy-linkp t font-lock-comment-face font-lock-string-face line-number-at-pos format "%s.%d" put-text-property hfy-inst puthash hfy-href hfy-link hfy-endl] 19 "\n\n(fn TAG)"] 21 (#$ . 59484)])
#@69 Return `shell-file-name', or "/bin/sh" if it is a non-Bourne shell.
(defalias 'hfy-shell #[0 "\302\303\"\203	\207	\206\304\207" [shell-file-name hfy-shell-file-name string-match "\\<bash\\>\\|\\<sh\\>\\|\\<dash\\>" "/bin/sh"] 3 (#$ . 61107)])
#@80 Run `hfy-etags-cmd' on SRCDIR, then call `hfy-parse-tags-buffer'.

(fn SRCDIR)
(defalias 'hfy-load-tags-cache #[257 "\303\304!\305	\"\306 \307!\210\310\"\210\311\")\207" [hfy-etags-cmd hfy-etags-bin shell-file-name get-buffer-create "*hfy-tags*" format hfy-shell cd shell-command hfy-parse-tags-buffer] 6 (#$ . 61361)])
#@141 Parse a BUFFER containing etags formatted output, loading the
`hfy-tags-cache' and `hfy-tags-sortl' entries for SRCDIR.

(fn SRCDIR BUFFER)
(defalias 'hfy-parse-tags-buffer #[514 "\304\"\304	\"\304\n\"\305\211\211C\305\211\211\211\211\211	\203$	A@\262\2022\306\307\310\"\262
D\nD\311!\210\203EA@\262	\202S\306\307\310\"\262	
	DD\311	!\210r\fq\210eb\210\312\313!\203\310\314y\315U\203\310\312\316!\203`\314y\315U\203`\317\314!\262\312!\203`\314y\315U\203`\317\314!\262G\315U\204\320\321\317\322!!!\262\320\321\317\323!!!\262\324\n\"\262\211E\262B\262\325#\210\202)\326\327\330\331\332\333\f!\334\"\335\336%\n\"\210\337\242\340\"\240\210\n\203\365\nA\242\240\210\202\376
\242D	B\242G\207" [hfy-tags-cache hfy-tags-sortl hfy-tags-rmap hfy-etag-regex assoc nil make-hash-table :test equal clrhash looking-at "^\f" 1 0 "^\\(.+\\),\\([0-9]+\\)$" match-string round string-to-number 2 3 gethash puthash maphash make-byte-code 514 "\300\300\242B\240\207" vconcat vector #1=[] 5 "\n\n(fn K V)" sort #[514 "\211GGW\207" #1# 4 "\n\n(fn A B)"]] 21 (#$ . 61695)])
#@525 Prepare a tags index buffer for SRCDIR.
`hfy-tags-cache' must already have an entry for SRCDIR for this to work.
`hfy-page-header', `hfy-page-footer', `hfy-link-extn' and `hfy-extn'
all play a part here.

If STUB is set, prepare an (appropriately named) index buffer
specifically for entries beginning with STUB.

If MAP is set, use that instead of `hfy-tags-cache'.
FILENAME is the name of the file being indexed.
DSTDIR is the output directory, where files will be written.

(fn SRCDIR DSTDIR FILENAME &optional STUB MAP)
(defalias 'hfy-prepare-index-i #[1283 "\305\206\"\306\211C\203\307P\202\310	Q\306\205\333A@\211\262\205\333\311!\211\262\205\333\312\313\314\315\316\317!\320\"\321\322%\"\210\323\242\324\"\240\210\211q\210\325 \210\n\326\"c\210\327c\210\242\211\203\302\211@\306\330\"\211\203\271\211@\203}\331\332
P\"\203\262\211@A@\333\334\230\203\220\335\202\226\333\336	\211#\206\234	\211\206\244	
	\211&\nc\210\262\266A\266\202\202h\266A\266\202\202\\\210\337c\210\f!c\210\203\326\340	!\210\341!\210\211\207" [hfy-tags-cache hfy-extn hfy-page-header hfy-link-extn hfy-page-footer assoc nil "." "" get-buffer-create maphash make-byte-code 514 "\300\300\242B\240\207" vconcat vector [] 5 "\n\n(fn K V)" sort string< erase-buffer "<!-- CSS -->" "<table class=\"index\">\n" gethash string-match "^" format "  <tr>                                   \n   <td>%s</td>                           \n   <td><a href=\"%s%s\">%s</a></td>      \n   <td><a href=\"%s%s#%s.%d\">%d</a></td>\n  </tr>                                  \n" "&nbsp;" "<a name=\"%s\">%s</a>" "</table>\n" cd set-visited-file-name] 28 (#$ . 62832)])
#@161 Return a list of index buffer(s), as determined by `hfy-split-index'.
SRCDIR and DSTDIR are the source and output directories respectively.

(fn SRCDIR DSTDIR)
(defalias 'hfy-prepare-index #[514 "\204\f\303	\304$C\207\304C\304\211C\305\n\"\211\2039\211A@\211\262\2039\306\307\310\311\312\313\n$\314\"\315\316%\"\210\242\207" [hfy-split-index hfy-index-file hfy-tags-cache hfy-prepare-index-i nil assoc maphash make-byte-code 514 "\305\306\307#\226\211\302\242\235?\205 \302\302\242B\240\210\303\310\300\301\f$\303\242B\240\207" vconcat vector [hfy-index-file substring 0 1 hfy-prepare-index-i] 9 "\n\n(fn K V)"] 16 (#$ . 64534)])
#@318 Prepare the counterpart(s) to the index buffer(s) - a list of buffers
with the same structure, but listing (and linking to) instances of tags
(as opposed to their definitions).

SRCDIR and DSTDIR are the source and output directories respectively.
See also `hfy-prepare-index', `hfy-split-index'.

(fn SRCDIR DSTDIR)
(defalias 'hfy-prepare-tag-map #[514 "\204
\303	\304\n%C\207\304C\304\211C\305\n\"\211\203:\211A@\211\262\203:\306\307\310\311\312\313\n$\314\"\315\316%\"\210\242\207" [hfy-split-index hfy-instance-file hfy-tags-rmap hfy-prepare-index-i nil assoc maphash make-byte-code 514 "\306\307\310#\226\211\302\242\235?\205!\302\302\242B\240\210\303\311\300\301\f
%\303\242B\240\207" vconcat vector [hfy-instance-file hfy-tags-rmap substring 0 1 hfy-prepare-index-i] 10 "\n\n(fn K V)"] 16 (#$ . 65192)])
#@171 Internal function - strips definitions of tags from the instance map.
SRCDIR is the directory being "published".
See also `hfy-tags-cache', `hfy-tags-rmap'.

(fn SRCDIR)
(defalias 'hfy-subtract-maps #[257 "\303\211\211\211\304\"A@\304	\"A@\304\n\"A@\211\211\205g\211@\305\"\262\305\"\262\306\307\"\262\303\262	\211\203W\211@\211@A@D\235\204P\211B\262A\266\202\2028\210\310\n#\210A\266\202\202\262\207" [hfy-tags-cache hfy-tags-rmap hfy-tags-sortl nil assoc gethash mapcar #[257 "\211@A@D\207" [] 3 "\n\n(fn P)"] puthash] 14 (#$ . 66031)])
#@79 Load the etags cache for SRCDIR.
See also `hfy-load-tags-cache'.

(fn SRCDIR)
(defalias 'htmlfontify-run-etags #[257 "\300\301!!\207" [hfy-load-tags-cache directory-file-name] 4 (#$ . 66614) "D source directory: "])
#@37 

(fn BUFFER-LIST &optional DSTDIR)
(defalias 'hfy-save-kill-buffers #[513 "\211\205&\211@\211q\210\203\300!\203\301!\210\302 \210\303!\210A\266\202\202\207" [file-directory-p cd save-buffer kill-buffer] 6 (#$ . 66837)])
#@244 Trawl SRCDIR and write fontified-and-hyperlinked output in DSTDIR.
F-EXT and L-EXT specify values for `hfy-extn' and `hfy-link-extn'.

You may also want to set `hfy-page-header' and `hfy-page-footer'.

(fn SRCDIR DSTDIR &optional F-EXT L-EXT)
(defalias 'htmlfontify-copy-and-link-dir #[1026 "\303!\262\303!\262\304\305\"\206\306\206\306\211\204/\307\310!\210\311!\210\305\"\262\312A@!\210\313!\210\314!\262\211\203U\211@\315#\210A\266\202\202@\210\316!\210\317\320\"\"\210\317\321\"\"*\207" [hfy-tags-rmap hfy-link-extn hfy-extn directory-file-name "SETME: list of source files, relative to srcdir" assoc ".html" message "autoload of tags cache" hfy-load-tags-cache clrhash hfy-make-directory hfy-list-files hfy-copy-and-fontify-file hfy-subtract-maps hfy-save-kill-buffers hfy-prepare-index hfy-prepare-tag-map] 12 (#$ . 67078) "D source directory: \nD output directory: "])
#@76 Return the expected location of the htmlfontify specific init/custom file.
(defalias 'hfy-initfile #[0 "\300\301!\206\302\303\304\"\207" [getenv "HFY_INITFILE" ".hfy.el" expand-file-name "~"] 4 (#$ . 68009)])
(defalias 'hfy-init-progn 'progn)
#@12 

(fn SYM)
(defalias 'hfy-save-initvar #[257 "\300\301\302\"!\210\303J!\210\300\304!\207" [princ format "(setq %s\n '" pp ")\n"] 5 (#$ . 68261)])
#@61 Save the htmlfontify settings to the htmlfontify init file.
(defalias 'htmlfontify-save-initfile #[0 "\302\303 \304\305\"\212\306\307!\210`\262\310\311!\210\312\313\314\"\210\310\315!\210\316`\302#\210)\317 *\207" [custom-file standard-output nil hfy-initfile find-file-noselect nowarn custom-save-delete hfy-init-progn princ "(hfy-init-progn\n;;auto-generated, only one copy allowed\n" mapc hfy-save-initvar (auto-mode-alist interpreter-mode-alist) ")\n" indent-region custom-save-all] 5 (#$ . 68415) nil])
#@49 Load the htmlfontify specific init/custom file.
(defalias 'htmlfontify-load-initfile #[0 "\300 \301\302\303\211$\207" [hfy-initfile load NOERROR nil] 6 (#$ . 68934) nil])
(provide 'htmlfontify)

Youez - 2016 - github.com/yon3zu
LinuXploit