[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] trunk r115227: * lisp/vc/smerge-mode.el (smerge-ediff): Ch
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] trunk r115227: * lisp/vc/smerge-mode.el (smerge-ediff): Choose default buffer names based |
Date: |
Mon, 25 Nov 2013 15:40:51 +0000 |
User-agent: |
Bazaar (2.6b2) |
------------------------------------------------------------
revno: 115227
revision-id: address@hidden
parent: address@hidden
author: David Kastrup <address@hidden>
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Mon 2013-11-25 10:40:31 -0500
message:
* lisp/vc/smerge-mode.el (smerge-ediff): Choose default buffer names based
on the conflict markers when available.
(smerge--get-marker): New function.
(smerge-end-re, smerge-base-re): Add subgroup.
modified:
lisp/ChangeLog changelog-20091113204419-o5vbwnq5f7feedwu-1432
lisp/vc/smerge-mode.el
smergemode.el-20091113204419-o5vbwnq5f7feedwu-1726
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog 2013-11-25 15:05:25 +0000
+++ b/lisp/ChangeLog 2013-11-25 15:40:31 +0000
@@ -1,3 +1,10 @@
+2013-11-23 David Kastrup <address@hidden>
+
+ * vc/smerge-mode.el (smerge-ediff): Choose default buffer names based
+ on the conflict markers when available.
+ (smerge--get-marker): New function.
+ (smerge-end-re, smerge-base-re): Add subgroup.
+
2013-11-25 Stefan Monnier <address@hidden>
* frame.el (handle-focus-in, handle-focus-out): Add missing
=== modified file 'lisp/vc/smerge-mode.el'
--- a/lisp/vc/smerge-mode.el 2013-08-28 19:26:18 +0000
+++ b/lisp/vc/smerge-mode.el 2013-11-25 15:40:31 +0000
@@ -243,8 +243,8 @@
"Font lock patterns for `smerge-mode'.")
(defconst smerge-begin-re "^<<<<<<< \\(.*\\)\n")
-(defconst smerge-end-re "^>>>>>>> .*\n")
-(defconst smerge-base-re "^||||||| .*\n")
+(defconst smerge-end-re "^>>>>>>> \\(.*\\)\n")
+(defconst smerge-base-re "^||||||| \\(.*\\)\n")
(defconst smerge-other-re "^=======\n")
(defvar smerge-conflict-style nil
@@ -1182,6 +1182,14 @@
(defvar ediff-quit-hook)
(declare-function ediff-cleanup-mess "ediff-util" nil)
+(defun smerge--get-marker (regexp default)
+ (save-excursion
+ (goto-char (point-min))
+ (if (and (search-forward-regexp regexp nil t)
+ (> (match-end 1) (match-beginning 1)))
+ (concat default "=" (match-string-no-properties 1))
+ default)))
+
;;;###autoload
(defun smerge-ediff (&optional name-mine name-other name-base)
"Invoke ediff to resolve the conflicts.
@@ -1192,11 +1200,17 @@
(mode major-mode)
;;(ediff-default-variant 'default-B)
(config (current-window-configuration))
- (filename (file-name-nondirectory buffer-file-name))
+ (filename (file-name-nondirectory (or buffer-file-name "-")))
(mine (generate-new-buffer
- (or name-mine (concat "*" filename " MINE*"))))
+ (or name-mine
+ (concat "*" filename " "
+ (smerge--get-marker smerge-begin-re "MINE")
+ "*"))))
(other (generate-new-buffer
- (or name-other (concat "*" filename " OTHER*"))))
+ (or name-other
+ (concat "*" filename " "
+ (smerge--get-marker smerge-end-re "OTHER")
+ "*"))))
base)
(with-current-buffer mine
(buffer-disable-undo)
@@ -1221,7 +1235,10 @@
(when base
(setq base (generate-new-buffer
- (or name-base (concat "*" filename " BASE*"))))
+ (or name-base
+ (concat "*" filename " "
+ (smerge--get-marker smerge-base-re "BASE")
+ "*"))))
(with-current-buffer base
(buffer-disable-undo)
(insert-buffer-substring buf)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] trunk r115227: * lisp/vc/smerge-mode.el (smerge-ediff): Choose default buffer names based,
Stefan Monnier <=