aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier2001-11-15 01:25:35 +0000
committerStefan Monnier2001-11-15 01:25:35 +0000
commite29f823e0d54b05ee30b66b286589e4b465b3ac4 (patch)
tree71ee071c2d1bdf9b530aab19aec822094c69e0ec
parentd2936d21a1168390b2798956db4638b21906afbf (diff)
downloademacs-e29f823e0d54b05ee30b66b286589e4b465b3ac4.tar.gz
emacs-e29f823e0d54b05ee30b66b286589e4b465b3ac4.zip
(smerge-match-conflict): Fix typo.
(smerge-diff): Be careful to read match-data early enough.
-rw-r--r--lisp/smerge-mode.el16
1 files changed, 11 insertions, 5 deletions
diff --git a/lisp/smerge-mode.el b/lisp/smerge-mode.el
index f561992fb24..5ce9328048d 100644
--- a/lisp/smerge-mode.el
+++ b/lisp/smerge-mode.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Stefan Monnier <monnier@cs.yale.edu> 5;; Author: Stefan Monnier <monnier@cs.yale.edu>
6;; Keywords: merge diff3 cvs conflict 6;; Keywords: merge diff3 cvs conflict
7;; Revision: $Id: smerge-mode.el,v 1.13 2001/07/31 08:26:47 gerd Exp $ 7;; Revision: $Id: smerge-mode.el,v 1.14 2001/07/31 08:28:43 gerd Exp $
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
@@ -332,7 +332,7 @@ An error is raised if not inside a conflict."
332 (when base-start (1- base-start)) base-start 332 (when base-start (1- base-start)) base-start
333 (1- other-start) other-start)) 333 (1- other-start) other-start))
334 t) 334 t)
335 (error "Point not in conflict region")))) 335 (search-failed (error "Point not in conflict region")))))
336 336
337(defun smerge-find-conflict (&optional limit) 337(defun smerge-find-conflict (&optional limit)
338 "Find and match a conflict region. Intended as a font-lock MATCHER. 338 "Find and match a conflict region. Intended as a font-lock MATCHER.
@@ -350,12 +350,18 @@ The point is moved to the end of the conflict."
350 (smerge-ensure-match n2) 350 (smerge-ensure-match n2)
351 (let ((name1 (aref smerge-match-names n1)) 351 (let ((name1 (aref smerge-match-names n1))
352 (name2 (aref smerge-match-names n2)) 352 (name2 (aref smerge-match-names n2))
353 ;; Read them before the match-data gets clobbered.
354 (beg1 (match-beginning n1))
355 (end1 (match-end n1))
356 (beg2 (match-beginning n2))
357 (end2 (match-end n2))
353 (file1 (make-temp-file "smerge1")) 358 (file1 (make-temp-file "smerge1"))
354 (file2 (make-temp-file "smerge2")) 359 (file2 (make-temp-file "smerge2"))
355 (dir default-directory) 360 (dir default-directory)
356 (file (file-relative-name buffer-file-name))) 361 (file (file-relative-name buffer-file-name))
357 (write-region (match-beginning n1) (match-end n1) file1) 362 (coding-system-for-read buffer-file-coding-system))
358 (write-region (match-beginning n2) (match-end n2) file2) 363 (write-region beg1 end1 file1)
364 (write-region beg2 end2 file2)
359 (unwind-protect 365 (unwind-protect
360 (with-current-buffer (get-buffer-create smerge-diff-buffer-name) 366 (with-current-buffer (get-buffer-create smerge-diff-buffer-name)
361 (setq default-directory dir) 367 (setq default-directory dir)