Commit c6db81aa authored by Stefan Monnier's avatar Stefan Monnier
Browse files

(blink-matching-open): Obey syntax-table text properties.

parent 35dccc62
;;; simple.el --- basic editing commands for Emacs ;;; simple.el --- basic editing commands for Emacs
;; Copyright (C) 1985, 86, 87, 93, 94, 95, 96, 97, 98, 99, ;; Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
;; 2000, 01, 02, 03, 2004 ;; 2000, 2001, 2002, 2003, 2004
;; Free Software Foundation, Inc. ;; Free Software Foundation, Inc.
;; Maintainer: FSF ;; Maintainer: FSF
...@@ -736,7 +736,7 @@ that uses or sets the mark." ...@@ -736,7 +736,7 @@ that uses or sets the mark."
(defun what-line () (defun what-line ()
"Print the current buffer line number and narrowed line number of point." "Print the current buffer line number and narrowed line number of point."
(interactive) (interactive)
(let ((opoint (point)) (start (point-min)) (let ((start (point-min))
(n (line-number-at-pos))) (n (line-number-at-pos)))
(if (= start 1) (if (= start 1)
(message "Line %d" n) (message "Line %d" n)
...@@ -3124,8 +3124,7 @@ Outline mode sets this." ...@@ -3124,8 +3124,7 @@ Outline mode sets this."
;; for intermediate positions. ;; for intermediate positions.
(let ((inhibit-point-motion-hooks t) (let ((inhibit-point-motion-hooks t)
(opoint (point)) (opoint (point))
(forward (> arg 0)) (forward (> arg 0)))
new line-end line-beg)
(unwind-protect (unwind-protect
(progn (progn
(if (not (memq last-command '(next-line previous-line))) (if (not (memq last-command '(next-line previous-line)))
...@@ -3928,16 +3927,12 @@ when it is off screen)." ...@@ -3928,16 +3927,12 @@ when it is off screen)."
(setq blinkpos (scan-sexps oldpos -1))) (setq blinkpos (scan-sexps oldpos -1)))
(error nil))) (error nil)))
(and blinkpos (and blinkpos
(save-excursion (not (eq (car (syntax-after blinkpos)) 8)) ;Not syntax '$'.
(goto-char blinkpos)
(not (looking-at "\\s$")))
(setq matching-paren (setq matching-paren
(or (and parse-sexp-lookup-properties (let ((syntax (syntax-after blinkpos)))
(let ((prop (get-text-property blinkpos 'syntax-table))) (and (consp syntax)
(and (consp prop) (eq (car syntax) 4)
(eq (car prop) 4) (cdr syntax)))
(cdr prop))))
(matching-paren (char-after blinkpos)))
mismatch mismatch
(or (null matching-paren) (or (null matching-paren)
(/= (char-after (1- oldpos)) (/= (char-after (1- oldpos))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment