;ELC ;;; compiled by rms@mole.gnu.ai.mit.edu on Fri Aug 6 03:14:11 1993 ;;; from file /home/fsf/rms/e19/lisp/font-lock.el ;;; emacs version 19.17.5. ;;; bytecomp version FSF 2.10 ;;; 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 "! \"%+Ň" [internal-find-face underline copy-face default t nil frame underline-p face internal-set-face-1 7] 6) (defvar font-lock-comment-face (quote italic) "\ Face to use for comments.") (defvar font-lock-doc-string-face (quote italic) "\ Face to use for documentation strings.") (defvar font-lock-string-face (quote underline) "\ Face to use for string constants.") (defvar font-lock-function-name-face (quote bold-italic) "\ Face to use for function names.") (defvar font-lock-keyword-face (quote bold) "\ Face to use for keywords.") (defvar font-lock-type-face (quote italic) "\ Face to use for data types.") (make-variable-buffer-local (quote font-lock-keywords)) (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. While \\[font-lock-fontify-buffer] handles multi-line patterns correctly, updating when you edit the buffer does not, since it considers text 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 "\ *Non-nil means the patterns in `font-lock-keywords' are case-insensitive.") (defvar font-lock-verbose t "\ *Non-nil means `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.") (byte-code "!!!!" [boundp font-lock-cache-position nil font-lock-cache-state make-variable-buffer-local] 2) (defalias 'font-lock-fontify-region #[(start end) "by\nd^É  \n`` =.  J `WC`# 1  ` `É %  8`\n#t`É %8^`$`É % ) 8 8`!P\n#`É %8`$`É % )`\nW` P\n#`#`É % `# 8 8Ibe\n}又)`$#`É % ) 8\n#j#`É %8T`$#`É % ))\n# !." [start 0 end nil buffer-modified-p modified prevstate prev startline state buffer-read-only font-lock-cache-position font-lock-cache-state beginning-of-defun parse-partial-sexp 3 beg re-search-forward "\\s\"" move put-text-property face font-lock-string-face 4 7 comment-end "\\s>\\|" regexp-quote "\\s>" font-lock-comment-face comment-start-skip "\\s\"\\|" t remove-text-properties (face nil) here (byte-code "!x" [forward-comment 1 " " nil] 2) ((error (goto-char end))) (face nil) set-buffer-modified-p] 8 "\ Put proper face on each string and comment between START and END."]) (byte-code "\"\"\"#\"!# 1\"!:#" [defalias font-lock-unfontify-region #[(beg end) "  # !*" [buffer-modified-p nil buffer-read-only modified remove-text-properties beg end (face nil) set-buffer-modified-p] 4] font-lock-after-change-function #[(beg end old-len) " Ž b  Vb` by` T\" \"+" [match-data match-data ((store-match-data match-data)) beg font-lock-cache-position nil end 0 font-lock-fontify-region font-lock-hack-keywords] 3] font-lock-any-properties-p #[(start end) " \" \" W)" [get-text-property start font-lock next-single-property-change next end] 4] put byte-optimizer byte-compile-inline-expand font-lock-hack-keywords #[(start end &optional loudly) "b \n ĉ \n   @ Ab : @  A:c A@\n 8!  8 A9z\n A!  A\n   \n  #\n\n\n\"\"\"W)* $ ( T\"#( !. " [start font-lock-keywords-case-fold-search font-lock-keywords 0 nil buffer-modified-p allow-overlap-p e s face match str first modified buffer-read-only count rest case-fold-search eval 2 3 font-lock-keyword-face re-search-forward end t error "expression did not match subexpression %d" get-text-property font-lock next-single-property-change next put-text-property loudly message "Fontifying %s... (regexps...%s)" buffer-name make-string 46 set-buffer-modified-p] 12] boundp font-lock-mode nil minor-mode-alist append ((font-lock-mode " Font")) font-lock-fontified permanent-local t] 4) (defalias 'font-lock-mode #[(&optional arg) " ?!V ƚ>%\"! -L! L K !X XXed\" )" [arg font-lock-mode prefix-numeric-value 0 on-p buffer-name " *Compiler Input*" nil after-change-function (nil font-lock-after-change-function) error "after-change-function is %s" make-local-variable font-lock-after-change-function font-lock-set-defaults run-hooks font-lock-mode-hook font-lock-fontified font-lock-fontify-buffer font-lock-unfontify-region force-mode-line-update] 3 "\ Toggle Font Lock mode. With arg, turn Font Lock mode on if and only if arg is positive. When Font Lock mode is enabled, text is fontified as you type it: - comments are displayed in `font-lock-comment-face'; (That is a variable whose value should be a face name.) - 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 you turn Font Lock mode 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]." "P"]) (defalias 'font-lock-fontify-buffer #[nil " t  \"\n!ed\" ) \"ed\" 9 \"ed #)\nH!!L W \"*" [font-lock-mode font-lock-verbose was-on message "Fontifying %s..." buffer-name 1 font-lock-unfontify-region "Fontifying %s... (syntactically...)" font-lock-fontify-region "Fontifying %s... (regexps...)" font-lock-hack-keywords 0 make-local-variable font-lock-fontified t "Fontifying %s... done."] 4 "\ 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]) (defalias 'font-lock-set-defaults #[nil "=\n\nU=\nU= U=( U=3U=>\nU=I U=TUω" [major-mode lisp-mode lisp-font-lock-keywords emacs-lisp-mode c-mode c-font-lock-keywords c++-c-mode c++-mode c++-font-lock-keywords perl-mode perl-font-lock-keywords tex-mode tex-font-lock-keywords texinfo-mode texi-font-lock-keywords nil font-lock-keywords] 2 "\ sets font-lock-keywords to something appropriate for this mode."]) (defconst lisp-font-lock-keywords-1 (quote (("^(def[-a-z]+\\s +\\([^ \n)]+\\)" 1 font-lock-function-name-face) ("\\s :\\(\\(\\sw\\|\\s_\\)+\\)\\>" . 1))) "\ For consideration as a value of `lisp-font-lock-keywords'. This does fairly subdued highlighting.") (defconst lisp-font-lock-keywords-2 (append lisp-font-lock-keywords-1 (quote (("(\\(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)))) "\ For consideration as a value of `lisp-font-lock-keywords'. This does a lot more highlighting.") (defvar 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" "int\\|char\\|float\\|double\\|void\\|struct\\|" "union\\|enum\\|typedef" "[a-zA-Z0-9_:~*]+" ctoken types prefixes storage ("^#[ ]*[a-z]+" . font-lock-comment-face) ("^#[ ]*\\(define\\|undef\\)[ ]+\\(\\(\\sw\\|\\s_\\)+\\)" 2 font-lock-function-name-face) ("^#[ ]*\\(if\\|ifn?def\\)[ ]+\\([^\n]+\\)" 2 font-lock-function-name-face t) ("^#[ ]*include[ ]+\\(<[^>\"\n]+>\\)" 1 font-lock-string-face) "^\\(" "[ ]+\\)?" "\\(" "\\([*&]+[ ]*\\)?" "\\)[ ]*(" 5 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" "default" "continue" "default") "\\|" "\\)[ \n(){};,]" 1 "\\(\\(\\sw\\|\\s_\\)+\\):" ("}[ *]*\\(\\(\\sw\\|\\s_\\)+\\)[ ]*[,;]" 1 font-lock-function-name-face) c-font-lock-keywords-2] 17) (defvar c-font-lock-keywords c-font-lock-keywords-1 "\ Additional expressions to highlight in C mode.") (defvar c++-font-lock-keywords c-font-lock-keywords "\ Additional expressions to highlight in C++ mode.") (defvar perl-font-lock-keywords (byte-code "#QB#ʯ" ["[ \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[ ]+\\([^ {]+\\)[ ]*[{]" 1 font-lock-function-name-face) ("[ \n {]*\\(eval\\)[ \n (;]" 1 font-lock-function-name-face) ("\\(--- .* ---\\|=== .* ===\\)" . font-lock-doc-string-face)] 5) "\ Additional expressions to highlight in Perl mode.") (defvar tex-font-lock-keywords (list (quote ("\\(\\\\\\w+\\)" 1 font-lock-keyword-face t)) (quote ("{\\\\em\\([^}]+\\)}" 1 font-lock-comment-face t)) (quote ("{\\\\bf\\([^}]+\\)}" 1 font-lock-keyword-face t)) (quote ("^[ \n]*\\\\def[\\\\@]\\(\\w+\\)" 1 font-lock-function-name-face t)) (quote ("\\\\\\(begin\\|end\\){\\([a-zA-Z0-9\\*]+\\)}" 2 font-lock-function-name-face t)) (quote ("[^\\\\]\\$\\([^$]*\\)\\$" 1 font-lock-string-face t))) "\ Additional expressions to highlight in TeX mode.") (defvar texi-font-lock-keywords (list "@\\(@\\|[^} \n{]+\\)" (quote ("^\\(@c\\|@comment\\)[ ].*$" . font-lock-comment-face)) (quote ("^\\(*.*\\)[ ]*$" 1 font-lock-function-name-face t)) (quote ("@\\(emph\\|strong\\|b\\|i\\){\\([^}]+\\)" 2 font-lock-comment-face t)) (quote ("@\\(file\\|kbd\\|key\\){\\([^}]+\\)" 2 font-lock-string-face t)) (quote ("@\\(samp\\|code\\|var\\){\\([^}]+\\)" 2 font-lock-function-name-face t)) (quote ("@\\(xref\\|pxref\\){\\([^}]+\\)" 2 font-lock-keyword-face t)) (quote ("@end *\\([a-zA-Z0-9]+\\)[ ]*$" 1 font-lock-function-name-face t)) (quote ("@item \\(.*\\)$" 1 font-lock-function-name-face t)) (quote ("\\$\\([^$]*\\)\\$" 1 font-lock-string-face t))) "\ Additional expressions to highlight in TeXinfo mode.") (provide (quote font-lock))