GNU bug report logs - #60717
28.2; Add option to preserve column after kill-whole-line

Previous Next

Package: emacs;

Reported by: Sean Devlin <spd <at> toadstyle.org>

Date: Tue, 10 Jan 2023 21:38:02 UTC

Severity: normal

Found in version 28.2

To reply to this bug, email your comments to 60717 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#60717; Package emacs. (Tue, 10 Jan 2023 21:38:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Sean Devlin <spd <at> toadstyle.org>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Tue, 10 Jan 2023 21:38:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Sean Devlin <spd <at> toadstyle.org>
To: bug-gnu-emacs <at> gnu.org
Subject: 28.2; Add option to preserve column after kill-whole-line
Date: Tue, 10 Jan 2023 16:36:45 -0500
Hi folks,

The kill-whole-line command kills the entire line surrounding point,
including the trailing newline. After running this command, the point is
left in the first column of the following line (which is now the current
line).

I think there should be an option to try to preserve the point's
original column. This is somewhat similar to setting a goal column
before calling next-line, except in this case the goal column is
implicit based on the starting position.

Here's a recipe to demonstrate the current behavior:

1. Emacs -Q
2. C-u 30 A RET
3. C-u 5 B RET
4. C-u 30 C RET
5. C-p C-p C-p C-u 15 C-f
6. M-x kill-whole-line
7. M-x kill-whole-line

At the end of step 5, the point is in column 15. After both of steps 6
and 7, the point is left in column 0 of the next (now current) line.

The behavior I would like to have with the hypothetical option set is:

1. We start in column 15 at the end of step 5.
2. At the end of step 6, we should be in column 5, since the new line is
too short to accommodate our goal.
3. At the end of step 7, we should be in column 15, since the new line
is long enough.

In other words, in a sequence of consecutive kill-whole-line calls, the
goal column should be set during the first call, and each subsequent
call should attempt to honor that original goal. Calling some other
command would clear the kill-whole-line goal column.

Thanks!

In GNU Emacs 28.2
System Description:  macOS 13

Configured using:
'configure --with-ns '--enable-locallisppath=/Library/Application
Support/Emacs/${version}/site-lisp:/Library/Application
Support/Emacs/site-lisp' --with-modules'

Configured features:
ACL GMP GNUTLS JSON LIBXML2 MODULES NOTIFY KQUEUE NS PDUMPER THREADS
TOOLKIT_SCROLL_BARS ZLIB

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-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
  indent-tabs-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs
rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util rmail
rmail-loaddefs auth-source cl-seq eieio eieio-core cl-macs
eieio-loaddefs password-cache json map text-property-search time-date
subr-x seq byte-opt gv bytecomp byte-compile cconv mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader cl-loaddefs
cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils
iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks
lisp-float-type elisp-mode mwheel term/ns-win ns-win ucs-normalize
mule-util term/common-win tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode lisp-mode prog-mode register
page tab-bar menu-bar rfn-eshadow isearch easymenu timer select
scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors
frame minibuffer 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 composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button
loaddefs faces cus-face macroexp files window text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote threads kqueue cocoa ns multi-tty
make-network-process emacs)

Memory information:
((conses 16 50726 6790)
(symbols 48 6552 1)
(strings 32 18282 2240)
(string-bytes 1 632208)
(vectors 16 13824)
(vector-slots 8 191484 11565)
(floats 8 21 38)
(intervals 56 202 0)
(buffers 992 10))




This bug report was last modified 1 year and 114 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.