[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/font-lock.el
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/font-lock.el |
Date: |
Fri, 21 Oct 2005 02:29:57 -0400 |
Index: emacs/lisp/font-lock.el
diff -c emacs/lisp/font-lock.el:1.276 emacs/lisp/font-lock.el:1.277
*** emacs/lisp/font-lock.el:1.276 Mon Oct 10 03:25:23 2005
--- emacs/lisp/font-lock.el Fri Oct 21 06:29:52 2005
***************
*** 1184,1218 ****
;; For completeness: this is to `remove-text-properties' as
`put-text-property'
;; is to `add-text-properties', etc.
! ;(defun remove-text-property (start end property &optional object)
! ; "Remove a property from text from START to END.
! ;Argument PROPERTY is the property to remove.
! ;Optional argument OBJECT is the string or buffer containing the text.
! ;Return t if the property was actually removed, nil otherwise."
! ; (remove-text-properties start end (list property) object))
;; For consistency: maybe this should be called `remove-single-property' like
;; `next-single-property-change' (not `next-single-text-property-change'),
etc.
! ;(defun remove-single-text-property (start end prop value &optional object)
! ; "Remove a specific property value from text from START to END.
! ;Arguments PROP and VALUE specify the property and value to remove. The
! ;resulting property values are not equal to VALUE nor lists containing VALUE.
! ;Optional argument OBJECT is the string or buffer containing the text."
! ; (let ((start (text-property-not-all start end prop nil object)) next prev)
! ; (while start
! ; (setq next (next-single-property-change start prop object end)
! ; prev (get-text-property start prop object))
! ; (cond ((and (symbolp prev) (eq value prev))
! ; (remove-text-property start next prop object))
! ; ((and (listp prev) (memq value prev))
! ; (let ((new (delq value prev)))
! ; (cond ((null new)
! ; (remove-text-property start next prop object))
! ; ((= (length new) 1)
! ; (put-text-property start next prop (car new) object))
! ; (t
! ; (put-text-property start next prop new object))))))
! ; (setq start (text-property-not-all next end prop nil object)))))
;;; End of Additional text property functions.
--- 1184,1218 ----
;; For completeness: this is to `remove-text-properties' as
`put-text-property'
;; is to `add-text-properties', etc.
! ;;(defun remove-text-property (start end property &optional object)
! ;; "Remove a property from text from START to END.
! ;;Argument PROPERTY is the property to remove.
! ;;Optional argument OBJECT is the string or buffer containing the text.
! ;;Return t if the property was actually removed, nil otherwise."
! ;; (remove-text-properties start end (list property) object))
;; For consistency: maybe this should be called `remove-single-property' like
;; `next-single-property-change' (not `next-single-text-property-change'),
etc.
! ;;(defun remove-single-text-property (start end prop value &optional object)
! ;; "Remove a specific property value from text from START to END.
! ;;Arguments PROP and VALUE specify the property and value to remove. The
! ;;resulting property values are not equal to VALUE nor lists containing VALUE.
! ;;Optional argument OBJECT is the string or buffer containing the text."
! ;; (let ((start (text-property-not-all start end prop nil object)) next prev)
! ;; (while start
! ;; (setq next (next-single-property-change start prop object end)
! ;; prev (get-text-property start prop object))
! ;; (cond ((and (symbolp prev) (eq value prev))
! ;; (remove-text-property start next prop object))
! ;; ((and (listp prev) (memq value prev))
! ;; (let ((new (delq value prev)))
! ;; (cond ((null new)
! ;; (remove-text-property start next prop object))
! ;; ((= (length new) 1)
! ;; (put-text-property start next prop (car new) object))
! ;; (t
! ;; (put-text-property start next prop new object))))))
! ;; (setq start (text-property-not-all next end prop nil object)))))
;;; End of Additional text property functions.
***************
*** 1534,1540 ****
(if (memq (get-text-property (match-beginning 0) 'face)
'(font-lock-string-face font-lock-doc-face
font-lock-comment-face))
! font-lock-warning-face)
prepend)))))
keywords))
--- 1534,1541 ----
(if (memq (get-text-property (match-beginning 0) 'face)
'(font-lock-string-face font-lock-doc-face
font-lock-comment-face))
! (list 'face font-lock-warning-face
! 'help-echo "Looks like a toplevel defun: escape
the parenthesis"))
prepend)))))
keywords))
***************
*** 1602,1608 ****
(let* ((defaults (or font-lock-defaults
(cdr (assq major-mode
(with-no-warnings
! font-lock-defaults-alist)))))
(keywords
(font-lock-choose-keywords (nth 0 defaults)
(font-lock-value-in-major-mode
font-lock-maximum-decoration)))
--- 1603,1609 ----
(let* ((defaults (or font-lock-defaults
(cdr (assq major-mode
(with-no-warnings
! font-lock-defaults-alist)))))
(keywords
(font-lock-choose-keywords (nth 0 defaults)
(font-lock-value-in-major-mode
font-lock-maximum-decoration)))
***************
*** 1854,1948 ****
;; buttons and when they are on or off needs tweaking. I have assumed that
the
;; mechanism is via `menu-toggle' and `menu-selected' symbol properties. sm.
! ;;;;###autoload
! ;(progn
! ; ;; Make the Font Lock menu.
! ; (defvar font-lock-menu (make-sparse-keymap "Syntax Highlighting"))
! ; ;; Add the menu items in reverse order.
! ; (define-key font-lock-menu [fontify-less]
! ; '("Less In Current Buffer" . font-lock-fontify-less))
! ; (define-key font-lock-menu [fontify-more]
! ; '("More In Current Buffer" . font-lock-fontify-more))
! ; (define-key font-lock-menu [font-lock-sep]
! ; '("--"))
! ; (define-key font-lock-menu [font-lock-mode]
! ; '("In Current Buffer" . font-lock-mode))
! ; (define-key font-lock-menu [global-font-lock-mode]
! ; '("In All Buffers" . global-font-lock-mode)))
! ;
! ;;;;###autoload
! ;(progn
! ; ;; We put the appropriate `menu-enable' etc. symbol property values on when
! ; ;; font-lock.el is loaded, so we don't need to autoload the three
variables.
! ; (put 'global-font-lock-mode 'menu-toggle t)
! ; (put 'font-lock-mode 'menu-toggle t)
! ; (put 'font-lock-fontify-more 'menu-enable '(identity))
! ; (put 'font-lock-fontify-less 'menu-enable '(identity)))
! ;
! ; ;; Put the appropriate symbol property values on now. See above.
! ;(put 'global-font-lock-mode 'menu-selected 'global-font-lock-mode)
! ;(put 'font-lock-mode 'menu-selected 'font-lock-mode)
! ;(put 'font-lock-fontify-more 'menu-enable '(nth 2 font-lock-fontify-level))
! ;(put 'font-lock-fontify-less 'menu-enable '(nth 1 font-lock-fontify-level))
! ;
! ;(defvar font-lock-fontify-level nil) ; For less/more fontification.
! ;
! ;(defun font-lock-fontify-level (level)
! ; (let ((font-lock-maximum-decoration level))
! ; (when font-lock-mode
! ; (font-lock-mode))
! ; (font-lock-mode)
! ; (when font-lock-verbose
! ; (message "Fontifying %s... level %d" (buffer-name) level))))
! ;
! ;(defun font-lock-fontify-less ()
! ; "Fontify the current buffer with less decoration.
! ;See `font-lock-maximum-decoration'."
! ; (interactive)
! ; ;; Check in case we get called interactively.
! ; (if (nth 1 font-lock-fontify-level)
! ; (font-lock-fontify-level (1- (car font-lock-fontify-level)))
! ; (error "No less decoration")))
! ;
! ;(defun font-lock-fontify-more ()
! ; "Fontify the current buffer with more decoration.
! ;See `font-lock-maximum-decoration'."
! ; (interactive)
! ; ;; Check in case we get called interactively.
! ; (if (nth 2 font-lock-fontify-level)
! ; (font-lock-fontify-level (1+ (car font-lock-fontify-level)))
! ; (error "No more decoration")))
! ;
! ; ;; This should be called by `font-lock-set-defaults'.
! ;(defun font-lock-set-menu ()
! ; ;; Activate less/more fontification entries if there are multiple levels
for
! ; ;; the current buffer. Sets `font-lock-fontify-level' to be of the form
! ; ;; (CURRENT-LEVEL IS-LOWER-LEVEL-P IS-HIGHER-LEVEL-P) for menu activation.
! ; (let ((keywords (or (nth 0 font-lock-defaults)
! ; (nth 1 (assq major-mode font-lock-defaults-alist))))
! ; (level (font-lock-value-in-major-mode font-lock-maximum-decoration)))
! ; (make-local-variable 'font-lock-fontify-level)
! ; (if (or (symbolp keywords) (= (length keywords) 1))
! ; (font-lock-unset-menu)
! ; (cond ((eq level t)
! ; (setq level (1- (length keywords))))
! ; ((or (null level) (zerop level))
! ; ;; The default level is usually, but not necessarily, level 1.
! ; (setq level (- (length keywords)
! ; (length (member (eval (car keywords))
! ; (mapcar 'eval (cdr keywords))))))))
! ; (setq font-lock-fontify-level (list level (> level 1)
! ; (< level (1- (length keywords))))))))
! ;
! ; ;; This should be called by `font-lock-unset-defaults'.
! ;(defun font-lock-unset-menu ()
! ; ;; Deactivate less/more fontification entries.
! ; (setq font-lock-fontify-level nil))
;;; End of Menu support.
;;; Various regexp information shared by several modes.
! ; ;; Information specific to a single mode should go in its load library.
;; Font Lock support for C, C++, Objective-C and Java modes is now in
;; cc-fonts.el (and required by cc-mode.el). However, the below function
--- 1855,1949 ----
;; buttons and when they are on or off needs tweaking. I have assumed that
the
;; mechanism is via `menu-toggle' and `menu-selected' symbol properties. sm.
! ;;;;;###autoload
! ;;(progn
! ;; ;; Make the Font Lock menu.
! ;; (defvar font-lock-menu (make-sparse-keymap "Syntax Highlighting"))
! ;; ;; Add the menu items in reverse order.
! ;; (define-key font-lock-menu [fontify-less]
! ;; '("Less In Current Buffer" . font-lock-fontify-less))
! ;; (define-key font-lock-menu [fontify-more]
! ;; '("More In Current Buffer" . font-lock-fontify-more))
! ;; (define-key font-lock-menu [font-lock-sep]
! ;; '("--"))
! ;; (define-key font-lock-menu [font-lock-mode]
! ;; '("In Current Buffer" . font-lock-mode))
! ;; (define-key font-lock-menu [global-font-lock-mode]
! ;; '("In All Buffers" . global-font-lock-mode)))
! ;;
! ;;;;;###autoload
! ;;(progn
! ;; ;; We put the appropriate `menu-enable' etc. symbol property values on
when
! ;; ;; font-lock.el is loaded, so we don't need to autoload the three
variables.
! ;; (put 'global-font-lock-mode 'menu-toggle t)
! ;; (put 'font-lock-mode 'menu-toggle t)
! ;; (put 'font-lock-fontify-more 'menu-enable '(identity))
! ;; (put 'font-lock-fontify-less 'menu-enable '(identity)))
! ;;
! ;; ;; Put the appropriate symbol property values on now. See above.
! ;;(put 'global-font-lock-mode 'menu-selected 'global-font-lock-mode)
! ;;(put 'font-lock-mode 'menu-selected 'font-lock-mode)
! ;;(put 'font-lock-fontify-more 'menu-enable '(nth 2 font-lock-fontify-level))
! ;;(put 'font-lock-fontify-less 'menu-enable '(nth 1 font-lock-fontify-level))
! ;;
! ;;(defvar font-lock-fontify-level nil) ; For less/more fontification.
! ;;
! ;;(defun font-lock-fontify-level (level)
! ;; (let ((font-lock-maximum-decoration level))
! ;; (when font-lock-mode
! ;; (font-lock-mode))
! ;; (font-lock-mode)
! ;; (when font-lock-verbose
! ;; (message "Fontifying %s... level %d" (buffer-name) level))))
! ;;
! ;;(defun font-lock-fontify-less ()
! ;; "Fontify the current buffer with less decoration.
! ;;See `font-lock-maximum-decoration'."
! ;; (interactive)
! ;; ;; Check in case we get called interactively.
! ;; (if (nth 1 font-lock-fontify-level)
! ;; (font-lock-fontify-level (1- (car font-lock-fontify-level)))
! ;; (error "No less decoration")))
! ;;
! ;;(defun font-lock-fontify-more ()
! ;; "Fontify the current buffer with more decoration.
! ;;See `font-lock-maximum-decoration'."
! ;; (interactive)
! ;; ;; Check in case we get called interactively.
! ;; (if (nth 2 font-lock-fontify-level)
! ;; (font-lock-fontify-level (1+ (car font-lock-fontify-level)))
! ;; (error "No more decoration")))
! ;;
! ;; ;; This should be called by `font-lock-set-defaults'.
! ;;(defun font-lock-set-menu ()
! ;; ;; Activate less/more fontification entries if there are multiple levels
for
! ;; ;; the current buffer. Sets `font-lock-fontify-level' to be of the form
! ;; ;; (CURRENT-LEVEL IS-LOWER-LEVEL-P IS-HIGHER-LEVEL-P) for menu activation.
! ;; (let ((keywords (or (nth 0 font-lock-defaults)
! ;; (nth 1 (assq major-mode font-lock-defaults-alist))))
! ;; (level (font-lock-value-in-major-mode font-lock-maximum-decoration)))
! ;; (make-local-variable 'font-lock-fontify-level)
! ;; (if (or (symbolp keywords) (= (length keywords) 1))
! ;; (font-lock-unset-menu)
! ;; (cond ((eq level t)
! ;; (setq level (1- (length keywords))))
! ;; ((or (null level) (zerop level))
! ;; ;; The default level is usually, but not necessarily, level 1.
! ;; (setq level (- (length keywords)
! ;; (length (member (eval (car keywords))
! ;; (mapcar 'eval (cdr keywords))))))))
! ;; (setq font-lock-fontify-level (list level (> level 1)
! ;; (< level (1- (length keywords))))))))
! ;;
! ;; ;; This should be called by `font-lock-unset-defaults'.
! ;;(defun font-lock-unset-menu ()
! ;; ;; Deactivate less/more fontification entries.
! ;; (setq font-lock-fontify-level nil))
;;; End of Menu support.
;;; Various regexp information shared by several modes.
! ;; ;; Information specific to a single mode should go in its load library.
;; Font Lock support for C, C++, Objective-C and Java modes is now in
;; cc-fonts.el (and required by cc-mode.el). However, the below function