;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\302\303\304\305\306\307\306\310&\210\311\312\313\314\306\303%\210\311\315\316\317\306\303%\210\311\320\321\322\306\303%\210\311\323\324\325\306\303%\210\311\326\327\330\306\303%\210\311\331\332\333\306\303%\210\311\334\335\336\306\303%\210\311\337\340\341\306\303%\210\311\342\343\344\306\303%\210\311\345\346\347\306\303%\210\311\350\351\352\306\303%\210\311\353\354\355\306\303%\210\311\356\357\360\306\303%\210\311\361\362\363\306\303%\207" [require xml custom-declare-group docbook nil "The Emacs DocBook reader." :group help docs custom-declare-face docbook-xref ((t :inherit button)) "Face for DocBook cross references." docbook-warning ((t :inherit font-lock-warning-face)) "Face for warning text in DocBook documents." docbook-emphasis ((t :slant italic)) "Face for emphasized text in DocBook documents." docbook-literal ((t :inherit (font-lock-constant-face fixed-pitch))) "Face for DocBook text marked as being literal." docbook-computer ((t :inherit (font-lock-type-face fixed-pitch))) "Face for DocBook text marked as computer output." docbook-computer-term ((t :inherit (font-lock-keyword-face fixed-pitch))) "Face for DocBook text marked as computer terminology." docbook-replaceable ((t :inherit (font-lock-string-face bold))) "Face for DocBook text marked as replaceable." docbook-citation ((t :slant italic)) "Face for DocBook text marked as non-xref citations." docbook-label ((t :weight bold :underline t)) "Face for DocBook text marked as labels for Q&A entries," docbook-small ((t :height 0.8)) "Face for DocBook text marked as small." docbook-chapter-title ((((type tty pc) (class color) (background light)) :foreground "green" :weight bold :underline t) (((type tty pc) (class color) (background dark)) :foreground "yellow" :weight bold :underline t) (t :height 1.5 :inherit docbook-section-title)) "Face for DocBook chapter titles." docbook-section-title ((((type tty pc) (class color)) :foreground "lightblue" :weight bold :underline t) (t :height 1.2 :inherit docbook-subsection-title)) "Face for DocBook section titles." docbook-subsection-title ((t :weight bold :height 1.1 :inherit variable-pitch)) "Face for DocBook subsection titles." docbook-misc-title ((t :weight bold :underline t)) "Face for miscellaneous DocBook titles."] 8) #@52 Alist mapping DocBook section types to title faces (defvar docbook-title-markup-alist '((book . docbook-chapter-title) (chapter . docbook-chapter-title) (sect1 . docbook-section-title) (sect2 . docbook-subsection-title) (sect3 . docbook-subsection-title) (sect4 . docbook-subsection-title) (sect5 . docbook-subsection-title) (section . docbook-section-title) (simplesect . docbook-section-title)) (#$ . 2376)) #@54 Alist mapping DocBook element types to markup faces. (defvar docbook-text-markup-alist '((emphasis . docbook-emphasis) (foreignphrase . docbook-emphasis) (firstterm . docbook-emphasis) (bridgehead . docbook-section-title) (refname . docbook-section-title) (refpurpose . docbook-emphasis) (citetitle . docbook-citation) (subscript . docbook-small) (superscript . docbook-small) (replaceable . docbook-replaceable) (accel . docbook-computer) (computeroutput . docbook-computer) (guibutton . docbook-computer) (guiicon . docbook-computer) (guilabel . docbook-computer) (guimenu . docbook-computer) (guimenuitem . docbook-computer) (guisubmenu . docbook-computer) (keycap . docbook-computer) (keycode . docbook-computer) (keycombo . docbook-computer) (keysym . docbook-computer) (markup . docbook-computer) (menuchoice . docbook-computer) (mousebutton . docbook-computer) (msgset . docbook-computer) (prompt . docbook-computer) (shortcut . docbook-computer) (tag . docbook-computer) (userinput . docbook-computer) (application . docbook-computer-term) (classname . docbook-computer-term) (command . docbook-computer-term) (constant . docbook-computer-term) (database . docbook-computer-term) (envar . docbook-computer-term) (errorcode . docbook-computer-term) (errorname . docbook-computer-term) (errortype . docbook-computer-term) (filename . docbook-computer-term) (function . docbook-computer-term) (hardware . docbook-computer-term) (option . docbook-computer-term) (optional . docbook-computer-term) (parameter . docbook-computer-term) (property . docbook-computer-term) (returnvalue . docbook-computer-term) (symbol . docbook-computer-term) (systemitem . docbook-computer-term) (token . docbook-computer-term) (type . docbook-computer-term) (varname . docbook-computer-term) (literal . docbook-literal) (caution . docbook-warning) (important . docbook-emphasis) (tip . docbook-emphasis) (warning . docbook-warning)) (#$ . 2792)) #@103 List of DocBook sectioning element types. DocBook mode shows one section at a time, as a single page. (defvar docbook-page-types '(acknowledgements appendix article bibliography book chapter colophon dedication glossary part preface sect1 sect2 sect3 sect4 sect5 section set setindex toc) (#$ . 4730)) #@69 List of DocBook block types which require no additional processing. (defvar docbook-block-types '(para simpara formalpara equation informalequation informalexample figure informalfigure blockquote epigraph msgset sidebar bridgehead caution important note tip warning cmdsynopsis) (#$ . 5038)) #@40 List of DocBook block-level list types (defvar docbook-list-types '(calloutlist bibliolist glosslist itemizedlist orderedlist segmentedlist simplelist variablelist qandaset task procedure substeps) (#$ . 5337)) #@64 List of DocBook block element types which preserve whitespace. (defvar docbook-literal-block-types '(address literallayout programlisting screen screenco screenshot synopsis) (#$ . 5554)) #@54 List of DocBook element types which are not printed. (defvar docbook-suppressed-types '(comment info bookinfo chapterinfo sectioninfo articleinfo label refmeta refclass) (#$ . 5748)) #@59 Column number of xrefs printed by `docbook--print-index'. (defvar docbook-index-separator-column 30 (#$ . 5937)) #@135 Alist mapping XML entities to their replacement text. These elements are added to `xml-entity-alist' while parsing DocBook documents. (defvar docbook-entity-alist '(("lsquo" . "`") ("rsquo" . "'") ("ldquo" . "\"") ("rdquo" . "\"") ("copy" . "(C)") ("tex" . "TeX") ("latex" . "LaTeX") ("hellip" . "...") ("period" . ".") ("minus" . "-") ("colon" . ":") ("mdash" . "--") ("ndash" . "-")) (#$ . 6057)) #@45 Parse tree of the current DocBook document. (defvar docbook--parse-tree nil (#$ . 6462)) #@1012 Hash table mapping DocBook IDs (symbols) to node contents. Each key should be a Lisp symbol. Each XML node with an XML ID is keyed by an interned Lisp symbol with a matching symbol name. Sectioning (page) nodes which lack their own XML IDs are keyed using uninterned Lisp symbols created when parsing the XML tree. Each hash table value has one of these two forms: (NODE TITLE-NODE PARENT-ID PREV NEXT SUBSECTIONS) (NODE TITLE-NODE PARENT-ID) The first represents a node corresponding to a DocBook section, which is displayed as a separate page in the DocBook reader. The second represents a node which does not correspond to a DocBook section, e.g. a position within a section for a cross-reference to jump to. NODE is the Lisp list tree corresponding to the XML node. TITLE-NODE is the node corresponding to the node's title (a string), or nil. PARENT-ID is the ID of the node's parent page, or nil. PREV and NEXT are the IDs of the previous and next page. SUBSECTIONS is a list of IDs of child pages. (defvar docbook--id-table nil (#$ . 6559)) #@232 Alist mapping DocBook node IDs to markers. Each key should be a Lisp symbol, but it is not required to be one of the keys in `docbook--id-table'. This alist is used to record the positions of xref'ed elements on the current page. (defvar docbook-id-markers-alist nil (#$ . 7620)) #@124 ID of the topmost (root) page in the current DocBook document. The value should be one of the keys in `docbook--id-table'. (defvar docbook-top-page nil (#$ . 7908)) #@93 ID of the current DocBook page. The value should be one of the keys in `docbook--id-table'. (defvar docbook-current-page nil (#$ . 8079)) (defvar docbook--indent-level 0) (defvar docbook--list-context nil) #@206 Alist mapping index types to index data. Each list element has the form (TYPE . ALIST), where TYPE is a symbol specifying the index type (nil for the default index) and ALIST is an alist (TERM . ID-LIST). (defvar docbook--index-alist nil (#$ . 8292)) #@56 List of DocBook node IDs which were previously viewed. (defvar docbook-history nil (#$ . 8549)) #@63 List of DocBook node IDs visited with `docbook-history-back'. (defvar docbook-history-forward nil (#$ . 8651)) (defconst docbook--nil (make-symbol "nil")) #@171 Set up a DocBook buffer using the XML parse tree PARSE-TREE. PARSE-TREE should be a list of the sort returned by `xml-parse-file' or `xml-parse-buffer'. (fn PARSE-TREE) (defalias 'docbook-setup #[257 "\306 \210\211\307\310\311\"\312\211\312\211\312\313\312\211#\210*\n\211\205H\211@\211\314A\315\"\241\210\211A\211\203@\211@\211A\237\241\210A\266\202\202-\210A\266\202\202\207" [docbook--parse-tree docbook--id-table docbook--index-alist docbook-history docbook-history-forward docbook--last-page-id-registered docbook-mode make-hash-table :test eq nil docbook-register-node sort #[514 "@@\231\207" [] 4 "\n\n(fn A B)"] docbook--last-page-registered] 8 (#$ . 8813)]) #@448 Register NODE. NODE should be a cons cell---a subnode of the tree returned by `xml-parse-file'. PARENT is the registered node ID of the parent page (a symbol). PARENT-NODE-ID is the registered node ID of the node's immediate parent (which may or may not correspond to a page node), or nil if the parent has no ID. If NODE is a page node, return its registered node ID (a symbol). Otherwise, return nil. (fn NODE PARENT-PAGE-ID PARENT-NODE-ID) (defalias 'docbook-register-node #[771 "\211@\262\211\301=\206&\211\302=\203\303\"\207\211>\203!\304\"\207\305#\207" [docbook-page-types comment indexterm docbook--register-indexterm docbook--register-page-node docbook--register-nonpage-node] 8 (#$ . 9508)]) #@23 (fn NODE PARENT-ID) (defalias 'docbook--register-indexterm #[514 "\302\303\"\211\203\304\305E#\210\306\307!\262A\310B\211A@\262B\240\210\304\305E#\210\302\311\"\211 \236\211\204@C\211\262 B\211AA\262\211\203\206\211@\211:\203\211\211@\262\312>\203\313!\314A\"\211\203s\211AB\241\266\202DAB\241\266A\266\202\202F\266\305\207" [docbook--id-table docbook--index-alist docbook--attr id puthash nil make-symbol "indexterm" docbook-indexterm-id type (primary secondary tertiary) docbook--node-text assoc] 12 (#$ . 10234)]) #@23 (fn NODE PARENT-ID) (defalias 'docbook--register-page-node #[514 "\304\305\"C\211\242\204\211\306\307!\240\210\204\211\242 \203\"\310 \233\242\240\210\311\n\311\211\257\211\242\242\203;\312\242 #\210\313\314\315\"\211AA\262\"\316\233\317\311\"\240\266\211\242\207" [docbook-top-page docbook--last-page-registered docbook--last-page-id-registered docbook--id-table docbook--attr id make-symbol "Unnamed section" 4 nil puthash mapcar make-closure #[257 "\211:\205\f\301\300\242\300\242#\207" [V0 docbook-register-node] 5 "\n\n(fn SUBNODE)"] 5 delq] 9 (#$ . 10808)]) #@43 (fn NODE PARENT-PAGE-ID PARENT-NODE-ID) (defalias 'docbook--register-nonpage-node #[771 "\301\302\"\211@\262\303=\203\203\304!\211\203\211A\240\210\210\211\203-\305\306E#\210\211AA\262\211\203L\211@\211:\203E\307#\210A\266\202\2023\210\306\207" [docbook--id-table docbook--attr id title docbook--node-record puthash nil docbook-register-node] 10 (#$ . 11407)]) #@142 Return the record keyed by NODE-ID in `docbook--id-table'. If NODE-ID is nil, it defaults to ID of the current page. (fn &optional NODE-ID) (defalias 'docbook--node-record #[256 "\302\206 \"\207" [docbook-current-page docbook--id-table gethash] 4 (#$ . 11805)]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put docbook--node-record speed -1 put byte-optimizer byte-compile-inline-expand] 5) #@79 If ID is non-nil, add a marker for it to `docbook-id-markers-alist'. (fn ID) (defalias 'docbook-add-fragment-link #[257 "\211\205\f\211\301 BB\211\207" [docbook-id-markers-alist point-marker] 3 (#$ . 12224)]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put docbook-add-fragment-link speed -1 put byte-optimizer byte-compile-inline-expand] 5) #@191 Return the value of attribute ATTRIBUTE in xml node NODE. The value is automatically converted to a Lisp symbol. If the node lacks the specified attribute, return nil. (fn ATTRIBUTE NODE) (defalias 'docbook--attr #[514 "\211A@\262\236A\211;\205 \211\301\232?\205 \211\302\232\203\207\303!\207" [docbook--nil "" "nil" intern] 5 (#$ . 12595)]) #@201 Return a string which displays as BASE-STRING on graphical terminals. Use a display property so that on non-graphical terminals, the string displays as the FALLBACK string. (fn BASE-STRING FALLBACK) (defalias 'docbook--display-string #[514 "\300\301\302\303BB#\207" [propertize display when (not (display-graphic-p))] 8 (#$ . 12955)]) #@71 Return the contents of the DocBook node NODE, as a string. (fn NODE) (defalias 'docbook--node-text #[257 "\300\301\211AA\262\302#\303\304\"\203\211\305\225\306O\262\303\307\"\203&\211\305\211\224O\262\207" [mapconcat #[257 "\211;\203\300\301\"\203\302\207\207\211:\205\303!\207" [string-match "\\`\\s-+\\'" #1="" docbook--node-text] 4 "\n\n(fn X)"] #1# string-match "\\`\\s-+" 0 nil "\\s-+\\'"] 5 (#$ . 13299)]) #@66 Insert newlines for the start or end of a DocBook block element. (defalias 'docbook--print-block-delimiter #[0 "o\206\300\301!\206`Sf\302=\203\302c\207\301c\207" [looking-back "\n\n" 10] 2 (#$ . 13735)]) #@208 Insert STR (a string) at point, unless it is useless whitespace. If LITERAL is non-nil, preserve whitespace. If FACE is non-nil, apply it as the face for the inserted text. (fn STR &optional LITERAL FACE) (defalias 'docbook--print-string #[769 "\204 \300\301\"\204\302\303#c\207n\206`Sf\304>?\205!\305c\207" [string-match "\\`\\s-+\\'" propertize font-lock-face (32 9) " "] 7 (#$ . 13952)]) #@85 Return a face or list of faces, by merging BASE-FACE and FACE. (fn BASE-FACE FACE) (defalias 'docbook--merge-face #[514 "\204\207\211\204 \207\211=\203\207\300:\203\202C:\203(\202*C\"\207" [append] 5 (#$ . 14361)]) #@289 Return a face suitable for displaying DocBook node type TYPE. BASE-FACE is the face specified by the node's parent elements. If PARENT is non-nil, treat TYPE as the type of the parent node, and assume that we are looking up the face of a title node. (fn BASE-FACE TYPE &optional PARENT) (defalias 'docbook--node-face #[770 "\211\203\236A\206\302\202 \236A\303\"\207" [docbook-title-markup-alist docbook-text-markup-alist docbook-misc-title docbook--merge-face] 7 (#$ . 14605)]) #@336 Print the DocBook section corresponding to NODE-ID. If NODE-ID is not a registered DocBook section node, signal an error. The optional argument ERROR-MSG, if non-nil, specifies a default error message. If optional argument NORECORD is non-nil, do not record this node in `docbook-history'. (fn NODE-ID &optional ERROR-MSG NORECORD) (defalias 'docbook-print-page #[769 "\2059\205\306\206 \"\262\211\204*\307\310!\203\"\310\202#\311\206(\312!\210\2044\nB\313\211G\314U\203G\315\3168\313\317#\210\320!\207\317\211@\3218\313\322 \210\313\"\211\205g\211\323 B\"B\211\"\266\211AA\262\211\203\240\211@\211\203\231\211;\203\205\324!\210\202\231\211\211@\262#>\204\231\325\211@\262\"\210A\266\202\202o\210\326 \210\211\203\335\327 \210\324\330\313\331#\210\332c\210\333\334\335\"\313\211\203\333\211@`\262c\210\336!\210\337c\210\340`\341$\210A\266\202\202\272\266eb*\207" [docbook-current-page docbook--id-table docbook-history docbook-history-forward inhibit-read-only docbook--footnotes gethash fboundp user-error error "Node not found" nil 3 docbook-print-page 2 t docbook--visit-xref-marker 5 erase-buffer point-marker docbook--print-string docbook--print-node docbook--print-footnotes docbook--print-block-delimiter "Menu" docbook-misc-title "\n" docbook--display-string "• " "* " docbook-insert-xref 10 put-text-property docbook-menu-xref docbook-id-markers-alist docbook-page-types] 15 (#$ . 15102)]) #@553 Insert the contents of NODE at point. NODE should be a cons cell---a subnode of the tree returned by `xml-parse-file'. PARENT-TYPE should be the node type of the parent node (a symbol), or nil if this is the topmost node. Optional arg LITERAL, if non-nil, means to preserve whitespace and newlines when printing this node. Optional arg FACE, if non-nil, should be a face or list of faces to use, by default, for printing this node. The node may apply additional markup on top to of the specified FACE. (fn NODE PARENT-TYPE &optional LITERAL FACE) (defalias 'docbook--print-node #[1026 "\211@\262\211>\203\304\305\"\211\205\211\306 B B\211\207\211\307=\203.\310\311\312##\207\311\"\262\211\n>\203@\310#\207\304\305\"\211\205Q\211\306 B B\211\266\211\313=\203_\314#\207\211\315\267\202\217\316\211A@\262\236A\211\205z\211\306 B B\211\207\317\304\320\"!\207\321#\207\322#\207\211 >\203\233\323#\207\211\324\267\202\353\325#\207\326#\207\327#\207\330#\207\331\332\333\334\"#\210\335#\210\331\332\336\337\"#\207\340!\207\341\342$\207\341\343$\207\344#\207\312\207\335#\207" [docbook-suppressed-types docbook-id-markers-alist docbook-block-types docbook-list-types docbook--attr id point-marker title docbook--print-block docbook--node-face t xref docbook--print-xref #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (indexterm 101 index 123 refnamediv 131 refsynopsisdiv 137)) docbook-indexterm-id docbook--print-index type docbook--print-refnamediv docbook--print-refsynopsisdiv docbook--print-list #s(hash-table size 15 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (listitem 161 question 161 answer 161 step 161 term 167 glossterm 167 link 173 ulink 173 email 179 quote 185 footnote 209 subscript 213 superscript 220 arg 227 anchor 233)) docbook--print-listitem docbook--print-term docbook--print-link docbook--print-email docbook--print-string docbook--display-string "“" "`" docbook--print-children "”" "'" docbook--print-footnote-tag docbook--print-with-display-prop (raise -0.2) (raise 0.2) docbook--print-arg] 12 (#$ . 16575)]) #@26 (fn NODE LITERAL FACE) (defalias 'docbook--print-block #[771 "\303 \210\211@\262`\304\305\"\211\205\211\306 BB\211\266\307\310\"#\210\204E`\212b\210\311w\210`|\210`\262)\210 \312`\"\210)\303 \207" [docbook-id-markers-alist docbook--indent-level left-margin docbook--print-block-delimiter docbook--attr id point-marker docbook--print-children docbook--node-face "[:space:]" fill-region-as-paragraph] 11 (#$ . 18757)]) #@26 (fn NODE LITERAL FACE) (defalias 'docbook--print-list #[771 "\302 \210\211@\262 \211\303\267\202Y \242\304=\203!\305 A\306\"\202\"\307\310\311\312#\211G\313\\\\\304B\266\202_\314\\\315\202_\314\\\316\202_\317\320\"\314\\\321B\210\202_\322\\\323\324#\210*\210\302 \207" [docbook--indent-level docbook--list-context docbook--print-block-delimiter #s(hash-table size 6 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (procedure 18 substeps 18 orderedlist 55 glosslist 64 variablelist 64 qandaset 73)) procedure append (1) (1) mapconcat int-to-string "." 3 4 1 variablelist docbook--attr defaultlabel qandaset 2 itemizedlist docbook--print-children] 9 (#$ . 19205)]) #@26 (fn NODE LITERAL FACE) (defalias 'docbook--print-term #[771 "\302=\2058`Sf\303=\204\304c\210`\305#\210\212`b\210\306w\210`|\210\307 \310Z!\210\311\312\313\314\"#\262)\262\207" [docbook--list-context docbook--indent-level variablelist 10 "\n" docbook--print-children "[:space:]" indent-line-to 4 docbook--print-string docbook--display-string "• " "* "] 9 (#$ . 19927)]) #@26 (fn NODE LITERAL FACE) (defalias 'docbook--print-listitem #[771 "`\301#\210\302>?\205\312\242\303=\2034A\304\305\306#\307PGS\233\310\211G  %\210\211@T\240\207\242\311=\203\247\211AA\262\312\211\204h\203h@:\203a@\211@\262\313=\203a\314@!\262A\262\202B\211;\204\205A\315=\203\205\211@\262\316=\203\202\317\202\203\320\262\211\204\226\310\321\322\323\"\324%\207\310\325\326 \327\"\330\n&\207\250\203\276\310\331\332\"\333%\210T\211\207\310\321\322\323\"\324%\207" [docbook--list-context docbook--print-children (nil variablelist) procedure mapconcat int-to-string "." ". " docbook--print-listitem-1 qandaset nil label docbook--node-text qanda question "Q:" "A:" docbook--display-string "• " "* " 2 0 docbook--merge-face docbook-label " " format "%2d. " 4] 14 (#$ . 20320)]) #@87 (fn OPOINT BULLET BULLET-LEN LITERAL FACE &optional AFTER-STRING AFTER-STRING-FACE) (defalias 'docbook--print-listitem-1 #[1797 "\212`b\210\301w\210\302Z!\210\303#\210\205$\303#\262)\207" [docbook--indent-level "[:space:]" indent-line-to docbook--print-string] 12 (#$ . 21170)]) #@13 (fn NODE) (defalias 'docbook--print-footnote-tag #[257 "\302\300!\2051GT\303\304!\303\305!\211\205\211\306 B B\211\266\307\310\311\"\"\210EB\211\266\203\207" [docbook--footnotes docbook-id-markers-alist boundp make-symbol "footnote-id" "footnote" point-marker docbook-insert-xref format "(%d)"] 9 (#$ . 21476)]) (defalias 'docbook--print-footnotes #[0 "\302\300!\205c\205c\303 \210\304\305!\210\306\307\237\211\205_\211@\303 \210`\262\310\3118!\210\212b\210\307f\312=\2035\307u\210\211A@\211\205D\211\313 B B\211\266\314@\315\316\"\"\210\317c\210)T\262A\266\202\202\262\266\202\207" [docbook--footnotes docbook-id-markers-alist boundp docbook--print-block-delimiter docbook--print-string "--- Footnotes ---" 1 nil docbook--print-children 2 10 point-marker docbook-insert-xref format "(%d)" " "] 9]) #@31 (fn NODE LITERAL FACE PROP) (defalias 'docbook--print-with-display-prop #[1028 "`\300#\210\301`\302$\207" [docbook--print-children put-text-property display] 10 (#$ . 22319)]) #@143 Print the child nodes of the DocBook node NODE. LITERAL and FACE mean the same as in `docbook--print-node'. (fn NODE &optional LITERAL FACE) (defalias 'docbook--print-children #[769 "\211AA\262\211\2053\211@\211\203,\211;\203\300#\210\202,\301\211@\262$\210A\266\202\202\207" [docbook--print-string docbook--print-node] 10 (#$ . 22509)]) #@26 (fn NODE LITERAL FACE) (defalias 'docbook--print-refnamediv #[771 "\301 \210\302\211\211AA\262\211\203<\211@\211:\2035\211\211@\262\303=\203(\211B\262\2025\211\211@\262\304=\2035\211\262A\266\202\202 \210\237\262j\210\203c\305@\306$\210A\262\203D\307\310#\210\202D\211\203{`Sf\311=\204r\311c\210j\210\305#\210\266\301 \207" [docbook--indent-level docbook--print-block-delimiter nil refname refpurpose docbook--print-node refnamediv docbook--print-string ", " 10] 10 (#$ . 22875)]) #@26 (fn NODE LITERAL FACE) (defalias 'docbook--print-refsynopsisdiv #[771 "\301 \210j\210\302\303\304\305#\210\301 \210\306#\207" [docbook--indent-level docbook--print-block-delimiter docbook--print-string "Synopsis" nil docbook-misc-title docbook--print-children] 7 (#$ . 23402)]) #@26 (fn NODE LITERAL FACE) (defalias 'docbook--print-arg #[771 "\300\301\"\300\302\"\303=\203\304\305#\210\306#\210\303=\203&\304\307#\210\211\310=\2051\304\311#\207" [docbook--attr choice rep opt docbook--print-string "[ " docbook--print-children " ]" repeat "..."] 9 (#$ . 23692)]) #@67 Insert the contents of an xref node NODE. (fn NODE LITERAL FACE) (defalias 'docbook--print-xref #[771 "\302\303\"\211\2050\302\304\"\211\203+\211\305\206 \"\262@\211\262\203+\306$\202.\307!\262\207" [docbook-current-page docbook--id-table docbook--attr linkend endterm gethash docbook--print-link docbook-insert-xref] 10 (#$ . 23997)]) #@84 Insert the contents of a link node NODE. (fn NODE LITERAL FACE &optional LINKEND) (defalias 'docbook--print-link #[1027 "\211\206\300\301\"`\302\204,\211A@\262\303\236A\206'\304\236A\206'\305\236A\262\266\306\307#\210\310`\311\312&\207" [docbook--attr linkend docbook-xref-button-action xlink:href href url docbook-link-button-action docbook--print-children make-text-button action docbook-target] 14 (#$ . 24358)]) #@66 Insert the contents of a link node NODE. (fn NODE LITERAL FACE) (defalias 'docbook--print-email #[771 "`\300#\210\301`\302\303$\207" [docbook--print-children make-text-button action docbook-email-button-action] 9 (#$ . 24807)]) #@183 Insert a cross reference to NODE-ID at point. NODE-ID should be a node ID, as either a symbol or a string. LABEL, if non-nil, specifies the text label. (fn NODE-ID &optional LABEL) (defalias 'docbook-insert-xref #[513 "\211\204 \300!\262\301\302\303\304%\207" [docbook-node-label insert-text-button action docbook-xref-button-action docbook-target] 8 (#$ . 25047)]) #@73 Return an appropriate label for the node with ID NODE-ID. (fn NODE-ID) (defalias 'docbook-node-label #[257 "\211\302\206 \"\262\211@\211A@\262\303\236A\211\304>\2034A@\205'\305A@!\262\211\306>\2034\307!\262\207" [docbook-current-page docbook--id-table gethash xreflabel (nil #1="") docbook--node-text (nil #1#) symbol-name] 6 (#$ . 25426)]) #@233 Visit the position of NODE-ID on the current DocBook page. Return non-nil if we found the element and jumped to it. Otherwise, signal an error if NOERROR is nil, and return nil if NOERROR is non-nil. (fn NODE-ID &optional NOERROR) (defalias 'docbook--visit-xref-marker #[513 "\236A\301!\203 \211b\207?\205\302\303!\207" [docbook-id-markers-alist markerp error "Node not found"] 5 (#$ . 25790)]) #@16 (fn NODE-ID) (defalias 'docbook-visit-xref #[257 "\300\301\"\206\n\302!\207" [docbook--visit-xref-marker t docbook-print-page] 4 (#$ . 26199)]) #@58 Visit the DocBook node indicated by BUTTON. (fn BUTTON) (defalias 'docbook-xref-button-action #[257 "\300\301\302\"!\207" [docbook-visit-xref button-get docbook-target] 5 (#$ . 26354)]) #@71 Call `browse-url' to visit the link indicated by BUTTON. (fn BUTTON) (defalias 'docbook-link-button-action #[257 "\300\301\"\302\303\"\203\304\305\306\225\"!\207\307\300\301\"!\207" [button-get docbook-target string-match "\\`mailto:" compose-mail substring-no-properties 0 browse-url] 6 (#$ . 26548)]) #@60 Send mail to the address indicated by BUTTON. (fn BUTTON) (defalias 'docbook-email-button-action #[257 "\300\301\302!\303!\"!\207" [compose-mail buffer-substring-no-properties button-start button-end] 6 (#$ . 26864)]) #@60 Insert the DocBook index of type TYPE at point. (fn TYPE) (defalias 'docbook--print-index #[257 "\211\236\304\305\306\"\307`Sf\310=\204\310c\210A\211\203\221\211@`\262c\210\211@c\210\211A\211@\311 \312\"\210\313\314\312\315\2069\n \"\2628!\"\210\310c\210\316`\317$\210G\320V\203\210A\211\203\207\211@`\262\311 \312\"\210\313\314\312\315\206m\n \"\2628!\"\210\310c\210\316`\317$\210A\266\202\202T\210\266A\266\202\202\210\310c\207" [docbook--index-alist docbook-index-separator-column docbook-current-page docbook--id-table docbook--display-string "• " "* " nil 10 indent-to 2 docbook-insert-xref docbook-node-label gethash put-text-property docbook-menu-xref 1] 18 (#$ . 27091)]) #@54 Insert the DocBook navigation history menu at point. (defalias 'docbook--print-history #[0 "\302\303\304\"\305A!\211\203'\211@`Sf\306=\204\306c\210c\210\307!\210A\266\202\202\210`Sf\306=\2043\306c\210\302\310\304\"c\210\307@!\210 \211\203^\211@`Sf\306=\204P\306c\210c\210\307!\210A\266\202\202?\210\306c\207" [docbook-history docbook-history-forward docbook--display-string "◦ " "* " reverse 10 docbook-insert-xref "• "] 5 (#$ . 27813)]) #@37 Keymap containing DocBook commands. (defvar docbook-mode-map (byte-code "\302 \303\304 \"\"\210\305\306\307#\210\305\310\311#\210\305\312\313#\210\305\314\315#\210\316\317\211W\203<\211\305\320T!\321#\266\211T\262\202$\266\305\322\307#\210\305\323\324#\210\305\325\326#\210\305\327\330#\210\305\331\330#\210\305\332\333#\210\305\334\335#\210\305\336\337#\210\305\340\341#\210\305\342\343#\210\305\344\341#\210\305\345\343#\210\305\346\347#\210\305\350\351#\210\305\352\351#\210\305\353\354#\210\207" [button-buffer-map special-mode-map make-keymap set-keymap-parent make-composed-keymap define-key "." beginning-of-buffer " " docbook-scroll-up "" docbook-scroll-down " " docbook-follow-nearest-node 9 0 number-to-string docbook-nth-menu-item "b" "e" end-of-buffer "\356" clone-buffer "i" docbook-index "I" "l" docbook-history-back "r" docbook-history-forward "L" docbook-history "]" docbook-forward-page "[" docbook-backward-page "n" "p" "t" docbook-top-page "u" docbook-up "^" [follow-link] mouse-face] 8) (#$ . 28278)) (defvar docbook-mode-hook nil) (byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [docbook-mode-hook variable-documentation put "Hook run after entering DocBook mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp docbook-mode-map definition-name docbook-mode] 4) (defvar docbook-mode-map (make-sparse-keymap)) (byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\207" [docbook-mode-abbrev-table docbook-mode-map variable-documentation put purecopy "Keymap for `docbook-mode'." boundp docbook-mode-syntax-table definition-name docbook-mode (lambda (#1=#:def-tmp-var) (defvar docbook-mode-syntax-table #1#)) make-syntax-table "Syntax table for `docbook-mode'." (lambda (#1#) (defvar docbook-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `docbook-mode'." derived-mode-parent special-mode] 5) #@1454 Major mode for viewing DocBook documents. Type \[docbook-find-file] to visit DocBook files for viewing. Most of the commands in DocBook mode are similar to Info mode. DocBook documents are divided into "section nodes" (which includes chapters, sections, subsections, etc.). DocBook mode displays one section node at a time, as a single page. Navigation commands and hyperlinks can be used to view other pages. Moving within a page: \[docbook-scroll-up] Normally, scroll forward a full screen. If you have scrolled to the end of this page, view the next page. \[docbook-scroll-down] Normally, scroll backward a full screen. If you have scrolled to the beginning of this page, view the preceding page. \[beginning-of-buffer] Jump to beginning of this page. Selecting other nodes: \[docbook-follow-nearest-node] Follow a node reference near point. \[docbook-backward-page] View the preceding page. \[docbook-forward-page] View the next page. \[docbook-up] View the parent of the current page. \[docbook-top-page] View the topmost section of this document. \[docbook-history-back] View the last page you were at. \[docbook-history-forward] Move forward in history to the page you were at before using \[docbook-history-back]. \[docbook-history] View a menu of visited pages. In addition to any hooks its parent mode `special-mode' might have run, this mode runs the hook `docbook-mode-hook', as the final or penultimate step during initialization. (defalias 'docbook-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315 !\204'\316 \317 \"\210\320\f!\211\2035\211\321 =\203;\322\f\323 \"\210\210\324 \325\"\204R %=\204R\326 \325%C#\210\327 !\210\330\f!\210 %\306\331!\210\306\332!\210\306\333!\210\306\334!\210\306\335!\210\306\336!\210\306\337!\210\306\340!\210\306\341!\210\342\211!&\342'\307()\343\344!\207" [delay-mode-hooks major-mode mode-name docbook-mode-map docbook-mode-syntax-table docbook-mode-abbrev-table make-local-variable t special-mode docbook-mode "DocBook" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table docbook--parse-tree docbook--id-table docbook-current-page docbook-top-page docbook-id-markers-alist docbook--index-alist docbook-history docbook-history-foward adaptive-fill-mode nil run-mode-hooks docbook-mode-hook local-abbrev-table indent-tabs-mode fill-prefix use-hard-newlines] 6 (#$ . 30494) nil]) #@46 View the parent of the current DocBook page. (defalias 'docbook-up #[0 "\302\303\304\305\206  \"\2628\306\"\207" [docbook-current-page docbook--id-table docbook-print-page 2 nil gethash "No parent page"] 6 (#$ . 33052) nil]) #@56 View the topmost page in the current DocBook document. (defalias 'docbook-top-page #[0 "\301!\207" [docbook-top-page docbook-print-page] 2 (#$ . 33287) nil]) #@33 View the previous DocBook page. (defalias 'docbook-backward-page #[0 "\302\303\304\305\206  \"\2628\306\"\207" [docbook-current-page docbook--id-table docbook-print-page 3 nil gethash "No previous page"] 6 (#$ . 33452) nil]) #@29 View the next DocBook page. (defalias 'docbook-forward-page #[0 "\302\303\304\305\206  \"\2628\306\"\207" [docbook-current-page docbook--id-table docbook-print-page 4 nil gethash "No following page"] 6 (#$ . 33687) nil]) #@48 Scroll forward, or view the next DocBook page. (defalias 'docbook-scroll-up #[0 "\3001 \301\302!0\207\210\303 \207" [(end-of-buffer) scroll-up nil docbook-forward-page] 2 (#$ . 33918) nil]) #@54 Scroll backward, or view the preceding DocBook page. (defalias 'docbook-scroll-down #[0 "\3001 \301\302!0\207\210\303 \207" [(beginning-of-buffer) scroll-down nil docbook-backward-page] 2 (#$ . 34115) nil]) #@49 View the Nth menu item, based on the key typed. (defalias 'docbook-nth-menu-item #[0 "\302 \302 GSH\303Z\304\305\206 \"\262\211\204&\306\307!\203\"\307\202#\310\311!\210S\31288\211\204>\306\307!\203:\307\202;\310\313!\210\314!\207" [docbook-current-page docbook--id-table this-command-keys 48 nil gethash fboundp user-error error "No menu in this node" 5 "Too few items in menu" docbook-visit-xref] 5 (#$ . 34329) nil]) #@163 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. (defalias 'docbook-follow-nearest-node #[0 "\300`\301\"\211\203\f\302!\207\303\304!\203\304\202\305\306!\207" [get-text-property docbook-menu-xref docbook-visit-xref fboundp user-error error "Point neither in reference nor in menu item description"] 3 (#$ . 34770) nil]) #@65 Go back in history to the previous DocBook page viewed. (fn N) (defalias 'docbook-history-back #[257 "\211\302\211W\2053\303A\204\304\305!\203\305\202\306\307!\210\211A\242 B\310@\303\311#\266\211T\262\202\207" [docbook-history docbook-history-forward 0 nil fboundp user-error error "This is the first node you looked at" docbook-print-page t] 8 (#$ . 35215) "p"]) #@64 Go forward in history to the next DocBook page viewed. (fn N) (defalias 'docbook-history-forward #[257 "\211\302\211W\2052\303\204\304\305!\203\305\202\306\307!\210\211A\242\211 B\310\303\311#\266\211T\262\202\207" [docbook-history-forward docbook-history 0 nil fboundp user-error error "This is the last node you looked at" docbook-print-page t] 9 (#$ . 35604) "p"]) #@51 Display a list of recently-visited DocBook pages. (defalias 'docbook-history #[0 "\301\302 \210\303\304\305\306#\210\307\211\261\210\310 )\207" [inhibit-read-only t erase-buffer docbook--print-string "Recently visited pages" nil docbook-chapter-title 10 docbook--print-history] 4 (#$ . 35996) nil]) #@223 Display a list of index topics fo the current DocBook document. The argument TYPE is the index type; DocBook documents can define several indices for different topics. If called interactively, prompt for TYPE. (fn TYPE) (defalias 'docbook-index #[257 "\211\236\204\302\303!\203\303\202\304\305!\210\306\307 \210\310\203'\311\312\313!\"\202(\314\315\316#\210\317\211\261\210\320!)\207" [docbook--index-alist inhibit-read-only fboundp user-error error "Index is empty" t erase-buffer docbook--print-string format "Index: %s" symbol-name "Index" nil docbook-chapter-title 10 docbook--print-index] 6 (#$ . 36304) (byte-code "G\301X\203 @@\202%\302\303\304\305\236\203\306\202\307\"\307\310\311\"B\305\312$C\207" [docbook--index-alist 1 completing-read format "View index type%s: " nil " (empty input for default index)" "" mapcar #[257 "\300@!\207" [symbol-name] 3 "\n\n(fn X)"] t] 6)]) #@54 Visit FILENAME as a DocBook document. (fn FILENAME) (defalias 'docbook-find-file #[257 "\303\304 \"\305!)@!\210\306\n!\207" [docbook-entity-alist xml-entity-alist docbook-top-page docbook-setup append xml-parse-file docbook-print-page] 5 (#$ . 37220) "fView DocBook file: "]) (provide 'docbook)