summaryrefslogtreecommitdiff
path: root/lisp/ediff-diff.el
diff options
context:
space:
mode:
authorMichael Kifer <kifer@cs.stonybrook.edu>2000-07-06 05:36:21 +0000
committerMichael Kifer <kifer@cs.stonybrook.edu>2000-07-06 05:36:21 +0000
commitd396e5218f3fc00543852284be85bc3c1db28663 (patch)
treec17f5db138ae0ffcb0845191586944dcd36f7ae4 /lisp/ediff-diff.el
parent5e2dfaa48edd8fc566892fd3e72baa50a7dbe2b4 (diff)
downloademacs-d396e5218f3fc00543852284be85bc3c1db28663.tar.gz
2000-07-05 Michael Kifer <kifer@cs.sunysb.edu>
* ediff-diff.el (ediff-wordify): use syntax table. * ediff-init.el (ediff-has-face-support-p): use ediff-color-display-p. (ediff-color-display-p): use display-color-p, changed to defun from defsubst. Got rid of special cases for NeXT and OS/2. * ediff-wind.el (ediff-setup-control-frame): set proper modeline face.
Diffstat (limited to 'lisp/ediff-diff.el')
-rw-r--r--lisp/ediff-diff.el13
1 files changed, 10 insertions, 3 deletions
diff --git a/lisp/ediff-diff.el b/lisp/ediff-diff.el
index a7236bd1d35..e6864bf02fe 100644
--- a/lisp/ediff-diff.el
+++ b/lisp/ediff-diff.el
@@ -1216,7 +1216,7 @@ Used for splitting difference regions into individual words.")
"*Characters constituting white space.
These characters are ignored when differing regions are split into words.")
-(defvar ediff-word-1 "\\(a-zA-Z---_\\|\w\\)"
+(defvar ediff-word-1 "a-zA-Z---_"
"*Characters that constitute words of type 1.
More precisely, [ediff-word-1] is a regexp that matches type 1 words.
See `ediff-forward-word' for more details.")
@@ -1253,13 +1253,19 @@ arguments to `skip-chars-forward'."
(> (skip-chars-forward ediff-word-4) 0)
))
+
(defun ediff-wordify (beg end in-buffer out-buffer &optional control-buf)
- (let (sv-point string)
+ (let (inbuf-syntax-tbl sv-point string)
(save-excursion
(set-buffer in-buffer)
+ (setq inbuf-syntax-tbl (syntax-table))
(setq string (buffer-substring-no-properties beg end))
(set-buffer out-buffer)
+ ;; Make sure that temp buff syntax table is the same a the original buf
+ ;; syntax tbl, because we use ediff-forward-word in both and
+ ;; ediff-forward-word depends on the syntax classes of characters.
+ (set-syntax-table inbuf-syntax-tbl)
(erase-buffer)
(insert string)
(goto-char (point-min))
@@ -1271,7 +1277,8 @@ arguments to `skip-chars-forward'."
;; different invocations
(if control-buf
(funcall
- (ediff-with-current-buffer control-buf ediff-forward-word-function))
+ (ediff-with-current-buffer
+ control-buf ediff-forward-word-function))
(funcall ediff-forward-word-function))
(setq sv-point (point))
(skip-chars-forward ediff-whitespace)