;ELC
;;; Compiled by LTX@Xue-LingTaos-MacBook-Pro.local on Wed Mar 16 23:19:01 2011
;;; from file /Users/LTX/Projects/Emacs/emacs/lisp/textmodes/sgml-mode.el
;;; in Emacs version 24.0.50.1
;;; 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 "`sgml-mode.el' was compiled for Emacs 23 or later"))

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


(custom-declare-group 'sgml nil "SGML editing mode." :link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces) :group 'languages)
#@63 Specifies the basic indentation level for `sgml-indent-line'.
(custom-declare-variable 'sgml-basic-offset '2 '(#$ . 697) :type 'integer :group 'sgml)
#@68 Default value for `skeleton-transformation-function' in SGML mode.
(custom-declare-variable 'sgml-transformation-function ''identity '(#$ . 853) :type 'function :group 'sgml)
(byte-code "\300\301\302\303#\210\304\305\301\"\207" [put sgml-transformation-function variable-interactive "aTransformation function: " defvaralias sgml-transformation] 4)
#@65 Hook run by command `sgml-mode'.
`text-mode-hook' is run first.
(custom-declare-variable 'sgml-mode-hook 'nil '(#$ . 1207) :group 'sgml :type 'hook)
#@627 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 and potential disadvantages are:

  ?\"	Makes " in text start a string.
  ?'	Makes ' in text start a string.
  ?-	Makes -- in text start a comment.

When only one of ?\" or ?' are included, "'" or '"', as can be found in
DTDs, start a string.  To partially avoid this problem this also makes these
self insert as named entities depending on `sgml-quick-keys'.

Including ?- has the problem of affecting dashes that have nothing to do
with comments, so we normally turn it off.
(defvar sgml-specials '(34) (#$ . 1363))
#@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 (#$ . 2037))
#@50 Keymap for SGML mode.  See also `sgml-specials'.
(defvar sgml-mode-map (byte-code "\305 \306\307!\310	\311\312#\210\310	\313\314#\210\310	\315\316#\210\310	\317\320#\210\310	\321\322#\210\310	\323\324#\210\310	\325\324#\210\310	\326\327#\210\310	\330\327#\210\310	\331\332#\210\310	\333\332#\210\310	\334\335#\210\310	\336\337#\210\310	\340\337#\210\310	\341\320#\210\310	\342\337#\210\310	\343\344#\210\310	\345\346#\210\n\203\247\310	\347\316#\210\310	\350\320#\210\310	\351\352#\210\310	\353\354#\210\355>\203\233\310	\356\357#\210\360>\203\247\310	\361\357#\210\362	A@\fT\211\363W\203\276	\f\364I\210\202\255*\310	\365\307B#\210\310\366\367#\210\310\370\371#\210\310\372\373#\210\310\374\375#\210\310\376\377#\210\310\201@\201A#\210\310\201B\201C#\210\310\201D\201E#\210\310\201F\201G#\210	*\207" [menu-map map sgml-quick-keys sgml-specials c 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)] 5) (#$ . 2220))
(defalias 'sgml-make-syntax-table #[(specials) "\303!\304\305\306	#\210\304\307\310	#\210\304\311\312	#\210\304\313\312	#\210\304\314\312	#\210\315\n>\203.\304\315\316	#\210\317\n>\203:\304\317\320	#\210\321\n>\203F\304\321\322	#\210	)\207" [text-mode-syntax-table table specials make-syntax-table modify-syntax-entry 60 "(>" 62 ")<" 58 "_" 95 46 45 "_ 1234" 34 "\"\"" 39 "\"'"] 4])
#@60 Syntax table used in SGML mode.  See also `sgml-specials'.
(defvar sgml-mode-syntax-table (sgml-make-syntax-table sgml-specials) (#$ . 4493))
#@39 Syntax table used to parse SGML tags.
(defconst sgml-tag-syntax-table (byte-code "\304!\305\306\211\203@\307\n\310	#\210A\211\204\f*\311>\204)\307\311\312	#\210	)\207" [sgml-specials table char #1=#:--cl-dolist-temp-- sgml-make-syntax-table (40 41 123 125 91 93 36 37 38 42 43 47) nil modify-syntax-entry "." 39 "w"] 5) (#$ . 4641))
#@62 When non-nil, insert non-ASCII characters as named entities.
(custom-declare-variable 'sgml-name-8bit-mode 'nil '(#$ . 4993) :type 'boolean :group 'sgml)
#@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"] (#$ . 5153))
(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 "\304\305!\306\307	\310W\203%	H\211\203\n\311\312	\"I\210	T\211\202	\n+\207" [elt i table sgml-char-names make-char-table sgml-table 32 nil 128 make-char latin-iso8859-1] 5) (#$ . 6812))
#@133 The command to validate an SGML document.
The file name of current buffer file name will be appended to this,
separated by a space.
(custom-declare-variable 'sgml-validate-command '"nsgmls -s" '(#$ . 7173) :type 'string :version "21.1" :group 'sgml)
#@51 The command last used to validate in this buffer.
(defvar sgml-saved-validate-command nil (#$ . 7429))
#@65 If non-nil, is the maximum distance to search for matching `/'.
(custom-declare-variable 'sgml-slash-distance '1000 '(#$ . 7538) :type '(choice (const nil) integer) :group 'sgml)
(byte-code "\302B\303\304!\210\301B\305\306!\210\307B\310\311	\312Q!\210\313B\314\315!\207" [current-load-list sgml-name-re sgml-namespace-re (lambda (#1=#:defconst-tmp-var) (defconst sgml-namespace-re #1#)) "[_[:alpha:]][-_.[:alnum:]]*" (lambda (#2=#:defconst-tmp-var) (defconst sgml-name-re #2#)) "[_:[:alpha:]][-_.:[:alnum:]]*" sgml-tag-name-re (lambda (#3=#:defconst-tmp-var) (defconst sgml-tag-name-re #3#)) "<\\([!/?]?" "\\)" sgml-attrs-re (lambda (#4=#:defconst-tmp-var) (defconst sgml-attrs-re #4#)) "\\(?:[^\"'/><]\\|\"[^\"]*\"\\|'[^']*'\\)*"] 4)
#@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) (#$ . 8287))
(byte-code "\304\305\306\307\310\311%\210\312B\313\312!\204\314\312\305\"\210\303B\315\316	\317Q\320B\321\n\322	\323\260\324B\325\n\322	\326\260\327B\330	\331Q\332BF!\210\333B\334\335\336\"!\207" [current-load-list sgml-name-re sgml-namespace-re sgml-font-lock-keywords-1 custom-declare-face sgml-namespace ((t (:inherit font-lock-builtin-face))) "`sgml-mode' face used to highlight the namespace part of identifiers." :group sgml sgml-namespace-face default-boundp set-default (lambda (#1=#:defconst-tmp-var) (defconst sgml-font-lock-keywords-1 #1#)) "<\\([!?]" "\\)" (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 sgml-font-lock-keywords-2 (lambda (#2=#:defconst-tmp-var) (defconst sgml-font-lock-keywords-2 #2#)) append ((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)))] 8)
#@69 *Rules for highlighting SGML code.  See also `sgml-tag-face-alist'.
(defvar sgml-font-lock-keywords sgml-font-lock-keywords-1 (#$ . -9718))
#@37 Syntactic keywords for `sgml-mode'.
(defconst sgml-syntax-propertize-function #[(start end) "b\210`	W\205m\306\307	\310#\205m\311\224\203\"\312\311\224\311\225\313\314$\210\202\315\224\2033\312\315\224\315\225\313\316$\210\202\317\224\203\320\321!\211A\322\n\233\241\210\323\n!\210)\324\224\324\225\325\326\324\224!@!\324\225b\210\205[\327\203i\312
\f\313$\210+\202\207" [start end md syntax me mb re-search-forward "\\(<\\)!--\\|--[ 	\n]*\\(>\\)\\|\\(\"\\)" t 1 put-text-property syntax-table (2097163) 2 (2097164) 3 match-data ints 8 set-match-data 0 zerop syntax-ppss "."] 6] (#$ . 9864))
#@42 Alist of face and tag name for facemenu.
(defvar sgml-face-tag-alist nil (#$ . 10483))
#@217 Tag names and face or list of faces to fontify with when invisible.
When `font-lock-maximum-decoration' is 1 this is always used for fontifying.
When more these are fontified together with `sgml-font-lock-keywords'.
(defvar sgml-tag-face-alist nil (#$ . 10577))
#@68 Tag names as lowercase symbols, and display string when invisible.
(defvar sgml-display-text nil (#$ . 10845))
(byte-code "\301B\302\301!\204\303\301\304\"\210\304\207" [current-load-list sgml-tags-invisible default-boundp set-default nil] 3)
#@541 Alist of tag names for completing read and insertion rules.
This alist is made up as

  (("tag" . TAGRULE)
   ...)

TAGRULE is a list of optionally t (no endtag) or `\n' (separate endtag by
newlines) or a skeleton with nil, t or `\n' in place of the interactor
followed by an ATTRIBUTERULE (for an always present attribute) or an
attribute alist.

The attribute alist is made up as

  (("attribute" . ATTRIBUTERULE)
   ...)

ATTRIBUTERULE is a list of optionally t (no value when no input) followed by
an optional alist of possible values.
(custom-declare-variable 'sgml-tag-alist ''(("![" ("ignore" t) ("include" t)) ("!attlist") ("!doctype") ("!element") ("!entity")) '(#$ . 11099) :type '(repeat (cons (string :tag "Tag Name") (repeat :tag "Tag Rule" sexp))) :group 'sgml)
(put 'sgml-tag-alist 'risky-local-variable t)
#@42 Alist of tag name and short description.
(custom-declare-variable 'sgml-tag-help ''(("!" . "Empty declaration for comment") ("![" . "Embed declarations with parser directive") ("!attlist" . "Tag attributes declaration") ("!doctype" . "Document type (DTD) declaration") ("!element" . "Tag declaration") ("!entity" . "Entity (macro) declaration")) '(#$ . 11927) :type '(repeat (cons (string :tag "Tag Name") (string :tag "Description"))) :group 'sgml)
#@142 When non-nil, tag insertion functions will be XML-compliant.
It is set to be buffer-local when the file has
a DOCTYPE or an XML declaration.
(custom-declare-variable 'sgml-xml-mode 'nil '(#$ . 12384) :type 'boolean :version "22.1" :group 'sgml)
#@52 List of tags whose !ELEMENT definition says EMPTY.
(defvar sgml-empty-tags nil (#$ . 12635))
#@70 List of tags whose !ELEMENT definition says the end-tag is optional.
(defvar sgml-unclosed-tags nil (#$ . 12734))
#@65 Guess whether the current buffer is XML.  Return non-nil if so.
(defalias 'sgml-xml-guess #[nil "\212eb\210\301\206\n\302!\303\230\2067\304\305 !\203#\301\206\302!\306\230\2067\307\310!\2067\311\312\313\314#\2057\315\316\317\320!\")\207" [buffer-file-name file-name-extension "" "xml" zerop buffer-size "xhtml" looking-at "\\s-*<\\?xml" re-search-forward "<!DOCTYPE\\s-+\\(\\w+\\)\\s-+\\(\\w+\\)\\s-+\"\\([^\"]+\\)\"\\s-+\"\\([^\"]+\\)\"" nil t string-match "X\\(HT\\)?ML" match-string 3] 4 (#$ . 12854)])
(defalias 'sgml-comment-indent-new-line #[(&optional soft) "\305\306\307\310\311\f!,\207" [comment-style comment-end comment-start-skip comment-start soft "-- " "\\(<!\\)?--[ 	]*" " --" plain comment-indent-new-line] 4])
(defalias 'sgml-mode-facemenu-add-face-function #[(face end) "	\236A\211\203\n!\306\n\307Q\310\n\307Q\202Z:\203S@:\203SA\204S\211@@)\311>\203S\312\313\314\211@@)\315=\203G\316\202H\317@\211A@)#\202Z\320\321\322!\")\207" [face sgml-face-tag-alist tag-face skeleton-transformation-function facemenu-end-add-face x "</" ">" "<" (:foreground :background) "</span>" format "<span style=\"%s:%s\">" :foreground "color" "background-color" error "Face not configured for %s mode" format-mode-line mode-name] 5])
#@245 Don't break between a tag name and its first argument.
This function is designed for use in `fill-nobreak-predicate'.

    <a href="some://where" type="text/plain">
      ^                   ^
      | no break here     | but still allowed here
(defalias 'sgml-fill-nobreak #[nil "\212\300\301x\210\302\303\304!!?\205\305\301x\205`Sf\306=)\207" [" 	" nil zerop skip-syntax-backward "w_" "/?!" 60] 3 (#$ . 14133)])
(byte-code "\302\303N\204\304\302\303\305\306!#\210\307\310!\204\304\310\311\312#\210\310B\313\310!\204*\314\310\315 \"\210\310\303N\2048\304\310\303\305\316!#\210\307\317!\204D\304\317\311\312#\210\317B\313\317!\204T\314\317\320 \"\210\317\303N\204b\304\317\303\305\321!#\210\304\301\311\312#\210\301B\313\301!\204|\314\301\322\301\323\"\210	\"\210\301\303N\204\212\304\301\303\305\324!#\210\304\312\325\326#\207" [current-load-list sgml-mode-abbrev-table sgml-mode-hook variable-documentation put purecopy "Hook run when entering (quote (sgml-xml-mode XML SGML)) mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp sgml-mode-map definition-name sgml-mode default-boundp set-default make-sparse-keymap "Keymap for `sgml-mode'." sgml-mode-syntax-table make-syntax-table "Syntax table for `sgml-mode'." define-abbrev-table nil "Abbrev table for `sgml-mode'." derived-mode-parent text-mode] 5)
#@818 Major mode for editing SGML documents.
Makes > match <.
Keys <, &, SPC within <>, ", / and ' can be electric depending on
`sgml-quick-keys'.

An argument of N to a tag-inserting command means to wrap it around
the next N words.  In Transient Mark mode, when the mark is active,
N defaults to -1, which means to wrap it around the current region.

If you like upcased tags, put (setq sgml-transformation-function 'upcase)
in your `.emacs' file.

Use \[sgml-validate] to validate your document with an SGML parser.

Do \[describe-variable] sgml- SPC to see available variables.
Do \[describe-key] on the following bindings to discover what they do.
\{sgml-mode-map}

In addition to any hooks its parent mode `text-mode' might have run,
this mode runs the hook `sgml-mode-hook', as the final step
during initialization.
(defalias 'sgml-mode #[nil "\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\2036
\321 =\203<\322\f\323 \"\210)\324!\210\325\f!\210@A\306\326!\210\306\327!\210\306\330!\210\331BC\332R\306\333!\210\334P\306\335!\210\336\337\340\341\342\307$\210\306\343!\210\344#\306\345!\210\346%\306\347!\210\350'\306\351!\210\352)\306\353!\210\354+\306\355!\210\356-\306\357!\210\360/\306\361!\210\3621\306\363!\210D3\306\364!\210\3654\306\366!\210\367 \2116\204\321\306\370!\210E8\306\371!\210\3729\306\373!\210\374;\342\375B\376Q\377BB\201G\201H6\203\371\201I\202\374\201J\201KB\201L\260\201MBB\201N\201O6\203\201I\202\201J\201KB\201L\260\201PBBEF)\201Q\201R!\207" [delay-mode-hooks major-mode mode-name sgml-mode-map sgml-mode-syntax-table parent make-local-variable t text-mode sgml-mode (sgml-xml-mode "XML" "SGML") mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table use-local-map set-syntax-table sgml-saved-validate-command facemenu-end-add-face paragraph-start "[ 	]*$\\|[ 	]*</?\\(" "\\)?>" paragraph-separate "$" adaptive-fill-regexp "[ 	]*" add-hook fill-nobreak-predicate sgml-fill-nobreak nil indent-line-function sgml-indent-line comment-start "<!-- " comment-end " -->" comment-indent-function sgml-comment-indent comment-line-break-function sgml-comment-indent-new-line skeleton-further-elements ((completion-ignore-case t)) skeleton-end-hook #[nil "l\206\301=\206\242\301=?\206\302 \207" [v2 n newline-and-indent] 2] font-lock-defaults ((sgml-font-lock-keywords sgml-font-lock-keywords-1 sgml-font-lock-keywords-2) nil t) syntax-propertize-function facemenu-add-face-function sgml-mode-facemenu-add-face-function sgml-xml-mode sgml-xml-guess skeleton-transformation-function comment-start-skip "<!--[ 	]*" comment-end-skip "[ 	]*--[ 	\n]*>" "<!\\(element\\|entity\\)[ 	\n]+%?[ 	\n]*\\(" "\\)" (2) sgml-mode-abbrev-table local-abbrev-table sgml-name-re sgml-attrs-re sgml-syntax-propertize-function sgml-transformation-function imenu-generic-expression "Id" "<[^>]+[ 	\n]+[Ii][Dd]=\\(['\"]" "" "?" "\\)\\(" "\\)\\1" (2) "Name" "<[^>]+[ 	\n]+[Nn][Aa][Mm][Ee]=\\(['\"]" (2) run-mode-hooks sgml-mode-hook] 9 (#$ . 15555) nil])
(defalias 'sgml-comment-indent #[nil "\301\302!\203\207\303\207" [comment-column looking-at "--" 0] 2])
#@84 Insert ARG slash characters.
Behaves electrically if `sgml-quick-keys' is non-nil.
(defalias 'sgml-slash #[(arg) "`Sf\302=\203\303U\204\304!\207	\305=\203 \306\307\303\"\210\310 \207	\311=\203-\312\313!\210\314 \207\304!\207" [arg sgml-quick-keys 60 1 sgml-slash-matching indent insert-char 47 indent-according-to-mode close delete-char -1 sgml-close-tag] 3 (#$ . 18839) "p"])
#@186 Insert `/' and display any previous matching `/'.
Two `/'s are treated as matching if the first `/' ends a net-enabling
start tag, and the second `/' is the corresponding null end tag.
(defalias 'sgml-slash-matching #[(arg) "\306\307\"\210\310V\205\207`\311\310\212\214\f\203e`\fZ]}\210\312
e\313#\203/\310\225S=\204kSb\210\n\204k\314\315e\313#\203k\212\312
e\313#\205J\310\225)\211`=\203d	\310=\203^`\202g	S\202g	T)\2023)\n\205\206\nb\210\316 \203~\317\320!\202\206\321\322\323 \nT{\",\207" [arg level blinkpos oldpos sgml-slash-distance sgml-start-tag-regex insert-char 47 0 nil re-search-backward t search-backward "/" pos-visible-in-window-p sit-for 1 message "Matches %s" line-beginning-position tagend] 5 (#$ . 19232) "p"])
#@235 Insert a symbolic character name according to `sgml-char-names'.
Non-ASCII chars may be inserted either with the meta key, as in M-SPC for
no-break space or M-- for a soft hyphen; or via an input method or
encoded keyboard operation.
(defalias 'sgml-name-char #[(&optional char) "\301c\210\204\302\303!\304\305!\210c\210\306 \210\307 \207" [char 38 read-quoted-char "Enter char or octal number" delete-char -1 undo-boundary sgml-namify-char] 2 (#$ . 19998) "*"])
#@84 Change the char before point into its `&name;' equivalent.
Uses `sgml-char-names'.
(defalias 'sgml-namify-char #[nil "`Sf\211\204\304\305!\202(\306W\203	H\206(\202(\nH\206(\307\310\"\211\2044\304\311\"\202F\312\313!\210\314\247\203B\315\202C\316\"c*\207" [char sgml-char-names sgml-char-names-table name error "No char before point" 256 encode-char ucs "Don't know the name of `%c'" delete-char -1 format "&#%d;" "&%s;"] 4 (#$ . 20472) nil])
#@66 Insert a symbolic character name according to `sgml-char-names'.
(defalias 'sgml-name-self #[nil "\301!\207" [last-command-event sgml-name-char] 2 (#$ . 20942) "*"])
#@66 Insert a symbolic character name according to `sgml-char-names'.
(defalias 'sgml-maybe-name-self #[nil "\203\302	!\207\303\304!\207" [sgml-name-8bit-mode last-command-event sgml-name-char self-insert-command 1] 2 (#$ . 21115) "*"])
#@109 Toggle whether to insert named entities instead of non-ASCII characters.
This only works for Latin-1 input.
(defalias 'sgml-name-8bit-mode #[nil "?\301\302\203
\303\202\304\"\207" [sgml-name-8bit-mode message "sgml name entity mode is now %s" "ON" "OFF"] 3 (#$ . 21357) nil])
(byte-code "\301B\302\301!\204\303\301\304\"\210\305B\302\305!\204\303\305\304\"\210\306\307\310\311#\207" [current-load-list sgml-tag-last default-boundp set-default nil sgml-tag-history put sgml-tag no-self-insert t] 4)
#@826 Prompt for a tag and insert it, optionally with attributes.
Completion and configuration are done according to `sgml-tag-alist'.
If you like tags and attributes in uppercase do \[set-variable]
`skeleton-transformation-function' RET `upcase' RET, or put this
in your `.emacs':
  (setq sgml-transformation-function 'upcase)

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'sgml-tag #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new ((funcall (or skeleton-transformation-function 'identity) (setq sgml-tag-last (completing-read (if (> (length sgml-tag-last) 0) (format "Tag (default %s): " sgml-tag-last) "Tag: ") sgml-tag-alist nil nil nil 'sgml-tag-history sgml-tag-last))) 60 str | ((#1="") -1 '(undo-boundary) (identity "&lt;")) | `((#1#) '(setq v2 (sgml-attributes ,str t)) 62 (cond ((string= "![" ,str) (backward-char) '((#1#) " [ " _ " ]]")) ((and (eq v2 t) sgml-xml-mode (member ,str sgml-empty-tags)) '((#1#) -1 " />")) ((or (and (eq v2 t) (not sgml-xml-mode)) (string-match "^[/!?]" ,str)) nil) ((symbolp v2) (if (eq v2 t) (setq v2 nil)) '((#1#) v2 _ v2 "</" (identity ',str) 62)) ((eq (car v2) t) (cons '(#1#) (cdr v2))) (t (append '((#1#) (car v2)) (cdr v2) '(resume: (car v2) _ "</" (identity ',str) 62))))))] 4 (#$ . 21876) "*P\nP"])
(autoload 'skeleton-read "skeleton")
#@210 When at top level of a tag, interactively insert attributes.

Completion and configuration of TAG are done according to `sgml-tag-alist'.
If QUIET, do not print a message when there are no attributes for TAG.
(defalias 'sgml-attributes #[(tag &optional quiet) ";\204	\306\307!\210\205\226\310\311\227	\"A\312\211\211
@9\204*
@@9\2030
@
A\2049\313\314!\210
@;\203Yh\315=\203I\316\202J\315
@!\261\210\317
!\210\202\224
G\211\320V\203\212\315c\210\321\322!\211!c\210\316\230\203{\320\211\202]\317\311\227
\"!\210\nS\211\202]h\315=\203\224\323\324!\210\f-\207" [tag sgml-tag-alist i attribute car alist error "Wrong context for adding attribute" t assoc nil message "No attributes configured." 32 "" sgml-value 0 skeleton-read (completing-read "Attribute: " alist) delete-char -1 completion-ignore-case quiet skeleton-transformation-function] 6 (#$ . 23648) (list (save-excursion (sgml-beginning-of-tag t)))])
#@118 Self insert the character typed; at top level of tag, prompt for attributes.
With prefix argument, only self insert.
(defalias 'sgml-auto-attributes #[(arg) "`\305\n\204\203\212\306\307!)\2119\204\310H\311=\203'\312\313\n!!\2026\314!\210\315`	V\2066\312\316!*\207" [tag point arg sgml-tag-alist last-command-event nil sgml-beginning-of-tag t 0 47 self-insert-command prefix-numeric-value sgml-attributes 32 1] 3 (#$ . 24599) "*P"])
#@75 Display description of tag TAG.  If TAG is omitted, use the tag at point.
(defalias 'sgml-tag-help #[(&optional tag) "\203G\302V\204\212g\303=\203\304u\210\305 );\204\"\306\307!\210\227\310\311\312\227	\"A\206E\302H\313=\203D\312\314\304O\227	\"A\206E\315\"\207" [tag sgml-tag-help 0 60 nil sgml-beginning-of-tag error "No tag selected" message "%s" assoc 47 1 "No description available"] 6 (#$ . 25053) (list (let ((def (save-excursion (if (eq (following-char) 60) (forward-char)) (sgml-beginning-of-tag)))) (completing-read (if def (format "Tag (default %s): " def) "Tag: ") sgml-tag-alist nil nil nil 'sgml-tag-history def)))])
#@69 Name self unless in position to end a tag or a prefix ARG is given.
(defalias 'sgml-maybe-end-tag #[(&optional arg) "\204\f\301 @\302=\203\303\304!!\207\305 \207" [arg sgml-lexical-context tag self-insert-command prefix-numeric-value sgml-name-self] 3 (#$ . 25709) "P"])
#@159 Skip to beginning of tag or matching opening tag if present.
With prefix argument ARG, repeat this ARG times.
Return non-nil if we skipped over matched tags.
(defalias 'sgml-skip-tag-backward #[(arg) "\304	\305Y\203F\306\307\310\304#\210\311\312!\203=\304\313\314\315\305!!\316Q\317\n\310\304#\2039`Tf\320=\2039\305u\210\321\305!\210\202*\202?\310	S\211\202)\207" [return arg re case-fold-search t 1 search-backward "<" nil looking-at "</\\([^ \n	>]+\\)" "</?" regexp-quote match-string "\\([^>]*[^/>]\\)?>" re-search-backward 47 sgml-skip-tag-backward] 6 (#$ . 25992) "p"])
(byte-code "\301B\302\301!\204\303\301\304\"\210\305B\302\305!\204\303\305\304\"\210\304\207" [current-load-list sgml-electric-tag-pair-overlays default-boundp set-default nil sgml-electric-tag-pair-timer] 3)
(defalias 'sgml-electric-tag-pair-before-change-function #[(beg end) "\300\301\302\217\207" [err (byte-code "\212b\210\306\307x\210`Sf\310=\204!`Sf\311=\205\274`SSf\310=\205\274\312`\313\"?\205\274`Sf\311=`\306\307w\210`	\203H\314\315!\205g\315u\210\316\202g\317 p\320\216\321!!\210\322\323!\210\324\315!\205f\325\315!\210\326u\210\316+\"\312`\313\"#\"\205\273\nU?\205\273\n{`\212\306\307w\210`){\232\205\273	\203\226f\327=\205\273#\203\245\330\331!\210\332\333#\"\210\330\334!\210\335\n\336\337$\210\340\312`\313\"$\"\211$-)\207" [end endp cl-start cl-end #1=#:buffer #2=#:table "[:alnum:]-_.:" nil 60 47 get-char-property text-clones sgml-skip-tag-backward 1 t syntax-table ((byte-code "rq\210\302	!\210)\302\207" [#1# #2# set-syntax-table] 2)) set-syntax-table up-list -1 sgml-skip-tag-forward backward-sexp 2 62 message "sgml-electric-tag-pair-before-change-function: deleting old OLs" mapc delete-overlay "sgml-electric-tag-pair-before-change-function: new clone" text-clone-create spread "[[:alnum:]-_.:]+" append sgml-tag-syntax-table match clones sgml-electric-tag-pair-overlays] 5) ((scan-error) (error (message "Error in sgml-electric-pair-mode: %s" err)))] 3])
(defalias 'sgml-electric-tag-pair-flush-overlays #[nil "\205\301\211A@!\210\202\207" [sgml-electric-tag-pair-overlays delete-overlay] 3])
#@123 Non-nil if Sgml-Electric-Tag-Pair mode is enabled.
Use the command `sgml-electric-tag-pair-mode' to change this variable.
(defvar sgml-electric-tag-pair-mode nil (#$ . 28156))
(make-variable-buffer-local 'sgml-electric-tag-pair-mode)
#@68 Automatically update the closing tag when editing the opening one.
(defalias 'sgml-electric-tag-pair-mode #[(&optional arg) "\304 	\305=\203\n?\202\306	!\307V\211\203,\310\311\312\313\314$\210\2042\315\316\317\320#\2022\321\311\312\314#\210\322\323\n\203<\324\202=\325\"\210\326\327!\203^\304 \203Q\304 \232\203^\330\331\n\203[\332\202\\\333\"\210)\334 \210\n\207" [#1=#:last-message arg sgml-electric-tag-pair-mode sgml-electric-tag-pair-timer current-message toggle prefix-numeric-value 0 add-hook before-change-functions sgml-electric-tag-pair-before-change-function nil t run-with-idle-timer 5 repeat sgml-electric-tag-pair-flush-overlays remove-hook run-hooks sgml-electric-tag-pair-mode-hook sgml-electric-tag-pair-mode-on-hook sgml-electric-tag-pair-mode-off-hook called-interactively-p any message "Sgml-Electric-Tag-Pair mode %sabled" "en" "dis" force-mode-line-update] 6 (#$ . 28396) (list (or current-prefix-arg 'toggle))])
(byte-code "\301\302\303\304\300!\205\n\305\211%\207" [sgml-electric-tag-pair-mode-map add-minor-mode sgml-electric-tag-pair-mode "/e" boundp nil] 6)
#@138 Skip to end of tag or matching closing tag if present.
With prefix argument ARG, repeat this ARG times.
Return t if after a closing tag.
(defalias 'sgml-skip-tag-forward #[(arg) "\306\307 p\310\216\311!\210\f\312Y\203~\313\314w\210g\315=\203!\316\317!\210\320\321!\203s\306\322\323\324\312!!\325Q\314\211\326\312!\210`\327\314\306#\203e\330\224Tf\331=\211\204e\330\224b\203e\332\312!\203e\314\202@
\204ob\210\314,\202w\326\312!\210\fS\211\202,\207" [return #1=#:buffer #2=#:table sgml-tag-syntax-table arg close t syntax-table ((byte-code "rq\210\302	!\210)\302\207" [#1# #2# set-syntax-table] 2)) set-syntax-table 1 "^<>" nil 62 up-list -1 looking-at "<\\([^/ \n	>]+\\)\\([^>]*[^/>]\\)?>" "</?" regexp-quote match-string "\\([^>]*[^/>]\\)?>" forward-list re-search-forward 0 47 sgml-skip-tag-forward point re case-fold-search] 6 (#$ . 29509) "p"])
#@48 Return t if the test before point matches STR.
(defalias 'sgml-looking-back-at #[(str) "`GZ\211eY\205\302	`\"\232)\207" [str start buffer-substring-no-properties] 5 (#$ . 30399)])
(put 'sgml-looking-back-at 'byte-optimizer 'byte-compile-inline-expand)
#@118 Delete tag on or after cursor, and matching closing or opening tag.
With prefix argument ARG, repeat this ARG times.
(defalias 'sgml-delete-tag #[(arg) "\306Y\205\273\212\307\211\310\311!\203\"\312\225f\313=\203W`\312\225b\210\202W\212\314 \211;\2054	\312H\313=\2054`\211)\204W`\315\306!\210g\316=\203R\212\317\306!\210`X)\203V\320\321!\210)	\203k\315\306!\210`	b\210\322\306!\210\202\216`\323\306!\203\216\324`\fGZ\211eY\205\206\f\325
`\"\232*\204\216\322\326!\210\312y\210\310\327!\203\235\312\224\312\225|\210\nb\210\322\306!\210\312y\210\310\327!\203\263\312\224\312\225|\210+S\211\202\207" [arg close open point str start 1 nil looking-at "[ 	\n]*<" 0 47 sgml-beginning-of-tag sgml-skip-tag-backward 60 forward-list error "Not on or before tag" kill-sexp sgml-skip-tag-forward "/>" buffer-substring-no-properties -1 "\\(?:[ 	]*$\\)\n?"] 6 (#$ . 30663) "p"])
(byte-code "\300\301N\204\302\300\303\304\305\300!\"\"\210\300\207" [sgml-tag invisible setplist append (invisible t point-entered sgml-point-entered rear-nonsticky t read-only t) symbol-plist] 6)
#@37 Toggle visibility of existing tags.
(defalias 'sgml-tags-invisible #[(arg) "\306 \307\211\310\307\310\311\216\212eb\210\312\313!\210#\203%\314#!\315Y\202(?\211\203t\316$\310\307#\203\266\317\320\321!\227!%\236A\315\224b\210;\203g\322`!\204g\323`\321\224\"&\324&\325#\210\324&\326\307#\210)\327`\330 \210`\331\326$\210\202.e'\332'!\211'dW\203\257\322'!\310&\211(\203\253(@&\333&\326\"\203\242\334&!\210(A\211(\204\220*\202w)\335ed\336#\210*\337\340!\210\341\342!.\207" [string inhibit-point-motion-hooks buffer-file-name inhibit-modification-hooks inhibit-read-only modified buffer-modified-p t nil ((restore-buffer-modified-p modified)) make-local-variable sgml-tags-invisible prefix-numeric-value 0 re-search-forward intern-soft match-string 1 overlays-at make-overlay overlay-put before-string sgml-tag put-text-property forward-list category next-overlay-change overlay-get delete-overlay remove-text-properties (category nil) run-hooks sgml-tags-invisible-hook message "" arg sgml-tag-name-re sgml-display-text ol pos #1=#:--cl-dolist-temp--] 6 (#$ . 31763) "P"])
(defalias 'sgml-point-entered #[(x y) "\301\212\302\303\304\217*\207" [inhibit-point-motion-hooks t nil (byte-code "\302\303\304`	V\203g\305=\203	W\203!h\306=\203!\307 \202#\310 \"\"\207" [x y message "Invisible tag: %s" buffer-substring-no-properties 60 62 backward-list forward-list] 6) ((error))] 3])
#@277 Validate an SGML document.
Runs COMMAND, a shell command, in a separate process asynchronously
with output going to the buffer `*compilation*'.
You can then use the command \[next-error] to find the next error message
and move to the line in the SGML document that caused it.
(defalias 'sgml-validate #[(command) "\303\n?\304\"\210\305!\207" [command sgml-saved-validate-command compilation-ask-about-save save-some-buffers nil compilation-start] 3 (#$ . 33197) (list (read-string "Validate command: " (or sgml-saved-validate-command (concat sgml-validate-command " " (shell-quote-argument (let ((name (buffer-file-name))) (and name (file-name-nondirectory name))))))))])
#@76 Return true if point is at the first non-whitespace character on the line.
(defalias 'sgml-at-indentation-p #[nil "\212\300\301x\210n)\207" [" 	" nil] 2 (#$ . 33878)])
(put 'sgml-at-indentation-p 'byte-optimizer 'byte-compile-inline-expand)
#@299 Return the lexical context at point as (TYPE . START).
START is the location of the start of the lexical element.
TYPE is one of `string', `comment', `tag', `cdata', `pi', or `text'.

Optional argument LIMIT is the position to start parsing from.
If nil, start from a preceding tag at indentation.
(defalias 'sgml-lexical-context #[(&optional limit) "\212`\306\211\203b\210\202\"\306\307\310\217\203\"\212\311\306x\210n)\203\312 p\313\216\314#!\210`\nW\203\272`\315\nw\210`\nU\203D\306\202\266\316\317!\203f`$\320\321\n\322#?\205b\323\306\211\324\306\211\211\211$\257	)\202\266\316%!\203\212`&\325'\n\322#?\205\206\323\306\211\211\326\306\211\211&\257	)\202\266(\203\261\316\327!\203\261`)\320\330\n\322#?\205\255\323\306\211\331\306\211\211\211)\257	)\202\266\332`\n\323#\202.+\3338\334>\203\315\3338\3358B\202\377\3338\203\333\336\3358B\202\377\3378\203\351\340\3358B\202\377\203\374@\323V\203\374\341A@B\202\377\342	B,\207" [state text-start pos limit #1=#:buffer #2=#:table nil (sgml-parse-tag-backward) ((error)) " 	" syntax-table ((byte-code "rq\210\302	!\210)\302\207" [#1# #2# set-syntax-table] 2)) set-syntax-table "^<" looking-at "<!\\[[A-Z]+\\[" search-forward "]]>" move 0 cdata re-search-forward t "<\\?" "?>" pi parse-partial-sexp 3 (cdata pi) 8 string 4 comment tag text sgml-tag-syntax-table cdata-start comment-start-skip start comment-end-skip sgml-xml-mode pi-start] 9 (#$ . 34126)])
#@82 Skip to beginning of tag and return its name.
If this can't be done, return nil.
(defalias 'sgml-beginning-of-tag #[(&optional top-level) "\303 \211@\304=\203Ab\210\305	!\205.\306\307!\202.\n?\205.@\310=?\205.Ab\210\311\312!)\207" [context sgml-tag-name-re top-level sgml-lexical-context tag looking-at match-string-no-properties 1 text sgml-beginning-of-tag t] 3 (#$ . 35594)])
#@114 Interactively insert value taken from attribute-rule ALIST.
See `sgml-tag-alist' for info about attribute rules.
(defalias 'sgml-value #[(alist) "A\211@;\203\302@\303\261\207@\304=\2036	\2046A\205Q\302c\210\305\306!\307\231\2032\303\261\207\310\311!\207\302c\210A\203F\305\312!c\210\202O\204O\305\313!c\210\303c\207" [alist sgml-xml-mode "=\"" 34 t skeleton-read (completing-read "Value: " (cdr alist)) "" delete-char -2 (completing-read "Value: " alist) (read-string "Value: ")] 4 (#$ . 35990)])
#@149 Quote SGML text in region START ... END.
Only &, < and > are quoted, the rest is left untouched.
With prefix argument UNQUOTEP, unquote the region.
(defalias 'sgml-quote #[(start end &optional unquotep) "\214	}\210eb\210\n\203>\303\304\305\306#\205T\307\310\225\203\311\202(\312\225\203'\313\202(\314\306\211\305\315\225Sf\316=\2038\315\2029\317%\210\202\f\303\320\305\306#\205T\307`Sf\321\236A\306\211#\210\202>)\207" [start end unquotep re-search-forward "\\(&\\(amp\\|\\(l\\|\\(g\\)\\)t\\)\\)[][<>&;\n	 \"%!'(),/=?]" nil t replace-match 4 ">" 3 "<" "&" 0 59 1 "[&<>]" ((38 . "&amp;") (60 . "&lt;") (62 . "&gt;"))] 7 (#$ . 36515) "r\nP"])
#@168 Simple-minded pretty printer for SGML.
Re-indents the code and inserts newlines between BEG and END.
You might want to turn on `auto-fill-mode' to get better results.
(defalias 'sgml-pretty-print #[(beg end) "\212	W\203
b\210\202	b\210`\305	\306\"\307 p\310\216\311\f!\210\312\313	\306#\205B\314\224b\210\315\316x\210n\204;\317 \210\320\321!\210\202$,\207" [beg end #1=#:buffer #2=#:table sgml-tag-syntax-table copy-marker t syntax-table ((byte-code "rq\210\302	!\210)\302\207" [#1# #2# set-syntax-table] 2)) set-syntax-table re-search-forward "<" 0 " 	" nil reindent-then-newline-and-indent forward-sexp 1] 4 (#$ . 37176) "r"])
(byte-code "\301\302\303\304#\210\302\305N\204\301\302\305\306#\210\307\301\302\310\311\312!!#\210)\301\207" [file put sgml-tag-type cl-compiler-macro #[(--cl-whole-arg-- cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block sgml-tag-type (or (and (memq (aref cl-x 0) cl-struct-sgml-tag-tags)) (error "sgml-tag-type accessing a non-sgml-tag")) (aref cl-x 1)) nil] 7] byte-compile cl-byte-compile-compiler-macro "/Users/LTX/Projects/Emacs/emacs/lisp/textmodes/sgml-mode.el" compiler-macro-file purecopy file-name-nondirectory] 6)
(defalias 'sgml-tag-type #[(cl-x) "\302H	>\204\f\303\304!\210\305H\207" [cl-x cl-struct-sgml-tag-tags 0 error "sgml-tag-type accessing a non-sgml-tag" 1] 2])
(byte-code "\301\302\303\304#\210\301\305\306\307#\210\305\310N\204%\301\305\310\311#\210\312\301\305\313\314\315!!#\210)\301\207" [file put sgml-tag-type setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander sgml-tag sgml-tag-type #1=(and (memq (aref cl-x 0) cl-struct-sgml-tag-tags)) 1] 6] sgml-tag-start cl-compiler-macro #[(--cl-whole-arg-- cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block sgml-tag-start (or #1# (error "sgml-tag-start accessing a non-sgml-tag")) (aref cl-x 2)) nil] 7] byte-compile cl-byte-compile-compiler-macro "/Users/LTX/Projects/Emacs/emacs/lisp/textmodes/sgml-mode.el" compiler-macro-file purecopy file-name-nondirectory] 6)
(defalias 'sgml-tag-start #[(cl-x) "\302H	>\204\f\303\304!\210\305H\207" [cl-x cl-struct-sgml-tag-tags 0 error "sgml-tag-start accessing a non-sgml-tag" 2] 2])
(byte-code "\301\302\303\304#\210\301\305\306\307#\210\305\310N\204%\301\305\310\311#\210\312\301\305\313\314\315!!#\210)\301\207" [file put sgml-tag-start setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander sgml-tag sgml-tag-start #1=(and (memq (aref cl-x 0) cl-struct-sgml-tag-tags)) 2] 6] sgml-tag-end cl-compiler-macro #[(--cl-whole-arg-- cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block sgml-tag-end (or #1# (error "sgml-tag-end accessing a non-sgml-tag")) (aref cl-x 3)) nil] 7] byte-compile cl-byte-compile-compiler-macro "/Users/LTX/Projects/Emacs/emacs/lisp/textmodes/sgml-mode.el" compiler-macro-file purecopy file-name-nondirectory] 6)
(defalias 'sgml-tag-end #[(cl-x) "\302H	>\204\f\303\304!\210\305H\207" [cl-x cl-struct-sgml-tag-tags 0 error "sgml-tag-end accessing a non-sgml-tag" 3] 2])
(byte-code "\301\302\303\304#\210\301\305\306\307#\210\305\310N\204%\301\305\310\311#\210\312\301\305\313\314\315!!#\210)\301\207" [file put sgml-tag-end setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander sgml-tag sgml-tag-end #1=(and (memq (aref cl-x 0) cl-struct-sgml-tag-tags)) 3] 6] sgml-tag-name cl-compiler-macro #[(--cl-whole-arg-- cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block sgml-tag-name (or #1# (error "sgml-tag-name accessing a non-sgml-tag")) (aref cl-x 4)) nil] 7] byte-compile cl-byte-compile-compiler-macro "/Users/LTX/Projects/Emacs/emacs/lisp/textmodes/sgml-mode.el" compiler-macro-file purecopy file-name-nondirectory] 6)
(defalias 'sgml-tag-name #[(cl-x) "\302H	>\204\f\303\304!\210\305H\207" [cl-x cl-struct-sgml-tag-tags 0 error "sgml-tag-name accessing a non-sgml-tag" 4] 2])
(byte-code "\301\302\303\304#\210\301\305\306\307#\210\305\310N\204%\301\305\310\311#\210\312\301\305\313\314\315!!#\210)\301\207" [file put sgml-tag-name setf-method #[(cl-x) "\301\302\303\304\305%\207" [cl-x cl-struct-setf-expander sgml-tag sgml-tag-name (and #1=(memq (aref cl-x 0) cl-struct-sgml-tag-tags)) 4] 6] sgml-tag-p cl-compiler-macro #[(--cl-whole-arg-- cl-x) "\301\302\303\304\211\211&\207" [cl-x cl-defsubst-expand (cl-x) (block sgml-tag-p (and (vectorp cl-x) (>= (length cl-x) 5) #1# t)) nil] 7] byte-compile cl-byte-compile-compiler-macro "/Users/LTX/Projects/Emacs/emacs/lisp/textmodes/sgml-mode.el" compiler-macro-file purecopy file-name-nondirectory] 6)
(defalias 'sgml-tag-p #[(cl-x) "\302!\205G\303Y\205\304H	>\205\305\207" [cl-x cl-struct-sgml-tag-tags vectorp 5 0 t] 2])
(defalias 'copy-sgml-tag #[(x) "\301!\207" [x copy-sequence] 2])
(byte-code "\301\302\303\304#\210\302\305N\204\301\302\305\306#\210\307\301\302\310\311\312!!#\210)\301\207" [file put make-sgml-tag cl-compiler-macro #[(cl-whole &rest #1=#:--cl-rest--) "\306>A@\307>A@\310>A@\311>A@
\203D
@\312>\203-
AA\211\202\313>A@\203;\314\211\202\315\316
@\"\210\202)\317\320\321\314\314	\n\f&	,\207" [#1# type start end name #:--cl-keys-- :type :start :end :name (:type :start :end :name :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:type :start :end :name)" cl-defsubst-expand (type start end name) (block make-sgml-tag (vector 'cl-struct-sgml-tag type start end name)) cl-whole] 11 "Not documented\n\n(fn CL-WHOLE &cl-quote &key TYPE START END NAME)"] byte-compile cl-byte-compile-compiler-macro "/Users/LTX/Projects/Emacs/emacs/lisp/textmodes/sgml-mode.el" compiler-macro-file purecopy file-name-nondirectory] 6)
#@47 Not documented

(fn &key TYPE START END NAME)
(defalias 'make-sgml-tag #[(&rest #1=#:--cl-rest--) "\306>A@\307>A@\310>A@\311>A@
\203D
@\312>\203-
AA\211\202\313>A@\203;\314\211\202\315\316
@\"\210\202)\317\320	\n\f%,\207" [#1# type start end name #2=#:--cl-keys-- :type :start :end :name (:type :start :end :name :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:type :start :end :name)" vector cl-struct-sgml-tag] 7 (#$ . 42934)])
(byte-code "\301\302\303\304#\210\302\305N\204\301\302\305\306#\210\307\301\302\310\311\312!!#\210)\301\207" [file put sgml-make-tag cl-compiler-macro #[(--cl-whole-arg-- type start end name) "\304\305\306\307\211\211	\n&	\207" [type start end name cl-defsubst-expand (type start end name) (block sgml-make-tag (vector 'cl-struct-sgml-tag type start end name)) nil] 10] byte-compile cl-byte-compile-compiler-macro "/Users/LTX/Projects/Emacs/emacs/lisp/textmodes/sgml-mode.el" compiler-macro-file purecopy file-name-nondirectory] 6)
(defalias 'sgml-make-tag #[(type start end name) "\304\305	\n%\207" [type start end name vector cl-struct-sgml-tag] 6])
(byte-code "\302B\303C\304\305\306\307#\210\304\305\310\311#\210\304\305\312\313#\210\304\305\314\315#\210\304\316\317\315#\210\304\320\317\315#\210\304\321\317\315#\210\304\322\317\323#\210\304\324\317\315#\210\304\325\317\315#\210\304\326\317\315#\210\304\327\317\315#\207" [custom-print-functions cl-struct-sgml-tag-tags #[(cl-x cl-s cl-n) "\303!\205\200G\304Y\205\200\305H	>\205\200\306\307\n\"\210\306\310\n\"\210\311\305H	>\204,\312\313!\210\314H\n\"\210\306\315\n\"\210\311\305H	>\204D\312\316!\210\317H\n\"\210\306\320\n\"\210\311\305H	>\204\\\312\321!\210\322H\n\"\210\306\323\n\"\210\311\305H	>\204t\312\324!\210\325H\n\"\210\306\326\n\"\210\327\207" [cl-x cl-struct-sgml-tag-tags cl-s vectorp 5 0 princ "#S(sgml-tag" " type" prin1 error "sgml-tag-type accessing a non-sgml-tag" 1 " start" "sgml-tag-start accessing a non-sgml-tag" 2 " end" "sgml-tag-end accessing a non-sgml-tag" 3 " name" "sgml-tag-name accessing a non-sgml-tag" 4 ")" t] 3] cl-struct-sgml-tag put sgml-tag cl-struct-slots ((cl-tag-slot) (type) (start) (end) (name)) cl-struct-type (vector nil) cl-struct-include nil cl-struct-print t sgml-make-tag side-effect-free make-sgml-tag copy-sgml-tag sgml-tag-p error-free sgml-tag-name sgml-tag-end sgml-tag-start sgml-tag-type] 4)
#@44 Skip past a tag-name, and return the name.
(defalias 'sgml-parse-tag-name #[nil "\300`\301\302!\210`\"\207" [buffer-substring-no-properties skip-syntax-forward "w_"] 4 (#$ . 45362)])
(put 'sgml-parse-tag-name 'byte-optimizer 'byte-compile-inline-expand)
#@210 Return non-nil if text between START and END is a tag.
Checks among other things that the tag does not contain spurious
unquoted < or > chars inside, which would indicate that it
really isn't a tag after all.
(defalias 'sgml-tag-text-p #[(start end) "\212\306 p\307\216\310\n!\210\311\f\312#\211@\313U-\207" [#1=#:buffer #2=#:table sgml-tag-syntax-table start end pps syntax-table ((byte-code "rq\210\302	!\210)\302\207" [#1# #2# set-syntax-table] 2)) set-syntax-table parse-partial-sexp 2 0] 5 (#$ . 45623)])
#@166 Parse an SGML tag backward, and return information about the tag.
Assume that parsing starts from within a textual context.
Leave point at the beginning of the tag.
(defalias 'sgml-parse-tag-backward #[(&optional limit) "\300\301\215\207" [found (byte-code "\306\211\211\211\307\310\f\311#\204\312\313!\210\306f\314=\203I`\315 p5\316\216\3176!\210`7\306\320\321\217\210\3227`\"\204E7b\210\323\324\325\f!\"\210\326u\210,`T\3278`8GZ\2119eY\205d8\3309`\"\232*\203w\331\n\206s\332\333\306\334#\202F\3358`8GZ\2119eY\205\2178\3309`\"\232*\203\242\336\n\206\236\307\337\306\334#\202F\3408`8GZ\2119eY\205\2728\3309`\"\232*\203\315\341\n\206\311\332\342\306\334#\202F\n\204\352\315 p:;\343\216\3176!\210	b\210\306\344\345\217\210`+\nTb\210\306f\346=\203\372\347\202F\306f\350=\203\341\202F\306f\351=\203\352\202F\306f\353=\203*\354u\210\355\330`\356\357!\210`\"\202F\360\330`\356\357!\210`\"	SSf\353=\204D\361!\203F\362\nb\210\363\364\n	%,\207" [name tag-end tag-start tag-type limit #1=#:buffer nil re-search-backward "[<>]" move error "No tag found" 60 syntax-table ((byte-code "rq\210\302	!\210)\302\207" [#1# #2=#:table set-syntax-table] 2)) set-syntax-table (forward-sexp) ((scan-error (byte-code "b\210\302\303\304	!\"\207" [pos limit throw found sgml-parse-tag-backward] 4))) sgml-tag-text-p throw found sgml-parse-tag-backward -1 "--" buffer-substring-no-properties comment search-backward "<!--" t "]]" cdata "<!\\[[A-Z]+\\[" "?" pi "<?" ((byte-code "rq\210\302	!\210)\302\207" [#3=#:buffer #4=#:table set-syntax-table] 2)) (backward-sexp) ((scan-error (byte-code "Sb\210\302\303\304	!\"\207" [tag-end limit throw found sgml-parse-tag-backward] 4))) 33 decl 63 37 jsp 47 1 close skip-syntax-forward "w_" open sgml-empty-tag-p empty vector cl-struct-sgml-tag #2# sgml-tag-syntax-table pos str start #3# #4#] 6)] 2 (#$ . 46145)])
#@507 Determine the context of the current position.
By default, parse until we find a start-tag as the first thing on a line.
If UNTIL is `empty', return even if the context is empty (i.e.
we just skipped over some element and got to a beginning of line).

The context is a list of tag-info structures.  The last one is the tag
immediately enclosing the current position.

Point is assumed to be outside of any tag.  If we discover that it's
not the case, the first tag returned is the one inside which we are.
(defalias 'sgml-get-context #[(&optional until) "`\306\211\211\211\307\306x\210
\310=\2041\204b
\203\"
\311=\202#	\203b\212\312\306x\210n)\203b	\2031`	@\313H\">\204C\314\315!\210	@\316HU\2041\317	@\313H\">\204Z\314\320!\210	@\321H!\2031\306\322\323\217\211\2031	\203\234\313H\">\204|\314\324!\210\325H	@\313H\">\204\215\314\324!\210	@\325HV\203\234	A\211\204o\313H\">\204\251\314\324!\210\325H\fV\203\273	B\310\211\202\313H\">\204\310\314\326!\210\327H\330=\203\332\204\364\331\313H\">\204\342\314\320!\210\321H\n\332#\204\253	B\306\202\253\333\313H\">\204\314\320!\210\321H\306\211@\306\211\332&\332=\203A\202\253#\204\222\317\313H\">\204,\314\320!\210\321H!\204\253\334\335\313H\">\204B\314\320!\210\321H\"\210\211$A\203}\333\313H\">\204]\314\320!\210\321H\306\211$\211%A@)\306\211\332&\332=\204}$A\211$\202K$A\203\216$\211%\211AA)\241\210)\202\253\334\336\313H\">\204\241\314\320!\210\321H\211A@#\210\204\317\313H\">\204\275\314\320!\210\321H!\203\313H\">\204\321\314\320!\210\321H\nB\202\313H\">\204\347\314\326!\210\327H\337=\203\340\313H\">\204\375\314\320!\210\321H!\203\334\341\313H\">\204\314\320!\210\321H\"\210\202\313H\">\204(\314\320!\210\321HB\202	-\207" [tag-info context ignore stack here until nil " 	\n" now empty " 	" 0 error "sgml-tag-start accessing a non-sgml-tag" 2 sgml-unclosed-tag-p "sgml-tag-name accessing a non-sgml-tag" 4 (sgml-parse-tag-backward) ((error)) "sgml-tag-end accessing a non-sgml-tag" 3 "sgml-tag-type accessing a non-sgml-tag" 1 open assoc-string t compare-strings message "Unclosed tag <%s>" "Unmatched tags <%s> and </%s>" close sgml-empty-tag-p "Spurious </%s>: empty tag" cl-struct-sgml-tag-tags sgml-xml-mode tmp x] 9 (#$ . 48061)])
#@93 Display the current context.
If FULL is non-nil, parse back to the beginning of the buffer.
(defalias 'sgml-show-context #[(&optional full) "\303\220\212\304 	\203\305\304 \211\203\n\244\202\f)\306!*\221\207" [context full more "*XML Context*" sgml-get-context nil pp] 3 (#$ . 50403) "P"])
#@157 Close current element.
Depending on context, inserts a matching close-tag, or closes
the current start-tag or the current comment or the current cdata, ...
(defalias 'sgml-close-tag #[nil "\303 @\211\304=\203\305c\202m\306=\203\307c\202m\310=\203%\311c\202m\312=\2030\313c\202m\314=\203;\315c\202m\316=\203j\212\317 )\211\205f\320\321	!@\322H\n>\204Z\323\324!\210\321	!@\325H\326\261\210\327 )\202m\323\330!)\207" [#1=#:--cl-var-- context cl-struct-sgml-tag-tags sgml-lexical-context comment " -->" cdata "]]>" pi " ?>" jsp " %>" tag " />" text sgml-get-context "</" last 0 error "sgml-tag-name accessing a non-sgml-tag" 4 ">" indent-according-to-mode "Nothing to close"] 4 (#$ . 50711) nil])
#@56 Return non-nil if TAG-NAME is an implicitly empty tag.
(defalias 'sgml-empty-tag-p #[(tag-name) "?\205\n\303	\n\304#\207" [sgml-xml-mode tag-name sgml-empty-tags assoc-string ignore-case] 4 (#$ . 51434)])
#@71 Return non-nil if TAG-NAME is a tag for which an end-tag is optional.
(defalias 'sgml-unclosed-tag-p #[(tag-name) "?\205\n\303	\n\304#\207" [sgml-xml-mode tag-name sgml-unclosed-tags assoc-string ignore-case] 4 (#$ . 51647)])
#@98 Calculate the column to which this line should be indented.
LCON is the lexical context, if any.
(defalias 'sgml-calculate-indent #[(&optional lcon) "\204\306 @\307=\203'\310\311!\203'\212Ab\210\310\312!)\203'\313A\314\\B@\315=\203S`AV\203B\316\317y!\203B\310\320!\204.`AV\203L\321 \207Ab\210iT\207@\313=\203\252\310\311!`AV\203|\316\317y!\203|\310\320!\204^	\203|\310\322!\203^`AV\203\212\323\324w\210\202\226Ab\210\325\311!\210\326\224b\210	\204\247\310\311!\203\247\314u\210\323\324w\210i)\207@\327=\203\263\324\207@\330=\203\274\324\207@\307=\203\337ATb\210\331\324w\210\323\324w\210l\204\326i\207ATb\210i\n\\\207@\332=\203&\310\333!\203\367\334\335!\210\323\324w\210\202\346`\310\f!\205\f\336\337\335!
\340#\205\f\337\335!\2111?\205*\323\324x\205*\341\324x\326W\205*\342 \205*`AV?\205;b\210\3431?\2059\344!\2372`32\203v1\203v\3452@\326H4>\204Z\346\347!\2102@\350H\324\2111\324\211\351&\351=\203v2A\2112\204E2\203\3422@\326H4>\204\212\346\352!\2102@\353HV\203\342b\210\3542@\326H4>\204\247\346\355!\2102@\335H\356>\203\3102@\326H4>\204\300\346\355!\2102@\335H\202\311\3072@\326H4>\204\330\346\357!\2102@\314HB!\202$2\2032@\326H4>\204\366\346\352!\2102@\353Hb\203\341\324w\203`W\203\212\323\324x\210n)\203i\202$3b\210i\n2G_\\,\207\346\360@\"\207" [lcon mark sgml-basic-offset here sgml-tag-name-re sgml-unclosed-tags sgml-lexical-context tag looking-at "--" "<!--" comment 2 string zerop -1 "[ 	]*$" current-indentation "[ 	]*--" " 	" nil search-forward 0 cdata pi "^ 	\n" text "</" forward-sexp 1 assoc-string match-string ignore-case " 	\n" back-to-indentation sgml-get-context empty compare-strings error "sgml-tag-name accessing a non-sgml-tag" 4 t "sgml-tag-end accessing a non-sgml-tag" 3 sgml-calculate-indent "sgml-tag-type accessing a non-sgml-tag" (comment cdata) "sgml-tag-start accessing a non-sgml-tag" "Unrecognized context %s" unclosed context there cl-struct-sgml-tag-tags] 9 (#$ . 51881)])
#@34 Indent the current line as SGML.
(defalias 'sgml-indent-line #[nil "`\212\302 \210`Y\203\303\304 )\211\204\305\202)\203&\212\306	!)\202)\306	!*\207" [savep indent-col back-to-indentation nil sgml-calculate-indent noindent indent-line-to] 3 (#$ . 53918) nil])
#@174 Guess an appropriate value for `sgml-basic-offset'.
Base the guessed identation level on the first indented tag in the buffer.
Add this to `sgml-mode-hook' for convenience.
(defalias 'sgml-guess-indent #[nil "\212eb\210\301\302\303\304#\205\305\300!\210iS\306\307\")\207" [sgml-basic-offset re-search-forward "^\\([ 	]+\\)<" 500 noerror make-local-variable message "Guessed sgml-basic-offset = %d"] 4 (#$ . 54196) nil])
#@101 Simplistic parse of the current buffer as a DTD.
Currently just returns (EMPTY-TAGS UNCLOSED-TAGS).
(defalias 'sgml-parse-dtd #[nil "eb\210\302\211\303\304\302\305#\2031\306\307!\310\230\203 \311\312!	B\202\306\313!\314\230\203\311\312!B\202\315\316\317	\"\320\"\315\316\317\"\320\"	*D\207" [unclosed empty nil re-search-forward "<!ELEMENT[ 	\n]+\\([^ 	\n]+\\)[ 	\n]+[-O][ 	\n]+\\([-O]\\)[ 	\n]+\\([^ 	\n]+\\)" t match-string 3 "EMPTY" match-string-no-properties 1 2 "O" sort mapcar downcase string<] 4 (#$ . 54627)])
#@87 Hook run by command `html-mode'.
`text-mode-hook' and `sgml-mode-hook' are run first.
(custom-declare-variable 'html-mode-hook 'nil '(#$ . 55168) :group 'sgml :type 'hook :options '(html-autoview-mode))
#@161 Use C-c X combinations for quick insertion of frequent tags when non-nil.
This defaults to `sgml-quick-keys'.
This takes effect when first loading the library.
(defvar html-quick-keys sgml-quick-keys (#$ . 55378))
#@43 Keymap for commands for use in HTML mode.
(defvar html-mode-map (byte-code "\304 \304\305!\306	\n\"\210\307	\310\311#\210\307	\312\313#\210\307	\314\315#\210\307	\316\317#\210\307	\320\321#\210\307	\322\323#\210\307	\324\325#\210\307	\326\327#\210\307	\330\331#\210\307	\332\333#\210\307	\334\335#\210\307	\336\337#\210\307	\340\341#\210\307	\342\343#\210\307	\344\345#\210\307	\346\347#\210\307	\350\351#\210\203\254\307	\352\331#\210\307	\353\333#\210\307	\354\335#\210\307	\355\337#\210\307	\356\341#\210\307	\357\343#\210\307	\360\345#\210\307	\361\347#\210\307	\362\351#\210\307	\363\364#\210\307	\365\366#\210\307	\367\305B#\210\307\370\371#\210\307\372\373#\210\307\374\375#\210\307\376\377#\210\307\201@\201A#\210\307\201B\201C#\210\307\201D\201E#\210\307\201F\201G#\210\307\201D\201H#\210\307\201I\201J#\210\307\201K\201L#\210\307\201M\201N#\210\307\201O\201P#\210\307\201Q\201R#\210\307\201S\201T#\210\307\201U\201V#\210\307\201W\201X#\210	*\207" [menu-map map sgml-mode-map html-quick-keys make-sparse-keymap "HTML" set-keymap-parent define-key "6" html-headline-6 "5" html-headline-5 "4" html-headline-4 "3" html-headline-3 "2" html-headline-2 "1" html-headline-1 "
" html-paragraph "\n" html-line "-" html-horizontal-rule "o" html-ordered-list "u" html-unordered-list "r" html-radio-buttons "c" html-checkboxes "l" html-list-item "h" html-href-anchor "n" html-name-anchor "i" html-image "-" "o" "u" "r" "c" "l" "h" "n" "i" "" html-autoview-mode "" browse-url-of-buffer [menu-bar html] [html-autoview-mode] ("Toggle Autoviewing" . html-autoview-mode) [browse-url-of-buffer] ("View Buffer Contents" . browse-url-of-buffer) [nil] ("--") "3" ("Heading 3" . html-headline-3) "2" ("Heading 2" . html-headline-2) "1" ("Heading 1" . html-headline-1) "l" ("Radio Buttons" . html-radio-buttons) "c" ("Checkboxes" . html-checkboxes) ("List Item" . html-list-item) "u" ("Unordered List" . html-unordered-list) "o" ("Ordered List" . html-ordered-list) "-" ("Horizontal Rule" . html-horizontal-rule) "\n" ("Line Break" . html-line) "
" ("Paragraph" . html-paragraph) "i" ("Image" . html-image) "h" ("Href Anchor" . html-href-anchor) "n" ("Name Anchor" . html-name-anchor)] 5) (#$ . 55598))
#@47 Value of `sgml-face-tag-alist' for HTML mode.
(defvar html-face-tag-alist '((bold . "b") (italic . "i") (underline . "u") (modeline . "rev")) (#$ . 57880))
#@47 Value of `sgml-tag-face-alist' for HTML mode.
(defvar html-tag-face-alist '(("b" . bold) ("big" . bold) ("blink" . highlight) ("cite" . italic) ("em" . italic) ("h1" bold underline) ("h2" bold-italic underline) ("h3" italic underline) ("h4" . underline) ("h5" . underline) ("h6" . underline) ("i" . italic) ("rev" . modeline) ("s" . underline) ("small" . default) ("strong" . bold) ("title" bold underline) ("tt" . default) ("u" . underline) ("var" . italic)) (#$ . 58042))
#@45 Value of `sgml-display-text' for HTML mode.
(defvar html-display-text '((img . "[/]") (hr . "----------") (li . "o ")) (#$ . 58522))
#@43 *Value of `sgml-tag-alist' for HTML mode.
(defvar html-tag-alist (byte-code "\306\307\310\"\311\312\313\314\315@
\316\fB\317\fB\320BBBA\321B\322\307\n\323B\324	B\325	B\326BBB\"BC\327@ABB\330\322
BB\331BB\332\333\334\335\336\337\340BBBBBBB\341\342\343
AB\344BBB\345\nB\346\nB\347\nB\350\nB\351\nB\352\nB\353\322\334	B\354\355\nBBBBB\356\322\357\307\360\"B\361BBB\362\322\334	B\363	B\364@\365BBBBBB\366\322ABB\367BB\370\307B\371\"B\372\322\nBB\373\374@\334	B\375BBBB\376\377\201F\322	BB\201GBBB\201HCB\201I@\201J	B\201K	BF\201LCB\201M\307B\201N\"B\307D\201O\201P\201Q\201R\201S\201T\201U\201V\201W\201X\201Y\201Z\201[\201\\\201]\201^\201_E?D\201`\201a\201b\201c\201d\201e\201f\201g\201h\201i\201j\201k\201l\201m\201nE?D\201oBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\".\nBBBBBBBBBBBBBBBBBBBBBBBB\207" [1-7 1-9 align valign rel href (("1") ("2") ("3") ("4") ("5") ("6") ("7")) append (("8") ("9")) (("align" ("left") ("center") ("right"))) (("top") ("middle") ("bottom") ("baseline")) (("next") ("previous") ("parent") ("subdocument") ("made")) ("href" ("ftp:") ("file:") ("finger:") ("gopher:") ("http:") ("mailto:") ("news:") ("rlogin:") ("telnet:") ("tn3270:") ("wais:") ("/cgi-bin/")) ("name") "rel" "rev" (("title")) ((nil n ("List item: " "<li>" str (if sgml-xml-mode "</li>") n))) t "valign" "colspan" "rowspan" (("nowrap" t)) "a" "base" "dir" "font" nil "size" ("-1") ("+1") ("-2") ("+2") "form" (n _ n "<input type=\"submit\" value=\"\"" (if sgml-xml-mode " />" ">")) "action" (("method" ("get") ("post"))) "h1" "h2" "h3" "h4" "h5" "h6" "hr" ("width") ("noshade" t) "img" "align" (("texttop") ("absmiddle") ("absbottom")) (("src") ("alt") ("width" "1") ("height" "1") ("border" "1") ("vspace" "1") ("hspace" "1") ("ismap" t)) "input" "maxlength" ("checked" t) (("type" ("text") ("password") ("checkbox") ("radio") ("submit") ("reset")) ("value")) "link" "menu" "ol" (("type" ("A") ("a") ("I") ("i") ("1"))) "p" "select" (nil n ("Text: " "<option>" str (if sgml-xml-mode "</option>") n)) (("multiple" t)) "table" (nil n ((completing-read "Cell kind: " '(("td") ("th")) nil t "t") "<tr><" str 62 _ (if sgml-xml-mode (concat "<" str "></tr>")) n)) name link list cell sgml-tag-alist sgml-xml-mode "border" (("width" "10") ("cellpadding")) "td" "textarea" "rows" "cols" "th" "ul" (("type" ("disc") ("circle") ("square"))) ("abbrev") ("acronym") ("address") ("array" (nil n ("Item: " "<item>" str (if sgml-xml-mode "</item>") n)) "align") ("au") ("b") ("big") ("blink") ("blockquote" n) ("body" n ("background" ".gif") ("bgcolor" "#") ("text" "#") ("link" "#") ("alink" "#") ("vlink" "#")) ("box" (nil _ "<over>" _ (if sgml-xml-mode "</over>"))) ("br" t ("clear" ("left") ("right"))) ("caption" ("valign" ("top") ("bottom"))) ("center" n) ("cite") ("code" n) "dd" ("del") ("dfn") ("div") ("dl" (nil n ("Term: " "<dt>" str (if sgml-xml-mode "</dt>") "<dd>" _ (if sgml-xml-mode "</dd>") n))) ("dt" (t _ (if sgml-xml-mode "</dt>") "<dd>" (if sgml-xml-mode "</dd>") n)) ("em") ("fn" "id" "fn") ("head" n) ("html" (n "<head>\n" "<title>" (setq str (read-input "Title: ")) "</title>\n" "</head>\n" "<body>\n<h1>" str "</h1>\n" _ "\n<address>\n<a href=\"mailto:" user-mail-address "\">" (user-full-name) "</a>\n</address>\n" "</body>")) ("i") ("ins") ("isindex" t ("action") ("prompt")) ("kbd") ("lang") "li" (("math" n) ("nobr") ("option" t ("value") ("label") ("selected" t)) ("over" t) ("person") ("pre" n) ("q") ("rev") ("s") ("samp") ("small") ("span" nil ("class" ("builtin") ("comment") ("constant") ("function-name") ("keyword") ("string") ("type") ("variable-name") ("warning"))) ("strong") ("sub") ("sup") ("title") ("tr" t) ("tt") ("u") ("var") ("wbr" t))] 59) (#$ . -58661))
#@42 *Value of `sgml-tag-help' for HTML mode.
(defvar html-tag-help (append sgml-tag-help '(("a" . "Anchor of point or link elsewhere") ("abbrev" . "Abbreviation") ("acronym" . "Acronym") ("address" . "Formatted mail address") ("array" . "Math array") ("au" . "Author") ("b" . "Bold face") ("base" . "Base address for URLs") ("big" . "Font size") ("blink" . "Blinking text") ("blockquote" . "Indented quotation") ("body" . "Document body") ("box" . "Math fraction") ("br" . "Line break") ("caption" . "Table caption") ("center" . "Centered text") ("changed" . "Change bars") ("cite" . "Citation of a document") ("code" . "Formatted source code") ("dd" . "Definition of term") ("del" . "Deleted text") ("dfn" . "Defining instance of a term") ("dir" . "Directory list (obsolete)") ("div" . "Generic block-level container") ("dl" . "Definition list") ("dt" . "Term to be definined") ("em" . "Emphasized") ("embed" . "Embedded data in foreign format") ("fig" . "Figure") ("figa" . "Figure anchor") ("figd" . "Figure description") ("figt" . "Figure text") ("fn" . "Footnote") ("font" . "Font size") ("form" . "Form with input fields") ("group" . "Document grouping") ("h1" . "Most important section headline") ("h2" . "Important section headline") ("h3" . "Section headline") ("h4" . "Minor section headline") ("h5" . "Unimportant section headline") ("h6" . "Least important section headline") ("head" . "Document header") ("hr" . "Horizontal rule") ("html" . "HTML Document") ("i" . "Italic face") ("img" . "Graphic image") ("input" . "Form input field") ("ins" . "Inserted text") ("isindex" . "Input field for index search") ("kbd" . "Keybard example face") ("lang" . "Natural language") ("li" . "List item") ("link" . "Link relationship") ("math" . "Math formula") ("menu" . "Menu list (obsolete)") ("mh" . "Form mail header") ("nextid" . "Allocate new id") ("nobr" . "Text without line break") ("ol" . "Ordered list") ("option" . "Selection list item") ("over" . "Math fraction rule") ("p" . "Paragraph start") ("panel" . "Floating panel") ("person" . "Person's name") ("pre" . "Preformatted fixed width text") ("q" . "Quotation") ("rev" . "Reverse video") ("s" . "Strikeout") ("samp" . "Sample text") ("select" . "Selection list") ("small" . "Font size") ("sp" . "Nobreak space") ("span" . "Generic inline container") ("strong" . "Standout text") ("sub" . "Subscript") ("sup" . "Superscript") ("table" . "Table with rows and columns") ("tb" . "Table vertical break") ("td" . "Table data cell") ("textarea" . "Form multiline edit area") ("th" . "Table header cell") ("title" . "Document title") ("tr" . "Table row separator") ("tt" . "Typewriter face") ("u" . "Underlined text") ("ul" . "Unordered list") ("var" . "Math variable face") ("wbr" . "Enable <br> within <nobr>"))) (#$ . -62409))
(byte-code "\302\303N\204\304\302\303\305\306!#\210\307\310!\204\304\310\311\312#\210\310B\313\310!\204*\314\310\315 \"\210\310\303N\2048\304\310\303\305\316!#\210\307\317!\204D\304\317\311\312#\210\317B\313\317!\204T\314\317\320 \"\210\317\303N\204b\304\317\303\305\321!#\210\304\301\311\312#\210\301B\313\301!\204|\314\301\322\301\323\"\210	\"\210\301\303N\204\212\304\301\303\305\324!#\210\304\312\325\326#\207" [current-load-list html-mode-abbrev-table html-mode-hook variable-documentation put purecopy "Hook run when entering (quote (sgml-xml-mode XHTML HTML)) mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp html-mode-map definition-name html-mode default-boundp set-default make-sparse-keymap "Keymap for `html-mode'." html-mode-syntax-table make-syntax-table "Syntax table for `html-mode'." define-abbrev-table nil "Abbrev table for `html-mode'." derived-mode-parent sgml-mode] 5)
#@1881 Major mode based on SGML mode for editing HTML documents.
This allows inserting skeleton constructs used in hypertext documents with
completion.  See below for an introduction to HTML.  Use
\[browse-url-of-buffer] to see how this comes out.  See also `sgml-mode' on
which this is based.

Do \[describe-variable] html- SPC and \[describe-variable] sgml- SPC to see available variables.

To write fairly well formatted pages you only need to know few things.  Most
browsers have a function to read the source code of the page being seen, so
you can imitate various tricks.  Here's a very short HTML primer which you
can also view with a browser to see what happens:

<title>A Title Describing Contents</title> should be on every page.  Pages can
have <h1>Very Major Headlines</h1> through <h6>Very Minor Headlines</h6>
<hr> Parts can be separated with horizontal rules.

<p>Paragraphs only need an opening tag.  Line breaks and multiple spaces are
ignored unless the text is <pre>preformatted.</pre>  Text can be marked as
<b>bold</b>, <i>italic</i> or <u>underlined</u> using the normal M-o or
Edit/Text Properties/Face commands.

Pages can have <a name="SOMENAME">named points</a> and can link other points
to them with <a href="#SOMENAME">see also somename</a>.  In the same way <a
href="URL">see also URL</a> where URL is a filename relative to current
directory, or absolute as in `http://www.cs.indiana.edu/elisp/w3/docs.html'.

Images in many formats can be inlined with <img src="URL">.

If you mainly create your own documents, `sgml-specials' might be
interesting.  But note that some HTML 2 browsers can't handle `&apos;'.
To work around that, do:
   (eval-after-load "sgml-mode" '(aset sgml-char-names ?' nil))

\{html-mode-map}

In addition to any hooks its parent mode might have run,
this mode runs the hook `html-mode-hook', as the final step
during initialization.
(defalias 'html-mode #[nil "\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\2036
\321 =\203<\322\f\323 \"\210)\324!\210\325\f!\210*+\306\326!\210,\306\327!\210-\306\330!\210\306\331!\210\306\332!\210\306\333!\210\306\334!\210\306\335!\210\306\336!\210\337./0\340\341\342\3431\306\344!\210\345$\306\346!\210\347&)\350\351!\207" [delay-mode-hooks major-mode mode-name html-mode-map html-mode-syntax-table parent make-local-variable t sgml-mode html-mode (sgml-xml-mode "XHTML" "HTML") mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table use-local-map set-syntax-table sgml-display-text sgml-tag-face-alist sgml-tag-alist sgml-face-tag-alist sgml-tag-help outline-regexp outline-heading-end-regexp outline-level sentence-end-base "[.?!][]\"'â€�)}]*\\(<[^>]*>\\)*" "^.*<[Hh][1-6]\\>" "</[Hh][1-6]>" #[nil "\300\225Sf\207" [0] 1] html-imenu-index sgml-empty-tags ("area" "base" "basefont" "br" "col" "frame" "hr" "img" "input" "isindex" "link" "meta" "param" "wbr") sgml-unclosed-tags ("body" "colgroup" "dd" "dt" "head" "html" "li" "option" "p" "tbody" "td" "tfoot" "th" "thead" "tr") run-mode-hooks html-mode-hook html-mode-abbrev-table local-abbrev-table html-display-text html-tag-face-alist html-tag-alist html-face-tag-alist html-tag-help imenu-create-index-function] 6 (#$ . 66202) nil])
#@239 *A regular expression matching a head line to be added to the menu.
The first `match-string' should be a number from 1-9.
The second `match-string' matches extra tags and is ignored.
The third `match-string' will be the used in the menu.
(defvar html-imenu-regexp "\\s-*<h\\([1-9]\\)[^\n<>]*>\\(<[^\n<>]*>\\)*\\s-*\\([^\n<>]*\\)" (#$ . -69569))
#@67 Return a table of contents for an HTML buffer for use with Imenu.
(defalias 'html-imenu-index #[nil "\302\212eb\210\303	\302\304#\203&\305\306\307\310!!S\311_\312\"\307\313!P\314 BB\202)\237)\207" [toc-index html-imenu-regexp nil re-search-forward t make-string string-to-number match-string 1 2 32 3 line-beginning-position] 4 (#$ . 69920)])
#@105 Non-nil if Html-Autoview mode is enabled.
Use the command `html-autoview-mode' to change this variable.
(defvar html-autoview-mode nil (#$ . 70277))
(make-variable-buffer-local 'html-autoview-mode)
#@198 Toggle automatic viewing via `browse-url-of-buffer' upon saving buffer.
With positive prefix ARG always turns viewing on, with negative ARG always off.
Can be used as a value for `html-mode-hook'.
(defalias 'html-autoview-mode #[(&optional arg) "\303 	\304=\203\n?\202\305	!\306V\211\203\"\307\310\311\312\313$\210\202(\314\310\311\313#\210\315\316\n\2032\317\2023\320\"\210\321\322!\203T\303 \203G\303 \232\203T\323\324\n\203Q\325\202R\326\"\210)\327 \210\n\207" [#1=#:last-message arg html-autoview-mode current-message toggle prefix-numeric-value 0 add-hook after-save-hook browse-url-of-buffer nil t remove-hook run-hooks html-autoview-mode-hook html-autoview-mode-on-hook html-autoview-mode-off-hook called-interactively-p any message "Html-Autoview mode %sabled" "en" "dis" force-mode-line-update] 6 (#$ . 70482) (list (or current-prefix-arg 'toggle))])
(byte-code "\301\302\303\304\300!\205\n\303\211%\210\305\306\307\310#\207" [html-autoview-mode-map add-minor-mode html-autoview-mode nil boundp put html-href-anchor no-self-insert t] 6)
#@541 HTML anchor tag with href attribute.

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'html-href-anchor #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new ("URL: " "<a href=\"" str "\">" _ "</a>")] 4 (#$ . 71553) "*P\nP"])
(put 'html-name-anchor 'no-self-insert t)
#@541 HTML anchor tag with name attribute.

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'html-name-anchor #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new ("Name: " "<a name=\"" str "\"" (if sgml-xml-mode (concat " id=\"" str "\"")) ">" _ "</a>")] 4 (#$ . 72306) "*P\nP"])
(put 'html-headline-1 'no-self-insert t)
#@532 HTML level 1 headline tags.

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'html-headline-1 #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new (nil "<h1>" _ "</h1>")] 4 (#$ . 73108) "*P\nP"])
(put 'html-headline-2 'no-self-insert t)
#@532 HTML level 2 headline tags.

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'html-headline-2 #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new (nil "<h2>" _ "</h2>")] 4 (#$ . 73831) "*P\nP"])
(put 'html-headline-3 'no-self-insert t)
#@532 HTML level 3 headline tags.

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'html-headline-3 #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new (nil "<h3>" _ "</h3>")] 4 (#$ . 74554) "*P\nP"])
(put 'html-headline-4 'no-self-insert t)
#@532 HTML level 4 headline tags.

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'html-headline-4 #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new (nil "<h4>" _ "</h4>")] 4 (#$ . 75277) "*P\nP"])
(put 'html-headline-5 'no-self-insert t)
#@532 HTML level 5 headline tags.

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'html-headline-5 #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new (nil "<h5>" _ "</h5>")] 4 (#$ . 76000) "*P\nP"])
(put 'html-headline-6 'no-self-insert t)
#@532 HTML level 6 headline tags.

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'html-headline-6 #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new (nil "<h6>" _ "</h6>")] 4 (#$ . 76723) "*P\nP"])
(put 'html-horizontal-rule 'no-self-insert t)
#@530 HTML horizontal rule tag.

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'html-horizontal-rule #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new (nil (if sgml-xml-mode "<hr />" "<hr>") n)] 4 (#$ . 77451) "*P\nP"])
(put 'html-image 'no-self-insert t)
#@520 HTML image tag.

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'html-image #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new ("Image URL: " "<img src=\"" str "\" alt=\"" _ "\"" (if sgml-xml-mode " />" ">"))] 4 (#$ . 78192) "*P\nP"])
(put 'html-line 'no-self-insert t)
#@525 HTML line break tag.

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'html-line #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new (nil (if sgml-xml-mode "<br />" "<br>") n)] 4 (#$ . 78951) "*P\nP"])
(put 'html-ordered-list 'no-self-insert t)
#@528 HTML ordered list tags.

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'html-ordered-list #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new (nil "<ol>" n "<li>" _ (if sgml-xml-mode "</li>") n "</ol>")] 4 (#$ . 79683) "*P\nP"])
(put 'html-unordered-list 'no-self-insert t)
#@530 HTML unordered list tags.

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'html-unordered-list #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new (nil "<ul>" n "<li>" _ (if sgml-xml-mode "</li>") n "</ul>")] 4 (#$ . 80446) "*P\nP"])
(put 'html-list-item 'no-self-insert t)
#@524 HTML list item tag.

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'html-list-item #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new (nil (if (bolp) nil 'n) "<li>" _ (if sgml-xml-mode "</li>"))] 4 (#$ . 81208) "*P\nP"])
(put 'html-paragraph 'no-self-insert t)
#@524 HTML paragraph tag.

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'html-paragraph #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new (nil (if (bolp) nil 10) "<p>" _ (if sgml-xml-mode "</p>"))] 4 (#$ . 81959) "*P\nP"])
(put 'html-checkboxes 'no-self-insert t)
#@540 Group of connected checkbox inputs.

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'html-checkboxes #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new (nil '(setq v1 nil v2 nil) ("Value: " "<input type=\"" (identity "checkbox") "\" name=\"" (or v1 (setq v1 (skeleton-read "Name: "))) "\" value=\"" str 34 (when (y-or-n-p "Set \"checked\" attribute? ") (funcall skeleton-transformation-function (if sgml-xml-mode " checked=\"checked\"" " checked"))) (if sgml-xml-mode " />" ">") (skeleton-read "Text: " (capitalize str)) (or v2 (setq v2 (if (y-or-n-p "Newline after text? ") (funcall skeleton-transformation-function (if sgml-xml-mode "<br />" "<br>")) ""))) n))] 4 (#$ . 82709) "*P\nP"])
(put 'html-radio-buttons 'no-self-insert t)
#@544 Group of connected radio button inputs.

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.
(defalias 'html-radio-buttons #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new (nil '(setq v1 nil v2 (cons nil nil)) ("Value: " "<input type=\"" (identity "radio") "\" name=\"" (or (car v2) (setcar v2 (skeleton-read "Name: "))) "\" value=\"" str 34 (when (and (not v1) (setq v1 (y-or-n-p "Set \"checked\" attribute? "))) (funcall skeleton-transformation-function (if sgml-xml-mode " checked=\"checked\"" " checked"))) (if sgml-xml-mode " />" ">") (skeleton-read "Text: " (capitalize str)) (or (cdr v2) (setcdr v2 (if (y-or-n-p "Newline after text? ") (funcall skeleton-transformation-function (if sgml-xml-mode "<br />" "<br>")) ""))) n))] 4 (#$ . 83931) "*P\nP"])
(provide 'sgml-mode)
