;ELC ;;; compiled by simon@duality.gnu.ai.mit.edu on Mon Jun 24 03:50:54 1996 ;;; from file /home/gp2/simon/Emacs/lisp/lazy-lock.el ;;; emacs version 19.31.1. ;;; 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.29"))) (error "`lazy-lock.el' was compiled for Emacs 19.29 or later")) (byte-code "! Ď \"* U$\nW$!>2>6!" [require font-lock match-data match-data ((store-match-data match-data)) string-match "Lucid\\|XEmacs" emacs-version emacs-major-version 19 emacs-minor-version 30 error "`lazy-lock' was written for Emacs 19.30 or later" turn-on-defer-lock font-lock-mode-hook defer-lock-mode "`lazy-lock' was written for use without `defer-lock'"] 3) #@622 *Minimum size of a buffer for demand-driven fontification. On-demand fontification occurs if the buffer size is greater than this value. If nil, means demand-driven fontification is never performed. If a list, each element should be a cons pair of the form (MAJOR-MODE . SIZE), where MAJOR-MODE is a symbol or t (meaning the default). For example: ((c-mode . 25600) (c++-mode . 25600) (rmail-mode . 1048576)) means that the minimum size is 25K for buffers in C or C++ modes, one megabyte for buffers in Rmail mode, and size is irrelevant otherwise. The value of this variable is used when Lazy Lock mode is turned on. (defvar lazy-lock-minimum-size 25600 (#$ . -889)) #@1180 *If non-nil, means fontification should be defer-driven. If nil, means demand-driven fontification is performed. This means when scrolling into unfontified areas of the buffer, those areas are immediately fontified. Thus scrolling never presents unfontified areas. However, since fontification occurs during scrolling, scrolling may be slow. If t, means defer-driven fontification is performed. This means fontification of those areas is deferred. Thus scrolling may present momentarily unfontified areas. However, since fontification does not occur during scrolling, scrolling will be faster than demand-driven fontification. If any other value, e.g., `eventually', means demand-driven fontification is performed until the buffer is fontified, then buffer fontification becomes defer-driven. Thus scrolling never presents unfontified areas until the buffer is first fontified, after which subsequent scrolling may present future buffer insertions momentarily unfontified. However, since fontification does not occur during scrolling after the buffer is first fontified, scrolling will become faster. The value of this variable is used when Lazy Lock mode is turned on. (defvar lazy-lock-defer-driven nil (#$ . -1568)) #@701 *Time in seconds to delay before beginning deferred fontification. Deferred fontification occurs if there is no input within this time. If nil, means fontification is never deferred. However, fontification occurs on-the-fly or during scrolling, which may be slow. If a list, it should be of the form (MAJOR-MODES . TIME), where MAJOR-MODES is a list of `major-mode' symbols for which deferred fontification should occur. The sense of the list is negated if it begins with `not'. For example: ((c-mode c++-mode) . 0.25) means that the deferral time is 0.25s for buffers in C or C++ modes, and deferral does not occur otherwise. The value of this variable is used when Lazy Lock mode is turned on. (defvar lazy-lock-defer-time (byte-code "!!!Ç" [featurep lisp-float-type float 1 4] 3) (#$ . -2803)) #@261 *Time in seconds to delay before beginning stealth fontification. Stealth fontification occurs if there is no input within this time. If nil, means stealth fontification is never performed. The value of this variable is used when Lazy Lock mode is turned on. (defvar lazy-lock-stealth-time 30 (#$ . -3623)) #@277 *Maximum size of a chunk of stealth fontification. Each iteration of stealth fontification can fontify this number of lines. To speed up input response during stealth fontification, at the cost of stealth taking longer to fontify, you could reduce the value of this variable. (defvar lazy-lock-stealth-lines (byte-code "‡" [font-lock-maximum-decoration 100 250] 1) (#$ . -3938)) #@294 *Time in seconds to pause between chunks of stealth fontification. Each iteration of stealth fontification is separated by this amount of time. To reduce machine load during stealth fontification, at the cost of stealth taking longer to fontify, you could increase the value of this variable. (defvar lazy-lock-stealth-nice (byte-code "!!!Ç" [featurep lisp-float-type float 1 8] 3) (#$ . -4331)) #@71 *If non-nil, means stealth fontification should show status messages. (defvar lazy-lock-stealth-verbose (byte-code "??" [font-lock-verbose] 1) (#$ . -4745)) (byte-code "! B! B!\"‰B B‡" [boundp lazy-lock-mode nil current-load-list lazy-lock-buffers lazy-lock-timers] 2) #@1937 Toggle Lazy Lock mode. With arg, turn Lazy Lock mode on if and only if arg is positive. Enable it automatically in your `~/.emacs' by: (setq font-lock-support-mode 'lazy-lock-mode) When Lazy Lock mode is enabled, fontification can be lazy in a number of ways: - Demand-driven buffer fontification if `lazy-lock-minimum-size' is non-nil. This means initial fontification does not occur if the buffer is greater than `lazy-lock-minimum-size' characters in length. Instead, fontification occurs when necessary, such as when scrolling through the buffer would otherwise reveal unfontified areas. This is useful if buffer fontification is too slow for large buffers. - Defer-driven buffer fontification if `lazy-lock-defer-driven' is non-nil. This means all fontification is deferred, such as fontification that occurs when scrolling through the buffer would otherwise reveal unfontified areas. Instead, these areas are seen momentarily unfontified. This is useful if demand-driven fontification is too slow to keep up with scrolling. - Deferred on-the-fly fontification if `lazy-lock-defer-time' is non-nil. This means on-the-fly fontification does not occur as you type. Instead, fontification is deferred until after `lazy-lock-defer-time' seconds of Emacs idle time, while Emacs remains idle. This is useful if on-the-fly fontification is too slow to keep up with your typing. - Stealthy buffer fontification if `lazy-lock-stealth-time' is non-nil. This means remaining unfontified areas of buffers are fontified if Emacs has been idle for `lazy-lock-stealth-time' seconds, while Emacs remains idle. This is useful if any buffer has demand- or defer-driven fontification. See also variables `lazy-lock-stealth-lines', `lazy-lock-stealth-nice' and `lazy-lock-stealth-verbose' for stealth fontification. Use \[lazy-lock-submit-bug-report] to send bug reports or feedback. (defalias 'lazy-lock-mode #[(&optional arg) #@237 ("!\n>?0 0 !V0 ?L +0+0!) 20 " . [make-local-variable lazy-lock-mode font-lock-inhibit-thing-lock arg prefix-numeric-value 0 font-lock-mode font-lock-support-mode t lazy-lock-install lazy-lock-unstall])(#$ . 7038) nil 3 (#$ . 5051) "P"]) #@47 Submit via mail a bug report on lazy-lock.el. (defalias 'lazy-lock-submit-bug-report #[nil #@576 ("ƉQ&)" . [t reporter-prompt-for-summary-p reporter-submit-bug-report "simon@gnu.ai.mit.edu" "lazy-lock 2.06" (lazy-lock-minimum-size lazy-lock-defer-driven lazy-lock-defer-time lazy-lock-stealth-time lazy-lock-stealth-nice lazy-lock-stealth-lines lazy-lock-stealth-verbose) nil "Hi Si.,\n\nI want to report a bug. I've read the `Bugs' section of `Info' on Emacs, so I\nknow how to make a clear and unambiguous report. To reproduce the bug:\n\nStart a fresh Emacs via `" invocation-name " -no-init-file -no-site-file'.\nIn the `*scratch*' buffer, evaluate:"])(#$ . 7413) nil 9 (#$ . 7315) nil]) #@41 Unconditionally turn on Lazy Lock mode. (defalias 'turn-on-lazy-lock #[nil #@31 ("!" . [lazy-lock-mode t])(#$ . 8110) nil 2 (#$ . 8029)]) (defalias 'lazy-lock-install #[nil #@522 (" !!\n0 \nY0 :0p#\n \n90\n@!\nA\n*0)[0@@=U0@A>?[0@>\f=#k0\")" . [font-lock-value-in-major-mode lazy-lock-minimum-size min-size make-local-variable font-lock-fontified buffer-size lazy-lock-after-fontify-buffer get-buffer-window-list nomini t windows lazy-lock-after-unfontify-buffer lazy-lock-fontify-conservatively lazy-lock-install-hooks lazy-lock-defer-time not major-mode lazy-lock-defer-driven lazy-lock-install-timers lazy-lock-stealth-time])(#$ . 8213) nil 6]) (defalias 'lazy-lock-install-hooks #[(deferring fontifying defer-driven) #@455 ("0 _0!0 0Ƃ0$20 20!$C0#$!$" . [deferring fontifying make-local-hook window-scroll-functions add-hook defer-driven lazy-lock-defer-after-scroll lazy-lock-fontify-after-scroll nil t before-change-functions lazy-lock-arrange-before-change remove-hook after-change-functions font-lock-after-change-function lazy-lock-defer-after-change outline-view-change-hook lazy-lock-fontify-after-outline])(#$ . 8833) nil 5]) (defalias 'lazy-lock-install-timers #[(dtime stime) #@232 (" @@=$0 @A0\nA!  0#B) A@=?M0 AA=0A! J0#B)" . [dtime lazy-lock-timers defer cancel-timer run-with-idle-timer t lazy-lock-fontify-after-defer stime stealth lazy-lock-fontify-after-idle])(#$ . 9365) nil 7]) (defalias 'lazy-lock-unstall #[nil #@413 (" #####\f,0$" . [lazy-lock-after-unfontify-buffer remove-hook window-scroll-functions lazy-lock-fontify-after-scroll t lazy-lock-defer-after-scroll before-change-functions lazy-lock-arrange-before-change after-change-functions lazy-lock-defer-after-change outline-view-change-hook lazy-lock-fontify-after-outline font-lock-mode add-hook font-lock-after-change-function nil])(#$ . 9657) nil 5]) (defalias 'lazy-lock-fontify-after-scroll #[(window window-start) #@147 ("b ! \"`\") \"" . [window-start vertical-motion window-height window lazy-lock-fontify-region set-window-redisplay-end-trigger nil])(#$ . 10161) nil 3]) (defalias 'lazy-lock-fontify-after-trigger #[(window trigger-point) #@120 (" !b ! \" `\")" . [window-start window vertical-motion window-height lazy-lock-fontify-region trigger-point])(#$ . 10402) nil 3]) (defalias 'lazy-lock-fontify-after-resize #[(frame) #@304 (" Ž\f!\f#+" . [selected-window save-selected-window-window ((select-window save-selected-window-window)) select-frame frame walk-windows #[(window) " !q\n 0 ! \"" [window-buffer window lazy-lock-mode lazy-lock-fontify-conservatively set-window-redisplay-end-trigger nil] 3] nomini])(#$ . 10600) nil 4]) (defalias 'lazy-lock-arrange-before-change #[(beg end) #@232 (" =?@0p#?0@!!*0 \"!!œA0*" . [beg end get-buffer-window-list nomini t nil window windows markerp window-redisplay-end-trigger set-window-redisplay-end-trigger make-marker window-end])(#$ . 10985) nil 5]) (defalias 'lazy-lock-defer-after-scroll #[(window window-start) #@43 ("p>?\f0pB" . [lazy-lock-buffers])(#$ . 11306) nil 2]) (defalias 'lazy-lock-defer-after-change #[(beg end old-len) #@335 ("  \np >#0p B  Se]Td^# ?>0 >0!." . [buffer-modified-p modified t inhibit-read-only buffer-undo-list nil before-change-functions after-change-functions deactivate-mark buffer-file-name buffer-file-truename lazy-lock-buffers remove-text-properties beg end (lazy-lock nil) set-buffer-modified-p])(#$ . 11435) nil 4]) (defalias 'lazy-lock-fontify-after-defer #[nil #@372 ("'0 '0@# 0 @! A0A)00O0O0\n>O0 ?0 ?O0#$" . [lazy-lock-buffers input-pending-p get-buffer-window-list nomini t windows lazy-lock-fontify-window lazy-lock-mode lazy-lock-defer-driven lazy-lock-fontify-after-scroll window-scroll-functions lazy-lock-unfontified-p remove-hook add-hook lazy-lock-defer-after-scroll nil])(#$ . 11843) nil 6]) (defalias 'lazy-lock-fontify-after-idle #[nil #@557 ("0 !?0 ʼn  @q\n)0 10 ?_0 M0F0 #M0! _0!10 A m00)0~0ւ0\"," . [executing-kbd-macro window-minibuffer-p selected-window buffer-list t nil message-log-max message continue buffers lazy-lock-mode lazy-lock-unfontified-p input-pending-p lazy-lock-stealth-verbose "Fontifying stealthily... %2d%% of %s" lazy-lock-percent-fontified buffer-name "Fontifying stealthily..." lazy-lock-fontify-chunk sit-for lazy-lock-stealth-nice "Fontifying stealthily...%s" "done" "quit"])(#$ . 12287) nil 5]) (defalias 'lazy-lock-fontify-after-outline #[nil #@115 ("p#0 @! A\n0)" . [get-buffer-window-list nomini t windows lazy-lock-fontify-conservatively nil])(#$ . 12919) nil 5]) (defalias 'lazy-lock-after-fontify-buffer #[nil #@282 ("  \ned# ?)0 )0!." . [buffer-modified-p modified t inhibit-read-only buffer-undo-list nil before-change-functions after-change-functions deactivate-mark buffer-file-name buffer-file-truename add-text-properties (lazy-lock t) set-buffer-modified-p])(#$ . 13108) nil 4]) (defalias 'lazy-lock-after-unfontify-buffer #[nil #@287 ("  \ned# ?)0 )0!." . [buffer-modified-p modified t inhibit-read-only buffer-undo-list nil before-change-functions after-change-functions deactivate-mark buffer-file-name buffer-file-truename remove-text-properties (lazy-lock nil) set-buffer-modified-p])(#$ . 13466) nil 4]) (defalias 'lazy-lock-fontify-region #[(beg end) #@668 (" \n$F0 ǎ   ֏ ?D0 D0!. " . [text-property-any beg end lazy-lock nil match-data match-data ((store-match-data match-data)) font-lock-beginning-of-syntax-function next buffer-modified-p modified t inhibit-read-only buffer-undo-list before-change-functions after-change-functions deactivate-mark buffer-file-name buffer-file-truename data (byte-code " \n$\n0\n bn0y` bn#0y` \" # \n$00LJ" [text-property-any beg end lazy-lock t next 0 nil font-lock-fontify-region add-text-properties (lazy-lock t)] 6) (((error quit) (message "Fontifying region...%s" data))) set-buffer-modified-p])(#$ . 13827) nil 5]) (defalias 'lazy-lock-fontify-chunk #[nil #@233 ("~`\"`d$%0\fA0\f`Z` ZWA0\f+0eby`\f60eby`\"S0 b[y` by`\"," . [nil previous-single-property-change lazy-lock text-property-any next prev lazy-lock-fontify-region 0 lazy-lock-stealth-lines])(#$ . 14562) nil 7]) (defalias 'lazy-lock-fontify-window #[(window) #@97 (" !q ! !\")" . [window-buffer window lazy-lock-fontify-region window-start window-end])(#$ . 14867) nil 4]) (defalias 'lazy-lock-fontify-conservatively #[(window) #@120 (" !qŠ ![ \"`) ! \"`)\")" . [window-buffer window lazy-lock-fontify-region vertical-motion window-height])(#$ . 15045) nil 5]) (defalias 'lazy-lock-unfontified-p #[nil #@53 ("~ed$)" . [text-property-any lazy-lock nil])(#$ . 15231) nil 5]) (defalias 'lazy-lock-percent-fontified #[nil #@141 ("~ed \f$,0 \f$ 0\f \n Z\\\n 0 _ -" . [0 nil next size end beg text-property-any lazy-lock t 100 buffer-size])(#$ . 15355) nil 5]) (byte-code " Ž \"*;U;U;MMM!1BM!V!JB#!`M!jM\"\"%%\"%!" [match-data match-data ((store-match-data match-data)) string-match "Lucid\\|XEmacs" emacs-version emacs-major-version 19 emacs-minor-version 30 lazy-lock-install-timers #[(foo bar) "##p\"\"" [add-hook post-command-idle-hook lazy-lock-fontify-post-command t lazy-lock-fontify-post-idle add-to-list lazy-lock-install post-command-hook lazy-lock-fontify-after-install] 4] lazy-lock-fontify-post-command #[nil "* ?*\n ! $ $!* " [lazy-lock-buffers executing-kbd-macro deactivate-mark transient-mark-mode nil mark-active run-hooks deactivate-mark-hook sit-for lazy-lock-defer-time 0 lazy-lock-fontify-after-defer] 2] lazy-lock-fontify-post-idle #[nil "( ?( !?(\f !!( " [lazy-lock-stealth-time executing-kbd-macro window-minibuffer-p selected-window deactivate-mark transient-mark-mode nil mark-active run-hooks deactivate-mark-hook sit-for lazy-lock-fontify-after-idle] 2] boundp lazy-lock-install nil current-load-list lazy-lock-fontify-after-install #[nil "\"  A@#\"" [remove-hook post-command-hook lazy-lock-fontify-after-install lazy-lock-install mapcar lazy-lock-fontify-conservatively get-buffer-window-list nomini t] 6] font-lock-inhibit-thing-lock put variable-documentation "List of Font Lock mode related modes that should not be turned on." fboundp font-lock-value-in-major-mode #[(alist) ": A" [alist major-mode t] 2] get-buffer-window-list #[(buffer &optional minibuf frame) " !\n !#\f*" [bufferp buffer get-buffer nil windows walk-windows #[(window) " !\n= B" [window-buffer window buffer windows] 2] minibuf frame] 4 "Return windows currently displaying BUFFER, or nil if none."] add-hook window-size-change-functions lazy-lock-fontify-after-resize redisplay-end-trigger-functions lazy-lock-fontify-after-trigger lazy-lock-mode minor-mode-alist append ((lazy-lock-mode nil)) provide lazy-lock] 4)