1 ;; This file contains an example of the functions that are defined by
\r
2 ;; `mumamo-fetch-major-mode-setup'. The file was written using utf-8.
\r
4 ;; The functions are given names like mumamo-eval-in-MODE. The code
\r
5 ;; that was evaled to define the function is saved in the property
\r
6 ;; `mumamo-defun' on the function symbol. This code was used to insert
\r
7 ;; the function code below:
\r
8 (insert (pp-to-string (get 'mumamo-eval-in-html-mode 'mumamo-defun)))
\r
10 ;; I have inserted comments by hand below:
\r
11 (defun mumamo-eval-in-html-mode (body)
\r
12 ;; The parameter BODY is evaled at the end of the let form
\r
13 ;; below. The let bound variables are from two sources:
\r
15 ;; 1) Buffer local variables (minus some that do not fit/disturbs,
\r
16 ;; see `mumamo-get-relevant-buffer-local-vars'.
\r
18 ;; 2) From the list in `mumamo-fetch-major-mode-setup'. This list
\r
19 ;; contains variables that are often set buffer locally for
\r
20 ;; fontification indentation etc. Unfortunately not all of these
\r
21 ;; are automatic buffer locals.
\r
23 ;; These variables are from the list in
\r
24 ;; `mumamo-fetch-major-mode-setup':
\r
25 ((sgml-xml-mode nil)
\r
26 (indent-line-function 'sgml-indent-line)
\r
27 (indent-region-function nil)
\r
28 (normal-auto-fill-function 'do-auto-fill)
\r
29 (comment-start "<!-- ")
\r
30 (comment-end " -->")
\r
31 (comment-start-skip "<!--[ ]*")
\r
32 (comment-end-skip "[ ]*--[ \n]*>")
\r
33 (comment-multi-line nil)
\r
34 (comment-line-break-function 'sgml-comment-indent-new-line)
\r
35 (paragraph-start "[ ]*$\\|[ ]*</?\\([_:[:alpha:]][-_.:[:alnum:]]*\\(?:[^\"'/><]\\|\"[^\"]*\"\\|'[^']*'\\)*\\)?>")
\r
36 (paragraph-separate "[ ]*$\\|[ ]*</?\\([_:[:alpha:]][-_.:[:alnum:]]*\\(?:[^\"'/><]\\|\"[^\"]*\"\\|'[^']*'\\)*\\)?>$")
\r
37 (paragraph-ignore-fill-prefix nil)
\r
38 (adaptive-fill-mode t)
\r
39 (adaptive-fill-regexp "[ ]*")
\r
40 (font-lock-multiline nil)
\r
41 (font-lock-extend-after-change-region-function nil)
\r
42 (font-lock-extend-region-functions
\r
43 '(font-lock-extend-region-wholelines font-lock-extend-region-multiline))
\r
44 (font-lock-comment-start-skip nil)
\r
45 (font-lock-comment-end-skip nil)
\r
46 (font-lock-set-defaults)
\r
48 '((sgml-font-lock-keywords sgml-font-lock-keywords-1 sgml-font-lock-keywords-2)
\r
50 (font-lock-syntactic-keywords . sgml-font-lock-syntactic-keywords)))
\r
51 (font-lock-beginning-of-syntax-function nil)
\r
52 (font-lock-syntactic-face-function
\r
54 "\303
\b8\203
\b\0 \207\n\207"
\r
55 [state font-lock-string-face font-lock-comment-face 3]
\r
57 (font-lock-mark-block-function nil)
\r
58 (font-lock-extra-managed-props nil)
\r
59 (font-lock-fontify-buffer-function 'jit-lock-refontify)
\r
60 (font-lock-unfontify-buffer-function 'font-lock-default-unfontify-buffer)
\r
61 (font-lock-fontify-region-function 'font-lock-default-fontify-region)
\r
62 (font-lock-unfontify-region-function 'font-lock-default-unfontify-region)
\r
63 (jit-lock-after-change-extend-region-functions
\r
64 '(font-lock-extend-jit-lock-region-after-change t))
\r
65 (syntax-begin-function nil)
\r
66 (fill-paragraph-function nil)
\r
67 (comment-use-global-state nil)
\r
68 (multibyte-syntax-as-symbol 'multibyte-syntax-as-symbol)
\r
69 (parse-sexp-ignore-comments 'parse-sexp-ignore-comments)
\r
70 (parse-sexp-lookup-properties 'parse-sexp-lookup-properties)
\r
72 ;; These variables are fetched with
\r
73 ;; `mumamo-get-relevant-buffer-local-vars':
\r
74 (text-mode-variant t)
\r
75 (skeleton-transformation-function 'identity)
\r
76 (skeleton-further-elements
\r
77 '((completion-ignore-case t)))
\r
79 '#[nil "l\206
\024\0\b\301=\206
\016\0\b\242\301=?\206
\024\0\302 \207"
\r
80 [v2 n newline-and-indent]
\r
84 '("body" "colgroup" "dd" "dt" "head" "html" "li" "option" "p" "tbody" "td" "tfoot" "th" "thead" "tr"))
\r
86 '(("!" . "Empty declaration for comment")
\r
87 ("![" . "Embed declarations with parser directive")
\r
88 ("!attlist" . "Tag attributes declaration")
\r
89 ("!doctype" . "Document type (DTD) declaration")
\r
90 ("!element" . "Tag declaration")
\r
91 ("!entity" . "Entity (macro) declaration")
\r
92 ("a" . "Anchor of point or link elsewhere")
\r
95 ("address" . "Formatted mail address")
\r
96 ("array" . "Math array")
\r
99 ("base" . "Base address for URLs")
\r
100 ("big" . "Font size")
\r
101 ("blink" . "Blinking text")
\r
102 ("blockquote" . "Indented quotation")
\r
103 ("body" . "Document body")
\r
104 ("box" . "Math fraction")
\r
105 ("br" . "Line break")
\r
106 ("caption" . "Table caption")
\r
107 ("center" . "Centered text")
\r
108 ("changed" . "Change bars")
\r
109 ("cite" . "Citation of a document")
\r
110 ("code" . "Formatted source code")
\r
111 ("dd" . "Definition of term")
\r
114 ("dir" . "Directory list (obsolete)")
\r
115 ("dl" . "Definition list")
\r
116 ("dt" . "Term to be definined")
\r
117 ("em" . "Emphasized")
\r
118 ("embed" . "Embedded data in foreign format")
\r
120 ("figa" . "Figure anchor")
\r
121 ("figd" . "Figure description")
\r
122 ("figt" . "Figure text")
\r
123 ("font" . "Font size")
\r
124 ("form" . "Form with input fields")
\r
125 ("group" . "Document grouping")
\r
126 ("h1" . "Most important section headline")
\r
127 ("h2" . "Important section headline")
\r
128 ("h3" . "Section headline")
\r
129 ("h4" . "Minor section headline")
\r
130 ("h5" . "Unimportant section headline")
\r
131 ("h6" . "Least important section headline")
\r
132 ("head" . "Document header")
\r
133 ("hr" . "Horizontal rule")
\r
134 ("html" . "HTML Document")
\r
135 ("i" . "Italic face")
\r
136 ("img" . "Graphic image")
\r
137 ("input" . "Form input field")
\r
139 ("isindex" . "Input field for index search")
\r
140 ("kbd" . "Keybard example face")
\r
141 ("lang" . "Natural language")
\r
142 ("li" . "List item")
\r
143 ("link" . "Link relationship")
\r
144 ("math" . "Math formula")
\r
145 ("menu" . "Menu list (obsolete)")
\r
146 ("mh" . "Form mail header")
\r
147 ("nextid" . "Allocate new id")
\r
148 ("nobr" . "Text without line break")
\r
149 ("ol" . "Ordered list")
\r
150 ("option" . "Selection list item")
\r
151 ("over" . "Math fraction rule")
\r
152 ("p" . "Paragraph start")
\r
153 ("panel" . "Floating panel")
\r
155 ("pre" . "Preformatted fixed width text")
\r
157 ("rev" . "Reverse video")
\r
159 ("samp" . "Sample text")
\r
160 ("select" . "Selection list")
\r
161 ("small" . "Font size")
\r
162 ("sp" . "Nobreak space")
\r
163 ("strong" . "Standout text")
\r
164 ("sub" . "Subscript")
\r
165 ("sup" . "Superscript")
\r
166 ("table" . "Table with rows and columns")
\r
167 ("tb" . "Table vertical break")
\r
168 ("td" . "Table data cell")
\r
169 ("textarea" . "Form multiline edit area")
\r
170 ("th" . "Table header cell")
\r
171 ("title" . "Document title")
\r
172 ("tr" . "Table row separator")
\r
173 ("tt" . "Typewriter face")
\r
174 ("u" . "Underlined text")
\r
175 ("ul" . "Unordered list")
\r
176 ("var" . "Math variable face")
\r
177 ("wbr" . "Enable <br> within <nobr>")))
\r
178 (sgml-tag-face-alist
\r
181 ("blink" . highlight)
\r
184 ("h1" bold underline)
\r
185 ("h2" bold-italic underline)
\r
186 ("h3" italic underline)
\r
193 ("small" . default)
\r
195 ("title" bold underline)
\r
243 ("List item: " "<li>" str
\r
244 (if sgml-xml-mode "</li>")
\r
259 (n _ n "<input type=\"submit\" value=\"\""
\r
260 (if sgml-xml-mode " />" ">"))
\r
401 ("List item: " "<li>" str
\r
402 (if sgml-xml-mode "</li>")
\r
406 ("List item: " "<li>" str
\r
407 (if sgml-xml-mode "</li>")
\r
422 ("Text: " "<option>" str
\r
423 (if sgml-xml-mode "</option>")
\r
439 ((completing-read "Cell kind: "
\r
445 (concat "<" str "></tr>"))
\r
545 ("List item: " "<li>" str
\r
546 (if sgml-xml-mode "</li>")
\r
564 ("Item: " "<item>" str
\r
565 (if sgml-xml-mode "</item>")
\r
574 ("background" ".gif")
\r
582 (if sgml-xml-mode "</over>")))
\r
600 ("Term: " "<dt>" str
\r
601 (if sgml-xml-mode "</dt>")
\r
603 (if sgml-xml-mode "</dd>")
\r
607 (if sgml-xml-mode "</dt>")
\r
609 (if sgml-xml-mode "</dd>")
\r
614 (n "<head>\n" "<title>"
\r
616 (read-input "Title: "))
\r
617 "</title>\n" "</head>\n" "<body>\n<h1>" str "</h1>\n" _ "\n<address>\n<a href=\"mailto:" user-mail-address "\">"
\r
619 "</a>\n</address>\n" "</body>"))
\r
662 (sgml-saved-validate-command nil)
\r
663 (sgml-face-tag-alist
\r
667 (modeline . "rev")))
\r
669 '("area" "base" "basefont" "br" "col" "frame" "hr" "img" "input" "isindex" "link" "meta" "param" "wbr"))
\r
672 (hr . "----------")
\r
674 (sentence-end-base "[.?!][]\"'””)}]*\\(<[^>]*>\\)*")
\r
675 (require-final-newline t)
\r
676 (paragraph-start "[ ]*$\\|[ ]*</?\\([_:[:alpha:]][-_.:[:alnum:]]*\\(?:[^\"'/><]\\|\"[^\"]*\"\\|'[^']*'\\)*\\)?>")
\r
677 (paragraph-separate "[ ]*$\\|[ ]*</?\\([_:[:alpha:]][-_.:[:alnum:]]*\\(?:[^\"'/><]\\|\"[^\"]*\"\\|'[^']*'\\)*\\)?>$")
\r
678 (outline-regexp "^.*<[Hh][1-6]\\>")
\r
680 '#[nil "\300\225Sf\207"
\r
683 (outline-heading-end-regexp "</[Hh][1-6]>")
\r
684 (nxhtml-minor-mode-major-mode 'html-mode)
\r
685 (nxhtml-minor-mode t)
\r
686 (major-mode 'html-mode)
\r
687 (jit-lock-after-change-extend-region-functions
\r
688 '(font-lock-extend-jit-lock-region-after-change t))
\r
689 (indent-line-function 'sgml-indent-line)
\r
690 (imenu-create-index-function 'html-imenu-index)
\r
691 (font-lock-syntactic-keywords 'sgml-font-lock-syntactic-keywords)
\r
692 (font-lock-multiline nil)
\r
693 (fill-nobreak-predicate
\r
694 '(sgml-fill-nobreak t))
\r
695 (facemenu-end-add-face nil)
\r
696 (facemenu-add-face-function 'sgml-mode-facemenu-add-face-function)
\r
697 (comment-start-skip "<!--[ ]*")
\r
698 (comment-start "<!-- ")
\r
699 (comment-line-break-function 'sgml-comment-indent-new-line)
\r
700 (comment-indent-function 'sgml-comment-indent)
\r
701 (comment-end-skip "[ ]*--[ \n]*>")
\r
702 (comment-end " -->")
\r
703 (char-property-alias-alist
\r
704 '((face font-lock-face)))
\r
705 (auto-composition-mode-major-mode 'html-mode)
\r
706 (auto-composition-mode t)
\r
707 (auto-composition-function 'auto-compose-chars)
\r
708 (adaptive-fill-regexp "[ ]*"))
\r
709 ;; The syntax table is handled differently since it is not just a
\r
710 ;; variable. Instead of copying it the name of the syntax table is
\r
711 ;; used together with `with-syntax-table' to change it
\r
714 (if html-mode-syntax-table html-mode-syntax-table
\r
715 (standard-syntax-table))
\r
716 (let ((t1 (get-internal-run-time))
\r
718 ;; And here I am setting font lock variables again. Why did I
\r
719 ;; do that? I have to test, it is probably a left over from
\r
720 ;; earlier versions.
\r
721 (setq font-lock-set-defaults nil)
\r
722 (font-lock-set-defaults)
\r
723 ;; Just some timing test stuff:
\r
724 (setq t2 (get-internal-run-time))
\r
725 (mumamo-msgfntfy "font-lock-set-defaults runtime=%s, %s" t1 t2)
\r
727 ;; And finally - here is what I wanted to do:
\r
730 ;; Local Variables:
\r