+2006-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * font-lock.el (font-lock-after-change-function): Refontify next line
+ as well if end is at BOL.
+ (font-lock-extend-jit-lock-region-after-change): Be more careful to
+ only extend the region as much as needed.
+
2006-09-28 Richard Stallman <rms@gnu.org>
* comint.el (comint-mode): Bind font-lock-defaults non-nil.
* subr.el (insert-for-yank-1): Handle `font-lock-face' specially.
- * international/mule.el (after-insert-file-set-coding):
+ * international/mule.el (after-insert-file-set-coding):
If VISIT, don't let set-buffer-multibyte make undo info.
-
+
2006-09-28 Osamu Yamane <yamane@green.ocn.ne.jp> (tiny change)
* mail/smtpmail.el (smtpmail-try-auth-methods): Do not break long
;; number of lines.
;; (setq beg (progn (goto-char beg) (line-beginning-position))
;; end (progn (goto-char end) (line-beginning-position 2)))
- )
+ (unless (eq end (point-max))
+ ;; Rounding up to a whole number of lines should include the
+ ;; line right after `end'. Typical case: the first char of
+ ;; the line was deleted. Or a \n was inserted in the middle
+ ;; of a line.
+ (setq end (1+ end))))
(font-lock-fontify-region beg end)))))
(defvar jit-lock-start) (defvar jit-lock-end)
(setq beg (or (previous-single-property-change
beg 'font-lock-multiline)
(point-min))))
- (setq end (or (text-property-any end (point-max)
- 'font-lock-multiline nil)
- (point-max)))
+ (when (< end (point-max))
+ (setq end
+ (if (get-text-property end 'font-lock-multiline)
+ (or (text-property-any end (point-max)
+ 'font-lock-multiline nil)
+ (point-max))
+ ;; Rounding up to a whole number of lines should include the
+ ;; line right after `end'. Typical case: the first char of
+ ;; the line was deleted. Or a \n was inserted in the middle
+ ;; of a line.
+ (1+ end))))
;; Finally, pre-enlarge the region to a whole number of lines, to try
;; and anticipate what font-lock-default-fontify-region will do, so as to
;; avoid double-redisplay.
(when (memq 'font-lock-extend-region-wholelines
font-lock-extend-region-functions)
(goto-char beg)
- (forward-line 0)
- (setq jit-lock-start (min jit-lock-start (point)))
+ (setq jit-lock-start (min jit-lock-start (line-beginning-position)))
(goto-char end)
- (forward-line 1)
- (setq jit-lock-end (max jit-lock-end (point)))))))
+ (setq jit-lock-end
+ (max jit-lock-end
+ (if (bolp) (point) (line-beginning-position 2))))))))
(defun font-lock-fontify-block (&optional arg)
"Fontify some lines the way `font-lock-fontify-buffer' would.