From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Sean McAfee Newsgroups: gmane.emacs.bugs Subject: bug#72862: 29.1; Strange interaction between append-next-kill and kill-whole-line Date: Wed, 28 Aug 2024 14:12:11 -0700 Message-ID: Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="0000000000006b51fa0620c4d05d" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="35495"; mail-complaints-to="usenet@ciao.gmane.io" To: 72862@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Aug 28 23:13:34 2024 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1sjPyv-00094P-ON for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 28 Aug 2024 23:13:33 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sjPyY-0003gO-3z; Wed, 28 Aug 2024 17:13:10 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sjPyW-0003g9-V5 for bug-gnu-emacs@gnu.org; Wed, 28 Aug 2024 17:13:09 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sjPyW-0002ab-MD for bug-gnu-emacs@gnu.org; Wed, 28 Aug 2024 17:13:08 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=Date:From:MIME-Version:To:Subject; bh=FU4gnkw79G1sBlKfGejT76YwxvEfJRTQpYbUyjJxSlM=; b=Kg9rCEkEdWDmDisZW9o0OMbdrrKNJeQlZ+5wiC4Ukjr2pK7dPF7Kn8QCuaC0AuQaBwdNe/kLShFMcRUTtYMkQ8U/iSsqEQB2Gt2T4F0cekBfGBT7MasnmdI1tmluTzMce+k14HyHcJQZEyYAf1xB7QKyzWz41QvTrujJoLz1wMRtZ+Ddw4+Mp61wuJ7zn0F+vnrdAHPp2PQBkd5pMzdVfYBs9EjB0jgk2Y4zG4mExEittpp5ISpKYkG56N6Gar1wXx5YLXcmuV7R1NpBYYjzrUgToIBtx1R6V/yATDL26np3ACszPJ21YMj1/pyTsylOFlC/9xIRJNK9I+O8WuUXTQ==; Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1sjPzO-0004Ij-Jr for bug-gnu-emacs@gnu.org; Wed, 28 Aug 2024 17:14:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Sean McAfee Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 28 Aug 2024 21:14:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 72862 X-GNU-PR-Package: emacs X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.172487960816474 (code B ref -1); Wed, 28 Aug 2024 21:14:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 28 Aug 2024 21:13:28 +0000 Original-Received: from localhost ([127.0.0.1]:49790 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sjPyo-0004Ha-7g for submit@debbugs.gnu.org; Wed, 28 Aug 2024 17:13:28 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:38784) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sjPyl-0004HS-Hq for submit@debbugs.gnu.org; Wed, 28 Aug 2024 17:13:25 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sjPxs-0003dy-Qn for bug-gnu-emacs@gnu.org; Wed, 28 Aug 2024 17:12:28 -0400 Original-Received: from mail-yw1-x112c.google.com ([2607:f8b0:4864:20::112c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sjPxo-0002YW-Kc for bug-gnu-emacs@gnu.org; Wed, 28 Aug 2024 17:12:28 -0400 Original-Received: by mail-yw1-x112c.google.com with SMTP id 00721157ae682-6c130ffa0adso49367b3.3 for ; Wed, 28 Aug 2024 14:12:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1724879543; x=1725484343; darn=gnu.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=FU4gnkw79G1sBlKfGejT76YwxvEfJRTQpYbUyjJxSlM=; b=lyGcfG2JoNlHM8lyAnOrA1FPxli2Qo+7fJ3d3LGuJsAp7eJGcox1Ly3ktw+UzoSjxX IFl00sZJwOBJH/qah8eTsispgivnBfy8B8XiFEZz3k037PUhC0CuSF6IoiOkOH37tkPq y/78pO0uD0DhMeA4UECzwOIgpIWxDi+AMBaDqZWFWDORMjDGMECFeKAElg//+zroT48Z nrx6exAhj4ZbIgCXKPXy6/lh36eZgW2hmtRcW67BkvoAAS5ZwQAaNGmSyW4HpiP27X1v hkZ0F4GZAUbLQP3w5CurhvS1LlVVpvTLJzVDWfohOgMhYXHU1nh1BgsEtgX8ZZl0WJwl qGdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1724879543; x=1725484343; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=FU4gnkw79G1sBlKfGejT76YwxvEfJRTQpYbUyjJxSlM=; b=VUJGFZKkuK0FJr7yKFPrm4Lj+SId5IeH68h8SfjXJ5hz3q3CgsdJeVg5zp65i0lWyN LzwEMpHzxEXATkft0Cv9ROmFIg04lEpZYA3hWgJqqfXYumAjj18Z+oMZv73VksYF19D2 s+ZPHV6UGvlbeK+Bi40Vlr5c0Xace4uasQj/O43QdXduY5/2IYKIhHkn3vxkod2IpFEs /YygVcceBH/fnTlB1idtsY/SZ7BzwG7YotEqZNwUfIOdSlv29OmYpWOb7dmdNpRV8P2k hiPfdtPvY2iHAULk1Mkmr3CcGXakw5D8UV+9bqxKBW1RafwOhO/DLV8SFyGJW2E461OD FrSw== X-Gm-Message-State: AOJu0Yy9d+RffuosjBa/xW1ig+QlNVrHodLvNjk+diHkC8vuvlcC1PPB OQJPUts7hnZFonnhHXSGsojU/SxCLtNnjhB1edDYWZPFsP+4XN6HS+q2rTcqZCWPDfy0lCClTKz T8jLL15zuzb5+c7Nii+sqY+9OyBWxHYm9 X-Google-Smtp-Source: AGHT+IHp73YHPPXX7ss0qUu+eQJzSiHlnnMi8d5x4NRsKhavIZ+4W8BFSoTAu40PwYKbJmjXOQEZCqEsAjNk94qFGws= X-Received: by 2002:a05:690c:6c10:b0:66a:d35f:6831 with SMTP id 00721157ae682-6d2784362f7mr6077887b3.45.1724879542634; Wed, 28 Aug 2024 14:12:22 -0700 (PDT) Received-SPF: pass client-ip=2607:f8b0:4864:20::112c; envelope-from=eefacm@gmail.com; helo=mail-yw1-x112c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:290885 Archived-At: --0000000000006b51fa0620c4d05d Content-Type: text/plain; charset="UTF-8" Starting from emacs -Q: - Enter the text "12345\n" in the scratch buffer. - Kill the text by any means, eg: C-SPC C-p C-w - Enter the text "ABCDE" and put point on the C. - Run append-next-kill with C-M-w and then kill-whole-line with C-S-. - Yank the most recent kill with C-y. The text I get back is "AB12345\nCDE". Apparently the killed whole line is being wrapped around the preceding kill, at the place where point was, rather than being appended to it. Looking at the documentation for append-next-kill, I now see that it prepends to the most recent kill in some circumstances, which I hadn't been aware of. So, the wrapping behavior I see from kill-whole-line could be the result of two separate kills, one backward from point to the beginning of the line and one forward from point to the end of the line. But this seems to be pretty unintuitive behavior, and hard to think of a good use case for. kill-whole-line has its own killing-forward and killing-backward semantics, which I would expect to carry over to append-next-kill. In GNU Emacs 29.1 (build 1, aarch64-apple-darwin21.6.0, NS appkit-2113.60 Version 12.6.6 (Build 21G646)) of 2023-08-16 built on armbob.lan Windowing system distributor 'Apple', version 10.3.2487 System Description: macOS 14.6.1 Configured using: 'configure --with-ns '--enable-locallisppath=/Library/Application Support/Emacs/${version}/site-lisp:/Library/Application Support/Emacs/site-lisp' --with-modules 'CFLAGS=-DFD_SETSIZE=10000 -DDARWIN_UNLIMITED_SELECT' --with-x-toolkit=no' Configured features: ACL GLIB GMP GNUTLS JPEG JSON LIBXML2 MODULES NOTIFY KQUEUE NS PDUMPER PNG RSVG SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER ZLIB Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Slack Thread Message Minor modes in effect: async-bytecomp-package-mode: t emojify-mode: t recentf-mode: t emms-mode-line-mode: t emms-playing-time-display-mode: t emms-playing-time-mode: t tracking-mode: t volatile-highlights-mode: t projectile-mode: t global-git-commit-mode: t magit-auto-revert-mode: t shell-dirtrack-mode: t server-mode: t cursor-sensor-mode: t cursor-intangible-mode: t global-flycheck-mode: t flycheck-mode: t minibuffer-depth-indicate-mode: t ido-vertical-mode: t global-undo-tree-mode: t undo-tree-mode: t override-global-mode: t desktop-save-mode: t winner-mode: t electric-pair-mode: t savehist-mode: t ido-everywhere: t tooltip-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t global-prettify-symbols-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t line-number-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: ~/emacs/copilot.el/copilot hides ~/emacs/copilot ~/emacs/inf-ruby/inf-ruby hides /Users/sean/.emacs.d/elpa/inf-ruby-20240627.2135/inf-ruby /Users/sean/.emacs.d/elpa/transient-20240626.947/transient hides /Applications/Emacs 3.app/Contents/Resources/lisp/transient /Users/sean/.emacs.d/elpa/use-package-20230426.2324/use-package-jump hides /Applications/Emacs 3.app/Contents/Resources/lisp/use-package/use-package-jump /Users/sean/.emacs.d/elpa/use-package-20230426.2324/use-package-ensure hides /Applications/Emacs 3.app/Contents/Resources/lisp/use-package/use-package-ensure /Users/sean/.emacs.d/elpa/use-package-20230426.2324/use-package-core hides /Applications/Emacs 3.app/Contents/Resources/lisp/use-package/use-package-core /Users/sean/.emacs.d/elpa/use-package-20230426.2324/use-package-delight hides /Applications/Emacs 3.app/Contents/Resources/lisp/use-package/use-package-delight /Users/sean/.emacs.d/elpa/use-package-20230426.2324/use-package-diminish hides /Applications/Emacs 3.app/Contents/Resources/lisp/use-package/use-package-diminish /Users/sean/.emacs.d/elpa/use-package-20230426.2324/use-package hides /Applications/Emacs 3.app/Contents/Resources/lisp/use-package/use-package /Users/sean/.emacs.d/elpa/use-package-20230426.2324/use-package-bind-key hides /Applications/Emacs 3.app/Contents/Resources/lisp/use-package/use-package-bind-key /Users/sean/.emacs.d/elpa/bind-key-20230203.2004/bind-key hides /Applications/Emacs 3.app/Contents/Resources/lisp/use-package/bind-key /Users/sean/.emacs.d/elpa/use-package-20230426.2324/use-package-lint hides /Applications/Emacs 3.app/Contents/Resources/lisp/use-package/use-package-lint /Users/sean/.emacs.d/elpa/flim-20240221.1353/sasl hides /Applications/Emacs 3.app/Contents/Resources/lisp/net/sasl /Users/sean/.emacs.d/elpa/seq-2.24/seq hides /Applications/Emacs 3.app/Contents/Resources/lisp/emacs-lisp/seq /Users/sean/.emacs.d/elpa/eldoc-1.15.0/eldoc hides /Applications/Emacs 3.app/Contents/Resources/lisp/emacs-lisp/eldoc Features: (mailalias mailclient textsec uni-scripts idna-mapping uni-confusable textsec-check shadow mail-extr emacsbug swiper ivy delsel ivy-faces ivy-overlay colir ffap cus-start cal-move cl-print macros mode-local ox-org ox-odt rng-loc rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex ox-icalendar org-agenda ox-html table ox-ascii ox-publish ox tramp-archive tramp-gvfs helm-unicode helm-utils helm-help helm helm-global-bindings helm-easymenu helm-core async-bytecomp helm-source helm-multi-match helm-lib async conf-mode tmm smartparens-markdown markdown-mode display-line-numbers sh-script goto-addr vc-hg vc-bzr vc-src vc-sccs vc-cvs vc-rcs log-view bug-reference shortdoc help-fns radix-tree magit-extras face-remap ag vc-svn find-dired vc-annotate misearch multi-isearch tramp-sh magit-bookmark bookmark tabify org-datetree org-capture executable mc-edit-lines emojify apropos tar-mode arc-mode archive-mode ht network-stream slack slack-company slack-unread slack-websocket slack-thread-event slack-room-event slack-star-event slack-reaction-event slack-reply-event slack-typing slack-slash-commands slack-message-event slack-event slack-dialog-edit-element-buffer slack-dialog-buffer slack-dialog slack-stars-buffer slack-search-result-buffer slack-thread-message-compose-buffer slack-file-list-buffer slack-file-info-buffer slack-all-threads-buffer slack-message-buffer slack-user-profile-buffer slack-pinned-items-buffer slack-pinned-item slack-thread-message-buffer slack-room-info-buffer slack-room-buffer slack-message-share-buffer slack-message-edit-buffer slack-room-message-compose-buffer slack-message-compose-buffer slack-message-attachment-preview-buffer slack-action slack-star slack-reminder slack-search slack-message-reaction slack-message-editor slack-message-sender slack-message-notification alert log4e notifications gntp slack-buffer slack-message-formatter slack-thread slack-im slack-channel slack-group slack-conversations slack-create-message slack-attachment slack-selectable slack-bot-message slack-user-message slack-file slack-message slack-message-faces slack-unescape slack-block slack-mrkdwn slack-usergroup slack-reaction slack-modeline slack-room slack-counts slack-user slack-bot slack-dnd-status slack-emoji slack-image slack-request slack-log lui flyspell ispell slack-team slack-team-ws slack-util websocket diary-lib diary-loaddefs recentf tree-widget docker-tramp tramp-cache time-stamp tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat mhtml-mode css-mode color java-ts-mode restclient protobuf-mode sql view smartparens-python python yaml-ts-mode web-mode cap-words superword subword smartparens-scala scala-mode scala-mode-prettify-symbols scala-mode-imenu scala-mode-map scala-mode-fontlock scala-mode-indent scala-mode-paragraph scala-mode-syntax scala-mode-lib org-bullets oc-basic org-element org-persist org-id org-refile avl-tree ol-eww eww xdg url-queue mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect gnus-art mm-uu mml2015 mm-view mml-smime smime dig gnus-sum shr pixel-fill kinsoku url-file svg gnus-group gnus-undo gnus-start gnus-dbus gnus-cloud nnimap nnmail mail-source utf7 nnoo parse-time gnus-spec gnus-int gnus-range gnus-win ol-docview doc-view jka-compr image-mode exif ol-bibtex bibtex iso8601 ol-bbdb ol-w3m ol-doi org-link-doi smartparens-org org org-macro org-pcomplete org-list org-footnote org-faces org-entities noutline outline ob-emacs-lisp org-table org-loaddefs cal-menu calendar cal-loaddefs perl6-detect ruby-ts-mode gnus-dired copilot editorconfig editorconfig-core editorconfig-core-handle editorconfig-fnmatch jsonrpc ert ewoc debug backtrace warnings emms-idapi-browser emms-idapi emms-idapi-musicbrainz emms-mpris dbus emms-librefm-stream xml emms-librefm-scrobbler emms-playlist-limit emms-i18n emms-history emms-score emms-stream-info emms-metaplaylist-mode emms-bookmarks emms-cue emms-mode-line-icon emms-browser sort emms-volume emms-volume-sndioctl emms-volume-mixerctl emms-volume-pulse emms-volume-amixer emms-playlist-sort emms-last-played emms-player-xine emms-player-mpd tq emms-lyrics emms-url emms-streams emms-show-all emms-tag-editor emms-tag-tracktag emms-mark emms-mode-line emms-cache emms-info-native emms-info-native-spc emms-info-native-mp3 emms-info-native-ogg emms-info-native-opus emms-info-native-flac emms-info-native-vorbis bindat emms-info-exiftool emms-info-tinytag emms-info-metaflac emms-info-opusinfo emms-info-ogginfo emms-info-mp3info emms-playlist-mode emms-player-vlc emms-player-mpv emms-playing-time emms-info emms-later-do emms-player-mplayer emms-player-simple emms-source-playlist emms-source-file locate emms-setup emms emms-compat scribd-sentry scribd-airflow scribd-github request scribd-devkube scribd-aws ob-ruby ob ob-tangle ol org-src ob-ref ob-lob ob-table ob-exp ob-comint ob-core org-cycle org-fold org-fold-core ob-eval org-keys oc org-compat org-version org-macs hmac csv let-alist smartparens-config smartparens-javascript smartparens-text smartparens-ruby smartparens-html smartparens-c smartparens loadhist robe url-http url-auth url-gw nsm inf-ruby ruby-mode smie git-link yasnippet git-timemachine vc-git whitespace dash-functional gnutls tracking shorten ibuf-macs chruby treesit-auto xref-js2 vc vc-dispatcher js2-mode js c-ts-common treesit cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs dired-filter f dired-hacks-utils dired-aux dired-x shell-pop term disp-table ehelp beginend volatile-highlights iedit iedit-lib mc-hide-unmatched-lines-mode mc-mark-more tagedit s sgml-mode facemenu dom mc-cycle-cursors multiple-cursors-core rect dtrt-indent advice projectile lisp-mnt grep ibuf-ext ibuffer ibuffer-loaddefs elisp-slime-nav etags fileloop generator xref project magit-submodule magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit magit-sequence magit-notes magit-worktree magit-tag magit-merge magit-branch magit-reset magit-files magit-refs magit-status magit magit-repos magit-apply magit-wip magit-log which-func imenu magit-diff smerge-mode diff-mode git-commit log-edit message sendmail yank-media puny dired dired-loaddefs rfc822 mml mml-sec epa derived mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader pcvs-util add-log magit-core magit-autorevert autorevert filenotify magit-margin magit-transient magit-process with-editor shell pcomplete server magit-mode transient benchmark magit-git magit-base magit-section format-spec cursor-sensor crm compat ido-completing-read+ memoize cus-edit pp icons minibuf-eldef flycheck find-func diminish gnus nnheader gnus-util time-date mail-utils range mm-util mail-prsvr wid-edit autoinsert misc hl-line cus-load mb-depth ido-vertical-mode undo-tree diff ack compile text-property-search paredit edmacro kmacro dash cl-extra help-mode use-package use-package-ensure use-package-delight use-package-diminish use-package-bind-key bind-key easy-mmode use-package-core desktop frameset finder-inf winner elec-pair savehist hippie-exp comint ansi-osc ansi-color ring thingatpt ido cl company-autoloads counsel-autoloads csv-autoloads cyberpunk-theme-autoloads dired-launch-autoloads dtrt-indent-autoloads editorconfig-autoloads ein-autoloads anaphora-autoloads emms-autoloads expand-region-autoloads fix-word flycheck-autoloads folding-autoloads ghub-autoloads git-link-autoloads git-timemachine-autoloads epg rfc6068 epg-config gnu-elpa-keyring-update go-mode-autoloads helm-swoop-autoloads helm-autoloads helm-core-autoloads async-autoloads htmlize-autoloads ido-completing-read+-autoloads inf-ruby-autoloads json-mode-autoloads lsp-metals-autoloads dap-mode-autoloads lsp-docker-autoloads lsp-treemacs-autoloads lsp-ui-autoloads lsp-mode-autoloads f-autoloads magit-autoloads pcase git-commit-autoloads magit-section-autoloads markdown-mode-autoloads multiple-cursors-autoloads paredit-autoloads pcre2el-autoloads pdf-tools-autoloads rx polymode-autoloads popup-autoloads projectile-autoloads protobuf-mode-autoloads sbt-mode-autoloads scala-mode-autoloads semi-autoloads flim-autoloads apel-autoloads shell-pop-autoloads log4e-autoloads circe-autoloads smartparens-autoloads swift-mode-autoloads swiper-autoloads ivy-autoloads terraform-mode-autoloads hcl-mode-autoloads transient-autoloads treemacs-autoloads posframe-autoloads treesit-auto-autoloads dash-autoloads web-mode-autoloads wfnames-autoloads with-editor-autoloads info compat-autoloads xref-js2-autoloads js2-mode-autoloads yaml-mode-autoloads yasnippet-autoloads zenburn-theme-autoloads package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs password-cache json subr-x map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib rmc iso-transl tooltip cconv 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 nadvice seq simple cl-generic indonesian philippine 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 abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads kqueue cocoa ns multi-tty make-network-process emacs) Memory information: ((conses 16 12700605 1547711) (symbols 48 108731 71) (strings 32 926674 175903) (string-bytes 1 31629847) (vectors 16 310300) (vector-slots 8 10087589 1196626) (floats 8 5282 813) (intervals 56 617485 45290) (buffers 984 379)) --0000000000006b51fa0620c4d05d Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Starting from emacs -Q:

