Subject: 24.5; vc-dir-mark loop infinitely when region is active and cursor position in last blank line.

From: 綾小路剛志 <[email-masked]>
Date: Sun, 17 Jul 2016 19:07:50 +0900

How to reproduce bug.

1. Create a directory and move there.

   mkdir BUG
   cd BUG

2. Create files and start emacs.

   $ echo foo > foo.txt
   $ echo bar > bar.txt
   $ LANG=C emacs -Q

3. Open a file.

   C-x C-f foo.txt

4. Create repository (this example use SVN for VC backend).

   C-x v v SVN <RET> <RET>

5. Open *vc-dir* buffer

   C-x v d <RET>

At now, vc-dir buffer displays directory contents like bellow.

     VC backend : SVN
     Working dir: ~/BUG/
     Repository : file:///home/h1r0s/BUG/SVN

     ./
     unregistered         SVN
     unregistered         bar.txt
     added                foo.txt

6. Select last file's line entirely.

   C-s <RET> foo.txt C-a S-<Down>

7. Mark the region

   M-x vc-dir-mark (or hit 'm')

   ... And this will never return.

Thanks.
---
Ayanokoji Takesi <[email-masked]>

In GNU Emacs 24.5.1 (i686-pc-linux-gnu, GTK+ Version 3.4.4)
 of 2015-04-27 on himawari
Windowing system distributor `Fedora Project', version 11.0.11203000
System Description: Fedora release 17 (Beefy Miracle)

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

Major mode: VC dir

Minor modes in effect:
  tooltip-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  line-number-mode: t
  transient-mark-mode: t

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
arg ~/BUG/
Registering (/home/h1r0s/BUG/foo.txt)... done
Mark saved where search started [2 times]
Mark set
Quit

Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml
easymenu mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util help-fns mail-prsvr mail-utils misearch multi-isearch vc-dir
ewoc vc-arch vc-mtn vc-hg vc-git vc-bzr vc-sccs vc-svn vc-cvs vc-rcs vc
vc-dispatcher time-date japan-util tooltip electric uniquify ediff-hook
vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image
regexp-opt fringe tabulated-list newcomment lisp-mode prog-mode register
page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock
font-lock syntax facemenu font-core frame cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew
greek romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer 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 make-network-process dbusbind
gfilenotify dynamic-setting system-font-setting font-render-setting
move-toolbar gtk x-toolkit x multi-tty emacs)

Memory information:
((conses 8 1672324 101516)
 (symbols 24 18605 1)
 (miscs 20 212 1224)
 (strings 16 93798 25209)
 (string-bytes 1 2990509)
 (vectors 8 12267)
 (vector-slots 4 490833 16588)
 (floats 8 67 333)
 (intervals 28 477039 12423)
 (buffers 512 16)
 (heap 1024 70345 1396))