unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#25555: 25.1.91; smerge-keep-current -vs- empty change
@ 2017-01-27 13:48 Tom Tromey
  2017-09-09 23:22 ` Tom Tromey
  2017-09-19  2:17 ` bug#25555: done Tom Tromey
  0 siblings, 2 replies; 3+ messages in thread
From: Tom Tromey @ 2017-01-27 13:48 UTC (permalink / raw)
  To: 25555


I'm using smerge to fix up some files after a rebase.

I have a change that looks like:

<<<<<<< 9f33cac3f07100fe4835ade224e10f3ce58affdc
=======
... lots of stuff here
>>>>>>> Bug 1060419 - make log_print use Printf.h, r?froydnj


I want to use smerge to keep the original change -- which is empty.
However C-c ^ RET (aka smerge-keep-current) on either the "<<<"
or "===" line says:

smerge-keep-current: Not inside a version

Tom


In GNU Emacs 25.1.91.3 (x86_64-unknown-linux-gnu, GTK+ Version 3.20.9)
 of 2017-01-27 built on pokyo
Repository revision: f87e6256c014434024793f02e4b51052357724c0
Windowing system distributor 'Fedora Project', version 11.0.11804000
System Description:	Fedora release 24 (Twenty Four)

Configured using:
 'configure --prefix=/home/tromey/Emacs/install
 --with-file-notifications=no'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND DBUS GCONF GSETTINGS NOTIFY
LIBSELINUX GNUTLS LIBXML2 FREETYPE LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS
GTK3 X11

Important settings:
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: C++/l

Minor modes in effect:
  bug-reference-prog-mode: t
  erc-spelling-mode: t
  erc-truncate-mode: t
  diff-auto-refine-mode: t
  flyspell-mode: t
  which-function-mode: t
  projectile-global-mode: t
  projectile-mode: t
  erc-notify-mode: t
  erc-notifications-mode: t
  erc-services-mode: t
  erc-list-mode: t
  erc-menu-mode: t
  erc-autojoin-mode: t
  erc-ring-mode: t
  erc-networks-mode: t
  erc-pcomplete-mode: t
  erc-track-mode: t
  erc-track-minor-mode: t
  erc-match-mode: t
  erc-netsplit-mode: t
  erc-hl-nicks-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-move-to-prompt-mode: t
  erc-readonly-mode: t
  savehist-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  auto-fill-function: tromey-c++-do-auto-fill
  transient-mark-mode: t
  abbrev-mode: t

Recent messages:
C-c C-g is undefined
^ runs the command self-insert-command
C-c ^ a runs the command smerge-keep-all
smerge-keep-current: Not inside a version
Mark set
C-c ^ C-g is undefined
Mark set [2 times]
smerge-keep-current: Not inside a version [2 times]
Quit
Type C-x 1 to delete the help window.

Load-path shadows:
/home/tromey/.emacs.d/elpa/bubbles-0.5/bubbles hides /home/tromey/Emacs/install/share/emacs/25.1.91/lisp/play/bubbles

Features:
(shadow mail-hist eieio-opt speedbar sb-image ezimage dframe emacsbug
smerge-mode git-rebase-mode gnus-html url-cache mm-url flow-fill
git-commit-mode derived log-edit pcvs-util term/xterm xterm copyright
misearch multi-isearch add-log bug-reference cc-mode cc-fonts cc-guess
cc-menus cc-cmds erc-spelling erc-truncate url-http url url-proxy
url-privacy url-history url-auth url-cookie url-domsuf url-gw url-expand
url-methods bbdb-gui bbdb-hooks bbdb-rmail rmailsum rmail vc-mtn vc-hg
vc-git diff-mode vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs sort
gnus-cite smiley shr-color url-util url-parse url-vars shr dom
browse-url mm-archive gnus-bcklg gnus-async qp gnus-ml disp-table
gnus-topic nndraft nnmh nnfolder utf-7 bbdb-gnus bbdb-snarf mail-extr
bbdb-com network-stream nsm starttls gnus-agent gnus-srvr gnus-score
score-mode nnvirtual gnus-msg nntp gnus-cache gnus-registry registry
eieio-compat eieio-base gnus-art mm-uu mml2015 mm-view mml-smime smime
dig mailcap gnus-sum gnus-group gnus-undo smtpmail sendmail gnus-start
gnus-cloud nnimap nnmail mail-source tls gnutls utf7 netrc nnoo
parse-time gnus-spec gnus-int gnus-range message idna rfc822 mml mml-sec
epg mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045
ietf-drums mailabbrev gmm-utils mailheader gnus-win gnus gnus-ems
nnheader mail-utils flyspell ispell diminish appt diary-lib
diary-loaddefs cal-menu calendar cal-loaddefs which-func imenu edmacro
kmacro projectile grep compile ibuf-ext ibuffer minimap autorevert
filenotify desktop frameset cus-start cus-load erc-notify
erc-desktop-notifications notifications dbus xml erc-services erc-list
erc-menu erc-join erc-ring erc-networks erc-pcomplete pcomplete
erc-track erc-match erc-netsplit erc-hl-nicks easy-mmode color
erc-button erc-fill erc-stamp wid-edit erc-goodies erc erc-backend
erc-compat format-spec auth-source cl-seq eieio gnus-util mm-util
help-fns mail-prsvr password-cache thingatpt pp status dired-aux dired-x
dired warnings advice vc-dir ewoc vc vc-dispatcher flycheck json map
find-func rx subr-x dash cc-styles cc-align cc-engine cc-vars cc-defs
bbdb cl timezone ange-ftp comint ansi-color ring server savehist
finder-inf bbdb-autoloads dwarf-mode-autoloads eieio-core cl-macs
lisppaste-autoloads pydoc-info-autoloads info-look weblogger-autoloads
info package epg-config seq byte-opt gv bytecomp byte-compile cl-extra
help-mode easymenu cconv cl-loaddefs pcase cl-lib time-date mule-util
tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type
mwheel x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt
fringe tabulated-list newcomment elisp-mode lisp-mode prog-mode register
page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock
font-lock syntax facemenu font-core frame cl-generic cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european
ethiopic indian cyrillic chinese charscript case-table epa-hook
jka-cmpr-hook help simple abbrev minibuffer cl-preloaded nadvice
loaddefs button faces cus-face macroexp files text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote dbusbind inotify dynamic-setting
system-font-setting font-render-setting move-toolbar gtk x-toolkit x
multi-tty make-network-process emacs)

Memory information:
((conses 16 2558550 1048482)
 (symbols 48 104945 1)
 (miscs 40 24265 2936)
 (strings 32 1221955 378296)
 (string-bytes 1 55754709)
 (vectors 16 102146)
 (vector-slots 8 1892301 171245)
 (floats 8 901 569)
 (intervals 56 10813 3481)
 (buffers 976 314)
 (heap 1024 241396 127693))





^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#25555: 25.1.91; smerge-keep-current -vs- empty change
  2017-01-27 13:48 bug#25555: 25.1.91; smerge-keep-current -vs- empty change Tom Tromey
@ 2017-09-09 23:22 ` Tom Tromey
  2017-09-19  2:17 ` bug#25555: done Tom Tromey
  1 sibling, 0 replies; 3+ messages in thread
From: Tom Tromey @ 2017-09-09 23:22 UTC (permalink / raw)
  To: Tom Tromey; +Cc: 25555

This patch fixes the problem for me.

Tom

commit 55289e4ce3adb27a6c03cc42783265cf4d680f25
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Sep 9 17:20:43 2017 -0600

    Allow smerge-keep-current to work for empty hunks
    
    Bug#25555
    * lisp/vc/smerge-mode.el (smerge-get-current): Allow point to be at
    match-end.
    * test/lisp/vc/smerge-mode-tests.el: New file.

diff --git a/lisp/vc/smerge-mode.el b/lisp/vc/smerge-mode.el
index f94f8a6..302adfe 100644
--- a/lisp/vc/smerge-mode.el
+++ b/lisp/vc/smerge-mode.el
@@ -725,7 +725,7 @@ smerge-get-current
   (let ((i 3))
     (while (or (not (match-end i))
 	       (< (point) (match-beginning i))
-	       (>= (point) (match-end i)))
+	       (> (point) (match-end i)))
       (cl-decf i))
     i))
 
diff --git a/test/lisp/vc/smerge-mode-tests.el b/test/lisp/vc/smerge-mode-tests.el
new file mode 100644
index 0000000..204a4b9
--- /dev/null
+++ b/test/lisp/vc/smerge-mode-tests.el
@@ -0,0 +1,34 @@
+;; Copyright (C) 2017  Free Software Foundation, Inc
+
+;; Maintainer: emacs-devel@gnu.org
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
+
+;;; Code:
+
+(require 'smerge-mode)
+
+(ert-deftest smerge-mode-test-empty-hunk ()
+  "Regression test for bug #25555"
+  (with-temp-buffer
+    (insert "<<<<<<< one\n")
+    (save-excursion
+      (insert "=======\nLLL\n>>>>>>> end\n"))
+    (smerge-mode)
+    (smerge-keep-current)
+    (should (equal (buffer-substring (point-min) (point-max)) ""))))
+
+(provide 'smerge-mode-tests)





^ permalink raw reply related	[flat|nested] 3+ messages in thread

* bug#25555: done
  2017-01-27 13:48 bug#25555: 25.1.91; smerge-keep-current -vs- empty change Tom Tromey
  2017-09-09 23:22 ` Tom Tromey
@ 2017-09-19  2:17 ` Tom Tromey
  1 sibling, 0 replies; 3+ messages in thread
From: Tom Tromey @ 2017-09-19  2:17 UTC (permalink / raw)
  To: 25555-done

Fix checked in.

Tom





^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-09-19  2:17 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-27 13:48 bug#25555: 25.1.91; smerge-keep-current -vs- empty change Tom Tromey
2017-09-09 23:22 ` Tom Tromey
2017-09-19  2:17 ` bug#25555: done Tom Tromey

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).