- Enter the text "1234= 5\n" in the scratch buffer.
- Kill the text by any means, eg: C-SPC= C-p C-w
- Enter the text "ABCDE" and put point on the C.
-= Run append-next-kill with C-M-w and then kill-whole-line with C-S-<back= space>.
- Yank the most recent kill with C-y.

The text I get b= ack is "AB12345\nCDE".=C2=A0 Apparently the killed whole line
= is being wrapped around the preceding kill, at the place where point
was= , rather than being appended to it.

Looking at the documentation for= append-next-kill, I now see that it
prepends to the most recent kill in= some circumstances, which I hadn't
been aware of.=C2=A0 So, the wra= pping behavior I see from kill-whole-line
could be the result of two sep= arate kills, one backward from point to
the beginning of the line and on= e forward from point to the end of the
line.=C2=A0 But this seems to be = pretty unintuitive behavior, and hard to
think of a good use case for. = =C2=A0kill-whole-line has its own
killing-forward and killing-backward s= emantics, which I would expect to
carry over to append-next-kill.

In GNU Emacs 29.1 (build 1, aarch64-apple-darwin21.6.0, NS
=C2=A0ap= pkit-2113.60 Version 12.6.6 (Build 21G646)) of 2023-08-16 built on
=C2= =A0armbob.lan
Windowing system distributor 'Apple', version 10.3= .2487
System Description: =C2=A0macOS 14.6.1

