Subject: bug#24664: 25.1; bug of string-rectangle and requests

From: [email-masked]
Date: Tue, 11 Oct 2016 20:05:20 +0900

Let the buffer contains the text:
    123456
    a一二三
    123456

Then try to replace column 34 with "x", by typing C-x r t x RET.
The displayed text will be as shown below:
C-x r t
    1256
    a 三
    1256
x
    12x6
    a x 三
    12x6
RET
    12x56
    a一x二三
    12x56

I expect that the text will be displayed as:
C-x r t
    1256
    a  三(one more space)
    1256
x
    12x6
    a x 三(same as above)
    12x6
RET
    12x56
    a x 三(very different)
    12x56

If the staring column is not reachable because of 2-column characters,
C-x r d (delete-rectangle) may not work well, either.

---------------------
C-x r t RET (string-rectangle with empty string) replaces the rectangle
with the last replacement string.
I think rectangle should be deleted in this case.
Otherwise preview should show the default string in the buffer.

---------------------
If the region has thousands of lines, preview of string-rectangle
takes a lot of time.
Overlay settings may be restricted to the visible area of the window.

---------------------
I want string-rectangle to inherit input method.

In GNU Emacs 25.1.1 (i686-w64-mingw32)
 of 2016-09-18 built on LAPHROAIG
Windowing system distributor 'Microsoft Corp.', version 6.0.6002
Configured using:
 'configure --host=i686-w64-mingw32 --without-dbus
 --without-compress-install CFLAGS=-static'

Configured features:
XPM JPEG TIFF GIF PNG RSVG SOUND NOTIFY ACL GNUTLS LIBXML2 ZLIB
TOOLKIT_SCROLL_BARS

Important settings:
  value of $LANG: JPN
  locale-coding-system: cp932

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-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
  line-number-mode: t
  transient-mark-mode: t

Recent messages:

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message dired format-spec rfc822 mml
mml-sec password-cache epg epg-config gnus-util mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail
rfc2047 rfc2045 ietf-drums mm-util help-fns help-mode easymenu
cl-loaddefs pcase cl-lib mail-prsvr mail-utils rect time-date mule-util
japan-util tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel dos-w32 ls-lisp disp-table w32-win w32-vars
term/common-win 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
w32notify w32 multi-tty make-network-process emacs)

Memory information:
((conses 8 101487 83624)
 (symbols 32 24016 0)
 (miscs 32 63 271)
 (strings 16 20353 5477)
 (string-bytes 1 506856)
 (vectors 8 15833)
 (vector-slots 4 860605 6786)
 (floats 8 166 226)
 (intervals 28 4538 3809)
 (buffers 520 20))