%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/textmodes/ |
Current File : //usr/local/share/emacs/27.2/lisp/textmodes/sgml-mode.elc |
;ELC ;;; Compiled ;;; in Emacs version 27.2 ;;; with all optimizations. ;;; This file contains utf-8 non-ASCII characters, ;;; and so cannot be loaded into Emacs 22 or earlier. (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (string-lessp emacs-version "23") (error "`%s' was compiled for Emacs 23 or later" #$)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\210\303\304\305\306\307\310\311\312&\210\313\314\315\316\317DD\320\321\322%\210\313\323\315\316\324DD\325\326\327\321\322\330\331& \210\313\332\315\316\333DD\334\321\335\326\336&\210\337\340\341\"\210\313\341\315\316\342DD\343\321\316\344\345\346\347& \210\350\341\351\352#\210\313\353\315\316\354DD\355\321\356%\207" [require dom seq custom-declare-group sgml nil "SGML editing mode." :link (custom-group-link :tag "Font Lock Faces group" font-lock-faces) :group languages custom-declare-variable sgml-basic-offset funcall function #[0 "\300\207" [2] 1] "Specifies the basic indentation level for `sgml-indent-line'." :type integer sgml-attribute-offset #[0 "\300\207" [0] 1] "Specifies a delta for attribute indentation in `sgml-indent-line'.\n\nWhen 0, attribute indentation looks like this:\n\n <element\n attribute=\"value\">\n </element>\n\nWhen 2, attribute indentation looks like this:\n\n <element\n attribute=\"value\">\n </element>" :version "25.1" :safe integerp sgml-xml-mode #[0 "\300\207" [nil] 1] "When non-nil, tag insertion functions will be XML-compliant.\nIt is set to be buffer-local when the file has\na DOCTYPE or an XML declaration." boolean "22.1" defvaralias sgml-transformation sgml-transformation-function #[0 "\300\207" [identity] 1] "Default value for `skeleton-transformation-function' in SGML mode." :initialize custom-initialize-default :set #[514 "\300\"\210\301\302\303\304\305\306!\307\"\310\311%\312 \"\207" [set-default mapc make-byte-code 257 "r\211q\210\303\304!\205 ?\205 \300\211)\207" vconcat vector [sgml-xml-mode skeleton-transformation-function derived-mode-p sgml-mode] 3 "\n\n(fn BUFF)" buffer-list] 9 "\n\n(fn SYM VAL)"] put variable-interactive "aTransformation function: " sgml-mode-hook #[0 "\300\207" [nil] 1] "Hook run by command `sgml-mode'.\n`text-mode-hook' is run first." hook] 10) #@339 List of characters that have a special meaning for SGML mode. This list is used when first loading the `sgml-mode' library. The supported characters are ?\", ?\=', and ?-. Including ?- makes double dashes into comment delimiters, but they are really only supposed to delimit comments within DTD definitions. So we normally turn it off. (defvar sgml-specials '(34 39) (#$ . 2306)) #@137 Use <, >, &, /, SPC and `sgml-specials' keys "electrically" when non-nil. This takes effect when first loading the `sgml-mode' library. (defvar sgml-quick-keys nil (#$ . 2695)) #@50 Keymap for SGML mode. See also `sgml-specials'. (defvar sgml-mode-map (byte-code "\302 \303\304!\305\306\307#\210\305\310\311#\210\305\312\313#\210\305\314\315#\210\305\316\317#\210\305\320\321#\210\305\322\321#\210\305\323\324#\210\305\325\324#\210\305\326\327#\210\305\330\327#\210\305\331\332#\210\305\333\334#\210\305\335\334#\210\305\336\315#\210\305\337\334#\210\305\340\341#\210\305\342\343#\210\203\245 \305\344\313#\210\305\345\315#\210\305\346\347#\210\305\350\351#\210\352 >\203\231 \305\353\354#\210\355 >\203\245 \305\356\354#\210\357A@T\211\262\360W\203\273 \211\361I\210\202\251 \266\305\362\304B#\210\305\363\364#\210\305\365\366#\210\305\367\370#\210\305\371\372#\210\305\373\374#\210\305\375\376#\210\305\377\201@ #\210\305\201A \201B #\210\305\201C \201D #\210\207" [sgml-quick-keys sgml-specials make-keymap make-sparse-keymap "SGML" define-key " " sgml-tags-invisible "/" sgml-slash "" sgml-name-char "" sgml-tag "" sgml-attributes "" sgml-skip-tag-backward [3 left] "" sgml-skip-tag-forward [3 right] "" sgml-delete-tag "" "?" sgml-tag-help "]" sgml-close-tag "/" "" "" "8" sgml-name-8bit-mode "" sgml-validate "&" "<" " " sgml-auto-attributes ">" sgml-maybe-end-tag 34 "\"" sgml-name-self 39 "'" 127 256 sgml-maybe-name-self [menu-bar sgml] [sgml-validate] ("Validate" . sgml-validate) [sgml-name-8bit-mode] ("Toggle 8 Bit Insertion" . sgml-name-8bit-mode) [sgml-tags-invisible] ("Toggle Tag Visibility" . sgml-tags-invisible) [sgml-tag-help] ("Describe Tag" . sgml-tag-help) [sgml-delete-tag] ("Delete Tag" . sgml-delete-tag) [sgml-skip-tag-forward] ("Forward Tag" . sgml-skip-tag-forward) [sgml-skip-tag-backward] ("Backward Tag" . sgml-skip-tag-backward) [sgml-attributes] ("Insert Attributes" . sgml-attributes) [sgml-tag] ("Insert Tag" . sgml-tag)] 7) (#$ . 2878)) #@17 (fn SPECIALS) (defalias 'sgml-make-syntax-table #[257 "\301!\302\303\304#\210\302\305\306#\210\302\307\310#\210\302\311\310#\210\302\312\310#\210\313>\203- \302\313\314#\210\315>\2039 \302\315\316#\210\317>\203E \302\317\320#\210\211\207" [text-mode-syntax-table make-syntax-table modify-syntax-entry 60 "(>" 62 ")<" 58 "_" 95 46 45 "_ 1234" 34 "\"\"" 39 "\"'"] 6 (#$ . 4745)]) #@60 Syntax table used in SGML mode. See also `sgml-specials'. (defvar sgml-mode-syntax-table (sgml-make-syntax-table sgml-specials) (#$ . 5143)) #@39 Syntax table used to parse SGML tags. (defconst sgml-tag-syntax-table (byte-code "\301!\302\211\203 \211@\303\304#\210A\266\202\202 \210\305>\204$ \303\305\306#\210\211\207" [sgml-specials sgml-make-syntax-table (40 41 123 125 91 93 36 37 38 42 43 47) modify-syntax-entry "." 39 "w"] 7) (#$ . 5291)) (byte-code "\300\301\302\303\304DD\305\306\307%\207" [custom-declare-variable sgml-name-8bit-mode funcall function #[0 "\300\207" [nil] 1] "When non-nil, insert non-ASCII characters as named entities." :type boolean] 6) #@57 Vector of symbolic character names without `&' and `;'. (defvar sgml-char-names [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil "nbsp" "excl" "quot" "num" "dollar" "percnt" "amp" "apos" "lpar" "rpar" "ast" "plus" "comma" "hyphen" "period" "sol" nil nil nil nil nil nil nil nil nil nil "colon" "semi" "lt" "eq" "gt" "quest" "commat" nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil "lsqb" nil "rsqb" "uarr" "lowbar" "lsquo" nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil "lcub" "verbar" "rcub" "tilde" nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil "nbsp" "iexcl" "cent" "pound" "curren" "yen" "brvbar" "sect" "uml" "copy" "ordf" "laquo" "not" "shy" "reg" "macr" "ring" "plusmn" "sup2" "sup3" "acute" "micro" "para" "middot" "cedil" "sup1" "ordm" "raquo" "frac14" "frac12" "frac34" "iquest" "Agrave" "Aacute" "Acirc" "Atilde" "Auml" "Aring" "AElig" "Ccedil" "Egrave" "Eacute" "Ecirc" "Euml" "Igrave" "Iacute" "Icirc" "Iuml" "ETH" "Ntilde" "Ograve" "Oacute" "Ocirc" "Otilde" "Ouml" nil "Oslash" "Ugrave" "Uacute" "Ucirc" "Uuml" "Yacute" "THORN" "szlig" "agrave" "aacute" "acirc" "atilde" "auml" "aring" "aelig" "ccedil" "egrave" "eacute" "ecirc" "euml" "igrave" "iacute" "icirc" "iuml" "eth" "ntilde" "ograve" "oacute" "ocirc" "otilde" "ouml" "divide" "oslash" "ugrave" "uacute" "ucirc" "uuml" "yacute" "thorn" "yuml"] (#$ . 5825)) (put 'sgml-table 'char-table-extra-slots 0) #@116 A table for mapping non-ASCII characters into SGML entity names. Currently, only Latin-1 characters are supported. (defvar sgml-char-names-table (byte-code "\301\302!\303\304\305W\203# H\262\211\203 \306\307\"I\210T\262\202 \207" [sgml-char-names make-char-table sgml-table 32 nil 128 make-char latin-iso8859-1] 7) (#$ . 7484)) (byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable sgml-validate-command funcall function #[0 "\300\301!\203 \302\207\300\303!\203 \304\207\300\305!\203 \306\207\307\207" [executable-find "tidy" "tidy --gnu-emacs yes -utf8 -e -q" "nsgmls" "nsgmls -s" "onsgmls" "onsgmls -s" "Install (o)nsgmls, tidy, or some other SGML validator, and set `sgml-validate-command'"] 2] "The command to validate an SGML document.\nThe file name of current buffer file name will be appended to this,\nseparated by a space." :type string :version "21.1"] 8) #@51 The command last used to validate in this buffer. (defvar sgml-saved-validate-command nil (#$ . 8405)) (byte-code "\300\301\302\303\304DD\305\306\307%\207" [custom-declare-variable sgml-slash-distance funcall function #[0 "\300\207" [1000] 1] "If non-nil, is the maximum distance to search for matching `/'." :type (choice (const nil) integer)] 6) (defconst sgml-namespace-re "[_[:alpha:]][-_.[:alnum:]]*") (defconst sgml-name-re "[_:[:alpha:]][-_.:[:alnum:]]*") (defconst sgml-tag-name-re (concat "<\\([!/?]?" sgml-name-re "\\)")) (defconst sgml-attrs-re "\\(?:[^\"'/><]\\|\"[^\"]*\"\\|'[^']*'\\)*") #@99 Regular expression that matches a non-empty start tag. Any terminating `>' or `/' is not matched. (defconst sgml-start-tag-regex (concat "<" sgml-name-re sgml-attrs-re) (#$ . 9012)) (custom-declare-face 'sgml-namespace '((t (:inherit font-lock-builtin-face))) "`sgml-mode' face used to highlight the namespace part of identifiers.") (defvar sgml-namespace-face 'sgml-namespace) (defconst sgml-font-lock-keywords-1 (byte-code "\302\303Q\304B\305 \306\307\260\310B\311 \306\312\260\313B\314\315Q\316BF\207" [sgml-name-re sgml-namespace-re "<\\([!?]" "\\)" (1 font-lock-keyword-face) "</?\\(" "\\)\\(?::\\(" "\\)\\)?" ((1 (if (match-end 2) sgml-namespace-face font-lock-function-name-face)) (2 font-lock-function-name-face nil t)) "\\(?:^\\|[ ]\\)\\(" "\\)\\)?=[\"']" ((1 (if (match-end 2) sgml-namespace-face font-lock-variable-name-face)) (2 font-lock-variable-name-face nil t)) "[&%]" ";?" font-lock-variable-name-face] 7)) (defconst sgml-font-lock-keywords-2 (append sgml-font-lock-keywords-1 '((eval cons (concat "<" (regexp-opt (mapcar 'car sgml-tag-face-alist) t) "\\([ ][^>]*\\)?>\\([^<]+\\)</\\1>") '(3 (cdr (assoc-string (match-string 1) sgml-tag-face-alist t)) prepend))))) #@68 Rules for highlighting SGML code. See also `sgml-tag-face-alist'. (defvar sgml-font-lock-keywords sgml-font-lock-keywords-1 (#$ . 10208)) #@66 `font-lock-syntactic-face-function' for `sgml-mode'. (fn STATE) (defalias 'sgml-font-lock-syntactic-face #[257 "\3028\203 \3038\203 \207\3048\205 \207" [font-lock-string-face font-lock-comment-face 9 3 4] 3 (#$ . 10353)]) (defvar sgml--syntax-propertize-ppss nil nil) (make-variable-buffer-local 'sgml--syntax-propertize-ppss) #@80 Return PPSS at POS, fixing the syntax of any lone `>' along the way. (fn POS) (defalias 'sgml--syntax-propertize-ppss #[257 "\211@Y\204 \301\302!\210\303@\304\305A%\211@\304=\2033 \306`S`\307\310$\210\211\311\240\210\303`\304\305%\262\202 \241\210\240\210\211\207" [sgml--syntax-propertize-ppss cl--assertion-failed (>= pos (car sgml--syntax-propertize-ppss)) parse-partial-sexp -1 nil put-text-property syntax-table (1) 0] 8 (#$ . 10695)]) #@90 Syntax-propertize rules for sgml text. These have to be run via `sgml-syntax-propertize' (defconst sgml-syntax-propertize-rules '(("\\(<\\)!--" (1 "< b")) ("--[ \n]*\\(>\\)" (1 "> b")) ("\\(<\\)[?!]" (1 (prog1 "|>" (sgml-syntax-propertize-inside end)))) ("\\([\"']\\)[^\"'<>]*" (1 (if (eq (char-after) (char-after (match-beginning 0))) (forward-char 1) (when (eq (char-after) 62) (skip-chars-backward "-")) (if (zerop (save-excursion (car (sgml--syntax-propertize-ppss (match-beginning 0))))) (string-to-syntax ".")))))) (#$ . 11156)) (defconst sgml--syntax-propertize #[514 "b\210`W\205\245 \300\301\302#\205\245 \303\224\203\"