Configured using:=C2=A0'configure --with-ns '--enable-locallisppath=3D/Library/Appl= ication
=C2=A0Support/Emacs/${version}/site-lisp:/Library/Application=C2=A0Support/Emacs/site-lisp' --with-modules 'CFLAGS=3D-DFD_SETSI= ZE=3D10000
=C2=A0-DDARWIN_UNLIMITED_SELECT' --with-x-toolkit=3Dno= 9;

Configured features:
ACL GLIB GMP GNUTLS JPEG JSON LIBXML2 MOD= ULES NOTIFY KQUEUE NS PDUMPER
PNG RSVG SQLITE3 THREADS TIFF TOOLKIT_SCRO= LL_BARS TREE_SITTER ZLIB

Important settings:
=C2=A0 value of $LAN= G: en_US.UTF-8
=C2=A0 locale-coding-system: utf-8-unix

Major mode= : Slack Thread Message

Minor modes in effect:
=C2=A0 async-byteco= mp-package-mode: t
=C2=A0 emojify-mode: t
=C2=A0 recentf-mode: t
= =C2=A0 emms-mode-line-mode: t
=C2=A0 emms-playing-time-display-mode: t=C2=A0 emms-playing-time-mode: t
=C2=A0 tracking-mode: t
=C2=A0 vol= atile-highlights-mode: t
=C2=A0 projectile-mode: t
=C2=A0 global-git-= commit-mode: t
=C2=A0 magit-auto-revert-mode: t
=C2=A0 shell-dirtrack= -mode: t
=C2=A0 server-mode: t
=C2=A0 cursor-sensor-mode: t
=C2=A0= cursor-intangible-mode: t
=C2=A0 global-flycheck-mode: t
=C2=A0 flyc= heck-mode: t
=C2=A0 minibuffer-depth-indicate-mode: t
=C2=A0 ido-vert= ical-mode: t
=C2=A0 global-undo-tree-mode: t
=C2=A0 undo-tree-mode: t=
=C2=A0 override-global-mode: t
=C2=A0 desktop-save-mode: t
=C2=A0= winner-mode: t
=C2=A0 electric-pair-mode: t
=C2=A0 savehist-mode: t<= br>=C2=A0 ido-everywhere: t
=C2=A0 tooltip-mode: t
=C2=A0 global-eldo= c-mode: t
=C2=A0 show-paren-mode: t
=C2=A0 electric-indent-mode: t=C2=A0 mouse-wheel-mode: t
=C2=A0 global-prettify-symbols-mode: t
= =C2=A0 menu-bar-mode: t
=C2=A0 file-name-shadow-mode: t
=C2=A0 global= -font-lock-mode: t
=C2=A0 font-lock-mode: t
=C2=A0 blink-cursor-mode:= t
=C2=A0 line-number-mode: t
=C2=A0 transient-mark-mode: t
=C2=A0= auto-composition-mode: t
=C2=A0 auto-encryption-mode: t
=C2=A0 auto-= compression-mode: t

