]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix 'delete-rectangle' with multi-column characters
authorEli Zaretskii <eliz@gnu.org>
Thu, 28 Dec 2023 08:50:59 +0000 (10:50 +0200)
committerEli Zaretskii <eliz@gnu.org>
Thu, 28 Dec 2023 08:50:59 +0000 (10:50 +0200)
* lisp/rect.el (delete-rectangle-line): Support multi-column
characters, when STARTCOL is in the middle of such a character.
(Bug#67925)

lisp/rect.el

index 8dc188b1de0b0446a72eef485d1f121929829ed3..9049e322ca626a29c20b2fccfb495a7d9b66fc23 100644 (file)
@@ -212,7 +212,10 @@ The returned value has the form of (WIDTH . HEIGHT)."
       (cons width height))))
 
 (defun delete-rectangle-line (startcol endcol fill)
-  (when (= (move-to-column startcol (if fill t 'coerce)) startcol)
+  ;; We use >= here, not =, for characters that use more than one
+  ;; column on display, when STARTCOL is in the middle of such a
+  ;; character.
+  (when (>= (move-to-column startcol (if fill t 'coerce)) startcol)
     (delete-region (point)
                   (progn (move-to-column endcol 'coerce)
                          (point)))))