;ELC   
;;; Compiled by pot@pot.cnuce.cnr.it on Tue Mar 18 15:52:53 2003
;;; from file /home/pot/gnu/emacs-pretest.new/lisp/textmodes/sgml-mode.el
;;; in Emacs version 21.3
;;; with bytecomp version 2.85.4.1
;;; with all optimizations.

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

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


(custom-declare-group 'sgml nil "SGML editing mode" :group 'languages)
#@72 *Default value for `skeleton-transformation' (which see) in SGML mode.
(custom-declare-variable 'sgml-transformation ''identity '(#$ . -701) :type 'function :group 'sgml)
(put 'sgml-transformation 'variable-interactive "aTransformation function: ")
#@65 Hook run by command `sgml-mode'.
`text-mode-hook' is run first.
(custom-declare-variable 'sgml-mode-hook 'nil '(#$ . 956) :group 'sgml :type 'hook)
#@625 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) (#$ . 1111))
#@132 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 (#$ . 1783))
#@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\341#\210\n\203\217 \310	\342\316#\210\310	\343\320#\210\310	\344\345#\210\310	\346\347#\210\350>\203\203 \310	\351\352#\210\353>\203\217 \310	\354\352#\210\310	\355\356\357!!\360#\210\361	A@\fT\211\362W\203\260 	\f\360I\210\202\237 *\310	\363\307B#\210\310\364\365#\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	*\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 "8" sgml-name-8bit-mode "" sgml-validate "&" "<" " " sgml-auto-attributes ">" sgml-maybe-end-tag 34 "\"" sgml-name-self 39 "'" vector make-char-internal 129 sgml-maybe-name-self 127 256 [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) (#$ . 1961))
#@60 Syntax table used in SGML mode.  See also `sgml-specials'.
(defvar sgml-mode-syntax-table (byte-code "\303!\304\305\306	#\210\304\307\310	#\210\311\n>\203 \304\311\312	#\210\313\n>\203( \304\313\314	#\210\315\n>\2034 \304\315\316	#\210	)\207" [text-mode-syntax-table table sgml-specials copy-syntax-table modify-syntax-entry 60 "(>" 62 ")<" 45 "_ 1234" 34 "\"\"" 39 "\"'"] 4) (#$ . 3793))
#@63 *When non-nil, insert non-ASCII characters as named entities.
(custom-declare-variable 'sgml-name-8bit-mode 'nil '(#$ . -4191) :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"] (#$ . 4353))
(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 256 make-char-internal 129] 5) (#$ . 6012))
#@134 *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" '(#$ . -6370) :type 'string :version "21.1" :group 'sgml)
#@51 The command last used to validate in this buffer.
(defvar sgml-saved-validate-command nil (#$ . 6628))
#@66 *If non-nil, is the maximum distance to search for matching `/'.
(custom-declare-variable 'sgml-slash-distance '1000 '(#$ . -6737) :type '(choice (const nil) integer) :group 'sgml)
#@99 Regular expression that matches a non-empty start tag.
Any terminating `>' or `/' is not matched.
(defconst sgml-start-tag-regex "<[[:alnum:]]\\([-_.:[:alnum:]= \n	]\\|\"[^\"]*\"\\|'[^']*'\\)*" (#$ . 6924))
(byte-code "\301B\303\302B\304\304\207" [current-load-list sgml-font-lock-keywords-1 sgml-font-lock-keywords-2 (("<\\([!?][[:alnum:]][-_.:[:alnum:]]*\\)" 1 font-lock-keyword-face) ("<\\(/?[[:alnum:]][-_.:[:alnum:]]*\\)" 1 font-lock-function-name-face) ("[&%][[:alpha:]][-_.:[:alnum:]]*;?" . font-lock-variable-name-face)) nil] 2)
#@69 *Rules for highlighting SGML code.  See also `sgml-tag-face-alist'.
(defvar sgml-font-lock-keywords sgml-font-lock-keywords-1 (#$ . -7473))
#@42 Alist of face and tag name for facemenu.
(defvar sgml-face-tag-alist nil (#$ . 7619))
#@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 (#$ . 7712))
#@68 Tag names as lowercase symbols, and display string when invisible.
(defvar sgml-display-text nil (#$ . 7979))
(byte-code "\301B\302\301!\204\f \303\303\207" [current-load-list sgml-tags-invisible boundp nil] 2)
#@550 *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")) '(#$ . -8200) :type '(repeat (cons (string :tag "Tag Name") (repeat :tag "Tag Rule" sexp))) :group 'sgml)
#@43 *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")) '(#$ . -8991) :type '(repeat (cons (string :tag "Tag Name") (string :tag "Description"))) :group 'sgml)
(byte-code "\301B\301\207" [current-load-list v2] 2)
#@230 Common code for setting up `sgml-mode' and derived modes.
SGML-TAG-FACE-ALIST is used for calculating `sgml-font-lock-keywords-2'.
SGML-DISPLAY-TEXT sets up alternate text for when tags are invisible (see
varables of same name).
(defalias 'sgml-mode-common #[(sgml-tag-face-alist sgml-display-text) "\306\n!\210\307\304!\210\307\310!\210\307\305!\210\307\311!\210\307\312!\210\307\313!\210\307\314!\210\307\315!\210\307\315!\210\307\316!\210\307\317!\210\307\320!\210\307\321!\210\307\322!\210\307\323!\210\307\324!\210\307\325!\210\307\326!\210\203p \327\236\204p \327\330\331\332\333#\334Q\335\336\337\340\341DEDEDC\244\210\342\343\344\345	\346\347\f\3507\351\352\353\327\236A\"\354\355\307\356!\357L\210\307\360!\361L\210\307\362!\363L\2108\3649\211:\203\322 :@9\3659@\3669A#\210:A\211:\204\272 *\364\207" [text-mode-abbrev-table local-abbrev-table sgml-mode-syntax-table sgml-tag-face-alist indent-line-function paragraph-separate set-syntax-table make-local-variable paragraph-start adaptive-fill-regexp sgml-saved-validate-command comment-start comment-end comment-indent-function sgml-tags-invisible skeleton-transformation skeleton-further-elements skeleton-end-hook font-lock-defaults sgml-font-lock-keywords-1 sgml-font-lock-keywords-2 facemenu-add-face-function facemenu-end-add-face 1 "<\\(" mapconcat car "\\|" "\\)\\([ 	].+\\)?>\\(.+\\)</\\1>" 3 cdr assoc (downcase (match-string 1)) quote indent-relative-maybe "[ 	]*$\\|[ 	]*</?\\([A-Za-z]\\([-_.:[:alnum:]= 	\n]\\|\"[^\"]*\"\\|'[^']*'\\)*\\)?>$" "[ 	]*$\\|[ 	]*</?\\([A-Za-z]\\([-_.:[:alnum:]]= 	\n]\\|\"[^\"]*\"\\|'[^']*'\\)*\\)?>" "[ 	]*" "<!-- " " -->" sgml-comment-indent ((completion-ignore-case t)) #[nil "l\206 \301=\206 \242\301=?\206 \302 \207" [v2 n newline-and-indent] 2] append ((sgml-font-lock-keywords sgml-font-lock-keywords-1 sgml-font-lock-keywords-2) nil t) sgml-mode-facemenu-add-face-function font-lock-syntactic-keywords (("\\(<\\)! *--.*-- *\\(>\\)" (1 "!") (2 "!"))) comment-start-skip "\\(?:<!\\)?--[ 	]*" comment-end-skip "[ 	]*--\\([ 	\n]*>\\)?" nil put before-string sgml-transformation sgml-display-text pair #1=#:--dolist-temp--97272] 9 (#$ . 9504)])
(defalias 'sgml-mode-facemenu-add-face-function #[(face end) "	\236A\211\203 \n!\305\306Q\307\306Q\207\310\311\f\"\207" [face sgml-face-tag-alist skeleton-transformation facemenu-end-add-face mode-name "</" ">" "<" error "Face not configured for %s mode"] 3])
#@680 Major mode for editing SGML documents.
Makes > match <.  Makes / blink matching /.
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 '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}
(defalias 'sgml-mode #[nil "\306 \210\307\310\311\n\"\210\312\304!\210\313\314!\210\315\316\317\"\207" [mode-name major-mode sgml-tag-face-alist sgml-display-text imenu-generic-expression sgml-mode-map kill-all-local-variables "SGML" sgml-mode sgml-mode-common make-local-variable "<!\\(element\\|entity\\)[ 	\n]+%?[ 	\n]*\\([A-Za-z][-A-Za-z.0-9]*\\)" use-local-map run-hooks text-mode-hook sgml-mode-hook] 3 (#$ . 11973) nil])
(defalias 'sgml-comment-indent #[nil "\301\302!\203 \207\303\207" [comment-column looking-at "--" 0] 2])
#@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 #[(arg) "\306\307\"\210\310V\205\211 `\311\310\212\214\f\203 e`\fZ]}\210\312e\313#\203/ \310\225S=\204k Sb\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\210 \nb\210\316 \203~ \317\320!\202\210 \321\322\323 \210`\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" beginning-of-line tagend] 5 (#$ . 13199) "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) "\304c\210\204 \305\306!\307\310!\210c\210\311 \210\307\310!\210\312W\203. \304	H\206* \313\314\"\315\261\207\nH\203< \304\nH\315\261\207\316\317\"\211\205L \313\320\"c\210\321)\206R c\207" [char sgml-char-names sgml-char-names-table c 38 read-quoted-char "Enter char or octal number" delete-backward-char 1 undo-boundary 256 format "#%d" 59 encode-char ucs "&#%d;" t] 5 (#$ . 13955) "*"])
#@66 Insert a symbolic character name according to `sgml-char-names'.
(defalias 'sgml-name-self #[nil "\301!\207" [last-command-char sgml-name-char] 2 (#$ . 14645) "*"])
#@66 Insert a symbolic character name according to `sgml-char-names'.
(defalias 'sgml-maybe-name-self #[nil "\203 	\211\303W\203 \304\n!\n\204 	\305\n!)\207\306\307!\207" [sgml-name-8bit-mode last-command-char mc 256 unibyte-char-to-multibyte sgml-name-char self-insert-command 1] 3 (#$ . 14817) "*"])
#@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 (#$ . 15128) nil])
#@804 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 RET upcase RET, or put this in your `.emacs':
  (setq sgml-transformation '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 skeleton-transformation (completing-read "Tag: " sgml-tag-alist)) 60 str | (("") -1 '(undo-boundary) (identity "&lt;")) | `(("") '(setq v2 (sgml-attributes ,str t)) 62 (if (string= "![" ,str) (prog1 '(("") " [ " _ " ]]") (backward-char)) (if (or (eq v2 t) (string-match "^[/!?]" ,str)) nil (if (symbolp v2) '(("") v2 _ v2 "</" (identity ',str) 62) (if (eq (car v2) t) (cons '("") (cdr v2)) (append '(("") (car v2)) (cdr v2) '(resume: (car v2) _ "</" (identity ',str) 62))))))))] 4 (#$ . 15417) "*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@;\203Y h\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-backward-char 1 completion-ignore-case quiet skeleton-transformation] 6 (#$ . 16866) (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!)\2119\204 \310H\311=\203' \312\313\n!!\2026 \314!\210\315`	V\2066 \312\316!*\207" [tag point arg sgml-tag-alist last-command-char nil sgml-beginning-of-tag t 0 47 self-insert-command prefix-numeric-value sgml-attributes 32 1] 3 (#$ . 17816) "*P"])
#@75 Display description of tag TAG.  If TAG is omitted, use the tag at point.
(defalias 'sgml-tag-help #[(&optional tag) "\204 \212g\302=\203 \303u\210\304 );\204 \305\306!\210\227\307\310\311\227	\"A\206> \312H\313=\203= \311\314\303O\227	\"A\206> \315\"\207" [tag sgml-tag-help 60 nil sgml-beginning-of-tag error "No tag selected" message "%s" assoc 0 47 1 "No description available"] 6 (#$ . 18269) nil])
#@44 Name self unless in position to end a tag.
(defalias 'sgml-maybe-end-tag #[nil "\300\301\302\217\206 \300\303\304\217\207" [nil (byte-code "\212\300\301!)\207" [up-list -1] 2) ((error (sgml-name-self) t)) (byte-code "\212\300\301!\210)\302 \207" [up-list 1 sgml-name-self] 2) ((error (self-insert-command 1)))] 3 (#$ . 18690) nil])
#@111 Skip to beginning of tag or matching opening tag if present.
With prefix argument ARG, repeat this ARG times.
(defalias 'sgml-skip-tag-backward #[(arg) "\303Y\205> \304\305\306\307#\210\310\311!\2037 \307\312\313\314\303!!P\315	\306\307#\2036 `Tf\316=\2036 \303u\210\317\303!\210\202 *S\211\202 \207" [arg re case-fold-search 1 search-backward "<" nil t looking-at "</\\([^ \n	>]+\\)" "</?" regexp-quote match-string re-search-backward 47 sgml-skip-tag-backward] 6 (#$ . 19030) "p"])
#@139 Skip to end of tag or matching closing tag if present.
With prefix argument ARG, repeat this ARG times.
Return t iff after a closing tag.
(defalias 'sgml-skip-tag-forward #[(arg &optional return) "\306	\307Y\203s \310\311w\210g\312=\203 \313\314!\210\315\316!\203h \306\317\320\321\307!!P\311\211\322\307!\210`\323\f\311\306#\203T \324\224Tf\325=\211\204T \313\314!\204T \326\307!\203T \311\2020 \n\203_ \313\307!\210\202d b\210\311,\202l \322\307!\210	S\211\202 \207" [return arg close point re case-fold-search t 1 "^<>" nil 62 up-list -1 looking-at "<\\([^/ \n	>]+\\)" "</?" regexp-quote match-string forward-list re-search-forward 0 47 sgml-skip-tag-forward] 6 (#$ . 19528) "p"])
#@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) "\304Y\205\223 \212\305\305\306\307!\203\" \310\225f\311=\203W `\310\225b\210\202W \212\312 \211;\2054 	\310H\311=\2054 `\211)\204W `\313\304!\210g\314=\203R \212\315\304!\210`X)\203V \316\317!\210)	\203k \313\304!\210`	b\210\320\304!\210\202\204 `\321\304!\210\322 \210\305u\210\312 \310H\311=\203\204 \320\304!\210\nb\210\320\304!\210+S\211\202 \207" [arg close open point 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 backward-list] 3 (#$ . 20233) "p"])
(byte-code "\300\301N\204 \302\300\303\304\305\300!\"\"\210\300\207" [sgml-tag invisible setplist append (invisible t intangible 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!\203! \312!!\313Y\202$ \"?\211\"\203` \314\315\310\307#\203\201 \316\317\320!\227!\313\224b\210\321N\203S \322`!\204S \323\324`\320\224\"\325#\210\326`\327 \210`\325\330$\210\202* `#\331#!\211#dW\203z \332\322#!@!\210\202c )\333ed\334#\210*\335\336!\210\337\340!.\207" [symbol inhibit-point-motion-hooks buffer-file-name inhibit-modification-hooks inhibit-read-only modified buffer-modified-p t nil ((restore-buffer-modified-p modified)) prefix-numeric-value 0 re-search-forward "<\\([!/?A-Za-z][-A-Za-z0-9]*\\)" intern-soft match-string 1 before-string overlays-at overlay-put make-overlay category put-text-property forward-list sgml-tag next-overlay-change delete-overlay remove-text-properties (category sgml-tag intangible t) run-hooks sgml-tags-invisible-hook message "" arg sgml-tags-invisible pos] 6 (#$ . 21182) "P"])
(defalias 'sgml-point-entered #[(x y) "\303\212\304\305\306`	\nV\203 g\307=\203 	\nW\203$ h\310=\203$ \311 \202& \312 \"\"*\207" [inhibit-point-motion-hooks x y t message "Invisible tag: %s" buffer-substring-no-properties 60 62 backward-list forward-list] 6])
(autoload 'compile-internal "compile")
#@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\306\"\207" [command sgml-saved-validate-command compilation-ask-about-save save-some-buffers nil compile-internal "No more errors"] 3 (#$ . 22456) (list (read-string "Validate command: " (or sgml-saved-validate-command (concat sgml-validate-command " " (let ((name (buffer-file-name))) (and name (file-name-nondirectory name)))))))])
#@80 Skip to beginning of tag and return its name.
If this can't be done, return t.
(defalias 'sgml-beginning-of-tag #[(&optional top-level) "\203 \301\302\303\217\202 `\304\305\301\306#\203 \212\307 \210`)\202 \310Y\2060 \311\312!\203/ \313`T\310\225\"\207\306\207" [top-level nil (up-list -1) ((error t)) search-backward "<" t forward-list 0 looking-at "<[!?/]?[[A-Za-z][A-Za-z0-9]*" buffer-substring-no-properties] 5 (#$ . 23135)])
#@113 Interactively insert value taken from attributerule ALIST.
See `sgml-tag-alist' for info about attributerules..
(defalias 'sgml-value #[(alist) "A\211@;\203 \301@\302\261\207@\303=\2032 A\205@ \301c\210\304\305!\306\231\203. \302\261\207\307\310!\207\301c\210\203> \304\311!c\210\302c\207" [alist "=\"" 34 t skeleton-read (completing-read "Value: " (cdr alist)) "" delete-backward-char 2 (completing-read "Value: " alist)] 4 (#$ . 23577)])
#@87 Hook run by command `html-mode'.
`text-mode-hook' and `sgml-mode-hook' are run first.
(custom-declare-variable 'html-mode-hook 'nil '(#$ . 24035) :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 (#$ . 24245))
#@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\305B#\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) (#$ . 24465))
#@47 Value of `sgml-face-tag-alist' for HTML mode.
(defvar html-face-tag-alist '((bold . "b") (italic . "i") (underline . "u") (modeline . "rev")) (#$ . 26747))
#@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)) (#$ . 26909))
#@45 Value of `sgml-display-text' for HTML mode.
(defvar html-display-text '((img . "[/]") (hr . "----------") (li . "o ")) (#$ . 27389))
#@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\320BBBA\321B\322\307\n\323B\324	B\325	B\326BBB\"BC\327@ABB\330\322BB\331BB\332\333\334\335\336\337\340BBBBBBB\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\322ABB\367BB\370\307B\371\"B\372\322\nBB\373\374@\334	B\375BBBB\376\377\201E \322	BB\201F BBB\201G CB\201H @\201I 	B\201J 	BF\201K CB\201L \307B\201M \"B\307D\201N \".\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 n))) t "valign" "colspan" "rowspan" (("nowrap" t)) "a" "base" "dir" "font" nil "size" ("-1") ("+1") ("-2") ("+2") "form" (n _ n "<input type=\"submit\" value=\"\">") "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 n)) (("multiple" t)) "table" (nil n ((completing-read "Cell kind: " '(("td") ("th")) nil t "t") "<tr><" str 62 _ n)) name link list cell sgml-tag-alist "border" (("width" "10") ("cellpadding")) "td" "textarea" "rows" "cols" "th" "ul" (("type" ("disc") ("circle") ("square"))) (("abbrev") ("acronym") ("address") ("array" (nil n ("Item: " "<item>" str n)) "align") ("au") ("b") ("big") ("blink") ("blockquote" n) ("body" n ("background" ".gif") ("bgcolor" "#") ("text" "#") ("link" "#") ("alink" "#") ("vlink" "#")) ("box" (nil _ "<over>" _)) ("br" t ("clear" ("left") ("right"))) ("caption" ("valign" ("top") ("bottom"))) ("center" n) ("cite") ("code" n) ("dd" t) ("del") ("dfn") ("div") ("dl" (nil n ("Term: " "<dt>" str "<dd>" _ n))) ("dt" (t _ "<dd>")) ("em") ("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" t) ("math" n) ("nobr") ("option" t ("value") ("label") ("selected" t)) ("over" t) ("person") ("pre" n) ("q") ("rev") ("s") ("samp") ("small") ("span") ("strong") ("sub") ("sup") ("title") ("tr" t) ("tt") ("u") ("var") ("wbr" t))] 27) (#$ . -27528))
#@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" . "?") ("acronym" . "?") ("address" . "Formatted mail address") ("array" . "Math array") ("au" . "?") ("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" . "?") ("dfn" . "?") ("dir" . "Directory list (obsolete)") ("dl" . "Definition list") ("dt" . "Term to be definined") ("em" . "Emphasised") ("embed" . "Embedded data in foreign format") ("fig" . "Figure") ("figa" . "Figure anchor") ("figd" . "Figure description") ("figt" . "Figure text") ("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" . "?") ("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" . "?") ("pre" . "Preformatted fixed width text") ("q" . "?") ("rev" . "Reverse video") ("s" . "?") ("samp" . "Sample text") ("select" . "Selection list") ("small" . "Font size") ("sp" . "Nobreak space") ("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>"))) (#$ . -30590))
#@1742 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-g  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}
(defalias 'html-mode #[nil "\306 \210\307\310\311\n\"\210\312\f!\210\313\314!\210\313\315!\210\313\316!\210\313\317!\210\313\320!\210\313\321!\210\313\322!\210\2034 \323\2025 \324\f\325\326\327\330 \331\332\333\334#\207" [mode-name major-mode html-tag-face-alist html-display-text html-mode-map sentence-end-double-space kill-all-local-variables "HTML" html-mode sgml-mode-common use-local-map make-local-variable sgml-tag-alist sgml-face-tag-alist sgml-tag-help outline-regexp outline-heading-end-regexp outline-level sentence-end "[.?!][]\"')}]*\\(<[^>]*>\\)*\\($\\| $\\|	\\|  \\)[ 	\n]*" "[.?!][]\"')}]*\\(<[^>]*>\\)*\\($\\| \\|	\\)[ 	\n]*" "^.*<[Hh][1-6]\\>" "</[Hh][1-6]>" #[nil "\300\225Sf\207" [0] 1] html-imenu-index run-hooks text-mode-hook sgml-mode-hook html-mode-hook html-tag-alist html-face-tag-alist html-tag-help imenu-create-index-function] 4 (#$ . 33184) 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<>]*\\)" (#$ . -35835))
#@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\212\314 \210`)BB\202 )\237)\207" [toc-index html-imenu-regexp nil re-search-forward t make-string string-to-number match-string 1 2 32 3 beginning-of-line] 4 (#$ . 36186)])
#@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) "\203\f \302!\303W\202 \304\301!\205 \305	>\211\203\" \306\305	\"\202) \307\301\305\310\311$\210\312\313\2033 \314\2024 \315\"\207" [arg after-save-hook prefix-numeric-value 0 boundp browse-url-of-buffer delq add-hook nil t message "Autoviewing turned %s." "off" "on"] 5 (#$ . 36547) "P"])
#@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: " '(setq input "http:") "<a href=\"" str "\">" _ "</a>")] 4 (#$ . 37096) "*P\nP"])
#@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 "\">" _ "</a>")] 4 (#$ . 37829) "*P\nP"])
#@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 (#$ . 38541) "*P\nP"])
#@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 (#$ . 39223) "*P\nP"])
#@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 (#$ . 39905) "*P\nP"])
#@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 (#$ . 40587) "*P\nP"])
#@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 (#$ . 41269) "*P\nP"])
#@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 (#$ . 41951) "*P\nP"])
#@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 "<hr>" n)] 4 (#$ . 42633) "*P\nP"])
#@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 (nil "<img src=\"" _ "\">")] 4 (#$ . 43310) "*P\nP"])
#@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 "<br>" n)] 4 (#$ . 43980) "*P\nP"])
#@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>" _ n "</ol>")] 4 (#$ . 44641) "*P\nP"])
#@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>" _ n "</ul>")] 4 (#$ . 45332) "*P\nP"])
#@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>")] 4 (#$ . 46027) "*P\nP"])
#@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) n "<p>")] 4 (#$ . 46709) "*P\nP"])
#@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 (if (y-or-n-p "Set \"checked\" attribute? ") (funcall skeleton-transformation " checked")) ">" (skeleton-read "Text: " (capitalize str)) (or v2 (setq v2 (if (y-or-n-p "Newline after text? ") (funcall skeleton-transformation "<br>") ""))) n))] 4 (#$ . 47392) "*P\nP"])
#@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 (if (and (not v1) (setq v1 (y-or-n-p "Set \"checked\" attribute? "))) (funcall skeleton-transformation " checked") ">") (skeleton-read "Text: " (capitalize str)) (or (cdr v2) (setcdr v2 (if (y-or-n-p "Newline after text? ") (funcall skeleton-transformation "<br>") ""))) n))] 4 (#$ . 48455) "*P\nP"])
(provide 'sgml-mode)
