;ELC   
;;; Compiled by nelson@oikos.local on Sat Jul 23 20:32:08 2005
;;; from file /Users/nelson/Desktop/nxml-mode-20041004/nxml-outln.el
;;; in Emacs version 22.0.50.6
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.
(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`nxml-outln.el' was compiled for Emacs 19.29 or later"))

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


(byte-code "\300\301!\210\300\302!\210\300\303!\207" [require xmltok nxml-util nxml-rap] 2)
#@419 *Regular expression matching the name of elements used as sections.
An XML element is treated as a section if:

- its local name (that is, the name without the prefix) matches
this regexp;

- either its first child element or a descendant of that first child
element has a local name matching the variable
`nxml-heading-element-name-regexp'; and

- its start-tag occurs at the beginning of a line (possibly indented).
(custom-declare-variable 'nxml-section-element-name-regexp '"article\\|\\(sub\\)*section\\|chapter\\|div\\|appendix\\|part\\|preface\\|reference\\|simplesect\\|bibliography\\|bibliodiv\\|glossary\\|glossdiv" '(#$ . -687) :group 'nxml :type 'regexp)
#@275 *Regular expression matching the name of elements used as headings.
An XML element is only recognized as a heading if it occurs as or
within the first child of an element that is recognized as a section.
See the variable `nxml-section-element-name-regexp' for more details.
(custom-declare-variable 'nxml-heading-element-name-regexp '"title\\|head" '(#$ . -1361) :group 'nxml :type 'regexp)
#@74 *Indentation in an outline for child element relative to parent element.
(custom-declare-variable 'nxml-outline-child-indent '2 '(#$ . -1758) :group 'nxml :type 'integer)
(byte-code "\300\301\302\303\304\305%\210\300\306\307\310\304\305%\210\300\311\312\313\304\305%\210\300\314\315\316\304\305%\207" [custom-declare-face nxml-heading-face ((t (:weight bold))) "Face used for the contents of abbreviated heading elements." :group nxml-highlighting-faces nxml-outline-indicator-face ((t (:inherit default))) "Face used for `+' or `-' before element names in outlines." nxml-outline-active-indicator-face ((t (:box t :inherit nxml-outline-indicator-face))) "Face used for clickable `+' or `-' before element names in outlines." nxml-outline-ellipsis-face ((t (:bold t :inherit default))) "Face used for `...' in outlines."] 6)
#@52 Maximum distance from section to scan for heading.
(defvar nxml-heading-scan-distance 1000 (#$ . 2589))
(byte-code "\302B\303\302!\204U \304\302\305 \306	\307\310#\210\306	\311\312#\210\306	\313\314#\210\306	\315\316#\210\306	\317\320#\210\306	\321\322#\210\306	\323\324#\210\306	\325\326#\210\306	\327\330#\210\306	\331\332#\210\306	\333\334#\210	)\"\210\302\207" [current-load-list map nxml-outline-prefix-map default-boundp set-default make-sparse-keymap define-key "" nxml-show-all "" nxml-hide-all-text-content "" nxml-refresh-outline "" nxml-hide-direct-text-content "" nxml-show-direct-text-content "" nxml-hide-subheadings "" nxml-show "" nxml-show-subheadings "\f" nxml-hide-text-content "	" nxml-show-direct-subheadings "" nxml-hide-other] 6)
#@43 Show all elements in the buffer normally.
(defalias 'nxml-show-all #[nil "\306 \307\211\211\310\211\211\311\216\312ed\313#\210.\314\310ed#\207" [buffer-file-truename buffer-file-name deactivate-mark buffer-undo-list inhibit-modification-hooks inhibit-read-only buffer-modified-p t nil ((byte-code "\204 \301\302!\210\302\207" [#1=#:modified restore-buffer-modified-p nil] 2)) remove-text-properties (nxml-outline-state nil) nxml-outline-set-overlay #1#] 7 (#$ . 3360) nil])
#@311 Hide all text content in the buffer.
Anything that is in a section but is not a heading will be hidden.
The visibility of headings at any level will not be changed. See the
variable `nxml-section-element-name-regexp' for more details on how to
customize which elements are recognized as sections and headings.
(defalias 'nxml-hide-all-text-content #[nil "\300\301!\207" [nxml-transform-buffer-outline ((nil . t))] 2 (#$ . 3852) nil])
#@414 Show the text content that is directly part of the section containing point.
Each subsection will be shown according to its individual state, which
will not be changed. The section containing point is the innermost
section that contains the character following point. See the variable
`nxml-section-element-name-regexp' for more details on how to
customize which elements are recognized as sections and headings.
(defalias 'nxml-show-direct-text-content #[nil "\300 \210\301\302 \303\"\210\304 \210\305 \207" [nxml-outline-pre-adjust-point nxml-set-outline-state nxml-section-start-position nil nxml-refresh-outline nxml-outline-adjust-point] 3 (#$ . 4293) nil])
#@309 Show the immediate subheadings of the section containing point.
The section containing point is the innermost section that contains
the character following point. See the variable
`nxml-section-element-name-regexp' for more details on how to
customize which elements are recognized as sections and headings.
(defalias 'nxml-show-direct-subheadings #[nil "\301 \302!\303=\203 \304\305\"\210)\306 \210\307 \207" [pos nxml-section-start-position nxml-get-outline-state hide-children nxml-set-outline-state t nxml-refresh-outline nxml-outline-adjust-point] 3 (#$ . 4963) nil])
#@418 Hide the text content that is directly part of the section containing point.
The heading of the section will remain visible.  The state of
subsections will not be changed.  The section containing point is the
innermost section that contains the character following point. See the
variable `nxml-section-element-name-regexp' for more details on how to
customize which elements are recognized as sections and headings.
(defalias 'nxml-hide-direct-text-content #[nil "\301 \302!\204 \303\304\"\210)\305 \210\306 \207" [pos nxml-section-start-position nxml-get-outline-state nxml-set-outline-state t nxml-refresh-outline nxml-outline-adjust-point] 3 (#$ . 5547) nil])
#@572 Hide the subheadings that are part of the section containing point.
The text content will also be hidden, leaving only the heading of the
section itself visible.  The state of the subsections will also be
changed to hide their headings, so that \[nxml-show-direct-text-content]
would show only the heading of the subsections. The section containing
point is the innermost section that contains the character following
point.  See the variable `nxml-section-element-name-regexp' for more
details on how to customize which elements are recognized as sections
and headings.
(defalias 'nxml-hide-subheadings #[nil "\300\301!\207" [nxml-transform-subtree-outline ((nil . hide-children) (t . hide-children))] 2 (#$ . 6222) nil])
#@370 Show the section containing point normally, without hiding anything.
This includes everything in the section at any level.  The section
containing point is the innermost section that contains the character
following point.  See the variable `nxml-section-element-name-regexp'
for more details on how to customize which elements are recognized as
sections and headings.
(defalias 'nxml-show #[nil "\300\301!\207" [nxml-transform-subtree-outline ((hide-children) (t))] 2 (#$ . 6952) nil])
#@310 Hide text content at all levels in the section containing point.
The section containing point is the innermost section that contains
the character following point. See the variable
`nxml-section-element-name-regexp' for more details on how to
customize which elements are recognized as sections and headings.
(defalias 'nxml-hide-text-content #[nil "\300\301!\207" [nxml-transform-subtree-outline ((nil . t))] 2 (#$ . 7446) nil])
#@394 Show the subheadings at all levels of the section containing point.
The visibility of the text content at all levels in the section is not
changed.  The section containing point is the innermost section that
contains the character following point. See the variable
`nxml-section-element-name-regexp' for more details on how to
customize which elements are recognized as sections and headings.
(defalias 'nxml-show-subheadings #[nil "\300\301!\207" [nxml-transform-subtree-outline ((hide-children . t))] 2 (#$ . 7883) nil])
#@415 Hide text content other than that directly in the section containing point.
Hide headings other than those of ancestors of that section and their
immediate subheadings.  The section containing point is the innermost
section that contains the character following point. See the variable
`nxml-section-element-name-regexp' for more details on how to
customize which elements are recognized as sections and headings.
(defalias 'nxml-hide-other #[nil "\302\212\303\304\305\217\203* \203 \306`!\204 \307`\310\"\210`B	`W\203* `Sb\210\202 )\311\312!)\207" [nxml-outline-state-transform-exceptions nxml-prolog-end nil err (nxml-back-to-section-start) ((nxml-outline-error (nxml-report-outline-error "Couldn't find containing section: %s" err))) nxml-get-outline-state nxml-set-outline-state t nxml-transform-buffer-outline ((nil . hide-children) (t . hide-children))] 3 (#$ . 8413) nil])
(byte-code "\301B\302\301!\204 \303\301\304\"\210\305B\302\305!\204 \303\305\304\"\210\306B\302\306!\204- \303\306\304\"\210\307B\302\307!\204< \303\307\304\"\210\304\207" [current-load-list nxml-outline-state-transform-exceptions default-boundp set-default nil nxml-target-section-pos nxml-depth-in-target-section nxml-outline-state-transform-alist] 3)
(defalias 'nxml-transform-buffer-outline #[(alist) "\305\306\307\310 \210,\311 \207" [alist nxml-outline-display-section-tag-function nxml-outline-state-transform-alist nxml-depth-in-target-section nxml-target-section-pos nil 0 nxml-section-tag-transform-outline-state nxml-refresh-outline nxml-outline-adjust-point] 4])
(defalias 'nxml-transform-subtree-outline #[(alist) "\305 \306\307\310 \210,\311 \207" [alist nxml-outline-display-section-tag-function nxml-outline-state-transform-alist nxml-depth-in-target-section nxml-target-section-pos nxml-section-start-position nil nxml-section-tag-transform-outline-state nxml-refresh-outline nxml-outline-adjust-point] 4])
(defalias 'nxml-outline-pre-adjust-point #[nil "e`W\203> \301`S\302\"\203> \301`\302\"\204> \301`\303\"\206  \301`\304\"\211;\2053 G\305Y\2053 \306\305O\307\230)\203> \310`S\302\"b\207`dW\203Z \301`\304\"\203Z \301`T\302\"\203Z \311`T\302\"b\207`dW\205l \301`\302\"\205l \311`\302\"b\207" [str get-char-property invisible before-string display 3 0 "..." previous-single-char-property-change next-single-char-property-change] 4])
#@48 Adjust point after showing or hiding elements.
(defalias 'nxml-outline-adjust-point #[nil "\301`\302\"\205 e`W\205 \301`S\302\"\205 \303`\302\304$b\207" [nxml-prolog-end get-char-property invisible previous-single-char-property-change nil] 5 (#$ . 10782)])
(defalias 'nxml-transform-outline-state #[(section-start-pos) "\304!\211\n\236\211\205 \305A\"*\207" [section-start-pos old-state nxml-outline-state-transform-alist change nxml-get-outline-state nxml-set-outline-state] 4])
(defalias 'nxml-section-tag-transform-outline-state #[(startp section-start-pos &optional heading-start-pos) "\204 	\205 	\305V\205 	S\211\207	\203 	T\202% \nU\203% \305	\2053 \n\f\235?\2053 \306\n!\207" [startp nxml-depth-in-target-section section-start-pos nxml-target-section-pos nxml-outline-state-transform-exceptions 0 nxml-transform-outline-state] 2])
(defalias 'nxml-get-outline-state #[(pos) "\301\302\"\207" [pos get-text-property nxml-outline-state] 3])
(defalias 'nxml-set-outline-state #[(pos state) "\306 \307\211\211\310\211\211\311\216\203# \312\211T\313$\202* \314\211T\315#.\207" [buffer-file-truename buffer-file-name deactivate-mark buffer-undo-list inhibit-modification-hooks inhibit-read-only buffer-modified-p t nil ((byte-code "\204 \301\302!\210\302\207" [#1=#:modified restore-buffer-modified-p nil] 2)) put-text-property nxml-outline-state remove-text-properties (nxml-outline-state nil) #1# state pos] 7])
#@69 Do the same as \[nxml-show-direct-text-content] from a mouse click.
(defalias 'nxml-mouse-show-direct-text-content #[(event) "\301!\205 \302 \207" [event nxml-mouse-set-point nxml-show-direct-text-content] 2 (#$ . 12241) "e"])
#@69 Do the same as \[nxml-hide-direct-text-content] from a mouse click.
(defalias 'nxml-mouse-hide-direct-text-content #[(event) "\301!\205 \302 \207" [event nxml-mouse-set-point nxml-hide-direct-text-content] 2 (#$ . 12476) "e"])
#@61 Do the same as \[nxml-hide-subheadings] from a mouse click.
(defalias 'nxml-mouse-hide-subheadings #[(event) "\301!\205 \302 \207" [event nxml-mouse-set-point nxml-hide-subheadings] 2 (#$ . 12711) "e"])
#@68 Do the same as \[nxml-show-direct-subheadings] from a mouse click.
(defalias 'nxml-mouse-show-direct-subheadings #[(event) "\301!\205 \302 \207" [event nxml-mouse-set-point nxml-show-direct-subheadings] 2 (#$ . 12922) "e"])
(defalias 'nxml-mouse-set-point #[(event) "\302!\210	\205	 \303\207" [event nxml-prolog-end mouse-set-point t] 2])
#@73 Refresh the outline to correspond to the current XML element structure.
(defalias 'nxml-refresh-outline #[nil "\212eb\210\300\301!\210\302\301!\210\303\304\305\217)\207" [kill-local-variable line-move-ignore-invisible make-local-variable err (byte-code "\300\301\211\211#\207" [nxml-outline-display-rest nil] 4) ((nxml-outline-error (nxml-report-outline-error "Cannot display outline: %s" err)))] 3 (#$ . 13270) nil])
(byte-code "\301B\302\301!\204 \303\301\304\"\210\304\207" [current-load-list nxml-outline-display-section-tag-function default-boundp set-default nil] 3)
#@422 Display up to and including the end of the current element.
OUTLINE-STATE can be nil, t, hide-children.  START-TAG-INDENT is the
indent of the start-tag of the current element, or nil if no
containing element has a non-nil OUTLINE-STATE.  TAG-QNAMES is a list
of the qnames of the open elements.  Point is after the title content.
Leave point after the closing end-tag Return t if we had a
non-transparent child section.
(defalias 'nxml-outline-display-rest #[(outline-state start-tag-indent tag-qnames) "`\306?\307 \204 \203\352 \310\311@\"\202\347 \f\312=\204$ \f\313=\203\205 \203. \314\"\210\315 \204< \310\316\"\210@\230\204L \310\317@#\210)\n\306V\203\\ \nSA\202 \204j \320\314`#\210\202\352 	\203u \321=\203| \322!\210\202\352 \323\"\210\202\352 \324 \204\235 \301=\203\235 	?\205\244 \325 \205\244 \326 \203\262 \327#\210B\203\311 \321=\203\317 \327\211\203\317 \nT\202\345 \330	&\210\327A`+\327\204 	+\207" [tag-qnames had-children transparent-depth last-pos xmltok-type nxml-outline-display-section-tag-function 0 nxml-section-tag-forward nxml-outline-error "missing end-tag %s" end-tag partial-end-tag nil xmltok-end-tag-qname "extra end-tag %s" "mismatched end-tag; expected %s, got %s" nxml-outline-set-overlay hide-children nxml-outline-display-single-line-end-tag nxml-outline-display-multi-line-end-tag xmltok-start-tag-qname nxml-token-starts-line-p nxml-heading-start-position t nxml-display-section xmltok-start qname outline-state start-tag-indent section-start-pos heading-start-pos] 8 (#$ . 13853)])
(byte-code "\302B\305\306\307\310\311#!\210\304B\312\306\313\310\311#!\210\314B\315\306\316\310\317#!\210\303B\320\306\321\310\322#!\210\301B\323\306\324\310\325#!\210\326B\327	\n\fR!\210\330B\331\306\332\310\333#!\210\334B\335\306\336\310\337#!\210\340B\341\306\342\310\337#!\207" [current-load-list nxml-highlighted-ellipsis nxml-highlighted-less-than nxml-highlighted-slash nxml-highlighted-greater-than (lambda (#1=#:defconst-tmp-var) (defconst nxml-highlighted-less-than #1#)) propertize "<" face nxml-tag-delimiter-face (lambda (#2=#:defconst-tmp-var) (defconst nxml-highlighted-greater-than #2#)) ">" nxml-highlighted-colon (lambda (#3=#:defconst-tmp-var) (defconst nxml-highlighted-colon #3#)) ":" nxml-element-colon-face (lambda (#4=#:defconst-tmp-var) (defconst nxml-highlighted-slash #4#)) "/" nxml-tag-slash-face (lambda (#5=#:defconst-tmp-var) (defconst nxml-highlighted-ellipsis #5#)) "..." nxml-outline-ellipsis-face nxml-highlighted-empty-end-tag (lambda (#6=#:defconst-tmp-var) (defconst nxml-highlighted-empty-end-tag #6#)) nxml-highlighted-inactive-minus (lambda (#7=#:defconst-tmp-var) (defconst nxml-highlighted-inactive-minus #7#)) "-" nxml-outline-indicator-face nxml-highlighted-active-minus (lambda (#8=#:defconst-tmp-var) (defconst nxml-highlighted-active-minus #8#)) "-" nxml-outline-active-indicator-face nxml-highlighted-active-plus (lambda (#9=#:defconst-tmp-var) (defconst nxml-highlighted-active-plus #9#)) "+"] 5)
(defalias 'nxml-display-section #[(last-pos section-start-pos heading-start-pos parent-indent parent-outline-state had-children tag-qnames) "\212b\210\306\307x\210`)\310!\204 \f\203 \311\202$ \n\203# \312\202$ \307\313\f\205+ \314	S\307\315%\210\n\203\301 \203D \\\202J \212b\210i)\307\313	S	\315$\210\313\314	#\210\313\312\211T\315$\313\314T#\210b\210\316 \210\313\317`#\210\320\n #\321\322\323\324\"!\204\230 \"\202\263 \n\325=\203\252 \321\326\327#\210#\202\263 \321\326\330#\210$\331 @!%\260#+\202\337 b\210\316 \210\313	S`\315$\210\320\n\205\334 \\ #+\207" [section-start-pos section-start-pos-bol outline-state had-children parent-outline-state newline-before-section-start-category " 	" nil nxml-get-outline-state nxml-outline-display-ellipsis nxml-outline-display-show nxml-outline-set-overlay nxml-outline-display-hide t nxml-end-of-heading nxml-outline-display-heading nxml-outline-display-rest overlay-put display make-string 32 hide-children category nxml-outline-display-hiding-tag nxml-outline-display-showing-tag nxml-highlighted-qname last-pos parent-indent nxml-outline-child-indent indent start-tag-overlay heading-start-pos tag-qnames nxml-highlighted-less-than nxml-highlighted-inactive-minus nxml-highlighted-active-plus nxml-highlighted-active-minus nxml-highlighted-greater-than] 9])
(defalias 'nxml-highlighted-qname #[(qname) "\303\304\"\211\203 \305\306	O\307\310#\n\305	T\311O\307\312#Q\202$ \305\307\312#)\207" [qname colon nxml-highlighted-colon string-match ":" propertize 0 face nxml-element-prefix-face nil nxml-element-local-name-face] 7])
(defalias 'nxml-outline-display-single-line-end-tag #[(last-pos) "\303\304	\305\306%\210\307\303\310	`\306$\311\n#\207" [last-pos xmltok-start nxml-highlighted-empty-end-tag nxml-outline-set-overlay nxml-outline-display-hide nil t overlay-put nxml-outline-display-show display] 6])
(defalias 'nxml-outline-display-multi-line-end-tag #[(last-pos start-tag-indent) "\212b\210\306\307w\210\307f\310=\205\" `Tb\210\311\307`#\210`	b\210\312 \210\313)\307\311\314	\307\313%\210\311\315	`\313$\316\n\317\203C \320\f\321\"\202D \322\323\324 !\260#*\207" [last-pos xmltok-start end-tag-overlay indentp start-tag-indent nxml-highlighted-less-than " 	" nil 10 nxml-outline-set-overlay beginning-of-line t nxml-outline-display-hide nxml-outline-display-showing-tag overlay-put display make-string 32 "" nxml-highlighted-qname xmltok-end-tag-qname nxml-highlighted-slash nxml-highlighted-active-minus nxml-highlighted-greater-than] 9])
(byte-code "\302B\306\302!\204 \307\302\310 \311	\312\313#\210\311	\314\315#\210	)\"\210\303B\306\303!\204. \307\303\316\"\210\317\320\321\322#\210\317\320\323\322#\210\317\320\324\n#\210\317\320\325#\210\317\326\321\322#\210\317\326\323\322#\210\317\326\327\322#\210\317\326\324\n#\210\317\326\325#\210\317\330\321\322#\210\317\330\323\322#\210\317\330\324\n#\210\317\330\325#\210\317\330\331\f#\210\317\332\324\n#\210\317\332\325#\210\317\332\321\322#\210\317\332\323\322#\210\317\332\333\334#\210\305B\306\305!\204\305 \307\305\310 \311	\335\336#\210\311	\337\315#\210\311	\340\313#\210	)\"\210\341B\306\341!\204\324 \307\341\342\"\210\317\343\321\322#\210\317\343\323\322#\210\317\343\324#\210\317\343\325!#\210\344B\306\344!\204\307\344\310 \311	\345\346#\210\311	\347\315#\210\311	\350\313#\210	)\"\210\351B\306\351!\204!\307\351\352\"\210\317\353\321\322#\210\317\353\323\322#\210\317\353\324$#\210\317\353\325)#\207" [current-load-list map nxml-outline-show-map nxml-outline-show-help nxml-highlighted-ellipsis nxml-outline-hiding-tag-map default-boundp set-default make-sparse-keymap define-key "" nxml-show-direct-text-content [mouse-2] nxml-mouse-show-direct-text-content "mouse-2: show" put nxml-outline-display-show nxml-outline-display t evaporate keymap help-echo nxml-outline-display-hide invisible nxml-outline-display-ellipsis before-string nxml-outline-display-heading face nxml-heading-face [mouse-1] nxml-mouse-show-direct-subheadings [mouse-2] "" nxml-outline-hiding-tag-help "mouse-1: show subheadings, mouse-2: show text content" nxml-outline-display-hiding-tag nxml-outline-showing-tag-map [mouse-1] nxml-mouse-hide-subheadings [mouse-2] "" nxml-outline-showing-tag-help "mouse-1: hide subheadings, mouse-2: show text content" nxml-outline-display-showing-tag] 6)
#@373 Replace any nxml-outline-display overlays between START and END.
Overlays are removed if they overlay the region between START and END,
and have a non-nil nxml-outline-display property (typically via their
category). If CATEGORY is non-nil, they will be replaced with a new overlay
with that category from START to END. If CATEGORY is nil, no new
overlay will be created.
(defalias 'nxml-outline-set-overlay #[(category start end &optional front-advance rear-advance) "	W\205> \306	\"\307\203% @A\310\n\311\"\203 \312\n!\210\202 *\f\205> \313	\307%\314\n\304\f#\210\315\n)\207" [start end overlay overlays category front-advance overlays-in nil overlay-get nxml-outline-display delete-overlay make-overlay overlay-put t rear-advance line-move-ignore-invisible] 6 (#$ . 21327)])
#@101 Move from the start of the content of the heading to the end.
Do not move past the end of the line.
(defalias 'nxml-end-of-heading #[nil "\302\303\304\217\305\210\306\305x\210\204 \307 	\310=\203( b\210\202( `W\203( b\210\311\305x\210`)\207" [pos xmltok-type err (byte-code "\301`\302\"\205 \207" [xmltok-start nxml-scan-element-forward t] 3) ((nil)) nil " 	" nxml-token-before end-tag " 	"] 3 (#$ . 22130)])
(defalias 'nxml-token-start-tag-p #[nil "\301=\206	 \302=\207" [xmltok-type start-tag partial-start-tag] 2])
(put 'nxml-token-start-tag-p 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'nxml-token-end-tag-p #[nil "\301=\206	 \302=\207" [xmltok-type end-tag partial-end-tag] 2])
(put 'nxml-token-end-tag-p 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'nxml-token-starts-line-p #[nil "\212b\210\301\302x\210n)\207" [xmltok-start " 	" nil] 2])
(byte-code "\301B\302\301!\204 \303\301\304\"\210\305B\302\305!\204 \303\305\304\"\210\304\207" [current-load-list nxml-cached-section-tag-regexp default-boundp set-default nil nxml-cached-section-element-name-regexp] 3)
(defalias 'nxml-make-section-tag-regexp #[nil "	=\203 \n\207\303 \207" [nxml-cached-section-element-name-regexp nxml-section-element-name-regexp nxml-cached-section-tag-regexp nxml-make-section-tag-regexp-1] 2])
(put 'nxml-make-section-tag-regexp 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'nxml-make-section-tag-regexp-1 #[nil "\304\305\306	\307\n\310\260\n\207" [nxml-cached-section-element-name-regexp xmltok-ncname-regexp nxml-section-element-name-regexp nxml-cached-section-tag-regexp nil "</?\\(" "\\(" ":\\)?" "\\)[ 	\n>]"] 6])
#@161 Move forward past the first tag that is a section start- or end-tag.
Return xmltok-type for tag.
If no tag found, return nil and move to the end of the buffer.
(defalias 'nxml-section-tag-forward #[nil "\306	=\203 \n\202 \307 \306`W\203 b\210\310\f\306\311#\204* \306\202X \312\224b\210\312\225\313 \210\314`!\211\205B b\210\315)\204 \316 \210\317>\203 SU\203 +\207" [nxml-cached-section-element-name-regexp nxml-section-element-name-regexp nxml-cached-section-tag-regexp match-end tag-regexp case-fold-search nil nxml-make-section-tag-regexp-1 re-search-forward move 0 nxml-ensure-scan-up-to-date nxml-inside-end t xmltok-forward (start-tag partial-start-tag end-tag partial-end-tag) nxml-prolog-end xmltok-type end xmltok-name-end] 5 (#$ . 23802)])
#@186 Move backward to the end of a tag that is a section start- or end-tag.
The position of the end of the tag must be <= point
Point is at the end of the tag.  `xmltok-start' is the start.
(defalias 'nxml-section-tag-backward #[nil "\306`	=\203\f \n\202 \307 \306`W\203\" eb\210\306\202r \310\f\311#\2044 \306eb\210\202p \312\224b\210\312\225\313 \210\314`!\211\205M Sb\210\315)\204\" \316 \210`X\203i \317>\203i SU\204p b\210\202\" ,\207" [nxml-cached-section-element-name-regexp nxml-section-element-name-regexp nxml-cached-section-tag-regexp match-end tag-regexp start nil nxml-make-section-tag-regexp-1 re-search-backward move 0 nxml-ensure-scan-up-to-date nxml-inside-start t xmltok-forward (start-tag partial-start-tag end-tag partial-end-tag) case-fold-search nxml-prolog-end xmltok-type pos xmltok-name-end xmltok-start] 5 (#$ . 24588)])
#@95 Return the position of the start of the section containing point.
Signal an error on failure.
(defalias 'nxml-section-start-position #[nil "\300\301\302\217\207" [err (byte-code "\212\300 \203\n `\202 \301\302!)\207" [nxml-back-to-section-start error "Not in section"] 2) ((nxml-outline-error (nxml-report-outline-error "Couldn't determine containing section: %s" err)))] 3 (#$ . 25464)])
#@309 Try to move back to the start of the section containing point.
The start of the section must be <= point.
Only visible sections are included unless INVISIBLE-OK is non-nil.
If found, return t.  Otherwise move to point-min and return nil.
If unbalanced section tags are found, signal an `nxml-outline-error'.
(defalias 'nxml-back-to-section-start #[(&optional invisible-ok) "\306 \204\n \307 \205h \310\211\310\f\311=\204 \f\312=\203& \313 	B\202X 	\204D \314 \203X \204: \315\n\316\"\204X \317 \203X \320\202X \321 	@\230\204T \322\323!\210	A)\nb\210?\205b \307 )\204 *\207" [found open-tags section-start-pos xmltok-start xmltok-type invisible-ok nxml-after-section-start-tag nxml-section-tag-backward nil end-tag partial-end-tag xmltok-end-tag-qname nxml-token-starts-line-p get-char-property invisible nxml-heading-start-position t xmltok-start-tag-qname nxml-outline-error "mismatched end-tag" qname] 3 (#$ . 25861)])
#@158 If the character after point is in a section start-tag, move after it.
Return the token type.  Otherwise return nil.
Set up variables like `xmltok-forward'.
(defalias 'nxml-after-section-start-tag #[nil "\306 \307\n\310>\205& \212b\210\311\f=\203 \202 \312 !)\205& 	b\210\n*\207" [case-fold-search pos xmltok-type xmltok-start nxml-cached-section-element-name-regexp nxml-section-element-name-regexp nxml-token-after nil (start-tag partial-start-tag) looking-at nxml-make-section-tag-regexp-1 nxml-cached-section-tag-regexp] 3 (#$ . 26807)])
#@239 Return the position of the start of the content of a heading element.
Adjust the position to be after initial leading whitespace.
Return nil if no heading element is found.  Requires point to be
immediately after the section's start-tag.
(defalias 'nxml-heading-start-position #[nil "\306\307\310Q\311	\312Q`\313\212\314 \203h \315>\2036 \316\f\317 \"\204h \306V\203h S\211\202\\ \320>\203_ \316\f\321 \"\204h \316\321 \"\203V \322\313w\210`\202h T\323\203h `ZX\204 )\n-\207" [nxml-heading-element-name-regexp nxml-section-element-name-regexp found start section-regexp heading-regexp 0 "\\`\\(" "\\)\\'" "\\`\\(" "\\)\\'" nil xmltok-forward (end-tag partial-end-tag) string-match xmltok-end-tag-local-name (start-tag partial-start-tag) xmltok-start-tag-local-name " 	\n" t depth xmltok-type nxml-heading-scan-distance] 5 (#$ . 27364)])
(defalias 'nxml-report-outline-error #[(msg err) "\302\303\304	A\"\"\207" [msg err error apply format] 5])
(defalias 'nxml-outline-error #[(&rest args) "\301\302\"\207" [args signal nxml-outline-error] 3])
(byte-code "\300\301\302\303#\210\300\301\304\305#\207" [put nxml-outline-error error-conditions (error nxml-error nxml-outline-error) error-message "Cannot create outline of buffer that is not well-formed"] 4)
(defalias 'nxml-debug-overlays #[nil "\302ed\"\237\303	\205. 	@	A\304\305\"\203 \306\307\304\310\"\311!\312!\304\313\"%\210\202 *\207" [overlay overlays overlays-in nil overlay-get nxml-outline-display message "overlay %s: %s...%s (%s)" category overlay-start overlay-end display] 8 nil nil])
(provide 'nxml-outln)