Load-path shadows:
~/emacs/copilot.el/copilot= hides ~/emacs/copilot
~/emacs/inf-ruby/inf-ruby hides /Users/sean/.emac= s.d/elpa/inf-ruby-20240627.2135/inf-ruby
/Users/sean/.emacs.d/elpa/trans= ient-20240626.947/transient hides /Applications/Emacs 3.app/Contents/Resources/lisp/transie= nt
/Users/sean/.emacs.d/elpa/use-package-20230426.2324/use-package-j= ump hides /Applications/Emacs 3.app/Contents/Resources/lisp/use-package/= use-package-jump
/Users/sean/.emacs.d/elpa/use-package-20230426.2324= /use-package-ensure hides /Applications/Emacs 3.app/Contents/Resources= /lisp/use-package/use-package-ensure
/Users/sean/.emacs.d/elpa/use-p= ackage-20230426.2324/use-package-core hides /Applications/Emacs 3.app/Co= ntents/Resources/lisp/use-package/use-package-core
/Users/sean/.emac= s.d/elpa/use-package-20230426.2324/use-package-delight hides /Applications/= Emacs 3.app/Contents/Resources/lisp/use-package/use-package-delight
/Users/sean/.emacs.d/elpa/use-package-20230426.2324/use-package-dimin= ish hides /Applications/Emacs
3.app/Contents/Resources/lisp/use-pack= age/use-package-diminish
/Users/sean/.emacs.d/elpa/use-package-20230= 426.2324/use-package hides /Applications/Emacs 3.app/Contents/Resources/lisp/= use-package/use-package
/Users/sean/.emacs.d/elpa/use-package-202304= 26.2324/use-package-bind-key hides /Applications/Emacs 3.app/Content= s/Resources/lisp/use-package/use-package-bind-key
/Users/sean/.emacs= .d/elpa/bind-key-20230203.2004/bind-key hides /Applications/Emacs 3.app/Conten= ts/Resources/lisp/use-package/bind-key
/Users/sean/.emacs.d/elpa/use= -package-20230426.2324/use-package-lint hides /Applications/Emacs 3.ap= p/Contents/Resources/lisp/use-package/use-package-lint
/Users/sean/.= emacs.d/elpa/flim-20240221.1353/sasl hides /Applications/Emacs 3.app/Contents/Resources/lisp= /net/sasl
/Users/sean/.emacs.d/elpa/seq-2.24/seq hides /Applications= /Emacs 3.ap= p/Contents/Resources/lisp/emacs-lisp/seq
/Users/sean/.emacs.d/elpa/e= ldoc-1.15.0/eldoc hides /Applications/Emacs 3.app/Contents/Resources/lisp/emacs-lisp= /eldoc

