Your IP : 216.73.216.48
;ELC
;;; Compiled
;;; in Emacs version 24.5.1
;;; with all optimizations.
;;; This file uses dynamic docstrings, first added in Emacs 19.29.
;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(byte-code "\300\301!\203\n \302\303!\210\304\305!\210\304\306!\210\304\307!\210\304\310!\210\304\311!\210\304\312!\210\313\314!\210\304\315!\210\316\317\320\321\322\323\324\325&\210\316\326\320\327\324\317%\210\330\331\332\333\334DD\335\324\317\336\337&\210\330\340\332\333\341DD\342\324\317\336\337&\210\330\343\332\333\344DD\345\324\317\336\337&\210\330\346\332\333\347DD\350\324\317\336\351&\210\330\352\332\333\353DD\354\324\317\336\351&\210\330\355\332\333\356DD\357\324\317\336\337&\210\330\360\332\333\361DD\362\324\317\336\337&\210\330\363\332\333\364DD\365\324\317\336\337&\210\330\366\332\333\367DD\370\324\317\336\371&\210\330\372\332\333\373DD\374\324\317\336\337&\210\375\376\377\201@ \324\326%\210\375\201A \201B \201C \324\326%\210\375\201D \201E \201F \324\326%\210\375\201G \320\201H \324\326%\210\375\201I \320\201J \324\326%\210\375\201K \201L \201M \324\326%\210\375\201N \201O \201P \324\326%\210\375\201Q \201R \201S \324\326%\210\375\201T \201U \201V \324\326%\210\375\201W \201X \201Y \324\326%\210\375\201Z \201[ \201\\ \324\326%\210\375\201] \201^ \201_ \324\326%\210\375\201` \201a \201b \324\326%\210\375\201c \201d \201e \324\326%\210\375\201f \201g \201h \324\326%\210\375\201i \201j \201k \324\326%\210\375\201l \201m \201n \324\326%\210\375\201o \201p \201q \324\326%\210\375\201r \201s \201t \324\326%\210\375\201u \201v \201w \324\326%\210\375\201x \320\201y \324\326%\210\375\201z \201{ \201| \324\326%\210\375\201} \201~ \201 \324\326%\210\375\201\200 \201\201 \201\202 \324\326%\210\375\201\203 \201\204 \201\205 \324\326%\210\375\201\206 \201\207 \201\210 \324\326%\210\375\201\211 \201\212 \201\213 \324\326%\210\375\201\214 \201\215 \201\216 \324\326%\210\375\201\217 \201\220 \201\221 \324\326%\210\375\201\222 \201\223 \201\224 \324\326%\210\375\201\225 \201\226 \201\227 \324\326%\210\375\201\230 \201\231 \201\232 \324\326%\210\375\201\233 \201\234 \201\235 \324\326%\210\375\201\236 \201\237 \201\240 \324\326%\210\375\201\241 \201\242 \201\243 \324\326%\210\375\201\244 \201\245 \201\246 \324\326%\210\375\201\247 \201\250 \201\251 \324\326%\210\375\307\201\252 \201\253 \324\326%\207" [featurep mucs error "nxml-mode is not compatible with Mule-UCS" require xmltok nxml-enc nxml-glyph nxml-util nxml-rap nxml-outln provide nxml-mode rng-nxml custom-declare-group nxml nil "New XML editing mode." :link (custom-manual "(nxml-mode) Top") :group languages nxml-faces "Faces for XML syntax highlighting." custom-declare-variable nxml-char-ref-display-glyph-flag funcall function #[0 "\300\207" [t] 1 "\n\n(fn)"] "Non-nil means display glyph following character reference.\nThe glyph is displayed in face `nxml-glyph'. The abnormal hook\n`nxml-glyph-set-functions' can be used to change the characters\nfor which glyphs are displayed." :type boolean nxml-sexp-element-flag #[0 "\300\207" [nil] 1 "\n\n(fn)"] "Non-nil means sexp commands treat an element as a single expression." nxml-slash-auto-complete-flag #[0 "\300\207" [nil] 1 "\n\n(fn)"] "Non-nil means typing a slash automatically completes the end-tag.\nThis is used by `nxml-electric-slash'." nxml-child-indent #[0 "\300\207" [2] 1 "\n\n(fn)"] "Indentation for the children of an element relative to the start-tag.\nThis only applies when the line or lines containing the start-tag contains\nnothing else other than that start-tag." integer nxml-attribute-indent #[0 "\300\207" [4] 1 "\n\n(fn)"] "Indentation for the attributes of an element relative to the start-tag.\nThis only applies when the first attribute of a tag starts a line.\nIn other cases, the first attribute on one line is indented the same\nas the first attribute on the previous line." nxml-bind-meta-tab-to-complete-flag #[0 "\300\207" [t] 1 "\n\n(fn)"] "Non-nil means to use nXML completion in \\[completion-at-point]." nxml-prefer-utf-16-to-utf-8-flag #[0 "\300\207" [nil] 1 "\n\n(fn)"] "Non-nil means prefer UTF-16 to UTF-8 when saving a buffer.\nThis is used only when a buffer does not contain an encoding declaration\nand when its current `buffer-file-coding-system' specifies neither UTF-16\nnor UTF-8." nxml-prefer-utf-16-little-to-big-endian-flag #[0 "\301=\207" [system-type windows-nt] 2 "\n\n(fn)"] "Non-nil means prefer little-endian to big-endian byte-order for UTF-16.\nThis is used only for saving a buffer; when reading the byte-order is\nauto-detected. It may be relevant both when there is no encoding declaration\nand when the encoding declaration specifies `UTF-16'." nxml-default-buffer-file-coding-system #[0 "\300\207" [nil] 1 "\n\n(fn)"] "Default value for `buffer-file-coding-system' for a buffer for a new file.\nA value of nil means use the default value of `buffer-file-coding-system' as normal.\nA buffer's `buffer-file-coding-system' affects what \\[nxml-insert-xml-declaration] inserts." coding-system nxml-auto-insert-xml-declaration-flag #[0 "\300\207" [nil] 1 "\n\n(fn)"] "Non-nil means automatically insert an XML declaration in a new file.\nThe XML declaration is inserted using `nxml-insert-xml-declaration'." custom-declare-face nxml-delimited-data ((t (:inherit font-lock-doc-face))) "Face used to highlight data enclosed between delimiters.\nThis is not used directly, but only via inheritance by other faces." nxml-name ((t (:inherit font-lock-builtin-face))) "Face used to highlight various names.\nThis includes element and attribute names, processing\ninstruction targets and the CDATA keyword in a CDATA section.\nThis is not used directly, but only via inheritance by other faces." nxml-ref ((t (:inherit font-lock-constant-face))) "Face used to highlight character and entity references.\nThis is not used directly, but only via inheritance by other faces." nxml-delimiter "Face used to highlight delimiters.\nThis is not used directly, but only via inheritance by other faces." nxml-text "Face used to highlight text." nxml-comment-content ((t (:inherit font-lock-comment-face))) "Face used to highlight the content of comments." nxml-comment-delimiter ((t (:inherit font-lock-comment-delimiter-face))) "Face used for the delimiters of comments, i.e., <!-- and -->." nxml-processing-instruction-delimiter ((t (:inherit nxml-delimiter))) "Face used for the delimiters of processing instructions, i.e., <? and ?>." nxml-processing-instruction-target ((t (:inherit font-lock-keyword-face))) "Face used for the target of processing instructions." nxml-processing-instruction-content ((t (:inherit nxml-delimited-data))) "Face used for the content of processing instructions." nxml-cdata-section-delimiter ((t (:inherit nxml-delimiter))) "Face used for the delimiters of CDATA sections, i.e., <![, [, and ]]>." nxml-cdata-section-CDATA ((t (:inherit nxml-name))) "Face used for the CDATA keyword in CDATA sections." nxml-cdata-section-content ((t (:inherit nxml-text))) "Face used for the content of CDATA sections." nxml-char-ref-number ((t (:inherit nxml-ref))) "Face used for the number in character references.\nThis includes ths `x' in hex references." nxml-char-ref-delimiter ((t (:inherit nxml-ref))) "Face used for the delimiters of character references, i.e., &# and ;." nxml-entity-ref-name ((t (:inherit nxml-ref))) "Face used for the entity name in general entity references." nxml-entity-ref-delimiter ((t (:inherit nxml-ref))) "Face used for the delimiters of entity references, i.e., & and ;." nxml-tag-delimiter ((t (:inherit nxml-delimiter))) "Face used for the angle brackets delimiting tags.\n`nxml-tag-slash' is used for slashes." nxml-tag-slash ((t (:inherit nxml-tag-delimiter))) "Face used for slashes in tags, both in end-tags and empty-elements." nxml-element-prefix ((t (:inherit nxml-name))) "Face used for the prefix of elements." nxml-element-colon "Face used for the colon in element names." nxml-element-local-name ((t (:inherit font-lock-function-name-face))) "Face used for the local name of elements." nxml-attribute-prefix ((t (:inherit nxml-name))) "Face used for the prefix of attributes." nxml-attribute-colon ((t (:inherit nxml-delimiter))) "Face used for the colon in attribute names." nxml-attribute-local-name ((t (:inherit font-lock-variable-name-face))) "Face used for the local name of attributes." nxml-namespace-attribute-xmlns ((t (:inherit nxml-attribute-prefix))) "Face used for `xmlns' in namespace attributes." nxml-namespace-attribute-colon ((t (:inherit nxml-attribute-colon))) "Face used for the colon in namespace attributes." nxml-namespace-attribute-prefix ((t (:inherit nxml-attribute-local-name))) "Face used for the prefix declared in namespace attributes." nxml-attribute-value ((t (:inherit font-lock-string-face))) "Face used for the value of attributes." nxml-attribute-value-delimiter ((t (:inherit nxml-attribute-value))) "Face used for the delimiters of attribute values." nxml-namespace-attribute-value ((t (:inherit nxml-attribute-value))) "Face used for the value of namespace attributes." nxml-namespace-attribute-value-delimiter ((t (:inherit nxml-attribute-value-delimiter))) "Face used for the delimiters of namespace attribute values." nxml-prolog-literal-delimiter ((t (:inherit nxml-delimited-data))) "Face used for the delimiters of literals in the prolog." nxml-prolog-literal-content ((t (:inherit nxml-delimited-data))) "Face used for the content of literals in the prolog." nxml-prolog-keyword ((t (:inherit font-lock-keyword-face))) "Face used for keywords in the prolog." nxml-markup-declaration-delimiter ((t (:inherit nxml-delimiter))) "Face used for the delimiters of markup declarations in the prolog.\nThe delimiters are <! and >." nxml-hash ((t (:inherit nxml-name))) "Face used for # before a name in the prolog." ((((type x)) (:family "misc-fixed" :background "light grey" :foreground "black" :weight normal :slant normal)) (t (:background "light grey" :foreground "black" :weight normal :slant normal))) "Face used for glyph for char references."] 8)
#@97 The parent document for a part of a modular document.
Use `nxml-parent-document-set' to set it.
(defvar nxml-parent-document nil (#$ . 10284))
(byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local nxml-parent-document put safe-local-variable stringp] 4)
#@111 List of regions in the prolog to be fontified.
See the function `xmltok-forward-prolog' for more information.
(defvar nxml-prolog-regions nil (#$ . 10567))
(make-variable-buffer-local 'nxml-prolog-regions)
#@161 Non-nil if currently operating in degraded mode.
Degraded mode is enabled when an internal error is encountered in the
fontification or after-change functions.
(defvar nxml-degraded nil (#$ . 10780))
(make-variable-buffer-local 'nxml-degraded)
#@62 Hook run by `nxml-complete'.
This hook is run until success.
(defvar nxml-completion-hook nil (#$ . 11030))
#@226 Hook to determine whether point is in mixed content.
The hook is called without arguments. It should return nil if it is
definitely not mixed; non-nil otherwise. The hook will be run until
one of the functions returns nil.
(defvar nxml-in-mixed-content-hook nil (#$ . 11145))
#@70 Maximum distance from point to scan when checking for mixed content.
(defvar nxml-mixed-scan-distance 4000 (#$ . 11429))
#@71 Maximum distance from point to scan backwards when indenting end-tag.
(defvar nxml-end-tag-indent-scan-distance 4000 (#$ . 11556))
#@275 Non-nil means display extra information for character references.
The extra information consists of a tooltip with the character name
and, if `nxml-char-ref-display-glyph-flag' is non-nil, a glyph
corresponding to the referenced character following the character
reference.
(defvar nxml-char-ref-extra-display t (#$ . 11694))
(make-variable-buffer-local 'nxml-char-ref-extra-display)
#@23 Keymap for nxml-mode.
(defvar nxml-mode-map (byte-code "\301 \302\303\304#\210\302\305\306#\210\302\307\310#\210\302\311\312#\210\302\313\314#\210\302\315\316#\210\302\317\320#\210\302\321\322#\210\302\323\322#\210\302\324\322#\210\302\325\326#\210\302\327\330#\210\302\331\332#\210\302\333\334#\210\302\335\336#\210\302\337\340#\210\302\341#\210\302\342\343#\210\302\344\345#\210\302\346\347#\210\211\207" [nxml-outline-prefix-map make-sparse-keymap define-key "\225" nxml-backward-up-element "\204" nxml-down-element "\216" nxml-forward-element "\220" nxml-backward-element "\373" nxml-backward-paragraph "\375" nxml-forward-paragraph "\350" nxml-mark-paragraph "" nxml-finish-element "]" "/" "
" nxml-split-element "" nxml-balanced-close-start-tag-block " " nxml-balanced-close-start-tag-inline "" nxml-insert-xml-declaration "" nxml-dynamic-markup-word "" nxml-insert-named-char "" [S-mouse-2] nxml-mouse-hide-direct-text-content "/" nxml-electric-slash "\211" completion-at-point] 5) (#$ . 12084))
#@43 Default font lock keywords for nxml-mode.
(defvar nxml-font-lock-keywords '(nxml-fontify-matcher) (#$ . 13130))
(defalias 'nxml-set-face #[771 "\211\205 W\205 \300\301$\207" [font-lock-append-text-property face] 8 "\n\n(fn START END FACE)"])
(byte-code "\300\301\302\303#\207" [put nxml-set-face byte-optimizer byte-compile-inline-expand] 4)
#@74 Set `nxml-parent-document' and inherit the DTD &c.
(fn PARENT-DOCUMENT)
(defalias 'nxml-parent-document-set #[257 "\306\211\211\211\211\211\307!\307!\230\203 \310\311!\210r\312!q\210 \262\n\262\262\f\262
\262\262\262)\211\313\314\"\210\205R \315p!\207" [buffer-file-name rng-dtd rng-current-schema rng-current-schema-file-name rng-compile-table rng-ipattern-table nil file-truename error "Parent document cannot be the same as the document" find-file-noselect message "Set parent document to %s" rng-validate-while-idle rng-last-ipattern-index nxml-parent-document rng-validate-mode] 10 (#$ . 13485) "fParent document"])
#@161 Hook run after entering nXML mode.
No problems result if this variable is not bound.
`add-hook' automatically binds it. (This is true for all hook variables.)
(defvar nxml-mode-hook nil (#$ . 14151))
(byte-code "\300\301!\204\f \302\301\303\304#\210\300\207" [boundp nxml-mode-map put definition-name nxml-mode] 4)
(defvar nxml-mode-map (make-sparse-keymap))
(byte-code "\300\301N\204 \302\300\301\303\304!#\210\305\306!\204 \302\306\307\310#\210\300\207" [nxml-mode-map variable-documentation put purecopy "Keymap for `nxml-mode'." boundp nxml-mode-syntax-table definition-name nxml-mode] 5)
(defvar nxml-mode-syntax-table (make-syntax-table))
(byte-code "\300\301N\204 \302\300\301\303\304!#\210\302\305\306\307#\207" [nxml-mode-syntax-table variable-documentation put purecopy "Syntax table for `nxml-mode'." nxml-mode-abbrev-table definition-name nxml-mode] 5)
(defvar nxml-mode-abbrev-table (progn (define-abbrev-table 'nxml-mode-abbrev-table nil) nxml-mode-abbrev-table))
(byte-code "\300\301N\204 \302\300\301\303\304!#\210\302\305\306\307#\207" [nxml-mode-abbrev-table variable-documentation put purecopy "Abbrev table for `nxml-mode'." nxml-mode derived-mode-parent text-mode] 5)
#@2642 Major mode for editing XML.
\[nxml-finish-element] finishes the current element by inserting an end-tag.
C-c C-i closes a start-tag with `>' and then inserts a balancing end-tag
leaving point between the start-tag and end-tag.
\[nxml-balanced-close-start-tag-block] is similar but for block rather than inline elements:
the start-tag, point, and end-tag are all left on separate lines.
If `nxml-slash-auto-complete-flag' is non-nil, then inserting a `</'
automatically inserts the rest of the end-tag.
\[completion-at-point] performs completion on the symbol preceding point.
\[nxml-dynamic-markup-word] uses the contents of the current buffer
to choose a tag to put around the word preceding point.
Sections of the document can be displayed in outline form. The
variable `nxml-section-element-name-regexp' controls when an element
is recognized as a section. The same key sequences that change
visibility in outline mode are used except that they start with C-c C-o
instead of C-c.
Validation is provided by the related minor-mode `rng-validate-mode'.
This also makes completion schema- and context- sensitive. Element
names, attribute names, attribute values and namespace URIs can all be
completed. By default, `rng-validate-mode' is automatically enabled.
You can toggle it using \[rng-validate-mode] or change the default by
customizing `rng-nxml-auto-validate-flag'.
\[indent-for-tab-command] indents the current line appropriately.
This can be customized using the variable `nxml-child-indent'
and the variable `nxml-attribute-indent'.
\[nxml-insert-named-char] inserts a character reference using
the character's name (by default, the Unicode name).
\[universal-argument] \[nxml-insert-named-char] inserts the character directly.
The Emacs commands that normally operate on balanced expressions will
operate on XML markup items. Thus \[forward-sexp] will move forward
across one markup item; \[backward-sexp] will move backward across
one markup item; \[kill-sexp] will kill the following markup item;
\[mark-sexp] will mark the following markup item. By default, each
tag each treated as a single markup item; to make the complete element
be treated as a single markup item, set the variable
`nxml-sexp-element-flag' to t. For more details, see the function
`nxml-forward-balanced-item'.
\[nxml-backward-up-element] and \[nxml-down-element] move up and down the element structure.
Many aspects this mode can be customized using
\[customize-group] nxml RET.
In addition to any hooks its parent mode `text-mode' might have run,
this mode runs the hook `nxml-mode-hook', as the final step
during initialization.
(fn)
(defalias 'nxml-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\332\306\333!\210\334\306\335!\210\336\306\337!\210\340\306\341!\210\342!\306\343!\210\340#\306\344!\210\345$\306\346!\210\347&\306\350!\210\351(\306\352!\210\353*\306\354!\210\355,\327!\210\212\214~\210\356e\334\"A\357 \307\211BC\307D\334\211EF\334G\360\361\362\363\364\365!\366\"\367\370%DC\216edHI\371IH\372#*\210\307J\373 \210.\210*\374\375\376\334\307$\210\306\377!\210\201O ?\374\201P \201Q \334\307$\210\201F \203#\201R \201F !\204@K\2036\201S \201L !\2046KLM\203@\201T \210\201U N\201V \210\201W \210)\201X \201Y !\207" [delay-mode-hooks major-mode mode-name nxml-mode-map nxml-mode-syntax-table nxml-mode-abbrev-table make-local-variable t text-mode nxml-mode "nXML" 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 mode-line-process ((nxml-degraded "/degraded")) adaptive-fill-mode nil forward-sexp-function nxml-forward-balanced-item indent-line-function nxml-indent-line fill-paragraph-function nxml-do-fill-paragraph comment-indent-function comment-start "<!--" comment-start-skip "<!--[
\n]*" comment-end "-->" comment-end-skip "[
\n]*-->" comment-line-break-function nxml-newline-and-indent copy-marker buffer-modified-p funcall make-byte-code 0 "\300?\205 \301\302!\207" vconcat vector [restore-buffer-modified-p nil] 2 "\n\n(fn)" remove-text-properties (nxml-inside nil) nxml-scan-prolog add-hook completion-at-point-functions nxml-completion-at-point-function syntax-propertize-function local-abbrev-table nxml-scan-end buffer-undo-list inhibit-read-only inhibit-modification-hooks deactivate-mark buffer-file-name buffer-file-truename end start inhibit-point-motion-hooks nxml-default-buffer-file-coding-system buffer-file-coding-system nxml-auto-insert-xml-declaration-flag font-lock-defaults nxml-after-change change-major-mode-hook nxml-cleanup file-exists-p local-variable-p nxml-insert-xml-declaration (nxml-font-lock-keywords t nil nil nil (font-lock-extend-region-functions nxml-extend-region) (jit-lock-contextually . t) (font-lock-unfontify-region-function . nxml-unfontify-region)) rng-nxml-mode-init nxml-enable-unicode-char-name-sets run-mode-hooks nxml-mode-hook] 9 (#$ . 15353) nil])
#@33 Clean up after nxml-mode.
(fn)
(defalias 'nxml-cleanup #[0 "\306\307!\210\212~\210\310 \311\211\311\312\211\312\313\314\315\316\317\320!\321\"\322\323%DC\216\311\324ed\325#\210.\210)\326\327\330\311#\207" [buffer-undo-list inhibit-read-only inhibit-modification-hooks deactivate-mark buffer-file-name buffer-file-truename rng-validate-mode -1 buffer-modified-p t nil funcall make-byte-code 0 "\300?\205 \301\302!\207" vconcat vector [restore-buffer-modified-p nil] 2 "\n\n(fn)" remove-text-properties (face) remove-hook change-major-mode-hook nxml-cleanup inhibit-point-motion-hooks] 9 (#$ . 20601)])
(defalias 'nxml-degrade #[514 "\306\307\310!#\210\311 \210\312\313\212\214~\210\314 \312\211\312\315\211\315\316\317\320\321\322\323!\324\"\325\326%DC\216ed\327\330#. \262*\207" [nxml-degraded nxml-prolog-end buffer-undo-list inhibit-read-only inhibit-modification-hooks deactivate-mark message "Internal nXML mode error in %s (%s), degrading" error-message-string ding t 1 buffer-modified-p nil funcall make-byte-code 0 "\300?\205 \301\302!\207" vconcat vector [restore-buffer-modified-p nil] 2 "\n\n(fn)" remove-text-properties (nxml-inside nil) buffer-file-name buffer-file-truename end start] 11 "\n\n(fn CONTEXT ERR)"])
(defalias 'nxml-debug-region #[514 "\302 \210 b\210\303!*\207" [font-lock-end font-lock-beg nxml-extend-region set-mark] 4 "\n\n(fn START END)" "r"])
(defalias 'nxml-after-change #[514 "?\205 \301\302\303\304\305\306\307\"\310\"\311\312%D\313\302\314\301EDC\217\207" [nxml-degraded #1=#:err funcall make-byte-code 0 "\214~\210\303\304\300\301\"*\207" vconcat vector [inhibit-point-motion-hooks t nxml-after-change1] 3 "\n\n(fn)" error #[257 "\300\301\"\207" [nxml-degrade nxml-after-change] 4 "\n\n(fn ERR)"]] 11 "\n\n(fn START END)"])
#@305 After-change bookkeeping.
Returns a cons cell containing a possibly-enlarged change region.
You must call `nxml-extend-region' on this expanded region to obtain
the full extent of the area needing refontification.
For bookkeeping, call this function even when fontification is
disabled.
(fn START END)
(defalias 'nxml-after-change1 #[514 "\301\\X\203 \302 \210e\262\211V\203&