| Server IP : 217.160.0.212 / Your IP : 216.73.216.141 Web Server : Apache System : Linux www 6.18.51-i1-ampere #1196 SMP Fri Sep 11 20:43:55 CEST 2026 aarch64 User : sws1073854427 ( 1073854427) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /usr/share/emacs/28.2/lisp/nxml/ |
Upload File : |
;ELC
;;; Compiled
;;; in Emacs version 28.2
;;; with all optimizations.
(byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\306\307!\210\300\310!\210\300\311!\210\312\313\314\315\316\317\320\321&\210\312\322\314\323\320\313%\210\324\325\326\327\330DD\331\320\313\332\333\334\335& \210\324\336\326\327\337DD\340\341\342\320\313\332\333\334\335&\210\324\343\326\327\344DD\345\320\313\332\333\334\335& \210\324\346\326\327\347DD\350\320\313\332\351\334\352& \210\324\353\326\327\354DD\355\320\313\332\351\334\352& \210\324\356\326\327\357DD\360\320\313\332\333\334\335& \210\324\361\326\327\362DD\363\320\313\332\333\334\335& \210\324\364\326\327\365DD\366\320\313\332\333\334\335& \210\324\367\326\327\370DD\371\320\313\332\372\334\373& \210\324\374\326\327\375DD\376\320\313\332\333\334\335& \210\377\201@ \201A \201B \320\322%\210\377\201C \201D \201E \320\322%\210\377\201F \201G \201H \320\322%\210\377\201I \314\201J \320\322%\210\377\201K \314\201L \320\322%\210\377\201M \201N \201O \320\322%\210\377\201P \201Q \201R \320\322%\210\377\201S \201T \201U \320\322%\210\377\201V \201W \201X \320\322%\210\377\201Y \201Z \201[ \320\322%\210\377\201\\ \201] \201^ \320\322%\210\377\201_ \201` \201a \320\322%\210\377\201b \201c \201d \320\322%\210\377\201e \201f \201g \320\322%\210\377\201h \201i \201j \320\322%\210\377\201k \201l \201m \320\322%\210\377\201n \201o \201p \320\322%\210\377\201q \201r \201s \320\322%\210\377\201t \314\201u \320\322%\210\377\201v \201w \201x \320\322%\210\377\201y \201z \201{ \320\322%\210\377\201| \201} \201~ \320\322%\210\377\201 \201\200 \201\201 \320\322%\210\377\201\202 \201\203 \201\204 \320\322%\210\377\201\205 \201\206 \201\207 \320\322%\210\377\201\210 \201\211 \201\212 \320\322%\210\377\201\213 \201\214 \201\215 \320\322%\210\377\201\216 \201\217 \201\220 \320\322%\210\377\201\221 \201\222 \201\223 \320\322%\210\377\201\224 \201\225 \201\226 \320\322%\210\377\201\227 \201\230 \201\231 \320\322%\210\377\201\232 \201\233 \201\234 \320\322%\210\377\201\235 \201\236 \201\237 \320\322%\210\377\201\240 \201\241 \201\242 \320\322%\207" [require xmltok nxml-enc nxml-util nxml-rap nxml-outln provide nxml-mode rng-nxml sgml-mode 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 #1=""] "Non-nil means display glyph following character reference.\nThe glyph is displayed in face `nxml-glyph'." :type boolean :safe booleanp nxml-sexp-element-flag #[0 "\300\207" [t] 1 #1#] "Non-nil means sexp commands treat an element as a single expression." :version "27.1" nxml-slash-auto-complete-flag #[0 "\300\207" [nil] 1 #1#] "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 #1#] "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 integerp nxml-attribute-indent #[0 "\300\207" [4] 1 #1#] "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 #1#] "Non-nil means to use nXML completion in \\[completion-at-point]." nxml-prefer-utf-16-to-utf-8-flag #[0 "\300\207" [nil] 1 #1#] "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 #1#] "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\nbyte-order is auto-detected. It may be relevant both when there\nis no encoding declaration and when the encoding declaration\nspecifies `UTF-16'." nxml-default-buffer-file-coding-system #[0 "\300\207" [nil] 1 #1#] "Default value for `buffer-file-coding-system' for a buffer for a new file.\nA value of nil means use the default value of\n`buffer-file-coding-system' as normal.\nA buffer's `buffer-file-coding-system' affects what\n\\[nxml-insert-xml-declaration] inserts." coding-system coding-system-p nxml-auto-insert-xml-declaration-flag #[0 "\300\207" [nil] 1 #1#] "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-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-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." nxml-glyph ((((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."] 12)
#@97 The parent document for a part of a modular document.
Use `nxml-parent-document-set' to set it.
(defvar nxml-parent-document nil (#$ . 9157))
(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 (#$ . 9439))
(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 (#$ . 9651))
(make-variable-buffer-local 'nxml-degraded)
#@62 Hook run by `nxml-complete'.
This hook is run until success.
(defvar nxml-completion-hook nil (#$ . 9900))
#@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 (#$ . 10014))
#@70 Maximum distance from point to scan when checking for mixed content.
(defvar nxml-mixed-scan-distance 4000 (#$ . 10298))
#@71 Maximum distance from point to scan backwards when indenting end-tag.
(defvar nxml-end-tag-indent-scan-distance 4000 (#$ . 10425))
#@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 (#$ . 10563))
(make-variable-buffer-local 'nxml-char-ref-extra-display)
#@25 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\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) (#$ . 10953))
#@45 Default font lock keywords for `nxml-mode'.
(defvar nxml-font-lock-keywords '(nxml-fontify-matcher) (#$ . 11997))
#@23
(fn START END FACE)
(defalias 'nxml-set-face #[771 "\211\205 W\205 \300\301$\207" [font-lock-prepend-text-property face] 8 (#$ . 12117)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put nxml-set-face speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@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 (#$ . 12409) "fParent document"])
#@53 Syntactic keywords for `nxml-mode'.
(fn START END)
(defalias 'nxml-syntax-propertize #[514 "W\203 \301 \210\302\"\207" [nxml-prolog-end nxml-scan-prolog sgml-syntax-propertize] 5 (#$ . 13074)])
(defvar nxml-mode-hook nil)
(byte-code "\300\301N\204\f \302\300\301\303#\210\304\305!\204 \302\305\306\307#\210\300\207" [nxml-mode-hook variable-documentation put "Hook run after entering nXML mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp nxml-mode-map definition-name nxml-mode] 4)
(defvar nxml-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" [nxml-mode-abbrev-table nxml-mode-map variable-documentation put purecopy "Keymap for `nxml-mode'." boundp nxml-mode-syntax-table definition-name nxml-mode (lambda (#1=#:def-tmp-var) (defvar nxml-mode-syntax-table #1#)) make-syntax-table "Syntax table for `nxml-mode'." (lambda (#1#) (defvar nxml-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `nxml-mode'." derived-mode-parent text-mode] 5)
#@2670 Major mode for editing XML.
\<nxml-mode-map>
\[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, the
complete element is treated as a single markup item; to make each tag be
treated as a separate markup item, set the variable `nxml-sexp-element-flag'
to nil. 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 or penultimate
step during initialization.
(defalias 'nxml-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203 \314\311\313\310\313N#\210\315!\204'