X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/33256f149ff9e346ea4514cf9e454760116c7b8e..678fb7066698ebfe3aecba722294025ed26da01b:/lisp/font-lock.el diff --git a/lisp/font-lock.el b/lisp/font-lock.el index 32fbb0608a..95bdc815e1 100644 --- a/lisp/font-lock.el +++ b/lisp/font-lock.el @@ -1,6 +1,6 @@ ;;; font-lock.el --- Electric font lock mode -;; Copyright (C) 1992-2011 Free Software Foundation, Inc. +;; Copyright (C) 1992-2012 Free Software Foundation, Inc. ;; Author: Jamie Zawinski ;; Richard Stallman @@ -228,8 +228,11 @@ ;; User variables. (defcustom font-lock-maximum-size 256000 - "Maximum size of a buffer for buffer fontification. -Only buffers less than this can be fontified when Font Lock mode is turned on. + "Maximum buffer size for unsupported buffer fontification. +When `font-lock-support-mode' is nil, only buffers smaller than +this are fontified. This variable has no effect if a Font Lock +support mode (usually `jit-lock-mode') is enabled. + If nil, means size is irrelevant. 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: @@ -248,12 +251,14 @@ for buffers in Rmail mode, and size is irrelevant otherwise." (const :tag "none" nil) (integer :tag "size"))))) :group 'font-lock) +(make-obsolete-variable 'font-lock-maximum-size nil "24.1") (defcustom font-lock-maximum-decoration t "Maximum decoration level for fontification. If nil, use the default decoration (typically the minimum available). If t, use the maximum decoration available. If a number, use that level of decoration (or if not available the maximum). +The higher the number, the more decoration is done. If a list, each element should be a cons pair of the form (MAJOR-MODE . LEVEL), where MAJOR-MODE is a symbol or t (meaning the default). For example: ((c-mode . t) (c++-mode . 2) (t . 1)) @@ -289,7 +294,7 @@ If a number, only buffers greater than this size have fontification messages." ;; and they give users another mechanism for changing face appearance. ;; We now allow a FACENAME in `font-lock-keywords' to be any expression that ;; returns a face. So the easiest thing is to continue using these variables, -;; rather than sometimes evaling FACENAME and sometimes not. sm. +;; rather than sometimes evalling FACENAME and sometimes not. sm. ;; Note that in new code, in the vast majority of cases there is no ;; need to create variables that specify face names. Simply using @@ -563,7 +568,7 @@ we recommend setting `syntax-begin-function' instead. This is normally set via `font-lock-defaults'.") (make-obsolete-variable 'font-lock-beginning-of-syntax-function - 'syntax-begin-function "23.3") + 'syntax-begin-function "23.3" 'set) (defvar font-lock-mark-block-function nil "*Non-nil means use this function to mark a block of text. @@ -976,7 +981,7 @@ The value of this variable is used when Font Lock mode is turned on." ;; rules one way and C code another. Neat! ;; ;; A further reason to use the fontification indirection feature is when the -;; default syntactual fontification, or the default fontification in general, +;; default syntactic fontification, or the default fontification in general, ;; is not flexible enough for a particular major mode. For example, perhaps ;; comments are just too hairy for `font-lock-fontify-syntactically-region' to ;; cope with. You need to write your own version of that function, e.g., @@ -1017,14 +1022,20 @@ The region it returns may start or end in the middle of a line.") (funcall font-lock-unfontify-buffer-function)) (defun font-lock-fontify-region (beg end &optional loudly) + "Fontify the text between BEG and END. +If LOUDLY is non-nil, print status messages while fontifying. +This works by calling `font-lock-fontify-region-function'." (font-lock-set-defaults) (funcall font-lock-fontify-region-function beg end loudly)) (defun font-lock-unfontify-region (beg end) + "Unfontify the text between BEG and END. +This works by calling `font-lock-unfontify-region-function'." (save-buffer-state (funcall font-lock-unfontify-region-function beg end))) (defun font-lock-default-fontify-buffer () + "Fontify the whole buffer using `font-lock-fontify-region-function'." (let ((verbose (if (numberp font-lock-verbose) (> (buffer-size) font-lock-verbose) font-lock-verbose))) @@ -1044,6 +1055,7 @@ The region it returns may start or end in the middle of a line.") (quit (font-lock-unfontify-buffer))))))) (defun font-lock-default-unfontify-buffer () + "Unfontify the whole buffer using `font-lock-unfontify-region-function'." ;; Make sure we unfontify etc. in the whole buffer. (save-restriction (widen) @@ -1113,6 +1125,9 @@ Put first the functions more likely to cause a change and cheaper to compute.") changed)) (defun font-lock-default-fontify-region (beg end loudly) + "Fontify the text between BEG and END. +If LOUDLY is non-nil, print status messages while fontifying. +This function is the default `font-lock-fontify-region-function'." (save-buffer-state ;; Use the fontification syntax table, if any. (with-syntax-table (or font-lock-syntax-table (syntax-table)) @@ -1161,6 +1176,8 @@ This is used by `font-lock-default-unfontify-region' to decide what properties to clear before refontifying a region.") (defun font-lock-default-unfontify-region (beg end) + "Unfontify the text between BEG and END. +This function is the default `font-lock-unfontify-region-function'." (remove-list-of-text-properties beg end (append font-lock-extra-managed-props @@ -1725,7 +1742,7 @@ If SYNTACTIC-KEYWORDS is non-nil, it means these keywords are used for keyword))) (defun font-lock-eval-keywords (keywords) - "Evalulate KEYWORDS if a function (funcall) or variable (eval) name." + "Evaluate KEYWORDS if a function (funcall) or variable (eval) name." (if (listp keywords) keywords (font-lock-eval-keywords (if (fboundp keywords) @@ -1856,19 +1873,13 @@ Sets various variables using `font-lock-defaults' and (((class color) (min-colors 8) (background light)) (:foreground "red")) (((class color) (min-colors 8) (background dark)) - ) + (:foreground "yellow")) (t (:weight bold :slant italic))) "Font Lock mode face used to highlight comments." :group 'font-lock-faces) (defface font-lock-comment-delimiter-face - '((default :inherit font-lock-comment-face) - (((class grayscale))) - (((class color) (min-colors 16))) - (((class color) (min-colors 8) (background light)) - :foreground "red") - (((class color) (min-colors 8) (background dark)) - :foreground "red1")) + '((default :inherit font-lock-comment-face)) "Font Lock mode face used to highlight comment delimiters." :group 'font-lock-faces) @@ -1904,7 +1915,7 @@ Sets various variables using `font-lock-defaults' and (defface font-lock-builtin-face '((((class grayscale) (background light)) (:foreground "LightGray" :weight bold)) (((class grayscale) (background dark)) (:foreground "DimGray" :weight bold)) - (((class color) (min-colors 88) (background light)) (:foreground "MediumOrchid4")) + (((class color) (min-colors 88) (background light)) (:foreground "dark slate blue")) (((class color) (min-colors 88) (background dark)) (:foreground "LightSteelBlue")) (((class color) (min-colors 16) (background light)) (:foreground "Orchid")) (((class color) (min-colors 16) (background dark)) (:foreground "LightSteelBlue")) @@ -1964,12 +1975,7 @@ Sets various variables using `font-lock-defaults' and :group 'font-lock-faces) (defface font-lock-warning-face - '((((class color) (min-colors 88) (background light)) (:foreground "Red1" :weight bold)) - (((class color) (min-colors 88) (background dark)) (:foreground "Pink" :weight bold)) - (((class color) (min-colors 16) (background light)) (:foreground "Red1" :weight bold)) - (((class color) (min-colors 16) (background dark)) (:foreground "Pink" :weight bold)) - (((class color) (min-colors 8)) (:foreground "red")) - (t (:inverse-video t :weight bold))) + '((t :inherit error)) "Font Lock mode face used to highlight warnings." :group 'font-lock-faces)