;ELC ;;; compiled by jwz@thalidomide on Fri May 6 16:37:41 1994 ;;; from file /th/jwz/emacs19/lisp/packages/font-lock.el ;;; emacs version 19.10 Lucid (beta21). ;;; bytecomp version 2.24; 26-Apr-94. ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "This file was compiled for Emacs 19.")) (byte-code "!!!!!!!!\"!\"!\"\"!\"!\"!\"!" [require text-props make-face font-lock-comment-face font-lock-doc-string-face font-lock-string-face font-lock-function-name-face font-lock-keyword-face font-lock-type-face face-differs-from-default-p copy-face italic set-face-underline-p t bold-italic bold make-variable-buffer-local font-lock-keywords] 3) (defvar font-lock-keywords nil "\ *The keywords to highlight. If this is a list, then elements may be of the forms: \"string\" ; a regexp to highlight in the ; `font-lock-keyword-face'. (\"string\" . integer) ; match N of the regexp will be highlighted (\"string\" . face-name) ; use the named face (\"string\" integer face-name) ; both of the above (\"string\" integer face-name t) ; this allows highlighting to overlap ; with already-highlighted regions. These regular expressions should not match text which spans lines. Multi-line patterns will be correctly fontified when \\[font-lock-fontify-buffer] is used, but will not be matched by the auto-fontification that font-lock-mode does, since it looks at only one line at a time. Be careful composing regexps for this list; the wrong pattern can dramatically slow things down!") (defvar font-lock-keywords-case-fold-search nil "\ *Whether the strings in `font-lock-keywords' should be case-folded. This variable is automatically buffer-local, as the correct value depends on the language in use.") (make-variable-buffer-local 'font-lock-keywords-case-fold-search) (defvar font-lock-verbose t "\ *Whether font-lock-fontify-buffer should print status messages.") (defvar font-lock-mode-hook nil "\ Function or functions to run on entry to font-lock-mode.") (defvar font-lock-use-syntax-tables t "\ Whether font-lock should bother doing syntactic fontification. This should be true for all ``language'' modes, but other modes, like dired, do not have anything useful in the syntax tables (no comment or string delimiters, etc) and so there is no need to use them. You should not set this variable; its value is automatically computed by examining the syntax table.") (byte-code "MMN>\"#MN>\"#MN>\"#MM!\"!!#" [font-lock-fontify-region #[(start end) "?? b\ndVd \n$" [font-lock-use-syntax-tables start end syntactically-sectionize #[(extent context depth) "= Uƪ\"== \"" [context string set-extent-face extent depth 1 font-lock-doc-string-face font-lock-string-face comment block-comment font-lock-comment-face] 4] (text-prop face)] 5] font-lock-set-face #[(start end face) " \n $" [put-nonduplicable-text-property start end face] 5] byte-optimizer (nil byte-compile-inline-expand) error "%s already has a byte-optimizer, can't make it inline" put byte-compile-inline-expand font-lock-unfontify-region #[(start end) " \n$" [put-nonduplicable-text-property start end face nil] 5] font-lock-any-extents-p #[(start end) "p\n %" [map-extents extent-property start end text-prop] 6] font-lock-after-change-function #[(beg end old-len) "??Ί~ Î  bVohU \nby`\n by`\n\n  \n$* \n\" \n\"-" [font-lock-mode match-data _match_data_ ((store-match-data _match_data_)) zmacs-region-stays beg old-len 0 10 buffer-syntactic-context-flush-cache end 1 start put-nonduplicable-text-property face nil font-lock-fontify-region font-lock-hack-keywords] 6] font-lock-hack-keywords #[(start end &optional loudly) "b \nĉ \n     @ b : @\n A: A@  8 8 A9  A A  \n \n#   \"U\\ Sp%*F$+/  T \"# A %.\n" [start font-lock-keywords-case-fold-search font-lock-keywords 0 nil allow-overlap-p e s face match str first count rest case-fold-search 2 3 font-lock-keyword-face re-search-forward end t error "expression did not match subexpression %d" map-extents extent-property text-prop put-nonduplicable-text-property loudly message "Fontifying %s... (regexps...%s)" buffer-name make-string 46] 11] boundp font-lock-mode nil minor-mode-alist purecopy append ((font-lock-mode " Font-Lock")) font-lock-fontified permanent-local t] 4) (fset 'font-lock-mode #[(&optional arg) " ?!V H= !\"\"! L ! ed$* )" [arg font-lock-mode prefix-numeric-value 0 on-p noninteractive buffer-name 32 nil make-local-variable after-change-functions add-hook font-lock-after-change-function remove-hook font-lock-examine-syntax-table font-lock-set-defaults run-hooks font-lock-mode-hook font-lock-fontified font-lock-fontify-buffer end start put-nonduplicable-text-property face force-mode-line-update] 5 "\ Toggle Font Lock Mode. With arg, turn font-lock mode on if and only if arg is positive. In the font-lock minor mode, text is fontified as you type it: - comments are displayed in font-lock-comment-face; - strings are displayed in font-lock-string-face; - documentation strings are displayed in font-lock-doc-string-face; - function and variable names in their defining forms are displayed in font-lock-function-name-face; - and certain other expressions are displayed in other faces according to the value of the variable `font-lock-keywords'. When font-lock mode is turned on/off, the buffer is fontified/defontified. To fontify a buffer without having newly typed text become fontified, you can use \\[font-lock-fontify-buffer]. See the variable `font-lock-keywords' for customization." "P"]) (fset 'turn-on-font-lock #[nil "!" [font-lock-mode 1] 2 "\ Unconditionally turn on Font Lock mode."]) (fset 'font-lock-fontify-buffer #[nil " t \" !ed \n\n $* \" Џ !)!L ֪#+" [font-lock-mode font-lock-verbose nil aborted was-on message "Fontifying %s..." buffer-name 1 end start put-nonduplicable-text-property face "Fontifying %s... (syntactically...)" buffer-syntactic-context-flush-cache (byte-code "ed\" \"ed #)" [font-lock-fontify-region font-lock-verbose message "Fontifying %s... (regexps...)" buffer-name font-lock-hack-keywords] 4) ((quit (byte-code "" [t aborted] 1))) font-lock-fontified 0 make-local-variable t "Fontifying %s... %s." "aborted" "done"] 5 "\ Fontify the current buffer the way `font-lock-mode' would: - comments are displayed in font-lock-comment-face; - strings are displayed in font-lock-string-face; - documentation strings are displayed in font-lock-doc-string-face; - function and variable names in their defining forms are displayed in font-lock-function-name-face; - and certain other expressions are displayed in other faces according to the value of the variable `font-lock-keywords'. This can take a while for large buffers." nil]) (fset 'font-lock-examine-syntax-table #[nil " GS = Y z> Sl!\nL*" [syntax-table nil got-one i standard-syntax-table 0 (34 60 62 36) t make-local-variable font-lock-use-syntax-tables] 3 "\ Computes the value of font-lock-use-syntax-tables for this buffer."]) (fset 'font-lock-reset-face #[(face) " \" \" \" \" \" ! !" [set-face-font face nil set-face-foreground set-face-underline-p set-face-background set-face-background-pixmap x-resource-face face-differs-from-default-p] 3 "\ Reset FACE its default state (from the X resource database). Returns whether it is indistinguishable from the default face."]) (byte-code "MM" [font-lock-copy-face #[(from to) " ! \"! \"" [font-lock-reset-face to message format "Warning: X resources override default for %s" copy-face from] 4] font-lock-set-foreground #[(color to) " ! \"! \"" [font-lock-reset-face to message format "Warning: X resources override default for %s" set-face-foreground color] 4]] 2) (fset 'font-lock-use-default-fonts #[nil "\"\"\"\"\"\"\"͇" [font-lock-copy-face italic font-lock-comment-face font-lock-string-face font-lock-doc-string-face bold-italic font-lock-function-name-face bold font-lock-keyword-face font-lock-type-face remove-hook font-lock-mode-hook font-lock-use-default-fonts nil] 3 "\ Reset the font-lock faces to a default set of fonts."]) (fset 'font-lock-use-default-colors #[nil "\"\"\"\"\"\"\"·" [font-lock-set-foreground "#6920ac" font-lock-comment-face "green4" font-lock-string-face font-lock-doc-string-face "red3" font-lock-function-name-face "blue3" font-lock-keyword-face font-lock-type-face remove-hook font-lock-mode-hook font-lock-use-default-colors nil] 3 "\ Reset the font-lock faces to a default set of colors."]) (fset 'font-lock-use-default-minimal-decoration #[nil "\n\n\"ȇ" [lisp-font-lock-keywords-1 lisp-font-lock-keywords c-font-lock-keywords-1 c-font-lock-keywords c++-font-lock-keywords remove-hook font-lock-mode-hook font-lock-use-default-minimal-decoration nil] 3 "\ Reset the font-lock patterns to a fast, minimal set of decorations."]) (fset 'font-lock-use-default-maximal-decoration #[nil "\n\n\"ȇ" [lisp-font-lock-keywords-2 lisp-font-lock-keywords c-font-lock-keywords-2 c-font-lock-keywords c++-font-lock-keywords remove-hook font-lock-mode-hook font-lock-use-default-maximal-decoration nil] 3 "\ Reset the font-lock patterns to a larger set of decorations."]) (byte-code "M#########" [font-lock-set-defaults #[nil " ! N! P! \" ɉOP!J N\n*" [symbol-name major-mode #[(n) ";!!" [n intern-soft boundp] 2] try major font-lock-keywords "-font-lock-keywords" string-match "-mode\\'" 0 font-lock-keywords-case-fold-search] 4] put emacs-lisp-mode font-lock-keywords lisp-font-lock-keywords c++-c-mode c-font-lock-keywords plain-tex-mode tex-font-lock-keywords slitex-tex-mode latex-tex-mode LaTex-tex-mode latex-mode LaTeX-mode] 4) (defconst lisp-font-lock-keywords-1 (purecopy '(("^(def[-a-z]+\\s +\\([^ \n)]+\\)" 1 font-lock-function-name-face) ("\\s :\\(\\(\\sw\\|\\s_\\)+\\)\\>" . 1) ("(:\\(\\(\\sw\\|\\s_\\)+\\)\\>" . 1) ("':\\(\\(\\sw\\|\\s_\\)+\\)\\>" . 1))) "\ For consideration as a value of `lisp-font-lock-keywords'. This does fairly subdued highlighting.") (defconst lisp-font-lock-keywords-2 (byte-code "\n\"!" [purecopy append lisp-font-lock-keywords-1 (("(\\(cond\\|if\\|when\\|unless\\|[ec]?\\(type\\)?case\\)[ \n]" . 1) ("(\\(while\\|do\\|let\\*?\\|flet\\|labels\\|prog[nv12*]?\\)[ \n]" . 1) ("(\\(catch\\|\\throw\\|block\\|return\\|return-from\\)[ \n]" . 1) ("(\\(save-restriction\\|save-window-restriction\\)[ \n]" . 1) ("(\\(save-excursion\\|unwind-protect\\|condition-case\\)[ \n]" . 1) ("\\\\\\\\\\[\\([^]\\\n]+\\)]" 1 font-lock-keyword-face t) ("`\\([-a-zA-Z0-9_][-a-zA-Z0-9_][-a-zA-Z0-9_.]+\\)'" 1 font-lock-keyword-face t))] 4) "\ For consideration as a value of `lisp-font-lock-keywords'. This does a lot more highlighting.") (defconst lisp-font-lock-keywords lisp-font-lock-keywords-1 "\ Additional expressions to highlight in lisp modes.") (defconst c-font-lock-keywords-1 nil "\ For consideration as a value of `c-font-lock-keywords'. This does fairly subdued highlighting.") (defconst c-font-lock-keywords-2 nil "\ For consideration as a value of `c-font-lock-keywords'. This does a lot more highlighting.") (byte-code "P Ұ E REگ!QBQBްB#QB\"!*,ɇ" ["auto\\|extern\\|register\\|static\\|volatile" "unsigned\\|short\\|long\\|const" "int\\|long\\|char\\|float\\|double\\|void\\|struct\\|" "union\\|enum\\|typedef" "\\(\\sw\\|\\s_\\|[:~*&]\\)+" ctoken types prefixes storage purecopy ("^#[ ]*[a-z]+" . font-lock-comment-face) ("^#[ ]*\\(define\\|undef\\)[ ]+\\(\\(\\sw\\|\\s_\\)+\\)" 2 font-lock-function-name-face) ("^#[ ]*\\(if\\|ifn?def\\|elif\\)[ ]+\\([^\n]+\\)" 2 font-lock-function-name-face t) ("^#[ ]*include[ ]+<\\([^>\"\n]+\\)>" 1 font-lock-string-face) "^\\(" "[ ]+\\)?" "\\(" "\\([*&]+[ ]*\\)?" "\\)[ ]*(" 8 font-lock-function-name-face "^\\(typedef[ ]+struct\\|struct\\|static[ ]+struct\\)" "[ ]+\\(" "\\)[ ]*\\({\\|$\\)" 2 ("case[ ]+\\(\\(\\sw\\|\\s_\\)+\\):" . 1) ("\\<\\(default\\):" . 1) c-font-lock-keywords-1 append "\\<\\(" "\\)\\>" font-lock-type-face "[ ]+" "[ ]\\(" mapconcat identity ("for" "while" "do" "return" "goto" "case" "break" "switch" "if" "then" "else if" "else" "return" "continue" "default") "\\|" "\\)[ \n(){};,]" 1 "\\(\\(\\sw\\|\\s_\\)+\\):" ("}[ *]*\\(\\(\\sw\\|\\s_\\)+\\)[ ]*[,;]" 1 font-lock-function-name-face) c-font-lock-keywords-2] 18) (defconst c-font-lock-keywords c-font-lock-keywords-1 "\ Additional expressions to highlight in C mode.") (defconst c++-font-lock-keywords c-font-lock-keywords "\ Additional expressions to highlight in C++ mode.") (defconst asm-font-lock-keywords (purecopy '(("^\\(\\sw\\|\\s_\\)+" 0 font-lock-function-name-face) ("^\\(\\sw\\|\\s_\\)+:?\\s +\\(\\sw+\\)" 2 font-lock-keyword-face) ("^\\s +\\(\\(\\sw\\|\\s_\\)+\\)" 1 font-lock-keyword-face))) "\ Additional expressions to highlight in assembler mode.") (defconst perl-font-lock-keywords (byte-code "#QB#F!" [purecopy "[ \n {]*\\(" mapconcat identity ("if" "until" "while" "elsif" "else" "unless" "for" "foreach" "continue" "exit" "die" "last" "goto" "next" "redo" "return" "local" "exec") "\\|" "\\)[ \n ;(]" 1 ("#endif" "#else" "#ifdef" "#ifndef" "#if" "#include" "#define" "#undef") ("^[ \n ]*sub[ ]+\\([^ {]+\\)[ \n ]*\\{" 1 font-lock-function-name-face) ("[ \n {]*\\(eval\\)[ \n (;]" 1 font-lock-function-name-face)] 6) "\ Additional expressions to highlight in Perl mode.") (defconst tex-font-lock-keywords (byte-code "ȯ!" [purecopy ("\\(\\\\\\w+\\)\\W" 1 font-lock-keyword-face t) ("\\(\\\\\\w+\\){\\(\\w+\\)}" 2 font-lock-function-name-face t) ("\\(\\\\\\w+\\){\\(\\w+\\)}{\\(\\w+\\)}" 3 font-lock-function-name-face t) ("\\(\\\\\\w+\\){\\(\\w+\\)}{\\(\\w+\\)}{\\(\\w+\\)}" 4 font-lock-function-name-face t) ("{\\\\em\\([^}]+\\)}" 1 font-lock-comment-face t) ("{\\\\bf\\([^}]+\\)}" 1 font-lock-keyword-face t) ("^[ \n]*\\\\def[\\\\@]\\(\\w+\\)\\W" 1 font-lock-function-name-face t) ("[^\\\\]\\$\\([^$]*\\)\\$" 1 font-lock-string-face t)] 9) "\ Additional expressions to highlight in TeX mode.") (defconst texinfo-font-lock-keywords (byte-code "ʯ\n!" [purecopy "@\\(@\\|[^} \n{]+\\)" ("^\\(@c\\|@comment\\)[ ].*$" 0 font-lock-comment-face t) ("^\\(*.*\\)[ ]*$" 1 font-lock-function-name-face t) ("@\\(emph\\|strong\\|b\\|i\\){\\([^}]+\\)" 2 font-lock-comment-face t) ("@\\(file\\|kbd\\|key\\){\\([^}]+\\)" 2 font-lock-string-face t) ("@\\(samp\\|code\\|var\\){\\([^}]+\\)" 2 font-lock-function-name-face t) ("@\\(xref\\|pxref\\){\\([^}]+\\)" 2 font-lock-keyword-face t) ("@end *\\([a-zA-Z0-9]+\\)[ ]*$" 1 font-lock-function-name-face t) ("@item \\(.*\\)$" 1 font-lock-function-name-face t) ("\\$\\([^$]*\\)\\$" 1 font-lock-string-face t)] 11) "\ Additional expressions to highlight in TeXinfo mode.") (defconst postscript-font-lock-keywords (byte-code " ǰBB PB ٯ# ݰ EF*!" [purecopy "][ \n ()<>{}/%" "[][<>{}]" broken break "//?[^" "]+" "*" font-lock-function-name-face "(\\([^)]\\|\\\\.\\|\\\\\n\\)*)" font-lock-string-face "+" font-lock-keyword-face "[" "]" "\\(" mapconcat identity "[a-zA-Z0-9-._]*def" "[Dd]efine[a-zA-Z0-9-._]*" "begin" "end" "save" "restore" "gsave" "grestore" "\\|" "\\)" "\\([" "]\\|$\\)" 1] 18) "\ Expressions to highlight in Postscript buffers.") (defconst dired-font-lock-keywords (byte-code "P QE QE QEQB)!" [purecopy "\\(Jan\\|Feb\\|Mar\\|Apr\\|May\\|Jun\\|Jul\\|" "Aug\\|Sep\\|Oct\\|Nov\\|Dec\\) +[0-9]+ +[0-9:]+" bn ("^ [/~].*:$" . bold-italic) "^\\(\\([^ ].*\\)" "\\) \\(.*\\)$" 1 bold "^. +d.*" " \\(.*\\)$" 2 "^. +l.*" italic "^. +-..[xsS]......\\|" "^. +-.....[xsS]...\\|" "^. +-........[xsS]"] 8) "\ Expressions to highlight in Dired buffers.") (defconst ada-font-lock-keywords (byte-code " \n\nQE \nQE#QB#QBBB-!" [purecopy "\\(\\(\\sw\\|\\s_\\)+\\)" "\\(procedure\\|function\\|package\\)[ ]+" "\\(task\\|package\\)[ ]+body[ ]+" ("abort" "abs" "accept" "access" "array" "begin" "body" "case" "constant" "declare" "delay" "delta" "digits" "else" "elsif" "entry" "exception" "exit" "function" "generic" "goto" "if" "others" "limited" "loop" "mod" "new" "null" "out" "subtype" "package" "pragma" "private" "procedure" "raise" "range" "record" "rem" "renames" "return" "reverse" "select" "separate" "task" "terminate" "then" "type" "when" "while" "with" "xor") ("and" "at" "do" "end" "for" "in" "is" "not" "of" "or" "use") kwords-2 kwords-1 decl-2 decl-1 ident "^[ ]*" 3 font-lock-function-name-face "\\(" mapconcat identity "\\|" "\\)[ \n ;(]" 1 "[ +=*/---]\\(" "^\\(end\\)[ \n ;(]" "\\.\\(all\\)"] 9) "\ Expressions to highlight in Ada buffers.") (defconst fortran-font-lock-keywords-1 (byte-code "E!" [purecopy ("^[cC*].*$" . font-lock-comment-face) ("^[ ]*subroutine.*$" . font-lock-function-name-face) ("^[ ].*function.*$" . font-lock-function-name-face)] 4) "\ For consideration as a value of `fortran-font-lock-keywords'. This does fairly subdued highlighting of comments and function names.") (defconst fortran-font-lock-keywords-2 (byte-code "ϯ!" [purecopy ("^[ ]*\\(\\(integer\\|logical\\|real\\|complex\\|double[ ]*precision\\|character\\|parameter\\)[^ ]*\\)" 1 font-lock-keyword-face) ("^[ ]*\\(common\\|save\\|external\\|intrinsic\\|data\\)" 1 font-lock-keyword-face) ("^[ ]*[0-9]*[ ]*\\(if\\)[ ]*(" 1 font-lock-keyword-face) ("\\(then\\)[ ]*$" 1 font-lock-keyword-face) ("\\(end[ ]*if\\)[ ]*$" 1 font-lock-keyword-face) ("\\(else[ ]*\\(if\\)?\\)" 1 font-lock-keyword-face) ("^[ ]*[0-9]*[ ]*\\(do\\)[ ]*[0-9]+" 1 font-lock-keyword-face) ("^[ ]*[0-9]+[ ]*\\(continue\\)" 1 font-lock-keyword-face) ("^[ ]*[0-9]*[ ]*\\(call\\)" 1 font-lock-keyword-face) ("^[ ]*[0-9]*[ ]*\\(go[ ]*to\\)" 1 font-lock-keyword-face) ("^[ ]*[0-9]*[ ]*\\(open\\|close\\|read\\|write\\|format\\)[ ]*(" 1 font-lock-keyword-face) ("^[ ]*[0-9]*[ ]*\\(print\\)[ ]*[*'0-9]+" 1 font-lock-keyword-face) ("^[ ]*[0-9]*[ ]*\\(end\\|return\\)[ ]*$" 1 font-lock-keyword-face) ("^[ ]*[0-9]*[ ]*\\(stop\\)[ ]*['0-9]*" 1 font-lock-keyword-face) ("\\.\\(and\\|or\\|not\\|lt\\|le\\|eq\\|ge\\|gt\\|ne\\|true\\|false\\)\\." . font-lock-keyword-face)] 16) "\ For consideration as a value of `fortran-font-lock-keywords'. This highlights variable types, \"keywords,\" etc.") (put 'fortran-mode 'font-lock-keywords-case-fold-search t) (defconst fortran-font-lock-keywords fortran-font-lock-keywords-1 "\ Additional expressions to highlight in Fortran mode.") (provide 'font-lock)