Features:
(mailalias mailclient textsec uni-scripts id= na-mapping uni-confusable
textsec-check shadow mail-extr emacsbug swiper= ivy delsel ivy-faces
ivy-overlay colir ffap cus-start cal-move cl-print= macros mode-local
ox-org ox-odt rng-loc rng-uri rng-parse rng-match rng= -dt rng-util
rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-l= atex
ox-icalendar org-agenda ox-html table ox-ascii ox-publish ox
tra= mp-archive tramp-gvfs helm-unicode helm-utils helm-help helm
helm-global= -bindings helm-easymenu helm-core async-bytecomp helm-source
helm-multi-= match helm-lib async conf-mode tmm smartparens-markdown
markdown-mode di= splay-line-numbers sh-script goto-addr vc-hg vc-bzr
vc-src vc-sccs vc-cv= s vc-rcs log-view bug-reference shortdoc help-fns
radix-tree magit-extra= s face-remap ag vc-svn find-dired vc-annotate
misearch multi-isearch tra= mp-sh magit-bookmark bookmark tabify
org-datetree org-capture executable= mc-edit-lines emojify apropos
tar-mode arc-mode archive-mode ht network= -stream slack slack-company
slack-unread slack-websocket slack-thread-ev= ent slack-room-event
slack-star-event slack-reaction-event slack-reply-e= vent slack-typing
slack-slash-commands slack-message-event slack-eventslack-dialog-edit-element-buffer slack-dialog-buffer slack-dialog
slac= k-stars-buffer slack-search-result-buffer
slack-thread-message-compose-b= uffer slack-file-list-buffer
slack-file-info-buffer slack-all-threads-bu= ffer slack-message-buffer
slack-user-profile-buffer slack-pinned-items-b= uffer slack-pinned-item
slack-thread-message-buffer slack-room-info-buff= er slack-room-buffer
slack-message-share-buffer slack-message-edit-buffe= r
slack-room-message-compose-buffer slack-message-compose-buffer
slac= k-message-attachment-preview-buffer slack-action slack-star
slack-remind= er slack-search slack-message-reaction slack-message-editor
slack-messag= e-sender slack-message-notification alert log4e
notifications gntp slack= -buffer slack-message-formatter slack-thread
slack-im slack-channel slac= k-group slack-conversations
slack-create-message slack-attachment slack-= selectable slack-bot-message
slack-user-message slack-file slack-message= slack-message-faces
slack-unescape slack-block slack-mrkdwn slack-userg= roup slack-reaction
slack-modeline slack-room slack-counts slack-user sl= ack-bot
slack-dnd-status slack-emoji slack-image slack-request slack-log= lui
flyspell ispell slack-team slack-team-ws slack-util websocket diary= -lib
diary-loaddefs recentf tree-widget docker-tramp tramp-cache time-st= amp
tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat=
mhtml-mode css-mode color java-ts-mode restclient protobuf-mode sql vie= w
smartparens-python python yaml-ts-mode web-mode cap-words superwordsubword smartparens-scala scala-mode scala-mode-prettify-symbols
scala-= mode-imenu scala-mode-map scala-mode-fontlock scala-mode-indent
scala-mo= de-paragraph scala-mode-syntax scala-mode-lib org-bullets
oc-basic org-e= lement org-persist org-id org-refile avl-tree ol-eww eww
xdg url-queue m= m-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect
gnus-art mm-uu mml= 2015 mm-view mml-smime smime dig gnus-sum shr
pixel-fill kinsoku url-fil= e svg gnus-group gnus-undo gnus-start
gnus-dbus gnus-cloud nnimap nnmail= mail-source utf7 nnoo parse-time
gnus-spec gnus-int gnus-range gnus-win= ol-docview doc-view jka-compr
image-mode exif ol-bibtex bibtex iso8601 = ol-bbdb ol-w3m ol-doi
org-link-doi smartparens-org org org-macro org-pco= mplete org-list
org-footnote org-faces org-entities noutline outline ob-= emacs-lisp
org-table org-loaddefs cal-menu calendar cal-loaddefs perl6-d= etect
ruby-ts-mode gnus-dired copilot editorconfig editorconfig-core
= editorconfig-core-handle editorconfig-fnmatch jsonrpc ert ewoc debug
bac= ktrace warnings emms-idapi-browser emms-idapi emms-idapi-musicbrainz
emm= s-mpris dbus emms-librefm-stream xml emms-librefm-scrobbler
emms-playlis= t-limit emms-i18n emms-history emms-score emms-stream-info
emms-metaplay= list-mode emms-bookmarks emms-cue emms-mode-line-icon
emms-browser sort = emms-volume emms-volume-sndioctl emms-volume-mixerctl
emms-volume-pulse = emms-volume-amixer emms-playlist-sort emms-last-played
emms-player-xine = emms-player-mpd tq emms-lyrics emms-url emms-streams
emms-show-all emms-= tag-editor emms-tag-tracktag emms-mark emms-mode-line
emms-cache emms-in= fo-native emms-info-native-spc emms-info-native-mp3
emms-info-native-ogg= emms-info-native-opus emms-info-native-flac
emms-info-native-vorbis bin= dat emms-info-exiftool emms-info-tinytag
emms-info-metaflac emms-info-op= usinfo emms-info-ogginfo
emms-info-mp3info emms-playlist-mode emms-playe= r-vlc emms-player-mpv
emms-playing-time emms-info emms-later-do emms-pla= yer-mplayer
emms-player-simple emms-source-playlist emms-source-file loc= ate
emms-setup emms emms-compat scribd-sentry scribd-airflow scribd-gith= ub
request scribd-devkube scribd-aws ob-ruby ob ob-tangle ol org-src ob-= ref
ob-lob ob-table ob-exp ob-comint ob-core org-cycle org-fold
org-f= old-core ob-eval org-keys oc org-compat org-version org-macs hmac
csv le= t-alist smartparens-config smartparens-javascript smartparens-text
smart= parens-ruby smartparens-html smartparens-c smartparens loadhist
robe url= -http url-auth url-gw nsm inf-ruby ruby-mode smie git-link
yasnippet git= -timemachine vc-git whitespace dash-functional gnutls
tracking shorten i= buf-macs chruby treesit-auto xref-js2 vc vc-dispatcher
js2-mode js c-ts-= common treesit cc-mode cc-fonts cc-guess cc-menus
cc-cmds cc-styles cc-a= lign cc-engine cc-vars cc-defs dired-filter f
dired-hacks-utils dired-au= x dired-x shell-pop term disp-table ehelp
beginend volatile-highlights i= edit iedit-lib
mc-hide-unmatched-lines-mode mc-mark-more tagedit s sgml-= mode facemenu
dom mc-cycle-cursors multiple-cursors-core rect dtrt-inden= t advice
projectile lisp-mnt grep ibuf-ext ibuffer ibuffer-loaddefs
e= lisp-slime-nav etags fileloop generator xref project magit-submodule
mag= it-blame magit-stash magit-reflog magit-bisect magit-push magit-pull
mag= it-fetch magit-clone magit-remote magit-commit magit-sequence
magit-note= s magit-worktree magit-tag magit-merge magit-branch
magit-reset magit-fi= les magit-refs magit-status magit magit-repos
magit-apply magit-wip magi= t-log which-func imenu magit-diff smerge-mode
diff-mode git-commit log-e= dit message sendmail yank-media puny dired
dired-loaddefs rfc822 mml mml= -sec epa derived mm-decode mm-bodies
mm-encode mail-parse rfc2231 rfc204= 7 rfc2045 ietf-drums mailabbrev
gmm-utils mailheader pcvs-util add-log m= agit-core magit-autorevert
autorevert filenotify magit-margin magit-tran= sient magit-process
with-editor shell pcomplete server magit-mode transi= ent benchmark
magit-git magit-base magit-section format-spec cursor-sens= or crm compat
ido-completing-read+ memoize cus-edit pp icons minibuf-eld= ef flycheck
find-func diminish gnus nnheader gnus-util time-date mail-ut= ils range
mm-util mail-prsvr wid-edit autoinsert misc hl-line cus-load m= b-depth
ido-vertical-mode undo-tree diff ack compile text-property-searc= h
paredit edmacro kmacro dash cl-extra help-mode use-package
use-pack= age-ensure use-package-delight use-package-diminish
use-package-bind-key= bind-key easy-mmode use-package-core desktop
frameset finder-inf winner= elec-pair savehist hippie-exp comint ansi-osc
ansi-color ring thingatpt= ido cl company-autoloads counsel-autoloads
csv-autoloads cyberpunk-them= e-autoloads dired-launch-autoloads
dtrt-indent-autoloads editorconfig-au= toloads ein-autoloads
anaphora-autoloads emms-autoloads expand-region-au= toloads fix-word
flycheck-autoloads folding-autoloads ghub-autoloads git= -link-autoloads
git-timemachine-autoloads epg rfc6068 epg-config gnu-elp= a-keyring-update
go-mode-autoloads helm-swoop-autoloads helm-autoloadshelm-core-autoloads async-autoloads htmlize-autoloads
ido-completing-r= ead+-autoloads inf-ruby-autoloads json-mode-autoloads
lsp-metals-autoloa= ds dap-mode-autoloads lsp-docker-autoloads
lsp-treemacs-autoloads lsp-ui= -autoloads lsp-mode-autoloads f-autoloads
magit-autoloads pcase git-comm= it-autoloads magit-section-autoloads
markdown-mode-autoloads multiple-cu= rsors-autoloads paredit-autoloads
pcre2el-autoloads pdf-tools-autoloads = rx polymode-autoloads
popup-autoloads projectile-autoloads protobuf-mode= -autoloads
sbt-mode-autoloads scala-mode-autoloads semi-autoloads flim-a= utoloads
apel-autoloads shell-pop-autoloads log4e-autoloads circe-autolo= ads
smartparens-autoloads swift-mode-autoloads swiper-autoloads
ivy-a= utoloads terraform-mode-autoloads hcl-mode-autoloads
transient-autoloads= treemacs-autoloads posframe-autoloads
treesit-auto-autoloads dash-autol= oads web-mode-autoloads
wfnames-autoloads with-editor-autoloads info com= pat-autoloads
xref-js2-autoloads js2-mode-autoloads yaml-mode-autoloads<= br>yasnippet-autoloads zenburn-theme-autoloads package browse-url url
ur= l-proxy url-privacy url-expand url-methods url-history url-cookie
genera= te-lisp-file url-domsuf url-util mailcap url-handlers url-parse
auth-sou= rce cl-seq eieio eieio-core cl-macs password-cache json subr-x
map byte-= opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib rmc
iso-transl = tooltip cconv eldoc paren electric uniquify ediff-hook
vc-hooks lisp-flo= at-type elisp-mode mwheel term/ns-win ns-win
ucs-normalize mule-util ter= m/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 nadvice= seq simple cl-generic
indonesian philippine cham georgian utf-8-lang mi= sc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp= 51932 hebrew greek
romanian slovak czech european ethiopic indian cyrill= ic chinese
composite emoji-zwj charscript charprop case-table epa-hookjka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefstheme-loaddefs faces cus-face macroexp files window text-properties
ov= erlay sha1 md5 base64 format env code-pages mule custom widget keymap
ha= shtable-print-readable backquote threads kqueue cocoa ns multi-tty
make-= network-process emacs)

Memory information:
((conses 16 12700605 1= 547711)
=C2=A0(symbols 48 108731 71)
=C2=A0(strings 32 926674 175903)=
=C2=A0(string-bytes 1 31629847)
=C2=A0(vectors 16 310300)
=C2=A0(= vector-slots 8 10087589 1196626)
=C2=A0(floats 8 5282 813)
=C2=A0(int= ervals 56 617485 45290)
=C2=A0(buffers 984 379))
--0000000000006b51fa0620c4d05d--