;ELC ;;; compiled by kwzh@hal.gnu.ai.mit.edu on Mon Apr 17 19:43:05 1995 ;;; from file /gd/gnu/emacs/19.0/lisp/hilit19.el ;;; emacs version 19.28.90.26. ;;; 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 "`/gd/gnu/emacs/19.0/lisp/hilit19.el' was compiled for Emacs 19")) #@69 * If non-nil, this inhibits progress indicators during highlighting (defvar hilit-quietly nil (#$ . -483)) #@119 * T if we should highlight all buffers as we find 'em, nil to disable automatic highlighting by the find-file hook. (defvar hilit-auto-highlight t (#$ . -597)) #@58 * auto-highlight is disabled in buffers larger than this (defvar hilit-auto-highlight-maxout 60000 (#$ . -765)) #@356 * If this is non-nil, then hilit-redraw and hilit-recenter will also rehighlight part or all of the current buffer. T will rehighlight the whole buffer, a NUMBER will rehighlight that many lines before and after the cursor, and the symbol 'visible' will rehighlight only the visible portion of the current buffer. This variable is buffer-local. (defvar hilit-auto-rehighlight t (#$ . -884)) (make-variable-buffer-local (quote hilit-auto-rehighlight)) #@164 * Cons of the form (THRESHOLD . FALLBACK), where FALLBACK is assigned to hilit-auto-rehighlight if the size of a newly opened buffer is larger than THRESHOLD. (defvar hilit-auto-rehighlight-fallback (quote (20000 . 100)) (#$ . -1352)) #@283 * T slows down highlighting but permits the user to change fonts without losing bold and italic faces... T causes hilit-lookup-face-create to dig through the frame parameters for the current window every time it's called. If you never change fonts in emacs, set this to NIL. (defvar hilit-face-check t (#$ . -1598)) #@72 If non-nil, this inhibits replacement of recenter, yank, and yank-pop. (defvar hilit-inhibit-rebinding nil (#$ . 1927)) #@71 If non-nil, this inhibits installation of hooks for Info, gnus, & vm. (defvar hilit-inhibit-hooks nil (#$ . 2053)) #@75 'mono inhibits color, 'dark or 'light indicate the background brightness. (defvar hilit-background-mode (quote light) (#$ . 2174)) #@301 If a list of modes to exclusively enable or specifically disable. The sense of the list is negated if it begins with the symbol 'not'. Set this variable before you load hilit19. Ex: (perl-mode jargon-mode c-mode) ; just perl, C, and jargon modes (not text-mode) ; all modes except text mode (defvar hilit-mode-enable-list nil (#$ . 2312)) #@187 alist of major-mode values and parsers called by hilit-rehighlight-buffer. Parsers for a given mode are IGNORED for partial rehighlights...maybe you'd like to make this more universal? (defvar hilit-parser-alist nil (#$ . 2667)) #@479 alist of major-mode values and default highlighting patterns A highlighting pattern is a list of the form (start end face), where start is a regex, end is either a regex or a match number for start, and face is the name of an entry in hilit-face-translation-table, the name of a face, or nil (which disables the pattern). Each entry in the alist is of the form: (mode . (case-fold pattern [pattern ...])) See the hilit-lookup-face-create documentation for valid face names. (defvar hilit-patterns-alist nil (#$ . 2904)) #@159 List of faces with which hilit-lookup-face-create will NOT tamper. If hilit19 is dumped into emacs at your site, you may have to set this in your init file. (defvar hilit-predefined-face-list (face-list) (#$ . 3435)) #@59 Submit feedback on hilit19 to the author: Stig@netcom.com (defalias 'hilit-submit-feedback #[nil "!!7!#!\"!\"\"ݰ&" [require reporter y-or-n-p "Do you really want to submit a report on hilit19? " reporter-submit-bug-report "Jonathan Stigelman " "hilit19.el (Release 2.19)" "Do you need to include a dump hilit variables? " append (hilit-quietly hilit-inhibit-hooks hilit-background-mode hilit-mode-enable-list hilit-auto-highlight hilit-auto-highlight-maxout hilit-auto-rehighlight hilit-auto-rehighlight-fallback hilit-face-check) "Have you modified the standard patterns? " yes-or-no-p "Are your patterns *REALLY* relevant? " (hilit-parser-alist hilit-patterns-alist hilit-predefined-face-list) #[nil "!!!Ʊ" [y-or-n-p "Is this a problem with font display? " "\nFrame Configuration:\n====================\n" prin1-to-string frame-configuration-to-register 70 "\n"] 4] nil "This is (check all that apply, and delete what's irrelevant):\n" " [ ] a _MASSIVE_THANK_YOU_ for writing hilit19.el\n" " [ ] An invitation to attend the next Hackers Conference\n" " [ ] You're a RIGHTEOUS HACKER, what are your rates?\n" " [ ] I've used the force and read the source, but I'M CONFUSED\n" " [ ] a PATCH. (output of 'diff -uw old.el new.el' or 'diff -cw')\n" " [ ] a SERIOUS AND REPRODUCABLE BUG that is not an EMACS bug\n" " - I *swear* that it's not already mentioned in the KNOWN BUGS\n" " - I HAVE CHECKED netcom.com:/pub/stig/src/Beta/hilit19.el.gz\n" " for a newer release that fixes the problem.\n" " >> I HAVE ALSO CHECKED netcom.com:/pub/stig/src/Beta/hl319.el.gz\n" " This is the alpha version...what will become hilit19 (Beta 3.0).\n" "\n" "Hey Stig, I *know* you're busy but...\n"] 20 (#$ . 3659) nil]) #@331 alist of default faces (face . (light-default dark-default mono-default)) There is no way for the user to modify this table such that it will have any effect upon the translations used by hilit19. Instead, use the function hilit-translate AFTER hilit19 has been loaded. See also the documentation for hilit-lookup-face-create. (defconst hilit-default-face-table (quote ((comment firebrick-italic moccasin italic) (include purple Plum1 bold-italic) (define ForestGreen-bold green bold) (defun blue-bold cyan-bold bold-italic) (decl RoyalBlue cyan bold) (type nil yellow nil) (keyword RoyalBlue cyan bold-italic) (label red-underline orange-underlined underline) (string grey40 orange underline) (struct black-bold white-bold bold) (glob-struct magenta Plum1 default-bold-underline) (named-param DarkGoldenrod Goldenrod underline) (crossref DarkGoldenrod Goldenrod underline) (formula Goldenrod DarkGoldenrod underline) (active-error default/pink-bold default/DeepPink-bold default-underline) (error red-bold yellow bold) (warning blue-italic green italic) (rule blue-bold-underline cyan-underline default-bold-underline) (msg-subject blue-bold yellow bold) (msg-from purple-bold green bold) (msg-header firebrick-bold cyan italic) (msg-separator black/tan-bold black/lightblue nil) (msg-quote ForestGreen pink italic) (summary-seen grey40 white nil) (summary-killed grey50 white nil) (summary-Xed OliveDrab2 green nil) (summary-deleted firebrick white italic) (summary-unread RoyalBlue yellow bold) (summary-new blue-bold yellow-bold bold-italic) (summary-current default/skyblue-bold green/dimgrey-bold reverse-default) (gnus-group-unsubscribed grey50 white nil) (gnus-group-empty nil nil nil) (gnus-group-full ForestGreen green italic) (gnus-group-overflowing firebrick red bold-italic) (dired-directory blue-bold cyan bold) (dired-link firebrick-italic green italic) (dired-ignored ForestGreen moccasin nil) (dired-deleted red-bold-italic orange bold-italic) (dired-marked purple Plum1 nil) (jargon-entry blue-bold cyan bold) (jargon-xref purple-bold Plum1 italic) (jargon-keyword firebrick-underline yellow underline))) (#$ . 5470)) #@56 alist that maps symbolic face-names to real face names (defconst hilit-face-translation-table (byte-code " \f žA \")" [x-display-color-p hilit-background-mode ((light . 1) (dark . 2)) 3 index mapcar #[(x) "@ 8B" [x index] 3] hilit-default-face-table] 3) (#$ . 7615)) #@339 (hilit-translate FROM TO FROM TO ...): translate each face FROM to the value of its TO face. This is like setq for faces. The function hilit-lookup-face-create will repeatedly translate until no more translations for the face exist in the translation table. See the documentation for hilit-lookup-face-create for names of valid faces. (defalias 'hilit-translate '(macro . #[(&rest args) " G¦! !ʼn 8 @ A@ AADFB+B" [zerop args 2 error "wrong number of args" nil to from cmdl hilit-associate (quote hilit-face-translation-table) quote progn] 4 (#$ . 7905)])) #@647 Get a FACE, or create it if it doesn't exist. In order for it to properly create the face, the followwing naming convention must be used: [reverse-](fgcolor[/bgcolor])[-bold][-italic][-underline] Example: (hilit-lookup-face-create 'comment-face) might create and return 'red Each color is either the name of an X color (see .../X11/lib/X11/rgb.txt), a hexadecimal specification of the form "hex-[0-9A-Fa-f]+", or "default". An optional argument, FORCE, will cause the face to be recopied from the default...which is probably of use only if you've changed fonts. See the documentation for hilit-translate and hilit-face-translation-table. (defalias 'hilit-lookup-face-create #[(face &optional force) " )\f\n>\n\"\f\nB\f A*\f!   !A\f\f>i\f >i\fN\" \"! ەO  \"ݔ ߔߕOP ەO \f\" \"ݔ ߔߕOP ەO 䏈 \f #\f \"\" \"\f# \"\f#.\f" [t nil visited trec face error "face translation loop: %S" hilit-face-translation-table symbol-name fn selected-frame frame font frame-parameters basefont fgcolor bgcolor hilit-predefined-face-list force face-list hilit-face-check copy-face default scratch-face string-match "^reverse-?" invert-face 0 "^\\(hex-\\)?\\([A-Za-z0-9]+\\)" 1 "#" 2 "bad face name %S" "^/\\(hex-\\)?\\([A-Za-z0-9]+\\)" "default" (byte-code "\n\"\f\"\"#" [set-face-foreground scratch-face fgcolor set-face-background bgcolor copy-face face put basefont] 4) ((error (byte-code " !\"" [message "couldn't allocate color for '%s'" symbol-name face default t error] 4))) set-face-font set-face-underline-p "underline" ".*bold" make-face-bold noerr ".*italic" make-face-italic] 6 (#$ . 8510)]) #@137 Highlight region from START to END using FACE and, optionally, PRIO. The optional 5th arg, PROP is a property to set instead of 'hilit. (defalias 'hilit-region-set-face #[(start end face-name &optional prio prop) " \n\" # #\n\" \n#)" [make-overlay start end overlay overlay-put face face-name prop hilit t prio priority] 4 (#$ . 10326)]) (put (quote hilit-region-set-face) (quote byte-optimizer) (quote byte-compile-inline-expand)) #@70 Unhighlights the region from START to END, optionally in a QUIET way (defalias 'hilit-unhighlight-region #[(start end &optional quietly) "\f \f!7 V7W7!\"!)C C!" [quietly hilit-quietly message "Unhighlighting" 0 lstart start end mapcar #[(ovr) " \"\n !" [overlay-get ovr hilit delete-overlay] 3] overlays-at next-overlay-change "Done unhighlighting"] 5 (#$ . 10787) "r"]) #@297 Highlights the area of the buffer between START and END (the region when interactive). Without the optional PATTERNS argument, the pattern for major-mode is used. If PATTERNS is a symbol, then the patterns associated with that symbol are used. QUIETLY suppresses progress messages if non-nil. (defalias 'hilit-highlight-region #[(start end &optional patterns quietly) "\f \nA9\nA@GSÉ \n \fA }@\n@ \nA@\n8!yy  ;vPw$ebُ S A?*!." [patterns major-mode hilit-patterns-alist nil 0 puke-count mstart face pend pstart p prio case-fold-search start end hilit-lookup-face-create 2 quietly hilit-quietly message "highlighting %d: %s%s" " ... " "" msg (byte-code "9O !K\n@\nA\f   \"  # 8# E #)-) ;$єb $ѕ\f   \"  # #  #)-TuT $ b \f   \"  # #  #)-!" [pstart nil region pend face prio prop face-name end start make-overlay overlay overlay-put hilit t priority re-search-forward 0 mstart 1 error "malformed pattern"] 5) ((error (byte-code "TV ! \" !" [puke-count 1 error msg message "Error: '%s'" ding sit-for 4] 3)))] 9 (#$ . 11221) "r"]) #@53 Re-highlights the region, optionally in a QUIET way (defalias 'hilit-rehighlight-region #[(start end &optional quietly) "~\n\n!\"#!\"#\n\n#\n\n$)" [apply min start mapcar overlay-start overlays-at max end overlay-end hilit-unhighlight-region quietly hilit-highlight-region nil] 7 (#$ . 12571) "r"]) #@53 Re-highlights the buffer, optionally in a QUIET way (defalias 'hilit-rehighlight-buffer #[(&optional quietly) " A\n !ed #)Ň" [major-mode hilit-parser-alist parse-fn quietly hilit-rehighlight-region nil] 5 (#$ . 12906) ""]) (defalias 'hilit-rehighlight-buffer-quietly #[nil "!" [hilit-rehighlight-buffer t] 2]) #@63 Highlight a buffer containing a news article or mail message. (defalias 'hilit-rehighlight-message #[(quietly) "eb#ed #e` $`d $)" [re-search-forward "^$" nil noerr hilit-unhighlight-region quietly hilit-highlight-region msg-header msg-body] 5 (#$ . 13239)]) (defalias (quote hilit-highlight-buffer) (quote hilit-rehighlight-buffer)) #@75 Find-file hook for hilit package. See the variable hilit-auto-highlight. (defalias 'hilit-find-file-hook #[nil "( \n( \f@V\fA V?(  !)" [hilit-auto-highlight major-mode hilit-patterns-alist buffer-saved-size hilit-auto-rehighlight-fallback hilit-auto-rehighlight hilit-auto-highlight-maxout buffer-modified-p bm hilit-rehighlight-buffer set-buffer-modified-p] 2 (#$ . 13593)]) #@367 Rehighlights according to the value of hilit-auto-rehighlight, or the prefix argument if that is specified. \[hilit-repaint-command] repaint according to hilit-auto-rehighlight ^U \[hilit-repaint-command] repaint entire buffer ^U - \[hilit-repaint-command] repaint visible portion of buffer ^U n \[hilit-repaint-command] repaint n lines to either side of point (defalias 'hilit-repaint-command #[(arg) "\f\f \f=\f=#  A\f:\f[y`)\fy`)A\fA J \n #+" [nil quietly en st arg hilit-auto-rehighlight visible - window-start window-end t hilit-rehighlight-buffer hilit-rehighlight-region] 4 (#$ . 14000) "P"]) #@183 Recenter, then rehighlight according to hilit-auto-rehighlight. If called with an unspecified prefix argument (^U but no number), then a rehighlight of the entire buffer is forced. (defalias 'hilit-recenter #[(arg) " !! :!" [recenter arg sit-for 0 hilit-repaint-command] 2 (#$ . 14656) "P"]) #@26 Yank with rehighlighting (defalias 'hilit-yank #[(arg) " !\f #‰ )" [nil transient-mark-mode yank arg hilit-auto-rehighlight hilit-rehighlight-region region-beginning region-end t this-command] 4 (#$ . 14962) "*P"]) #@30 Yank-pop with rehighlighting (defalias 'hilit-yank-pop #[(arg) " !\f #ɉ\n)" [nil transient-mark-mode yank-pop arg hilit-auto-rehighlight hilit-rehighlight-region region-beginning region-end t yank this-command] 4 (#$ . 15199) "*p"]) (byte-code "  # # #\" ,#: :ԏՇ" [hilit-inhibit-rebinding window-system substitute-key-definition yank hilit-yank current-global-map yank-pop hilit-yank-pop recenter hilit-recenter global-set-key [33554444] hilit-repaint-command add-hook find-file-hooks hilit-find-file-hook t hilit-inhibit-hooks c (byte-code "\"\"" [mapcar #[(hook) " \"" [add-hook hook hilit-rehighlight-buffer-quietly] 3] (Info-selection-hook vm-summary-pointer-hook vm-preview-message-hook vm-show-message-hook gnus-article-prepare-hook gnus-summary-prepare-hook gnus-group-prepare-hook rmail-show-message-hook mail-setup-hook mh-show-mode-hook dired-after-readin-hook) add-hook gnus-mark-article-hook #[nil " >\n! \fq #)" [gnus-current-article gnus-newsgroup-marked gnus-summary-mark-as-read gnus-summary-set-current-mark gnus-summary-buffer hilit-rehighlight-region window-start window-end t] 4]] 3) ((error (byte-code "\n\" !" [message "Error loading highlight hooks: %s" c ding sit-for 1] 3))) nil hilit-patterns-alist] 4) #@67 creates, or destructively replaces, the pair (key . val) in alist (defalias 'hilit-associate #[(alist key val) "\n! \f\n\fB\n!BL)" [key eval alist oldentry val] 5 (#$ . 16532)]) #@153 Sets the default highlighting patterns for MODE to PATTERNS. See the variable hilit-mode-enable-list. Takes optional arguments PARSE-FN and CASE-FOLD. (defalias 'hilit-set-mode-patterns #[(modelist patterns &optional parse-fn case-fold) "\n\" \nB\f:\fC@= \f\"*" [mapcar #[(p) "@;A@?A" [p 0] 2] patterns case-fold modelist nil hilit-mode-enable-list not flip ok #[(m) "? > \n?\n$\f \f# #" [hilit-mode-enable-list m ok flip parse-fn hilit-associate hilit-parser-alist hilit-patterns-alist patterns] 4]] 3 (#$ . 16732)]) #@116 Highlight pstart with face for the current major-mode. Optionally, place the new pattern first in the pattern list (defalias 'hilit-add-pattern #[(pstart pend face &optional mode first) "\n!\f \f\" \f! )\n   A\f\fE G  C\"`Y AB` C*tg " [pstart "" error "Must specify starting regex" pend 0 string-match "^[0-9]+$" string-to-int mode major-mode hilit-patterns-alist face new-pat old-patterns hilit-set-mode-patterns first hilit-rehighlight-buffer] 5 (#$ . 17311) "sPattern start regex: \nsPattern end regex (default none): \nxFace: "]) #@322 looks for a string and returns (start . end) or NIL. The argument QCHAR is the character that would precede a character constant double quote. Finds strings delimited by double quotes. The first double quote may not be preceded by QCHAR and the closing double quote may not be preceded by an odd number of backslashes. (defalias 'hilit-string-find #[(qchar) "#ǔSf=#8`uxu `Z˦U) ?\n B*" [nil en st search-forward "\"" t qchar 0 -1 "\\\\" 1 2] 4 (#$ . 17919)]) (byte-code " \f$\" \f%\" \f%\",\"\"$$\"\"\"\"\"%'%'\"(%\"'\"(#+\"\"\"\"\"\"$\"@ABC#DQEBC\"\"ȁFG\"ȁHI\"ȁJK\"ȁLM\"ȁNO$ȁPQ\"RS!" [(("/\\*" "\\*/" comment)) (("//.*$" nil comment) ("^/.*$" nil comment)) ((hilit-string-find 39 string)) (("^#[ ]*\\(undef\\|define\\).*$" "[^\\]$" define) ("^#.*$" nil include)) preprocessor strings c++-comments comments hilit-set-mode-patterns (c-mode c++-c-mode elec-c-mode) append (("^\\(\\w\\|[$_]\\)+\\s *\\(\\(\\w\\|[$_]\\)+\\s *((\\|(\\)[^)]*)+" nil defun) ("^\\(typedef\\|struct\\|union\\|enum\\).*$" nil decl) ("[ \n ({]\\(\\(const\\|register\\|volatile\\|unsigned\\|extern\\|static\\)\\s +\\)*\\(\\(\\w\\|[$_]\\)+_t\\|float\\|double\\|void\\|char\\|short\\|int\\|long\\|FILE\\|\\(\\(struct\\|union\\|enum\\)\\([ ]+\\(\\w\\|[$_]\\)*\\)\\)\\)\\(\\s +\\*+)?\\|[ \n ;()]\\)" nil type) ("[^_]\\<\\(return\\|goto\\|if\\|else\\|case\\|default\\|switch\\|break\\|continue\\|while\\|do\\|for\\)\\>[^_]" 1 keyword)) c++-mode (("^\\(\\(\\w\\|[$_]\\)+::\\)?\\(\\w\\|[$_]\\)+\\s *\\(\\(\\w\\|[$_]\\)+\\s *((\\|(\\)[^)]*)+" nil defun) ("^\\(\\(\\w\\|[$_]\\)+[ ]*::[ ]*\\)?\\(\\(\\w\\|[$_]\\)+\\|operator.*\\)\\s *\\(\\(\\w\\|[$_]\\)+\\s *((\\|(\\)[^)]*)+" nil defun) ("^\\(template\\|typedef\\|struct\\|union\\|class\\|enum\\|public\\|private\\|protected\\).*$" nil decl) ("[ \n ({]\\(\\(const\\|register\\|volatile\\|unsigned\\|extern\\|static\\)\\s +\\)*\\(\\(\\w\\|[$_]\\)+_t\\|float\\|double\\|void\\|char\\|short\\|int\\|long\\|FILE\\|\\(\\(struct\\|union\\|enum\\|class\\)\\([ ]+\\(\\w\\|[$_]\\)*\\)\\)\\)\\(\\s +\\*+)?\\|[ \n ;()]\\)" nil type) ("[^_]\\<\\(return\\|goto\\|if\\|else\\|case\\|default\\|switch\\|break\\|continue\\|while\\|do\\|for\\|public\\|protected\\|private\\|delete\\|new\\)\\>[^_]" 1 keyword)) (objc-mode objective-C-mode) (("^\\(\\(\\w\\|[$_]\\)+::\\)?\\(\\w\\|[$_]\\)+\\s *\\(\\(\\w\\|[$_]\\)+\\s *((\\|(\\)[^)]*)+" nil defun) ("^\\(\\(\\w\\|[$_]\\)+[ ]*::[ ]*\\)?\\(\\(\\w\\|[$_]\\)+\\|operator.*\\)\\s *\\(\\(\\w\\|[$_]\\)+\\s *((\\|(\\)[^)]*)+" nil defun) ("^\\(template\\|typedef\\|struct\\|union\\|class\\|enum\\|public\\|private\\|protected\\).*$" nil decl) ("[ \n ({]\\(\\(const\\|register\\|volatile\\|unsigned\\|extern\\|static\\)\\s +\\)*\\(\\(\\w\\|[$_]\\)+_t\\|float\\|double\\|void\\|char\\|short\\|int\\|long\\|FILE\\|\\(\\(struct\\|union\\|enum\\|class\\)\\([ ]+\\(\\w\\|[$_]\\)*\\)\\)\\)\\(\\s +\\*+)?\\|[ \n ;()]\\)" nil type) ("[^_]\\<\\(return\\|goto\\|if\\|else\\|case\\|default\\|switch\\|break\\|continue\\|while\\|do\\|for\\|public\\|protected\\|private\\|interface\\|implementation\\|end\\|super\\|self\\)\\>[^_]" 1 keyword)) perl-mode (("\\s #.*$" nil comment) ("^#.*$" nil comment) ("\"[^\\\"]*\\(\\\\\\(.\\|\n\\)[^\\\"]*\\)*\"" nil string) ("^\\(__....?__\\|\\s *\\sw+:\\)" nil label) ("^require.*$" nil include) ("^package.*$" nil decl) ("^\\s *sub\\s +\\(\\w\\|[_']\\)+" nil defun) ("\\b\\(do\\|if\\|unless\\|while\\|until\\|else\\|elsif\\|for\\|foreach\\|continue\\|next\\|redo\\|last\\|goto\\|return\\|die\\|exit\\)\\b" nil keyword)) ada-mode (("--.*$" nil comment) ("[ \n]procedure[ ]" "\\([ ]\\(is\\|renames\\)\\|);\\)" glob-struct) ("[ \n]task[ ]" "[ ]is" glob-struct) ("[ \n]function[ ]" "return[ ]+[A-Za-z_0-9]+[ ]*\\(is\\|;\\|renames\\)" glob-struct) ("[ \n]package[ ]" "[ ]\\(is\\|renames\\)" glob-struct) ("^[ ]*private[ \n]" nil glob-struct) ("^end.*$" ";" glob-struct) ("[ \n ]\\(in\\|out\\|select\\|if\\|else\\|case\\|when\\|and\\|or\\|not\\|accept\\|loop\\|do\\|then\\|elsif\\|else\\|for\\|while\\|exit\\)[ \n ;]" nil struct) ("[ \n ]\\(begin\\|end\\|declare\\|exception\\|generic\\|raise\\|return\\|package\\|body\\)[ \n ;]" nil struct) ("^[ ]*\\(type\\|subtype\\).*$" ";" decl) ("[ ]+is record.*$" "end record;" decl) ("^[ ]*\\(with\\|pragma\\|use\\)" ";" include) ("[A-Za-z_0-9.]+[ ]*=>" nil named-param) ("\"" ".*\"" string)) fortran-mode (("^[*Cc].*$" nil comment) ("'[^'\n]*'" nil string) ("\\(^[ ]*[0-9]+\\|[ ]continue[ \n]\\|format\\)" nil define) ("[ ]\\(do\\|do[ ]*[0-9]+\\|go[ ]*to[ ]*[0-9]+\\|end[ ]*do\\|if\\|else[ ]*if\\|then\\|else\\|end[ ]*if\\)[ \n(]" nil define) ("[ ]\\(call\\|program\\|subroutine\\|function\\|stop\\|return\\|end\\|include\\)[ \n]" nil include) ("[ ]\\(parameter[ \n ]*([^)]*)\\|data\\|save\\|common[ \n]*/[^/]*/\\)" nil decl) ("^ ." nil type) ("implicit[ ]*none" nil decl) ("\\([ ]\\|implicit[ ]*\\)\\(dimension\\|integer\\|real\\|double[ ]*precision\\|character\\|logical\\|complex\\|double[ ]*complex\\)\\([*][0-9]*\\|[ \n]\\)" nil keyword)) nil case-insensitive (m2-mode modula-2-mode) (("(\\*" "\\*)" comment) (hilit-string-find 92 string) ("^[ ]*PROCEDURE[ ]+\\w+[^ (;]*" nil defun) ("\\<\\(RECORD\\|ARRAY\\|OF\\|POINTER\\|TO\\|BEGIN\\|END\\|FOR\\|IF\\|THEN\\|ELSE\\|ELSIF\\|CASE\\|WHILE\\|DO\\|MODULE\\|FROM\\|RETURN\\|IMPORT\\|EXPORT\\|VAR\\|LOOP\\|UNTIL\\|\\DEFINITION\\|IMPLEMENTATION\\|AND\\|OR\\|NOT\\|CONST\\|TYPE\\|QUALIFIED\\)\\>" nil keyword)) prolog-mode (("/\\*" "\\*/" comment) ("%.*$" nil comment) (":-" nil defun) ("!" nil label) ("\"[^\\\"]*\\(\\\\\\(.\\|\n\\)[^\\\"]*\\)*\"" nil string) ("\\b\\(is\\|mod\\)\\b" nil keyword) ("\\(->\\|-->\\|;\\|==\\|\\\\==\\|=<\\|>=\\|<\\|>\\|=\\|\\\\=\\|=:=\\|=\\.\\.\\|\\\\\\+\\)" nil decl) ("\\(\\[\\||\\|\\]\\)" nil include)) (LaTeX-mode japanese-LaTeX-mode SliTeX-mode japanese-SliTeX-mode FoilTeX-mode latex-mode) (("[^\\]%.*$" nil comment) ("\\\\\\(sub\\)*\\(paragraph\\|section\\)\\(*\\|\\[.*\\]\\)?{" "}" keyword) ("\\\\\\(chapter\\|part\\)\\(*\\|\\[.*\\]\\)?{" "}" keyword) ("\\\\footnote\\(mark\\|text\\)?{" "}" keyword) ("\\\\[a-z]+box" nil keyword) ("\\\\\\(v\\|h\\)space\\(*\\)?{" "}" keyword) ("\\\\\\(re\\)?new\\(environment\\|command\\){" "}" defun) ("\\\\new\\(length\\|theorem\\|counter\\){" "}" defun) ("\\\\\\(setlength\\|settowidth\\|addtolength\\|setcounter\\|addtocounter\\)" nil define) ("\\\\\\(title\\|author\\|date\\|thanks\\){" "}" define) ("\\\\documentstyle\\(\\[.*\\]\\)?{" "}" decl) ("\\\\\\(begin\\|end\\|nofiles\\|includeonly\\){" "}" decl) ("\\\\\\(raggedright\\|makeindex\\|makeglossary\\|maketitle\\)\\b" nil decl) ("\\\\\\(pagestyle\\|thispagestyle\\|pagenumbering\\){" "}" decl) ("\\\\\\(normalsize\\|small\\|footnotesize\\|scriptsize\\|tiny\\|large\\|Large\\|LARGE\\|huge\\|Huge\\)\\b" nil decl) ("\\\\\\(appendix\\|tableofcontents\\|listoffigures\\|listoftables\\)\\b" nil decl) ("\\\\\\(bf\\|em\\|it\\|rm\\|sf\\|sl\\|ss\\|tt\\)\\b" nil decl) ("\\\\item\\(\\[[^]]*\\]\\)?" nil label) ("\\\\caption\\(\\[[^]]*\\]\\)?{" "}" label) ("[^\\]\\\\(" "\\\\)" formula) ("[^\\]\\\\\\[" "\\\\\\]" formula) ("[^\\$]\\($\\($[^$]*\\$\\|[^$]*\\)\\$\\)" 1 formula) ("\\\\\\(include\\|input\\|bibliography\\){" "}" include) ("``" "''" string) ("\\\\\\(\\(no\\)?cite\\|\\(page\\)?ref\\|label\\|index\\|glossary\\){" "}" crossref)) bibtex-mode (("%.*$" nil comment) ("@[a-zA-Z]+" nil keyword) ("{[ ]*[-a-z:_A-Z0-9]+," nil label) ("^[ ]*[a-zA-Z]+[ ]*=" nil define)) compilation-mode (("^[-_.\"A-Za-z0-9]+\\(:\\|, line \\)[0-9]+: warning:.*$" nil warning) ("^[-_.\"A-Za-z0-9]+\\(:\\|, line \\)[0-9]+:.*$" nil error)) makefile-mode (("^#.*$" nil comment) ("[^$]#.*$" nil comment) ("^[^ \n]*%[^ \n]*[ ]*::?[ ]*[^ \n]*[ ]*\\(#.*\\)?$" nil rule) ("^[.][A-Za-z][A-Za-z]?..*$" nil rule) ("^[_A-Za-z0-9]+[ ]*+?=" nil define) ("\\( \\|:=\\)[_A-Za-z0-9]+[ ]*\\+=" nil define) ("\\$\\([^ \n{(]\\|[{(]@?[_A-Za-z0-9:.,%/=]+[)}]\\)" nil keyword) ("^[A-Za-z0-9.,/_-]+[ ]*:.*$" nil defun) ("^include " nil include)) (("^Subject:.*$" nil msg-subject) ("^From:.*$" nil msg-from) ("^--text follows this line--$" nil msg-separator) ("^[A-Za-z][A-Za-z0-9-]+:" nil msg-header)) header-patterns (("^\\(In article\\|[ ]*\\w*[]<>}|]\\).*$" nil msg-quote)) body-patterns message-patterns msg-header msg-body (vm-mode text-mode mail-mode rmail-mode gnus-article-mode news-reply-mode mh-show-mode) hilit-rehighlight-message gnus-group-mode (("^U.*$" nil gnus-group-unsubscribed) ("^ +[01]?[0-9]:.*$" nil gnus-group-empty) ("^ +[2-9][0-9]:.*$" nil gnus-group-full) ("^ +[0-9][0-9][0-9]+:.*$" nil gnus-group-overflowing)) gnus-summary-mode (("^D +[0-9]+: \\[.*$" nil summary-seen) ("^K +[0-9]+: \\[.*$" nil summary-killed) ("^X +[0-9]+: \\[.*$" nil summary-Xed) ("^- +[0-9]+: \\[.*$" nil summary-unread) ("^. +[0-9]+:\\+\\[.*$" nil summary-current) ("^ +[0-9]+: \\[.*$" nil summary-new)) vm-summary-mode (("^ .*$" nil summary-seen) ("^->.*$" nil summary-current) ("^ D.*$" nil summary-deleted) ("^ U.*$" nil summary-unread) ("^ N.*$" nil summary-new)) (emacs-lisp-mode lisp-interaction-mode) ((";.*" nil comment) (hilit-string-find 92 string) ("^\\s *(def\\(un\\|macro\\|advice\\|alias\\|subst\\)[ \n]" "\\()\\|nil\\)" defun) ("^\\s *(defvar\\s +\\S +" nil decl) ("^\\s *(defconst\\s +\\S +" nil define) ("^\\s *(\\(provide\\|require\\|\\(auto\\)?load\\).*$" nil include) ("\\s *\\&\\(rest\\|optional\\)\\s *" nil keyword) ("(\\(let\\*?\\|cond\\|if\\|or\\|and\\|map\\(car\\|concat\\)\\|prog[n1*]?\\|while\\|lambda\\|function\\|set\\([qf]\\|car\\|cdr\\)?\\|nconc\\|eval-when-compile\\|condition-case\\|unwind-protect\\|catch\\|throw\\|error\\)[ \n]" 1 keyword)) (lisp-mode ilisp-mode) ((";.*" nil comment) ("#|" "|#" comment) (hilit-string-find 92 string) ("^\\s *(def\\(un\\|macro\\|advice\\|subst\\|method\\)\\s " "\\()\\|nil\\)" defun) ("^\\s *(\\(def\\(var\\|type\\|parameter\\)\\|declare\\)\\s +\\S +" nil decl) ("^\\s *(def\\(const\\(ant\\)?\\|class\\|struct\\)\\s \\S +[ \n]+" nil define) ("^\\s *(\\(provide\\|require\\|\\(auto\\)?load\\).*$" nil include) ("[ ]\\&\\(key\\|rest\\|optional\\|aux\\)\\s *" nil keyword) ("(\\(let\\*?\\|locally\\|cond\\|if\\*?\\|or\\|and\\|map\\(car\\|c[ao]n\\)?\\|prog[nv1*]?\\|while\\|when\\|unless\\|do\\(\\*\\|list\\|times\\)\\|list\\|lambda\\|function\\|values\\|set\\([qf]\\|car\\|cdr\\)?\\|rplac[ad]\\|nconc\\|block\\|go\\|return\\(-from\\)?\\|[ec]?\\(type\\)?case\\|multiple-value-\\(bind\\|setq\\|list\\|call\\|prog1\\)\\|unwind-protect\\|handler-case\\|catch\\|throw\\|eval-when\\(-compile\\)?\\)[ \n]" 1 keyword)) plain-tex-mode (("^%%.*$" nil comment) ("{\\\\em\\([^}]+\\)}" nil comment) ("\\(\\\\\\w+\\)" nil keyword) ("{\\\\bf\\([^}]+\\)}" nil keyword) ("^[ \n]*\\\\def[\\\\@]\\(\\w+\\)" nil defun) ("\\\\\\(begin\\|end\\){\\([A-Za-z0-9\\*]+\\)}" nil defun) ("\\$\\([^$]*\\)\\$" nil string)) nroff-mode (("^\\.[\\][\\\"].*$" nil comment) ("^\\.so .*$" nil include) ("^\\.[ST]H.*$" nil defun) ("\"" "[^\\]\"" string) ("^\\.[A-Z12\\\\].*$" nil define) ("\\([\\][^ ]*\\)" nil keyword) ("^\\.[A-Z].*$" nil keyword)) texinfo-mode (("^\\(@c\\|@comment\\)\\>.*$" nil comment) ("@\\(emph\\|strong\\|b\\|i\\){[^}]+}" nil comment) ("@\\(file\\|kbd\\|key\\){[^}]+}" nil string) ("^\\*.*$" nil defun) ("@\\(if\\w+\\|format\\|item\\)\\b.*$" nil defun) ("@end +[A-Za-z0-9]+[ ]*$" nil defun) ("@\\(samp\\|code\\|var\\){[^}]+}" nil defun) ("@\\w+\\({[^}]+}\\)?" nil keyword)) dired-mode (("^D.*$" nil dired-deleted) ("^\\*.*$" nil dired-marked) ("^ d.*$" nil dired-directory) ("^ l.*$" nil dired-link) ("^ -.*#.*#$" nil dired-ignored)) "^ .*\\(" mapconcat regexp-quote completion-ignored-extensions "\\|" "\\)$" (nil dired-ignored) jargon-mode (("^:[^:]*:" nil jargon-entry) ("{[^}]*}+" nil jargon-xref)) Info-mode (("^\\* [^:]+:+" nil jargon-entry) ("\\*[Nn]ote\\b[^:]+:+" nil jargon-xref) (" \\(Next\\|Prev\\|Up\\):" nil jargon-xref) ("- \\(Variable\\|Function\\|Macro\\|Command\\|Special Form\\|User Option\\):.*$" nil jargon-keyword)) calendar-mode (("[A-Z][a-z]+ [0-9]+" nil define) ("S M Tu W Th F S" nil label)) asm-mode (("/\\*" "\\*/" comment) ("^#[ ]*\\(undef\\|define\\).*$" "[^\\]$" define) ("^#.*$" nil include) ("^.+:" nil defun) ("^[ ]*\\..*$" nil decl) ("\\$[a-z0-9]+" nil string) ("^[ ]*[a-z]+" nil struct)) pascal-mode (("(\\*" "\\*)" comment) ("{" "}" comment) ("^#.*$" nil include) ("^[ ]*\\(procedure\\|function\\)[ ]+\\w+[^ (;]*" nil defun) ("\\<\\(program\\|begin\\|end\\)\\>" nil defun) ("\\<\\(external\\|forward\\)\\>" nil include) ("\\<\\(label\\|const\\|type\\|var\\)\\>" nil define) ("\\<\\(record\\|array\\|file\\)\\>" nil type) ("\\<\\(of\\|to\\|for\\|if\\|then\\|else\\|case\\|while\\|do\\|until\\|and\\|or\\|not\\|with\\|repeat\\)\\>" nil keyword)) icon-mode (("#.*$" nil comment) ("\"[^\\\"]*\\(\\\\.[^\\\"]*\\)*\"" nil string) ("^[ ]*procedure[ ]+\\w+[ ]*(" ")" defun) ("^[ ]*record.*(" ")" include) ("^[ ]*\\(global\\|link\\)[ \n]+[A-Za-z_0-9]+\\([ \n]*,[ \n]*[A-Za-z_0-9]+\\)*" nil include) ("^[ ]*\\(local\\|static\\)[ \n]+[A-Za-z_0-9]+\\([ \n]*,[ \n]*[A-Za-z_0-9]+\\)*" nil decl) ("\\<\\(initial\\|end\\)\\>" nil glob-struct) ("\\<\\(while\\|until\\|return\\|every\\|if\\|then\\|else\\|to\\|case\\|of\\|suspend\\|create\\|do\\|repeat\\|break\\)\\>" nil keyword)) provide hilit19] 9)