From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 07 Oct 2023 19:07:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 66394@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.169670559911913 (code B ref -1); Sat, 07 Oct 2023 19:07:01 +0000 Received: (at submit) by debbugs.gnu.org; 7 Oct 2023 19:06:39 +0000 Received: from localhost ([127.0.0.1]:55935 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qpCdK-000365-RC for submit@debbugs.gnu.org; Sat, 07 Oct 2023 15:06:39 -0400 Received: from lists.gnu.org ([2001:470:142::17]:55012) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qpCdH-00035q-Ud for submit@debbugs.gnu.org; Sat, 07 Oct 2023 15:06:36 -0400 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 1qpCcr-00024s-N1 for bug-gnu-emacs@gnu.org; Sat, 07 Oct 2023 15:06:09 -0400 Received: from mout01.posteo.de ([185.67.36.65]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qpCco-0000aV-P5 for bug-gnu-emacs@gnu.org; Sat, 07 Oct 2023 15:06:09 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id C5C36240028 for ; Sat, 7 Oct 2023 21:05:59 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1696705559; bh=3hHDo4sn0dOBHplr0XOuKtFgsBRfUedjmc4xjtcckHU=; h=From:To:Subject:Date:Message-ID:MIME-Version: Content-Transfer-Encoding:Autocrypt:OpenPGP:From; b=T/cRjLm+9KH4SSnJTJlswJUn/NE8Nvcj5GZmWRJTLPI3Iq0sVnO6xTcpK4JBeQawv D3fvTMRryzRasr5Wl2xiP9uZwyQNkzBFuVPyBjwK7v2tsoqQIntbrc9x/NcLCi37tu 6UxQ/xHpNfK1EUA7Q8F7B21ItFS7zj2VlA5gMham4NwjEl0Kq9MAr8K5Nwi9x3Mgh1 NGGdk+xaHDWrtPQIy5zZfUZu6B+FCvAxa/Y24Ur78QY/m6+z5+I/KSbFZAGxJPETIG GDGmdjbNU4mEUlarTQvUiPK+diL4aKYUj6wrPBul577UEj6rCMKXi4dnvL6f7HApEY J5pr8bFf/NWsQ== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4S2vs306Nsz9rxB for ; Sat, 7 Oct 2023 21:05:58 +0200 (CEST) From: Thierry Volpiatto Date: Sat, 07 Oct 2023 19:03:47 +0000 Message-ID: <87il7ib6cu.fsf@posteo.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt Received-SPF: pass client-ip=185.67.36.65; envelope-from=thievol@posteo.net; helo=mout01.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 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, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) When using `copy-to-register`, it is hard to see which register is already taken in the preview buffer. This patch highlight the register entered at prompt if it is already taken otherwise a minibuffer message is sent to notify user the register is available. If any interest here is the patch, feel free to modify if needed. Thanks. diff --git a/lisp/register.el b/lisp/register.el index ca6de450993..4c83264d4eb 100644 --- a/lisp/register.el +++ b/lisp/register.el @@ -154,27 +154,37 @@ listing existing registers after `register-preview-de= lay' seconds. If `help-char' (or a member of `help-event-list') is pressed, display such a window regardless." (let* ((buffer "*Register Preview*") - (timer (when (numberp register-preview-delay) - (run-with-timer register-preview-delay nil - (lambda () - (unless (get-buffer-window buffer) - (register-preview buffer)))))) - (help-chars (cl-loop for c in (cons help-char help-event-list) - when (not (get-register c)) - collect c))) + (pat "") + result timer) + (register-preview buffer) (unwind-protect - (progn - (while (memq (read-key (propertize prompt 'face 'minibuffer-prompt)) - help-chars) - (unless (get-buffer-window buffer) - (register-preview buffer 'show-empty))) - (when (or (eq ?\C-g last-input-event) - (eq 'escape last-input-event) - (eq ?\C-\[ last-input-event)) - (keyboard-quit)) - (if (characterp last-input-event) last-input-event - (error "Non-character input-event"))) - (and (timerp timer) (cancel-timer timer)) + (progn + (minibuffer-with-setup-hook + (lambda () + (setq timer + (run-with-idle-timer + 0.3 'repeat + (lambda () + (with-selected-window (minibuffer-window) + (let ((input (minibuffer-contents))) + (when (not (string=3D input pat)) + (setq pat input)))) + (with-current-buffer buffer + (let ((ov (make-overlay (point-min) (point-min= )))) + (goto-char (point-min)) + (if (string=3D pat "") + (remove-overlays) + (if (re-search-forward (concat "^" pat) ni= l t) + (progn (move-overlay + ov + (match-beginning 0) (match-end= 0)) + (overlay-put ov 'face 'helm-mat= ch)) + (with-selected-window (minibuffer-window) + (minibuffer-message + "Register `%s' is available" pat)))))= ))))) + (setq result (read-from-minibuffer prompt))) + (string-to-char result)) + (when timer (cancel-timer timer)) (let ((w (get-buffer-window buffer))) (and (window-live-p w) (delete-window w))) (and (get-buffer buffer) (kill-buffer buffer))))) In GNU Emacs 29.1 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0, Xaw3d scroll bars) of 2023-10-01 built on IPad-S340 Windowing system distributor 'The X.Org Foundation', version 11.0.12101004 System Description: Linux Mint 21.2 Configured using: 'configure CFLAGS=3D-O8 --bindir=3D/usr/local/sbin/emacs-29.1 --with-cairo --with-x-toolkit=3Dlucid --with-modules --without-tree-sitter --without-native-compilation' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XAW3D XDBE XIM XINPUT2 XPM LUCID ZLIB Important settings: value of $LANG: fr_FR.UTF-8 locale-coding-system: utf-8-unix Major mode: =EE=A4=A6 Minor modes in effect: emms-mode-line-mode: t emms-playing-time-display-mode: t emms-playing-time-mode: t bug-reference-prog-mode: t server-mode: t psession-mode: t psession-savehist-mode: t global-undo-tree-mode: t undo-tree-mode: t global-git-gutter-mode: t git-gutter-mode: t display-time-mode: t winner-mode: t tv-save-place-mode: t helm-epa-mode: t helm-descbinds-mode: t helm-top-poll-mode: t helm-adaptive-mode: t helm-mode: t helm-minibuffer-history-mode: t helm-ff-icon-mode: t shell-dirtrack-mode: t helm-popup-tip-mode: t async-bytecomp-package-mode: t dired-async-mode: t minibuffer-depth-indicate-mode: t gcmh-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t column-number-mode: t line-number-mode: t auto-fill-function: do-auto-fill transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: None found. Features: (epa-mail face-remap addressbook-bookmark tv-mu4e-config config-w3m mu4e-contrib eshell esh-cmd generator esh-ext esh-opt esh-proc esh-io esh-arg esh-module esh-groups esh-util mu4e-patch mu4e mu4e-org org-config ob-gnuplot org-crypt org-protocol org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src ob-comint org-pcomplete org-list org-footnote org-faces org-entities noutline outline ob-emacs-lisp ob-core ob-eval org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs org-version org-compat org-macs mu4e-notification notifications mu4e-main mu4e-view mu4e-mime-parts gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig gnus-sum gnus-group gnus-undo gnus-start gnus-dbus gnus-cloud nnimap nnmail mail-source utf7 nnoo gnus-spec gnus-int gnus-range gnus-win gnus nnheader range appt diary-lib diary-loaddefs cal-menu calendar cal-loaddefs mu4e-headers mu4e-thread mu4e-compose mu4e-draft mu4e-actions smtpmail mu4e-search mu4e-lists mu4e-bookmarks mu4e-mark mu4e-message shr pixel-fill kinsoku url-file svg dom flow-fill hl-line mu4e-contacts mu4e-update mu4e-folders mu4e-context mu4e-query-items mu4e-server mu4e-modeline mu4e-vars mu4e-helpers mu4e-config mu4e-window ido mu4e-obsolete mailalias mailclient textsec uni-scripts idna-mapping ucs-normalize uni-confusable textsec-check qp helm-dabbrev shadow mail-extr emacsbug message yank-media puny rfc822 mml mml-sec gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils smerge-mode whitespace cl-extra helm-command helm-x-files helm-for-files helm-bookmark bookmark emms-config emms-mpris emms-librefm-stream 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-spc 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 emms-auto helm-external helm-net tramp-archive tramp-gvfs tramp-cache time-stamp zeroconf dbus xml helm-ring helm-elisp helm-eval edebug debug backtrace find-func helm-info cl-indent helm-ls-git vc-git diff-mode vc vc-dispatcher jka-compr make-mode flymake-shellcheck cus-start flymake-proc flymake project warnings thingatpt sh-script smie treesit executable bug-reference naquadah-theme server imenu psession frameset undo-tree diff queue pcase git-gutter mule-util dired-extension time winner describe-variable help-fns radix-tree help-mode tv-utils tv-save-place.el advice init-helm epa derived epg rfc6068 epg-config helm-epa isl helm-descbinds cus-edit pp icons wid-edit helm-sys popup helm-adaptive helm-mode helm-misc helm-files image-dired image-dired-tags image-dired-external image-dired-util xdg image-mode exif filenotify tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat rx shell pcomplete parse-time iso8601 time-date helm-buffers all-the-icons all-the-icons-faces data-material data-weathericons data-octicons data-fileicons data-faicons data-alltheicons helm-occur helm-tags helm-locate helm-grep wgrep-helm wgrep grep compile text-property-search comint ansi-osc ring helm-regexp format-spec ansi-color helm-utils helm-help helm-types helm-extensions-autoloads helm-autoloads helm helm-global-bindings helm-easymenu edmacro kmacro helm-core easy-mmode async-bytecomp helm-source helm-multi-match helm-lib dired-async async dired-aux dired dired-loaddefs mb-depth avoid cus-load gcmh all-the-icons-autoloads gcmh-autoloads info ledger-mode-autoloads markdown-mode-autoloads nerd-icons-autoloads w3m-load w3m-autoloads yaml-mode-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/x-win x-win term/common-win x-dnd 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 dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo x-toolkit xinput2 x multi-tty make-network-process emacs) Memory information: ((conses 16 854462 334476) (symbols 48 35404 26) (strings 32 219034 39971) (string-bytes 1 6357489) (vectors 16 99232) (vector-slots 8 2128904 396764) (floats 8 1791 2270) (intervals 56 37515 32129) (buffers 976 138)) <#secure method=3Dpgpmime mode=3Dsign> --=20 Thierry From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: [RE] Make register-read-with-preview more useful References: <87il7ib6cu.fsf@posteo.net> In-Reply-To: <87il7ib6cu.fsf@posteo.net> Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 08 Oct 2023 06:50:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.169674779129858 (code B ref 66394); Sun, 08 Oct 2023 06:50:02 +0000 Received: (at 66394) by debbugs.gnu.org; 8 Oct 2023 06:49:51 +0000 Received: from localhost ([127.0.0.1]:56172 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qpNbq-0007lW-M5 for submit@debbugs.gnu.org; Sun, 08 Oct 2023 02:49:51 -0400 Received: from mout02.posteo.de ([185.67.36.66]:59067) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qpNbn-0007lF-El for 66394@debbugs.gnu.org; Sun, 08 Oct 2023 02:49:48 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 2ADF0240101 for <66394@debbugs.gnu.org>; Sun, 8 Oct 2023 08:49:21 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1696747761; bh=pIcqiZUYPavDHCgdcEP+QFKdqtPgfmNpvvtjrcEIbCM=; h=From:To:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=rb8eyO6a7GwbEjbnfD2MVvDLDWjRKeBY5oJqcORLmtENV9MzFEBlCQ0B6rFjp5voh R0+WwjkgfXihmKxD6ebvO+a37hxB9VpUB1OvP6OhlLSICiBZx3o/9W3h/kvaRfY1sm i39ms2/g1EMqiuzBpCP7gUBTKkLU0ElM+kAZ6oVUNrLbCTU4sy8WAHWgVgUW/7e1T/ yRVQ5uB1lSFH8jEqPGtLGr3vS1QXr8wDA47RobOTaB2sVNR5sT2uHZDd9bDaaJ0Fjq +ncJD5DDj7OOkSfFW+0Gs89A2kF/SanJyFVIPC3Kpo8r7fu1K4cdAqoCUejvXvvChW 7YyUXK4v3OfLA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4S3CSc2pFbz9rxH for <66394@debbugs.gnu.org>; Sun, 8 Oct 2023 08:49:20 +0200 (CEST) From: Thierry Volpiatto Date: Sun, 08 Oct 2023 06:45:11 +0000 Message-ID: <874jj1obh2.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Here a modified version of the patch that fix the face, send an error when exiting with empty prompt and prevent adding more than one char in prompt. From=20this code, it is now easy to modify the behavior as needed (ideas we= lcome). diff --git a/lisp/register.el b/lisp/register.el index ca6de450993..47645098e6d 100644 =2D-- a/lisp/register.el +++ b/lisp/register.el @@ -154,27 +154,45 @@ listing existing registers after `register-preview-de= lay' seconds. If `help-char' (or a member of `help-event-list') is pressed, display such a window regardless." (let* ((buffer "*Register Preview*") =2D (timer (when (numberp register-preview-delay) =2D (run-with-timer register-preview-delay nil =2D (lambda () =2D (unless (get-buffer-window buffer) =2D (register-preview buffer)))))) =2D (help-chars (cl-loop for c in (cons help-char help-event-list) =2D when (not (get-register c)) =2D collect c))) + (pat "") + result timer) + (register-preview buffer) (unwind-protect =2D (progn =2D (while (memq (read-key (propertize prompt 'face 'minibuffer-prompt)) =2D help-chars) =2D (unless (get-buffer-window buffer) =2D (register-preview buffer 'show-empty))) =2D (when (or (eq ?\C-g last-input-event) =2D (eq 'escape last-input-event) =2D (eq ?\C-\[ last-input-event)) =2D (keyboard-quit)) =2D (if (characterp last-input-event) last-input-event =2D (error "Non-character input-event"))) =2D (and (timerp timer) (cancel-timer timer)) + (progn + (minibuffer-with-setup-hook + (lambda () + (setq timer + (run-with-idle-timer + 0.3 'repeat + (lambda () + (with-selected-window (minibuffer-window) + (setq minibuffer-scroll-window + (get-buffer-window buffer)) + (let ((input (minibuffer-contents))) + (when (> (length input) 1) + (setq input (substring input 0 1)) + (delete-minibuffer-contents) + (insert input)) + (when (not (string=3D input pat)) + (setq pat input)))) + (with-current-buffer buffer + (let ((ov (make-overlay (point-min) (point-min= )))) + (goto-char (point-min)) + (if (string=3D pat "") + (remove-overlays) + (if (re-search-forward (concat "^" pat) ni= l t) + (progn (move-overlay + ov + (match-beginning 0) (match-end= 0)) + (overlay-put ov 'face 'match)) + (with-selected-window (minibuffer-window) + (minibuffer-message + "Register `%s' is available" pat)))))= ))))) + (setq result (read-from-minibuffer prompt))) + (cl-assert (and result (not (string=3D result ""))) + nil "No register specified") + (string-to-char result)) + (when timer (cancel-timer timer)) (let ((w (get-buffer-window buffer))) (and (window-live-p w) (delete-window w))) (and (get-buffer buffer) (kill-buffer buffer))))) =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmUiUOoTHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvkwV2DACyC6jppr3YWyfOZmMRonIlUWloy9Ox xJ1uQHZWFaD8GP+TPOg64kns7051J882HMe+M9kd+WriRAE7+P4LR4IXG4YKDmvR c8+w8OG3PzH7XWsPDWrDXubGTFNgHA26Lz71YoIRq35OBD0TQow4aFUtraBO/Vzy AqijAZ88ka2ZqQPxZK6gh4kxtWyw7gY3f6XPrJq1S4ZNQLcSZAMCIP+BDD1iyFgB UKLYr6wrEF2tlAgFJa9dgCJv8GzkYMKgySX5tVG0lDVL2oAitolj3YP01fe2if61 OcMa0z9QWMgjpCCIh5gd0l5+hhZrwG+4wOOSlVph1KN65cEuLK5K2Q/FakruNL2w PtR1DQDr+G5/NCI4I9Yu4cJBOm8aY5qH5t/KZ2D8djG4pgjHN1+fAXJfj4PbFOcB hFuihDTI9JVmOw+ZqT+vyKePwv1ABSLoTU41j3DQRUDkFI8Gjhq3eSQyjpUfas5Q nS9UD9uwW00bx0DjwtCz1uq46zbt6wr4V7o= =PAiw -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: [RE] Make register-read-with-preview more useful References: <87il7ib6cu.fsf@posteo.net> In-Reply-To: <87il7ib6cu.fsf@posteo.net> Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 12 Oct 2023 06:54:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.169709359826623 (code B ref 66394); Thu, 12 Oct 2023 06:54:03 +0000 Received: (at 66394) by debbugs.gnu.org; 12 Oct 2023 06:53:18 +0000 Received: from localhost ([127.0.0.1]:40481 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qqpZO-0006vK-B2 for submit@debbugs.gnu.org; Thu, 12 Oct 2023 02:53:18 -0400 Received: from mout02.posteo.de ([185.67.36.66]:39839) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qqpZL-0006v5-Cm for 66394@debbugs.gnu.org; Thu, 12 Oct 2023 02:53:16 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id AA6AA240104 for <66394@debbugs.gnu.org>; Thu, 12 Oct 2023 08:52:46 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1697093566; bh=v/pygO3CdNQpwqdpxayCqQ44ZcywvXmEMFa3B636vNU=; h=From:To:Subject:Date:Message-ID:MIME-Version:From; b=CzZTfdNFdAR9zK0pGByYel6Rwz3JrmnFFnAEq2zmi2hgoMtHMsRskU/QnlcpytadD ++qQymdMAUvUET0NrC4oSem/aV+bJsKV8WlUuQ0uTm1pXz37PQH11etISjsbk1A0QT Q7acCEa74wfLSrNeHBgiKyrxSTxuinaMwK2TFxKaGmpvh2Xet6alXzrEk6KtCuvEmr 1iXapYgk+7oO2scUJ+fjg2IUrVAZx0w6gUHhlrzwoqybVxJI3iyg9p70qjK7FrSItI jWRv27Yoly2XQPTkVlI0K7BrXNuQkmXgUZlskQVF4GTp5EYLRPOkKEr4fkGrWz1mu1 YuNCxw+4c9FvA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4S5gLj5C05z6txf for <66394@debbugs.gnu.org>; Thu, 12 Oct 2023 08:52:45 +0200 (CEST) From: Thierry Volpiatto Date: Thu, 12 Oct 2023 06:43:55 +0000 Message-ID: <871qe02uyw.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable I moved the code here if any interest. https://gist.github.com/thierryvolpiatto/2219f99ac96ed1b468fac204bca23b4a I added filters to register-preview (jump-to-register should show only positions and insert-register should show only text). Also added navigation (up and down) in preview buffer (see gif). Still need to modify (or add) docstrings and also decide what to do with `register-preview-delay` (just a flag in this patch). AFAIU the only reason to delay preview is when executing kbd macro, in this case we could use executing-kbd-macro, but maybe I miss something and there is other reasons to delay this. =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmUnl7cTHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvkzHXDACWPu93kl7KCjvDBPIrvl86LfMP2CkK Hs7KHe4VwrEYHW/4yIcBqef3qMoS26jqzOykyNgZsvMgPNbQnfy2Hc02heHMWUCP MDhz3dL4iNB8WIy1I9QB5DpiAE+hc/aHxIqR0N9Q0XWh+ZQXhLJYMU32UBC2Afha S4W6IMkMTfqar6t310oH127lZy+J5pwSIy45nWecpZKw/xh7SPk861oyz1WycfqT WlFJSRF7rfSgUXSHbP+wNf9XE9jDlv7uAuAntIAM1Y9tAOakHKJ+UxAJsAJhlqCP cUWJgpQHcdbwcngG0GxX/FuTvgMpzM47U3SIotHHsodtgGsVevlfqv43VMtExyQl qDlJRDwQMtVLtFox95grWgdZVjs2+WZlQDFNs/rpn5ttnlP2sWKfoQVjjfQ0IWIq wKRF39uCaq/pPqNiDdjZ6oejp7sYX3A/UpZfSfZ3s0u8qFlNmE1IBbdpMs7hyE6y N+IkH4Z0j1Ct4mlSLvt/4/eSYeQX+b9my0E= =3CGz -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: [RE] Make register-read-with-preview more useful Resent-From: Richard Stallman Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 14 Oct 2023 02:06:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: 66394@debbugs.gnu.org Reply-To: rms@gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.16972491118814 (code B ref 66394); Sat, 14 Oct 2023 02:06:01 +0000 Received: (at 66394) by debbugs.gnu.org; 14 Oct 2023 02:05:11 +0000 Received: from localhost ([127.0.0.1]:47628 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qrU1f-0002I6-Ci for submit@debbugs.gnu.org; Fri, 13 Oct 2023 22:05:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40014) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qrU1d-0002Hq-Id for 66394@debbugs.gnu.org; Fri, 13 Oct 2023 22:05:10 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qrU19-0007Ae-FL; Fri, 13 Oct 2023 22:04:39 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=Date:References:Subject:In-Reply-To:To:From: mime-version; bh=Fb29qp8a38nw2poS5GS7yMmMkBsUlT8K3enz6zC1rEk=; b=r/H4Li1IXLJs 4tzpgDplX7tQC9YQEbv7EvgzIQVD7dvAEB8qesvkPkdaVIS9nx3LTMZB4wX6rj/wUdKVdaxQbGeA9 2qf9zdXaK3yNfiKB7zmERkhyuBo6WO2W4MMYlEtVBAEnM8mXpI928Cpq6tpf218yWIpAw9IVitSWV Ri2oRSsoThgjhtGY7pTCjbw24JsSJOhBgxdrzLMmcejQTQF8/TCnMlygTL5U5MFCKau2MVPjYtDAG Djqe0UuoHQr/OnnMw0NMuQzTM/kFjALMg8SOUNgRcngps3lckzixaJ41Tf4Sj5FgEllL0B/8q6EZH meCdIEl/1JJ4h8E47ZrLpg==; Received: from rms by fencepost.gnu.org with local (Exim 4.90_1) (envelope-from ) id 1qrU18-0004CA-DX; Fri, 13 Oct 2023 22:04:38 -0400 Content-Type: text/plain; charset=Utf-8 From: Richard Stallman In-Reply-To: <871qe02uyw.fsf@posteo.net> (message from Thierry Volpiatto on Thu, 12 Oct 2023 06:43:55 +0000) References: <87il7ib6cu.fsf@posteo.net> <871qe02uyw.fsf@posteo.net> Message-Id: Date: Fri, 13 Oct 2023 22:04:38 -0400 X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] Thanks for inviting people to work with you on improving this code. But please don't use github as the place to host your free software -- especially not if it relates to GNU. Github requires a person to run nonfree software simply to make an account; so if you invite people to collaborate with you on that platform, indirectly that asks people to run nonfree software. See https://www.gnu.org/software/repo-criteria-evaluation.html. -- Dr Richard Stallman (https://stallman.org) Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: [RE] Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 14 Oct 2023 06:07:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: rms@gnu.org Cc: 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.16972635919038 (code B ref 66394); Sat, 14 Oct 2023 06:07:01 +0000 Received: (at 66394) by debbugs.gnu.org; 14 Oct 2023 06:06:31 +0000 Received: from localhost ([127.0.0.1]:47681 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qrXnD-0002Li-2H for submit@debbugs.gnu.org; Sat, 14 Oct 2023 02:06:31 -0400 Received: from mout01.posteo.de ([185.67.36.65]:40627) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qrXn8-0002LT-6y for 66394@debbugs.gnu.org; Sat, 14 Oct 2023 02:06:30 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id DA0EB240027 for <66394@debbugs.gnu.org>; Sat, 14 Oct 2023 08:05:56 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1697263556; bh=hKzbybdMyz3kcZmV5COhus4oa6rvf0fU9s0Marjurxg=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:From; b=llhZ9x64AqS2e/9UHwJaXC3HtqBZUK3Rd3NLkEwoGr2EXFPdkd4RXT9AwEBWj/jRH qgXOU2sgeKaP1NzonZAHfeX3aKm/SLrmqVUtdOV6xB/2dvvFyFhwoXLXPuRgWB5irm oU5YS8eL1meZdeUXO+0ngYqrINVFlROOtQRhkI+KVdRETGTpD58k4cV59qz/QkfXVU Z+xTLYy8uiYz+tZOEGpETlyO3Ols4Bzm5/RqLPov3faGoxBEsY+VtyNEl8DVAARmXp 3SULj02IKn4GMTDN/lII4AdJeM+vpFMrjzAJt5n6fIHj6xEOaoiczfG4E8gsucKzh0 64wuaAA6t1ydA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4S6tCm09VYz9rxP; Sat, 14 Oct 2023 08:05:55 +0200 (CEST) References: <87il7ib6cu.fsf@posteo.net> <871qe02uyw.fsf@posteo.net> From: Thierry Volpiatto Date: Sat, 14 Oct 2023 05:59:07 +0000 In-reply-to: Message-ID: <875y39oi0y.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Richard Stallman writes: > Thanks for inviting people to work with you on improving this code. > But please don't use github as the place to host your free software -- > especially not if it relates to GNU. > > Github requires a person to run nonfree software simply to make an > account; so if you invite people to collaborate with you on that > platform, indirectly that asks people to run nonfree software. I don't invite anybody to collaborate on github. The code is stored there and AFAIK anybody can look at it without creating = an account, if any interest in this code I will provide a patch on this list, what I did in previous mails without any answer BTW... =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmUqL70THHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvkzJ3C/9fUBlDRmryCNwB5nDpKSJ1WZNwwJmw WcZ2QKkVoQl2KZ2R2KDQtLrcXm9tTsVIWg2eWYgc8a/GZ1sPNn0x4H5ohGG+QGWy dmjrIF3tOdga2gsOwTiknZWN8UMIAx2iw4zDnLeHRFAD5yiWxh0QNYIYoyVbnf/L qBRPDZnjtW7zBvPhGc6glOL7V8hfPp45QZA/ozh4japl/aUYjqQN2hnOzH8CwAMH obOrTxjKru2jYqIVwwUiXCsHUxpaVAvXZ7wlAiNPji+uXIyebMYIbfCr2O2hXnSJ 38R6cufYe7pmW8mKUYxUcjnw9sTZ2ZcFUE/2PDjt1J7UpDiCrEakayL67B+0UrCp J0IypwiLf2XFH0tmTf2OJoFWDPOOVaLWecCtE1P/sjWMYDDDt/0xp9NMV+g2Hotz axQrFAnW33+z6SPbxlc61nNQL5JS6p0LiTnr6mHRLGrs5e+RBWYuaP8OLdEL3kxq Pw1KnJzXJaMHOy7x6bijxkkvAGlGGusiZKQ= =fApv -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Thierry Volpiatto Subject: bug#66394: closed (Re: bug#66394: [RE] Make register-read-with-preview more useful) Message-ID: References: <87bkd0jp01.fsf@posteo.net> <87il7ib6cu.fsf@posteo.net> X-Gnu-PR-Message: they-closed 66394 X-Gnu-PR-Package: emacs Reply-To: 66394@debbugs.gnu.org Date: Sun, 15 Oct 2023 08:00:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1697356802-5684-1" This is a multi-part message in MIME format... ------------=_1697356802-5684-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #66394: 29.1; Make register-read-with-preview more useful which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 66394@debbugs.gnu.org. --=20 66394: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D66394 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1697356802-5684-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 66394-done) by debbugs.gnu.org; 15 Oct 2023 07:59:17 +0000 Received: from localhost ([127.0.0.1]:51161 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qrw1s-0001SD-SF for submit@debbugs.gnu.org; Sun, 15 Oct 2023 03:59:17 -0400 Received: from mout02.posteo.de ([185.67.36.66]:46155) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qrw1q-0001Rw-FX for 66394-done@debbugs.gnu.org; Sun, 15 Oct 2023 03:59:15 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 3D669240101 for <66394-done@debbugs.gnu.org>; Sun, 15 Oct 2023 09:58:44 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1697356724; bh=Sho1qnaiE4AUN5/T2EN8m9bABtDeueNh8jSGCucXXS4=; h=From:To:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=pAbfCbfVEkMvGxjH8Vx9zQCBlUkDGrNMcgtD2Qd106epb8ZQSwW3qgScmzJw9Gq4W MkjMaOlNi8pfKs4DsnKRVV0k0YRoAb+caqEmKoGeoGJm0zFFrN7PqHO35Zb3nCqhj6 m0LgQ4BmjznWw2JN8TD4Go0hON6ZXUJy4NXCD/i2K2sYv0SQuUbI0c/DRdKYv/D0eK oG5npC6WPMw8jIpnTj0hGIfCeWgbaW6h1XzjuY902KdyUSTeOZ52N/4JjoH5QGDqi6 rkNCPk0sRQuk5Oa7pz22eHpcxM2EqqTv4TYOryyCdmFI3+J/Fe168m9DiGm1VXhR/f u88RE2A+5XSqA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4S7XgR4dKTz9rxR for <66394-done@debbugs.gnu.org>; Sun, 15 Oct 2023 09:58:43 +0200 (CEST) References: <87il7ib6cu.fsf@posteo.net> <871qe02uyw.fsf@posteo.net> From: Thierry Volpiatto To: 66394-done@debbugs.gnu.org Subject: Re: bug#66394: [RE] Make register-read-with-preview more useful Date: Sun, 15 Oct 2023 07:56:35 +0000 In-reply-to: Message-ID: <87bkd0jp01.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 66394-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Closed for no interest in this feature. =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmUrm64THHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvk/AIC/wLex+xVuruzzmst4kVSR3ADr64xfhx xmF9fkzEoLnO1TkB/eYO+SsS/uYUrTcQya9MXZ9C+CSeH9u10xFMiedEeyor7RzY 3bKfHTL7sv1/6X6hwphh3dcHuc/YeYu53YWvoSAPsnnIDOhXofuYdvBOKU75afkz 3xJ/qal74kUHvObWwlB0k3ajx0ktvB912oE2hbsUsQwDkx4NCWVJ4JN0RpXB3KsM uEAQ7v22tURdgAl99kwQVkoUCrL++hQVkt9ViHv0kDURLZ+ItS7nC/57ZYEr8IAq JHBq8XCiTfc6n71Mr7DmKliV7pqYznimcpy2OYzWhZDpVP7PfTEQ9yfZGUB4MoZO NAznkm397sOfqtqABM0Ndy0FekmqCyr+FL21lS2oc6RHTJEyR50qR6K1VX5B6URm PxC4ozN4sGv3k1lyoEqXBn4zfjXWqQA/vzRJO6bgfHFa9pJa8gH+6rCUqyVqfUXS x2JVpZKFVsfJJMemaK+MtvvkHuHtMBCt4Og= =h5t3 -----END PGP SIGNATURE----- --=-=-=-- ------------=_1697356802-5684-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 7 Oct 2023 19:06:39 +0000 Received: from localhost ([127.0.0.1]:55935 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qpCdK-000365-RC for submit@debbugs.gnu.org; Sat, 07 Oct 2023 15:06:39 -0400 Received: from lists.gnu.org ([2001:470:142::17]:55012) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qpCdH-00035q-Ud for submit@debbugs.gnu.org; Sat, 07 Oct 2023 15:06:36 -0400 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 1qpCcr-00024s-N1 for bug-gnu-emacs@gnu.org; Sat, 07 Oct 2023 15:06:09 -0400 Received: from mout01.posteo.de ([185.67.36.65]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qpCco-0000aV-P5 for bug-gnu-emacs@gnu.org; Sat, 07 Oct 2023 15:06:09 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id C5C36240028 for ; Sat, 7 Oct 2023 21:05:59 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1696705559; bh=3hHDo4sn0dOBHplr0XOuKtFgsBRfUedjmc4xjtcckHU=; h=From:To:Subject:Date:Message-ID:MIME-Version: Content-Transfer-Encoding:Autocrypt:OpenPGP:From; b=T/cRjLm+9KH4SSnJTJlswJUn/NE8Nvcj5GZmWRJTLPI3Iq0sVnO6xTcpK4JBeQawv D3fvTMRryzRasr5Wl2xiP9uZwyQNkzBFuVPyBjwK7v2tsoqQIntbrc9x/NcLCi37tu 6UxQ/xHpNfK1EUA7Q8F7B21ItFS7zj2VlA5gMham4NwjEl0Kq9MAr8K5Nwi9x3Mgh1 NGGdk+xaHDWrtPQIy5zZfUZu6B+FCvAxa/Y24Ur78QY/m6+z5+I/KSbFZAGxJPETIG GDGmdjbNU4mEUlarTQvUiPK+diL4aKYUj6wrPBul577UEj6rCMKXi4dnvL6f7HApEY J5pr8bFf/NWsQ== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4S2vs306Nsz9rxB for ; Sat, 7 Oct 2023 21:05:58 +0200 (CEST) From: Thierry Volpiatto To: bug-gnu-emacs@gnu.org Subject: 29.1; Make register-read-with-preview more useful Date: Sat, 07 Oct 2023 19:03:47 +0000 Message-ID: <87il7ib6cu.fsf@posteo.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=xsDNBF8ylcIBDADG+hy+zR6L4/vbdDDZuSaMmSrU3A5QZJpeBCvxTr7MpzzruZbhLPW1K3R6N2MA edi8Y+C8o27FVRIjpdbaKMGu9je7JV/TbUQYo3SOwCK1vM4LUn4V6ZLzSYkuiEt4eyMoiDdyvN0p kcK6P9x9DCetcEVszXzQg+yzCVrQ2hXWDXWT4M18EC3wtO7RHPouMqGiwBFhBAYErCqFWFxQHkfb tG/4yGyJ58rglb65O3qijjMWvYwcWZun9/7qm8Z4/4mHopmo2zgU+OrptnLSZfkZGz3Y7Uf452xQ GVq0Fv75NPvQru7y+DYVhuVXXyAmGxt+vf4rIiixMBbhKEPjcxEPAa2LTzex2IsTZR+QVG9uDnqC WcgaOEQ58fzXNvNhtwwF/Rgio2XWAJVdmFWS59/k9W58CIUSNKBMZh2XeGdEmtHvDtCxW3z6FJha 36RzOM3fMNNiAGdFZJA84gcdloJR+sHCDTTPT3784fjr+V8An7sI581NGFzkRQqPvEQCZbUAEQEA Ac0SdGhpZXZvbEBwb3N0ZW8ubmV0wsEOBBMBCgA4AhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheA FiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmL3HCoACgkQDsVtFB0W75OVEAv/f6XxmtIFz08fUb8h Bp/zJP6IC4/rhhh+0GMRIRzLN8DK0jV8JCzYdFHiRJOy2lNIOpmrrCmjRRxferc2G42+ePFIsslx hU46VSz1Z83NwIG3mpdYNV5WUTUdgzxExHTNTFCd7NKv0nlHKQaAtdXm5bYnSHsnL7cx8z7lukA/ EsJocE+GD7QXnsrdlicvdobI0TEN4l73221a72oCvHfYLCVsB6YsNJ5ZGkA1zSjzln5uLAgZ/2r/ aqlao/AlSZkAk6+hvK0RyAZ/YR4YRZxO8Fsd0gWgFkanRfKfufJ1V0OHZg7yszi3q/hRzS+rZtJ0 OuzDlh/dyQkxVkZb9vis/+HnGDJrBE5MsmJLcy2Sy3uUnio0fq8q9CrZbudvd1DajlZxPzTm0csP eUk45QEgbhEU7MfyAX/mkKxjHajz2cMcHKIap1BqEgJl4BKFeLMcBZ4O1p9ivwtf1Ht2JTp5lOi0 ItPfhQ4DP8LZ1ZIkN5Kg9v0cyw9meRzAuuR0V2GtzsDNBF8ylcIBDADnIDHEkmk4lUwTlOhwb2yj UfmGPnpH3MCCHkjM9H/P1gTHxFWtwFVPcNMCwXWvKSBTF2dZXKERD0yzG06zT53ZMN7EIIeuY6m4 R8IcMvpohciisWxbFoB4ZY117tVSeqjo946itgbpdeESKl9a8dpn7ytZMyYxPdojlQAqxeAJ8444 raESh1oTKXb64hlk4l2pSRlrLgjpJBo8asAfZndaxIUKhw68tV8sqeZh9P6cGtHbUELKVJqefNV7 V7jF5wf3xvRG6Ces3kSKXalLfs+vrVaoOjQeWrc0AtwFWHmt9JLfKrqF+Q2Q7jUidboWmazQM56E SJFPpPHmWq8k6DHspsFHOforLouTHJL1556IPne7IV2BGfWc0+xLxalZ8F5F+vnPF/OkrC1CD5iC KTjXKa2iZbcYdYQAiL6P8Ac8CgN6EkhpbxRtzrEgChuNGevdi/G/GHG4Zqrh6YFwIa/NHq2aVaFq 5C1yNTMJd1FRjRzs5JPPlJKpYDnNx+MSp7UAEQEAAcLA9gQYAQoAIAIbDBYhBCPbcH0Te6954oP8 cA7FbRQdFu+TBQJi9x1ZAAoJEA7FbRQdFu+To6QMAIcvUSiFwCIggxkmYy3ZY0QAMLmIPga8DNPM XbfSOBDb2KLGBd+FAA8p2GExpul4r6kOYnGogtojByHmVgrd30/3ZURTM8Vj51wwD05viMZccQHl Wd9J/qZIvhBJlJWYnwVxh+2Kg4/hkx7SGc7JJS5GS37+PFQOJHPGMxc+fe4Ty2FdjIOVf3P1Hov9 K6yBI7Af66qqcL3aKJ4jJidRYN8sMaKOqEu4rcSpTxp8/3Ddbs9HezUgXeUzOLJMcEYFlvCyC8ZS l/QDZmpobKbxZ1JAqZM8lnmcZYSV7OsWnxJIYDV1gH5LTLj7bGswXaB4B+qkckihWkRZixu8q1IK 0c/xwUzyF092uFRM/sQKrSmnwA1+hQiiIuEl4XVz5li0/TmMta3ijUM7GNbl2IjioTRxWWecwad1 mNHvKTcXPsKDAbHFdLvQzurnroBHQV0jSPNLTP5Suo7RnLbehfg5INpGjToCUlrd2qQqgXW7h5qZ TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt Received-SPF: pass client-ip=185.67.36.65; envelope-from=thievol@posteo.net; helo=mout01.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 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, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) When using `copy-to-register`, it is hard to see which register is already taken in the preview buffer. This patch highlight the register entered at prompt if it is already taken otherwise a minibuffer message is sent to notify user the register is available. If any interest here is the patch, feel free to modify if needed. Thanks. diff --git a/lisp/register.el b/lisp/register.el index ca6de450993..4c83264d4eb 100644 --- a/lisp/register.el +++ b/lisp/register.el @@ -154,27 +154,37 @@ listing existing registers after `register-preview-de= lay' seconds. If `help-char' (or a member of `help-event-list') is pressed, display such a window regardless." (let* ((buffer "*Register Preview*") - (timer (when (numberp register-preview-delay) - (run-with-timer register-preview-delay nil - (lambda () - (unless (get-buffer-window buffer) - (register-preview buffer)))))) - (help-chars (cl-loop for c in (cons help-char help-event-list) - when (not (get-register c)) - collect c))) + (pat "") + result timer) + (register-preview buffer) (unwind-protect - (progn - (while (memq (read-key (propertize prompt 'face 'minibuffer-prompt)) - help-chars) - (unless (get-buffer-window buffer) - (register-preview buffer 'show-empty))) - (when (or (eq ?\C-g last-input-event) - (eq 'escape last-input-event) - (eq ?\C-\[ last-input-event)) - (keyboard-quit)) - (if (characterp last-input-event) last-input-event - (error "Non-character input-event"))) - (and (timerp timer) (cancel-timer timer)) + (progn + (minibuffer-with-setup-hook + (lambda () + (setq timer + (run-with-idle-timer + 0.3 'repeat + (lambda () + (with-selected-window (minibuffer-window) + (let ((input (minibuffer-contents))) + (when (not (string=3D input pat)) + (setq pat input)))) + (with-current-buffer buffer + (let ((ov (make-overlay (point-min) (point-min= )))) + (goto-char (point-min)) + (if (string=3D pat "") + (remove-overlays) + (if (re-search-forward (concat "^" pat) ni= l t) + (progn (move-overlay + ov + (match-beginning 0) (match-end= 0)) + (overlay-put ov 'face 'helm-mat= ch)) + (with-selected-window (minibuffer-window) + (minibuffer-message + "Register `%s' is available" pat)))))= ))))) + (setq result (read-from-minibuffer prompt))) + (string-to-char result)) + (when timer (cancel-timer timer)) (let ((w (get-buffer-window buffer))) (and (window-live-p w) (delete-window w))) (and (get-buffer buffer) (kill-buffer buffer))))) In GNU Emacs 29.1 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0, Xaw3d scroll bars) of 2023-10-01 built on IPad-S340 Windowing system distributor 'The X.Org Foundation', version 11.0.12101004 System Description: Linux Mint 21.2 Configured using: 'configure CFLAGS=3D-O8 --bindir=3D/usr/local/sbin/emacs-29.1 --with-cairo --with-x-toolkit=3Dlucid --with-modules --without-tree-sitter --without-native-compilation' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XAW3D XDBE XIM XINPUT2 XPM LUCID ZLIB Important settings: value of $LANG: fr_FR.UTF-8 locale-coding-system: utf-8-unix Major mode: =EE=A4=A6 Minor modes in effect: emms-mode-line-mode: t emms-playing-time-display-mode: t emms-playing-time-mode: t bug-reference-prog-mode: t server-mode: t psession-mode: t psession-savehist-mode: t global-undo-tree-mode: t undo-tree-mode: t global-git-gutter-mode: t git-gutter-mode: t display-time-mode: t winner-mode: t tv-save-place-mode: t helm-epa-mode: t helm-descbinds-mode: t helm-top-poll-mode: t helm-adaptive-mode: t helm-mode: t helm-minibuffer-history-mode: t helm-ff-icon-mode: t shell-dirtrack-mode: t helm-popup-tip-mode: t async-bytecomp-package-mode: t dired-async-mode: t minibuffer-depth-indicate-mode: t gcmh-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t column-number-mode: t line-number-mode: t auto-fill-function: do-auto-fill transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: None found. Features: (epa-mail face-remap addressbook-bookmark tv-mu4e-config config-w3m mu4e-contrib eshell esh-cmd generator esh-ext esh-opt esh-proc esh-io esh-arg esh-module esh-groups esh-util mu4e-patch mu4e mu4e-org org-config ob-gnuplot org-crypt org-protocol org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src ob-comint org-pcomplete org-list org-footnote org-faces org-entities noutline outline ob-emacs-lisp ob-core ob-eval org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs org-version org-compat org-macs mu4e-notification notifications mu4e-main mu4e-view mu4e-mime-parts gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig gnus-sum gnus-group gnus-undo gnus-start gnus-dbus gnus-cloud nnimap nnmail mail-source utf7 nnoo gnus-spec gnus-int gnus-range gnus-win gnus nnheader range appt diary-lib diary-loaddefs cal-menu calendar cal-loaddefs mu4e-headers mu4e-thread mu4e-compose mu4e-draft mu4e-actions smtpmail mu4e-search mu4e-lists mu4e-bookmarks mu4e-mark mu4e-message shr pixel-fill kinsoku url-file svg dom flow-fill hl-line mu4e-contacts mu4e-update mu4e-folders mu4e-context mu4e-query-items mu4e-server mu4e-modeline mu4e-vars mu4e-helpers mu4e-config mu4e-window ido mu4e-obsolete mailalias mailclient textsec uni-scripts idna-mapping ucs-normalize uni-confusable textsec-check qp helm-dabbrev shadow mail-extr emacsbug message yank-media puny rfc822 mml mml-sec gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils smerge-mode whitespace cl-extra helm-command helm-x-files helm-for-files helm-bookmark bookmark emms-config emms-mpris emms-librefm-stream 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-spc 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 emms-auto helm-external helm-net tramp-archive tramp-gvfs tramp-cache time-stamp zeroconf dbus xml helm-ring helm-elisp helm-eval edebug debug backtrace find-func helm-info cl-indent helm-ls-git vc-git diff-mode vc vc-dispatcher jka-compr make-mode flymake-shellcheck cus-start flymake-proc flymake project warnings thingatpt sh-script smie treesit executable bug-reference naquadah-theme server imenu psession frameset undo-tree diff queue pcase git-gutter mule-util dired-extension time winner describe-variable help-fns radix-tree help-mode tv-utils tv-save-place.el advice init-helm epa derived epg rfc6068 epg-config helm-epa isl helm-descbinds cus-edit pp icons wid-edit helm-sys popup helm-adaptive helm-mode helm-misc helm-files image-dired image-dired-tags image-dired-external image-dired-util xdg image-mode exif filenotify tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat rx shell pcomplete parse-time iso8601 time-date helm-buffers all-the-icons all-the-icons-faces data-material data-weathericons data-octicons data-fileicons data-faicons data-alltheicons helm-occur helm-tags helm-locate helm-grep wgrep-helm wgrep grep compile text-property-search comint ansi-osc ring helm-regexp format-spec ansi-color helm-utils helm-help helm-types helm-extensions-autoloads helm-autoloads helm helm-global-bindings helm-easymenu edmacro kmacro helm-core easy-mmode async-bytecomp helm-source helm-multi-match helm-lib dired-async async dired-aux dired dired-loaddefs mb-depth avoid cus-load gcmh all-the-icons-autoloads gcmh-autoloads info ledger-mode-autoloads markdown-mode-autoloads nerd-icons-autoloads w3m-load w3m-autoloads yaml-mode-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/x-win x-win term/common-win x-dnd 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 dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo x-toolkit xinput2 x multi-tty make-network-process emacs) Memory information: ((conses 16 854462 334476) (symbols 48 35404 26) (strings 32 219034 39971) (string-bytes 1 6357489) (vectors 16 99232) (vector-slots 8 2128904 396764) (floats 8 1791 2270) (intervals 56 37515 32129) (buffers 976 138)) <#secure method=3Dpgpmime mode=3Dsign> --=20 Thierry ------------=_1697356802-5684-1-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: [RE] Make register-read-with-preview more useful Resent-From: Stefan Kangas Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 15 Oct 2023 08:19:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto , 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.16973579247738 (code B ref 66394); Sun, 15 Oct 2023 08:19:02 +0000 Received: (at 66394) by debbugs.gnu.org; 15 Oct 2023 08:18:44 +0000 Received: from localhost ([127.0.0.1]:51173 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qrwKh-00020j-TH for submit@debbugs.gnu.org; Sun, 15 Oct 2023 04:18:44 -0400 Received: from mail-lj1-x233.google.com ([2a00:1450:4864:20::233]:61837) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qrwKe-00020S-B2 for 66394@debbugs.gnu.org; Sun, 15 Oct 2023 04:18:42 -0400 Received: by mail-lj1-x233.google.com with SMTP id 38308e7fff4ca-2c51388ccebso11181031fa.3 for <66394@debbugs.gnu.org>; Sun, 15 Oct 2023 01:18:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1697357889; x=1697962689; darn=debbugs.gnu.org; h=to:subject:message-id:date:mime-version:references:in-reply-to:from :from:to:cc:subject:date:message-id:reply-to; bh=4KLrC0GnihPOluYkNErFlqsWCB9mYBtJZWZQVEYNTLw=; b=BpnM2PUtWRaj09pPV60JfFyabAT9ysaf/AE1m/2YhcyKq68SnlUiKOsB0an7+FiGq4 2Noo1UwO5My3VCJASA9y9XU+yhyD6RsOB8Vjv09dYw8dgponUwsgwUXI6MGG6nOof3v9 gPHl9w7OuN1/48gYi8cqk1xwHqPreEOZAikcogd4s6gJls478JlR9ZSnEaPDqupJ4UBK WtnkE+FLGPdtIPMhkow9c8aepi4BIUFrT+oJv2MSCTpu4X6Uhcjyqfu+LMyJoZ97hZa0 epQl9FJ7+PQjciaNWE+/1hNcphTuy5HXR572OtlYUDDtXUNtj3DW/xvUYvwODXxugn9k vS1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697357889; x=1697962689; h=to:subject:message-id:date:mime-version:references:in-reply-to:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=4KLrC0GnihPOluYkNErFlqsWCB9mYBtJZWZQVEYNTLw=; b=ajFGbwSfOkG8/jgG4yJlG1giDscB5feO50rH+qkICxEuhQp5bkHw/HpL+joNjngmuF fvf5EOVgYhCH8aYz26polZ255a/AQkU1ZLSzToqc34/sbKljLd0S63a2tWFRNp3tWrcO AKds2iKmD3D6rHmc/C5BPNJxYSfR8gbJ6juV02f4Ct3gaVvBmmge9Fc/8XBDmw3H37hr NJzXlecDnDxtr/AxJxhdNJKK59g/sJyuVAoGgLktIfuZoSoNgvn5/xxTDXQEssqAPbue 3NJ1LJlsNG4mn06cCmquLCSsHcvxfyOtUM3h80FxykiUeAi/yNJs2wgr25eRxELceTAe gH1g== X-Gm-Message-State: AOJu0YzSIqRp1NHmhwrxq+l9MdeG/uFtZy8Gh5CLudmPFgvz9/4rGB3o dQy0SaL3aALLgmtKmn5t04gkhliwEPgjusc9x8A= X-Google-Smtp-Source: AGHT+IG21WBHJXg82nlCFQQaQKWQoBHwYP6+6dGZCA0tYdn5FZy8/YFclWY7tRBJFASgUrjdORUnBfNFAxHDmjvdzeM= X-Received: by 2002:a05:651c:220e:b0:2c4:feef:64ee with SMTP id y14-20020a05651c220e00b002c4feef64eemr5982578ljq.50.1697357889430; Sun, 15 Oct 2023 01:18:09 -0700 (PDT) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Sun, 15 Oct 2023 01:18:08 -0700 From: Stefan Kangas In-Reply-To: <87bkd0jp01.fsf@posteo.net> References: <87il7ib6cu.fsf@posteo.net> <871qe02uyw.fsf@posteo.net> <87bkd0jp01.fsf@posteo.net> MIME-Version: 1.0 Date: Sun, 15 Oct 2023 01:18:08 -0700 Message-ID: Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Thierry Volpiatto writes: > Closed for no interest in this feature. The lack of a reply doesn't mean that there is a lack of interest. As for myself, I've been too busy to find the time to review it in the last week. I also have many other things on my plate. In the future, please allow for, at minimum, 2-4 weeks to let people comment, and then feel free to ping us if you still didn't get a reply. If it's fine by you, I'd like to reopen this bug report. From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: [RE] Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 15 Oct 2023 10:07:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Kangas Cc: 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.169736440821141 (code B ref 66394); Sun, 15 Oct 2023 10:07:02 +0000 Received: (at 66394) by debbugs.gnu.org; 15 Oct 2023 10:06:48 +0000 Received: from localhost ([127.0.0.1]:51243 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qry1H-0005Uu-S0 for submit@debbugs.gnu.org; Sun, 15 Oct 2023 06:06:48 -0400 Received: from mout02.posteo.de ([185.67.36.66]:37481) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qry1D-0005Ub-Hq for 66394@debbugs.gnu.org; Sun, 15 Oct 2023 06:06:46 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 3DFDC240105 for <66394@debbugs.gnu.org>; Sun, 15 Oct 2023 12:06:13 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1697364373; bh=z8Fi0NmkZvW2EAKmYJo7KyrdE9LWBapiNSx+X/sj3Dk=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=cFa4aU7tGcC8ymNnkNaa16XFNPCf8Yr+Xa3JyU03V5qxHgAwViAC3ZiDU+69AmxB+ uic3J28xpkJUoiG7iimqH6cR10uqKGl0+Ok/DfPHHMk1fVsZe8I5QbZvWVIH3rmcoK ujc4/d7U0wKWEb3ysOZUGzkkoDi5+WyoZPnHkWL2sqBSrAoT80nF7SYrP49GEo5Yfy 7fWG13t7FWSP9ZXIxmAg01boROSiSHEwC9pW14vfFH8uSSNINA8yZA++13zyD+ntql KjDIhMAyBzRpnVoj0dwDkj2AKvghM+A0DmWH2zWmwnKWXf1CQ8z8RuupNgQ3C6f/z8 szrkgnq4XGwmA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4S7bVX3jv2z6tvJ; Sun, 15 Oct 2023 12:06:12 +0200 (CEST) References: <87il7ib6cu.fsf@posteo.net> <871qe02uyw.fsf@posteo.net> <87bkd0jp01.fsf@posteo.net> From: Thierry Volpiatto Date: Sun, 15 Oct 2023 10:05:38 +0000 In-reply-to: Message-ID: <877cnojj3l.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Stefan Kangas writes: > Thierry Volpiatto writes: > >> Closed for no interest in this feature. > > The lack of a reply doesn't mean that there is a lack of interest. As > for myself, I've been too busy to find the time to review it in the last > week. I also have many other things on my plate. > > In the future, please allow for, at minimum, 2-4 weeks to let people > comment, and then feel free to ping us if you still didn't get a reply. > > If it's fine by you, I'd like to reopen this bug report. Ok, please do. Thanks. =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmUruY8THHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvk3GyC/9xAYPAs1o5DF45ziYEI7Wn5BRH6W1f ul6+/aOsKkruZeF2CsBLJGLVA9DcTpCGBch0u+Q6SVVifWXUhPrNxmFXPTU1g7Sd 6nKB7bztC60YXD5FWbOpX57/Qgq29LTxVBBqmu4TgGgHUNZ9jaCOFE6kaDFcwOKF Cyr6Qe8xqIckLR5fXsAZAFmbqyVdvMcjDtVB78y6Lif8p82l0tUxjfzaF/xbblh7 0dnn2w5UB6Cspho49nrMeAIRi/m3Tgre87s3imdTXTDr1dcZTVVJUImJemR59B/P Kfr40PRsPKCo8XDiW6WxwVSz+BZWLvxf5OTImI5VY+HZ+tQa0ts5e/1y1Fv+JdK3 1uWZArBIRoWJicJ/OmZIp4A+tOz7o6WsMpWZKpuhhFdzmGOPqtsXGMp0xcQzkpT/ hInlUWMzs5m6H0fcb4i8DRh3li040YEed/FkTjUGGFH3AeeYQl0ebAllsz7YuROT qqb8ABMqrWzAKtcxZpWyvhr2COzq56X1FFk= =ycgP -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: [RE] Make register-read-with-preview more useful Resent-From: Stefan Kangas Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 15 Oct 2023 12:57:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.169737457420116 (code B ref 66394); Sun, 15 Oct 2023 12:57:02 +0000 Received: (at 66394) by debbugs.gnu.org; 15 Oct 2023 12:56:14 +0000 Received: from localhost ([127.0.0.1]:51412 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qs0fG-0005EN-0Q for submit@debbugs.gnu.org; Sun, 15 Oct 2023 08:56:14 -0400 Received: from mail-lj1-x231.google.com ([2a00:1450:4864:20::231]:45197) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qs0fD-0005E2-E3 for 66394@debbugs.gnu.org; Sun, 15 Oct 2023 08:56:12 -0400 Received: by mail-lj1-x231.google.com with SMTP id 38308e7fff4ca-2c50cf61f6dso23351791fa.2 for <66394@debbugs.gnu.org>; Sun, 15 Oct 2023 05:55:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1697374541; x=1697979341; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:mime-version:references:in-reply-to :from:from:to:cc:subject:date:message-id:reply-to; bh=KwgYTnZtBVlRpUhMs/knF3ap5tVARqs+LbUPyAK8d8A=; b=QVbrb+uC/Hf120RDghwcweq8P1WA/HuuDK/VJ++fBbc9B8Aadu2oVO3bCr64REQ0om 1efZ6UTBgIhHYrJT1PqOuGPZ3rmNglMSTXZZN3sNtfuPyPD1WZtEh0Lc6xyOsJRQbwuT 22ZAjEh9ODeuN6r5fypVtoSj8vxoLtfdhyKddwPoKu0bo2celEakl39gHquHG43+IfqA iknO87U+XI9X/72XY31jAhZE+W67dLrC09d42oKgA/MpVZ09EJfK98+74NiBx7flea5T GWOV5d9wIjD7R9wwh/juDc/S0qxv8KV0F7CC9znKJwPzcsPQF5ldHXFfGd0M8qFtuzQA irvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697374541; x=1697979341; h=cc:to:subject:message-id:date:mime-version:references:in-reply-to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=KwgYTnZtBVlRpUhMs/knF3ap5tVARqs+LbUPyAK8d8A=; b=WDeIsrDyU8NPPNjOzsZ9DQfi/EG42AiMLHIhltXBWlEC2sHOHk0vEgGCMVvUPlOIOg o/s0sA1UFbe3mrwQfjAa0xVn/4bQvn09gHNMfOzavioVAm+AVYBGZPNUlcmocKi++D6n zttUfKjh/uuf+P0IC21zQqJqh2DWMvkwQsipDbnauaPAw8CgsiptrCtMWeLq5WYabnxl oellLswW9XplliEp97bQqEFaX5deE3kGuxhjkVSFHVtPO9S69T57U5mXF+Dk2pffGu3k snk9BkcQUsCnIIBtMHVadby5c+VXkFqnrrvlbgYIlapvvw5bNX324VLn5Yyz9Is2orZj ZHIw== X-Gm-Message-State: AOJu0YzNnyUhEWfQJuJEv+ZYVxdvfI7EFGk5ZzXPnfSM1smfWtxrifpq 7+DIQvjTdFkWV5zGk/ZwJcOqeI4xj9LgulLuBZQ= X-Google-Smtp-Source: AGHT+IF4y65iFQZ8WMXo46rvFTxDyUxU7Ed0sGXSi8jxfpYjStTJ2TBELkPbANbp4xqpS3dMvCgD5/5TulIFThpPBQE= X-Received: by 2002:a2e:8445:0:b0:2c0:3186:8efa with SMTP id u5-20020a2e8445000000b002c031868efamr22329829ljh.11.1697374541092; Sun, 15 Oct 2023 05:55:41 -0700 (PDT) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Sun, 15 Oct 2023 05:55:39 -0700 From: Stefan Kangas In-Reply-To: <877cnojj3l.fsf@posteo.net> References: <87il7ib6cu.fsf@posteo.net> <871qe02uyw.fsf@posteo.net> <87bkd0jp01.fsf@posteo.net> <877cnojj3l.fsf@posteo.net> MIME-Version: 1.0 Date: Sun, 15 Oct 2023 05:55:39 -0700 Message-ID: Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) reopen 66394 thanks Thierry Volpiatto writes: >> If it's fine by you, I'd like to reopen this bug report. > > Ok, please do. Done, thanks. From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: [RE] Make register-read-with-preview more useful Resent-From: Richard Stallman Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 16 Oct 2023 02:05:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: 66394@debbugs.gnu.org Reply-To: rms@gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.16974218934911 (code B ref 66394); Mon, 16 Oct 2023 02:05:01 +0000 Received: (at 66394) by debbugs.gnu.org; 16 Oct 2023 02:04:53 +0000 Received: from localhost ([127.0.0.1]:55043 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qsCyS-0001H9-Nx for submit@debbugs.gnu.org; Sun, 15 Oct 2023 22:04:53 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:42118) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qsCyQ-0001Fb-PH for 66394@debbugs.gnu.org; Sun, 15 Oct 2023 22:04:51 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qsCxw-00062r-TC; Sun, 15 Oct 2023 22:04:20 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=Date:References:Subject:In-Reply-To:To:From: mime-version; bh=jZnln0di7/abhvMzsZi2TzEeI+M3O1eG3UIEy+pTPEQ=; b=eOKu8GRzopm8 B4ApPwrXC88ETNqmaIo393t7HCaFYUzrv9gnGqpMC+YSIIr3RAVLlPYTnoH+FYRr+MZ2E49b8nSfm 9KsYVMb97ty0Ivw32Us1PiQSRXmfK+eepEYoukmy9bAnelEAHJBFHtmdOSTHbqz999PPnPFFzFInB 6LgE22En8b6CwJ3ubo/ESRKj2NgK/y80ETrsJOZZ3ORGY5VwPZl29YO+WXkqMo4d+ixlX3zm86bVh 34rip50MNCAjnNFjCZ8zhWaeU/hzS5YC54wHcGb2IbTMKleaTQuYpr4kuOgEyiIs0Q25U7cJA1wIq zOvSSJVDkvhJ0twWrNrbgQ==; Received: from rms by fencepost.gnu.org with local (Exim 4.90_1) (envelope-from ) id 1qsCxv-0005kj-Qy; Sun, 15 Oct 2023 22:04:20 -0400 Content-Type: text/plain; charset=Utf-8 From: Richard Stallman In-Reply-To: <875y39oi0y.fsf@posteo.net> (message from Thierry Volpiatto on Sat, 14 Oct 2023 05:59:07 +0000) References: <87il7ib6cu.fsf@posteo.net> <871qe02uyw.fsf@posteo.net> <875y39oi0y.fsf@posteo.net> Message-Id: Date: Sun, 15 Oct 2023 22:04:19 -0400 X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > I don't invite anybody to collaborate on github. > The code is stored there and AFAIK anybody can look at it without creating an > account, if any interest in this code I will provide a patch on this > list, what I did in previous mails without any answer BTW... That is not as bad. But if the code is only to look at, would it work just as well to refer people to the code in the ELPA repo? be an equally good place to refer people to? Ifthat method has some drawback compared with referring to github, can you describe the drawback? -- Dr Richard Stallman (https://stallman.org) Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 19 Oct 2023 02:44:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.16976834068904 (code B ref 66394); Thu, 19 Oct 2023 02:44:02 +0000 Received: (at 66394) by debbugs.gnu.org; 19 Oct 2023 02:43:26 +0000 Received: from localhost ([127.0.0.1]:35298 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qtJ0Q-0002JX-77 for submit@debbugs.gnu.org; Wed, 18 Oct 2023 22:43:26 -0400 Received: from mout.web.de ([212.227.15.3]:60985) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qtJ0L-0002JF-FI for 66394@debbugs.gnu.org; Wed, 18 Oct 2023 22:43:25 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=s29768273; t=1697683368; x=1698288168; i=michael_heerdegen@web.de; bh=VVoygofp8qDnFQICp6mDwCxWLV6yX6OB/Mg8YAMqKZs=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References: Date; b=QMgp9Zr0vySlrio6OUWAe+8+zabGfih1dOFakpAgcypla0sHEOE46cFRb6k2szUS YwyJNUeTg9JU961WWJeBoOlc4xjpkp3DbIO4xZ/1kg1GcoNAjsc+FzJTSjhKf/aCR Ebett0+yQk54xRS/eAEjoxy31fGCFyWMfqdJM9A3ch53ReFaF2aMJv+x4g6uqV16a qDLBWpRJ5GdFd5Tx5CD1hjmXWHSOTP+R37oE2EzU8Rc70bAh+JZajEFI3P3R82UMb +wZ4v9X+tF6wKihfbwiNs8j4BgdhK2lfPywZOpYjarMy5FgOy4CJAWJOjBvF1gGGr KbcgayB5tHdkmbzVMg== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from drachen.dragon ([84.59.210.159]) by smtp.web.de (mrweb005 [213.165.67.108]) with ESMTPSA (Nemesis) id 1MhFhe-1rOUos0kvC-00eOQz; Thu, 19 Oct 2023 04:42:48 +0200 From: Michael Heerdegen In-Reply-To: <87il7ib6cu.fsf@posteo.net> (Thierry Volpiatto's message of "Sat, 07 Oct 2023 19:03:47 +0000") References: <87il7ib6cu.fsf@posteo.net> Date: Thu, 19 Oct 2023 04:42:54 +0200 Message-ID: <87sf67qqmp.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:oDQEcYdGAAw5EgYSwrFE2qqV000oXkFg7NtNK6nI2aHj7fBJYP6 Jab1TPkaYUY2/vYB9UG5nBzzC1MCzaebVC+YhDPoyGyl89cwAA71y2VnPnL9UimUWDGDXaD ziHq+S2Jf3+L2TC7+WH88cYkxokOw3FpWgJ3C2BnKFyQigj6zWnuK+/gSwTQMrdl4WK4X4+ rJmmHKk/FRL+6f1uiZWEQ== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:RwD28WuoX0Y=;9qZFy6V16Y+jiTaO8259++L2PlU ZDbDAi4nSFBWutxQOhiFtsPLnXTHvfU2OGK3XIUDOeT3LF9YxHYMzSHVneljYg9Fef30fHO9o P9IAVDWEvHcJjxQQ+S04gOOV2qJflHZ/VLiUmVrZTjMxcIQxhvXAnfPYSjgVwAYXEmmJQopKb 9asnh1P8Yj2RAKeVFEjEgDILLMqF0BlIpIDhCnUIFNwc1xpHYqmpjc59xUFmZhE9eZIgv+ti0 FA40wIXNh5m9j7OGL7/yj9RmIWVwgU7QssTaJctShCDFdjqNmn7E+mCelamlr3H/4a6v+pXFS X9PT1iFulu/k/NyY4n4lcdP1KpC4FS8lMr9IPgpjBc0Sm1YF6UlTFoJJPHyy5wOUZdhUcsLXJ pzbjGbIuHtbTNOwEv2Hphn44Nl+RvVVCufkPIydMXEqEfPHuO3Gg6k18VKumQ7moERQdcDqeo pJ3Rs8VaXTgNPO9KWtQ8IdMBG7kYLVCBOU7+3yUgwYXOQk6sYG5elZe8NPS4f9jlFzW9UKFWo zyTfzfOIemR6tuYSSRYBJuvKvdJfo1hpXLDFYAavznNkvlhcfLa4s2vDagVqS6dgFZa+wjwEO 8NEEr41S77Xlq+gI4Hk8zYNMI0dP8TvPlSZIHAIqBwLUd9IXmsaq/r6+/A6S5MiX5qtryfWwh 5N2yp7Z4uiFdBOcHjwvFM7363XQReX4IQipegDb6XgRIKonYcGG1r0hhEjh3pmFDPY646vX1h G7bHEM4l9g9z5n0Kin+/VwS9kFmpozXByh2XxJxDbHesoeL5HJirocxR6hVnp0KRa/iBih850 8BtvdAsvb1ecKgqVs2vBoKv/xJf/kx8EY+NpAUSsjJS2y2E51mfd5nkWKUFUTN/95s1GrSDGb znI/fkv0SgiYJt98NKTHbZoxwhv1HFK6WYQ4MDxKiKZMUDbl3CEajofntXrATzDoqAgGpGMS2 yEi3+QBhZsz/wFhU28tWOvKIP+g= X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Thierry Volpiatto writes: > When using `copy-to-register`, it is hard to see which register is > already taken in the preview buffer. This patch highlight the > register entered at prompt if it is already taken otherwise a > minibuffer message is sent to notify user the register is available. > If any interest here is the patch, feel free to modify if needed. I am not sure what's the best way to address this kind of problem. If your version is accepted, I would vote for an option to get the old behavior back. Your intended behavior is safer but requires more keys (at least confirmation with RET). Some people might prefer the old way. I'm also not sure about the visual feedback. If you use lots of registers you might miss your register highlighting in the preview buffer. Maybe using the minibuffer always for the visual feedback might be better, I don't know. Or give only feedback when the register is already taken? Or maybe require the user to hit RET two times to confirm overwriting? Personally I hacked the code so that I can lock registers I don't want to overwrite. I can also restore registers. That takes away a bit of the pressure. There also had been a request to be able to delete register bindings, but it had been rejected. In any way there should be some way to allow a cleaner working with registers. Just my two cents. Michael. From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 19 Oct 2023 06:38:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Michael Heerdegen Cc: 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.16976974679648 (code B ref 66394); Thu, 19 Oct 2023 06:38:01 +0000 Received: (at 66394) by debbugs.gnu.org; 19 Oct 2023 06:37:47 +0000 Received: from localhost ([127.0.0.1]:35691 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qtMfD-0002VY-C6 for submit@debbugs.gnu.org; Thu, 19 Oct 2023 02:37:47 -0400 Received: from mout01.posteo.de ([185.67.36.65]:36317) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qtMf9-0002VG-Vg for 66394@debbugs.gnu.org; Thu, 19 Oct 2023 02:37:46 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 2FBD7240028 for <66394@debbugs.gnu.org>; Thu, 19 Oct 2023 08:37:11 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1697697431; bh=8JEmQvjW8LQWL1eCoTixuRYLMTb+ILx1kaCOJcMtchg=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:From; b=czxEEk/Qez9SYH0RwkF9ElHnmSCXGJ79eMq8IfK/tZGg18G5cVT28q4ubinrprpS7 8JvUyzrwIrI3jZbG8+Qla72vx62/h3cWRawK25mwQNodfhUHS3aAgWy+mUt0Q3Dqi+ C3LSPJCQb8C/CAzUvYNEL3INIA98Rv3lIgcmrHhu8PH94pV00+fHOZ8R/srTxa4ig2 EqHDWW34T0+qp1c5tfouxrBDsJGXtaWEJn3T+vH+aif49qvJRTR1vjMeFpRvmU6vIr D8H656Ob08tUhI9kXEFpjjgYizBxJZ5tglBRVvw1XJ17FHOtmmzwp7ugfv6jC0UChl FNYf1Wuwpj0/A== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4S9ygV0JmPz6tn4; Thu, 19 Oct 2023 08:37:09 +0200 (CEST) References: <87il7ib6cu.fsf@posteo.net> <87sf67qqmp.fsf@web.de> From: Thierry Volpiatto Date: Thu, 19 Oct 2023 06:16:13 +0000 In-reply-to: <87sf67qqmp.fsf@web.de> Message-ID: <875y3386ep.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Hello Michael, Michael Heerdegen writes: > Thierry Volpiatto writes: > >> When using `copy-to-register`, it is hard to see which register is >> already taken in the preview buffer. This patch highlight the >> register entered at prompt if it is already taken otherwise a >> minibuffer message is sent to notify user the register is available. >> If any interest here is the patch, feel free to modify if needed. > > I am not sure what's the best way to address this kind of problem. If > your version is accepted, I would vote for an option to get the old > behavior back. Your intended behavior is safer but requires more keys > (at least confirmation with RET). Some people might prefer the old way. There is only RET as additional key and it is a good thing IMO as it let the time to user to see what he is doing. Anyway using a real minibuffer with its keymap is much better and allows further modifications in the future to fit the needs of everybody. Using read-key doesn't allow more alternatives. > I'm also not sure about the visual feedback. If you use lots of > registers you might miss your register highlighting in the preview > buffer. It's easy to make the selection always visible, now fixed, thanks. > Maybe using the minibuffer always for the visual feedback might be > better, I don't know. Or give only feedback when the register is > already taken? Or maybe require the user to hit RET two times to > confirm overwriting? Don't think it is necessary with the register highlighting, and with the real minibuffer, we must hit RET at least one time to exit wich act as a confirmation (previously read-key was exiting immediately). > > Personally I hacked the code so that I can lock registers I don't want > to overwrite. I can also restore registers. That takes away a bit of > the pressure. Ok, that's another approach but doesn't help to see what is available or not. Note that now you can use M-n to select in minibuffer the available keys (t= his only for setting or modifying a register). > There also had been a request to be able to delete register bindings, > but it had been rejected. You can delete your registers with helm, but this is unrelated to this thread. > In any way there should be some way to allow a cleaner working with > registers. Probably what I propose is not perfect but it is a first step to have something better than what we have actually. Thanks for your feedback. > Just my two cents. > > > Michael. =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmUwzo4THHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvk/gQDACgC9gKdSMvTTV7zTiNDILllS5Pi0XT myJqwdca9QK3LbM/x2gRVQH62aIQkRFR490uM1uJXWIR3EFt9pu2nAvq5fT2q/BZ XW4Z2V8RHG2HZJAj/rWE0Qxuv5MqZPbTsfx9f5PvhPs09Rm01ShXGIxgC+PPEAFt wBur2qFgH9rS0QZ6dowPWZe40HHyR2D8XzqcDo/OyL7NZ5XulQL06MgaozcNl8/X 0yxXxwRRNKc83lZ5iSVBPrE33CH0p+sOeT57WUzwkzlH848PsZ+w340QDadxOcKc wssfxc29MM6LcOCtpzFsYvlr3QnLGWx/1AmNFt+Pn9GtSwEp8oYeS8DrOQXZJ8TG 75Y9fQAbSU3dCugYipoy6p+wrNfw/CYTBBOYRDkNGEbn9cRxWyfpf8kIHjc/Y3Mj 4zm6w7Yqn0reifgQhiTRWjIFl4fIaU3kG7C4U83tB9+IhpR7g82i6+YROTnSNWgD moOpKzp4DeT4hgr1so9v28OSY+5RH0Q0w40= =hupe -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 20 Oct 2023 05:02:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.169777808531775 (code B ref 66394); Fri, 20 Oct 2023 05:02:02 +0000 Received: (at 66394) by debbugs.gnu.org; 20 Oct 2023 05:01:25 +0000 Received: from localhost ([127.0.0.1]:38434 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qthdV-0008GQ-2v for submit@debbugs.gnu.org; Fri, 20 Oct 2023 01:01:25 -0400 Received: from mout.web.de ([212.227.15.14]:60349) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qthdS-0008GC-PI for 66394@debbugs.gnu.org; Fri, 20 Oct 2023 01:01:24 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=s29768273; t=1697778048; x=1698382848; i=michael_heerdegen@web.de; bh=udk2XmjIbva6x8XR0upxQV2V4Wm64UANynNe8VNx+hg=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References: Date; b=usPAacnUGT4FIqfJf/DRAIW6fiFVv1JzayWFUdxvrVLmIRggGJ70m+78duZ1szD1 OKBidhC+ZEcSISvhCn4TUyapY39le7tm+6Lmwc6cYCs2jsG44g1m0wcpcnvChuFJs O1gBMhF5Cs/xUjq7/Cw0tmLk78DkFUQhsp6kIJ3TrysZEoZgzo49rfShPULeAaVnF YFvMYoKmaCb+CmKuX5Kc7rvYDrRMXenBrlvfdhJrY/T4Y5yTGsLHH3IFYT3YDDOJr 9gquLPr+zUGmeK5PRhYQKeBH7cYDVdK/F3OzXj7tsnRWmT8jpq6E0JW0UhK1Z8eYQ UkTqW86UlSB43LoHXQ== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from drachen.dragon ([84.59.210.159]) by smtp.web.de (mrweb005 [213.165.67.108]) with ESMTPSA (Nemesis) id 1N4621-1rcDLN3S6L-0101k5; Fri, 20 Oct 2023 07:00:48 +0200 From: Michael Heerdegen In-Reply-To: <875y3386ep.fsf@posteo.net> (Thierry Volpiatto's message of "Thu, 19 Oct 2023 06:16:13 +0000") References: <87il7ib6cu.fsf@posteo.net> <87sf67qqmp.fsf@web.de> <875y3386ep.fsf@posteo.net> Date: Fri, 20 Oct 2023 07:00:55 +0200 Message-ID: <87a5sddh14.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:GB9PzgiSVYnawrC8PNMkyA/SaZApXcZgPEVv0NnPkDx1yuG0lRa Hkzgm15aJ4Jn1DIKyssgDK+PhmlIw0qPE4BWhfyzWSRInQGuDyVAhU71m/pmVnlKGBmFhPk 2VR/qPhGe0ZoTczKMoiPEFwrJN9+losjgcNYCqXz2XhrUaQio+4sIom7DnnRYtqYzHBEPa9 U5BJNNz1VvMadE3RQwU8w== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:R30tWRwc8kc=;ZH6lWKr1b7m7HUGVQxOv5WNqPTV C76TWcZRErpL6oeiuVjpzP7lXuMH9+2X+1EygjrcjkLdXrA/CXWzQi6HT3Jjpr5ntxcCaa1RF 6DiXuHQgxFdU6vlnexpBVzvnRElPIQY8NBC1R3+ZJtXdxPc6lWBA5qPlgw2AeGzNwZa6q7wyK oveFI9KkdNASY6qTkzXnfGClOkU6YTMMWbC85g5Lc8u+vBh1l7mAw/fOwX4k+FzrmH4Q2+oB0 9h/WXOZ1HIsMQjiCjnk+YBNvDFxESAbiZ0i/AnyQuGJhzoMp1ncZwGgkC1R5FsJn57b6Yq2Mj a/qzVTmDQI5VbmfnTSMRYxGTR+y4NaoUR2hy92q65UJXLw6ifJjyohDYP9B8wCYZpwi6QixJU nAekAjuLZ7//w9qYKXc85mwfp3/SOd6v2rQks8Hwq1cVDTIfpXf2Iyl6bPbeVxMcKCEu/rNHW 3GEjjvi/P8tD9Jnvq5UqpTFFTIsi7XJJw5m/ZGnHKugnOKm3LZgJA8zuMxiqJhnsLWZfV23Cs helAZFKBlkZNQBRlxubqu1VWmGBquiXu6DuFgBv45IidpxGSJeWYaUy2cIknjkeIm2471b2zO NBrVdJn2WfcMCaKlDOVvGv0VdiATJJY2FOkT2DPF9/dGXU54ub2cqp0CSO8SHGmQzR3WsY9o6 noBhFeGq5wGsmL2IYdtnSATtFuAWKIsu6s9Iapt2ZcDPcWye4t+2AkjxBB2hPMLIK8vl66BeM M03aog94HS8YeSZlBAKC3Gdd3vl6uTPtZD0s9YU3e1igxE7SjY5NiSRRybt3R+LYnu04NTQx+ hZiANBMWbMEQusBsUb59qH5FQlHjeH8LZIlT8+79O64dOXQfvOhf2hi0a4ny5iX0CyLK8Z49D Xs4EejK5Cf4rx2B1YzyuQm/2bY/pTss1kqyI6vXY7fxuF/1CumYcLXUSMVkOZMDZ0+4gNyBDv KT/4OPnF5VcsbU2EbmQ+d6/zcNY= X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Thierry Volpiatto writes: > There is only RET as additional key and it is a good thing IMO as it let > the time to user to see what he is doing. Anyway using a real > minibuffer with its keymap is much better and allows further > modifications in the future to fit the needs of everybody. Using > read-key doesn't allow more alternatives. For keys like C-a you also need to hit C-q. It's not 100% compatible. But wait: What I find confusing is that I also need need to confirm for `jump-to-register'. Is this intended? > Note that now you can use M-n to select in minibuffer the available > keys (this only for setting or modifying a register). In Helm or in vanilla Emacs? I don't see that for M-n in vanilla Emacs. Oh, and there is a little bug when the register binding list is empty (e.g. after restarting Emacs): your code errors because Emacs does not pop up a preview window in that case. Michael. From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 20 Oct 2023 06:04:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Michael Heerdegen Cc: 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.16977818357871 (code B ref 66394); Fri, 20 Oct 2023 06:04:02 +0000 Received: (at 66394) by debbugs.gnu.org; 20 Oct 2023 06:03:55 +0000 Received: from localhost ([127.0.0.1]:38473 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qtibz-00022t-9M for submit@debbugs.gnu.org; Fri, 20 Oct 2023 02:03:55 -0400 Received: from mout02.posteo.de ([185.67.36.66]:44749) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qtibu-00022c-O6 for 66394@debbugs.gnu.org; Fri, 20 Oct 2023 02:03:53 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 871CD240101 for <66394@debbugs.gnu.org>; Fri, 20 Oct 2023 08:03:17 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1697781797; bh=mklZ2qC0muRIy3YgaZmThThjXhuhR30FiehWLS5nQuY=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:From; b=CfSRf6A9IvlXXLcuOAOPMfgwnNxLYupsEYTvXA5ccVFocL/WVwx7Bw0A2s3oz0JJE Uyfna4k5Nzy5LQvWdjgIz5mC3dvCZtLKJH2wSLbvlagfwTxWP1YEpx2QRrCQx1B7WF 2vKz9ris2zCYvCdbwI0MTAa0zOe71JWLjScuoXtk8Dl/AreEBDIU7mC4p8HoXZmU6g qE0KHLtDJHxyYYp+oGfSKxunPmemAfl92Am2jdQJiKOcy9BhQicAJMebgkR/tkfOvn cnIEN3VXbSyLT4P8Rn5QItTc8/bZQb97UFtWyeDUkBtTq9ZMZFvd3HEcAZUDwq539s Oi8Evt24woI1g== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4SBYsw4H7Wz6tvr; Fri, 20 Oct 2023 08:03:16 +0200 (CEST) References: <87il7ib6cu.fsf@posteo.net> <87sf67qqmp.fsf@web.de> <875y3386ep.fsf@posteo.net> <87a5sddh14.fsf@web.de> From: Thierry Volpiatto Date: Fri, 20 Oct 2023 05:49:26 +0000 In-reply-to: <87a5sddh14.fsf@web.de> Message-ID: <8734y5vnj7.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Michael Heerdegen writes: > Thierry Volpiatto writes: > >> There is only RET as additional key and it is a good thing IMO as it let >> the time to user to see what he is doing. Anyway using a real >> minibuffer with its keymap is much better and allows further >> modifications in the future to fit the needs of everybody. Using >> read-key doesn't allow more alternatives. > > For keys like C-a you also need to hit C-q. It's not 100% compatible. I don't understand, what C-a and C-q have to do here? Also, what C-q is intended to do in minibuffer? > But wait: What I find confusing is that I also need need to confirm for > `jump-to-register'. Is this intended? Do you mean RET? If so yes. > >> Note that now you can use M-n to select in minibuffer the available >> keys (this only for setting or modifying a register). > > In Helm or in vanilla Emacs? I don't see that for M-n in vanilla Emacs. Once the patch is applied, C-x r x M-n (repeat if necessary), same for C-x r w/n etc... > Oh, and there is a little bug when the register binding list is empty > (e.g. after restarting Emacs): your code errors because Emacs does not > pop up a preview window in that case. I think you mean when hitting C-n/p or up/down? It is fixed in last version of the patch (not publied yet). > > Michael. =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmUyGBwTHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvk2JkC/wOTCW+WKHqSXYKaEjctjV8sQ3J1rVx YSZ81i8Cj7WR1lAPkdQo6dzXK+3eAWEXAMnZeM1WsBMz+G+CuyorAKGA/BAltO96 zelaM0i5Fxo6C8BhNZhehPn/4MBZKJ1Af6uL4BpBphUbyMhz2nKzVEjspg4IJrWu CeF/BdTxZEFa5Pwp3Chbqn/m701ZMLTyHJcutHw5UgoO4hBHu5cxQEBnIJqdntnZ IoEHXq0fvTI0GyrTlJb2oHkwbvxgzYLMkG0pfgmGiVh4ShxrOXtcTOTIjOz/70Bs NKSU3P4F4oU5W51n3Hf1fTmxhdF4Xz/7W71/hsdeZgXTQA7CiQB9u6V8TcBxFAUJ t9xObmTZzB5iANdCI2Q/0My6Q6cnUbrPkcPTMttrWbLLAYncrRTo1PCIdX3oSbMk mzKQuseBeAJbxCyd7hv7rK6PYYKJLhSRR//x/ZuPTmbcNmpFlczyXFmFYiWyLkj8 RFysSePJhO1SA7v/PBDTzmNQxKdR0RUqmv4= =1D+M -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 21 Oct 2023 01:11:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.169785063331619 (code B ref 66394); Sat, 21 Oct 2023 01:11:01 +0000 Received: (at 66394) by debbugs.gnu.org; 21 Oct 2023 01:10:33 +0000 Received: from localhost ([127.0.0.1]:41901 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qu0VZ-0008Dp-LE for submit@debbugs.gnu.org; Fri, 20 Oct 2023 21:10:33 -0400 Received: from mout.web.de ([217.72.192.78]:42283) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qu0VU-0008DW-5e for 66394@debbugs.gnu.org; Fri, 20 Oct 2023 21:10:28 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=s29768273; t=1697850589; x=1698455389; i=michael_heerdegen@web.de; bh=PrUEpfvbdxC0xz89ysQwOIHkqhUSTixvxVV+fI5Wg3c=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References: Date; b=Kdp/8m4s1SmhYwoYV0ZgTssR0bRaRb1LdZPSOVF6qIM3DEtDWU23a5jRcYCPtdKu LkeyLUNuFz5myqLyHtMrwbpJprFConm4V3iEQAE/hJQnaTUkzcqigTFiTOLPoFuW/ 0zzLoxJyaCnIlyPtNv5KYCl4wDH0iYaOEWdruAVneIwERepH6siH7qJ2WJ+WCan0F UnTsLHXHpcAa34B3hnxb0r3F4qZg72vHr6DmYIwEUp2MvlDENS0ub7uFU3e3zgHUy /TYJ6okUOe7KMrHXeTbkivedU7pD1XjxfLodpew/wWPwS0kDb2SnqDLIFFkJI1a1D sE/K1R2B+du/BG5yEw== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from drachen.dragon ([84.59.210.159]) by smtp.web.de (mrweb105 [213.165.67.124]) with ESMTPSA (Nemesis) id 1N14pE-1rdptX1qbi-012Maf; Sat, 21 Oct 2023 03:09:49 +0200 From: Michael Heerdegen In-Reply-To: <8734y5vnj7.fsf@posteo.net> (Thierry Volpiatto's message of "Fri, 20 Oct 2023 05:49:26 +0000") References: <87il7ib6cu.fsf@posteo.net> <87sf67qqmp.fsf@web.de> <875y3386ep.fsf@posteo.net> <87a5sddh14.fsf@web.de> <8734y5vnj7.fsf@posteo.net> Date: Sat, 21 Oct 2023 03:09:55 +0200 Message-ID: <87bkcslr18.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:P98hpJowKAsHL2Ysgckrljm8Imw5TjI2PFDJDDGSs3gRiLSqIt6 qbxdT8JAXOOVkEVUa6jOZmRuaNx92w3bWKadRYtAJyIahCI4NLtY4s575PkVoYhiaYm57Lr 8lCRbiI4riormqNfrrlTObPBXEiADWF9mQUgcTmwbBXDXq21QWOYLw0a44kMp/5Z7/yg8j7 RkQH2gjjFbhbcjNZDQzig== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:kIZ54iX+l4A=;Qk//EcUAtdQICs0awt0a7UGvzRs I4NmdXj6d4+zx9f4hYS+dKcKCU/5PEPBLUWNo+3NAzBIHnG7+XLUJ5H1ddKwjbTZMr/pkj1e/ UaY2h8grxTubbXDcvvYjSqRftFPzwbq3AEF5plAmHKiLbAh10zz+2XxcrSTmZEQExuL0nHoO8 dbOX1WXQB9Hzyxpo+7kLWcTJ+WUr+Z+96xm3IhS8szgwqlNLbB1wcI6iakkFCQ0wxmrMVJIc2 gqgr0UF90YQyp/fs/59W6BEjWDEeZWh5gkwnOQ9W5EnBPnipVJrWsgAkg0AmuiQADbgtoFIw2 K5xZnqLpC45x87gz7EVnVb63imnx1znyanpai7sAjRO/W05Ri7qLS8oInmC3uVZnKTKj4L7D4 AkacwMEu5pRMCWbKuHnywry24730WTHrPoYXV+tHu3EtY6JQTKaUEYZN2oRQQc8xRC9rFYNfn kcYxlNkru4QJQyqXFmbhQjBHgNvDXkvmT3qSOxfFWZlh54HKoYt7+vGKdVXqDhr4H6ufNfFhW 0yHGfHRBak3N5aGwoqewS/K22tf3ukM3AFd8+FBl0wTfOLrDjOOcqOlou3+sA+kC3swMOwEYh VumMwCSK21yTHjlSoVVvox3qq/f2xfv907HHyxves8eXErnaw7B+q9CLsTSOR+V6h4CCsGgbS HAUuOC4adKe95T4Ne88Jao6qXm4Ve/lsSdz4yrrc2/EkwOXzpD0YTF0rCJrOU81yItWZ1R3HK CinR5mrClCzF8fzX4FfwM4TN106igsvNK+H9PXbykYNJS8ovvk6/ybcn8Z7Jd/d7Pdxerowhi JqdhWXU49Y8f/pJTRXG7lMrCBcc75iLJGjUZkTfCmTafFhZgfe8rf9IefUtyJ96HHt2hrgeIM HEvTTHOvjNvb88C1+t0ASrjlfyvP/WGUfA3udb2moxB/WDxrXpIV9KlcAHC/9GrKapqiSwHlB fe8gzuTTtFzV12FbXWq4pFjMZmg= X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Thierry Volpiatto writes: > > For keys like C-a you also need to hit C-q. It's not 100% > > compatible. > > I don't understand, what C-a and C-q have to do here? Also, what C-q > is intended to do in minibuffer? Registers are characters. Control characters are valid registers. So you can for example do C-x r s C-a to save the region string into register `C-a'. Your patch complicates inputting such registers. Dunno if people use such registers, but I wanted to mention this. It's a bit harder now to use non-printable characters as registers now. > > But wait: What I find confusing is that I also need need to confirm for > > `jump-to-register'. Is this intended? > > Do you mean RET? If so yes. For jumping? Why is this useful? > >> Note that now you can use M-n to select in minibuffer the available > >> keys (this only for setting or modifying a register). > > > > In Helm or in vanilla Emacs? I don't see that for M-n in vanilla Emacs. > > Once the patch is applied, C-x r x M-n (repeat if necessary), same for > C-x r w/n etc... Is this part in the patch you had been posting in the first messages? Because I only get "End of history; no default available" with that patch installed. > > Oh, and there is a little bug when the register binding list is empty > > (e.g. after restarting Emacs): your code errors because Emacs does not > > pop up a preview window in that case. > > I think you mean when hitting C-n/p or up/down? > It is fixed in last version of the patch (not publied yet). Let me try to be more precise what I saw: If I start Emacs modified with your patch and do C-x r s with an active region, I see this message in the minibuffer: Error running timer: (error "No buffer named *Register Preview*") Maybe that's already what you have fixed. One more detail: I see "Invalid face reference: helm-match" in the *Messages* of emacs -Q. Still using your first patch (Could you please post the newest version again?). Thanks so far, Michael. From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 21 Oct 2023 03:57:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Michael Heerdegen Cc: 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.169786058820551 (code B ref 66394); Sat, 21 Oct 2023 03:57:02 +0000 Received: (at 66394) by debbugs.gnu.org; 21 Oct 2023 03:56:28 +0000 Received: from localhost ([127.0.0.1]:42004 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qu36C-0005LP-21 for submit@debbugs.gnu.org; Fri, 20 Oct 2023 23:56:28 -0400 Received: from mout01.posteo.de ([185.67.36.65]:35711) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qu367-0005L8-P7 for 66394@debbugs.gnu.org; Fri, 20 Oct 2023 23:56:26 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id B2E3F240028 for <66394@debbugs.gnu.org>; Sat, 21 Oct 2023 05:55:49 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1697860549; bh=y7EFUqxEkCy353ZP2HQKLA71qkTmLpP7KXGm28rN0Mw=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:From; b=WHwr4juixHxks7z2VUMXfo4knsiDETn4zq9uy3QAFm786BAIiITB7Jsjtd/ZRhiOL aq0896MgpeS1yCI0Q8jjdp0/PV1A3eH86m6HNQ0VZD1uqVMPPmVxbX7Zl8Gflx4pHn 3AHARIa5iT3gohxbQvjDylb3tRqyJyCvsArN9OWgTOQiyTwJQP5itH6zGut6hEzCCd BtZsUpXobCCzjigSS+EaqunM4Sl41tAYRjHZ6uP+t+zbwUWCDMXcB+Wjee1dnefbKi 89UjZDwuCCG9r7SjxxHw6UYlJlERdKRls+EyoEPpbR7n/ozDtWCIc5LOnQF9exYI2m l4Xv2Po7J6khQ== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4SC70N6wCtz6txm; Sat, 21 Oct 2023 05:55:48 +0200 (CEST) References: <87il7ib6cu.fsf@posteo.net> <87sf67qqmp.fsf@web.de> <875y3386ep.fsf@posteo.net> <87a5sddh14.fsf@web.de> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> From: Thierry Volpiatto Date: Sat, 21 Oct 2023 03:34:43 +0000 In-reply-to: <87bkcslr18.fsf@web.de> Message-ID: <87y1fwtyrl.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Michael Heerdegen writes: > Thierry Volpiatto writes: > >> > For keys like C-a you also need to hit C-q. It's not 100% >> > compatible. >> >> I don't understand, what C-a and C-q have to do here? Also, what C-q >> is intended to do in minibuffer? > > Registers are characters. Control characters are valid registers. So > you can for example do C-x r s C-a to save the region string into register > `C-a'. Your patch complicates inputting such registers. Dunno if > people use such registers, but I wanted to mention this. It's a bit > harder now to use non-printable characters as registers now. Yes, probably this is one downside of this patch, but as you mentionned one can use C-q C-a if really needed, I for one never used such registers. > >> > But wait: What I find confusing is that I also need need to confirm for >> > `jump-to-register'. Is this intended? >> >> Do you mean RET? If so yes. > > For jumping? Why is this useful? Well, actually with original behavior you can jump to a register recorded as a string, which returns an error of course because the register is meant to use with insert. Now the situation is better because the candidates are filtered but you can still jump to an unwanted place, read-from-minibuffer lets you the time to see where you are going. > >> >> Note that now you can use M-n to select in minibuffer the available >> >> keys (this only for setting or modifying a register). >> > >> > In Helm or in vanilla Emacs? I don't see that for M-n in vanilla Emac= s. >> >> Once the patch is applied, C-x r x M-n (repeat if necessary), same for >> C-x r w/n etc... > > Is this part in the patch you had been posting in the first messages? > Because I only get "End of history; no default available" with that > patch installed. No, I will prepare a patch later, when there is interest in this feature, for now use the gist I maintain here as mentionned previously: https://gist.github.com/thierryvolpiatto/2219f99ac96ed1b468fac204bca23b4a Thanks. =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmUzS74THHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvk+kHDAC0wew7ufsr5ydzSAFSq6DY1HEAnk9Y 6hjo+IIUj1pJOvhvE5kxCy5ZC3Zpu0Inir5U63GhS/IphwznYs8d+LPS461HU7Am YOQNl8Rc0DvKQltSBmb6Yl2Dvei0Zk26lHPp/+RTXotIaoH6FRp8+bUPU/MFkFuj VfxwwUTJjARtfdtcqEYA/K7UawASvTUXKBF76y5XZoDnH8AcETWKBAaqknDRXfVK gtttO+OpOp4mYU8jYs68nqCBsDGZ0a16uIf7d39plIRPmfRHp1k7EzME1cYFky+J us/Bloor/HJoBkBrMcA2KHIwuBZWA6GCFJIWVsAtogj1Wz/wG0GbORZ0/uo7wBIq mO26kHHpltmUyJzZ1J6ZWqvNbk7OTFDE8tICebameRGxEu55ahYxoFIcwk8Zb42I PzQAozbGjv0/gAfhS8blNEBk3TsWPZL8L8/JEZcVwRaGNfqB0dnymst7gE0bjKJO nvxfku++Bmjz6qZiA7lQTxGq5aUabCe8KOM= =QxXV -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 23 Oct 2023 04:11:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.16980342299119 (code B ref 66394); Mon, 23 Oct 2023 04:11:02 +0000 Received: (at 66394) by debbugs.gnu.org; 23 Oct 2023 04:10:29 +0000 Received: from localhost ([127.0.0.1]:48764 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qumGr-0002N0-A6 for submit@debbugs.gnu.org; Mon, 23 Oct 2023 00:10:29 -0400 Received: from mout.web.de ([212.227.15.4]:33085) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qumGo-0002Ml-Qo for 66394@debbugs.gnu.org; Mon, 23 Oct 2023 00:10:27 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=s29768273; t=1698034190; x=1698638990; i=michael_heerdegen@web.de; bh=FwwY4Jwmzs310CVxve1JeF9uhDz6Gw1vw/SP3n0ACZ4=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References: Date; b=AK8hwRPtXgX3bYhDuV13WKWQp5jlZcvEtgzZgjbVoAQHlPyoEVfZR7et/1rYl6ur mvjStglPktH0qWlGvd9RnrLc1QVdq97pUIhHxSZpYLzEJ7zr4iKejXcPndtxTz3yW GPL2wAG1gZ+8Zn7FfTPnsc4wddpns0yhZVfC1oW67IrK9FvD0xqleefSoZDTbrNYl kzLk0WG7DEdwfoceFIc2q/fO5Ty8fJaB/TMSl0MvGY4rEIw41dT/ZBVatI2V2+2zn TV0MlHYkok16s6aQx4TCFOYvrdOT+gxUUpd5a0xn9ci7bjiIWOCpkpTL6n/+DvHR8 33Ud9VhWHEX7xDVfYQ== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from drachen.dragon ([84.59.210.159]) by smtp.web.de (mrweb006 [213.165.67.108]) with ESMTPSA (Nemesis) id 1MQgp0-1r7LKq2feI-00NvTL; Mon, 23 Oct 2023 06:09:50 +0200 From: Michael Heerdegen In-Reply-To: <87y1fwtyrl.fsf@posteo.net> (Thierry Volpiatto's message of "Sat, 21 Oct 2023 03:34:43 +0000") References: <87il7ib6cu.fsf@posteo.net> <87sf67qqmp.fsf@web.de> <875y3386ep.fsf@posteo.net> <87a5sddh14.fsf@web.de> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> <87y1fwtyrl.fsf@posteo.net> Date: Mon, 23 Oct 2023 06:09:58 +0200 Message-ID: <87y1fut1wp.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:pzpYEpaLFARp5WUJJcQNtF9USNkDQwlWln64D+e012fTJ0YNhbW 3d8aahn09w4TZwrFkMAnuIR0lU697l02R8ny55cKzeGqpBYrJCKJQN4z9FmDmYturEaLDRo FA9gFholvQSDzdsIZUNdGmdHdpBRX2j/ok2xLOH7d9OYwJ0CF8bCc2JrOc/ImoO1jyKUqqh QW3z8eBtPY61pHsHUuItg== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:ys474W+P8fg=;tCshqYccn7abhBsdu6SaRNg1G+p HgDlVcaLYr8SwR25Zv+Kwlrp4v6AoIBF+BwGCFtPos89gYtlAEXc8c8egV78x7+fEypuKmiv0 kF/ZGFRig23cPcPhO7BhgW8yR+Z+fwpbZw3lLcCR5a/KwJnfum+w/sEqQjdG3em88X5GHY6wM In5Uic8hMS4NWVlf4WwniOAV5kh/RF4AS1WQj/ey8Mu5SlgoBEBEL9FfBGlCFzVWxo6l6lGJw PtR38UIi3MMfC8lbScTavSSsBgoi1lpILkEQ/yG18VEvGKCTN+p26hpnxXC/bnkL6UEEIESCG WpGGD8VuUgXGcc2J6PEWacd1Y+8ggxewwG5iEvxZMjriaAg1K74D64eSONmynIOSXtubEG2Um muhRADsQ/VKtXOJi6RqT6IdTX6gNRNVEukuiNNa8A2pMpf9V0jA7FGrImEEB6BDyEhtEhWlgM Xf5K24i3295PnV6JbSQV2DeIpdmx4tEZnUn2fjVTr48TtCSdDjA9Ig+IuL39jd2ozAa+QiCy0 1/SEbRRQIbIFU/jzUGrXSlYPjp4mOp8OLRx8vEHmFNjvsGHwLCZtwgx+2u2YgYCB9sc+RXfSF kGMbVnQbY+OREwOoU0RlmH3efsbS0qUZJIbJBP0aqXn3BdZhV3MacAeP2eELJ/m7zeNF0Y9qW SxIDercd6cBhit/yaL21ZJawYle/Sxfdn1h6CVfSWnAQCjdaaoWjgpJdykDYsxjAO55XO4k8X fGpz4yE3DGW/mx6t9NQcIgLqvbu7j1BhciKSBWJ1M5YyyhDb43ErkOozrDnFscwO4zeL9iQQN BuC/BP2UjAeczAFYwUCT0inK5Zwl2Zgz7/x0WbKe+nQ8wWlkQw8A4x81aIRK20ahfqKuT/hHL S0DXxM+SNIp9M2dJJJsDjwVqRahXdliS0e4Q2Yc2/+eZOHlf+ZGnbfujOncKd/DGClu3DBcNX Y7eACapcVXclbDz+Xh1XZjqlKiA= X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Thierry Volpiatto writes: > > For jumping? Why is this useful? > > Well, actually with original behavior you can jump to a register > recorded as a string, which returns an error of course because the > register is meant to use with insert. Now the situation is better > because the candidates are filtered but you can still jump to an > unwanted place, read-from-minibuffer lets you the time to see where you > are going. Ah - ok. Then that's definitely useful. Haven't yet tried the complete code, but I had a look at the link you posted. It would not be good to carve the current register type system into stone. Instead of your `register-type' function I would prefer something extensible, for the case of new register types being added (even a normal user might want to do this). So, when one wants to add a new register type, it is necessary that one is able to declare, in some way, whether registers of this type should be included or not for `insert-register' (and maybe also `jump-to-register'). Instead of a detour via type names a better way seems to be adding new predicate methods that accept one argument, a register, and should return non-nil when the argument register can be inserted, or jumped to. I can try to modify your patch accordingly if you are interested. Thx, Michael. From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 23 Oct 2023 05:31:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Michael Heerdegen Cc: 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.169803904620725 (code B ref 66394); Mon, 23 Oct 2023 05:31:01 +0000 Received: (at 66394) by debbugs.gnu.org; 23 Oct 2023 05:30:46 +0000 Received: from localhost ([127.0.0.1]:48841 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qunWY-0005OD-Eg for submit@debbugs.gnu.org; Mon, 23 Oct 2023 01:30:46 -0400 Received: from mout01.posteo.de ([185.67.36.65]:56619) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qunWU-0005Nv-9w for 66394@debbugs.gnu.org; Mon, 23 Oct 2023 01:30:45 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id D2EEF240027 for <66394@debbugs.gnu.org>; Mon, 23 Oct 2023 07:30:06 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1698039006; bh=0QfLB3IJhPq2HB5yZhBq4kRftTeNAKUZQt4zUkfxC5Y=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:From; b=eWZHGlbM6JiZXARLJAKghokMWU4CSWVptMxOl7dncNCH10mJsvTc5YyCqbD6nO45c mcWtZ8CPzUsx5MwE0e7BtGZ2h/xsPwKKDRvZWOFw5Ry57L/o5QBa2uyLtlV7tkFe2V AR3+lWZCdYtSWBSyuTGhlf4c+nSvDc5kSw+LARsIPI7guFrVSgV5pxkF/53H5/ffw0 XZDiXQC5pOW/WWVNUyF/2/WjKHwYsbB7GdHvKK8ohJKWNxT3qk66UkTvPm6piHgoML r0gRULzh/Tdw8MdAPcirp2mfI/y8y2bdcR00jTBA0TpCluxY74ZveCkFPYogOQi2VE piVREnKXY0pHg== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4SDP0F5WYPz9rxM; Mon, 23 Oct 2023 07:30:05 +0200 (CEST) References: <87il7ib6cu.fsf@posteo.net> <87sf67qqmp.fsf@web.de> <875y3386ep.fsf@posteo.net> <87a5sddh14.fsf@web.de> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> From: Thierry Volpiatto Date: Mon, 23 Oct 2023 05:14:07 +0000 In-reply-to: <87y1fut1wp.fsf@web.de> Message-ID: <87msw99a95.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Michael Heerdegen writes: > Thierry Volpiatto writes: > >> > For jumping? Why is this useful? >> >> Well, actually with original behavior you can jump to a register >> recorded as a string, which returns an error of course because the >> register is meant to use with insert. Now the situation is better >> because the candidates are filtered but you can still jump to an >> unwanted place, read-from-minibuffer lets you the time to see where you >> are going. > > Ah - ok. Then that's definitely useful. Haven't yet tried the complete > code, but I had a look at the link you posted. > > It would not be good to carve the current register type system > into stone. Instead of your `register-type' function I would prefer > something extensible, for the case of new register types being added > (even a normal user might want to do this). So, when one wants to add a > new register type, it is necessary that one is able to declare, in some > way, whether registers of this type should be included or not for > `insert-register' (and maybe also `jump-to-register'). > > Instead of a detour via type names a better way seems to be adding new > predicate methods that accept one argument, a register, and should > return non-nil when the argument register can be inserted, or jumped to. Not sure to understand what you envisage here, but if you do something like this you have to make the types used for the two register commands configurable as well. Actually we have insert-register that accept '(string number) types and jump-to-register that accept '(window frame marker) types and this is hardcoded. I guess you want to make register-type a generic function and add several method that fit the types we actually have and if one wants to add a new type he just have to write a new defmethod and add the new type to the methods suitable for insert or jump. > I can try to modify your patch accordingly if you are interested. Yes but I think this should go into another commit on top of my patch to avoid having a "too big patch". Thanks. =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmU2BNYTHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvk7w8C/44172MjI8dPJ2Up4OxxPvztomcZhpb J8RT02cl7vW+4L/NXzEsF+g1Hivxr4HcfosiNjG5KmGMhEqGQx27w8UdpUIzsIvl aAsAI4b2JgiHGbwfN5qvIGlieNnKbLuha3awe6tn2hQApLC3f4zQGqd5SPSjwJCt OQV01nzEOPMFLt6fRdzn395wf8JqKaneLKQYcW/p14eSnAWSu4WPEtxtWqRQ4inX Nsqki/GqR5OVrWhSAzMb+rtaWtKdnHX48JpSaRpItEdqJgMTSp+vCrnrLUDslPJM l89IV3g7gKZ/Sdbsl7QCML6jwgXMGzz+P4i01QpbpTyISIbDOdeINg7b1FEluY7S GPwxBjPpMsVq1AZx4uIaafeIFGW0D4h3OAoqSsq7z93jJx5seOC24K+qDox+zyMn EgSmuTPXuChKlWDp3MnvbG/RvlKNrKYq0m/s7wS2FdiiaKO668qIXKvTBcpFsvc2 5exnfRwN2SS8GaP6T+NlSbEI5nFYN+MulTo= =4nAl -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 24 Oct 2023 03:44:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.169811900214309 (code B ref 66394); Tue, 24 Oct 2023 03:44:02 +0000 Received: (at 66394) by debbugs.gnu.org; 24 Oct 2023 03:43:22 +0000 Received: from localhost ([127.0.0.1]:52682 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qv8K9-0003ii-9p for submit@debbugs.gnu.org; Mon, 23 Oct 2023 23:43:21 -0400 Received: from mout.web.de ([212.227.17.11]:57277) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qv8K2-0003iM-Hx for 66394@debbugs.gnu.org; Mon, 23 Oct 2023 23:43:18 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=s29768273; t=1698118957; x=1698723757; i=michael_heerdegen@web.de; bh=EwAKO8K8dvrXZjD54KgzlutlE2WyeOZq1Pf8Q6goHP0=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References: Date; b=hl42Ac0e3WMh0kc6NuVUKnq+WbF92LHQMJy/itHNaSvj+KZ0bMJ7E+n23XgiDtVZ ChkDnh4zA6jmLUf+6FeaS7re/ODiPtQUegvs8kkftsYJnPBOSBC7yO3wQKXd54dNy VOvscL7RLigDhzEHvU/Z7Db7aNfC/gdMO9kHz6QUEqwOn2g75A3RdyyAiZ4lQzHKs Nr0kkOkm8WWTiEwyfITxdbm1Kv7X0mcWfB/JvJHjgGsWnSjeH8d6ZY1dEAMsofpxj 6x13TOGBFuub3bzMTsTiPoTGyiG9UYbLvvklaC2i+v089J+nJAuNGM7hD4Q8eBvia wbaztZ4s+QBcBwF+Tg== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from drachen.dragon ([84.59.210.159]) by smtp.web.de (mrweb106 [213.165.67.124]) with ESMTPSA (Nemesis) id 1MSZHv-1r5sl21odt-00SzFe; Tue, 24 Oct 2023 05:42:37 +0200 From: Michael Heerdegen In-Reply-To: <87msw99a95.fsf@posteo.net> (Thierry Volpiatto's message of "Mon, 23 Oct 2023 05:14:07 +0000") References: <87il7ib6cu.fsf@posteo.net> <87sf67qqmp.fsf@web.de> <875y3386ep.fsf@posteo.net> <87a5sddh14.fsf@web.de> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> <87msw99a95.fsf@posteo.net> Date: Tue, 24 Oct 2023 05:42:45 +0200 Message-ID: <87bkcovg7e.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:MQLyS1ge9z5Af8PozR1siOqzctfmmBVvpzve/zQoNNJjudCTmJk 5mPRsgIpj1NmqqlROoR8dfwBYHdUTrHxf+iYzvvurHfxt56p961kMJ0Pa0U64AezkyduFXQ hnzGm2FjfOavk7Ey0h+UzJaetjKo0bEoDZNzTVObBswFv/s6pluCSZszG7tA/EysGnG1Xlw ycB09qUjFdSHriRzNu5Vg== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:wfv7U28Hte8=;HDLw2/Zl3ClrabK5H+z0aB4LrXl BJHJxNU/KVHl8c0VxnpHDEFF35wqF9spQ1e/Le7AfFQHR08yOoJHxwNA4IY0dsKzoGVMKMAon yLyiGOUnaY4R9qiGUeRHkAHytANDZpxZjibG2DZ2DNsfd3/12yUOaoZ5sLPPSy97y5t309J1W ZzsWUu9fBgPjrxB/JElRUPvKVATz+ifyBLtPUuytJ5RTlN1x6TLH3nA3UL/tsI2o0fuD8e8QF vbfl0gJPjQJvPlqIrfx9kOimKx5S/j8EfDTXWP7k8t7s8Gmpj4zAv2mjeSu9Y3mf3aN8724zV UOEnuO84yIIAAbs+JGq2051R0R4RV7uOaUw3ubTE5ebrsnq7NkpZv5YUVIF6qUAUeYZQBG3Z4 7XYCbSSelyzZJhW+7Q8htzE0ZpXGW8mVC/M3yb/muiPlwbMMDa+miJSFEgiDzNIeB8TrTvBtC NshdaHXv7VwzhIZ/fobZfOh7gcoZ0netNPCRsEUyEi4gjHqJeTchkub6LbD2tmpVc/t50RHor fu1fT09Cg5txlYfxymIFrtj737MMLsj2KvADB789V03dtHLa0Jr0KCTZEtsTxnlKTXcaLUk0I rWkoB+EsQb49jDDTHCL1VOJjIepquXsV1ituO1MyxmkNjMJCJ9rY0ts4lGI82atrW/GvFtzuA zhrnVv3yfYXkEzxVKuyXg+5LWCpjc0LkhivliC5FMlu6vrOyvQhfprF26buA4ccV8pwYhrA3V B9AWLz7Wzq2M8MfcyE90rggdlO+bkCxkvfVAwOUjNhYsImDUPD7BkIJYS8T4/r7adjW0aLbtK pjh12YWA4Axh0SmYwMOhct2yGHfRViSBHbgMmk5Y3Giji/HmcjE2RNVT/Dn1nhFBJEDYin9ez tK6dTDGt3aZ31UiIcW0ZFdVvZZkwwKlfo2t+FmJ+Cdbnr+AuJUqk0BwQHvU43RCcYK78BCt0N cIb16V24Ti9iIR+MMDHnv8TQThk= X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Thierry Volpiatto writes: > Yes but I think this should go into another commit on top of my patch > to avoid having a "too big patch". Yes, maybe. Ok, some more remarks (I have looked at that url now...): * Would it make sense to also allow M-n (known as "future history" for `completing-read') to gather the next free register (seems also natural - just a thought) * Multiple times I saw "contains no text" where a better hint would have been to say "empty". Not all registers contain text. Happens e.g. for C-x r SPC R where R is any unused register. * register-preview-default-keys may be initialized using (mapcar #'string (number-sequence ?a ?z)) if you like. Hope we get more opinions about this interface suggestion. Thx, Michael. From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 24 Oct 2023 03:55:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: Evgenii Klimov , 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.169811968415766 (code B ref 66394); Tue, 24 Oct 2023 03:55:02 +0000 Received: (at 66394) by debbugs.gnu.org; 24 Oct 2023 03:54:44 +0000 Received: from localhost ([127.0.0.1]:52692 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qv8V9-00046E-Os for submit@debbugs.gnu.org; Mon, 23 Oct 2023 23:54:44 -0400 Received: from mout.web.de ([217.72.192.78]:60849) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qv8V4-00045s-1i for 66394@debbugs.gnu.org; Mon, 23 Oct 2023 23:54:41 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=s29768273; t=1698119640; x=1698724440; i=michael_heerdegen@web.de; bh=KpK+TesMjoGedSwPwSsyt4n98AOTghroduLVC3Gu184=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References: Date; b=p4B3y3zwfGYJQPhnQXK7IAdEYgik/pNjdUAPNKRM+99f2lQCj9CXsUfXkgbRGQ6a brObaRf8QAng7TZG11/pYGSfIotSMWNwXuyvAIVZa6/3vjaz6eXm0WAp+BcWbarPB 1xnxI500YmccKVyBJFj4XvLUKxnfpsH0/tXwql1pPKg8sRxnOfPEamEngEMc/JQHi ydk7v3OIF1v4+6fYWSlFX7UAJQ4BpO15xyHGRAUVKf69C2mNnla985AWLcAiP0Q8S yFDM78jG5F0hYhKMhFHDYwr/AxXKfvplPZ7zdrJVKP9PbytNm87XdPC7oQE8Ef7Xf WQuxlsVAIUOoHJA0Ew== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from drachen.dragon ([84.59.210.159]) by smtp.web.de (mrweb105 [213.165.67.124]) with ESMTPSA (Nemesis) id 1MmQcl-1rLMRF2jWz-00iMuQ; Tue, 24 Oct 2023 05:54:00 +0200 From: Michael Heerdegen In-Reply-To: <87bkcovg7e.fsf@web.de> (Michael Heerdegen's message of "Tue, 24 Oct 2023 05:42:45 +0200") References: <87il7ib6cu.fsf@posteo.net> <87sf67qqmp.fsf@web.de> <875y3386ep.fsf@posteo.net> <87a5sddh14.fsf@web.de> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> <87msw99a95.fsf@posteo.net> <87bkcovg7e.fsf@web.de> Date: Tue, 24 Oct 2023 05:54:08 +0200 Message-ID: <87cyx4pten.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:X/aW4C+xCvPIrp8WPHldZqzgmLI7dl82456FPpAvHQpwCaT0QKi Obxr1amb+8pfWilQuLdPuSIa4dW1J4cRd0phw5d5DTr+j+FHnBIa7BMb6eg+B/gkrXPOtE+ 53oXRPFttVUUrzHjXca9X7qQiiLDnRwZ1GD2EedPe3jb8OphZVu0FBH7beYmKfO18WEuHgN aA3t3cahH9sbXEVSVWOow== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:U5vrHqxE0Qs=;ibKzwLxvh2aa4/De7L/NEEw2G2H eejR1Xt4TpcbphHdcQllOKftwgDxWOTVhUIWXmKisAbgDx5McgIolunWKl1rToARrknPiDEOH ZrFC2Ldb+fm2Cbpn9bbmOPdwBg56HU1AqBuGuzU8sV4CogZpkC7ObSSVi+4HxwX5DwNw29Xpg +gpqYumCD+I9aKxBU5FCSmPFGYk3tZvM2Q621FcNWrMxSRqEYURU80N5OkF8OtAp8qmQjQpvF VNof40d4XcUL4IU8mG9eQwHsdpefq/ddLM8k7yx4HV3OnwmzuBSavYeTB6NRdfFcRpag+yZie ewzxRd78JDIIl5P5KGYGq/ZF90YXAVDLFNYTRG3Oq/vKr31Ytn81cipmXPs5/r1/4SINmg3Y6 6C/A3XIlyUIZEIOCkHSjLPwZkodkNQJDeeRy+ZDssfLnKon/TR1u9fVhTiE/2H8UeV+5JEhBY 8EydZeUDIQEBJY8VtAx4tt4Eo3HV08KwpK83oqE5YKrcGinAyZYE9liq5GoiGySqTSKsm1GVb 0bKW716vj8lBuHPdNi3w9Q7OkFApgGoA5q9N9iYxORRgS4WwpVzVEYDWn0WpSQswBXqG4YEEx C7K4eunCLWoqEapYzas66PlVSnVGRQZNPvHgZ7ojwx5j1B3CsE41Yvnyx2soPfacMV3k2nE9I cGSt6lvpi8PbPXwg8eAg3gx5du/VjMEdMwuXgytAinS2TcHMUK2CRS/ymV2JJ7CFN5SENQY5t EKWC1qb2AtevU9jJjn/dt44SKiSMXvrnHR1cg+poYbzChCLXz3YUQ+4yPMdlwvi1OxgUnG+Vf cO84ksWrePtkydKdsqdccorW3j8amLk9Z1zV1N+IcWBhSKNT8qK15gmpmMavgYSkFadrN72Nr M8mCf/nUJCcSY9K/rx/6ObYn8OF04jM59IevFrNJlhXl7UPgOzJMxbK41zevmN+Oo2Y18N4l1 k942MQ== X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Michael Heerdegen writes: > Hope we get more opinions about this interface suggestion. Adding Evgenii to the thread. AFAIR he had suggested a subset of this suggestion (the filtering part, in July in emacs-devel). Maybe he feels like trying Thierry's approach. Code is here, just eval if interested: https://gist.github.com/thierryvolpiatto/2219f99ac96ed1b468fac204bca23b4a Michael. From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 24 Oct 2023 05:41:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Michael Heerdegen Cc: 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.169812601727476 (code B ref 66394); Tue, 24 Oct 2023 05:41:02 +0000 Received: (at 66394) by debbugs.gnu.org; 24 Oct 2023 05:40:17 +0000 Received: from localhost ([127.0.0.1]:52734 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qvA9I-000795-Rd for submit@debbugs.gnu.org; Tue, 24 Oct 2023 01:40:17 -0400 Received: from mout02.posteo.de ([185.67.36.66]:57311) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qvA9G-00078n-1s for 66394@debbugs.gnu.org; Tue, 24 Oct 2023 01:40:16 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 59C8B240103 for <66394@debbugs.gnu.org>; Tue, 24 Oct 2023 07:39:38 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1698125978; bh=nTV5u+LqAy4LgF4SY2kepRNUUzFgMIpOiAfiq19fwWQ=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:From; b=YOWKvBSEqCrN+BjPU1anMtIenI5eEgxqdqYYFkJUK2YW4XqpY1M6gNfDAa35S0BKd fnNy4VOD1DWKOzpS5aqoQnYwcTUNPWhwNpC88x7T9g5dODscip1mo85x2HP87ZDgny gNVjc1EcA72HpBy00y9lTAHwCEeZND4Y2KQUQiXdHJ2MsjZK2JK+fSHaR+Y8PDLI4U YHcde6WB4dYwubnAmaJawoQa19xyI9pgMtmySFk33b7sJve5D1k+m3r/ffSA36GrAD AdXbWNO9zKqaz6jMrLi+TqjCcWnh9930Z1qXgdFazGoik7vhnFK2BDLo7jjdck5tmX ROK7hbSD7PILw== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4SF18n0WvPz6tx0; Tue, 24 Oct 2023 07:39:36 +0200 (CEST) References: <87il7ib6cu.fsf@posteo.net> <87sf67qqmp.fsf@web.de> <875y3386ep.fsf@posteo.net> <87a5sddh14.fsf@web.de> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> <87msw99a95.fsf@posteo.net> <87bkcovg7e.fsf@web.de> From: Thierry Volpiatto Date: Tue, 24 Oct 2023 05:30:20 +0000 In-reply-to: <87bkcovg7e.fsf@web.de> Message-ID: <878r7spoj2.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Michael Heerdegen writes: > Thierry Volpiatto writes: > >> Yes but I think this should go into another commit on top of my patch >> to avoid having a "too big patch". > > Yes, maybe. > > Ok, some more remarks (I have looked at that url now...): > > * Would it make sense to also allow M-n (known as "future history" for > `completing-read') to gather the next free register (seems also > natural - just a thought) It is already done ;-) > * Multiple times I saw "contains no text" where a better hint would have > been to say "empty". Not all registers contain text. Happens > e.g. for C-x r SPC R where R is any unused register. Yes I used the message vanilla Emacs already use somewhere, but yes empty seems better. > * register-preview-default-keys may be initialized using > (mapcar #'string (number-sequence ?a ?z)) if you like. Yes could be done.=20 PS: I found a bug in my code with frame configs not appearing in preview, now fixed, will update the gist right now with your suggestions as well. Thanks. =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmU3WJETHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvk4AQC/9N0LZLvCJzGeG05FqUCk8T6OpJGKR6 PPQxQylivR2oitfTrCT7hlUfPhWtwQeoEpWTfybQ4M/JYq87N7s9FjKI7EQpj90v 71d2ai0eYC48QVgV2hwanmgHAbTDDwEB+pRmh8wSoftXOZJ/2I18aX65D8caTzCH njllJayiUD9M+l4KSxE8CwBA/idBAqHWzie0dFJPx/+EoqQz7CzXGuWILaaiKvmI 3tF7tWEKWMeH/64TP8ftw6sdoQ6oWeHl6lYQpbzWL6wDLQj4P43AQqcArt6JklcL XO+tQbsM2OQe35BKTVTybtdNo9oe1kpGkopZDpBLgbJE9lSW9OQbEOMA4kXbZuFP edgj5PxYGbAllNAW++WzhQSt3f6mbN6MaLgnlQ5dUBple3FHZBYMVDTIpQthqjjr FpNF7G8kJxEGJWsnCxrrK+J/vGKtWxScEDrIcSWJli/q6kMjWiwpnq1uyM6bFqYb 1G2JjMaMUfzV9DcrSgHFhjRbqFQ6xFasLUU= =OtUk -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 24 Oct 2023 07:29:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Michael Heerdegen Cc: 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.16981324996962 (code B ref 66394); Tue, 24 Oct 2023 07:29:01 +0000 Received: (at 66394) by debbugs.gnu.org; 24 Oct 2023 07:28:19 +0000 Received: from localhost ([127.0.0.1]:52937 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qvBpr-0001o9-8f for submit@debbugs.gnu.org; Tue, 24 Oct 2023 03:28:19 -0400 Received: from mout02.posteo.de ([185.67.36.66]:43291) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qvBpn-0001nn-8Z for 66394@debbugs.gnu.org; Tue, 24 Oct 2023 03:28:18 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id C6137240101 for <66394@debbugs.gnu.org>; Tue, 24 Oct 2023 09:27:39 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1698132459; bh=ccTYxRDO8AefTEGbPty59icoIj/ARACxX3ZOrnlULn0=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:From; b=ozIjq6XEh31+6RyMwVShed344Ruph0jQv8b1L5+ukCdd0CY8WkMhH8Ml50d2Dcphf zF9XPPlfQWmqhkQK7tOJea3ppbXj7xfPITEbyaGBYaGe3A2dZp1GD+Wn0mbhduvKvx VZfMubwVugDlSGTGHrzbgQeK4+Z5u6m13qD3ildj1aQu49EGA+se3MHUCHcLN+Bkcq EpMv3KKGrNvcJaIYM3Plziufcfvjs/yLH3kXSi7rC+pFXXk/enBSfAALsslhhgLgtT U7drhJetO/zJOq8Pt7vX3fKw4oViM3glO336rDuNeRz/OMRC+Y2scLh03r8FFE0GGq ooHOCdW2nuVPw== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4SF3YQ6klrz9rxG; Tue, 24 Oct 2023 09:27:38 +0200 (CEST) References: <87il7ib6cu.fsf@posteo.net> <87sf67qqmp.fsf@web.de> <875y3386ep.fsf@posteo.net> <87a5sddh14.fsf@web.de> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> From: Thierry Volpiatto Date: Tue, 24 Oct 2023 07:19:11 +0000 In-reply-to: <87y1fut1wp.fsf@web.de> Message-ID: <87ttqgpjiz.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Michael Heerdegen writes: > It would not be good to carve the current register type system > into stone. Instead of your `register-type' function I would prefer > something extensible, for the case of new register types being added > (even a normal user might want to do this). So, when one wants to add a > new register type, it is necessary that one is able to declare, in some > way, whether registers of this type should be included or not for > `insert-register' (and maybe also `jump-to-register'). A possible solution for this is adding two vars, insert-register-types and jump-to-register-types and define register-type like this (named register--type here): (defun register--type (register) ;; Call register/type against the register value. (register/type (if (consp (cdr register)) (cadr register) (cdr register)))) (cl-defgeneric register/type (regval)) (cl-defmethod register/type ((regval string)) 'string) (cl-defmethod register/type ((regval number)) 'number) (cl-defmethod register/type ((regval marker)) 'marker) (cl-defmethod register/type ((regval window-configuration)) 'window) (cl-deftype frame-register () '(satisfies frameset-register-p)) (cl-defmethod register/type :extra "frame-register" (regval) 'frame) ;; set a new register and check its type like this: (register--type (car register-alist)) So if one wants a new register type he has just to add the type to one of insert-register-types or jump-to-register-types and add a new defmethod for this type. If the new type in not one of cl-typep he may have to define a new type like above. =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmU3ceQTHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvk7E8DACojdkNHaOcU+9LsTtd3xoZr+HfKrFW DoLiUqMCJnL2qwQykHJkfxXxIBzIg+AyRA+7DIU2VxJFhpGUj+OTj2cHjaIXCtRF DXpTsNaQmrZ3bzBoz/sJKOJh8N/fEPUWthLQh88cnFheApjofKdrdMz3ML1yiz2R Nz4sKA4OF2xvdMGUfuTlYd5QIqTZsb0mwEc2ek0LSV6buGqejwvYJ/iZChlZo8Hj liBVCO1vng3HR52PNYh/AZWNmAttRnLPiPEWWmpgQOUKKWKkwskIZT7q/9vlU1V9 +iPQk/1INvgAecUy4UHxGefJKvi7L+mpnHo+/3NU3/OLO9fMGr6yUrxKqbae18kP j+qiexjMgPxEzA65R9M2/AdyxjTif1Rux5lUMaf9iR5ReVNmdIjPjlCRpI0ZEG1/ lpJdZfvHvmZQLxxdw88kMMeFCO0V8b35qZbfKusfQSUl8FEBFH9UYYYMtJY5WBZy t8f8U+qAWjHhfauaOOlFVqfST7tAQvGx5Qk= =VCS0 -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 25 Oct 2023 03:56:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.16982061155939 (code B ref 66394); Wed, 25 Oct 2023 03:56:01 +0000 Received: (at 66394) by debbugs.gnu.org; 25 Oct 2023 03:55:15 +0000 Received: from localhost ([127.0.0.1]:57062 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qvUzC-0001Xj-K8 for submit@debbugs.gnu.org; Tue, 24 Oct 2023 23:55:14 -0400 Received: from mout.web.de ([212.227.17.11]:32969) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qvUz7-0001XQ-Nb for 66394@debbugs.gnu.org; Tue, 24 Oct 2023 23:55:12 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=s29768273; t=1698206073; x=1698810873; i=michael_heerdegen@web.de; bh=q0trBo8WUeGt2OypkB9pWh/YKOfF92Pr9DfAANCkRnc=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References: Date; b=imZ2fJaLrxXRkeR1CGOBgMkwoZM1n5nBp7fmB1PPSLVHNU4/ucV2nHw2+l/7oVqY BuGKExCBCplf9SUCXPaxotO2haggzuo+ZpCe0Kqvq3r5dUWiHtE+mjDIyRpwACglP ZVckJx/SUzEt23yPWJijV43pdRhMDBhXrHCJUIxeUKIjejOVx9LqkjMZ5z7OTWqO5 0nvBBd8Ab04SW4ihPuAodCbSYxW8cDcsddifD2fR4qfyZ0A8iWZpKZRhOB5vaDxcp JoScZO4OJXvfQR5/aen9tmV1DdS9MVCSefYqu94Ev32XCX17DCublLOrOUiksOhgf YJslja58JgVtX8JOBg== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from drachen.dragon ([84.59.210.159]) by smtp.web.de (mrweb106 [213.165.67.124]) with ESMTPSA (Nemesis) id 1MdO9K-1rUYkC3kzQ-00ZKrb; Wed, 25 Oct 2023 05:54:32 +0200 From: Michael Heerdegen In-Reply-To: <878r7spoj2.fsf@posteo.net> (Thierry Volpiatto's message of "Tue, 24 Oct 2023 05:30:20 +0000") References: <87il7ib6cu.fsf@posteo.net> <87sf67qqmp.fsf@web.de> <875y3386ep.fsf@posteo.net> <87a5sddh14.fsf@web.de> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> <87msw99a95.fsf@posteo.net> <87bkcovg7e.fsf@web.de> <878r7spoj2.fsf@posteo.net> Date: Wed, 25 Oct 2023 05:54:40 +0200 Message-ID: <871qdjjr0f.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:uiFknLOqZlaoBQ9eniHUrv/8yk3KYBLPcMIIzWOL4zTz403eR8S 4YDHvb+ndzuAmYmt1mgHq7k9LWepk5CHkhBd1uCFQMoy3aWrqZlIsZyVOGOXjRGz1vPUCGl eSbdG5t3AOux+xHg6/jO9qFuxRh3agXmdOGMKXlEl9zvLStmhsNgd2qj4rVQWSALjredaH6 /JJeEBGj59Jc4D0zuULGw== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:tnbNIgbRiGY=;C1y3MIj1tkl2MjgO+tTvCqzDWK7 VKHqiTuBx2eawqD5pHztbb9bap/iMziu3vbuy3SnUtOAHFiE7WGOtB78r1+H6rVBn6xdQWPi0 egLcuITwxPIQvMUQrjLGiWQRl2HqJWjs2MSDIzPCnYH75XF0kuLeEmDMORwfs+A6SPClmDWUN FNWesHalJgAvrts2+Uu8/rX3YHErp5numXS6wQPXlJGxkP7tiK/EcQJQAeyrUFf0OvhirFrAF vUyGqWAJCutJhyi5pCBIv7BaV1Es7eekX2vVB0RBI3MH2j+1LGrdyykxh7mxtcpouaopnLEyQ VaZn4zR/5qwRqnq1uovSM1VQdw30YBLjiwAKqgG2WrEq5iB8ZNYu8d1doqDk8jVoK5FldZOd0 b0SJpFmpfipDOrNL3YlHGiWOx3mV7AH7TrnCyDr9hUtwHynpXm48z2anzQ706mnUaip/Dgo6X X90sOUr3GVHPekEvt/GyMSidko62+3/L1ccjGi9F4lXQscsehZqOEnferj1d2o3oIM8oa+ppP 7CVX9vws+Y7LdjvdqWlONHN3grj4qfNsz1iE43/ALZ275j8u/SJ3fcNeokI4GDQWQSbl6wht5 DyUtP6wvf1UjBGIMcu0HFo7GDY9tHB7g4cV+ja9w8tbXe+bI5btzpBTjDZDffr62RBz8Mr40o bCczGSnRlAB1l51I8GuTpbVFVhKZ7F6RkK2mm54lg6d+qtYDhrW36dso8rQuuRCA3ZYTh0PnF ojiaYa8sYpeIHKr9dZYBpbfVBpcCoobc3vF6X210QKoys05tiGJwRzzDgjt9B2wd0p6Cs2rIr 6J4SpnArV5ueFb0dJshx0zkLNovrxz4/Ng5KUPdVsww1ID4G/FSQ7E1V7kihkJnvXvbRmUEA+ vy5KsB+vhftGu5szkYk/VBz4eqJxYWtTmhTRxjLV6ClQgQG7ActchGJPVWs32p5fa1azDQNR5 5z/P4021hqL6x/JpVibIp5lxubs= X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Thierry Volpiatto writes: > > * Multiple times I saw "contains no text" where a better hint would have > > been to say "empty". Not all registers contain text. Happens > > e.g. for C-x r SPC R where R is any unused register. > > Yes I used the message vanilla Emacs already use somewhere, but yes > empty seems better. Thanks. In register.el I see a message like that only for text related register commands. Michael. From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 25 Oct 2023 04:11:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.16982070577461 (code B ref 66394); Wed, 25 Oct 2023 04:11:01 +0000 Received: (at 66394) by debbugs.gnu.org; 25 Oct 2023 04:10:57 +0000 Received: from localhost ([127.0.0.1]:57067 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qvVEP-0001wG-8C for submit@debbugs.gnu.org; Wed, 25 Oct 2023 00:10:57 -0400 Received: from mout.web.de ([212.227.17.12]:51179) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qvVEL-0001vz-Gw for 66394@debbugs.gnu.org; Wed, 25 Oct 2023 00:10:55 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=s29768273; t=1698207016; x=1698811816; i=michael_heerdegen@web.de; bh=YutlNiwCQYixMt0WAge2YTvr2QEyNEQQADuayC0EWuE=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References: Date; b=JI3q7zZCE0B5tcyLEW6d9i3HqG13bg47ft//v5RyECJ7L0258xxjElYLjE/M2p5+ szqeb1JCl020Nfc5uTEuMjaZ1Ky2RFYjo8ohGe0Zfwb3ebHBPwKNI+NnmhweHDjcZ Vt4mZ4O7JW/KrUz2A7RzNIPocNmsipG4SRLXe5q7AHBtmEZNz656J9Qc1qE1X4dXe jImidddZxn9Uda5qg9DraWAkYvKo+DazDY6VLPZDftHfxj35Ny1jNeTW3PGL1VTcj YUgo0uTDEn7etYhzISY01AfY3xwKURhVlXgdySXrNbwEtPYNdaMBH9lJaDM2RBFJ7 wnAWTTiy26t34z9sJA== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from drachen.dragon ([84.59.210.159]) by smtp.web.de (mrweb106 [213.165.67.124]) with ESMTPSA (Nemesis) id 1M43Kc-1qvVDk15Oa-00007u; Wed, 25 Oct 2023 06:10:16 +0200 From: Michael Heerdegen In-Reply-To: <87ttqgpjiz.fsf@posteo.net> (Thierry Volpiatto's message of "Tue, 24 Oct 2023 07:19:11 +0000") References: <87il7ib6cu.fsf@posteo.net> <87sf67qqmp.fsf@web.de> <875y3386ep.fsf@posteo.net> <87a5sddh14.fsf@web.de> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> <87ttqgpjiz.fsf@posteo.net> Date: Wed, 25 Oct 2023 06:10:24 +0200 Message-ID: <87wmvbibpr.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:8hHVIwSZte9RAPgUzoaW/JxS8jG3NGx7D5I3jHdhsBn4k2A+zY7 g/Lk1kPdQgEsHqQ7WqCQwzt0hBejlHlY+ARI70k2Uo+1kOo+fKoFKmv6LUbrjdVku3tPQeA 5vDtRU44Qk3yCC7MPx1hID6DMfeSo+/wdO0cSarVi/8KMbdJCKHgGp9V4/r736HADflrBf8 h56R4S1REYgog2/3RWOvg== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:N7XjkybEbv8=;fj4wP9zck2KfgUCtjTOVlcrXiTV LwgEqlWmJRz+XGbezDV7W6zY/IhCWV/RpPk5bjJZBcmT87+RCnV4qoPWmxI0fbjsHXLcjCJmQ IuMrK00KO9tZg4f/1H6BRuk412EYVEQH19NKpHFNlYS2HjyEqLWZmHvzXclL3ej4HTjuxqLTK v07o1Vb6NhH7LoX6t4rhIZhnoT3PmLiCfe7Qhszp4ro1hoy/Cgo9RbuS6l9NARPhk5tsxgt3v 5cE04gWysr+c45l+msO8Q9v2p3kWOIyFiFu9SDGg0aawrabKeRRoJ/haJHvqKBVPtdqn0BYMM Ho+n2ifjtKBN+qo0g3CPyHODhu0ocHMww/FZXU9q9bhEzNn6vM1+Kd4BTaYB86jt0pUG5l7TM /yQRPUdeuoeHaDj8q+YcvxTMhiia/7xmHFRsvuDOMdayOgRNTVOY7WObTX6X84j1wldM3ar7C ARy/WTo5tmSjUa4iLUugFvWL68rFJGlAjMsdwNjn1xkp7mthopSWiYeHjYguzLmuOLP6s/fi9 IuHMjb/RVJMimmPWzgzOaKfBJa4Mf8te0rO5rEhkv5aUuHaRaJngkX15VHFssAszqFegknd+8 eFxx97i2IMIiv33OKmXuMNbLaoJ1F5lYIKHLoqcvLMP9GJc5tI/H9yAo8WX2Mb8PiZacVBUd9 JmbK0hdrtiKGj0mv5gaoZNrTUKYe8F4LfmUK6iNSSUeV01lqQyMM/i6xUsg/jauB50i01uMg0 NCMGCKRoaH8AbJKX/wv0KWkyxqH72V64AI5r9lIFzdct96A81GfCqkj8l1jCqCImTe9ybfDGP jIU51X/+QtQtljS+p/hR69/HeYBInIzMSVMBxPp/8UchUPsXUqkvj1tnbXZa05wJJhUu56Oix /SiCPse8yy80sCY1xBtPsS16Jub5c3++AVNvS6amBlaln3jyz7i7PrqIf9Q3DcJ3HZ08DDpqU xgFFZA== X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Thierry Volpiatto writes: > A possible solution for this is adding two vars, insert-register-types > and jump-to-register-types and define register-type like this (named > register--type here): > > (defun register--type (register) > ;; Call register/type against the register value. > (register/type (if (consp (cdr register)) > (cadr register) > (cdr register)))) > > (cl-defgeneric register/type (regval)) > > (cl-defmethod register/type ((regval string)) 'string) > (cl-defmethod register/type ((regval number)) 'number) > (cl-defmethod register/type ((regval marker)) 'marker) > (cl-defmethod register/type ((regval window-configuration)) 'window) > (cl-deftype frame-register () '(satisfies frameset-register-p)) > (cl-defmethod register/type :extra "frame-register" (regval) 'frame) > > ;; set a new register and check its type like this: > (register--type (car register-alist)) This looks promising. But I'm not sure whether the detour via type names (instead of an approach using only generics) is the best solution. Why not define just a new generic (register-eligible-for-command-p REG COMMAND) and use that as predicate in the interactive specs of the commands (providing `this-command' as second arg)? Seems simpler to me and still more extensible and controllable. Michael. From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 25 Oct 2023 07:11:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Michael Heerdegen Cc: 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.16982178323511 (code B ref 66394); Wed, 25 Oct 2023 07:11:01 +0000 Received: (at 66394) by debbugs.gnu.org; 25 Oct 2023 07:10:32 +0000 Received: from localhost ([127.0.0.1]:57184 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qvY2B-0000uW-Lm for submit@debbugs.gnu.org; Wed, 25 Oct 2023 03:10:32 -0400 Received: from mout02.posteo.de ([185.67.36.66]:58417) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qvY25-0000uD-Cu for 66394@debbugs.gnu.org; Wed, 25 Oct 2023 03:10:30 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 3B533240103 for <66394@debbugs.gnu.org>; Wed, 25 Oct 2023 09:09:48 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1698217789; bh=22P/6tOF++DOUEG0DRVNEAPwffBiCT17r1JiiDBcEY8=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:From; b=Mw7Jm8y38DX0jW3HOUnFLJCioYSwB6y70DPsaoZM8dLfDJyZnWLES4NnhJnsdjUMA w7C1RE9MOEEYxmKrCEg5+S8Fu1bwigLEEYfr3fDm5/ppP3lcB85wsxLlF5fbt5XoOm lb9zHqVFFULCFyyrN3Dv9WcRpiMXrvhpAO37KC+BKCJsZLMGe0fjxbft67X9f4Zqq/ 35Uw4sh0u4ArBF94Cxgq3ioPvjEkQy+WWGX7Q+e1BYtQAXiw9lGFi1S2kGHK84fXya QAV0GAgDU4LpYIIuOPVbW83kR2MaduxtvrsiumLG+tv7c36N4qU1c6Uqz2vTFKUVVR UBUAILOUV/ilA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4SFg6N0sWrz9rxN; Wed, 25 Oct 2023 09:09:47 +0200 (CEST) References: <87il7ib6cu.fsf@posteo.net> <87sf67qqmp.fsf@web.de> <875y3386ep.fsf@posteo.net> <87a5sddh14.fsf@web.de> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> <87ttqgpjiz.fsf@posteo.net> <87wmvbibpr.fsf@web.de> From: Thierry Volpiatto Date: Wed, 25 Oct 2023 06:38:16 +0000 In-reply-to: <87wmvbibpr.fsf@web.de> Message-ID: <877cnb2n63.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Michael Heerdegen writes: > Thierry Volpiatto writes: > >> A possible solution for this is adding two vars, insert-register-types >> and jump-to-register-types and define register-type like this (named >> register--type here): >> >> (defun register--type (register) >> ;; Call register/type against the register value. >> (register/type (if (consp (cdr register)) >> (cadr register) >> (cdr register)))) >> >> (cl-defgeneric register/type (regval)) >> >> (cl-defmethod register/type ((regval string)) 'string) >> (cl-defmethod register/type ((regval number)) 'number) >> (cl-defmethod register/type ((regval marker)) 'marker) >> (cl-defmethod register/type ((regval window-configuration)) 'window) >> (cl-deftype frame-register () '(satisfies frameset-register-p)) >> (cl-defmethod register/type :extra "frame-register" (regval) 'frame) >> >> ;; set a new register and check its type like this: >> (register--type (car register-alist)) > > This looks promising. > > But I'm not sure whether the detour via type names (instead of an > approach using only generics) is the best solution. Why not define just > a new generic (register-eligible-for-command-p REG COMMAND) and use that > as predicate in the interactive specs of the commands (providing > `this-command' as second arg)? Seems simpler to me and still more > extensible and controllable. Not sure to understand what you want to do here. We don't want to modify each command, and anyway I don't see what (register-eligible-for-command-p REG COMMAND) would do in the interactive spec of each command. There is two things we want to make more flexible: 1) The ability to allow adding a new type of register and use this type of register to filter out the register-alist according to the command in use. 2) Allow one to add a new register command and assign its type, message to use and action it provide. Example, if I want to define a new command register-delete: (defun register-delete (register) (interactive (list (register-read-with-preview "Delete register: "))) (setq register-alist (delete register register-alist))) If I run this command I will have a minibuffer message "Overwrite register ", this is not what I expect, I expect "Delete register ". So we need something to customize this. I added a new var and a structure to achieve this, so now one can do in e.g. its .emacs: (with-eval-after-load 'register (require 'register-preview) (add-to-list 'register-commands-data `(register-delete . ,(make-register-preview-commands :types '(all) :msg "Delete register `%s'" :act 'delete))) (defun register-delete (register) (interactive (list (register-read-with-preview "Delete register: ")= )) (setq register-alist (delete register register-alist)))) But maybe what you propose is simpler to achieve the two tasks above, don't know. =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmU4vzUTHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvk0tYDAC6CwhEYMwOXn4e2oQAoEqUB72xC4MH Em5OShCq1WvwbOLh4tg+zfTO5exdmgbWabhVfNXp3DyBKfTOBWqrRwxyeQPu+YRd NAyqbOp01E88i+NyRH4HTUW4dyY4npg27SRJBy6cQ4poLKYLkCAb4sCrFf3gza9X sZP5XTHJK8LOT92jPL37y+rFs8gtBapF1HmPCOwzD5tLIqQ/DgRNcgttnx6r4zCA p3EC8NsK6GPabLeYl5BlQ5Js+NGqUpEg8p90QwOSFcKoUBFo129cLXpoWLNHC/KC uZSxCAUb2XDu67F0vOKqK2tr9sZZvALV+UCRY3epcKG5PGHgvyeeTHieuxvoUfEN GLXUeiqS9hZfcikZCnGCcutDGGYV/yrAIKc8xguiMNMWoXo9iFQHwQ1059sRknuy gCsgbG132OauoKvPgcYP4guLpE+7Moyt8n5WYLzXXqtXTY+BhJ90XdjFCasxG0aW vYLcEdSUokHmZ0G1mMsdwhfx1HtebuQw7Ks= =NLgf -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 26 Oct 2023 04:19:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.16982939405541 (code B ref 66394); Thu, 26 Oct 2023 04:19:02 +0000 Received: (at 66394) by debbugs.gnu.org; 26 Oct 2023 04:19:00 +0000 Received: from localhost ([127.0.0.1]:60392 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qvrpj-0001RJ-Na for submit@debbugs.gnu.org; Thu, 26 Oct 2023 00:19:00 -0400 Received: from mout.web.de ([212.227.17.11]:46189) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qvrpg-0001Qx-6S for 66394@debbugs.gnu.org; Thu, 26 Oct 2023 00:18:58 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=s29768273; t=1698293898; x=1698898698; i=michael_heerdegen@web.de; bh=hEEDMCwxFO7wBl9qsuELFbThO5FlwODVeh99r8RLu8o=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References: Date; b=SBDBFeCbSVe39rZsQoZNQYu1hlpZ6chmvZbcSxiXgqY2015XrH/jyFGkUSr1ns03 3pTCioP1G9rhPcexKbk7bDvKHESmXGr1j7RZWTQsl9I6JsOE/iqcefQ7/J5XGbSeo qg+FmzLgRNB4Z31/kO3+UMVp2+Philr0NCsmJ6syg2Fboh1qHv4k7Ioo6XrnxlSs/ vuzLuZWxtrvYoi4XRHoHSiWk9RSzJ/C4ssSBh4l5SX76hWLG1ugwblvUbV57ZpS16 /GbIQuCbV+vHjuA2/rUgPDEVORVpEWiJsjNtcLx0BvB7KjPjPUa7cwoB0KNKpOqbN HG391T+smFhB3mUuww== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from drachen.dragon ([84.59.210.159]) by smtp.web.de (mrweb106 [213.165.67.124]) with ESMTPSA (Nemesis) id 1Mf3uS-1rOt7I2as6-00gPVA; Thu, 26 Oct 2023 06:18:18 +0200 From: Michael Heerdegen In-Reply-To: <877cnb2n63.fsf@posteo.net> (Thierry Volpiatto's message of "Wed, 25 Oct 2023 06:38:16 +0000") References: <87il7ib6cu.fsf@posteo.net> <87sf67qqmp.fsf@web.de> <875y3386ep.fsf@posteo.net> <87a5sddh14.fsf@web.de> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> <87ttqgpjiz.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> Date: Thu, 26 Oct 2023 06:18:27 +0200 Message-ID: <8734xyc8z0.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:14c6EbuXCZDwnE68sRuTZ0j0E1cvPFyuPgHkkrQB3tzcQm8U8Ix Et8cz1y3GI91YKEOAaoRxo0UR/iIrgAaiFTJmX0GVqjBOqyiSJlQAS/TMPMB+3mk6P973Tc 9j+B8vMFaqlrjBudqog6brumToHAr8NUoglZ4zN9mn55WXI/Yog1l1BUatizfc9Rwb5QUgr r8ioo76OTpKPW4dGa2QhQ== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:365vsViaJXc=;56PNruD9LYsHTQjpOLhPaJj5Elc 6s3fCm2x9VWs5R+1l+W68pf5c/N0YVrO0MjROXowXdnAz/fT8cbScWwdHm1bzLbvGKM/kO6ta EUAQl/ZbRq/5kJ0bwzzFCqL2MpEYQxNbmf762ORZCL3FCNi5RcYUsrh3a1Gm3GqvhsFoIbZcD YtG6uZJHFM5A6gM4zKfzGZR8X81QWNQk8hACkGjfMewSRyUuhCEzUpmtBc9nlmDnl5NqxO7Ei FpbEigk3r9ouxUQF0ntJP+DJqcpHVxr4/a86vv1uVQyHnd80RsNziDS/9CChHi9q62jAvuj0P jM2fc0mXNERUfkdYsvs8JlpkNMIda/icZ5crBCLwh5IYImzstT9KRmnuUrUZ3fNjVO6a75gYO 4vmkV74f/5/GDOKVoV5tZoG0rYe5eBxvUuY0R/AbGxXbSzi2KVlgXOuM7RNWOEqUQ3Cg5PGEA +xN+20mWd+tD/yHbOCuF9ibTQPxzplBtweEXlvNp/8JouA4BHCHtVJ1/BtV6ygyN0PeL97iT1 LD7Q24uZ+3susLOJkoXfcPPJzBphA6MNc6pMgsiG/+9UhsQQn+df6DNJOpr2jbY7KxUOHSLBt EbztwN5hayAwjjFxKmefq67dUfgaTd+KbnTnBPLjtN6bT+UM/jvTvMJ6bh6Vh3iQJmKFhDlsA v9Ae/hd99HGPnazUVFr73ldL209plL2bLx3myFRtxvT9T942XNRkMRfju3EPjMCJPJErqu286 c5fN6nwmc7jBw51gyCl30jzreRBuL7EL9fSb7Zwo2/EMJYL6uue9Kn12vcqWv80TPKFU/cwE1 uEqiTiC5GBciZBj5sDMqxvY3PFWcwqwI1jm88Lrb8odsz/ptVbcu3/hBxpDzZXD8ygsakiGdl iGBons3R3fpfKNAg4E6tcUlqKtCE0MeU36SnMrgPUQwhJFKI+0Nc7rWpCzE3+Rt2j3kypQ9xd EIRLujZJulrxtMXcTsZdyhkLbZc= X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Thierry Volpiatto writes: > Not sure to understand what you want to do here. Maybe it's easier if I post a patch. Will try to do this tomorrow. What I want to do is that `register-read-with-preview' accepts another argument, a predicate, that is used to filter the registers to be included in the preview. And the hierarchy defining which registers support which operations I want to define implicitly using method specializers, not explicitly using types. Because I think using generics is more flexible. When the type system you propose defines, for example, that string registers can be inserted, and appendend and prepended to (we have commands for that), and then, say, somebody wants to define a wrapper register type "read-only register" that can hold anything a register can hold but with the difference that the read-only register can't be modified, you want to fall back to the filtering of the base type (which can be anything, so this has to be done dynamically) - but disallow append and prepend for string registers, for example. Just an example, but such wrappers can be useful for registers. You can define registers with annotations for example: the annotations are displayed in the preview but don't affect the behavior of the base register. Such things are hard to code using a type system. Of course there are more changes to be made to allow everything I outlined, but I want that we don't do anything that limits what could be added to register.el in the future. Michael. From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 26 Oct 2023 08:03:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Michael Heerdegen Cc: 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.16983073268756 (code B ref 66394); Thu, 26 Oct 2023 08:03:01 +0000 Received: (at 66394) by debbugs.gnu.org; 26 Oct 2023 08:02:06 +0000 Received: from localhost ([127.0.0.1]:60536 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qvvJe-0002HA-3U for submit@debbugs.gnu.org; Thu, 26 Oct 2023 04:02:06 -0400 Received: from mout02.posteo.de ([185.67.36.66]:40011) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qvvJa-0002Gb-Jv for 66394@debbugs.gnu.org; Thu, 26 Oct 2023 04:02:05 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id DC606240103 for <66394@debbugs.gnu.org>; Thu, 26 Oct 2023 10:01:25 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1698307285; bh=6PedGOi8gOyenwNCN22xMxz4oaPKwP3xmq4SN6hIYsY=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:From; b=LZwEJfNjioZWH4QEa8UUXmE94w86JBJyWbnrS1dbk7+A+g/D99VEyLLwf2zf3+23P 5isAEV7UnOlI4R6cotHcCOiA2vykFQb9L0t6Wjyw6zAqYVHEyY/cZ3s5Y09fvQVTZT DcvsBlkNEkp3I2UPHI81JvMdnUJ2Dv0LAFjQNpnevCin4d0tbHf62RmxtC37pPWmJR 2QxAzk+Dg/IGr+RUZ2l2FXRbmNJL26xWJNO5qBVIiwqzHWTjAkCK6vMBifgci1aywM lESbE96istnJ/7BXwwlwV7YvDLX7HIA7sLo33CZ6IH8do4YMSCQDj1d4SSpmsRBp+1 RzrHHJtOTG0SQ== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4SGJCS5Vmbz9rxF; Thu, 26 Oct 2023 10:01:24 +0200 (CEST) References: <87il7ib6cu.fsf@posteo.net> <87sf67qqmp.fsf@web.de> <875y3386ep.fsf@posteo.net> <87a5sddh14.fsf@web.de> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> <87ttqgpjiz.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> From: Thierry Volpiatto Date: Thu, 26 Oct 2023 06:17:07 +0000 In-reply-to: <8734xyc8z0.fsf@web.de> Message-ID: <87zg05rewi.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Michael Heerdegen writes: > Thierry Volpiatto writes: > >> Not sure to understand what you want to do here. > > Maybe it's easier if I post a patch. Will try to do this tomorrow. Yes, not sure to understand what you want to do. > What I want to do is that `register-read-with-preview' accepts another > argument, a predicate, that is used to filter the registers to be > included in the preview. Why do you need another argument as long as you use `this-command`? You can use e.g. (pcase this-command ('foo #'foo-p) etc...) Isn't it? =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmU6HM0THHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvkzZ2C/9roIB4m2aZurX/QtzqTeju5BjRiVK5 Wh26FwBp71hExEP6p1CdjSL5M6SsLawVMWXgLjhPn3v7dmP0DsMJZaeyc+7jW4YJ Fpa6HnObSxhrT7XyqDSo9U4KS1YMWZLOiqzlrp2dkxdo9y5qQvTapycbZ13I+UUe PDBnNZrW5mfJNDLBpBmjaZI1i6kl6r4+zp1v3qe0V0aVcy6qJGraECSafLiziTBU 6iqvxfQmPcqAgnUNSyuXZ6T/cMQknm2Ce3EQAy/bK/eMJiGBiM6wLCwSawJ/BZKh tNtsxW5d1BwZn140bAHTZLvThuoKRVE/upACy8AAYnF+pp1hxkO9f9KsFSJjWbdB pJvz/MMz3kuuHhyNkALZppGHxvZW6jgYfYHb4Pm1g2oNCzlVuoQLlZHH2mxiWviw Se4TORSHK2UNBBAi8bxSty+oDXFf5vpNQA6JhL5jecFPW0CkfNxFsqOesJRQwMhY L/wU1xrAMU5qCNVklNhMsXD3gJOcBtqI5j0= =DSc3 -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 27 Oct 2023 01:29:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.169837011429594 (code B ref 66394); Fri, 27 Oct 2023 01:29:02 +0000 Received: (at 66394) by debbugs.gnu.org; 27 Oct 2023 01:28:34 +0000 Received: from localhost ([127.0.0.1]:34751 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qwBeM-0007hF-H7 for submit@debbugs.gnu.org; Thu, 26 Oct 2023 21:28:34 -0400 Received: from mout.web.de ([212.227.15.4]:56975) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qwBeH-0007gy-CA for 66394@debbugs.gnu.org; Thu, 26 Oct 2023 21:28:33 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=s29768273; t=1698370071; x=1698974871; i=michael_heerdegen@web.de; bh=nFEB0mp+iS/dm27fQ9cutynOyrTBKRV/KkxL5YE6Udg=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References: Date; b=BcpDuKFgk8AyhmiM7D1mQuviJfmF7NNolEeXasapAMDjHsaxlXOIzm8WLr4SjDtX IAWw8eOVUCr23VKrM/EyILlEePSHeI9iRGXDsfTiTtBWmv7LvdeaBzBqfIbUlopnZ N5SsrFGxgL+ceiZKso1Ki9WbIVbkzdibin07hVOuf992/Hjm79YsSt++4S66F1vHp WEVXFECa3cJ4vFrBk+6re+MycYGtJAgQilNNKTYQq8EeqaLyUaruAHpjeEZCL0jw/ avtXIyKIAUtLUB0AIiiAnzBXYqzdEHCFUSEvE/6OXT4vtGw3w0UUjO+I6z/X6iMjw MjFNsfSyOV7xKGagHA== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from drachen.dragon ([84.59.210.159]) by smtp.web.de (mrweb006 [213.165.67.108]) with ESMTPSA (Nemesis) id 1MFayw-1qhMjZ0ukw-00H5KH; Fri, 27 Oct 2023 03:27:51 +0200 From: Michael Heerdegen In-Reply-To: <87zg05rewi.fsf@posteo.net> (Thierry Volpiatto's message of "Thu, 26 Oct 2023 06:17:07 +0000") References: <87il7ib6cu.fsf@posteo.net> <87sf67qqmp.fsf@web.de> <875y3386ep.fsf@posteo.net> <87a5sddh14.fsf@web.de> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> <87ttqgpjiz.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> Date: Fri, 27 Oct 2023 03:27:59 +0200 Message-ID: <87ttqcg8gw.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:8mICF8YARWgCnOkVboNU+JRfK0guLkuqYyxUxjMP0HBvbKi0VsG GxZTD3MVrfaDkszhga57sVp9mY6TM2AZ6nKbuOmFeHc/mW2J8jaMi7vgwv03M9PVRuGNS9g UMC6OAomhiv7bGfdkYTT7KP0Rc4rkaR535SzPXnr8X7M9wb/vmfethga6BLf2ZcKyc5/ZRE duNAjzH9+7skQVDcrm6EA== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:+HIEQ5m3Ke0=;bNut3RhmbAGy1kc/I1Xa7nEd2RQ AlZ6Fh86ev7FEHcgvGjeQvfvt69XEAUYAEGQSqpSobAYD88b+Gm+ZTXz5PtaNpBoVVms7UVnX lwAYqkga67tjSQqQw3ToxhjCBN2psUYKLE6IfR57fbGZ3+D+N3tv/SjVoe6Wi0gFh6puDgtJR Ea8gGV2k+A2KjSsjLSR2zrbf62X56bKD92+432O5CtyjO8CGTMoKiF6iCfBD9+hW04JmA+5wB a42q0sDgRAwB9/Uj0ng7yroLzP/JfRzXD9TQe65UDfC2TEPPsi9+YoJFL1KnhlWP5WNLO4KTT wEO4lTVn9Rc5crjcYtNF2C0+niJ5y9GkYwDiHJLXEsAmifq5thEE0QWd8hnU6lhrjl5U+YRNn 8+fa20t/GmVvTC4TiLT84zxiVk+2NzevlUKGXKZHc63si3txSEpjJiIjWW8yROe8cSFyPxDXr 9AWRr1muXQHVB6kXm6uG8QPYTwjvg4JW/DP2x3hJe8+5RgVNswag50+tcHD5PDwUS98LOxf2K ahO+vO1dMkYAl8X3+snWDaAFKX8X7zLS7L3uJxsJWV4L3ud7ZtjMvCI0hx8ZLUReM51Hp2/bb LfECioy+BtRoWub4MRXsCW2p7og+7433pLoJ/oN7BFEK5yzCQe+O1PhtZDF04KqnXGBpcQOK8 buyjo+z3CYTcyw4DPnrG6YQEbCRYDPLueNG5gYJzf+famKyZXM94SMB5ooiJqg4tHIaw1U3rP aHxb7eqnH8mwN7YVwotXH8Ov9hAyCYgR4sp7gw2v1y7uQ8Fmn0Gcvs4c84XwMwXUU59gvR7Hb hr9bMBBcSLR/Met26oblvMF/iqqKbaNM0cXafNYSP/GOm0exWcCse3lY0aHPAruv73fXQjmqO CYgnjFxAuZC62wQncUwm2NUdP4GZKUPOH2yZtkK6u5LEUWy1d1m+YDqb5SRf3ZXAP7B7foC20 m8fi9g== X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Thierry Volpiatto writes: > Why do you need another argument as long as you use `this-command`? > You can use e.g. (pcase this-command ('foo #'foo-p) etc...) I doubt all potential uses will use `this-command'. It's cleaner if the command that knows what it wants passes the information via argument than to make the other function derive it indirectly from the context (functional style). Maybe in the future we might need to pass other predicates as well. What when a user wants to add another register command? Or if a future command needs to prompt more than once? A predicate passed to the function can also be wrapped for further filtering etc... that's all more controllable and extensible than hiding the decision in a defun. Michael. From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 27 Oct 2023 04:29:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Michael Heerdegen Cc: 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.169838092525276 (code B ref 66394); Fri, 27 Oct 2023 04:29:01 +0000 Received: (at 66394) by debbugs.gnu.org; 27 Oct 2023 04:28:45 +0000 Received: from localhost ([127.0.0.1]:34878 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qwESi-0006Zc-Qn for submit@debbugs.gnu.org; Fri, 27 Oct 2023 00:28:45 -0400 Received: from mout02.posteo.de ([185.67.36.66]:56449) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qwESd-0006ZI-HD for 66394@debbugs.gnu.org; Fri, 27 Oct 2023 00:28:43 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id D192E240104 for <66394@debbugs.gnu.org>; Fri, 27 Oct 2023 06:28:01 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1698380881; bh=NSTbRSPZoKjGEZ+VQ5aKOY8p+uzkH0SV+uC/nx7uQYw=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=VoXp3hBS9Ro0BtUcmk/D4nuc0DvdXLAIJTcmRwrErwu3wiigUjBFN3bSQ9WzkHGDe 8i3zycKPA9dlaQrDwjeM6qGazFRLpinUHTKdDbDEF+WPZFTx9nyogt2QZeeiu/+hkb b6DvKckIEze3X82Pweo46zBN4k/j7KF4WXQxUB74ehnpRTVtb1WOEORCvaZKSD++JC EtanD/tORJb6ycK4fpP/1doTJeH/Ukv2eG6aT9Sj66OWYR+oMz+p/PVdN8AKAii1qr fFxapr3GbgLgtIZpI5JTEnv/xAzO6HXAISJzQOYPBI+h3Z6Wscyyi3Svcwfq2gkUpH VRm9Iprhb6hqg== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4SGqQm4s5cz6tm4; Fri, 27 Oct 2023 06:28:00 +0200 (CEST) References: <87il7ib6cu.fsf@posteo.net> <87sf67qqmp.fsf@web.de> <875y3386ep.fsf@posteo.net> <87a5sddh14.fsf@web.de> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> <87ttqgpjiz.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> From: Thierry Volpiatto Date: Fri, 27 Oct 2023 04:24:23 +0000 In-reply-to: <87ttqcg8gw.fsf@web.de> Message-ID: <87h6mcr8ol.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Michael Heerdegen writes: > Thierry Volpiatto writes: > >> Why do you need another argument as long as you use `this-command`? >> You can use e.g. (pcase this-command ('foo #'foo-p) etc...) > > I doubt all potential uses will use `this-command'. > > It's cleaner if the command that knows what it wants passes the > information via argument than to make the other function derive it > indirectly from the context (functional style). It is what I did initially after realizing it is simpler to use this-command from register-read-with-preview. > Maybe in the future we might need to pass other predicates as well. > What when a user wants to add another register command? You can with the current register-preview.el add a new command and control filtering of this command. =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmU7PEoTHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvk/5NC/9Acyiv1z4qlmazVYH4gEgNxXlgvhWG iiBL7qsEGKGwATK/Ii3islIloRzD33FuxWh93oAyEBR/6FKYtN4qAVm2+Mb0OZtv h7aDsNPnro6ehEClJFxwAbErOqmh8OPNGIESmz5XfXTHRFv7kL5NRuUW/vCGL/z1 5dYWQxeP93CxWmDQ/MzTAAgiYPDVLnJqYdTUbTe4JoySb1OIeRZL9aJCST3U1ApQ wTjwuB2/VIVZT0eiWvsTZKjcYtY3IlK91XsON3pii3P+Q/E5aDInBBJY+eqlgd82 ylsqGPSv4KXfHKZ2BH6h6RR9HsEHconG3cm3BqM6d1Zy3e6vjTckCprJeY3JHHHk xLo+t5ZBkxuku/nVrx8RjaeY3BaBImoukZXo7MkjNd4Pf6l9VfksciKBY9dkWW4O uuk7nIn2eQaYk+sema4a09ZiHdQGo47QpUwn0PtFgggFExLegH1BSat7bmg2cI33 PLOtZIJxZ5fHuYTH1f77Xq+aQ9/8UynKNkk= =mXK4 -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 03 Nov 2023 05:00:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.169898754322873 (code B ref 66394); Fri, 03 Nov 2023 05:00:02 +0000 Received: (at 66394) by debbugs.gnu.org; 3 Nov 2023 04:59:03 +0000 Received: from localhost ([127.0.0.1]:56623 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qymGp-0005wW-Rq for submit@debbugs.gnu.org; Fri, 03 Nov 2023 00:59:03 -0400 Received: from mout.web.de ([212.227.17.12]:49651) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qymGl-0005wG-9g for 66394@debbugs.gnu.org; Fri, 03 Nov 2023 00:58:59 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=s29768273; t=1698987492; x=1699592292; i=michael_heerdegen@web.de; bh=iJq5jqzzEYY1aiXhz5GcUKiWyoRJwyM1QwfopwzBl8w=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References: Date; b=NypOmdXqEcneSgeVy8zz/PQUZ3SccBTV960kLv03Vj9VmwVOwTGve52h+DUzOVX7 XSbTnHOtMpDJgiyk9sLlXGJZCd5Rpmt2ZRd1iR6VbQTdRFHecJ2q8QLlqpHmKInXO ltAHRCXpyKkuptyLV4I/SKgv6N6vFV7/WYyVGy4ezfCZIYUTrUTAIf2s0hZaluzg4 3RNUvXEHGpcTP2LoveU029PuGZfrZ+FU3v0zo2dZjoVQroku9vBqjlBWhmaR0K4kt xTqCpHZoZm5KPYK9Vwnu1enUgczC2d4RwTN7WozknXz3s6uiFLhH22EO4B5XZnxG7 mEL6nENmOPsG1PT5JA== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from drachen.dragon ([84.59.210.159]) by smtp.web.de (mrweb106 [213.165.67.124]) with ESMTPSA (Nemesis) id 1Mdf8F-1rYNzZ2Pg1-00ZVJ4; Fri, 03 Nov 2023 05:58:12 +0100 From: Michael Heerdegen In-Reply-To: <87h6mcr8ol.fsf@posteo.net> (Thierry Volpiatto's message of "Fri, 27 Oct 2023 04:24:23 +0000") References: <87il7ib6cu.fsf@posteo.net> <87sf67qqmp.fsf@web.de> <875y3386ep.fsf@posteo.net> <87a5sddh14.fsf@web.de> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> <87ttqgpjiz.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> Date: Fri, 03 Nov 2023 05:58:22 +0100 Message-ID: <87r0l73029.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:jgDPo/CkR8b8SSxXu7lrfpmSt5oDNwn0C0O8XlX+YKb+pLEayqU NG7I+kFUWxd0v7gRoUYI6IX2fkZZmH8BHOPrTQju00XmbaSVoVxc0MlMhqeAoIYJMAE+s/p eFXxwX7Q2/bTLv7Y4eVCrN621AKqFa4cS2tv7Z9reyALOpWkbfEMfksYHEUWrTN9aXSybBk /r+PSI3iipQqRmSWkOPLw== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:u6GQR3Su4PQ=;LNLx1ZRrpPKAjbmAEm46Dg6+y+K 20GMhrsSNl2/fhB57bS/hOhSkWi7o2VwPpCpSQVg1BRPFmNDrp4XoVjJdZBzK1xboXRpd++DU cLSjIFxb4MhjvFStk8e9ngZg85mhpUn2AWkOPwDRS7BWwVrGE6zq8oQwWUQNyUel8OzA+dwK9 sBoycRjB7BFkg4q67mRN6u3q4nJWpxlAqaCri1jXpoxN41gU1BppDkwZeLfoM+jvixonfTy9l R9AtddWE3w9wRApDIZplYepxgRartbACGolRH2PAyEPbYeP003crdl+9JowEZKlRcTs2BZ6Sz s3tY0xJjHG9XrUeUbnhoemnD7H1m0LS7W6lulkrP6nB/xrH2LF2NAUeWZK76M92CTw+UZogD4 TtaIGgOfu4fWtPTci39P8901h3Y84nfqwk3oWhUeFvh07qdBoxUFk8SBRxBLg1GrOL5zbZiJQ 0+FGBXIY7A6KcewRmxPAOBMw4pw3EHssX3FleGdBT/LqQWtFdxf8B5jdWXVykqkAqNctlMOfd 28ptsxcuKJCMh+QCDA2/4elqykPXm7/lsXOjfYw9GR+O9gF0XX5IcDDtcntmUZgDD3V9HHAmx woiEspVrrE6hfWZ1s2HrX4Fojpik1j/5vk/RFwA4bAHD4f7P6CnSBuCfYFx2POX9H3lcsCQdg /ay3vCfH+fmbKnffFlan4HeCrj6z84DxFZuB1AouSqwXCbb5WitPHp7rvXTFzkzO23rJ++lIa ZSGm0WHeHpmN7It4aVsirLY89mvWu+k5O9H5txBWB3pM/jdyWM5GlqHIhxVLxKSLZ23ucAWDa DrmFcQipE/OfaSawsq6J7bAZfYyjXnlJ1MxhgTpGaPjCVrg7XLGPYaY2j0DvXJD3GxbBJoboq 3i91NI4tVHAVhb8vmAZROeJZeWPQJfLmIqd36fDWwL8dBZBwJMyNQ1enCFPKKco8E5S+CYp0f ZQt1Jw== X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Thierry Volpiatto writes: > > Maybe in the future we might need to pass other predicates as well. > > What when a user wants to add another register command? > > You can with the current register-preview.el add a new command and > control filtering of this command. Cool, thanks. Looks reasonable. In my perfect world, the `register-commands-data' would not be specified as a list but also using methods. Maybe also `register-preview-get-defaults'. I will have a closer look tomorrow, had been a little busy so that I just now returned to this thread. Regards, Michael. From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: [RE] Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 18 Nov 2023 18:41:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Kangas Cc: 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.17003328191704 (code B ref 66394); Sat, 18 Nov 2023 18:41:01 +0000 Received: (at 66394) by debbugs.gnu.org; 18 Nov 2023 18:40:19 +0000 Received: from localhost ([127.0.0.1]:49517 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r4QEl-0000RI-Ls for submit@debbugs.gnu.org; Sat, 18 Nov 2023 13:40:19 -0500 Received: from mout01.posteo.de ([185.67.36.65]:56347) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r4QEj-0000R1-2f for 66394@debbugs.gnu.org; Sat, 18 Nov 2023 13:40:10 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 37858240029 for <66394@debbugs.gnu.org>; Sat, 18 Nov 2023 19:40:01 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1700332801; bh=oeEAAOKRpDRWfvazJ9vZgEvu0PPf9hUcj3ENRxsl/nw=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=PaKY86smOtRcmanEWYl2UbaUJ9gfStI3jaQteuKjlvzXqd/AQ4rmUJKlttl0ON7kn em46I1eJZvyEXOyhApCNWoh6mFKpXoCKOqkmDJ8enV7+JlZji1yBFvZ42gycb/hgN/ uOGvaQCONIeZYgDXD07t4nhYbKOK4xZt2MjltMgR5IU9P+dMVt9EtFY4RE1wAEl/lK 9HsX9ELFQo/UTl7B8eeuzjKIL23QlwRnDx8tOof8NbIq1gzsyyP1JOMs9pp/HjDnxp Ig45DM3l1hOnOQBxiJo/3GlHI/Ldr6MR+XHi2nXP1CFOaDOWq35MBsJGZaFB7vSE49 3s1er2XcE749g== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4SXjHh2QFHz6tyK; Sat, 18 Nov 2023 19:40:00 +0100 (CET) From: Thierry Volpiatto In-Reply-To: (Stefan Kangas's message of "Sun, 15 Oct 2023 05:55:39 -0700") References: <87il7ib6cu.fsf@posteo.net> <871qe02uyw.fsf@posteo.net> <87bkd0jp01.fsf@posteo.net> <877cnojj3l.fsf@posteo.net> Date: Sat, 18 Nov 2023 18:39:54 +0000 Message-ID: <874jhi7vnp.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Hello Stefan, Stefan Kangas writes: > reopen 66394 > thanks > > Thierry Volpiatto writes: > >>> If it's fine by you, I'd like to reopen this bug report. >> >> Ok, please do. > > Done, thanks. More than one month now, what do you want to do with this? I had constructive exchanges with Michael and the code has been updated according to those discussions... Thanks. =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmVZBPoTHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvkzyNC/9nG2VPMrXSQ5QKOyLTcCe+2fY18lYR /puZt7RyFcb9cGgzwkiAiJw079X2jUaLrB3NQAwb8j6DBYvAmzrLniTDsS7DSQT1 3KelYiWqvBcj8gAKwYQAS1M65bzGt7z7B8y9A+PlgBBfhoYdNjMKMFCTs/zw0Yj9 y+XFjfa2mghagez4qPy+yzVmj5ex5P1PP1SXZOkm8sRsGng9LvWmrTeecxvuOZAE 7DWS/Ps7GMSXsLQFW2ohK2wt6HZfrupx97kwq+ITrERQzkyNLSaAyqNor+lL2N21 k9xRzJEHPC8I8sl3OE8MxOY1oKYyMB196npac22L3Z7btWVpKWQjT5noBu33YSDv yhuWQ/i10021ljU4X6Ib8L1Sa5GGTvfe4jVkBLvqHwxspPo4EBt6YdS+E31Iy14c irNCqPbtlmzKUl1Wa4MmO3b01yABBRm4jmHkUEDEKVttR6Nc12MhCSh7klP4hV4S FQB8XFNzLPaInl8DdhYpWPzkHsQVWFY9M04= =ckCI -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 19 Nov 2023 19:38:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Michael Heerdegen Cc: 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.17004226627177 (code B ref 66394); Sun, 19 Nov 2023 19:38:01 +0000 Received: (at 66394) by debbugs.gnu.org; 19 Nov 2023 19:37:42 +0000 Received: from localhost ([127.0.0.1]:52119 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r4nbx-0001rh-UI for submit@debbugs.gnu.org; Sun, 19 Nov 2023 14:37:42 -0500 Received: from mout02.posteo.de ([185.67.36.66]:49027) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r4nbt-0001rR-Kj for 66394@debbugs.gnu.org; Sun, 19 Nov 2023 14:37:40 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id E7A9F240103 for <66394@debbugs.gnu.org>; Sun, 19 Nov 2023 20:37:29 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1700422649; bh=H9mAtTzFb283bNNSBcdK5A6+8aoN1wDDe0LPIJ42Cgk=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=FZbVaSRAjH/TtZh5+V0aOpuVqc7P7AFDFUC96+Ko/hl25PPmXFpV1YpyiQnQKa7yo W7PsOOlx4UXF7z5DUopcJHOBHZqqmszr2TNjaGL+oZgl5Fwgyi534Ei1/5FqPhYCxK aZVuutkJ6BLqxWbOdWLkXIeiDD/wqMNtLcGkEifm7dU7Cj7Sqd5MZjRO0bsTQhvJak NnNtmK2st+4t8fkIkQ0kWHIPOUL7Y0v+Nr/7qA8V9u1IiOkQw/YgAimuBwcmI7IuO9 NW1DmMVBWM2So7PdgaJHWkLtIskW57MGtMk4RUHTwXNkCR7y0JLiPplPkbF2XNJFfp nyI5z07Bdh4vA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4SYLWW4n9yz6ty0; Sun, 19 Nov 2023 20:37:27 +0100 (CET) From: Thierry Volpiatto In-Reply-To: <87r0l73029.fsf@web.de> (Michael Heerdegen's message of "Fri, 03 Nov 2023 05:58:22 +0100") References: <87il7ib6cu.fsf@posteo.net> <87sf67qqmp.fsf@web.de> <875y3386ep.fsf@posteo.net> <87a5sddh14.fsf@web.de> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> <87ttqgpjiz.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> Date: Sun, 19 Nov 2023 19:37:18 +0000 Message-ID: <87fs11y1ox.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Michael Heerdegen writes: > Thierry Volpiatto writes: > >> > Maybe in the future we might need to pass other predicates as well. >> > What when a user wants to add another register command? >> >> You can with the current register-preview.el add a new command and >> control filtering of this command. > > Cool, thanks. Looks reasonable. > > In my perfect world, the `register-commands-data' would not be specified > as a list but also using methods. Maybe also > `register-preview-get-defaults'. > > I will have a closer look tomorrow, had been a little busy so that I > just now returned to this thread. Here all the work done so far. diff --git a/lisp/register.el b/lisp/register.el index ca6de450993..78643d10c17 100644 =2D-- a/lisp/register.el +++ b/lisp/register.el @@ -35,6 +35,8 @@ =20 ;; FIXME: Clean up namespace usage! =20 +(declare-function frameset-register-p "frameset") + (cl-defstruct (registerv (:constructor nil) (:constructor registerv--make (&optional data print-func @@ -91,6 +93,7 @@ of the marked text." :type '(choice (const :tag "None" nil) (character :tag "Use register" :value ?+))) =20 +;; FIXME: This is no more needed, remove it. (defcustom register-preview-delay 1 "If non-nil, time to wait in seconds before popping up register preview = window. If nil, do not show register previews, unless `help-char' (or a member of @@ -99,6 +102,14 @@ If nil, do not show register previews, unless `help-cha= r' (or a member of :type '(choice number (const :tag "No preview unless requested" nil)) :group 'register) =20 +(defcustom register-preview-default-keys (mapcar #'string (number-sequence= ?a ?z)) + "Default keys for setting a new register." + :type '(repeat string)) + +(defcustom register-use-preview t + "Always show register preview when non nil." + :type 'boolean) + (defun get-register (register) "Return contents of Emacs register named REGISTER, or nil if none." (alist-get register register-alist)) @@ -128,53 +139,263 @@ See the documentation of the variable `register-alis= t' for possible VALUEs." Called with one argument, a cons (NAME . CONTENTS) as found in `register-a= list'. The function should return a string, the description of the argument.") =20 =2D(defun register-preview (buffer &optional show-empty) +(cl-defstruct register-preview-info + "Store data for a specific register command. +TYPES are the types of register supported. +MSG is the minibuffer message to send when a register is selected. +ACT is the type of action the command is doing on register. +SMATCH accept a boolean value to say if command accept non matching regist= er." + types msg act smatch) + +(cl-defgeneric register-command-info (command) + "Returns a `register-preview-info' object storing data for COMMAND." + (ignore command)) +(cl-defmethod register-command-info ((_command (eql insert-register))) + (make-register-preview-info + :types '(string number) + :msg "Insert register `%s'" + :act 'insert + :smatch t)) +(cl-defmethod register-command-info ((_command (eql jump-to-register))) + (make-register-preview-info + :types '(window frame marker kmacro + file buffer file-query) + :msg "Jump to register `%s'" + :act 'jump + :smatch t)) +(cl-defmethod register-command-info ((_command (eql view-register))) + (make-register-preview-info + :types '(all) + :msg "View register `%s'" + :act 'view + :smatch t)) +(cl-defmethod register-command-info ((_command (eql append-to-register))) + (make-register-preview-info + :types '(string number) + :msg "Append to register `%s'" + :act 'modify + :smatch t)) +(cl-defmethod register-command-info ((_command (eql prepend-to-register))) + (make-register-preview-info + :types '(string number) + :msg "Prepend to register `%s'" + :act 'modify + :smatch t)) +(cl-defmethod register-command-info ((_command (eql increment-register))) + (make-register-preview-info + :types '(string number) + :msg "Increment register `%s'" + :act 'modify + :smatch t)) + +(defun register-preview-forward-line (arg) + "Move to next or previous line in register preview buffer. +If ARG is positive goto next line, if negative to previous. +Do nothing when defining or executing kmacros." + ;; Ensure user enter manually key in minibuffer when recording a macro. + (unless (or defining-kbd-macro executing-kbd-macro + (not (get-buffer-window "*Register Preview*" 'visible))) + (let ((fn (if (> arg 0) #'eobp #'bobp)) + (posfn (if (> arg 0) + #'point-min + (lambda () (1- (point-max))))) + str) + (with-current-buffer "*Register Preview*" + (let ((ovs (overlays-in (point-min) (point-max))) + pos) + (goto-char (if ovs + (overlay-start (car ovs)) + (point-min))) + (setq pos (point)) + (and ovs (forward-line arg)) + (when (and (funcall fn) + (or (> arg 0) (eql pos (point)))) + (goto-char (funcall posfn))) + (setq str (buffer-substring-no-properties + (pos-bol) (1+ (pos-bol)))) + (remove-overlays) + (with-selected-window (minibuffer-window) + (delete-minibuffer-contents) + (insert str))))))) + +(defun register-preview-next () + "Goto next line in register preview buffer." + (interactive) + (register-preview-forward-line 1)) + +(defun register-preview-previous () + "Goto previous line in register preview buffer." + (interactive) + (register-preview-forward-line -1)) + +(defun register-type (register) + "Return REGISTER type. +Current register types actually returned are one of: +- string +- number +- marker +- buffer +- file +- file-query +- window +- frame +- kmacro + +One can add new types to a specific command by defining a new `cl-defmetho= d' +matching this command. Predicate for type in new `cl-defmethod' should +satisfy `cl-typep' otherwise the new type should be defined with +`cl-deftype'." + ;; Call register--type against the register value. + (register--type (if (consp (cdr register)) + (cadr register) + (cdr register)))) + +(cl-defgeneric register--type (regval) + "Returns type of register value REGVAL." + (ignore regval)) + +(cl-defmethod register--type ((_regval string)) 'string) +(cl-defmethod register--type ((_regval number)) 'number) +(cl-defmethod register--type ((_regval marker)) 'marker) +(cl-defmethod register--type ((_regval (eql 'buffer))) 'buffer) +(cl-defmethod register--type ((_regval (eql 'file))) 'file) +(cl-defmethod register--type ((_regval (eql 'file-query))) 'file-query) +(cl-defmethod register--type ((_regval window-configuration)) 'window) +(cl-deftype frame-register () '(satisfies frameset-register-p)) +(cl-defmethod register--type :extra "frame-register" (_regval) 'frame) +(cl-deftype kmacro-register () '(satisfies kmacro-register-p)) +(cl-defmethod register--type :extra "kmacro-register" (_regval) 'kmacro) + +(defun register-of-type-alist (types) + "Filter `register-alist' according to TYPES." + (if (memq 'all types) + register-alist + (cl-loop for register in register-alist + when (memq (register-type register) types) + collect register))) + +(defun register-preview-1 (buffer &optional show-empty types) "Pop up a window showing the registers preview in BUFFER. If SHOW-EMPTY is non-nil, show the window even if no registers. +Argument TYPES (a list) specify the types of register to show, when nil sh= ow all +registers, see `register-type' for suitable types.=20 Format of each entry is controlled by the variable `register-preview-funct= ion'." =2D (when (or show-empty (consp register-alist)) =2D (with-current-buffer-window =2D buffer =2D (cons 'display-buffer-below-selected =2D '((window-height . fit-window-to-buffer) =2D (preserve-size . (nil . t)))) =2D nil =2D (with-current-buffer standard-output =2D (setq cursor-in-non-selected-windows nil) =2D (mapc (lambda (elem) =2D (when (get-register (car elem)) =2D (insert (funcall register-preview-function elem)))) =2D register-alist))))) + (let ((registers (register-of-type-alist (or types '(all))))) + (when (or show-empty (consp registers)) + (with-current-buffer-window + buffer + (cons 'display-buffer-below-selected + '((window-height . fit-window-to-buffer) + (preserve-size . (nil . t)))) + nil + (with-current-buffer standard-output + (setq cursor-in-non-selected-windows nil) + (mapc (lambda (elem) + (when (get-register (car elem)) + (insert (funcall register-preview-function elem)))) + registers)))))) + +(cl-defgeneric register-preview-get-defaults (action) + "Returns default registers according to ACTION." + (ignore action)) +(cl-defmethod register-preview-get-defaults ((_action (eql set))) + (cl-loop for s in register-preview-default-keys + unless (assoc (string-to-char s) register-alist) + collect s)) =20 (defun register-read-with-preview (prompt) "Read and return a register name, possibly showing existing registers. =2DPrompt with the string PROMPT. If `register-alist' and =2D`register-preview-delay' are both non-nil, display a window =2Dlisting existing registers after `register-preview-delay' seconds. +Prompt with the string PROMPT. If `help-char' (or a member of `help-event-list') is pressed, display such a window regardless." (let* ((buffer "*Register Preview*") =2D (timer (when (numberp register-preview-delay) =2D (run-with-timer register-preview-delay nil =2D (lambda () =2D (unless (get-buffer-window buffer) =2D (register-preview buffer)))))) =2D (help-chars (cl-loop for c in (cons help-char help-event-list) =2D when (not (get-register c)) =2D collect c))) + (pat "") + (map (let ((m (make-sparse-keymap))) + (set-keymap-parent m minibuffer-local-map) + m)) + (data (register-command-info this-command)) + types msg result timer act win strs smatch) + (if data + (setq types (register-preview-info-types data) + msg (register-preview-info-msg data) + act (register-preview-info-act data) + smatch (register-preview-info-smatch data)) + (setq types '(all) + msg "Overwrite register `%s'" + act 'set)) + (setq strs (mapcar (lambda (x) + (string (car x))) + (register-of-type-alist types))) + (when (and (memq act '(insert jump view)) (null strs)) + (error "No register suitable for `%s'" act)) + (dolist (k (cons help-char help-event-list)) + (define-key map + (vector k) (lambda () + (interactive) + (unless (get-buffer-window buffer) + (with-selected-window (minibuffer-selected-window) + (register-preview-1 buffer 'show-empty types)))= ))) + (define-key map (kbd "") 'register-preview-next) + (define-key map (kbd "") 'register-preview-previous) + (define-key map (kbd "C-n") 'register-preview-next) + (define-key map (kbd "C-p") 'register-preview-previous) + (unless (or executing-kbd-macro (null register-use-preview)) + (register-preview-1 buffer nil types)) (unwind-protect =2D (progn =2D (while (memq (read-key (propertize prompt 'face 'minibuffer-prompt)) =2D help-chars) =2D (unless (get-buffer-window buffer) =2D (register-preview buffer 'show-empty))) =2D (when (or (eq ?\C-g last-input-event) =2D (eq 'escape last-input-event) =2D (eq ?\C-\[ last-input-event)) =2D (keyboard-quit)) =2D (if (characterp last-input-event) last-input-event =2D (error "Non-character input-event"))) =2D (and (timerp timer) (cancel-timer timer)) + (progn + (minibuffer-with-setup-hook + (lambda () + (setq timer + (run-with-idle-timer + 0.01 'repeat + (lambda () + (with-selected-window (minibuffer-window) + (let ((input (minibuffer-contents))) + (when (> (length input) 1) + (let ((new (substring input 1)) + (old (substring input 0 1))) + (setq input (if (or (null smatch) + (member new strs)) + new old)) + (delete-minibuffer-contents) + (insert input))) + (when (and smatch (not (string=3D input "")) + (not (member input strs))) + (setq input "") + (delete-minibuffer-contents) + (minibuffer-message "Not matching")) + (when (not (string=3D input pat)) + (setq pat input)))) + (if (setq win (get-buffer-window buffer)) + (with-selected-window win + (let ((ov (make-overlay (point-min) (point= -min)))) + (goto-char (point-min)) + (remove-overlays) + (unless (string=3D pat "") + (if (re-search-forward (concat "^" pat= ) nil t) + (progn (move-overlay + ov + (match-beginning 0) (pos-e= ol)) + (overlay-put ov 'face 'matc= h) + (when msg + (with-selected-window (mi= nibuffer-window) + (minibuffer-message msg= pat)))) + (with-selected-window (minibuffer-wi= ndow) + (minibuffer-message + "Register `%s' is empty" pat)))))) + (unless (string=3D pat "") + (if (member pat strs) + (with-selected-window (minibuffer-window) + (minibuffer-message msg pat)) + (with-selected-window (minibuffer-window) + (minibuffer-message + "Register `%s' is empty" pat))))))))) + (setq result (read-from-minibuffer + prompt nil map nil nil (register-preview-get-de= faults act)))) + (cl-assert (and result (not (string=3D result ""))) + nil "No register specified") + (string-to-char result)) + (when timer (cancel-timer timer)) (let ((w (get-buffer-window buffer))) (and (window-live-p w) (delete-window w))) (and (get-buffer buffer) (kill-buffer buffer))))) =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmVaY+4THHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvk7F+DADG4beZfHjB1wX6RyP7cTObatdM55qR oxuWIg6OAGMIywKhUecN0RxrpPUgO7BAh8jCpvEq8yvvJmdtVC/lQQdHJ3ByB3HP Fff91T2sMXmhIko9RUclVUWK+p3pHd9IlCsEY0IJBcNJdHggZuwz4ztHTUItlF6i MflZ3nVi8UCrHZeJ+FPCuW5r/G2MaJKRL00JTdUhvBN9Dz8ErpaC5vSe+U47v22k 3hbpI81wWTQ4pdNcydXMaxYq54SNI4Zog1BeFG0tHQXIPL/w9632jTwVScz++TG3 rpY5d/cKSR+AxaTXyLRijCs90wwIxPn6fzNIjKzhhpMDtA5V/jcdsd6efFCziKX4 qf/e8UkAnW0baQFP4uwNy0TamUyH/mS+3/ZW/R9MXt71uV7KJ0v/ZMPKb8Lwb9MI C6Bndv4q8vqWN5soCYSyIveVNgss3DmiUW7FaaMT8M8sQRRkKPr7FVxWYkz95iyF G03Hyi9f8Hrq8u354Gr/0nrkXs8rHnhLa0I= =ZYRs -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 20 Nov 2023 06:01:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Michael Heerdegen Cc: stefankangas@gmail.com, monnier@iro.umontreal.ca, 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170046005326009 (code B ref 66394); Mon, 20 Nov 2023 06:01:01 +0000 Received: (at 66394) by debbugs.gnu.org; 20 Nov 2023 06:00:53 +0000 Received: from localhost ([127.0.0.1]:52393 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r4xL2-0006lQ-Nb for submit@debbugs.gnu.org; Mon, 20 Nov 2023 01:00:53 -0500 Received: from mout01.posteo.de ([185.67.36.65]:37477) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r4xKx-0006l8-7c for 66394@debbugs.gnu.org; Mon, 20 Nov 2023 01:00:51 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 61B6F240027 for <66394@debbugs.gnu.org>; Mon, 20 Nov 2023 07:00:38 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1700460038; bh=aHA4aV0NNXeHz+aJhEM9SVCVz9p6l464DBekTcZ4gek=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=bVKw+EiB4t2NUDLEvskTWyh2evHsQ3kmVV/+UHOEYAc3Je39B66ULVLTZIK3SP6jb 0hralYiDv9W++1SPsSrBSE61xr2OSx3aLDy5wRhKzFvNiEkku6+cjyVMc7M+zCw/ZB qsEI8vzY/1HsESk2L/pVLWegeEs2WcXaWwKH6yTcjs/LR+jyATEwvnWGiEAX4EUNgc eQNTNrTK4N7FdubVnYFxV+wTK2RMEvCeLGppEjOSc31eiKxelPFILa0A23Vaffw14U q+zOyLeJL0C613YQzrB5+cVdQxyDw4Zat6JSg5lZrVRQutRjsfkMiuzqJXJbbGvEPJ GWU8Upa7mswbw== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4SYcLV6CR0z6tw6; Mon, 20 Nov 2023 07:00:34 +0100 (CET) From: Thierry Volpiatto In-Reply-To: <87r0l73029.fsf@web.de> (Michael Heerdegen's message of "Fri, 03 Nov 2023 05:58:22 +0100") References: <87il7ib6cu.fsf@posteo.net> <87sf67qqmp.fsf@web.de> <875y3386ep.fsf@posteo.net> <87a5sddh14.fsf@web.de> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> <87ttqgpjiz.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> Date: Mon, 20 Nov 2023 06:00:26 +0000 Message-ID: <877cmdx8ud.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=xsDNBF8ylcIBDADG+hy+zR6L4/vbdDDZuSaMmSrU3A5QZJpeBCvxTr7MpzzruZbhLPW1K3R6N2MA edi8Y+C8o27FVRIjpdbaKMGu9je7JV/TbUQYo3SOwCK1vM4LUn4V6ZLzSYkuiEt4eyMoiDdyvN0p kcK6P9x9DCetcEVszXzQg+yzCVrQ2hXWDXWT4M18EC3wtO7RHPouMqGiwBFhBAYErCqFWFxQHkfb tG/4yGyJ58rglb65O3qijjMWvYwcWZun9/7qm8Z4/4mHopmo2zgU+OrptnLSZfkZGz3Y7Uf452xQ GVq0Fv75NPvQru7y+DYVhuVXXyAmGxt+vf4rIiixMBbhKEPjcxEPAa2LTzex2IsTZR+QVG9uDnqC WcgaOEQ58fzXNvNhtwwF/Rgio2XWAJVdmFWS59/k9W58CIUSNKBMZh2XeGdEmtHvDtCxW3z6FJha 36RzOM3fMNNiAGdFZJA84gcdloJR+sHCDTTPT3784fjr+V8An7sI581NGFzkRQqPvEQCZbUAEQEA Ac0SdGhpZXZvbEBwb3N0ZW8ubmV0wsEOBBMBCgA4AhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheA FiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmL3HCoACgkQDsVtFB0W75OVEAv/f6XxmtIFz08fUb8h Bp/zJP6IC4/rhhh+0GMRIRzLN8DK0jV8JCzYdFHiRJOy2lNIOpmrrCmjRRxferc2G42+ePFIsslx hU46VSz1Z83NwIG3mpdYNV5WUTUdgzxExHTNTFCd7NKv0nlHKQaAtdXm5bYnSHsnL7cx8z7lukA/ EsJocE+GD7QXnsrdlicvdobI0TEN4l73221a72oCvHfYLCVsB6YsNJ5ZGkA1zSjzln5uLAgZ/2r/ aqlao/AlSZkAk6+hvK0RyAZ/YR4YRZxO8Fsd0gWgFkanRfKfufJ1V0OHZg7yszi3q/hRzS+rZtJ0 OuzDlh/dyQkxVkZb9vis/+HnGDJrBE5MsmJLcy2Sy3uUnio0fq8q9CrZbudvd1DajlZxPzTm0csP eUk45QEgbhEU7MfyAX/mkKxjHajz2cMcHKIap1BqEgJl4BKFeLMcBZ4O1p9ivwtf1Ht2JTp5lOi0 ItPfhQ4DP8LZ1ZIkN5Kg9v0cyw9meRzAuuR0V2GtzsDNBF8ylcIBDADnIDHEkmk4lUwTlOhwb2yj UfmGPnpH3MCCHkjM9H/P1gTHxFWtwFVPcNMCwXWvKSBTF2dZXKERD0yzG06zT53ZMN7EIIeuY6m4 R8IcMvpohciisWxbFoB4ZY117tVSeqjo946itgbpdeESKl9a8dpn7ytZMyYxPdojlQAqxeAJ8444 raESh1oTKXb64hlk4l2pSRlrLgjpJBo8asAfZndaxIUKhw68tV8sqeZh9P6cGtHbUELKVJqefNV7 V7jF5wf3xvRG6Ces3kSKXalLfs+vrVaoOjQeWrc0AtwFWHmt9JLfKrqF+Q2Q7jUidboWmazQM56E SJFPpPHmWq8k6DHspsFHOforLouTHJL1556IPne7IV2BGfWc0+xLxalZ8F5F+vnPF/OkrC1CD5iC KTjXKa2iZbcYdYQAiL6P8Ac8CgN6EkhpbxRtzrEgChuNGevdi/G/GHG4Zqrh6YFwIa/NHq2aVaFq 5C1yNTMJd1FRjRzs5JPPlJKpYDnNx+MSp7UAEQEAAcLA9gQYAQoAIAIbDBYhBCPbcH0Te6954oP8 cA7FbRQdFu+TBQJi9x1ZAAoJEA7FbRQdFu+To6QMAIcvUSiFwCIggxkmYy3ZY0QAMLmIPga8DNPM XbfSOBDb2KLGBd+FAA8p2GExpul4r6kOYnGogtojByHmVgrd30/3ZURTM8Vj51wwD05viMZccQHl Wd9J/qZIvhBJlJWYnwVxh+2Kg4/hkx7SGc7JJS5GS37+PFQOJHPGMxc+fe4Ty2FdjIOVf3P1Hov9 K6yBI7Af66qqcL3aKJ4jJidRYN8sMaKOqEu4rcSpTxp8/3Ddbs9HezUgXeUzOLJMcEYFlvCyC8ZS l/QDZmpobKbxZ1JAqZM8lnmcZYSV7OsWnxJIYDV1gH5LTLj7bGswXaB4B+qkckihWkRZixu8q1IK 0c/xwUzyF092uFRM/sQKrSmnwA1+hQiiIuEl4XVz5li0/TmMta3ijUM7GNbl2IjioTRxWWecwad1 mNHvKTcXPsKDAbHFdLvQzurnroBHQV0jSPNLTP5Suo7RnLbehfg5INpGjToCUlrd2qQqgXW7h5qZ TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain Here the full patch attached, the previous was not applying properly. Ccing also Stefan monnier because for some reasons the patch when applied doesn't compile (when compiling Emacs) unless we add on top: (cl--generic-prefill-dispatchers 0 (eql 'x) integer) following the advice of the compiler, but I am not sure it is the way to do. Compiling register.el manually without this works correctly. --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-Improve-register-preview-Fix-bug-66394.patch Content-Transfer-Encoding: quoted-printable Content-Description: register-preview From=20c794d62a45b4c83131e506699f465e54b7dae7b5 Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Sun, 19 Nov 2023 20:42:56 +0100 Subject: [PATCH] Improve register-preview (Fix bug#66394) A minibuffer is used now instead of read-key. Registers in preview buffer are now filtered according to type of registers the current command requires. Navigation with C-n/p or up/down is now provided and update minibuffer. Current register is highlighted in preview buffer. * register.el: * (register-preview-default-keys): new user var. * (register-use-preview): Same. * (register-preview-info): New structure to store various info for preview. * (register-command-info): New generic. * (register-preview-forward-line): New, provide navigation in preview buffer. * (register-preview-next, register-preview-previous): New, navigation. * (register-type): New, returns register type. * (register--type): Generic fn, new, returns register type according to value. * (register-of-type-alist): New, filter register-alist according to type. * (register-preview): Signature changed, use TYPES now. * (register-preview-get-defaults): New generic, compute defauts according to action. * (register-read-with-preview): Now use read-from-minibuffer and minibuffer-setup-hook. =2D-- lisp/register.el | 296 +++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 259 insertions(+), 37 deletions(-) diff --git a/lisp/register.el b/lisp/register.el index ca6de450993..47f0dfa389c 100644 =2D-- a/lisp/register.el +++ b/lisp/register.el @@ -30,11 +30,14 @@ ;; documented in the Emacs user's manual: (info "(emacs) Registers"). =20 (eval-when-compile (require 'cl-lib)) +(cl--generic-prefill-dispatchers 0 (eql 'x) integer) =20 ;;; Code: =20 ;; FIXME: Clean up namespace usage! =20 +(declare-function frameset-register-p "frameset") + (cl-defstruct (registerv (:constructor nil) (:constructor registerv--make (&optional data print-func @@ -91,6 +94,7 @@ of the marked text." :type '(choice (const :tag "None" nil) (character :tag "Use register" :value ?+))) =20 +;; FIXME: This is no more needed, remove it. (defcustom register-preview-delay 1 "If non-nil, time to wait in seconds before popping up register preview = window. If nil, do not show register previews, unless `help-char' (or a member of @@ -99,6 +103,14 @@ If nil, do not show register previews, unless `help-cha= r' (or a member of :type '(choice number (const :tag "No preview unless requested" nil)) :group 'register) =20 +(defcustom register-preview-default-keys (mapcar #'string (number-sequence= ?a ?z)) + "Default keys for setting a new register." + :type '(repeat string)) + +(defcustom register-use-preview t + "Always show register preview when non nil." + :type 'boolean) + (defun get-register (register) "Return contents of Emacs register named REGISTER, or nil if none." (alist-get register register-alist)) @@ -128,53 +140,263 @@ See the documentation of the variable `register-alis= t' for possible VALUEs." Called with one argument, a cons (NAME . CONTENTS) as found in `register-a= list'. The function should return a string, the description of the argument.") =20 =2D(defun register-preview (buffer &optional show-empty) +(cl-defstruct register-preview-info + "Store data for a specific register command. +TYPES are the types of register supported. +MSG is the minibuffer message to send when a register is selected. +ACT is the type of action the command is doing on register. +SMATCH accept a boolean value to say if command accept non matching regist= er." + types msg act smatch) + +(cl-defgeneric register-command-info (command) + "Returns a `register-preview-info' object storing data for COMMAND." + (ignore command)) +(cl-defmethod register-command-info ((_command (eql insert-register))) + (make-register-preview-info + :types '(string number) + :msg "Insert register `%s'" + :act 'insert + :smatch t)) +(cl-defmethod register-command-info ((_command (eql jump-to-register))) + (make-register-preview-info + :types '(window frame marker kmacro + file buffer file-query) + :msg "Jump to register `%s'" + :act 'jump + :smatch t)) +(cl-defmethod register-command-info ((_command (eql view-register))) + (make-register-preview-info + :types '(all) + :msg "View register `%s'" + :act 'view + :smatch t)) +(cl-defmethod register-command-info ((_command (eql append-to-register))) + (make-register-preview-info + :types '(string number) + :msg "Append to register `%s'" + :act 'modify + :smatch t)) +(cl-defmethod register-command-info ((_command (eql prepend-to-register))) + (make-register-preview-info + :types '(string number) + :msg "Prepend to register `%s'" + :act 'modify + :smatch t)) +(cl-defmethod register-command-info ((_command (eql increment-register))) + (make-register-preview-info + :types '(string number) + :msg "Increment register `%s'" + :act 'modify + :smatch t)) + +(defun register-preview-forward-line (arg) + "Move to next or previous line in register preview buffer. +If ARG is positive goto next line, if negative to previous. +Do nothing when defining or executing kmacros." + ;; Ensure user enter manually key in minibuffer when recording a macro. + (unless (or defining-kbd-macro executing-kbd-macro + (not (get-buffer-window "*Register Preview*" 'visible))) + (let ((fn (if (> arg 0) #'eobp #'bobp)) + (posfn (if (> arg 0) + #'point-min + (lambda () (1- (point-max))))) + str) + (with-current-buffer "*Register Preview*" + (let ((ovs (overlays-in (point-min) (point-max))) + pos) + (goto-char (if ovs + (overlay-start (car ovs)) + (point-min))) + (setq pos (point)) + (and ovs (forward-line arg)) + (when (and (funcall fn) + (or (> arg 0) (eql pos (point)))) + (goto-char (funcall posfn))) + (setq str (buffer-substring-no-properties + (pos-bol) (1+ (pos-bol)))) + (remove-overlays) + (with-selected-window (minibuffer-window) + (delete-minibuffer-contents) + (insert str))))))) + +(defun register-preview-next () + "Goto next line in register preview buffer." + (interactive) + (register-preview-forward-line 1)) + +(defun register-preview-previous () + "Goto previous line in register preview buffer." + (interactive) + (register-preview-forward-line -1)) + +(defun register-type (register) + "Return REGISTER type. +Current register types actually returned are one of: +- string +- number +- marker +- buffer +- file +- file-query +- window +- frame +- kmacro + +One can add new types to a specific command by defining a new `cl-defmetho= d' +matching this command. Predicate for type in new `cl-defmethod' should +satisfy `cl-typep' otherwise the new type should be defined with +`cl-deftype'." + ;; Call register--type against the register value. + (register--type (if (consp (cdr register)) + (cadr register) + (cdr register)))) + +(cl-defgeneric register--type (regval) + "Returns type of register value REGVAL." + (ignore regval)) + +(cl-defmethod register--type ((_regval string)) 'string) +(cl-defmethod register--type ((_regval number)) 'number) +(cl-defmethod register--type ((_regval marker)) 'marker) +(cl-defmethod register--type ((_regval (eql 'buffer))) 'buffer) +(cl-defmethod register--type ((_regval (eql 'file))) 'file) +(cl-defmethod register--type ((_regval (eql 'file-query))) 'file-query) +(cl-defmethod register--type ((_regval window-configuration)) 'window) +(cl-deftype frame-register () '(satisfies frameset-register-p)) +(cl-defmethod register--type :extra "frame-register" (_regval) 'frame) +(cl-deftype kmacro-register () '(satisfies kmacro-register-p)) +(cl-defmethod register--type :extra "kmacro-register" (_regval) 'kmacro) + +(defun register-of-type-alist (types) + "Filter `register-alist' according to TYPES." + (if (memq 'all types) + register-alist + (cl-loop for register in register-alist + when (memq (register-type register) types) + collect register))) + +(defun register-preview (buffer &optional show-empty types) "Pop up a window showing the registers preview in BUFFER. If SHOW-EMPTY is non-nil, show the window even if no registers. +Argument TYPES (a list) specify the types of register to show, when nil sh= ow all +registers, see `register-type' for suitable types. Format of each entry is controlled by the variable `register-preview-funct= ion'." =2D (when (or show-empty (consp register-alist)) =2D (with-current-buffer-window =2D buffer =2D (cons 'display-buffer-below-selected =2D '((window-height . fit-window-to-buffer) =2D (preserve-size . (nil . t)))) =2D nil =2D (with-current-buffer standard-output =2D (setq cursor-in-non-selected-windows nil) =2D (mapc (lambda (elem) =2D (when (get-register (car elem)) =2D (insert (funcall register-preview-function elem)))) =2D register-alist))))) + (let ((registers (register-of-type-alist (or types '(all))))) + (when (or show-empty (consp registers)) + (with-current-buffer-window + buffer + (cons 'display-buffer-below-selected + '((window-height . fit-window-to-buffer) + (preserve-size . (nil . t)))) + nil + (with-current-buffer standard-output + (setq cursor-in-non-selected-windows nil) + (mapc (lambda (elem) + (when (get-register (car elem)) + (insert (funcall register-preview-function elem)))) + registers)))))) + +(cl-defgeneric register-preview-get-defaults (action) + "Returns default registers according to ACTION." + (ignore action)) +(cl-defmethod register-preview-get-defaults ((_action (eql set))) + (cl-loop for s in register-preview-default-keys + unless (assoc (string-to-char s) register-alist) + collect s)) =20 (defun register-read-with-preview (prompt) "Read and return a register name, possibly showing existing registers. =2DPrompt with the string PROMPT. If `register-alist' and =2D`register-preview-delay' are both non-nil, display a window =2Dlisting existing registers after `register-preview-delay' seconds. +Prompt with the string PROMPT. If `help-char' (or a member of `help-event-list') is pressed, display such a window regardless." (let* ((buffer "*Register Preview*") =2D (timer (when (numberp register-preview-delay) =2D (run-with-timer register-preview-delay nil =2D (lambda () =2D (unless (get-buffer-window buffer) =2D (register-preview buffer)))))) =2D (help-chars (cl-loop for c in (cons help-char help-event-list) =2D when (not (get-register c)) =2D collect c))) + (pat "") + (map (let ((m (make-sparse-keymap))) + (set-keymap-parent m minibuffer-local-map) + m)) + (data (register-command-info this-command)) + types msg result timer act win strs smatch) + (if data + (setq types (register-preview-info-types data) + msg (register-preview-info-msg data) + act (register-preview-info-act data) + smatch (register-preview-info-smatch data)) + (setq types '(all) + msg "Overwrite register `%s'" + act 'set)) + (setq strs (mapcar (lambda (x) + (string (car x))) + (register-of-type-alist types))) + (when (and (memq act '(insert jump view)) (null strs)) + (error "No register suitable for `%s'" act)) + (dolist (k (cons help-char help-event-list)) + (define-key map + (vector k) (lambda () + (interactive) + (unless (get-buffer-window buffer) + (with-selected-window (minibuffer-selected-window) + (register-preview buffer 'show-empty types)))))) + (define-key map (kbd "") 'register-preview-next) + (define-key map (kbd "") 'register-preview-previous) + (define-key map (kbd "C-n") 'register-preview-next) + (define-key map (kbd "C-p") 'register-preview-previous) + (unless (or executing-kbd-macro (null register-use-preview)) + (register-preview buffer nil types)) (unwind-protect =2D (progn =2D (while (memq (read-key (propertize prompt 'face 'minibuffer-prompt)) =2D help-chars) =2D (unless (get-buffer-window buffer) =2D (register-preview buffer 'show-empty))) =2D (when (or (eq ?\C-g last-input-event) =2D (eq 'escape last-input-event) =2D (eq ?\C-\[ last-input-event)) =2D (keyboard-quit)) =2D (if (characterp last-input-event) last-input-event =2D (error "Non-character input-event"))) =2D (and (timerp timer) (cancel-timer timer)) + (progn + (minibuffer-with-setup-hook + (lambda () + (setq timer + (run-with-idle-timer + 0.01 'repeat + (lambda () + (with-selected-window (minibuffer-window) + (let ((input (minibuffer-contents))) + (when (> (length input) 1) + (let ((new (substring input 1)) + (old (substring input 0 1))) + (setq input (if (or (null smatch) + (member new strs)) + new old)) + (delete-minibuffer-contents) + (insert input))) + (when (and smatch (not (string=3D input "")) + (not (member input strs))) + (setq input "") + (delete-minibuffer-contents) + (minibuffer-message "Not matching")) + (when (not (string=3D input pat)) + (setq pat input)))) + (if (setq win (get-buffer-window buffer)) + (with-selected-window win + (let ((ov (make-overlay (point-min) (point= -min)))) + (goto-char (point-min)) + (remove-overlays) + (unless (string=3D pat "") + (if (re-search-forward (concat "^" pat= ) nil t) + (progn (move-overlay + ov + (match-beginning 0) (pos-e= ol)) + (overlay-put ov 'face 'matc= h) + (when msg + (with-selected-window (mi= nibuffer-window) + (minibuffer-message msg= pat)))) + (with-selected-window (minibuffer-wi= ndow) + (minibuffer-message + "Register `%s' is empty" pat)))))) + (unless (string=3D pat "") + (if (member pat strs) + (with-selected-window (minibuffer-window) + (minibuffer-message msg pat)) + (with-selected-window (minibuffer-window) + (minibuffer-message + "Register `%s' is empty" pat))))))))) + (setq result (read-from-minibuffer + prompt nil map nil nil (register-preview-get-de= faults act)))) + (cl-assert (and result (not (string=3D result ""))) + nil "No register specified") + (string-to-char result)) + (when timer (cancel-timer timer)) (let ((w (get-buffer-window buffer))) (and (window-live-p w) (delete-window w))) (and (get-buffer buffer) (kill-buffer buffer))))) =2D-=20 2.34.1 --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable =2D-=20 Thierry --=-=-=-- --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmVa9foTHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvk1OZC/oD6jAYsGPcAsKKCcp/op/lF9d5jiZd 1NXhqjNkKPOiqR1G0texaerIJdPzZM9DrsEPArLrGGEkziwUA6M1rRxx6RB65cTs ha1dX+RNV1Ha9wr+bIb5cjbHMu1RdGYBP+R54atJn4JJlNsaSy461mkzpDNnrhC9 tudq0Hev6XusKRJPOoJMzQs6OLbEB8N6vk62ZKGj16awOTdQfvYOJug1LTRIJeBZ pK9KKOZStHPqxC0UpsM4aiTicqT/xId+pxLI3tFh8Yv+qEM22q5e5QDCSqM8YMb5 Sv4WFs29xtPBRAonjljb3k1D6Ge/U3X6vYa7OLAwyhDmvllOoNDbiMfBrqqhAGka AjP/vqIdl/59+h2ZLOxV6tCNLtbb0ziXEVFMioDo7waSr9zErxwRO3kkJBOTcAsE kYr7DhuzftD7Ykaz52DwBQwAA62dfbaUEPFw60/DwYJDmquvDaiq4NKPgBX3wDxr Kk9g+lGZ8OdrILhNnqG1LO+ls6riMjL9uDg= =KMSD -----END PGP SIGNATURE----- --==-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 20 Nov 2023 17:37:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: Michael Heerdegen , stefankangas@gmail.com, 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.17005018062720 (code B ref 66394); Mon, 20 Nov 2023 17:37:02 +0000 Received: (at 66394) by debbugs.gnu.org; 20 Nov 2023 17:36:46 +0000 Received: from localhost ([127.0.0.1]:54442 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r58CU-0000ho-Az for submit@debbugs.gnu.org; Mon, 20 Nov 2023 12:36:46 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:18801) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r58CQ-0000hY-R7 for 66394@debbugs.gnu.org; Mon, 20 Nov 2023 12:36:44 -0500 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id B60E0442854; Mon, 20 Nov 2023 12:36:34 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1700501793; bh=qHeK5eP5bn3o/6GKjMuYpBC9C/PT31VnhyR5wYBFNI4=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=gtX+xEObATn6Z1nL5IAlOkXhKADv7wy3QOAEfcDg3cbHURJXZqMNTWaV9WDDp/uzp hrMIGOqzP8B2QxABEUcHrg4wppoS6xpbXI6P0tOYZdIkWJiXcMhE6Pq91zQsKD2XaH qJJOskH7srghpgFxp2I29eP7j6QwkLsbZb+oU2tzqkvbsEfJ59CJVjaq0c60sJ5pbc 6fttW6GgDLYx3hi9b0Tl1gmWSn1dQEjT2SyCbhZSzbpCcBTzSHdU4pJsn64ui4fVkt RBBYu880hiWWlull7K48owpf88Bm58j+GkY9u2PWJQgOPQZi57H3SRXLJgfs+1W1NX 8y6Yf0PVTqKqg== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 226FB442852; Mon, 20 Nov 2023 12:36:33 -0500 (EST) Received: from lechazo (lechon.iro.umontreal.ca [132.204.27.242]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 0B128120387; Mon, 20 Nov 2023 12:36:33 -0500 (EST) From: Stefan Monnier In-Reply-To: <877cmdx8ud.fsf@posteo.net> (Thierry Volpiatto's message of "Mon, 20 Nov 2023 06:00:26 +0000") Message-ID: References: <87il7ib6cu.fsf@posteo.net> <87sf67qqmp.fsf@web.de> <875y3386ep.fsf@posteo.net> <87a5sddh14.fsf@web.de> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> <87ttqgpjiz.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> Date: Mon, 20 Nov 2023 12:33:57 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL 0.115 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Ccing also Stefan monnier because for some reasons the patch when > applied doesn't compile (when compiling Emacs) unless we add on > top: > > (cl--generic-prefill-dispatchers 0 (eql 'x) integer) > > following the advice of the compiler, Indeed, this is needed because `register.el` is preloaded and method dispatcher are generated&compiled "on the fly" but we don't want to preload the compiler, so we want to pre-compile the dispatchers used by the preloaded code. > but I am not sure it is the way to do. `cl--generic-prefill-dispatchers` is not guaranteed to be defined when we load `register.el` (it's only defined if we loaded the non-compiled version of `cl-generic.el`) so the above call should be in `cl-generic.el` rather than in `register.el`. I'd put it next to the following block: (cl--generic-prefill-dispatchers 0 (eql nil)) (cl--generic-prefill-dispatchers window-system (eql nil)) (cl--generic-prefill-dispatchers (terminal-parameter nil 'xterm--get-selection) (eql nil)) (cl--generic-prefill-dispatchers (terminal-parameter nil 'xterm--set-selection) (eql nil)) which is already about dispatchers needed to support other files. Stefan From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 20 Nov 2023 18:52:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: Michael Heerdegen , stefankangas@gmail.com, 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170050629311287 (code B ref 66394); Mon, 20 Nov 2023 18:52:02 +0000 Received: (at 66394) by debbugs.gnu.org; 20 Nov 2023 18:51:33 +0000 Received: from localhost ([127.0.0.1]:54552 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r59Mr-0002vy-Ch for submit@debbugs.gnu.org; Mon, 20 Nov 2023 13:51:33 -0500 Received: from mout01.posteo.de ([185.67.36.65]:45209) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r59Mp-0002vX-BB for 66394@debbugs.gnu.org; Mon, 20 Nov 2023 13:51:32 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id B5EBD240027 for <66394@debbugs.gnu.org>; Mon, 20 Nov 2023 19:51:22 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1700506282; bh=mluEKp0IyfrvZZ1+4OYVhC/NAbKPe0bPI5q0Bbu8wGA=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=UPUK2CTIaHgM3qOL/Ka78G6q8JrgvpSVxou5g8BhmAlucwoTTaMXbUv2pX9pCzcM2 cc5vZ0jaN2BNThkXDunwzXUTKqDhTkq7meybm7ITgurhb06iLi7kA1F7hh3Fbsf/A4 1bzdHdcSO262LbWvP3IEB0RTQfPkmYlAXEB5kI3ua+YPaZ/y/QOkSqJ5Z4FDkJ4hnW FsRnlyvsyZtrvoCx6X0MG6Al1Wd9sWB2KKywGsza6YvpZplnE6ASxUTIQ0Rx47V6vK elbmj0mWfGAajj/MDer+gaZP6zRc4OrNqxYcaaJYihLwhbN6Wj20+AFQYtlyI/Mw+H YQdgH0ryRwXHg== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4SYxRq2wYwz6twH; Mon, 20 Nov 2023 19:51:19 +0100 (CET) From: Thierry Volpiatto In-Reply-To: (Stefan Monnier's message of "Mon, 20 Nov 2023 12:33:57 -0500 (1 hour, 11 minutes, 21 seconds ago)") References: <87il7ib6cu.fsf@posteo.net> <87sf67qqmp.fsf@web.de> <875y3386ep.fsf@posteo.net> <87a5sddh14.fsf@web.de> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> <87ttqgpjiz.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> Date: Mon, 20 Nov 2023 18:51:10 +0000 Message-ID: <87sf50s1gh.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Hello Stefan, Stefan Monnier writes: >> Ccing also Stefan monnier because for some reasons the patch when >> applied doesn't compile (when compiling Emacs) unless we add on >> top: >> >> (cl--generic-prefill-dispatchers 0 (eql 'x) integer) >> >> following the advice of the compiler, > > Indeed, this is needed because `register.el` is preloaded and method > dispatcher are generated&compiled "on the fly" but we don't want to > preload the compiler, so we want to pre-compile the dispatchers used > by the preloaded code. > >> but I am not sure it is the way to do. > > `cl--generic-prefill-dispatchers` is not guaranteed to be defined when > we load `register.el` (it's only defined if we loaded the non-compiled > version of `cl-generic.el`) so the above call should be in > `cl-generic.el` rather than in `register.el`. > > I'd put it next to the following block: > > (cl--generic-prefill-dispatchers 0 (eql nil)) > (cl--generic-prefill-dispatchers window-system (eql nil)) > (cl--generic-prefill-dispatchers (terminal-parameter nil 'xterm--get-= selection) > (eql nil)) > (cl--generic-prefill-dispatchers (terminal-parameter nil 'xterm--set-= selection) > (eql nil)) > > which is already about dispatchers needed to support other files. I will for now leave the call to `cl--generic-prefill-dispatchers` in the patch as a reminder that it should be added instead in cl-defgeneric once merging. Thanks for your explanation. =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmVbqp4THHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvk/CzDACNmJnp2vjZHivfKf7dIjo6SUtSGWZq Vgmwuc5Gb0qqidY4G5YJXwk+UsREzdF9DFhbTzU+0yEcykTyOtCTTbPwxUfsF/hS HF1e4j0A1/dKhv40hrHTYBZSh0OaAhIspekcDP9xdx3aLx3lqzeiCrXBS8zAxtCs SZUEu0htk2eonBwdSc9hCwPEAkmnd/pHuGr+9gk+pcft/4k7gus+NaSSQKG7XV2U DTuii6awpm7/6B/feUR67LVUgYeijbEwwsZ8VxLk7f4NClhpay5RZqXVac111ceU 5P/BUxDq96LsCDt98Rr+Gd/yQ866015Bgg7K9WOaU1evM/IHSx0ZXZH4m60Qyuu0 cx+ivp7/Sr5nbiugLZw0ul/kl47EwOiAsKhzfcptWflvvnnkazgW1zXTzROTinfW CdO0yyPqUKocDRu/N5MvK1bWyZupHVVsOhjn+vVNRYivgXdQfyabKHAmyzC0TUMY z4TUoHfGDP3tjY3kTaKylaaE43Wk/khp48k= =30Hl -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 25 Nov 2023 10:24:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: michael_heerdegen@web.de, 66394@debbugs.gnu.org, monnier@iro.umontreal.ca, stefankangas@gmail.com Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170090782620626 (code B ref 66394); Sat, 25 Nov 2023 10:24:01 +0000 Received: (at 66394) by debbugs.gnu.org; 25 Nov 2023 10:23:46 +0000 Received: from localhost ([127.0.0.1]:37911 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r6pp2-0005MI-1S for submit@debbugs.gnu.org; Sat, 25 Nov 2023 05:23:46 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:34628) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r6poz-0005M4-VX for 66394@debbugs.gnu.org; Sat, 25 Nov 2023 05:23:34 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r6pon-0000E3-Ua; Sat, 25 Nov 2023 05:23:21 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=JwXxKoSwKGV49qe4ud7h8215rpr9r9qlaTHfggyX8AA=; b=I0bW3RF+kUnr ozw/rXmwNMwqVqUsJwD5iIOgcYSvxHQUQoshBgJFyiQupVylr9HtChrU19G3bBA3drjIvB/dfcFer HkCBzbxuLsT4Fc+CTEW6ub/pwz2DSlbv6ZAL/sYhBWNemvHIrYu3TpJV8WQj4mA/7FVeZdPw9IzVX 9+7ne33dPj5dSV782CDXiUy85zpKfb+jwD+NDWp2O9HJccVCuW64dcKwpfPAmqPDE+tlBY39vtQBf ZihamfwIBBzWs8MYHZ31r6ZrDhAa24dXcl39qfJ742tjyZ+MEyBJGmodKgyRf7Y+9BMQWW+EMzU3M YZDiXQG/dyoXa3QsiaRqAg==; Date: Sat, 25 Nov 2023 12:23:18 +0200 Message-Id: <83o7ficesp.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <87sf50s1gh.fsf@posteo.net> (message from Thierry Volpiatto on Mon, 20 Nov 2023 18:51:10 +0000) References: <87il7ib6cu.fsf@posteo.net> <87sf67qqmp.fsf@web.de> <875y3386ep.fsf@posteo.net> <87a5sddh14.fsf@web.de> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> <87ttqgpjiz.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Cc: Michael Heerdegen , stefankangas@gmail.com, > 66394@debbugs.gnu.org > From: Thierry Volpiatto > Date: Mon, 20 Nov 2023 18:51:10 +0000 > > Stefan Monnier writes: > > >> Ccing also Stefan monnier because for some reasons the patch when > >> applied doesn't compile (when compiling Emacs) unless we add on > >> top: > >> > >> (cl--generic-prefill-dispatchers 0 (eql 'x) integer) > >> > >> following the advice of the compiler, > > > > Indeed, this is needed because `register.el` is preloaded and method > > dispatcher are generated&compiled "on the fly" but we don't want to > > preload the compiler, so we want to pre-compile the dispatchers used > > by the preloaded code. > > > >> but I am not sure it is the way to do. > > > > `cl--generic-prefill-dispatchers` is not guaranteed to be defined when > > we load `register.el` (it's only defined if we loaded the non-compiled > > version of `cl-generic.el`) so the above call should be in > > `cl-generic.el` rather than in `register.el`. > > > > I'd put it next to the following block: > > > > (cl--generic-prefill-dispatchers 0 (eql nil)) > > (cl--generic-prefill-dispatchers window-system (eql nil)) > > (cl--generic-prefill-dispatchers (terminal-parameter nil 'xterm--get-selection) > > (eql nil)) > > (cl--generic-prefill-dispatchers (terminal-parameter nil 'xterm--set-selection) > > (eql nil)) > > > > which is already about dispatchers needed to support other files. > > I will for now leave the call to `cl--generic-prefill-dispatchers` in > the patch as a reminder that it should be added instead in cl-defgeneric > once merging. I tried to install the patch, but it fails to compile: ELC ../lisp/register.elc In toplevel form: register.el:33:37: Warning: `eql' called with 1 argument, but requires 2 register.el:33:45: Warning: reference to free variable `integer' This then fails the build, since 'register' is preloaded. Thierry, can you please fix the code, so that I could install it? Or what am I missing? P.S. Also, the log message is not according to our conventions. From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 25 Nov 2023 20:00:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: michael_heerdegen@web.de, 66394@debbugs.gnu.org, monnier@iro.umontreal.ca, stefankangas@gmail.com Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.17009423897695 (code B ref 66394); Sat, 25 Nov 2023 20:00:02 +0000 Received: (at 66394) by debbugs.gnu.org; 25 Nov 2023 19:59:49 +0000 Received: from localhost ([127.0.0.1]:40343 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r6yoe-000203-JF for submit@debbugs.gnu.org; Sat, 25 Nov 2023 14:59:49 -0500 Received: from mout01.posteo.de ([185.67.36.65]:33477) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r6yoc-0001zp-H8 for 66394@debbugs.gnu.org; Sat, 25 Nov 2023 14:59:47 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 1BECF240028 for <66394@debbugs.gnu.org>; Sat, 25 Nov 2023 20:59:35 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1700942375; bh=PAX69Stun0Qk7J2MxN+jcjbA+QHsm4pXliFLGP2FyW4=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=pGMPcVL03rs6nwOj7hHIu5mwezjLtMC3bsaULeQBfEVHPZyUB4a0NzfK35Rx2UMkz jGHQa62huyT5h5M0CnAblXHRJbYcXBGuBOegvmqo/J1ZgaXL7eXWIiOWxTpPaANQaq tkTUZMNm0htbZa5Ld1z6gz8XA41uc7i3MLDnnG5lkB1VhRwmbTnw4syzIIsCUH2mdr SbFQa0t3EI6C/urV8V+e9tDCir55PFxgczBCiMDlgxYF1Y/YfxFgPmWIcy7cMUI/Xd Zo6iIMukSmqIvdPvFPEaInMsWPiNHo43cA9Jvdy2uHi8wQ2Kxmv6qguL5nK7KBsfln jEoEE0WTlesxw== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Sd2kF0wLzz6txs; Sat, 25 Nov 2023 20:59:32 +0100 (CET) From: Thierry Volpiatto In-Reply-To: <83o7ficesp.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 25 Nov 2023 12:23:18 +0200 (9 hours, 22 minutes, 8 seconds ago)") References: <87il7ib6cu.fsf@posteo.net> <87sf67qqmp.fsf@web.de> <875y3386ep.fsf@posteo.net> <87a5sddh14.fsf@web.de> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> <87ttqgpjiz.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> Date: Sat, 25 Nov 2023 19:59:26 +0000 Message-ID: <878r6leh9d.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Hello Eli, Eli Zaretskii writes: >> Cc: Michael Heerdegen , stefankangas@gmail.com, >> 66394@debbugs.gnu.org >> From: Thierry Volpiatto >> Date: Mon, 20 Nov 2023 18:51:10 +0000 >>=20 >> Stefan Monnier writes: >>=20 >> >> Ccing also Stefan monnier because for some reasons the patch when >> >> applied doesn't compile (when compiling Emacs) unless we add on >> >> top: >> >> >> >> (cl--generic-prefill-dispatchers 0 (eql 'x) integer) >> >> >> >> following the advice of the compiler, >> > >> > Indeed, this is needed because `register.el` is preloaded and method >> > dispatcher are generated&compiled "on the fly" but we don't want to >> > preload the compiler, so we want to pre-compile the dispatchers used >> > by the preloaded code. >> > >> >> but I am not sure it is the way to do. >> > >> > `cl--generic-prefill-dispatchers` is not guaranteed to be defined when >> > we load `register.el` (it's only defined if we loaded the non-compiled >> > version of `cl-generic.el`) so the above call should be in >> > `cl-generic.el` rather than in `register.el`. >> > >> > I'd put it next to the following block: >> > >> > (cl--generic-prefill-dispatchers 0 (eql nil)) >> > (cl--generic-prefill-dispatchers window-system (eql nil)) >> > (cl--generic-prefill-dispatchers (terminal-parameter nil 'xterm--g= et-selection) >> > (eql nil)) >> > (cl--generic-prefill-dispatchers (terminal-parameter nil 'xterm--s= et-selection) >> > (eql nil)) >> > >> > which is already about dispatchers needed to support other files. >>=20 >> I will for now leave the call to `cl--generic-prefill-dispatchers` in >> the patch as a reminder that it should be added instead in cl-defgeneric >> once merging. > > I tried to install the patch, but it fails to compile: > > ELC ../lisp/register.elc > > In toplevel form: > register.el:33:37: Warning: `eql' called with 1 argument, but requires 2 > register.el:33:45: Warning: reference to free variable `integer' I have not these warnings. > This then fails the build, since 'register' is preloaded. Here it is building fine, this from the last Emacs master from tonight. > Thierry, can you please fix the code, so that I could install it? Or > what am I missing? Don't know, did you "make clean" first? NOTE: I leaved the patch like this but it needs the change suggested by Stefan before merging (or with an extra commit) see above. > P.S. Also, the log message is not according to our conventions. I don't remember now what are your conventions for commits, perhaps you can correct it if needed? Thanks. =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmViUh4THHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvk45ADACbC4OwxOe7cxEFqm8o6S0x0yeqbNKd 8DUqJHtYQx26JYQyfShmQK6CkIjT1acAaw2zDd1ijlwIA79tpG4nnMAiHX1Zr19K DnHNqZ/kUN5kcePiNXoNbgDNln1sMorXbXJsCC1ZOpUyQZZ5U8APwjVSsdx6mFGD HVgQTtNyJTI98Nfo8GPA1KnlTpp8JM3NNpo5uw2Qkybzm/p7qSVNfVk7m7od00on sVSrLcV2tuJFhST4L/cO7ugtC9w2djvCyvUj9DGo5pNa12JHFW5F1DfPXejgen3B Gp0Xg0cpam5SyatxcoD/EQnmJLmFXtpvnc2zpNX4FlLo8ozM6Nrmbj0IyOAx9dhT GMg7ddc4WPR4INx6nMJVpzUMPISFHnVwKiRbQIgExwEMCGYTRr9Xk+dY8dGfAczT zlxNzvWp0d60b8CEegRhFJH/sUhaZuoFVEwL7g3IlKM61GUskc9pmPP7jCVXunIm QbMUAWUFhHfo31wi2vqWLxFwkmHQ3eveL3s= =eRqX -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 25 Nov 2023 20:11:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: michael_heerdegen@web.de, 66394@debbugs.gnu.org, monnier@iro.umontreal.ca, stefankangas@gmail.com Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.17009430438762 (code B ref 66394); Sat, 25 Nov 2023 20:11:02 +0000 Received: (at 66394) by debbugs.gnu.org; 25 Nov 2023 20:10:43 +0000 Received: from localhost ([127.0.0.1]:40353 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r6yzD-0002HG-B6 for submit@debbugs.gnu.org; Sat, 25 Nov 2023 15:10:43 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:45398) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r6yzA-0002H0-4t for 66394@debbugs.gnu.org; Sat, 25 Nov 2023 15:10:41 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r6yyz-0006sN-6h; Sat, 25 Nov 2023 15:10:29 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=y2nXnjDx93GIrczvUMjAdtaRBxMsBcJxqNgPQh5YcuA=; b=DdTTFtg75dsq SN6Fan/W4t+qvpIdO325NUNlG3SGMG623PtgM8ksXwVdDmDl6IZbcmN57EmYUCPfEpIM1yPrL+B8B 4OqjPcAFSPt/y0DP1wz/Rb8WH2V88yy+n1VKimIE49V+sioGDs2us4q149gAxAJ5MydNDWGGmfxHQ JhK5XD3O1OKmXSFm6gjXXUgm2dYGaEEOLmQF+KaUvqPILKxUkj097rXD/l+xVEZZbJvVhTWt/DZSO U32Sy3d2m76VFcgIXYf+PvAxcZ6/G0dCersmwo2IzJUgXCc3e49FBTgvMmt1SabN5kJ7eopUBYdY3 orxCw3meCWULPAMwQ5+R3g==; Date: Sat, 25 Nov 2023 22:10:14 +0200 Message-Id: <83il5pbnmh.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <878r6leh9d.fsf@posteo.net> (message from Thierry Volpiatto on Sat, 25 Nov 2023 19:59:26 +0000) References: <87il7ib6cu.fsf@posteo.net> <87sf67qqmp.fsf@web.de> <875y3386ep.fsf@posteo.net> <87a5sddh14.fsf@web.de> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> <87ttqgpjiz.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Thierry Volpiatto > Cc: monnier@iro.umontreal.ca, michael_heerdegen@web.de, > stefankangas@gmail.com, 66394@debbugs.gnu.org > Date: Sat, 25 Nov 2023 19:59:26 +0000 > > > ELC ../lisp/register.elc > > > > In toplevel form: > > register.el:33:37: Warning: `eql' called with 1 argument, but requires 2 > > register.el:33:45: Warning: reference to free variable `integer' > > I have not these warnings. Strange. Maybe Stefan can explain how could that happen. > > This then fails the build, since 'register' is preloaded. > > Here it is building fine, this from the last Emacs master from tonight. I'm also applying to master, obviously. > > Thierry, can you please fix the code, so that I could install it? Or > > what am I missing? > > Don't know, did you "make clean" first? How would "make clean" help? I did remove register.elc, it didn't help. > NOTE: I leaved the patch like this but it needs the change suggested by > Stefan before merging (or with an extra commit) see above. OK, so I guess I shouldn't have tried to install it. > > P.S. Also, the log message is not according to our conventions. > > I don't remember now what are your conventions for commits, perhaps you > can correct it if needed? Of course, I can correct it. I just thought that if you are going to submit a fixed patch, perhaps you could fix the log message as well, to spare me some manual work. Never mind now, since I'm not going to install it yet. Thanks. From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 25 Nov 2023 21:15:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: michael_heerdegen@web.de, 66394@debbugs.gnu.org, monnier@iro.umontreal.ca, stefankangas@gmail.com Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170094689615511 (code B ref 66394); Sat, 25 Nov 2023 21:15:02 +0000 Received: (at 66394) by debbugs.gnu.org; 25 Nov 2023 21:14:56 +0000 Received: from localhost ([127.0.0.1]:40366 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r6zzL-000426-GY for submit@debbugs.gnu.org; Sat, 25 Nov 2023 16:14:56 -0500 Received: from mout02.posteo.de ([185.67.36.66]:59421) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r6zzH-00041p-Ph for 66394@debbugs.gnu.org; Sat, 25 Nov 2023 16:14:53 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 6924F240103 for <66394@debbugs.gnu.org>; Sat, 25 Nov 2023 22:14:40 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1700946880; bh=yOPaBOtIqBzsKQEEcPiPlel2QZUQH+9ZO7CZKo5DZ5c=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=DUdoPfzRMSsXw7q08pnlZlMRednN2xZmTLR20JSC0P+bokmirKM/Jrbwi3KTyxa8k 23+FNxtqxw71GwPOHWffFqKHDnhrWDoC96QR+4PBAMfwNWMWqx7NCfeL7IR6tL/KyY J8l4U80/HhrlVhCZaDzSKSEAyHoMkkaJ6dvtkCYpx8KpY6rXOFivb03Cn6Zb4tRgdj 6oDXoAHajIifP8qoUyaOfUBh0axj+ma7EH+abHRkSY63N6vdZx/d9Uh6QbpZHms9pO YQRwxQkgC6Czln0rCa8PCCxlVLQ303QMYkCG497h3sQPv91WyEnSLR271JRjxGrowU xQvKPIIie9n5Q== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Sd4Nt1VBPz6tsB; Sat, 25 Nov 2023 22:14:37 +0100 (CET) From: Thierry Volpiatto In-Reply-To: <83il5pbnmh.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 25 Nov 2023 22:10:14 +0200 (53 minutes, 35 seconds ago)") References: <87il7ib6cu.fsf@posteo.net> <875y3386ep.fsf@posteo.net> <87a5sddh14.fsf@web.de> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> <87ttqgpjiz.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> Date: Sat, 25 Nov 2023 21:14:31 +0000 Message-ID: <87zfz1cz7s.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Eli Zaretskii writes: > How would "make clean" help? I did remove register.elc, it didn't > help. Not only register is involved here but indirectly cl-generic. > OK, so I guess I shouldn't have tried to install it. Here a patch with the change suggested by Stefan applied, slighly modified though because it fails if I put the call to cl--generic-prefill-dispatchers at the recommended place. I recompiled Emacs with this patch with no errors. =20 =2D-=20 Thierry --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-Improve-register-preview-Fix-bug-66394.patch Content-Transfer-Encoding: quoted-printable From=20ccecd34b8307c7168e89289f933e63590ce6fc9c Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Sun, 19 Nov 2023 20:42:56 +0100 Subject: [PATCH] Improve register-preview (Fix bug#66394) A minibuffer is used now instead of read-key. Registers in preview buffer are now filtered according to type of registers the current command requires. Navigation with C-n/p or up/down is now provided and update minibuffer. Current register is highlighted in preview buffer. * cl-generic.el: Add a call to `cl--generic-prefill-dispatchers` to fix build error. * register.el: * (register-preview-default-keys): new user var. * (register-use-preview): Same. * (register-preview-info): New structure to store various info for preview. * (register-command-info): New generic. * (register-preview-forward-line): New, provide navigation in preview buffer. * (register-preview-next, register-preview-previous): New, navigation. * (register-type): New, returns register type. * (register--type): Generic fn, new, returns register type according to value. * (register-of-type-alist): New, filter register-alist according to type. * (register-preview): Signature changed, use TYPES now. * (register-preview-get-defaults): New generic, compute defauts according to action. * (register-read-with-preview): Now use read-from-minibuffer and minibuffer-setup-hook. =2D-- lisp/emacs-lisp/cl-generic.el | 1 + lisp/register.el | 295 +++++++++++++++++++++++++++++----- 2 files changed, 259 insertions(+), 37 deletions(-) diff --git a/lisp/emacs-lisp/cl-generic.el b/lisp/emacs-lisp/cl-generic.el index 56eb83e6f75..0ef0d1e192a 100644 =2D-- a/lisp/emacs-lisp/cl-generic.el +++ b/lisp/emacs-lisp/cl-generic.el @@ -1379,6 +1379,7 @@ See the full list and their hierarchy in `cl--typeof-= types'." (cl--generic-prefill-dispatchers 0 integer) (cl--generic-prefill-dispatchers 1 integer) (cl--generic-prefill-dispatchers 0 cl--generic-generalizer integer) +(cl--generic-prefill-dispatchers 0 (eql 'x) integer) =20 ;;; Dispatch on major mode. =20 diff --git a/lisp/register.el b/lisp/register.el index ca6de450993..61bef503f91 100644 =2D-- a/lisp/register.el +++ b/lisp/register.el @@ -35,6 +35,8 @@ =20 ;; FIXME: Clean up namespace usage! =20 +(declare-function frameset-register-p "frameset") + (cl-defstruct (registerv (:constructor nil) (:constructor registerv--make (&optional data print-func @@ -91,6 +93,7 @@ of the marked text." :type '(choice (const :tag "None" nil) (character :tag "Use register" :value ?+))) =20 +;; FIXME: This is no more needed, remove it. (defcustom register-preview-delay 1 "If non-nil, time to wait in seconds before popping up register preview = window. If nil, do not show register previews, unless `help-char' (or a member of @@ -99,6 +102,14 @@ If nil, do not show register previews, unless `help-cha= r' (or a member of :type '(choice number (const :tag "No preview unless requested" nil)) :group 'register) =20 +(defcustom register-preview-default-keys (mapcar #'string (number-sequence= ?a ?z)) + "Default keys for setting a new register." + :type '(repeat string)) + +(defcustom register-use-preview t + "Always show register preview when non nil." + :type 'boolean) + (defun get-register (register) "Return contents of Emacs register named REGISTER, or nil if none." (alist-get register register-alist)) @@ -128,53 +139,263 @@ See the documentation of the variable `register-alis= t' for possible VALUEs." Called with one argument, a cons (NAME . CONTENTS) as found in `register-a= list'. The function should return a string, the description of the argument.") =20 =2D(defun register-preview (buffer &optional show-empty) +(cl-defstruct register-preview-info + "Store data for a specific register command. +TYPES are the types of register supported. +MSG is the minibuffer message to send when a register is selected. +ACT is the type of action the command is doing on register. +SMATCH accept a boolean value to say if command accept non matching regist= er." + types msg act smatch) + +(cl-defgeneric register-command-info (command) + "Returns a `register-preview-info' object storing data for COMMAND." + (ignore command)) +(cl-defmethod register-command-info ((_command (eql insert-register))) + (make-register-preview-info + :types '(string number) + :msg "Insert register `%s'" + :act 'insert + :smatch t)) +(cl-defmethod register-command-info ((_command (eql jump-to-register))) + (make-register-preview-info + :types '(window frame marker kmacro + file buffer file-query) + :msg "Jump to register `%s'" + :act 'jump + :smatch t)) +(cl-defmethod register-command-info ((_command (eql view-register))) + (make-register-preview-info + :types '(all) + :msg "View register `%s'" + :act 'view + :smatch t)) +(cl-defmethod register-command-info ((_command (eql append-to-register))) + (make-register-preview-info + :types '(string number) + :msg "Append to register `%s'" + :act 'modify + :smatch t)) +(cl-defmethod register-command-info ((_command (eql prepend-to-register))) + (make-register-preview-info + :types '(string number) + :msg "Prepend to register `%s'" + :act 'modify + :smatch t)) +(cl-defmethod register-command-info ((_command (eql increment-register))) + (make-register-preview-info + :types '(string number) + :msg "Increment register `%s'" + :act 'modify + :smatch t)) + +(defun register-preview-forward-line (arg) + "Move to next or previous line in register preview buffer. +If ARG is positive goto next line, if negative to previous. +Do nothing when defining or executing kmacros." + ;; Ensure user enter manually key in minibuffer when recording a macro. + (unless (or defining-kbd-macro executing-kbd-macro + (not (get-buffer-window "*Register Preview*" 'visible))) + (let ((fn (if (> arg 0) #'eobp #'bobp)) + (posfn (if (> arg 0) + #'point-min + (lambda () (1- (point-max))))) + str) + (with-current-buffer "*Register Preview*" + (let ((ovs (overlays-in (point-min) (point-max))) + pos) + (goto-char (if ovs + (overlay-start (car ovs)) + (point-min))) + (setq pos (point)) + (and ovs (forward-line arg)) + (when (and (funcall fn) + (or (> arg 0) (eql pos (point)))) + (goto-char (funcall posfn))) + (setq str (buffer-substring-no-properties + (pos-bol) (1+ (pos-bol)))) + (remove-overlays) + (with-selected-window (minibuffer-window) + (delete-minibuffer-contents) + (insert str))))))) + +(defun register-preview-next () + "Goto next line in register preview buffer." + (interactive) + (register-preview-forward-line 1)) + +(defun register-preview-previous () + "Goto previous line in register preview buffer." + (interactive) + (register-preview-forward-line -1)) + +(defun register-type (register) + "Return REGISTER type. +Current register types actually returned are one of: +- string +- number +- marker +- buffer +- file +- file-query +- window +- frame +- kmacro + +One can add new types to a specific command by defining a new `cl-defmetho= d' +matching this command. Predicate for type in new `cl-defmethod' should +satisfy `cl-typep' otherwise the new type should be defined with +`cl-deftype'." + ;; Call register--type against the register value. + (register--type (if (consp (cdr register)) + (cadr register) + (cdr register)))) + +(cl-defgeneric register--type (regval) + "Returns type of register value REGVAL." + (ignore regval)) + +(cl-defmethod register--type ((_regval string)) 'string) +(cl-defmethod register--type ((_regval number)) 'number) +(cl-defmethod register--type ((_regval marker)) 'marker) +(cl-defmethod register--type ((_regval (eql 'buffer))) 'buffer) +(cl-defmethod register--type ((_regval (eql 'file))) 'file) +(cl-defmethod register--type ((_regval (eql 'file-query))) 'file-query) +(cl-defmethod register--type ((_regval window-configuration)) 'window) +(cl-deftype frame-register () '(satisfies frameset-register-p)) +(cl-defmethod register--type :extra "frame-register" (_regval) 'frame) +(cl-deftype kmacro-register () '(satisfies kmacro-register-p)) +(cl-defmethod register--type :extra "kmacro-register" (_regval) 'kmacro) + +(defun register-of-type-alist (types) + "Filter `register-alist' according to TYPES." + (if (memq 'all types) + register-alist + (cl-loop for register in register-alist + when (memq (register-type register) types) + collect register))) + +(defun register-preview (buffer &optional show-empty types) "Pop up a window showing the registers preview in BUFFER. If SHOW-EMPTY is non-nil, show the window even if no registers. +Argument TYPES (a list) specify the types of register to show, when nil sh= ow all +registers, see `register-type' for suitable types. Format of each entry is controlled by the variable `register-preview-funct= ion'." =2D (when (or show-empty (consp register-alist)) =2D (with-current-buffer-window =2D buffer =2D (cons 'display-buffer-below-selected =2D '((window-height . fit-window-to-buffer) =2D (preserve-size . (nil . t)))) =2D nil =2D (with-current-buffer standard-output =2D (setq cursor-in-non-selected-windows nil) =2D (mapc (lambda (elem) =2D (when (get-register (car elem)) =2D (insert (funcall register-preview-function elem)))) =2D register-alist))))) + (let ((registers (register-of-type-alist (or types '(all))))) + (when (or show-empty (consp registers)) + (with-current-buffer-window + buffer + (cons 'display-buffer-below-selected + '((window-height . fit-window-to-buffer) + (preserve-size . (nil . t)))) + nil + (with-current-buffer standard-output + (setq cursor-in-non-selected-windows nil) + (mapc (lambda (elem) + (when (get-register (car elem)) + (insert (funcall register-preview-function elem)))) + registers)))))) + +(cl-defgeneric register-preview-get-defaults (action) + "Returns default registers according to ACTION." + (ignore action)) +(cl-defmethod register-preview-get-defaults ((_action (eql set))) + (cl-loop for s in register-preview-default-keys + unless (assoc (string-to-char s) register-alist) + collect s)) =20 (defun register-read-with-preview (prompt) "Read and return a register name, possibly showing existing registers. =2DPrompt with the string PROMPT. If `register-alist' and =2D`register-preview-delay' are both non-nil, display a window =2Dlisting existing registers after `register-preview-delay' seconds. +Prompt with the string PROMPT. If `help-char' (or a member of `help-event-list') is pressed, display such a window regardless." (let* ((buffer "*Register Preview*") =2D (timer (when (numberp register-preview-delay) =2D (run-with-timer register-preview-delay nil =2D (lambda () =2D (unless (get-buffer-window buffer) =2D (register-preview buffer)))))) =2D (help-chars (cl-loop for c in (cons help-char help-event-list) =2D when (not (get-register c)) =2D collect c))) + (pat "") + (map (let ((m (make-sparse-keymap))) + (set-keymap-parent m minibuffer-local-map) + m)) + (data (register-command-info this-command)) + types msg result timer act win strs smatch) + (if data + (setq types (register-preview-info-types data) + msg (register-preview-info-msg data) + act (register-preview-info-act data) + smatch (register-preview-info-smatch data)) + (setq types '(all) + msg "Overwrite register `%s'" + act 'set)) + (setq strs (mapcar (lambda (x) + (string (car x))) + (register-of-type-alist types))) + (when (and (memq act '(insert jump view)) (null strs)) + (error "No register suitable for `%s'" act)) + (dolist (k (cons help-char help-event-list)) + (define-key map + (vector k) (lambda () + (interactive) + (unless (get-buffer-window buffer) + (with-selected-window (minibuffer-selected-window) + (register-preview buffer 'show-empty types)))))) + (define-key map (kbd "") 'register-preview-next) + (define-key map (kbd "") 'register-preview-previous) + (define-key map (kbd "C-n") 'register-preview-next) + (define-key map (kbd "C-p") 'register-preview-previous) + (unless (or executing-kbd-macro (null register-use-preview)) + (register-preview buffer nil types)) (unwind-protect =2D (progn =2D (while (memq (read-key (propertize prompt 'face 'minibuffer-prompt)) =2D help-chars) =2D (unless (get-buffer-window buffer) =2D (register-preview buffer 'show-empty))) =2D (when (or (eq ?\C-g last-input-event) =2D (eq 'escape last-input-event) =2D (eq ?\C-\[ last-input-event)) =2D (keyboard-quit)) =2D (if (characterp last-input-event) last-input-event =2D (error "Non-character input-event"))) =2D (and (timerp timer) (cancel-timer timer)) + (progn + (minibuffer-with-setup-hook + (lambda () + (setq timer + (run-with-idle-timer + 0.01 'repeat + (lambda () + (with-selected-window (minibuffer-window) + (let ((input (minibuffer-contents))) + (when (> (length input) 1) + (let ((new (substring input 1)) + (old (substring input 0 1))) + (setq input (if (or (null smatch) + (member new strs)) + new old)) + (delete-minibuffer-contents) + (insert input))) + (when (and smatch (not (string=3D input "")) + (not (member input strs))) + (setq input "") + (delete-minibuffer-contents) + (minibuffer-message "Not matching")) + (when (not (string=3D input pat)) + (setq pat input)))) + (if (setq win (get-buffer-window buffer)) + (with-selected-window win + (let ((ov (make-overlay (point-min) (point= -min)))) + (goto-char (point-min)) + (remove-overlays) + (unless (string=3D pat "") + (if (re-search-forward (concat "^" pat= ) nil t) + (progn (move-overlay + ov + (match-beginning 0) (pos-e= ol)) + (overlay-put ov 'face 'matc= h) + (when msg + (with-selected-window (mi= nibuffer-window) + (minibuffer-message msg= pat)))) + (with-selected-window (minibuffer-wi= ndow) + (minibuffer-message + "Register `%s' is empty" pat)))))) + (unless (string=3D pat "") + (if (member pat strs) + (with-selected-window (minibuffer-window) + (minibuffer-message msg pat)) + (with-selected-window (minibuffer-window) + (minibuffer-message + "Register `%s' is empty" pat))))))))) + (setq result (read-from-minibuffer + prompt nil map nil nil (register-preview-get-de= faults act)))) + (cl-assert (and result (not (string=3D result ""))) + nil "No register specified") + (string-to-char result)) + (when timer (cancel-timer timer)) (let ((w (get-buffer-window buffer))) (and (window-live-p w) (delete-window w))) (and (get-buffer buffer) (kill-buffer buffer))))) =2D-=20 2.34.1 --=-=-=-- --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmViY7cTHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvkyYKC/9RXiecwTB6vgNE/dlSve2M8NZyTsQ+ QspssF+GAtIZng1uqBtrTkEOP866cFE3OFUvn/FOd6b3J7+/eVRBPmH2+zVu8uNO c0uEwzP1eho/THvIL5UEnmdrOdcxi48oeTb4ACtIgmPjwtlFQMMPpBwNR6rLkB4Y fddk2vbZd6N1R16+nEmKM4B+9CsQf2HgRo5OTbPEKo5iQsss0zzubbauQKCdI+tB 7gQ/eAmUf1LZMuO9hvFUkFwXw75gRvcOpzE5aX3j4fMDNI/iRs6/NaG0+dNzmzJY gzhodHdkc/G+tvxCvHNjwTYuaOMLITVwWl+m4G4Yp/D614yvcvbWMAw60Wp9seM1 qbOb1ELbaBo4+O7E/NnjiDtLMpGDi7GoOlxbzwPfbyd+1VVKfXEPzcMZiBPYCn9M LgZaS47Mw+OE0LDRx8zjrsX8t5AcmpjjmbKrPVBRN1XkszQbfcYSuZoZt2K02Ryf r1r6QuDrzkwvu3bN5V7MN9DlPERyPUnSMDA= =lTkc -----END PGP SIGNATURE----- --==-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 25 Nov 2023 21:39:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: Thierry Volpiatto , michael_heerdegen@web.de, stefankangas@gmail.com, 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170094833418157 (code B ref 66394); Sat, 25 Nov 2023 21:39:01 +0000 Received: (at 66394) by debbugs.gnu.org; 25 Nov 2023 21:38:54 +0000 Received: from localhost ([127.0.0.1]:40399 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r70MY-0004im-4a for submit@debbugs.gnu.org; Sat, 25 Nov 2023 16:38:54 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:20594) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r70MW-0004iU-1T for 66394@debbugs.gnu.org; Sat, 25 Nov 2023 16:38:52 -0500 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id D3E258044C; Sat, 25 Nov 2023 16:38:40 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1700948315; bh=98aB3axXC25kohRW+FpBDECEO48xUMYS/CUT9mH1UYU=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=db3FvrfqmLgSIYp/eIdk7GfmVbV/0DTH+XEP6SBACK08r62eG/Ne0qKdgjlWZ2sjq JfnhYX6C85BEoUXvJshJeU6rnlvHWG3v+8mfLBBXXXlUJG/0zhmf7/hTrro6jWKR45 q3PUgNSR2J78IF1KWT/OEN1CnYXXYJfevdMmFvK/iTNzS4m9VkCQqIVZWJoZbJl1sZ aE0Wlip8qxGoyEufAiUD1WZ9II4QSTLLnyjpMWukVw3mHcbe+3uGEHZb2gGYPGzdKg Le5gbFFyPRfihBgLr6+LRiMo3432OGjdoLNnPLptLTkEeChYWy/pHeyduBnumPKjQm 6z+ZAaIAJdRcg== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id DF8C280506; Sat, 25 Nov 2023 16:38:35 -0500 (EST) Received: from pastel (unknown [45.72.227.120]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id A7C671202E6; Sat, 25 Nov 2023 16:38:35 -0500 (EST) From: Stefan Monnier In-Reply-To: <83il5pbnmh.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 25 Nov 2023 22:10:14 +0200") Message-ID: References: <87il7ib6cu.fsf@posteo.net> <875y3386ep.fsf@posteo.net> <87a5sddh14.fsf@web.de> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> <87ttqgpjiz.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> Date: Sat, 25 Nov 2023 16:38:34 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL 0.026 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) >> > In toplevel form: >> > register.el:33:37: Warning: `eql' called with 1 argument, but requires 2 >> > register.el:33:45: Warning: reference to free variable `integer' >> I have not these warnings. > Strange. Maybe Stefan can explain how could that happen. It's because of: (cl--generic-prefill-dispatchers 0 (eql 'x) integer) This needs to be in `cl-generic.el` because that's where the `cl--generic-prefill-dispatchers` macro is defined. Thierry had it in `register.el` which worked OK when `register.el` gets compiled with the bootstrap Emacs where `cl-generic` has not yet been compiled but it fails when compiled with an Emacs where `cl-generic` has been compiled because in that case the macro is not defined so the compiler compiles the above line as a function call, resulting in the above two warnings. Stefan From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 26 Nov 2023 10:39:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: michael_heerdegen@web.de, 66394@debbugs.gnu.org, monnier@iro.umontreal.ca, stefankangas@gmail.com Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170099513627621 (code B ref 66394); Sun, 26 Nov 2023 10:39:02 +0000 Received: (at 66394) by debbugs.gnu.org; 26 Nov 2023 10:38:56 +0000 Received: from localhost ([127.0.0.1]:40758 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r7CXQ-0007BR-AG for submit@debbugs.gnu.org; Sun, 26 Nov 2023 05:38:56 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:60766) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r7CXO-0007BB-FR for 66394@debbugs.gnu.org; Sun, 26 Nov 2023 05:38:55 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r7CXD-00061b-Hj; Sun, 26 Nov 2023 05:38:43 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=Wy98NnK6DPPnXSR+RZbz/0ptLFhOARB3IKb5Vmppnew=; b=Mm2OBJ2E+2LB xyREPahuUSnMtinTo9eCFl3hEAtXrOlcSec0na0rv2PbqT/Kt+EdfxADk6B+ZPKhFclilHKpXFPtM 7vkd3iDrFnq2J8/Zp0UCZXSyX1/cK6lZe5KjAT8kP/ydoXzcjMwkSk7/M4zlgEBeyAEar7ak2Fge5 LSlB9jWfejnvR0Y7YQZOSRiea/GZFiUmIcK9Ist1asitKSNIvLF6+ec/YAlY72Rd18X7vJh8bM6DL EEgo0YVUsFkpl8I0UXduyiZPeO6xw5u3Y3C2ruvWWhXMoIlZ6RBmTIl0vPrE4K5vj1Gr8LgZAnb7h 9Eyy9Gf35HbWzVcZ0Kru8Q==; Date: Sun, 26 Nov 2023 12:38:25 +0200 Message-Id: <837cm4bxzy.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <87zfz1cz7s.fsf@posteo.net> (message from Thierry Volpiatto on Sat, 25 Nov 2023 21:14:31 +0000) References: <87il7ib6cu.fsf@posteo.net> <875y3386ep.fsf@posteo.net> <87a5sddh14.fsf@web.de> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> <87ttqgpjiz.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Thierry Volpiatto > Cc: monnier@iro.umontreal.ca, michael_heerdegen@web.de, > stefankangas@gmail.com, 66394@debbugs.gnu.org > Date: Sat, 25 Nov 2023 21:14:31 +0000 > > Here a patch with the change suggested by Stefan applied, slighly > modified though because it fails if I put the call to > cl--generic-prefill-dispatchers at the recommended place. > > I recompiled Emacs with this patch with no errors. Thanks. Stefan, any further comments, or should I install this as submitted? From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 26 Nov 2023 16:47:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: michael_heerdegen@web.de, 66394@debbugs.gnu.org, monnier@iro.umontreal.ca, stefankangas@gmail.com Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170101718917760 (code B ref 66394); Sun, 26 Nov 2023 16:47:02 +0000 Received: (at 66394) by debbugs.gnu.org; 26 Nov 2023 16:46:29 +0000 Received: from localhost ([127.0.0.1]:42621 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r7IH6-0004cO-Rs for submit@debbugs.gnu.org; Sun, 26 Nov 2023 11:46:29 -0500 Received: from mout02.posteo.de ([185.67.36.66]:56511) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r7IH4-0004c3-4O for 66394@debbugs.gnu.org; Sun, 26 Nov 2023 11:46:27 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id AF5EB240101 for <66394@debbugs.gnu.org>; Sun, 26 Nov 2023 17:46:14 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1701017174; bh=KZzmFK1P6jnMX1i2cVSmFtyS1zIAGBtLgkqv0sXzuK0=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=QfoG3/6TI2tNElqzX8kRW3tNt47mFjjRQjITgrctWHndGL/6apGJXsdA/OEMwzENp bVEdzAQ1act4WQmGfywtQMwX1pu9XKuWf5mYZgPSXc6Rht4lIH+4P0hKPna3qgvarA 1fq32b9Qx4TPYzk5x+dI2bRK1+N4KL/aCUHg0/HQnqTRm68imQfo+lBnQq8tc6lf96 1XHwHoZJ1O1Rsge1whXa6d5wu9irI4QIic/8H+Z5W+e1TS8+gOMA9eQ2pTApjd3PzA oWKCpBe+j81wVdEdZD4Ne+dm4s2A9W8eU0cK+gJR/RXi9bGeYDtSOfPKHh5+TWjv+c KY7azQSxpxKcA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4SdZNh6Zflz6tvm; Sun, 26 Nov 2023 17:46:12 +0100 (CET) From: Thierry Volpiatto In-Reply-To: <837cm4bxzy.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 26 Nov 2023 12:38:25 +0200 (6 hours, 3 minutes, 53 seconds ago)") References: <87il7ib6cu.fsf@posteo.net> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> <87ttqgpjiz.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <837cm4bxzy.fsf@gnu.org> Date: Sun, 26 Nov 2023 16:46:06 +0000 Message-ID: <87sf4so435.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Eli Zaretskii writes: >> From: Thierry Volpiatto >> Cc: monnier@iro.umontreal.ca, michael_heerdegen@web.de, >> stefankangas@gmail.com, 66394@debbugs.gnu.org >> Date: Sat, 25 Nov 2023 21:14:31 +0000 >>=20 >> Here a patch with the change suggested by Stefan applied, slighly >> modified though because it fails if I put the call to >> cl--generic-prefill-dispatchers at the recommended place. >>=20 >> I recompiled Emacs with this patch with no errors. > > Thanks. > > Stefan, any further comments, or should I install this as submitted? Do you want the ability to jump to more than one line at the time before merging, (e.g. C-u 3 C-n and C-u 3 C-p) or is it ok like this for you? diff --git a/lisp/register.el b/lisp/register.el index 61bef503f91..bca967a4efe 100644 =2D-- a/lisp/register.el +++ b/lisp/register.el @@ -207,7 +207,7 @@ Do nothing when defining or executing kmacros." (overlay-start (car ovs)) (point-min))) (setq pos (point)) =2D (and ovs (forward-line arg)) + (forward-line (if ovs arg (1- arg))) (when (and (funcall fn) (or (> arg 0) (eql pos (point)))) (goto-char (funcall posfn))) @@ -218,15 +218,15 @@ Do nothing when defining or executing kmacros." (delete-minibuffer-contents) (insert str))))))) =20 =2D(defun register-preview-next () +(defun register-preview-next (&optional arg) "Goto next line in register preview buffer." =2D (interactive) =2D (register-preview-forward-line 1)) + (interactive "p") + (register-preview-forward-line arg)) =20 =2D(defun register-preview-previous () +(defun register-preview-previous (&optional arg) "Goto previous line in register preview buffer." =2D (interactive) =2D (register-preview-forward-line -1)) + (interactive "p") + (register-preview-forward-line (- arg))) =20 (defun register-type (register) "Return REGISTER type. =20 =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmVjdk8THHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvkzAhC/9wa8vIr+9Xy0yZBEsGiHc1l43gwBYt 6eQs3HtKlQc9/wpu3RdVnE7wMuTko/Y/dKDG8mi7PncTmPWpIQuq+89FXfWMOceJ 4NgYCNBBkWoKg5xzMCEis9W0I9ogQpIKEj3TLdwwjBWPMyS+etjCIc7dNPdgmorM HJfKrl4pokY4RseSJSAo+Iijjx1wlAGLeb1Cwpn0D5Hmr2YgfpltrFCjB0sIRX1y Pp1puPMUj4Ik8Yys0rVUNjaDC1k3jRAmIPjpdyzd3ZLy9lEfniuaAFjipfBI+J2X WcZiQ3wdJPmWrvqJ4L1G9lIPyhd+DwYPM72XYez9b1C7pmbDBZFeMkK+flPf6nKP y1NbcU6aChYuI9diSFDFa0DjL1Go2XGj/JYIeJF3NQhBFeKPhjKrC6bgbso3zEz2 oY+Bhc6HaPlNT6drNiFPckAhKABAAPfN72HLbC0cvXzj6S3S8ryT2K+asmBViOGu UW0tWorHBjMjOblFoTHRPV/DVQd8MvtI7G0= =9J8d -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 29 Nov 2023 14:05:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: michael_heerdegen@web.de, 66394@debbugs.gnu.org, monnier@iro.umontreal.ca, stefankangas@gmail.com Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.17012666727512 (code B ref 66394); Wed, 29 Nov 2023 14:05:02 +0000 Received: (at 66394) by debbugs.gnu.org; 29 Nov 2023 14:04:32 +0000 Received: from localhost ([127.0.0.1]:49184 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r8LB2-0001x5-1W for submit@debbugs.gnu.org; Wed, 29 Nov 2023 09:04:32 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:45054) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r8LAz-0001wr-R1 for 66394@debbugs.gnu.org; Wed, 29 Nov 2023 09:04:30 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r8LAl-0004xC-IK; Wed, 29 Nov 2023 09:04:16 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=3J1hmpHd5QrhsU4i/vFN5W3geexSfylUTWLdzRzbtm0=; b=iPEcyBriXFCSa2hdCKIg 3EibI+dtLkHUBPQghgeqSDOactcDwJdb+mogIyQaZwcbUINKF+iS4A91dCdLe2Z+pCpWbFBxw8ox5 TYsSeAoqA8J86wKg5CfZaMGEk1et6acx3C4MhVOAlVe5kg6aTWDSn9AcBG0pg3I+n+CGJ8ivzfjTa JXhvqidaBkItUH/2tR1qM7h2oZbPZJf9ffiDnU8p2q96DkWHVC8XanjXG+GNdLRuTxqkjxVbQ3QrP lm74MhxM03FQ4pf7QMlCj89mFPqLcj12g/5R6hI0qBQal6bfENhB9pDl47ikfGlUnG7j+D9eon0H7 9CCc4mzrs4Jz6w==; Date: Wed, 29 Nov 2023 16:04:03 +0200 Message-Id: <83bkbc7j1o.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <87zfz1cz7s.fsf@posteo.net> (message from Thierry Volpiatto on Sat, 25 Nov 2023 21:14:31 +0000) References: <87il7ib6cu.fsf@posteo.net> <875y3386ep.fsf@posteo.net> <87a5sddh14.fsf@web.de> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> <87ttqgpjiz.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Thierry Volpiatto > Cc: monnier@iro.umontreal.ca, michael_heerdegen@web.de, > stefankangas@gmail.com, 66394@debbugs.gnu.org > Date: Sat, 25 Nov 2023 21:14:31 +0000 > > Here a patch with the change suggested by Stefan applied, slighly > modified though because it fails if I put the call to > cl--generic-prefill-dispatchers at the recommended place. > > I recompiled Emacs with this patch with no errors. Thanks, installed on master. After this, a test in register-tests.el fails: Running 1 tests (2023-11-29 09:01:59-0500, selector ‘(not (or (tag :unstable) (tag :nativecomp)))’) Point to register: a Test register-test-bug27634 backtrace: signal(ert-test-failed (((should (equal 'quit (condition-case err (c ert-fail(((should (equal 'quit (condition-case err (call-interactive (if (unwind-protect (setq value-2 (apply fn-0 args-1)) (setq form-de (let (form-description-4) (if (unwind-protect (setq value-2 (apply f (let ((value-2 'ert-form-evaluation-aborted-3)) (let (form-descripti (let* ((fn-0 #'equal) (args-1 (condition-case err (let ((signal-hook (progn (fset 'read-key #'ignore) (let* ((fn-0 #'equal) (args-1 (cond (unwind-protect (progn (fset 'read-key #'ignore) (let* ((fn-0 #'equa (let* ((vnew event) (old (symbol-function 'read-key)) (register-alis (let ((event (car tail))) (let* ((vnew event) (old (symbol-function (while tail (let ((event (car tail))) (let* ((vnew event) (old (symb (let ((tail (list 7 'escape 27))) (while tail (let ((event (car tail (closure (t) nil (let ((tail (list 7 'escape 27))) (while tail (let ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test ert-run-test(#s(ert-test :name register-test-bug27634 :documentation ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m ert-run-tests((not (or (tag :unstable) (tag :nativecomp))) #f(compil ert-run-tests-batch((not (or (tag :unstable) (tag :nativecomp)))) ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativeco eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :n command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/register-tests.el" " command-line() normal-top-level() Test register-test-bug27634 condition: (ert-test-failed ((should (equal 'quit (condition-case err ... ...))) :form (equal quit #) :value nil :explanation (different-types quit #))) FAILED 1/1 register-test-bug27634 (1.758961 sec) at lisp/register-tests.el:30 The response "a" to the "Point to register:" question is something I needed to type; previously the test never asked any questions (and it shouldn't, AFAIU). Could you please see if the test suite needs some adaptations to these changes? From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 29 Nov 2023 18:20:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: michael_heerdegen@web.de, 66394@debbugs.gnu.org, monnier@iro.umontreal.ca, stefankangas@gmail.com Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170128194913425 (code B ref 66394); Wed, 29 Nov 2023 18:20:02 +0000 Received: (at 66394) by debbugs.gnu.org; 29 Nov 2023 18:19:09 +0000 Received: from localhost ([127.0.0.1]:51095 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r8P9Q-0003UT-TR for submit@debbugs.gnu.org; Wed, 29 Nov 2023 13:19:09 -0500 Received: from mout02.posteo.de ([185.67.36.66]:56285) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r8P9O-0003Tz-DB for 66394@debbugs.gnu.org; Wed, 29 Nov 2023 13:19:07 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 24A04240103 for <66394@debbugs.gnu.org>; Wed, 29 Nov 2023 19:18:53 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1701281933; bh=sb9lm94GFg5U6Jr66H2LHfhpV/Ayr9fT8dzL7dtSIOw=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=XyHDcj+UJi4E5PK3Rv2ass0OpqcHsvi6c6eDFHZIlBfzuymwGVLL3UbMmx5eYYKWi aQy5MnHbLBQ0lFMY79nU36Vu6gRi6UrYH4lLKdN05z0UTWu4ER4rdYC7egJCg5D/gH 0RPg5ka6kZpTMvQXb90yH0Qre4H1QMaxxItOCpR9UD/BYeprbCySjUd9x5KaWhEx23 67sM0IhrpmmsXPbnt96ngIEt7fMCHPNdHWUzWzW6iOXHTcgLWN0ZvhdGOGRYZOthfe /2WP1m9B/aARnF4StbkCoy27oBo49F1FlSfMfIJXRfwNQtII8+BKQ8iG/OLn9mHK7b KJFmdKniB0hfg== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4SgSJ56CH9z6tsj; Wed, 29 Nov 2023 19:18:45 +0100 (CET) From: Thierry Volpiatto In-Reply-To: <83bkbc7j1o.fsf@gnu.org> (Eli Zaretskii's message of "Wed, 29 Nov 2023 16:04:03 +0200 (4 hours, 1 minute, 26 seconds ago)") References: <87il7ib6cu.fsf@posteo.net> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> <87ttqgpjiz.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> Date: Wed, 29 Nov 2023 18:18:40 +0000 Message-ID: <8734wov2wv.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Eli Zaretskii writes: >> From: Thierry Volpiatto >> Cc: monnier@iro.umontreal.ca, michael_heerdegen@web.de, >> stefankangas@gmail.com, 66394@debbugs.gnu.org >> Date: Sat, 25 Nov 2023 21:14:31 +0000 >>=20 >> Here a patch with the change suggested by Stefan applied, slighly >> modified though because it fails if I put the call to >> cl--generic-prefill-dispatchers at the recommended place. >>=20 >> I recompiled Emacs with this patch with no errors. > > Thanks, installed on master. Thanks. > The response "a" to the "Point to register:" question is something I > needed to type; Of course we are using now read-from-minibuffer and the test is related to read-key not quitting with C-g > previously the test never asked any questions (and it shouldn't, > AFAIU). Yes, it shouldn't, but now we are using a real minibuffer, is this test really needed? It is like if you had to make tests in all functions using read-from-minibuffer to check if it quit properly with C-g (it does of cour= se). > Could you please see if the test suite needs some adaptations to these > changes? If you really need this test, it needs a complete rewrite. ALSO: I intentionally leave register-preview-delay defcustom with a FIXME comment, do you want to remove it? It is not used anymore now AFAIK. Thanks. =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmVngIATHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvk/pwC/9TNXjnt45y2PkCZMvmj5zIFTYflGrZ xMiOdlCak2jDxMkERRwzAOByNwAu0bsD/3cLJpgOJsAKOg/nqmvWhWIyA4363wbq Wrax5Pyhk2UfsCFGh5Ti5nEhyfUj7sEPrPNu5Aw7uMFsZxeHie7oD6/ATT/WR7ir s5jHhfiVANrIrQAMJ7K7bEACOrjQ//liQXOfMORAuINGP7+f+IfqQ9pYyrZho/A9 HcWn7a3cPkIBPJ+VxXxcQ9llczfJDWNU+cbZala9CHO2TAzFHlMM55OsHIFHArM1 uwagwqwQ5vz1Ku/Q3kynZJdCyx2m0AgJWWTF+vzVMEDnzFjI4phGwJPE7WBBDuT0 OJQ/Wc25zqIBKa3bk7aXONqVfqbxA/pJhy8udD4tBjIspJv2Okpchpz4f2j7sSJK 6vbUcAJ00iV0uj4sMURr3l2mR4D+WTN2sHbWtgdMDXpjEduCiC7f3BRzx3kJxHXV X16FCWvH5Y/35m0WwY+RMF2ZtZAGyEZ11cY= =sxPD -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 30 Nov 2023 06:01:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: michael_heerdegen@web.de, 66394@debbugs.gnu.org, monnier@iro.umontreal.ca, stefankangas@gmail.com Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170132405415523 (code B ref 66394); Thu, 30 Nov 2023 06:01:01 +0000 Received: (at 66394) by debbugs.gnu.org; 30 Nov 2023 06:00:54 +0000 Received: from localhost ([127.0.0.1]:51997 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r8a6Y-00042J-6Y for submit@debbugs.gnu.org; Thu, 30 Nov 2023 01:00:54 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:40700) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r8a6W-00041w-Bb for 66394@debbugs.gnu.org; Thu, 30 Nov 2023 01:00:53 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r8a6I-0004X6-Cx; Thu, 30 Nov 2023 01:00:38 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=sdImzQRiyZK8fUQ1Il4dFvQF/ILFQXpf9iNd6Vm4a7o=; b=QJVw0s1JG9Ka jXsu+F0sO4JbpddfekBKt8Gl94aYrjlHUk3M2XXvD/XYXDTW3ocjWguVLlsy5GFvEFOuhjUTI2Hrz nPZr4OsKcAs20Q2B35LCUj5MBlrZXlIM5Il0sjSu/geKeredmzXoQjfUS+oMhfm4dwqOYFdHeiNT0 yxyG6rzFUSdc8qwQs4UiiQScwUK99wxbHvIZj48LKwENE8eb9YQMqtW7bkiCJX6CBEC0SzIrLhwZz CtJFRelNtZRb65Or8Tuuh+VreWwCzn6onoVT5wG1C2eK6JS4FiTnn9laubQZ4f17uYKz3b2TniYuq kYAyWTeyLMDMjrsygrUl7g==; Date: Thu, 30 Nov 2023 08:00:20 +0200 Message-Id: <83v89j6arv.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <8734wov2wv.fsf@posteo.net> (message from Thierry Volpiatto on Wed, 29 Nov 2023 18:18:40 +0000) References: <87il7ib6cu.fsf@posteo.net> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> <87ttqgpjiz.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Thierry Volpiatto > Cc: monnier@iro.umontreal.ca, michael_heerdegen@web.de, > stefankangas@gmail.com, 66394@debbugs.gnu.org > Date: Wed, 29 Nov 2023 18:18:40 +0000 > > Eli Zaretskii writes: > > > The response "a" to the "Point to register:" question is something I > > needed to type; > > Of course we are using now read-from-minibuffer and the test is related > to read-key not quitting with C-g > > > previously the test never asked any questions (and it shouldn't, > > AFAIU). > > Yes, it shouldn't, but now we are using a real minibuffer, is this test > really needed? > It is like if you had to make tests in all functions using > read-from-minibuffer to check if it quit properly with C-g (it does of course). Can we have a similar issue with read-from-minibuffer? Not with C-g, but with some other invalid input, like some function key or non-ASCII character or invalid character codepoint? If this cannot happen, then perhaps the whole test file should be removed? Anyway, I trust you to do what is needed here, I just want the test suite to keep running successfully, and I don't have time to work on this myself. TIA. > ALSO: I intentionally leave register-preview-delay defcustom with a FIXME > comment, do you want to remove it? It is not used anymore now AFAIK. This should be declared obsolete, with an explanation that it is no longer used, and a note about that should be added to NEWS, in the incompatible changes section. Then we can remove the FIXME. Thanks. From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 30 Nov 2023 10:23:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: michael_heerdegen@web.de, 66394@debbugs.gnu.org, monnier@iro.umontreal.ca, stefankangas@gmail.com Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170133972513127 (code B ref 66394); Thu, 30 Nov 2023 10:23:01 +0000 Received: (at 66394) by debbugs.gnu.org; 30 Nov 2023 10:22:05 +0000 Received: from localhost ([127.0.0.1]:52349 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r8eBH-0003Pb-Vq for submit@debbugs.gnu.org; Thu, 30 Nov 2023 05:22:05 -0500 Received: from mout01.posteo.de ([185.67.36.65]:37507) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r8eBC-0003P0-Hj for 66394@debbugs.gnu.org; Thu, 30 Nov 2023 05:22:02 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id D52DB240028 for <66394@debbugs.gnu.org>; Thu, 30 Nov 2023 11:21:44 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1701339704; bh=UyVED6QNug79f3UmM3vIy+7J8Y5wcpESk6lBTuEpGfU=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=H8S5g3l7yXGwABCYh9cEfCMHpldXjTHrrcET/JOzaRtsvapu2S2mrj/U/e1CWxKrQ 5B/JCeWxSFHaNDgdqslpItmP0CJUD4z01LprbQ6d5f1dUDn/0YCQxCI64tcYDxvAwW 9zu1/yqiva7JAbWXhfj5LQ5tcj0cAoboRYzdQFn4b7kZ7JvjeJ0mVLjHaDMaVN+xYD 0fap2mmATOWpgpHggpv1dCh7gG35BVn8wExVU6uOtCgnrGxuQ9GUyyVEH+CfRQm0XK vD+djOZtInDQKWa4h1sPSizP5JK+vZxpJxaiRKBEQqDZLdMHFf076XjaUCbh61DRMz NxLd47xHUaPdg== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4SgsgB51Ghz6tvk; Thu, 30 Nov 2023 11:21:42 +0100 (CET) From: Thierry Volpiatto In-Reply-To: <83v89j6arv.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 30 Nov 2023 08:00:20 +0200 (3 hours, 56 minutes, 56 seconds ago)") References: <87il7ib6cu.fsf@posteo.net> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> <87ttqgpjiz.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> Date: Thu, 30 Nov 2023 10:21:39 +0000 Message-ID: <87sf4nv8wc.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Eli Zaretskii writes: >> From: Thierry Volpiatto >> Cc: monnier@iro.umontreal.ca, michael_heerdegen@web.de, >> stefankangas@gmail.com, 66394@debbugs.gnu.org >> Date: Wed, 29 Nov 2023 18:18:40 +0000 >>=20 >> Eli Zaretskii writes: >>=20 >> > The response "a" to the "Point to register:" question is something I >> > needed to type; >>=20 >> Of course we are using now read-from-minibuffer and the test is related >> to read-key not quitting with C-g >>=20 >> > previously the test never asked any questions (and it shouldn't, >> > AFAIU). >>=20 >> Yes, it shouldn't, but now we are using a real minibuffer, is this test >> really needed? >> It is like if you had to make tests in all functions using >> read-from-minibuffer to check if it quit properly with C-g (it does of c= ourse). > > Can we have a similar issue with read-from-minibuffer? Not with C-g, > but with some other invalid input, like some function key or non-ASCII > character or invalid character codepoint? No, because unlike read-key, read-from-minibuffer doesn't read these keys and exit immediately. For example we can now set a register to C-g by using "C-q C-g" but hitting directly C-g will quit minibuffer (as expected), BTW I have updated the manual, see the attached patchs. I have also fixed register-preview-default accordingly so that it print the register as a string but not a key representation e.g. "^X" instead of "C-x" (if one find this ugly we could use "C-x" as a display property of "^X"). > If this cannot happen, then perhaps the whole test file should be > removed? I think it can be removed, yes (done in patch below). > Anyway, I trust you to do what is needed here, I just want the test > suite to keep running successfully, and I don't have time to work on > this myself. TIA. Ok, can you review (and merge if ok) following patchs. >> ALSO: I intentionally leave register-preview-delay defcustom with a FIXME >> comment, do you want to remove it? It is not used anymore now AFAIK. > > This should be declared obsolete, with an explanation that it is no > longer used, and a note about that should be added to NEWS, in the > incompatible changes section. Then we can remove the FIXME. done. Thanks. =2D-=20 Thierry --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-Make-register-preview-delay-obsolete.patch Content-Transfer-Encoding: quoted-printable From=203df81fb5dc5809cab7843e5358c17d0039b55eb1 Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Thu, 30 Nov 2023 08:03:45 +0100 Subject: [PATCH 1/4] Make register-preview-delay obsolete * etc/NEWS: Update. * lisp/register.el (register-preview-delay): Make it obsolete. =2D-- etc/NEWS | 5 +++++ lisp/register.el | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/etc/NEWS b/etc/NEWS index 6661ac70e1b..bab3529339f 100644 =2D-- a/etc/NEWS +++ b/etc/NEWS @@ -1138,6 +1138,11 @@ showcases all their customization options. * Incompatible Lisp Changes in Emacs 30.1 =20 +--- +** 'register-preview-delay' is no longer used. +Register preview is no more delayed. If you want to disable it use +'register-use-preview' instead with a boolean value. + +++ ** 'M-TAB' now invokes 'completion-at-point' also in Text mode. Text mode no longer binds 'M-TAB' to 'ispell-complete-word', and diff --git a/lisp/register.el b/lisp/register.el index 61bef503f91..88d0e8e1d10 100644 =2D-- a/lisp/register.el +++ b/lisp/register.el @@ -93,7 +93,6 @@ of the marked text." :type '(choice (const :tag "None" nil) (character :tag "Use register" :value ?+))) =20 =2D;; FIXME: This is no more needed, remove it. (defcustom register-preview-delay 1 "If non-nil, time to wait in seconds before popping up register preview = window. If nil, do not show register previews, unless `help-char' (or a member of @@ -101,6 +100,7 @@ If nil, do not show register previews, unless `help-cha= r' (or a member of :version "24.4" :type '(choice number (const :tag "No preview unless requested" nil)) :group 'register) +(make-obsolete-variable 'register-preview-delay "No longer used." "30.1") =20 (defcustom register-preview-default-keys (mapcar #'string (number-sequence= ?a ?z)) "Default keys for setting a new register." =2D-=20 2.34.1 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0002-Fix-register-preview-default.patch Content-Transfer-Encoding: quoted-printable From=20bcf7bd8feb05914e6000b572c3e75664a9090c1a Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Thu, 30 Nov 2023 10:38:52 +0100 Subject: [PATCH 2/4] Fix register-preview-default We need to print the string representation (one char) of an eventual key description e.g. "^X" instead of "C-x". * lisp/register.el (register-preview-default): Use `string' to print regist= er. =2D-- lisp/register.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/register.el b/lisp/register.el index 88d0e8e1d10..9b457e716f2 100644 =2D-- a/lisp/register.el +++ b/lisp/register.el @@ -131,7 +131,7 @@ See the documentation of the variable `register-alist' = for possible VALUEs." (defun register-preview-default (r) "Function that is the default value of the variable `register-preview-fu= nction'." (format "%s: %s\n" =2D (single-key-description (car r)) + (string (car r)) (register-describe-oneline (car r)))) =20 (defvar register-preview-function #'register-preview-default =2D-=20 2.34.1 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0003-Update-register-manual.patch Content-Transfer-Encoding: quoted-printable From=2093c07593bac8d7f0428a92502ee5de8def128c5c Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Thu, 30 Nov 2023 10:53:46 +0100 Subject: [PATCH 3/4] Update register manual doc/emacs/regs.texi: Do it. =2D-- doc/emacs/regs.texi | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/doc/emacs/regs.texi b/doc/emacs/regs.texi index e52f68dd18e..5e5b7ae2b16 100644 =2D-- a/doc/emacs/regs.texi +++ b/doc/emacs/regs.texi @@ -16,9 +16,8 @@ jump back to that position once or many times. we will denote by @var{r}; @var{r} can be a letter (such as @samp{a}) or a number (such as @samp{1}); case matters, so register @samp{a} is not the same as register @samp{A}. You can also set a register in =2Dnon-alphanumeric characters, for instance @samp{*} or @samp{C-d}. =2DNote, it's not possible to set a register in @samp{C-g} or @samp{ESC}, =2Dbecause these keys are reserved for quitting (@pxref{Quitting}). +non-alphanumeric characters, for instance @samp{C-d} by using for +example @key{C-q} @samp{C-d}. =20 @findex view-register A register can store a position, a piece of text, a rectangle, a =2D-=20 2.34.1 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0004-Delete-register-tests.el-now-no-more-needed.patch Content-Transfer-Encoding: quoted-printable From=20d60e3b4969a420fe9ba66b5732f57243385e5e88 Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Thu, 30 Nov 2023 11:04:47 +0100 Subject: [PATCH 4/4] Delete register-tests.el now no more needed * register-tests.el: Deleted file. =2D-- test/lisp/register-tests.el | 43 ------------------------------------- 1 file changed, 43 deletions(-) delete mode 100644 test/lisp/register-tests.el diff --git a/test/lisp/register-tests.el b/test/lisp/register-tests.el deleted file mode 100644 index 6283d1c31e0..00000000000 =2D-- a/test/lisp/register-tests.el +++ /dev/null @@ -1,43 +0,0 @@ =2D;;; register-tests.el --- tests for register.el -*- lexical-binding: t-= *- =2D =2D;; Copyright (C) 2017-2023 Free Software Foundation, Inc. =2D =2D;; Author: Tino Calancha =2D;; Keywords: =2D =2D;; This file is part of GNU Emacs. =2D =2D;; GNU Emacs is free software: you can redistribute it and/or modify =2D;; it under the terms of the GNU General Public License as published by =2D;; the Free Software Foundation, either version 3 of the License, or =2D;; (at your option) any later version. =2D =2D;; GNU Emacs is distributed in the hope that it will be useful, =2D;; but WITHOUT ANY WARRANTY; without even the implied warranty of =2D;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the =2D;; GNU General Public License for more details. =2D =2D;; You should have received a copy of the GNU General Public License =2D;; along with GNU Emacs. If not, see . =2D =2D;;; Commentary: =2D =2D =2D;;; Code: =2D(require 'ert) =2D(require 'cl-lib) =2D =2D(ert-deftest register-test-bug27634 () =2D "Test for https://debbugs.gnu.org/27634 ." =2D (dolist (event (list ?\C-g 'escape ?\C-\[)) =2D (cl-letf (((symbol-function 'read-key) #'ignore) =2D (last-input-event event) =2D (register-alist nil)) =2D (should (equal 'quit =2D (condition-case err =2D (call-interactively 'point-to-register) =2D (quit (car err))))) =2D (should-not register-alist)))) =2D =2D(provide 'register-tests) =2D;;; register-tests.el ends here =2D-=20 2.34.1 --=-=-=-- --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmVoYjQTHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvkzXyC/kBEQlBq0ikuda24dpYAm3QNF018i4K DGKIAcwH7QGcJOyF4LrUH7wV2/qex9CaBjgKfwCKSzLebJ5rrlxeIZe2yPdGNafJ /R3KTVDsADLWuQbeVITKKReOxr8mGhRl+4wckch4BJFt25y9cfit2o8MxpLlAY1P Hhz6j06q/L9sDFgms77hiLNmMIghIWgVSxjvQ3UvxWRpgcR/h+gJcb+P10PaVncz efq3WO+cn2oYNM2QDeQFfxh8BSmnXnGip2/68AJ42TIJigpyXRJF87CFAimU90cP cO6OXtUvBucT+kMBpdJncEbi7b8w4g/XYSDWTed5I/okGTrIecYPN+MET2E+cBgA rNr7gPJ+BZ2YFh0/krtIAZ2ixbkqWK9sb/46Tul0HXfP6iXL1aH4gcAvgEJa16/N FOiI8gyEZjVXUcXle27LJ7ZrGj/OJnqcUIbAeEAMjTcwXdzq8N854z4crCvIbfaA kVZARCGPdhJIZ+dr7NQHymRiz/IV59wQMLM= =iUe8 -----END PGP SIGNATURE----- --==-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 02 Dec 2023 05:53:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: michael_heerdegen@web.de, 66394@debbugs.gnu.org, monnier@iro.umontreal.ca, stefankangas@gmail.com Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170149633317313 (code B ref 66394); Sat, 02 Dec 2023 05:53:02 +0000 Received: (at 66394) by debbugs.gnu.org; 2 Dec 2023 05:52:13 +0000 Received: from localhost ([127.0.0.1]:56517 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9IvE-0004VB-JM for submit@debbugs.gnu.org; Sat, 02 Dec 2023 00:52:13 -0500 Received: from mout01.posteo.de ([185.67.36.65]:57273) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9Iv9-0004Ub-8b for 66394@debbugs.gnu.org; Sat, 02 Dec 2023 00:52:11 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 2CE3E240027 for <66394@debbugs.gnu.org>; Sat, 2 Dec 2023 06:51:52 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1701496312; bh=Dgu3l8Oy4iQKqUIzwG7pUGwlmAoekqZog1e5BohZAm8=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=csLF9uOt3FHlAPXIm4m6W77rFxUdbtjur1KocTNp2PsK+ikfZ695kfiYt4YatkCTz ue/ndukTMNafPBdZkT1BmxkCzcMUQTsknlw9RUmMYUAiNUEIBPnYbonPA+TwVptzER 8TtzdUi6VaL7KQsJk+ytQnlIF5sg+8AyRNdRJ67DxKESnfPbgQDrtOuiDO6OV3rpdS CCIKDLQnHelCa58d193UsbsRqAcmR/Ubi/V1N6wlFkRoEzFui1M63Jd30zP90+cYAd Y0OECIpKPfBkJ7AmqVakNQjraSbEm22PA1HUtiPg1qvQNIPoZMcyKaGY6ziJf+7JcT 3s5B55LchapyA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4ShzZr4BVMz6twf; Sat, 2 Dec 2023 06:51:48 +0100 (CET) From: Thierry Volpiatto In-Reply-To: <83v89j6arv.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 30 Nov 2023 08:00:20 +0200 (1 day, 23 hours, 41 minutes ago)") References: <87il7ib6cu.fsf@posteo.net> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> <87ttqgpjiz.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> Date: Sat, 02 Dec 2023 05:51:45 +0000 Message-ID: <87cyvpf8y6.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Eli Zaretskii writes: > Anyway, I trust you to do what is needed here, I just want the test > suite to keep running successfully, and I don't have time to work on > this myself. TIA. Here again the patchs (0002 with a little modification). Let me know if I can commit them. Thanks. =2D-=20 Thierry --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-Make-register-preview-delay-obsolete.patch Content-Transfer-Encoding: quoted-printable From=203df81fb5dc5809cab7843e5358c17d0039b55eb1 Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Thu, 30 Nov 2023 08:03:45 +0100 Subject: [PATCH 1/4] Make register-preview-delay obsolete * etc/NEWS: Update. * lisp/register.el (register-preview-delay): Make it obsolete. =2D-- etc/NEWS | 5 +++++ lisp/register.el | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/etc/NEWS b/etc/NEWS index 6661ac70e1b..bab3529339f 100644 =2D-- a/etc/NEWS +++ b/etc/NEWS @@ -1138,6 +1138,11 @@ showcases all their customization options. * Incompatible Lisp Changes in Emacs 30.1 =20 +--- +** 'register-preview-delay' is no longer used. +Register preview is no more delayed. If you want to disable it use +'register-use-preview' instead with a boolean value. + +++ ** 'M-TAB' now invokes 'completion-at-point' also in Text mode. Text mode no longer binds 'M-TAB' to 'ispell-complete-word', and diff --git a/lisp/register.el b/lisp/register.el index 61bef503f91..88d0e8e1d10 100644 =2D-- a/lisp/register.el +++ b/lisp/register.el @@ -93,7 +93,6 @@ of the marked text." :type '(choice (const :tag "None" nil) (character :tag "Use register" :value ?+))) =20 =2D;; FIXME: This is no more needed, remove it. (defcustom register-preview-delay 1 "If non-nil, time to wait in seconds before popping up register preview = window. If nil, do not show register previews, unless `help-char' (or a member of @@ -101,6 +100,7 @@ If nil, do not show register previews, unless `help-cha= r' (or a member of :version "24.4" :type '(choice number (const :tag "No preview unless requested" nil)) :group 'register) +(make-obsolete-variable 'register-preview-delay "No longer used." "30.1") =20 (defcustom register-preview-default-keys (mapcar #'string (number-sequence= ?a ?z)) "Default keys for setting a new register." =2D-=20 2.34.1 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0002-Fix-register-preview-default.patch Content-Transfer-Encoding: quoted-printable From=200fa70dad21d3475d3a5dae54a09d8a9e60b668ae Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Thu, 30 Nov 2023 10:38:52 +0100 Subject: [PATCH 2/4] Fix register-preview-default We need to print the string representation (one char) of an eventual key description e.g. "^X" instead of "C-x". However the key description is still displayed in a display property. * lisp/register.el (register-preview-default): Use `string' to print regist= er. =2D-- lisp/register.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lisp/register.el b/lisp/register.el index 88d0e8e1d10..46ec38821e5 100644 =2D-- a/lisp/register.el +++ b/lisp/register.el @@ -131,7 +131,8 @@ See the documentation of the variable `register-alist' = for possible VALUEs." (defun register-preview-default (r) "Function that is the default value of the variable `register-preview-fu= nction'." (format "%s: %s\n" =2D (single-key-description (car r)) + (propertize (string (car r)) + 'display (single-key-description (car r))) (register-describe-oneline (car r)))) =20 (defvar register-preview-function #'register-preview-default =2D-=20 2.34.1 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0003-Update-register-manual.patch Content-Transfer-Encoding: quoted-printable From=20408126b6d56a0cc36f621348212e16d0715fd671 Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Thu, 30 Nov 2023 10:53:46 +0100 Subject: [PATCH 3/4] Update register manual doc/emacs/regs.texi: Do it. =2D-- doc/emacs/regs.texi | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/doc/emacs/regs.texi b/doc/emacs/regs.texi index e52f68dd18e..5e5b7ae2b16 100644 =2D-- a/doc/emacs/regs.texi +++ b/doc/emacs/regs.texi @@ -16,9 +16,8 @@ jump back to that position once or many times. we will denote by @var{r}; @var{r} can be a letter (such as @samp{a}) or a number (such as @samp{1}); case matters, so register @samp{a} is not the same as register @samp{A}. You can also set a register in =2Dnon-alphanumeric characters, for instance @samp{*} or @samp{C-d}. =2DNote, it's not possible to set a register in @samp{C-g} or @samp{ESC}, =2Dbecause these keys are reserved for quitting (@pxref{Quitting}). +non-alphanumeric characters, for instance @samp{C-d} by using for +example @key{C-q} @samp{C-d}. =20 @findex view-register A register can store a position, a piece of text, a rectangle, a =2D-=20 2.34.1 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0004-Delete-register-tests.el-now-no-more-needed.patch Content-Transfer-Encoding: quoted-printable From=20cd6e66f955d20d31686a617ed8a5cd043585c71f Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Thu, 30 Nov 2023 11:04:47 +0100 Subject: [PATCH 4/4] Delete register-tests.el now no more needed * register-tests.el: Deleted file. =2D-- test/lisp/register-tests.el | 43 ------------------------------------- 1 file changed, 43 deletions(-) delete mode 100644 test/lisp/register-tests.el diff --git a/test/lisp/register-tests.el b/test/lisp/register-tests.el deleted file mode 100644 index 6283d1c31e0..00000000000 =2D-- a/test/lisp/register-tests.el +++ /dev/null @@ -1,43 +0,0 @@ =2D;;; register-tests.el --- tests for register.el -*- lexical-binding: t-= *- =2D =2D;; Copyright (C) 2017-2023 Free Software Foundation, Inc. =2D =2D;; Author: Tino Calancha =2D;; Keywords: =2D =2D;; This file is part of GNU Emacs. =2D =2D;; GNU Emacs is free software: you can redistribute it and/or modify =2D;; it under the terms of the GNU General Public License as published by =2D;; the Free Software Foundation, either version 3 of the License, or =2D;; (at your option) any later version. =2D =2D;; GNU Emacs is distributed in the hope that it will be useful, =2D;; but WITHOUT ANY WARRANTY; without even the implied warranty of =2D;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the =2D;; GNU General Public License for more details. =2D =2D;; You should have received a copy of the GNU General Public License =2D;; along with GNU Emacs. If not, see . =2D =2D;;; Commentary: =2D =2D =2D;;; Code: =2D(require 'ert) =2D(require 'cl-lib) =2D =2D(ert-deftest register-test-bug27634 () =2D "Test for https://debbugs.gnu.org/27634 ." =2D (dolist (event (list ?\C-g 'escape ?\C-\[)) =2D (cl-letf (((symbol-function 'read-key) #'ignore) =2D (last-input-event event) =2D (register-alist nil)) =2D (should (equal 'quit =2D (condition-case err =2D (call-interactively 'point-to-register) =2D (quit (car err))))) =2D (should-not register-alist)))) =2D =2D(provide 'register-tests) =2D;;; register-tests.el ends here =2D-=20 2.34.1 --=-=-=-- --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmVqxfETHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvk86tC/sEH+j9/019WSX601UxQ4z8RCtSiWyn WCqTqvfTEzv/VesjkOAeR/9SwSy9Has3FrSHlhtaHa3QcqMqhX7o4zFpap1VHU3x 5jyXLT57ZbPLTmqpp3VuzXT2j8X6m7XsMIVJGE2+23b1RZ6m9J1EQcUQrfvgh2Kw jqkJ2J65S5dbZ3aEYdi/lVXEyiuLvGMhFXVJkf8+X4uDqdQsU34mITeXsGZ+Xj8L /eBiTFl8xNafxdfIt8ax8dwHLzFiu6C7LYCTN4fhxW3mU6G9rkurMDHRBvvlH9Ya 4hWy83EwEkTBL4VynZDXXPNRu8+tAV0UZfwsgd0hdS7DIzkUFEKK2UAAHli6niTy Gwpiv66ZxaJ71IZuQ8O6KKhjQYSxcMdlU9OGfKInkXmD3DzuJ+v0i0rHO+Y8ltyb dtcPjAxGEEbplvzOJSTRjzA8LsXPZH6p3pAuKNVO8jvBLx+uNXPedgPE4mGrHeod nhCvfvfHm9bpoy5VpQ3LX788Uv0WGAp8BYQ= =p4JO -----END PGP SIGNATURE----- --==-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 02 Dec 2023 07:51:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: michael_heerdegen@web.de, 66394@debbugs.gnu.org, monnier@iro.umontreal.ca, stefankangas@gmail.com Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170150344229567 (code B ref 66394); Sat, 02 Dec 2023 07:51:01 +0000 Received: (at 66394) by debbugs.gnu.org; 2 Dec 2023 07:50:42 +0000 Received: from localhost ([127.0.0.1]:56599 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9Klu-0007gp-27 for submit@debbugs.gnu.org; Sat, 02 Dec 2023 02:50:42 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:53210) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9Klr-0007gc-V9 for 66394@debbugs.gnu.org; Sat, 02 Dec 2023 02:50:41 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r9Kla-00077W-3u; Sat, 02 Dec 2023 02:50:22 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=l8ljnxb3HnTVYMcB8dQyuI9jw56NkJzkKJDJbASQdPs=; b=LwZW+bBOpdZJ 1dImPe8IwxO4xPJjDTUJhvI5WTyHBDbFO+KoJIOQ4J6GIeoN2CaT3k9hpX/8Asi80HFSFWy5728OV 81g5dlNr1HG3lmrhM2qA1CuDZxOwqyePLQRRQCl32fmisEXykNQ8fSP94oq6IFAj/Q13v8Cq2Jp6j unlnWI9s48YVmoNA1k3M8GhZ3+l2hVpPVcEYteIt9gYEJM1Ie54qfskGMm1o0nZyGop41NwyyknBx if4n/n1p5mw8TZnmINxMsLutnqVOnKqG3vCHsDx2u7SE7Eph9rb/UcwsawuYNA0Gv2S0cicUJzPWn o3mZBPpoqttQgX9jXbFO+w==; Date: Sat, 02 Dec 2023 09:50:20 +0200 Message-Id: <83plzp82mb.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <87cyvpf8y6.fsf@posteo.net> (message from Thierry Volpiatto on Sat, 02 Dec 2023 05:51:45 +0000) References: <87il7ib6cu.fsf@posteo.net> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> <87ttqgpjiz.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Thierry Volpiatto > Cc: monnier@iro.umontreal.ca, michael_heerdegen@web.de, > stefankangas@gmail.com, 66394@debbugs.gnu.org > Date: Sat, 02 Dec 2023 05:51:45 +0000 > > Eli Zaretskii writes: > > > Anyway, I trust you to do what is needed here, I just want the test > > suite to keep running successfully, and I don't have time to work on > > this myself. TIA. > > Here again the patchs (0002 with a little modification). > Let me know if I can commit them. Please install on the master branch, and thanks. From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 02 Dec 2023 08:09:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: michael_heerdegen@web.de, 66394@debbugs.gnu.org, monnier@iro.umontreal.ca, stefankangas@gmail.com Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170150453731243 (code B ref 66394); Sat, 02 Dec 2023 08:09:02 +0000 Received: (at 66394) by debbugs.gnu.org; 2 Dec 2023 08:08:57 +0000 Received: from localhost ([127.0.0.1]:56615 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9L3Z-00087q-G6 for submit@debbugs.gnu.org; Sat, 02 Dec 2023 03:08:57 -0500 Received: from mout02.posteo.de ([185.67.36.66]:59963) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9L3V-00087Y-9p for 66394@debbugs.gnu.org; Sat, 02 Dec 2023 03:08:56 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 0DBA3240104 for <66394@debbugs.gnu.org>; Sat, 2 Dec 2023 09:08:37 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1701504518; bh=pvN336nznVVmjo4bUiA7UXTSwwECUW3GTyJPZNp0TBA=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=IejP/B18TADMAcCLzGFh6PCagCsUcNSSKh6LkbW7iagV7QIRDFPCGir3EW6MzkU8E CB7SLbGxdJdn+nMvZd+8VfCqm3a14z1OD3OJkqN7LPVmsxuv0wVvvfLrjL500zgMrm 5TAfLP+xPW7rO4mM5vmfHlvemsizWacm37BM2O+8uMr0G3hgNymGq6HNurlzgTujkS vxpIL9NRse+hvw5ZeFAaZhNMtlZS8Eaum7ts1Kb4gkDLlJndoe3cRIXldiHc4fsgSx g/pUZvK6qCQ94aNz5AO211OFWTVd5Qwnt8J7Jeu4NPoTyPfEnIGnZilsmjOVChBBoY 6rWSE2VF9NzwQ== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Sj2cg5ZLhz6tvd; Sat, 2 Dec 2023 09:08:35 +0100 (CET) From: Thierry Volpiatto In-Reply-To: <83plzp82mb.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 02 Dec 2023 09:50:20 +0200 (17 minutes, 56 seconds ago)") References: <87il7ib6cu.fsf@posteo.net> <87ttqgpjiz.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> Date: Sat, 02 Dec 2023 08:08:33 +0000 Message-ID: <875y1hf2m6.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Eli Zaretskii writes: >> From: Thierry Volpiatto >> Cc: monnier@iro.umontreal.ca, michael_heerdegen@web.de, >> stefankangas@gmail.com, 66394@debbugs.gnu.org >> Date: Sat, 02 Dec 2023 05:51:45 +0000 >>=20 >> Eli Zaretskii writes: >>=20 >> > Anyway, I trust you to do what is needed here, I just want the test >> > suite to keep running successfully, and I don't have time to work on >> > this myself. TIA. >>=20 >> Here again the patchs (0002 with a little modification). >> Let me know if I can commit them. > > Please install on the master branch, and thanks. Done, thanks. =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmVq5gETHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvky7rDACiHcvqWR8+Rc99wtGVkDwOdYx2xX6y 72Xdh0P3voRIkqmjb3WkOs3FMDiwTF+Xc57sZAcurZ+a9o0D6GduK0WmwkvrT4kD XGuDUhZMcc3NtpXQ62RIjG3PMACgJ7bmw7bwNYX5DjRFnqYDRbINs9P4qH0cwk/2 MkK+Ok/gQESotkUOFpo6KhKPRXp+DRWwR012FUYfoAtnHX0pJ01ieTXZNZqk6Yr3 9ruU3TEM5uKd1ZGSPDtYEEwCphsdSIBcCBOOGhP5osOHsBF7ExXIeNG8Ev2Ka1Wi Bx0HqmC3XHvPzadBn2niHwchude8vBkKEw6Nl+O0LiRSBX0h0oe6r/bSYofkKqdT 0slMhwcFnsr845TKZpWJwFpqTdGaWiu5O9Xd8UJHGbdEopIibhimRYFZok8Lrm5z xglPoKCXpFPfPyRn/O+mu7BMKbtR+VTkSkhSDNNkFjh8UuxEN7r23l2/hSB2OSPX a9/kpLJ3bGm7QDDjFtmi5oXnRFqS8MW7H0c= =0QOJ -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Bastien Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 02 Dec 2023 09:26:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: Michael Heerdegen , 66394@debbugs.gnu.org, stefankangas@gmail.com, monnier@iro.umontreal.ca Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.17015091626571 (code B ref 66394); Sat, 02 Dec 2023 09:26:02 +0000 Received: (at 66394) by debbugs.gnu.org; 2 Dec 2023 09:26:02 +0000 Received: from localhost ([127.0.0.1]:56634 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9MG9-0001hq-KV for submit@debbugs.gnu.org; Sat, 02 Dec 2023 04:26:01 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59798) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9MG5-0001hb-8l for 66394@debbugs.gnu.org; Sat, 02 Dec 2023 04:26:00 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r9MFn-0000GX-Lx; Sat, 02 Dec 2023 04:25:41 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=X6+vlKP1YwmP3S6hoJTsx0KiiMNdVDquIs6iUd/wB0k=; b=SalyPy4Vqpu/HxWs5yuc ebN1Bq16HXoSJQFGiuWC0XmJAdZq4D1ycNHY+mE8XZw2iz0tABTQVvyLw5CMez0QROcbj+clhMhD2 3PG+1JgJ1rwKqIWu5iK32b1rNtqvf1VkEF4rpo+6TGYo6Y6LBuXoORhheEeU+kBfDI1n+yLRBLMXh +F04AOJ2eqxxdIQbfjTi1u3EzFOMcc3sZ7GMkJx40EmBhvUg1nwCxlydsxVW7hg2nNcbJOvCqjMn+ uDJjS2HZfCT4at0F9BJo+M8qYaQK1y0T1BLgD5LLIQ1ZLIszzrMp7x94KxxLPCk1yUSsc3vtL7Zpv 41a/tdfIn66xZQ==; From: Bastien In-Reply-To: <877cmdx8ud.fsf@posteo.net> (Thierry Volpiatto's message of "Mon, 20 Nov 2023 06:00:26 +0000") Organization: GNU References: <87il7ib6cu.fsf@posteo.net> <87sf67qqmp.fsf@web.de> <875y3386ep.fsf@posteo.net> <87a5sddh14.fsf@web.de> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> <87ttqgpjiz.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> Date: Sat, 02 Dec 2023 10:24:51 +0100 Message-ID: <87v89hufbw.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) I use registers ~100 times a day, so enhancements here are very welcome, thanks! Thierry Volpiatto writes: > A minibuffer is used now instead of read-key. I wonder about this, though. It badly hinders my usual flow, where I do remember what registers I use and like to store new ones quickly. When a register is empty, I believe it's more efficient to just read the key and store the content in the register directly. E.g. if the "a" contains "A string" and "b" is an empty register: - C-x r s would display the preview and copy the region to the "b" register as soon as the "b" key is hit (using read-key). - C-x r s would display the preview and if the user hits "a", it will warn about overwriting the existing register and RET can confirm. This supposes using read-key by default and switch to using a minibuffer when the user hits keys for existing registers. What do you think? -- Bastien From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 02 Dec 2023 09:54:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Bastien Cc: Michael Heerdegen , 66394@debbugs.gnu.org, stefankangas@gmail.com, monnier@iro.umontreal.ca Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170151078919626 (code B ref 66394); Sat, 02 Dec 2023 09:54:01 +0000 Received: (at 66394) by debbugs.gnu.org; 2 Dec 2023 09:53:09 +0000 Received: from localhost ([127.0.0.1]:56653 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9MgP-00056U-5x for submit@debbugs.gnu.org; Sat, 02 Dec 2023 04:53:09 -0500 Received: from mout02.posteo.de ([185.67.36.66]:41047) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9MgK-00055y-CV for 66394@debbugs.gnu.org; Sat, 02 Dec 2023 04:53:08 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id B3C6F240104 for <66394@debbugs.gnu.org>; Sat, 2 Dec 2023 10:52:48 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1701510768; bh=aEqEJkzyVstcGkGJ8JF7ZiNSqNsZIArBMA6YMTfacg0=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=nBAoo4rZ6/jmuRXHMr69dNSBbqTzLeZyMz3alU7JHggYoXgt9ObbyezLnJ4mAfhk7 zsqSLBa7U6XlrWk4xoLyA1DmT/6Kkyvo5bAXThRVHKOxuRgSDpIVtRg/CgIz0Ir4G7 jk2kkFNs2yweljru66BxplgDWqK779sQEKbfMxmCNh7EdeRbTgmic/J+iAhDpf5XsU CSqAWGC6DiuoyXQKeMnXrGNvrxAPtWvkmDYjUjrGDvUKqjDoH704OKpswmkqUfe95D lvYDVfmJsqG4iYKOzAFh8ogd6gDgxYmOCtdhP2eHYB2/0dBPoJ8PFlCiAmi9Hc6uEa yQ6he+vomc9WQ== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Sj4ws3Hl2z6ty6; Sat, 2 Dec 2023 10:52:44 +0100 (CET) From: Thierry Volpiatto In-Reply-To: <87v89hufbw.fsf@gnu.org> (Bastien's message of "Sat, 02 Dec 2023 10:24:51 +0100 (15 minutes, 42 seconds ago)") References: <87il7ib6cu.fsf@posteo.net> <87sf67qqmp.fsf@web.de> <875y3386ep.fsf@posteo.net> <87a5sddh14.fsf@web.de> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> <87ttqgpjiz.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87v89hufbw.fsf@gnu.org> Date: Sat, 02 Dec 2023 09:52:41 +0000 Message-ID: <87zfytdj86.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Bastien writes: > I use registers ~100 times a day, so enhancements here are very > welcome, thanks! > > Thierry Volpiatto writes: > >> A minibuffer is used now instead of read-key. > > I wonder about this, though. It badly hinders my usual flow, where I > do remember what registers I use and like to store new ones quickly. > > When a register is empty, I believe it's more efficient to just read > the key and store the content in the register directly. > > E.g. if the "a" contains "A string" and "b" is an empty register: > > - C-x r s would display the preview and copy the region to the "b" > register as soon as the "b" key is hit (using read-key). I suggest you use M-n RET instead if you want to be sure you don't overwrite a register. Also don't forget you can now use C-n/p or / to navigate in previ= ew. > - C-x r s would display the preview and if the user hits "a", it will > warn about overwriting the existing register and RET can confirm. It is what it is doing actually with minibuffer. Hitting "a" highlight register "a" and send a message "overwriting register", then you can hit RET if you want to overwrite. > This supposes using read-key by default and switch to using a > minibuffer when the user hits keys for existing registers. > > What do you think? I think using read-key+minibuffer would be very complicated and would need much more code, this for a small benefit: Saving one key (RET). Also I think hitting RET in any case is better as it does a kind of "confirm I want to do this". Also using read-key leads to bug like we had previously as we must mimic a keymap which is often wrong. Thanks. =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmVq/mkTHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvkww1C/4/OV42MVSNxUOABRKViWUOXWu3rmcE OZ4Jy9RmzR5LjOmCuam5ANMO9GAuBb0gzkZTBKbLQ+Ckm8gG3fdIf8E5W4xVFwK4 /difhvIsq1iQb3ZUikxypZw57iKTFAPAVRMQkmwE7sgM+1Ja5bnKaoX4b/1wcpMD c4H7aHFx6R6ri8gpR6tLmuhSMBVGT2lb3VYyR1umiXCINTsDy7gvdr1Byje7zWxA iVYc69MdUjwp04E2lKhVjOKol/7Pc9l8bTUmklDpA8YqGxQh9mXL8H3zFbMTcFt5 qHsyoZ5oPFfHaMzyE50zum/lNL5dlUk6XuQWNTcIvwMyFOoGvhJeRTcbjkOhFW23 eWHgznwyA6xtq9DCewFk6A3pwL3AhfewAuFrWih+HN0GCHRx6D4YtMQbrHn+BaAE Br7YnkggWf8lGY/xsIvFDx2FOJUdpI8divkxSOxRantDPaYYI/16mm2b04Vb0DJl YEYdM6yKk+w2TPduKIgRcooZJhIbua5h5S4= =wchH -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Bastien Guerry Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 02 Dec 2023 10:39:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: Michael Heerdegen , jonas@bernoul.li, 66394@debbugs.gnu.org, stefankangas@gmail.com, monnier@iro.umontreal.ca Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170151353111760 (code B ref 66394); Sat, 02 Dec 2023 10:39:02 +0000 Received: (at 66394) by debbugs.gnu.org; 2 Dec 2023 10:38:51 +0000 Received: from localhost ([127.0.0.1]:56702 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9NOc-00033c-Vd for submit@debbugs.gnu.org; Sat, 02 Dec 2023 05:38:51 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:41480) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9NOZ-00033M-Ql for 66394@debbugs.gnu.org; Sat, 02 Dec 2023 05:38:49 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r9NOI-00042F-K8; Sat, 02 Dec 2023 05:38:30 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=LtB/pbJCpVo2tN2Fkwq8OrTnf8jRvMqE2Ell+oVwum0=; b=cUqHSA0gjxSecczz1MJa IE0WLNNC2dsW90tcls6BJBq7I4mIruZ+rN9kSbtBKWqRjRRujbSqU3BNCkz95dIMQR114UuoO8G1P 5aMPPT0nsbEb8BklQlXuSczCbU8Wsy2adSTLTJi2tzbCX9SPGjj4Ub43r4/ue3HGqHy9nAijKZpke aXxN6C6HYAxxppGToa9wUi3urlTq/dC//Whwp5AEdCM3tAqcuTmyF5sSVRvNWVRpFiLs3aiK7O1Bm ClHXr9XY5Mt/NPn2favzzQWIffHbt4ypcddA3+uewQAZPYZYqsxxO1MB16IpMvNrF4HWDFaW+XDzP X8bQfB67b7Zw6w==; From: Bastien Guerry In-Reply-To: <87zfytdj86.fsf@posteo.net> (Thierry Volpiatto's message of "Sat, 02 Dec 2023 09:52:41 +0000") References: <87il7ib6cu.fsf@posteo.net> <87sf67qqmp.fsf@web.de> <875y3386ep.fsf@posteo.net> <87a5sddh14.fsf@web.de> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> <87ttqgpjiz.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87v89hufbw.fsf@gnu.org> <87zfytdj86.fsf@posteo.net> Date: Sat, 02 Dec 2023 11:37:55 +0100 Message-ID: <87plzo3n5o.fsf@bzg.fr> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi Thierry, thanks for your anwer. Thierry Volpiatto writes: >> - C-x r s would display the preview and copy the region to the "b" >> register as soon as the "b" key is hit (using read-key). > > I suggest you use M-n RET instead if you want to be sure you don't > overwrite a register. What I am suggesting is to store the register _as soon as_ the user hits the "b" key. Since the recent changes, I need to hit one additional keystroke for zero benefit, which is a net less when you use registers a lot. I use "a", "b", "c" registers for quick copy and paste and can easily remember them; when I need more, I use register-list.el. > It is what it is doing actually with minibuffer. Hitting "a" highlight > register "a" and send a message "overwriting register", then you can hit > RET if you want to overwrite. This might be useful in some cases. I don't suggest to change this. I suggest to allow the previous behavior for empty registers. > I think using read-key+minibuffer would be very complicated and would > need much more code, this for a small benefit: Saving one key (RET). I would say this is not a small benefit. > Also I think hitting RET in any case is better as it does a kind of > "confirm I want to do this". IMHO confirmation is good for cases where mistakes can have bad consequences. I don't see them when using an empty register. > Also using read-key leads to bug like we had previously as we must mimic > a keymap which is often wrong. I know there are always trade-offs. I just wanted to report the slight "eww" moment I had wrt this UX change, which I still think is wrong. If we set this issue aside, I wonder if read-key could be augmented so that certain keystrokes let the user enter in "editing mode" (a bit like when users hit C-s then C-e to edit the search string.) I can see several situations where a read-key prompt would benefit from allowing to switch to a minibuffer prompt with all the flexibility it provides: - Allowing for confirmation when overwriting a register is one; - Allowing to hit two keystrokes to facilitate navigation for C-h: e.g. `C-h k l' would list keybindings; `C-h k d` would describe a keybinding, etc. This touches explorations that perhaps Jonas made while designing transient, so I'm adding him to this conversation. -- Bastien Guerry From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Eshel Yaron Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 02 Dec 2023 10:55:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Bastien Guerry Cc: jonas@bernoul.li, Michael Heerdegen , stefankangas@gmail.com, Thierry Volpiatto , 66394@debbugs.gnu.org, monnier@iro.umontreal.ca Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170151447223479 (code B ref 66394); Sat, 02 Dec 2023 10:55:02 +0000 Received: (at 66394) by debbugs.gnu.org; 2 Dec 2023 10:54:32 +0000 Received: from localhost ([127.0.0.1]:56760 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9Ndn-00066d-LW for submit@debbugs.gnu.org; Sat, 02 Dec 2023 05:54:32 -0500 Received: from mail.eshelyaron.com ([107.175.124.16]:37154 helo=eshelyaron.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9Ndm-00066V-2e for 66394@debbugs.gnu.org; Sat, 02 Dec 2023 05:54:31 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eshelyaron.com; s=mail; t=1701514460; bh=GkOh/TnRRrMDy2H0Z/Fge14wGOTnOQ+mA35KC5Qn+oc=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=Tn8PTlHhnoNa4yMVJKnfR6Dt7F6CvZEtkq9xR7raRchw+SgiVQHx3NGpDcgE1XZgV BF5CyrTMt1zknBI9TSxY0a2ohH1Ayh4DTrYZwia6Bzxgf+bdweOiM662CjJsmKE2IE hxUrkW2GBJ19Ey3K1VdY04/E/G4RMprgulLocHf4VkKgAi84iuRvi3+cWzIVx9sDc8 DECX6j0SqztEFIkFwjb8SXXffK2EF+7GRNLJh8QV41GzHQrNib1AnPcxwttkXjMYXV GRQWO9Zbi5pCca9Gy29/aXGcmKmcsRxE6SJUqitkqhjxng0BAQH9NbkYugymb0bWpq nJRPWlJxDJKDw== From: Eshel Yaron In-Reply-To: <87plzo3n5o.fsf@bzg.fr> (Bastien Guerry's message of "Sat, 02 Dec 2023 11:37:55 +0100") References: <87il7ib6cu.fsf@posteo.net> <87sf67qqmp.fsf@web.de> <875y3386ep.fsf@posteo.net> <87a5sddh14.fsf@web.de> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> <87ttqgpjiz.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87v89hufbw.fsf@gnu.org> <87zfytdj86.fsf@posteo.net> <87plzo3n5o.fsf@bzg.fr> Date: Sat, 02 Dec 2023 11:54:17 +0100 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Bastien Guerry writes: > Thierry Volpiatto writes: > >>> - C-x r s would display the preview and copy the region to the "b" >>> register as soon as the "b" key is hit (using read-key). >> >> I suggest you use M-n RET instead if you want to be sure you don't >> overwrite a register. > > What I am suggesting is to store the register _as soon as_ the user > hits the "b" key. > > Since the recent changes, I need to hit one additional keystroke for > zero benefit, which is a net less when you use registers a lot. > > I use "a", "b", "c" registers for quick copy and paste and can easily > remember them; when I need more, I use register-list.el. > >> It is what it is doing actually with minibuffer. Hitting "a" highlight >> register "a" and send a message "overwriting register", then you can hit >> RET if you want to overwrite. > > This might be useful in some cases. I don't suggest to change this. I > suggest to allow the previous behavior for empty registers. > >> I think using read-key+minibuffer would be very complicated and would >> need much more code, this for a small benefit: Saving one key (RET). > > I would say this is not a small benefit. FWIW, I second Bastien's request to restore the existing behavior as the default, or at least provide it as an option. I think Michael requested that as well in the beginning of this thread. This patch brings some nice benefits, but it also presents a regression in terms of UX, perhaps we could avoid that or make it opt-in? It would also be great if there were a NEWS entry that clearly describes the user visible changes. Thanks, Eshel From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 02 Dec 2023 11:57:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Bastien Guerry Cc: Michael Heerdegen , jonas@bernoul.li, 66394@debbugs.gnu.org, stefankangas@gmail.com, monnier@iro.umontreal.ca Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.17015181868415 (code B ref 66394); Sat, 02 Dec 2023 11:57:02 +0000 Received: (at 66394) by debbugs.gnu.org; 2 Dec 2023 11:56:26 +0000 Received: from localhost ([127.0.0.1]:56832 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9Obi-0002Bf-3F for submit@debbugs.gnu.org; Sat, 02 Dec 2023 06:56:26 -0500 Received: from mout01.posteo.de ([185.67.36.65]:54873) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9Obd-0002BN-KV for 66394@debbugs.gnu.org; Sat, 02 Dec 2023 06:56:24 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 1B363240029 for <66394@debbugs.gnu.org>; Sat, 2 Dec 2023 12:56:06 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1701518166; bh=Z4ZBjI+9EGqRFK2iQnj971OgdmRBtklpLV1kTt1Ezyg=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=TygXCEGsnTxbSzQ0uGJ3UwRFdUCJ/OxwyOeY+Rs3uRwyP4KosgPriQvBEhPME4hr1 pLDhIu1Gdj0ZPlDyJq/BHqP5d7mU2fGmYzwcJy5oRP9cJxKRNziG6RdBvH/FiV6IFC s1WvaxuVN8exa/qOr4PFSwt8xMPJEkpBNvZDdnYgOZMvAusLewbdeTYtlRT5N3QEVU 1QcPd56D9pB4n0zmxBscULYoM5bF9dT2Ui4ZiCbbeDN7yR6zrZJotvp8GHWairKmTb UlUV45WCfhtOvAskaLSAh/tRpVTyZ6VBbMgLDQ4GzzMW3kKczvE90MgZQ0oLBrB6/6 YFrKbw5maEyhA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Sj7g61d02z6tvp; Sat, 2 Dec 2023 12:56:02 +0100 (CET) From: Thierry Volpiatto In-Reply-To: <87plzo3n5o.fsf@bzg.fr> (Bastien Guerry's message of "Sat, 02 Dec 2023 11:37:55 +0100 (1 hour, 10 minutes, 34 seconds ago)") References: <87il7ib6cu.fsf@posteo.net> <87sf67qqmp.fsf@web.de> <875y3386ep.fsf@posteo.net> <87a5sddh14.fsf@web.de> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> <87ttqgpjiz.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87v89hufbw.fsf@gnu.org> <87zfytdj86.fsf@posteo.net> <87plzo3n5o.fsf@bzg.fr> Date: Sat, 02 Dec 2023 11:55:58 +0000 Message-ID: <87ttp0es35.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Hi Bastien and Eshel, Bastien Guerry writes: > Hi Thierry, > > thanks for your anwer. > > Thierry Volpiatto writes: > >>> - C-x r s would display the preview and copy the region to the "b" >>> register as soon as the "b" key is hit (using read-key). >> >> I suggest you use M-n RET instead if you want to be sure you don't >> overwrite a register. > > What I am suggesting is to store the register _as soon as_ the user > hits the "b" key. > > Since the recent changes, I need to hit one additional keystroke for > zero benefit, which is a net less when you use registers a lot. > > I use "a", "b", "c" registers for quick copy and paste and can easily > remember them; when I need more, I use register-list.el. I see, you want to go fast. Using read-key+minibuffer, as I said would be a pain to implement, hopefully (IIUC) we can use only minibuffer and exit immediately and it is simple to implement (3 lines): 1) Set register-use-preview to nil. 2) Apply this patch on register.el: @@ -388,6 +388,3 @@ =2D (if (member pat strs) =2D (with-selected-window (minibuffer-wind= ow) =2D (minibuffer-message msg pat)) =2D (with-selected-window (minibuffer-window) =2D (minibuffer-message =2D "Register `%s' is empty" pat))))))))) + (with-selected-window (minibuffer-window) + (setq result pat) + (exit-minibuffer)))))))) 3) Try your "a", "b", "c" registers and also to set a new register, if needed you can call C-h to have a preview, in this case you will have to hit RET. Let me know if this is acceptable for you. Thanks. =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmVrG08THHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvk7QKC/4mcIGXKNnbaRZ4vQxBslNWHaHfhJt6 dS2HGCTMKfqzvmo1tZPHxTVdwpLHkgcuzx7PRL1uklz6SZNEFOeHGiqfsLyroK+B PZ0w0VinzwAjQ6aOj+33GhCxLa41Gke2ZVSCPZVVelbGwnAz6XqY2ugWXjZ2wwc7 xiN0iUbpsKTh6gCuVi/dm/LRRLuUa9ZvFDTXBcuv7IVDZrUFeROVl9M6o3b4k6F0 kM74AgmrOR7pz+MpEUkGGbfrSN7sSrgB25x6/3/ht3yj/m2tfYrSoObF1ZrRlnfw IiSsCnWUHF3SBhnFtyeI2HRT+fIS+8o6e5scGEMBhQbUnfzPONYUBmcKQyPfpvE3 MGFnhxZfQVZen0xjDTEVl6dJbjv1a1aS5fGKoK88Bb9itiyq2WbRidmkZkr91fHA SxmG5AaTBVMU9fSR8YSyWmVkinGfiRVXRfck3EiGHH+oY73cuq5HD+2CR5XLte6Q ZOtnpRIi04uKzlWhHzpa+mANuS3jpNAwwa8= =D7Rc -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 02 Dec 2023 12:44:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Bastien Guerry Cc: Michael Heerdegen , jonas@bernoul.li, 66394@debbugs.gnu.org, stefankangas@gmail.com, monnier@iro.umontreal.ca Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170152103523109 (code B ref 66394); Sat, 02 Dec 2023 12:44:02 +0000 Received: (at 66394) by debbugs.gnu.org; 2 Dec 2023 12:43:55 +0000 Received: from localhost ([127.0.0.1]:56852 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9PLf-00060d-6s for submit@debbugs.gnu.org; Sat, 02 Dec 2023 07:43:55 -0500 Received: from mout01.posteo.de ([185.67.36.65]:48801) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9PLd-00060R-Gv for 66394@debbugs.gnu.org; Sat, 02 Dec 2023 07:43:54 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 8CE8B24002B for <66394@debbugs.gnu.org>; Sat, 2 Dec 2023 13:43:38 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1701521018; bh=CsDBnsT0WMU/CeHG0IFlDCS2B+K7hui/Vieav7TfCtQ=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=gmezI7AgzFWUC1oA9Owi5kakRQ9+5ODvT0DE1xnRMQg9SGKJyjhT3GewbDWD7iPZ1 zwGZcCT7SM3U0uiO4rwgkekL3fgD9LKcoG22xwTfffvGIXGzXCERTL8/yvu96Pk7Q3 pBVpJiJEbxxz14LcEBTuvTSXM8CSbOxMiFjUokTJvraUPz/WnY3MeoUlH+NrWakNWy 5yNzTLaK0U5Vv5pePNdMV4jWPu2Tg1m2U30Wl9H6w5q2V/ud0cVX5piGa9U5v4yKfs gJg8TJtx4zNKON0/9TVWKR8FPTs6S479DHQe9vT0wXOLQWEALORNl/8ZICVV9xuFy7 tidA6h1vax8+Q== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Sj8jz3KX7z6tmv; Sat, 2 Dec 2023 13:43:35 +0100 (CET) From: Thierry Volpiatto In-Reply-To: <87ttp0es35.fsf@posteo.net> (Thierry Volpiatto's message of "Sat, 02 Dec 2023 12:55:58 +0100 (45 minutes, 33 seconds ago)") References: <87il7ib6cu.fsf@posteo.net> <87sf67qqmp.fsf@web.de> <875y3386ep.fsf@posteo.net> <87a5sddh14.fsf@web.de> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> <87ttqgpjiz.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87v89hufbw.fsf@gnu.org> <87zfytdj86.fsf@posteo.net> <87plzo3n5o.fsf@bzg.fr> <87ttp0es35.fsf@posteo.net> Date: Sat, 02 Dec 2023 12:43:32 +0000 Message-ID: <87msusepvv.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Thierry Volpiatto writes: > Hi Bastien and Eshel, > > Bastien Guerry writes: > >> Hi Thierry, >> >> thanks for your anwer. >> >> Thierry Volpiatto writes: >> >>>> - C-x r s would display the preview and copy the region to the "b" >>>> register as soon as the "b" key is hit (using read-key). >>> >>> I suggest you use M-n RET instead if you want to be sure you don't >>> overwrite a register. >> >> What I am suggesting is to store the register _as soon as_ the user >> hits the "b" key. >> >> Since the recent changes, I need to hit one additional keystroke for >> zero benefit, which is a net less when you use registers a lot. >> >> I use "a", "b", "c" registers for quick copy and paste and can easily >> remember them; when I need more, I use register-list.el. > > I see, you want to go fast. > Using read-key+minibuffer, as I said would be a pain to implement, > hopefully (IIUC) we can use only minibuffer and exit immediately and it > is simple to implement (3 lines): > > 1) Set register-use-preview to nil. > 2) Apply this patch on register.el: > > @@ -388,6 +388,3 @@ > - (if (member pat strs) > - (with-selected-window (minibuffer-wind= ow) > - (minibuffer-message msg pat)) > - (with-selected-window (minibuffer-window) > - (minibuffer-message > - "Register `%s' is empty" pat))))))))) > + (with-selected-window (minibuffer-window) > + (setq result pat) > + (exit-minibuffer)))))))) > > 3) Try your "a", "b", "c" registers and also to set a new register, if > needed you can call C-h to have a preview, in this case you will have to > hit RET. > > Let me know if this is acceptable for you. > > Thanks. Even better is this patch which ask for confirmation when overwriting a register but not when jumping, inserting or setting a new register: @@ -388,6 +388,10 @@ =2D (if (member pat strs) =2D (with-selected-window (minibuffer-wind= ow) =2D (minibuffer-message msg pat)) =2D (with-selected-window (minibuffer-window) =2D (minibuffer-message =2D "Register `%s' is empty" pat))))))))) + (with-selected-window (minibuffer-window) + (if (and (member pat strs) (memq act '(set= modify))) + (with-selected-window (minibuffer-wind= ow) + (minibuffer-message msg pat)) + ;; An empty register or an existing + ;; one but the action is insert or + ;; jump, don't ask for confirmation + ;; and exit immediately. + (setq result pat) + (exit-minibuffer))))))))) =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmVrJnQTHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvk8ALDACcAup1tIpaRjExuTqRKSU1hQIPyF8I nd9H8knuAszcgvrvTkbXeGflDef9MEbhO0EQQO20WX8zmEzxzZksujljbNnobdA4 A0OgWJg401Vqn/I0pZVyDrt5TQdnlDcpXwfYlmHP+3UcBCcpnkoajka1qto7kpia 0sHkzrqJBvtqeeyZs0PEJxUVs8f0SM43YoD6dNvL7OVHOXY3awGXueTNElN27FfY j4g4RvgVPhCoo8GAWkPf2cJv5Yhk8Urzl5GHFkBXxHYnmGB9KcMHN5QfMPWexakq UM61eMtwwrYXrzDeKPEZSO3LvdWCRRWqDG0wfAOv/Ya42sexPzUG4wR6teH+MC5r 5W8W9VNdvjX4cksJEg59zi4sJ75ULouXGr0bgpIL7TYYcK4QDJyaQrADUTNfH0/o dA/WYdHEVOz63CgSSlI5ykfqSg4W6TIEIo8nqKp50IT/9R06Jaw8napva5Z4FFXk TMY7UxZq2QxK/O7LuAdeFaUY8uI5L+dRjxE= =7oHH -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Eshel Yaron Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 02 Dec 2023 13:04:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: jonas@bernoul.li, Michael Heerdegen , Bastien Guerry , stefankangas@gmail.com, 66394@debbugs.gnu.org, monnier@iro.umontreal.ca Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170152218725315 (code B ref 66394); Sat, 02 Dec 2023 13:04:01 +0000 Received: (at 66394) by debbugs.gnu.org; 2 Dec 2023 13:03:07 +0000 Received: from localhost ([127.0.0.1]:56878 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9PeF-0006aF-4m for submit@debbugs.gnu.org; Sat, 02 Dec 2023 08:03:07 -0500 Received: from mail.eshelyaron.com ([107.175.124.16]:33666 helo=eshelyaron.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9PeD-0006a7-CS for 66394@debbugs.gnu.org; Sat, 02 Dec 2023 08:03:06 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eshelyaron.com; s=mail; t=1701522175; bh=S6ffT0gH7rQxnEchSR60j/xURQLayaRPvwmrC7/65Cg=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=E6BgONpubtueFF0TeHGjpMBXwSUmB6Z+doUaIX4E9dftyP2GX1Ye5sOsujJPkl6Ds pxwq037vhWGZVzAGsxNX0RYCO9XvyCfhtwUdYLD10Gr6SLV+EY4oL8tgZcnF2iJhVn Uh4e1fnF779kcxpSHoMJ33CKgcIFYew6jA2JEtAQFXteQnM/Y8aIgTN93SOYv7fOdz jvxy6hKUPW16/NPbeDqoky2TdTTE5RZGk1ZMPdOiJ+YPD2VV6Qkd5qDJnAQSauqTal M/k8GnEtW7MmqP2lB4BdkNxSjRhFFt5lcZgODfKuzGRsRgVcLFuO3Yy3MmAIZ86+ea YYk5xk+8YZygg== From: Eshel Yaron In-Reply-To: <87msusepvv.fsf@posteo.net> (Thierry Volpiatto's message of "Sat, 02 Dec 2023 12:43:32 +0000") References: <87il7ib6cu.fsf@posteo.net> <875y3386ep.fsf@posteo.net> <87a5sddh14.fsf@web.de> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> <87ttqgpjiz.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87v89hufbw.fsf@gnu.org> <87zfytdj86.fsf@posteo.net> <87plzo3n5o.fsf@bzg.fr> <87ttp0es35.fsf@posteo.net> <87msusepvv.fsf@posteo.net> X-Hashcash: 1:20:231202:thievol@posteo.net::J9xRit3Qr/SJN9m/:1LwS X-Hashcash: 1:20:231202:bzg@gnu.org::/4WNT2EEYXTnZV2y:Uok X-Hashcash: 1:20:231202:michael_heerdegen@web.de::qzvfilRJow2A6lRc:iVS X-Hashcash: 1:20:231202:jonas@bernoul.li::iG5p378sE75vVymM:2iZJ X-Hashcash: 1:20:231202:stefankangas@gmail.com::QC7pVY7F2a/mjqsj:2nZv X-Hashcash: 1:20:231202:monnier@iro.umontreal.ca::TxxWkng4C09ngEBj:3sPS X-Hashcash: 1:20:231202:66394@debbugs.gnu.org::iiaC0yZhazuTyqFz:AvyU Date: Sat, 02 Dec 2023 14:02:52 +0100 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Thierry Volpiatto writes: > Thierry Volpiatto writes: > >> Hi Bastien and Eshel, >> >> I see, you want to go fast. Thanks, but this not only about speed. Using a minibuffer to read a key has other disadvantages: it limits the range of keys that can be easily used as registers since now specifying the `C-a` register is much harder (as Michael mentioned). This also makes register commands less convenient or and even impossible (when `enable-recursive-minibuffers` is nil) to use inside an existing minibuffer. >> Using read-key+minibuffer, as I said would be a pain to implement, >> hopefully (IIUC) we can use only minibuffer and exit immediately and it >> is simple to implement (3 lines): >> >> 1) Set register-use-preview to nil. Hmm, but this disables the automatic register preview, which I still want to see, preferably after a short delay, just like before. >> 2) Apply this patch on register.el: >> ... >> >> Let me know if this is acceptable for you. > > Even better is this patch which ask for confirmation when overwriting a > register but not when jumping, inserting or setting a new register: > > ... That's improves things a bit, but see above. I can see how confirmation could be helpful for some people, but not everyone would appreciate the added friction. I basically suggest reverting to the previous behavior (or otherwise restoring full compatibility), and making any involvement of the minibuffer in reading registers optional, for example by providing a new user option `register-read-from-minibuffer`. Best, Eshel From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Bastien Guerry Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 02 Dec 2023 13:52:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: Michael Heerdegen , jonas@bernoul.li, 66394@debbugs.gnu.org, stefankangas@gmail.com, monnier@iro.umontreal.ca Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170152508230251 (code B ref 66394); Sat, 02 Dec 2023 13:52:02 +0000 Received: (at 66394) by debbugs.gnu.org; 2 Dec 2023 13:51:22 +0000 Received: from localhost ([127.0.0.1]:56914 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9QOv-0007rr-UR for submit@debbugs.gnu.org; Sat, 02 Dec 2023 08:51:22 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:41088) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9QOu-0007rf-BK for 66394@debbugs.gnu.org; Sat, 02 Dec 2023 08:51:21 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r9QOb-0008PU-V9; Sat, 02 Dec 2023 08:51:03 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=b9xvz37NtSnC7U/apoaSIsZ4uTMwlMlFZQn1mvpz7/o=; b=p4JSZ43OquudoRnoOXdz qCZbpXj6QVpJWlwtvY9ky1Bx6Kqtv6nbNyxA7Im8PcKSdQYaULNHVKGcyX7MId5Q10PAv/+P2ezet 5Y4ztsimt7WyZcU4dWFb+A9MeXA0auX176wgPfuXrUvElMY6c8lt4qzgMYSsVKKXmU/LzIVUTe9Op Ikql9wtSBPUsfGM3wXqgNT+v5zb5U2MKWSJdTyRc/SkZVcEs9DmH/HNSpzidFAqHplmlQnDJfahgt xtnV+eAMXTwLKp51sg/POhBDD1zAlKpqu0988l8LArrB7oIbSyMF8txJrV0/5Vw8r+7Vipw9bjQVr pCY94UkqPXdqag==; From: Bastien Guerry In-Reply-To: <87msusepvv.fsf@posteo.net> (Thierry Volpiatto's message of "Sat, 02 Dec 2023 12:43:32 +0000") References: <87il7ib6cu.fsf@posteo.net> <875y3386ep.fsf@posteo.net> <87a5sddh14.fsf@web.de> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> <87ttqgpjiz.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87v89hufbw.fsf@gnu.org> <87zfytdj86.fsf@posteo.net> <87plzo3n5o.fsf@bzg.fr> <87ttp0es35.fsf@posteo.net> <87msusepvv.fsf@posteo.net> Date: Sat, 02 Dec 2023 14:50:26 +0100 Message-ID: <875y1gg1ct.fsf@bzg.fr> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Thierry Volpiatto writes: > Even better is this patch which ask for confirmation when overwriting a > register but not when jumping, inserting or setting a new register: Yes, this goes in the right direction, thanks! The patch works fine when `register-use-preview' is nil. (I wonder if the prompt "Register `%s' is empty" is not still displayed, though: I believe I've seen it flash.) When `register-use-preview' is t (the default), it skips confirmation only when setting the _first_ empty register: when setting another empty register, confirmation reappears. Can you reproduce this bug? -- Bastien Guerry From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 02 Dec 2023 15:03:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Bastien Guerry Cc: Michael Heerdegen , jonas@bernoul.li, 66394@debbugs.gnu.org, stefankangas@gmail.com, monnier@iro.umontreal.ca Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170152933416102 (code B ref 66394); Sat, 02 Dec 2023 15:03:01 +0000 Received: (at 66394) by debbugs.gnu.org; 2 Dec 2023 15:02:14 +0000 Received: from localhost ([127.0.0.1]:58409 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9RVW-0004Be-3r for submit@debbugs.gnu.org; Sat, 02 Dec 2023 10:02:14 -0500 Received: from mout01.posteo.de ([185.67.36.65]:44735) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9RVT-0004BQ-QM for 66394@debbugs.gnu.org; Sat, 02 Dec 2023 10:02:12 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 51D0C24002B for <66394@debbugs.gnu.org>; Sat, 2 Dec 2023 16:01:56 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1701529316; bh=iL16mDzyKUHGxyaxYn37mCY0ZH0omWhISGYGB1j7a2A=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=RwHdSGHV00zx6arQZHkOqJkoCVoSNsUfnbUPjjZlkYs0zMSXmPfwaDEhoPxy8R2yP Xcp7aFJMBJHbcJ/bojL9eE1lQ9GUI1S1udFMTr0Ro+fuqc7Y6o9nwdYYOI+KqF2L2r sQfP1cgQ3ALefYGOGqNPe44S1F713jLEkAFGkVcYaG+mksgv5u8v1fuO1IImfT8zsM 0lK1fJf99HlNrSWG91qrqSXVdi+y5GD0whKRZZk/BYbnBj99yTfomn1ENyeE7oq6/3 xo2UG5oR1rALz5oCF5Nfaj9z6rgYsQgTNtK6wAmul/+CZDMajT/CNSElGUuXlNG45L PHBHZeF5ti9ww== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4SjCnY1qL4z6txx; Sat, 2 Dec 2023 16:01:53 +0100 (CET) From: Thierry Volpiatto In-Reply-To: <875y1gg1ct.fsf@bzg.fr> (Bastien Guerry's message of "Sat, 02 Dec 2023 14:50:26 +0100 (1 hour, 10 minutes, 30 seconds ago)") References: <87il7ib6cu.fsf@posteo.net> <87a5sddh14.fsf@web.de> <8734y5vnj7.fsf@posteo.net> <87bkcslr18.fsf@web.de> <87y1fwtyrl.fsf@posteo.net> <87y1fut1wp.fsf@web.de> <87ttqgpjiz.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87v89hufbw.fsf@gnu.org> <87zfytdj86.fsf@posteo.net> <87plzo3n5o.fsf@bzg.fr> <87ttp0es35.fsf@posteo.net> <87msusepvv.fsf@posteo.net> <875y1gg1ct.fsf@bzg.fr> Date: Sat, 02 Dec 2023 15:01:49 +0000 Message-ID: <87r0k4d4wy.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Bastien Guerry writes: > Thierry Volpiatto writes: > >> Even better is this patch which ask for confirmation when overwriting a >> register but not when jumping, inserting or setting a new register: > > Yes, this goes in the right direction, thanks! > > The patch works fine when `register-use-preview' is nil. (I wonder if > the prompt "Register `%s' is empty" is not still displayed, though: I > believe I've seen it flash.) > > When `register-use-preview' is t (the default), it skips confirmation > only when setting the _first_ empty register: when setting another > empty register, confirmation reappears. Can you reproduce this bug? No, can you give me a recipe. Thanks. =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmVrRt0THHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvkzn8C/9YFPwegoqt04ZPERYazafaUB/bFKl5 qEpk4dXG9zdJm1eRHQ+4+Nmwqn3PMw3rdvruGX7qX37AJfmvfLVw986AshYRZJEo fuIzqTc8/21X5RCQNUTMZbvbWNPjk7TY7EAOBwmtaK6RmV1AlVEQbBeyt49jG/5w 5lgz483NQsIOwuStsge7EzT2Pb1hPMc8n4KY9ychkuxY0SPNX1vA9/G5n2o9x/G6 oJ9i7sMtMDZWpfAQfLPGgj0kggVWR9ZoyQ2/8VyQQ1+m15NL0UFeIGiBmB6TNC4U zcGp9hbjdgiq5XRL4rtGZccyyNtR6E53zhvTbZ3mt36A9u3jHjZEXk8k/M/8Uw/Q +wWcwBjDZiVE/OGOpwhL7zV1OWfCa9QxxJWzIjpGtvatbzsQVpqkvsxX+8OxIREc QP0bU2jqbV+q94NEcso2ExMFOErWsAQT3LxOvZo+7gW5SM0srHkhcDyFDCz2aZYg SDEHIAnvlLFK7M/97hF/nURSQLdHRPuBVlk= =E0h0 -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 03 Dec 2023 14:37:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: michael_heerdegen@web.de, 66394@debbugs.gnu.org, monnier@iro.umontreal.ca, stefankangas@gmail.com Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.17016141658107 (code B ref 66394); Sun, 03 Dec 2023 14:37:02 +0000 Received: (at 66394) by debbugs.gnu.org; 3 Dec 2023 14:36:05 +0000 Received: from localhost ([127.0.0.1]:59299 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9nZl-00026g-5H for submit@debbugs.gnu.org; Sun, 03 Dec 2023 09:36:05 -0500 Received: from mout02.posteo.de ([185.67.36.66]:48455) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9nZg-00026F-8l for 66394@debbugs.gnu.org; Sun, 03 Dec 2023 09:36:03 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id AF900240101 for <66394@debbugs.gnu.org>; Sun, 3 Dec 2023 15:35:43 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1701614143; bh=DllXmnpZkIHlFeITtwaZcqHwkiAiDFH+gNXjKJYQ1ow=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=ExOR/x+Bv4XSi30Df+BSU3HuDhjNJRd8oTECZj9cUoHmEYgsOtox6IC9DSbBFrjge mu14retOuYXqZ09JrPybFuuETTXwHbitabBYBGacZLYvx9MU2xUtiu/RWZe1OSnn00 YKWrnNNjpAaXym9ouwMP5f21TPduuIGtWvJUMTPRSCOnw+hyAXWXX6J4j/x1OYCAIM m0G3J9UZaJc8c9jwiV7Np7yVId2xDmvWZbhX2WJ2kQHSUdA3EuxD7VuRYSVngPaQx8 tXyKPqnht9aSsMxoNSoyic1xO9q/jRc2iWBjnu/aQeO75eqYMj/ZgwmbmLtincEUS3 Tv+g/5AxJ8fVg== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Sjq8s0ryWz6tmv; Sun, 3 Dec 2023 15:35:40 +0100 (CET) From: Thierry Volpiatto In-Reply-To: <83plzp82mb.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 02 Dec 2023 09:50:20 +0200 (1 day, 6 hours, 42 minutes ago)") References: <87il7ib6cu.fsf@posteo.net> <87ttqgpjiz.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> Date: Sun, 03 Dec 2023 14:35:37 +0000 Message-ID: <87fs0jtkue.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Hello Eli, Eli Zaretskii writes: >> From: Thierry Volpiatto >> Cc: monnier@iro.umontreal.ca, michael_heerdegen@web.de, >> stefankangas@gmail.com, 66394@debbugs.gnu.org >> Date: Sat, 02 Dec 2023 05:51:45 +0000 >>=20 >> Eli Zaretskii writes: >>=20 >> > Anyway, I trust you to do what is needed here, I just want the test >> > suite to keep running successfully, and I don't have time to work on >> > this myself. TIA. >>=20 >> Here again the patchs (0002 with a little modification). >> Let me know if I can commit them. > > Please install on the master branch, and thanks. Here another change related to the discussion in previous posts. If no objections I will merge it in next days. Thanks. =2D-=20 Thierry --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-Exit-with-no-confirmation-RET-when-register-use-prev.patch Content-Transfer-Encoding: quoted-printable From=20ff8f43a39e2cee1f71629194d44c7459f2b90d79 Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Sun, 3 Dec 2023 15:21:50 +0100 Subject: [PATCH] Exit with no confirmation (RET) when register-use-preview is non nil and . This is done by exiting minibuffer when selected register is empty or when just jumping or inserting. * lisp/register.el (register-read-with-preview): Do it. =2D-- lisp/register.el | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/lisp/register.el b/lisp/register.el index 46ec38821e5..a38b531dfc9 100644 =2D-- a/lisp/register.el +++ b/lisp/register.el @@ -385,12 +385,16 @@ display such a window regardless." (minibuffer-message "Register `%s' is empty" pat)))))) (unless (string=3D pat "") =2D (if (member pat strs) =2D (with-selected-window (minibuffer-wind= ow) =2D (minibuffer-message msg pat)) =2D (with-selected-window (minibuffer-window) =2D (minibuffer-message =2D "Register `%s' is empty" pat))))))))) + (with-selected-window (minibuffer-window) + (if (and (member pat strs) (memq act '(set= modify))) + (with-selected-window (minibuffer-wind= ow) + (minibuffer-message msg pat)) + ;; An empty register or an existing + ;; one but the action is insert or + ;; jump, don't ask for confirmation + ;; and exit immediately (bug#66394). + (setq result pat) + (exit-minibuffer))))))))) (setq result (read-from-minibuffer prompt nil map nil nil (register-preview-get-de= faults act)))) (cl-assert (and result (not (string=3D result ""))) =2D-=20 2.34.1 --=-=-=-- --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmVskjoTHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvkxoEDAChi58yVRc2pe09GHvseT5KbFl5gPuZ wYe+QmXL1HlYPgLsOLJuQHSOgSTnkLjjyLJ37MxO1q+suLbJTw80h7ly8loJJyEu RGUqYfTRqcw6I3LzkKU2uhPsiUIrY78UaWkDBGsMlbLhezLwHbAvzICDGozIqMX2 OKd6+iXKsWoD6NIbT89bPwoiX9hPdPckaoxMGaFCc3QJt7WExhWE31P7CvdRSrhR KWniz0N0bdVfxADI3Q/bJXf22pp6so/nPkhS8c5JPU4xUrDyjOqc4791wlNdbIL1 N+FWCclzx+3YK9zq5a7a4rGLxKh2Bg2twrtD5nX2WED11v2mZLR5IrgZ9rQcJE5z NLRvvZG5uaNwG665FwggX7oeio16g1mucpKyceV8T0oazfDDkFRWLs8NIGdP2kyn yCqIkQrZdXt/9jYHS5nul0mUSCZxVbwOdyo8t1qy2gw+H+BbD5zJOKGoPvVwHcpc +HpMh8qOnaYiwXl4pwYDje5KevLa+QsNWRk= =vaYr -----END PGP SIGNATURE----- --==-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Eshel Yaron Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 03 Dec 2023 15:06:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: michael_heerdegen@web.de, Eli Zaretskii , stefankangas@gmail.com, monnier@iro.umontreal.ca, 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170161592712463 (code B ref 66394); Sun, 03 Dec 2023 15:06:02 +0000 Received: (at 66394) by debbugs.gnu.org; 3 Dec 2023 15:05:27 +0000 Received: from localhost ([127.0.0.1]:60589 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9o2A-0003Ew-Jt for submit@debbugs.gnu.org; Sun, 03 Dec 2023 10:05:26 -0500 Received: from mail.eshelyaron.com ([107.175.124.16]:40252 helo=eshelyaron.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9o28-0003Eo-KT for 66394@debbugs.gnu.org; Sun, 03 Dec 2023 10:05:25 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eshelyaron.com; s=mail; t=1701615913; bh=PhjottKMNmKnD4D9HiKWPIedwvXK633k304/HyXDpp4=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=GUdEOUBXoh/IZrHvozc4M7RkUjaWq2h7IbThDalg7f/P8SJOxA1KaT8K0qsaTC/dR /MDoHDCB5sxVoRw00OIrPOAUffz2RliEQyLNRQmyq49of7ZMbQR9jukn3oEGcH3bnl 4H3cDPTNfcg8R8NOGkErXvhLgt1krNwm39UAm2SFmWL61mAKiSgMBvBGZMQIeEQ3Nt mNXaNGeqV8XEq9l3GWiTEhqyZqe7T+fk1Noc9NMkPy199sOzfjREk7SSLP2pCweXCP dds+RDXEDeQt99bo629/0WeO6en47Em3XtkXVRKKBfn8G4AYJk8Y6AFmaRTrMNGx3B JV7hgLb0zpeXw== From: Eshel Yaron In-Reply-To: <87fs0jtkue.fsf@posteo.net> (Thierry Volpiatto's message of "Sun, 03 Dec 2023 14:35:37 +0000") References: <87il7ib6cu.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87fs0jtkue.fsf@posteo.net> Date: Sun, 03 Dec 2023 16:05:09 +0100 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Thierry, Thierry Volpiatto writes: > Here another change related to the discussion in previous posts. > If no objections I will merge it in next days. This seems to disregard my comments entirely, I'm sure that's not intentional, but I'd appreciate it if you could consider them. To reiterate, I wrote: > Using a minibuffer to read a key has other disadvantages [beyond the > extra friction of confirming with RET]: it limits the range of keys > that can be easily used as registers since now specifying the `C-a` > register is much harder (as Michael mentioned). This also makes > register commands less convenient and even impossible (when > `enable-recursive-minibuffers` is nil) to use inside an existing > minibuffer. So it'd be great to have the previous behavior available in Emacs 30. Thanks, Eshel From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 03 Dec 2023 16:49:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eshel Yaron Cc: michael_heerdegen@web.de, Eli Zaretskii , stefankangas@gmail.com, monnier@iro.umontreal.ca, 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170162211423475 (code B ref 66394); Sun, 03 Dec 2023 16:49:01 +0000 Received: (at 66394) by debbugs.gnu.org; 3 Dec 2023 16:48:34 +0000 Received: from localhost ([127.0.0.1]:60704 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9pdw-00066O-Cw for submit@debbugs.gnu.org; Sun, 03 Dec 2023 11:48:34 -0500 Received: from mout02.posteo.de ([185.67.36.66]:53611) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9pdr-00065O-JW for 66394@debbugs.gnu.org; Sun, 03 Dec 2023 11:48:31 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 79E2C240101 for <66394@debbugs.gnu.org>; Sun, 3 Dec 2023 17:48:11 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1701622091; bh=Pim0N0wyLGEjTO34cyTzq9v7HvbPE9uTlLzOa88lpvQ=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=Oo1I4ifUr3LuKL9hKHHck8NyVdZJ60TcmWADlyHXVOisZru7KQQ4bG/aJx7caafsy CmPB59tFPgjPK06M6U26KLxU3PZIaszNnZqWPMXJQFz3ylFWwwZbnR/2Q9kkR6GwIG O+3cBUi2gCYAk/5ZRmgIFK1+PXgJwfzgC4cW55wgg1IUlowjzDC+OVfUU1GNS/yg04 IxncEYrNSWrnEVrxSsLuNejSIosmI7eYYaUPGxhAh+K4ZM7jIYUPKCzyC4uPvJoDWC BiqoMp1EsHt+BjisCCBEFZZ2AfG6gFEhY4DlCrQvATLVhf4Nu/nVwUia5F3BSbA/Ll 5N69VANbHy5hQ== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Sjt5h5gXBz6twq; Sun, 3 Dec 2023 17:48:08 +0100 (CET) From: Thierry Volpiatto In-Reply-To: (Eshel Yaron's message of "Sun, 03 Dec 2023 16:05:09 +0100 (1 hour, 10 minutes, 41 seconds ago)") References: <87il7ib6cu.fsf@posteo.net> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87fs0jtkue.fsf@posteo.net> Date: Sun, 03 Dec 2023 16:48:05 +0000 Message-ID: <87a5qrtepm.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Eshel Yaron writes: > Hi Thierry, > > Thierry Volpiatto writes: > >> Here another change related to the discussion in previous posts. >> If no objections I will merge it in next days. > > This seems to disregard my comments entirely, It doesn't. > I'm sure that's not intentional, but I'd appreciate it if you could > consider them. This finish to fix the version of register-preview I wrote (the one you don't like) regarding what bastien asked for. > So it'd be great to have the previous behavior available in Emacs 30. Sorry but I wont write this, it is not complicated to write but needs works and attention and I spent enough time on this. The only thing you mentionned I agree with is the necessity now to use C-q to insert key sequence (note that C-n/p will insert it alone), but it is not a big annoyance right? (most people don't use this, I don't for one). For the preview buffer not visible, note that you can pop to it at any moment with C-h. Perhaps you will get used to the new behavior after some time, otherwise it is easy to revert completely my commits (it is the development branch of emacs after all). =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmVssUUTHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvk2XzDAC3B8kQagcnzZkA82moNepGsGRujfov gfSCah0oKz5gGuQd6jRFuCPBiYzoSbgU6zDSzT1UQsR/vhYeFbRUUQrLCYJGC026 gmjNNAcAVEZZaUz2yeP9A+sUstmA4SVE7jEzT3l4IkrIItl+Fq66nmNDcfBIXAfW RnBltEKrVZTH0Hd+dNwaTrT5XyK1Pa4ucFBWEoTr8t4wAenmfLX38ks9gf/mkL8B fc/ozazmuyKY3NW0TbF84vsb4y1iO73dg2qgq4mNjCScc9hgJJgf2yCRNQBO3Pb9 Vpfr8uA0TguOcSlblemDSX6ZNfZWQVdXjAF9es18Dx0mK5oCGhavg4SshQpDqbYT jmJr2QiEQ4s++E6UXaX+Sazdq3ZskgLP7kMazRgfZxtUyF6Plr2u4Kf4d8dU0wgM AUjdXM4EyERSK88WRrr4NSeQyyu+m61eb8691WlIr1KjJoHobUkaiDKYlbgBnLJR bqY8RnA+NS7IKMuoxNvQ+m/7ixpwZ07aYno= =VFpx -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Eshel Yaron Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 03 Dec 2023 18:30:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: michael_heerdegen@web.de, Eli Zaretskii , 66394@debbugs.gnu.org, stefankangas@gmail.com, monnier@iro.umontreal.ca Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170162817711701 (code B ref 66394); Sun, 03 Dec 2023 18:30:02 +0000 Received: (at 66394) by debbugs.gnu.org; 3 Dec 2023 18:29:37 +0000 Received: from localhost ([127.0.0.1]:60921 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9rDl-00032f-1T for submit@debbugs.gnu.org; Sun, 03 Dec 2023 13:29:37 -0500 Received: from mail.eshelyaron.com ([107.175.124.16]:58364 helo=eshelyaron.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9rDi-00032U-GG for 66394@debbugs.gnu.org; Sun, 03 Dec 2023 13:29:35 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eshelyaron.com; s=mail; t=1701628163; bh=Sa7F1k3opF02+QlmI2/uXeWqCKG7sb6oK63u3Nuu0Yo=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=ufznt+iW+alVVW9x0LfVK7Agqfvm/AaXE0t12c+kPtEIfxX74dxfWBNZwJnrpsNy6 CqebYsNeHrZZrwP0QJb0v8k9S+ogyaFX/H/NjSwK4Xn/H8+vZeTxgkCoPHWnm8Uues kLiSheLupp/qWlj3uJCGzBe9JClIHqdEOVtzcKp4aDgHvNF1ZUFn3ZaSWXlScT00kH XHOUrRWDC4CGPG7jy9XtZAK3+RYUWvjW0kmv8VzKTIxB2cw5TiqNVj07pE/9XfDI+c t9tSx/2TKDXMCOBeRJOsRgZLnHTgN77isN5gu+wk4AtjpZHt0SMatvdXC+97rI/cBa KQq9gHKz902rg== From: Eshel Yaron In-Reply-To: <87a5qrtepm.fsf@posteo.net> (Thierry Volpiatto's message of "Sun, 03 Dec 2023 16:48:05 +0000") References: <87il7ib6cu.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87fs0jtkue.fsf@posteo.net> <87a5qrtepm.fsf@posteo.net> Date: Sun, 03 Dec 2023 19:29:19 +0100 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Thierry Volpiatto writes: > Eshel Yaron writes: > >> So it'd be great to have the previous behavior available in Emacs 30. > > Sorry but I wont write this, it is not complicated to write but needs > works and attention and I spent enough time on this. > > The only thing you mentionned I agree with is the necessity now to use C-q > to insert key sequence (note that C-n/p will insert it alone), but it is > not a big annoyance right? (most people don't use this, I don't for > one). For the preview buffer not visible, note that you can pop to it > at any moment with C-h. What about the fact that `C-x r s` and friends by default no longer work in the minibuffer? > Perhaps you will get used to the new behavior after some time, Why can't I, and other users, have the previous behavior, though? It's great to innovate with new alternatives, but why should we break user workflows in the process, without as much as a NEWS entry to warn them? > otherwise it is easy to revert completely my commits (it is the > development branch of emacs after all). Seeing as you are not willing to make this change backward compatible, I think that would make sense. I don't have commit rights to emacs.git, so I can't do that myself, though. I do think it shouldn't be that hard to extend the previous implementation to _optionally_ ask for confirmation before overwriting register contents, without using the minibuffer. That way we'd have the new behavior that you want to introduce without the added breakage. Would you be willing to test such a patch if I write it? Thanks, Eshel From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 03 Dec 2023 18:41:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eshel Yaron Cc: thievol@posteo.net, michael_heerdegen@web.de, 66394@debbugs.gnu.org, stefankangas@gmail.com, monnier@iro.umontreal.ca Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170162882513156 (code B ref 66394); Sun, 03 Dec 2023 18:41:02 +0000 Received: (at 66394) by debbugs.gnu.org; 3 Dec 2023 18:40:25 +0000 Received: from localhost ([127.0.0.1]:60965 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9rOD-0003Q7-3J for submit@debbugs.gnu.org; Sun, 03 Dec 2023 13:40:25 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:33636) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9rOA-0003Po-Eu for 66394@debbugs.gnu.org; Sun, 03 Dec 2023 13:40:23 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r9rNu-0006P2-1X; Sun, 03 Dec 2023 13:40:06 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=kZ7LSJ+yJa+OIjM6T3r4YIsSHVvtd+fRvG63A34PY0M=; b=nDz092N3jCxS 3xfa7KyoiN2LtM/VdH1W5UKGsQh/fhisPBN9YG2mmsldSrBdQeUuJBsLCcMty0vjw4C6N7JP/v4pe b4+merdyNALofXSGbyXqzbk8ZI7JB15DLo2mtzUQZud7eEYsoROdRhtwNgiM6pnrG86fxsw3XX00c EIQ2cORpo7D6VZCTW2lfvZfvA3Pk+fg6BsYWz1jwJpWcAK8tRVjeowO+a1JR+Gh1R5kqvTIN9I7qo P1I2SxLQIPzQL5CV8UKAuoWsCRSaECjwJmrNYwpetMWq4L5kiqmKKnfqXsXbMNEcPthd7IRK6x/NS BytFbzcR8b6entO8fL605Q==; Date: Sun, 03 Dec 2023 20:39:49 +0200 Message-Id: <837clv6sga.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: (message from Eshel Yaron on Sun, 03 Dec 2023 19:29:19 +0100) References: <87il7ib6cu.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87fs0jtkue.fsf@posteo.net> <87a5qrtepm.fsf@posteo.net> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Eshel Yaron > Cc: michael_heerdegen@web.de, Eli Zaretskii , > stefankangas@gmail.com, monnier@iro.umontreal.ca, 66394@debbugs.gnu.org > Date: Sun, 03 Dec 2023 19:29:19 +0100 > > > otherwise it is easy to revert completely my commits (it is the > > development branch of emacs after all). > > Seeing as you are not willing to make this change backward compatible, I > think that would make sense. I don't have commit rights to emacs.git, > so I can't do that myself, though. Thierry also said: > > So it'd be great to have the previous behavior available in Emacs 30. > > Sorry but I wont write this, it is not complicated to write but needs > works and attention and I spent enough time on this. So maybe a better way forward is for someone, perhaps you Eshel, to add whatever is needed to provide optionally the previous behavior? Would you like to work on that? From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Eshel Yaron Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 03 Dec 2023 21:24:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: thievol@posteo.net, michael_heerdegen@web.de, stefankangas@gmail.com, monnier@iro.umontreal.ca, 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170163860430751 (code B ref 66394); Sun, 03 Dec 2023 21:24:01 +0000 Received: (at 66394) by debbugs.gnu.org; 3 Dec 2023 21:23:24 +0000 Received: from localhost ([127.0.0.1]:32870 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9tvv-0007zt-1z for submit@debbugs.gnu.org; Sun, 03 Dec 2023 16:23:24 -0500 Received: from mail.eshelyaron.com ([107.175.124.16]:34690 helo=eshelyaron.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9tvr-0007zj-8j for 66394@debbugs.gnu.org; Sun, 03 Dec 2023 16:23:21 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eshelyaron.com; s=mail; t=1701638588; bh=M7nl3xqToSUbv5y+FkKxfoDfg2e3hdIUSeS192NIRhI=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=vy5wf/x6I4EzkO5vSMjdDK/7kuJjY64lQ8r5V79VZaoyxTQwr5zofw/oTac5WppOm Wb1AJWAiR1CpxnPbTJ70gYFUnO0jTn0VryBBUeV9Gog7t6Zz/W0KD8nMke60GsC8io hFbwi8WCvp159T4r1ZVZJTjlK4SnQl7dGPMVwmIYlkQvvx0nYJFEjpUnxfdr3NhZtq Y8qs9LZUQiwHsgXISdRWm5x0jND1hLTdOJPWYfUzJVY2IYZ9ZhHerPnjJE/BU9HLrh mKT3Tm3+e+V1HaViNCtoFRHTAKKUm6ChIuWYbZH7A/mUPKVZRblW14lFrrZ4bd+UiO ZoKuulWWYSiEg== From: Eshel Yaron In-Reply-To: <837clv6sga.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 03 Dec 2023 20:39:49 +0200") References: <87il7ib6cu.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87fs0jtkue.fsf@posteo.net> <87a5qrtepm.fsf@posteo.net> <837clv6sga.fsf@gnu.org> Date: Sun, 03 Dec 2023 22:23:00 +0100 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain Hi Eli, Eli Zaretskii writes: >> From: Eshel Yaron >> Cc: michael_heerdegen@web.de, Eli Zaretskii , >> stefankangas@gmail.com, monnier@iro.umontreal.ca, 66394@debbugs.gnu.org >> Date: Sun, 03 Dec 2023 19:29:19 +0100 >> >> > otherwise it is easy to revert completely my commits (it is the >> > development branch of emacs after all). >> >> Seeing as you are not willing to make this change backward compatible, I >> think that would make sense. I don't have commit rights to emacs.git, >> so I can't do that myself, though. > > Thierry also said: > >> > So it'd be great to have the previous behavior available in Emacs 30. >> >> Sorry but I wont write this, it is not complicated to write but needs >> works and attention and I spent enough time on this. > > So maybe a better way forward is for someone, perhaps you Eshel, to > add whatever is needed to provide optionally the previous behavior? > > Would you like to work on that? Sure. I'm attaching two patches, the first reverts to the previous implementation, and the second adds optional (on by default) confirmation and highlighting in the *Register Preview* buffer when you are about to overwrite the contents of a register. The idea is to provide the nice of enhancements from Thierry's patch via more minimal changes, without switching to a minibuffer based approach, and without breaking any existing behavior. --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-Revert-recent-register-preview-changes.patch >From 220c600dd8b57de5ff44974ecfddd6f36dc9c3cd Mon Sep 17 00:00:00 2001 From: Eshel Yaron Date: Sun, 3 Dec 2023 20:02:42 +0100 Subject: [PATCH 1/2] Revert recent register preview changes This reverts commits cd6e66f955d20d31686a617ed8a5cd043585c71f, 408126b6d56a0cc36f621348212e16d0715fd671, 0fa70dad21d3475d3a5dae54a09d8a9e60b668ae, 3df81fb5dc5809cab7843e5358c17d0039b55eb1, 589e6ae1fb983bfba42f20906773555037246e45. --- doc/emacs/regs.texi | 5 +- etc/NEWS | 5 - lisp/emacs-lisp/cl-generic.el | 1 - lisp/register.el | 298 +++++----------------------------- test/lisp/register-tests.el | 43 +++++ 5 files changed, 84 insertions(+), 268 deletions(-) create mode 100644 test/lisp/register-tests.el diff --git a/doc/emacs/regs.texi b/doc/emacs/regs.texi index 5e5b7ae2b16..e52f68dd18e 100644 --- a/doc/emacs/regs.texi +++ b/doc/emacs/regs.texi @@ -16,8 +16,9 @@ Registers we will denote by @var{r}; @var{r} can be a letter (such as @samp{a}) or a number (such as @samp{1}); case matters, so register @samp{a} is not the same as register @samp{A}. You can also set a register in -non-alphanumeric characters, for instance @samp{C-d} by using for -example @key{C-q} @samp{C-d}. +non-alphanumeric characters, for instance @samp{*} or @samp{C-d}. +Note, it's not possible to set a register in @samp{C-g} or @samp{ESC}, +because these keys are reserved for quitting (@pxref{Quitting}). @findex view-register A register can store a position, a piece of text, a rectangle, a diff --git a/etc/NEWS b/etc/NEWS index 29f4e5c0b66..af8e1049483 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -1154,11 +1154,6 @@ showcases all their customization options. * Incompatible Lisp Changes in Emacs 30.1 ---- -** 'register-preview-delay' is no longer used. -Register preview is no more delayed. If you want to disable it use -'register-use-preview' instead with a boolean value. - +++ ** 'M-TAB' now invokes 'completion-at-point' also in Text mode. Text mode no longer binds 'M-TAB' to 'ispell-complete-word', and diff --git a/lisp/emacs-lisp/cl-generic.el b/lisp/emacs-lisp/cl-generic.el index 0ef0d1e192a..56eb83e6f75 100644 --- a/lisp/emacs-lisp/cl-generic.el +++ b/lisp/emacs-lisp/cl-generic.el @@ -1379,7 +1379,6 @@ cl-generic-generalizers (cl--generic-prefill-dispatchers 0 integer) (cl--generic-prefill-dispatchers 1 integer) (cl--generic-prefill-dispatchers 0 cl--generic-generalizer integer) -(cl--generic-prefill-dispatchers 0 (eql 'x) integer) ;;; Dispatch on major mode. diff --git a/lisp/register.el b/lisp/register.el index 46ec38821e5..ca6de450993 100644 --- a/lisp/register.el +++ b/lisp/register.el @@ -35,8 +35,6 @@ ;; FIXME: Clean up namespace usage! -(declare-function frameset-register-p "frameset") - (cl-defstruct (registerv (:constructor nil) (:constructor registerv--make (&optional data print-func @@ -100,15 +98,6 @@ register-preview-delay :version "24.4" :type '(choice number (const :tag "No preview unless requested" nil)) :group 'register) -(make-obsolete-variable 'register-preview-delay "No longer used." "30.1") - -(defcustom register-preview-default-keys (mapcar #'string (number-sequence ?a ?z)) - "Default keys for setting a new register." - :type '(repeat string)) - -(defcustom register-use-preview t - "Always show register preview when non nil." - :type 'boolean) (defun get-register (register) "Return contents of Emacs register named REGISTER, or nil if none." @@ -131,8 +120,7 @@ register-describe-oneline (defun register-preview-default (r) "Function that is the default value of the variable `register-preview-function'." (format "%s: %s\n" - (propertize (string (car r)) - 'display (single-key-description (car r))) + (single-key-description (car r)) (register-describe-oneline (car r)))) (defvar register-preview-function #'register-preview-default @@ -140,263 +128,53 @@ register-preview-function Called with one argument, a cons (NAME . CONTENTS) as found in `register-alist'. The function should return a string, the description of the argument.") -(cl-defstruct register-preview-info - "Store data for a specific register command. -TYPES are the types of register supported. -MSG is the minibuffer message to send when a register is selected. -ACT is the type of action the command is doing on register. -SMATCH accept a boolean value to say if command accept non matching register." - types msg act smatch) - -(cl-defgeneric register-command-info (command) - "Returns a `register-preview-info' object storing data for COMMAND." - (ignore command)) -(cl-defmethod register-command-info ((_command (eql insert-register))) - (make-register-preview-info - :types '(string number) - :msg "Insert register `%s'" - :act 'insert - :smatch t)) -(cl-defmethod register-command-info ((_command (eql jump-to-register))) - (make-register-preview-info - :types '(window frame marker kmacro - file buffer file-query) - :msg "Jump to register `%s'" - :act 'jump - :smatch t)) -(cl-defmethod register-command-info ((_command (eql view-register))) - (make-register-preview-info - :types '(all) - :msg "View register `%s'" - :act 'view - :smatch t)) -(cl-defmethod register-command-info ((_command (eql append-to-register))) - (make-register-preview-info - :types '(string number) - :msg "Append to register `%s'" - :act 'modify - :smatch t)) -(cl-defmethod register-command-info ((_command (eql prepend-to-register))) - (make-register-preview-info - :types '(string number) - :msg "Prepend to register `%s'" - :act 'modify - :smatch t)) -(cl-defmethod register-command-info ((_command (eql increment-register))) - (make-register-preview-info - :types '(string number) - :msg "Increment register `%s'" - :act 'modify - :smatch t)) - -(defun register-preview-forward-line (arg) - "Move to next or previous line in register preview buffer. -If ARG is positive goto next line, if negative to previous. -Do nothing when defining or executing kmacros." - ;; Ensure user enter manually key in minibuffer when recording a macro. - (unless (or defining-kbd-macro executing-kbd-macro - (not (get-buffer-window "*Register Preview*" 'visible))) - (let ((fn (if (> arg 0) #'eobp #'bobp)) - (posfn (if (> arg 0) - #'point-min - (lambda () (1- (point-max))))) - str) - (with-current-buffer "*Register Preview*" - (let ((ovs (overlays-in (point-min) (point-max))) - pos) - (goto-char (if ovs - (overlay-start (car ovs)) - (point-min))) - (setq pos (point)) - (and ovs (forward-line arg)) - (when (and (funcall fn) - (or (> arg 0) (eql pos (point)))) - (goto-char (funcall posfn))) - (setq str (buffer-substring-no-properties - (pos-bol) (1+ (pos-bol)))) - (remove-overlays) - (with-selected-window (minibuffer-window) - (delete-minibuffer-contents) - (insert str))))))) - -(defun register-preview-next () - "Goto next line in register preview buffer." - (interactive) - (register-preview-forward-line 1)) - -(defun register-preview-previous () - "Goto previous line in register preview buffer." - (interactive) - (register-preview-forward-line -1)) - -(defun register-type (register) - "Return REGISTER type. -Current register types actually returned are one of: -- string -- number -- marker -- buffer -- file -- file-query -- window -- frame -- kmacro - -One can add new types to a specific command by defining a new `cl-defmethod' -matching this command. Predicate for type in new `cl-defmethod' should -satisfy `cl-typep' otherwise the new type should be defined with -`cl-deftype'." - ;; Call register--type against the register value. - (register--type (if (consp (cdr register)) - (cadr register) - (cdr register)))) - -(cl-defgeneric register--type (regval) - "Returns type of register value REGVAL." - (ignore regval)) - -(cl-defmethod register--type ((_regval string)) 'string) -(cl-defmethod register--type ((_regval number)) 'number) -(cl-defmethod register--type ((_regval marker)) 'marker) -(cl-defmethod register--type ((_regval (eql 'buffer))) 'buffer) -(cl-defmethod register--type ((_regval (eql 'file))) 'file) -(cl-defmethod register--type ((_regval (eql 'file-query))) 'file-query) -(cl-defmethod register--type ((_regval window-configuration)) 'window) -(cl-deftype frame-register () '(satisfies frameset-register-p)) -(cl-defmethod register--type :extra "frame-register" (_regval) 'frame) -(cl-deftype kmacro-register () '(satisfies kmacro-register-p)) -(cl-defmethod register--type :extra "kmacro-register" (_regval) 'kmacro) - -(defun register-of-type-alist (types) - "Filter `register-alist' according to TYPES." - (if (memq 'all types) - register-alist - (cl-loop for register in register-alist - when (memq (register-type register) types) - collect register))) - -(defun register-preview (buffer &optional show-empty types) +(defun register-preview (buffer &optional show-empty) "Pop up a window showing the registers preview in BUFFER. If SHOW-EMPTY is non-nil, show the window even if no registers. -Argument TYPES (a list) specify the types of register to show, when nil show all -registers, see `register-type' for suitable types. Format of each entry is controlled by the variable `register-preview-function'." - (let ((registers (register-of-type-alist (or types '(all))))) - (when (or show-empty (consp registers)) - (with-current-buffer-window - buffer - (cons 'display-buffer-below-selected - '((window-height . fit-window-to-buffer) - (preserve-size . (nil . t)))) - nil - (with-current-buffer standard-output - (setq cursor-in-non-selected-windows nil) - (mapc (lambda (elem) - (when (get-register (car elem)) - (insert (funcall register-preview-function elem)))) - registers)))))) - -(cl-defgeneric register-preview-get-defaults (action) - "Returns default registers according to ACTION." - (ignore action)) -(cl-defmethod register-preview-get-defaults ((_action (eql set))) - (cl-loop for s in register-preview-default-keys - unless (assoc (string-to-char s) register-alist) - collect s)) + (when (or show-empty (consp register-alist)) + (with-current-buffer-window + buffer + (cons 'display-buffer-below-selected + '((window-height . fit-window-to-buffer) + (preserve-size . (nil . t)))) + nil + (with-current-buffer standard-output + (setq cursor-in-non-selected-windows nil) + (mapc (lambda (elem) + (when (get-register (car elem)) + (insert (funcall register-preview-function elem)))) + register-alist))))) (defun register-read-with-preview (prompt) "Read and return a register name, possibly showing existing registers. -Prompt with the string PROMPT. +Prompt with the string PROMPT. If `register-alist' and +`register-preview-delay' are both non-nil, display a window +listing existing registers after `register-preview-delay' seconds. If `help-char' (or a member of `help-event-list') is pressed, display such a window regardless." (let* ((buffer "*Register Preview*") - (pat "") - (map (let ((m (make-sparse-keymap))) - (set-keymap-parent m minibuffer-local-map) - m)) - (data (register-command-info this-command)) - types msg result timer act win strs smatch) - (if data - (setq types (register-preview-info-types data) - msg (register-preview-info-msg data) - act (register-preview-info-act data) - smatch (register-preview-info-smatch data)) - (setq types '(all) - msg "Overwrite register `%s'" - act 'set)) - (setq strs (mapcar (lambda (x) - (string (car x))) - (register-of-type-alist types))) - (when (and (memq act '(insert jump view)) (null strs)) - (error "No register suitable for `%s'" act)) - (dolist (k (cons help-char help-event-list)) - (define-key map - (vector k) (lambda () - (interactive) - (unless (get-buffer-window buffer) - (with-selected-window (minibuffer-selected-window) - (register-preview buffer 'show-empty types)))))) - (define-key map (kbd "") 'register-preview-next) - (define-key map (kbd "") 'register-preview-previous) - (define-key map (kbd "C-n") 'register-preview-next) - (define-key map (kbd "C-p") 'register-preview-previous) - (unless (or executing-kbd-macro (null register-use-preview)) - (register-preview buffer nil types)) + (timer (when (numberp register-preview-delay) + (run-with-timer register-preview-delay nil + (lambda () + (unless (get-buffer-window buffer) + (register-preview buffer)))))) + (help-chars (cl-loop for c in (cons help-char help-event-list) + when (not (get-register c)) + collect c))) (unwind-protect - (progn - (minibuffer-with-setup-hook - (lambda () - (setq timer - (run-with-idle-timer - 0.01 'repeat - (lambda () - (with-selected-window (minibuffer-window) - (let ((input (minibuffer-contents))) - (when (> (length input) 1) - (let ((new (substring input 1)) - (old (substring input 0 1))) - (setq input (if (or (null smatch) - (member new strs)) - new old)) - (delete-minibuffer-contents) - (insert input))) - (when (and smatch (not (string= input "")) - (not (member input strs))) - (setq input "") - (delete-minibuffer-contents) - (minibuffer-message "Not matching")) - (when (not (string= input pat)) - (setq pat input)))) - (if (setq win (get-buffer-window buffer)) - (with-selected-window win - (let ((ov (make-overlay (point-min) (point-min)))) - (goto-char (point-min)) - (remove-overlays) - (unless (string= pat "") - (if (re-search-forward (concat "^" pat) nil t) - (progn (move-overlay - ov - (match-beginning 0) (pos-eol)) - (overlay-put ov 'face 'match) - (when msg - (with-selected-window (minibuffer-window) - (minibuffer-message msg pat)))) - (with-selected-window (minibuffer-window) - (minibuffer-message - "Register `%s' is empty" pat)))))) - (unless (string= pat "") - (if (member pat strs) - (with-selected-window (minibuffer-window) - (minibuffer-message msg pat)) - (with-selected-window (minibuffer-window) - (minibuffer-message - "Register `%s' is empty" pat))))))))) - (setq result (read-from-minibuffer - prompt nil map nil nil (register-preview-get-defaults act)))) - (cl-assert (and result (not (string= result ""))) - nil "No register specified") - (string-to-char result)) - (when timer (cancel-timer timer)) + (progn + (while (memq (read-key (propertize prompt 'face 'minibuffer-prompt)) + help-chars) + (unless (get-buffer-window buffer) + (register-preview buffer 'show-empty))) + (when (or (eq ?\C-g last-input-event) + (eq 'escape last-input-event) + (eq ?\C-\[ last-input-event)) + (keyboard-quit)) + (if (characterp last-input-event) last-input-event + (error "Non-character input-event"))) + (and (timerp timer) (cancel-timer timer)) (let ((w (get-buffer-window buffer))) (and (window-live-p w) (delete-window w))) (and (get-buffer buffer) (kill-buffer buffer))))) diff --git a/test/lisp/register-tests.el b/test/lisp/register-tests.el new file mode 100644 index 00000000000..6283d1c31e0 --- /dev/null +++ b/test/lisp/register-tests.el @@ -0,0 +1,43 @@ +;;; register-tests.el --- tests for register.el -*- lexical-binding: t-*- + +;; Copyright (C) 2017-2023 Free Software Foundation, Inc. + +;; Author: Tino Calancha +;; Keywords: + +;; This file is part of GNU Emacs. + +;; GNU Emacs is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; GNU Emacs is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs. If not, see . + +;;; Commentary: + + +;;; Code: +(require 'ert) +(require 'cl-lib) + +(ert-deftest register-test-bug27634 () + "Test for https://debbugs.gnu.org/27634 ." + (dolist (event (list ?\C-g 'escape ?\C-\[)) + (cl-letf (((symbol-function 'read-key) #'ignore) + (last-input-event event) + (register-alist nil)) + (should (equal 'quit + (condition-case err + (call-interactively 'point-to-register) + (quit (car err))))) + (should-not register-alist)))) + +(provide 'register-tests) +;;; register-tests.el ends here -- 2.42.0 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0002-Optionally-ask-for-confirmation-before-overwriting-r.patch >From d1538aadc4f3d0da6a8c550248f8d348edb96116 Mon Sep 17 00:00:00 2001 From: Eshel Yaron Date: Sun, 3 Dec 2023 20:44:16 +0100 Subject: [PATCH 2/2] Optionally ask for confirmation before overwriting registers Commands can now call 'register-read-with-preview' with optional argument CONFIRM to ask the user for confirmation if they choose a register that is already in use, subject to new user option 'register-confirm-overwrite'. Commands that write to registers are adapted to make use of this new argument. When asking for confirmation, Emacs also highlights the selected register in the *Register Preview* buffer. * lisp/register.el (register-confirm-overwrite): New user option. (register-preview): New optional argument HIGHLIGHT. (register-read-with-preview): Use them. New optional arg CONFIRM. (point-to-register,window-configuration-to-register) (frame-configuration-to-register,number-to-register) (copy-to-register,copy-rectangle-to-register) * lisp/textmodes/picture.el (picture-clear-rectangle-to-register) * lisp/calc/calc-yank.el (calc-copy-to-register) * lisp/cedet/semantic/senator.el (senator-copy-tag-to-register) * lisp/frameset.el (frameset-to-register) * lisp/kmacro.el (kmacro-to-register) * lisp/play/gametree.el (gametree-layout-to-register): Use new arg. * doc/lispref/text.texi (Registers): Update. * etc/NEWS: Announce. --- doc/lispref/text.texi | 8 +++-- etc/NEWS | 6 ++++ lisp/calc/calc-yank.el | 2 +- lisp/cedet/semantic/senator.el | 2 +- lisp/frameset.el | 2 +- lisp/kmacro.el | 2 +- lisp/play/gametree.el | 2 +- lisp/register.el | 62 ++++++++++++++++++++++++---------- lisp/textmodes/picture.el | 2 +- 9 files changed, 61 insertions(+), 27 deletions(-) diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi index 5d05ef18d4f..9f5b846b92d 100644 --- a/doc/lispref/text.texi +++ b/doc/lispref/text.texi @@ -4710,7 +4710,7 @@ Registers changed in the future. @end deffn -@defun register-read-with-preview prompt +@defun register-read-with-preview prompt &optional confirm @cindex register preview This function reads and returns a register name, prompting with @var{prompt} and possibly showing a preview of the existing registers @@ -4718,8 +4718,10 @@ Registers the delay specified by the user option @code{register-preview-delay}, if its value and @code{register-alist} are both non-@code{nil}. The preview is also shown if the user requests help (e.g., by typing the -help character). We recommend that all interactive commands which -read register names use this function. +help character). If optional argument @var{confirm} is +non-@code{nil}, this function asks for confirmation before returning a +register that is already in use. We recommend that all interactive +commands which read register names use this function. @end defun @node Transposition diff --git a/etc/NEWS b/etc/NEWS index af8e1049483..0617c8dc218 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -1085,6 +1085,12 @@ macros with many lines, such as from 'kmacro-edit-lossage'. ** Miscellaneous ++++ +*** New user option 'register-confirm-overwrite'. +Emacs now defaults to asking for confirmation before overwriting +registers with existing contents. To disable such confirmation, +customize this option to nil. + --- *** Webjump now assumes URIs are HTTPS instead of HTTP. For links in 'webjump-sites' without an explicit URI scheme, it was diff --git a/lisp/calc/calc-yank.el b/lisp/calc/calc-yank.el index a2a91dc8fb8..ed1a8e1c046 100644 --- a/lisp/calc/calc-yank.el +++ b/lisp/calc/calc-yank.el @@ -281,7 +281,7 @@ calc-copy-to-register With prefix arg, delete as well. Interactively, reads the register using `register-read-with-preview'." - (interactive (list (register-read-with-preview "Copy to register: ") + (interactive (list (register-read-with-preview "Copy to register: " t) (region-beginning) (region-end) current-prefix-arg)) (if (eq major-mode 'calc-mode) diff --git a/lisp/cedet/semantic/senator.el b/lisp/cedet/semantic/senator.el index ca4334eaff5..2c1fc4fda3b 100644 --- a/lisp/cedet/semantic/senator.el +++ b/lisp/cedet/semantic/senator.el @@ -736,7 +736,7 @@ senator-copy-tag-to-register kill ring. Interactively, reads the register using `register-read-with-preview'." - (interactive (list (register-read-with-preview "Tag to register: ") + (interactive (list (register-read-with-preview "Tag to register: " t) current-prefix-arg)) (semantic-fetch-tags) (let ((ft (semantic-obtain-foreign-tag))) diff --git a/lisp/frameset.el b/lisp/frameset.el index 224746bbfe3..63ff4668541 100644 --- a/lisp/frameset.el +++ b/lisp/frameset.el @@ -1451,7 +1451,7 @@ frameset-to-register Argument is a character, naming the register. Interactively, reads the register using `register-read-with-preview'." - (interactive (list (register-read-with-preview "Frameset to register: "))) + (interactive (list (register-read-with-preview "Frameset to register: " t))) (set-register register (frameset-make-register (frameset-save nil diff --git a/lisp/kmacro.el b/lisp/kmacro.el index 588b2d14943..a7aa2c88508 100644 --- a/lisp/kmacro.el +++ b/lisp/kmacro.el @@ -967,7 +967,7 @@ kmacro-to-register (interactive (progn (or last-kbd-macro (error "No keyboard macro defined")) - (list (register-read-with-preview "Save to register: ")))) + (list (register-read-with-preview "Save to register: " t)))) (set-register r (kmacro-ring-head))) diff --git a/lisp/play/gametree.el b/lisp/play/gametree.el index 971d8ea70ca..e46770af2da 100644 --- a/lisp/play/gametree.el +++ b/lisp/play/gametree.el @@ -523,7 +523,7 @@ gametree-layout-to-register Argument is a character, naming the register. Interactively, reads the register using `register-read-with-preview'." - (interactive (list (register-read-with-preview "Layout to register: "))) + (interactive (list (register-read-with-preview "Layout to register: " t))) (save-excursion (goto-char (point-min)) (set-register register diff --git a/lisp/register.el b/lisp/register.el index ca6de450993..4e400fbff2c 100644 --- a/lisp/register.el +++ b/lisp/register.el @@ -99,6 +99,12 @@ register-preview-delay :type '(choice number (const :tag "No preview unless requested" nil)) :group 'register) +(defcustom register-confirm-overwrite t + "Whether to ask for confirmation before overwriting register contents." + :version "30.1" + :type 'boolean + :group 'register) + (defun get-register (register) "Return contents of Emacs register named REGISTER, or nil if none." (alist-get register register-alist)) @@ -128,10 +134,12 @@ register-preview-function Called with one argument, a cons (NAME . CONTENTS) as found in `register-alist'. The function should return a string, the description of the argument.") -(defun register-preview (buffer &optional show-empty) +(defun register-preview (buffer &optional show-empty highlight) "Pop up a window showing the registers preview in BUFFER. If SHOW-EMPTY is non-nil, show the window even if no registers. -Format of each entry is controlled by the variable `register-preview-function'." +Optional argument HIGHLIGHT says to highlight the description of +a register with that name. Format of each entry is controlled by +the variable `register-preview-function'." (when (or show-empty (consp register-alist)) (with-current-buffer-window buffer @@ -140,19 +148,26 @@ register-preview (preserve-size . (nil . t)))) nil (with-current-buffer standard-output + (delete-region (point-min) (point-max)) (setq cursor-in-non-selected-windows nil) (mapc (lambda (elem) - (when (get-register (car elem)) - (insert (funcall register-preview-function elem)))) + (when-let ((name (car elem)) + (reg (get-register name)) + (desc (funcall register-preview-function elem))) + (when (equal highlight name) + (add-face-text-property 0 (length desc) 'match nil desc)) + (insert desc))) register-alist))))) -(defun register-read-with-preview (prompt) +(defun register-read-with-preview (prompt &optional confirm) "Read and return a register name, possibly showing existing registers. -Prompt with the string PROMPT. If `register-alist' and +Prompt with the string PROMPT. Optional argument CONFIRM says to +ask for confirmation if the register is already in use and +`register-confirm-overwrite' is non-nil. If `register-alist' and `register-preview-delay' are both non-nil, display a window -listing existing registers after `register-preview-delay' seconds. -If `help-char' (or a member of `help-event-list') is pressed, -display such a window regardless." +listing existing registers after `register-preview-delay' +seconds. If `help-char' (or a member of `help-event-list') is +pressed, display such a window regardless." (let* ((buffer "*Register Preview*") (timer (when (numberp register-preview-delay) (run-with-timer register-preview-delay nil @@ -168,10 +183,20 @@ register-read-with-preview help-chars) (unless (get-buffer-window buffer) (register-preview buffer 'show-empty))) - (when (or (eq ?\C-g last-input-event) - (eq 'escape last-input-event) - (eq ?\C-\[ last-input-event)) + (cond + ((or (eq ?\C-g last-input-event) + (eq 'escape last-input-event) + (eq ?\C-\[ last-input-event)) (keyboard-quit)) + ((and (get-register last-input-event) + confirm register-confirm-overwrite + (not (progn + (register-preview buffer nil last-input-event) + (y-or-n-p (substitute-quotes + (format "Overwrite register `%s'?" + (single-key-description + last-input-event)))))) + (user-error "Register already in use")))) (if (characterp last-input-event) last-input-event (error "Non-character input-event"))) (and (timerp timer) (cancel-timer timer)) @@ -189,7 +214,8 @@ point-to-register (interactive (list (register-read-with-preview (if current-prefix-arg "Frame configuration to register: " - "Point to register: ")) + "Point to register: ") + t) current-prefix-arg)) ;; Turn the marker into a file-ref if the buffer is killed. (add-hook 'kill-buffer-hook 'register-swap-out nil t) @@ -204,7 +230,7 @@ window-configuration-to-register Interactively, prompt for REGISTER using `register-read-with-preview'." (interactive (list (register-read-with-preview - "Window configuration to register: ") + "Window configuration to register: " t) current-prefix-arg)) ;; current-window-configuration does not include the value ;; of point in the current buffer, so record that separately. @@ -222,7 +248,7 @@ frame-configuration-to-register Interactively, prompt for REGISTER using `register-read-with-preview'." (interactive (list (register-read-with-preview - "Frame configuration to register: ") + "Frame configuration to register: " t) current-prefix-arg)) ;; current-frame-configuration does not include the value ;; of point in the current buffer, so record that separately. @@ -316,7 +342,7 @@ number-to-register Interactively, prompt for REGISTER using `register-read-with-preview'." (interactive (list current-prefix-arg - (register-read-with-preview "Number to register: "))) + (register-read-with-preview "Number to register: " t))) (set-register register (if number (prefix-numeric-value number) @@ -527,7 +553,7 @@ copy-to-register Interactively, prompt for REGISTER using `register-read-with-preview' and use mark and point as START and END; REGION is always non-nil in this case." - (interactive (list (register-read-with-preview "Copy to register: ") + (interactive (list (register-read-with-preview "Copy to register: " t) (region-beginning) (region-end) current-prefix-arg @@ -605,7 +631,7 @@ copy-rectangle-to-register Interactively, prompt for REGISTER using `register-read-with-preview', and use mark and point as START and END." (interactive (list (register-read-with-preview - "Copy rectangle to register: ") + "Copy rectangle to register: " t) (region-beginning) (region-end) current-prefix-arg)) diff --git a/lisp/textmodes/picture.el b/lisp/textmodes/picture.el index f98c3963b6f..efa59e0682f 100644 --- a/lisp/textmodes/picture.el +++ b/lisp/textmodes/picture.el @@ -503,7 +503,7 @@ picture-clear-rectangle-to-register Interactively, reads the register using `register-read-with-preview'." (interactive (list (region-beginning) (region-end) - (register-read-with-preview "Rectangle to register: ") + (register-read-with-preview "Rectangle to register: " t) current-prefix-arg)) (set-register register (picture-snarf-rectangle start end killp))) -- 2.42.0 --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 04 Dec 2023 07:31:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eshel Yaron Cc: michael_heerdegen@web.de, Eli Zaretskii , stefankangas@gmail.com, monnier@iro.umontreal.ca, 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.17016750518482 (code B ref 66394); Mon, 04 Dec 2023 07:31:02 +0000 Received: (at 66394) by debbugs.gnu.org; 4 Dec 2023 07:30:51 +0000 Received: from localhost ([127.0.0.1]:33391 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rA3Pm-0002Ck-JZ for submit@debbugs.gnu.org; Mon, 04 Dec 2023 02:30:50 -0500 Received: from mout01.posteo.de ([185.67.36.65]:34237) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rA3Pj-0002CV-KZ for 66394@debbugs.gnu.org; Mon, 04 Dec 2023 02:30:49 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 39002240029 for <66394@debbugs.gnu.org>; Mon, 4 Dec 2023 08:30:30 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1701675031; bh=qxO6T0ESAZytoSXbR8na2dniNDnCEfgv/1R/jOYZjBU=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=FhvpDUpYxzGL/hIS8HgrNxsqCuy6vF3eT6X1cRh/tDb3e9VntxcZ0mD1R/qPrHXrn l396TfJuzG5wJ1WBSLKMubJmtcboKLl5MMrj13ZU9SI8jMVal7Srhj+8NTSEU7RiwF ladq3isMz8pDJn2SEpMHqBUZfdCUI8JvSSsG/Bdni2wuWxY9M08y7dvbPPxMiqEzr8 8fsV5IUxL99ZpMNnD6xJwPz+LD6zaM3aNXYx77Ccw5JZy1zrtK+esfoWOJ/Y/QF77w K96IqhGCgKHE3Y7c7mKqIfrGhDlc/SRdt0qG0VXpEM9Cmo6/IP7wq3aGb5pf6qVUBU va7IFaFlXJF8A== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4SkFgm3DWNz6twF; Mon, 4 Dec 2023 08:30:28 +0100 (CET) From: Thierry Volpiatto In-Reply-To: (Eshel Yaron's message of "Sun, 03 Dec 2023 22:23:00 +0100 (9 hours, 51 minutes, 35 seconds ago)") References: <87il7ib6cu.fsf@posteo.net> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87fs0jtkue.fsf@posteo.net> <87a5qrtepm.fsf@posteo.net> <837clv6sga.fsf@gnu.org> Date: Mon, 04 Dec 2023 07:30:25 +0000 Message-ID: <87r0k2pgq6.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Eshel Yaron writes: > The idea is to provide the nice of enhancements from Thierry's patch via > more minimal changes, Your patch fails to provide all the enhancements I had provided. =2D No filtering. =2D No navigation. =2D No default registers. =2D No possibility to configure a new command added to register. =2D You reintroduced the old implementation which was not wrote correctly about handling various keys, particularly C-g. =2D About overwriting, now you have to press "y" to confirm instead of pressing RET. =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmVtgBETHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvk97FDADButnsFMDuNIJiFhn14wXALYbqrpz5 2sd+irK5QCLZteUBAxbGnM4vQn9+sqQw6ZIVYYeCRrNlP+JbeR8XOjv+qKDeNXdB B5LTXwV/bSJ1VvavJbHCG7ehR9dRMARQ5TyXfFzidBYkLAzz9+nxwm10QqT4dxjn OJAQfmMqJ96IGqSt6tn2aQOejdna8qZDGDIOn2Y5+3Pm5SAp1lNDFo3kRC8sNVDK d3sXs6No8OntR8X5pV/i5K1lU2gB7LnvFK04TlZxZK6XX5ZeFQL66GR5xia4+oaB tzUFO38zvQbZS6OtNINh4laeczWF0nM6DQBMf/pRnzqD+fupld7Ej07XMobdH0s9 cv3FhAFHt4gXdeVlwDUR1AU3BcNzchQSdIwvwfdj8/KpDZ1NDU7BIGfh6URn2FJF +wBtC3npjzjMY/Bwb6SewXdxjKV9w05AX+kQtxr7wrtqhGlZXRS7G9opxuooqoe+ u2wh0HsWT28cbNeM8VEJdkKCoxrSLULZuZM= =s97V -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Eshel Yaron Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 04 Dec 2023 07:59:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: michael_heerdegen@web.de, Eli Zaretskii , stefankangas@gmail.com, monnier@iro.umontreal.ca, 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170167668511443 (code B ref 66394); Mon, 04 Dec 2023 07:59:01 +0000 Received: (at 66394) by debbugs.gnu.org; 4 Dec 2023 07:58:05 +0000 Received: from localhost ([127.0.0.1]:33417 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rA3q8-0002yV-JB for submit@debbugs.gnu.org; Mon, 04 Dec 2023 02:58:04 -0500 Received: from mail.eshelyaron.com ([107.175.124.16]:51454 helo=eshelyaron.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rA3q5-0002y9-If for 66394@debbugs.gnu.org; Mon, 04 Dec 2023 02:58:02 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eshelyaron.com; s=mail; t=1701676670; bh=k/N9Ipap95+ho+wWUpqeOVkVNUwQ7QdxoCLSgO0mlY0=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=Gfv+gvqaHU2AI9so0nF9k88yDQkaAS0binC6CZnRBhB9VSz3yeOz78ou+/pfxMv7i 8YlKCGgdzEBksUapJ7knqqqlA33k4EOKr5E2Tyb+q95tWMzF9DgvXv1n3Qq2Ps+3nA 4RHEYlvEJwzlMAEm4k6uyVeZJAlNAo7XioKYHNwP2tcc0LF8vXGP94z9d4d4h8OojI T9Y4osIg0cHeVCM7QWHPL9kjTWLrokVELSGNUak+hoJQ+XRCa2lfUPyfaCmogg0RSe NsAG6FI32l+0/2lqooBpP9yGwyMBezcPy15C2lEswUanpmHAPRXMZU0J2cBDQL4ONF SoLnK36ccvZbw== From: Eshel Yaron In-Reply-To: <87r0k2pgq6.fsf@posteo.net> (Thierry Volpiatto's message of "Mon, 04 Dec 2023 07:30:25 +0000") References: <87il7ib6cu.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87fs0jtkue.fsf@posteo.net> <87a5qrtepm.fsf@posteo.net> <837clv6sga.fsf@gnu.org> <87r0k2pgq6.fsf@posteo.net> Date: Mon, 04 Dec 2023 08:57:47 +0100 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Thierry, Thierry Volpiatto writes: > Eshel Yaron writes: > >> The idea is to provide the nice of enhancements from Thierry's patch via >> more minimal changes, > > Your patch fails to provide all the enhancements I had provided. Thanks for testing. Indeed, I only reimplemented the parts I saw as clearly beneficial. Most importantly, my patch improves stuff without breaking other stuff. Perhaps you can explain your use case for the rest of the changes, and if there's a good and compatible way to add them I'll be happy to look into it at some point. > - No filtering. > - No navigation. > - No default registers. > - No possibility to configure a new command added to register. If you could elaborate about these bullets, and explain their use, that'd be great. > - You reintroduced the old implementation which was not wrote correctly > about handling various keys, particularly C-g. How so? Works well over here, AFAICT, as it did in Emacs 29. > - About overwriting, now you have to press "y" to confirm instead of > pressing RET. Yes, I think `y-or-n-p` is more user friendly here, don't you? Cheers, Eshel From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful References: <87il7ib6cu.fsf@posteo.net> In-Reply-To: <87il7ib6cu.fsf@posteo.net> Resent-From: Tino Calancha Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 05 Dec 2023 07:35:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170176169221652 (code B ref 66394); Tue, 05 Dec 2023 07:35:02 +0000 Received: (at 66394) by debbugs.gnu.org; 5 Dec 2023 07:34:52 +0000 Received: from localhost ([127.0.0.1]:36521 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rAPxE-0005dA-Ba for submit@debbugs.gnu.org; Tue, 05 Dec 2023 02:34:52 -0500 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]:59791) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rAPxC-0005cu-Au for 66394@debbugs.gnu.org; Tue, 05 Dec 2023 02:34:50 -0500 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-40c0a03eb87so22699935e9.3 for <66394@debbugs.gnu.org>; Mon, 04 Dec 2023 23:34:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701761673; x=1702366473; darn=debbugs.gnu.org; h=mime-version:message-id:subject:to:date:from:from:to:cc:subject :date:message-id:reply-to; bh=L2SvzdoSuFv3SUfa5Pl6XYDdS1udhPU98qjXqp0vf18=; b=ngbXqVHBbH6JaPO2dpzJbnhNZiYhYvSawLmDPfAdIDe4SRwB0Mr+Eht0Q4UG8et+fj /cKSqKjdfeKauhmdGYhkReK+eIDYk7XhdWZ6prNMl6PFne+HBz3d37mGQxbHTKqpUpd3 7wLT8H0qSLR0QQ/7DTuJS4B8ssaDLsRIQIETRJGS6S8sfDCYPaQP08UwOAb3g6JNbBGK RRXVRJ+xGgR1CN1NxzvIv9GaBz+ydLt5ta9EUI5j4AHdjlbYHWHfYW85Bh7JNGPZzJu9 VY/KPI3MK04d4x9IjJjDMrJCIk7Zu2qGK50IqVocldu5rqH66fFT3M2sHQWYRireOM3S 9bMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701761673; x=1702366473; h=mime-version:message-id:subject:to:date:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=L2SvzdoSuFv3SUfa5Pl6XYDdS1udhPU98qjXqp0vf18=; b=ARzjlS5v+sUWLugPD3Xlg+OVrO/PDJIVhHAecPoz7UsYETJoWU4D/0Bc3okntfV9d4 85AAOkHf1HjwSWy4Cv5qhDjm5317QVeM6Jo5e3bI9TJ4fw0i+2tXptbjW6cttzHfWvsA E7bNIiXLNBIiXo9UJN+SEMc0S/w/tEnK3zYpzNDXu5aAbkYGt6OPAhiC56xUVB5RQysE xCjHqpTTbEnfBw9b72i0SUhBf6EtkXmsy7aS4d6WUyOyz1P7TFW0UkzUYHsND2yAShVy /TxkO97ZP5/LYZc0maeyEnbxg2+syZM+rulsm85FZ1sRDU29C3DEsLj1+VJoeBJVub/R BOqQ== X-Gm-Message-State: AOJu0Yw6G5GIVBOydY5Hnek4xjTlOHVwgG12+jhh9KZWUiF4fqhTIQBB Vo/WbOIq8FH+K6Sq4uu1Qf0xQk9yb8o= X-Google-Smtp-Source: AGHT+IGKlf7IWat5h92kQlEl6Vb+v7tos2tG+132b2y5SZbbYDUdCOiLPTQQZDMZCDu8Y4751OyDkQ== X-Received: by 2002:a7b:ce88:0:b0:40b:5e59:f731 with SMTP id q8-20020a7bce88000000b0040b5e59f731mr1709336wmj.163.1701761672661; Mon, 04 Dec 2023 23:34:32 -0800 (PST) Received: from tcalanch ([193.118.249.171]) by smtp.gmail.com with ESMTPSA id z3-20020a05600c0a0300b0040839fcb217sm18013493wmp.8.2023.12.04.23.34.31 for <66394@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Dec 2023 23:34:32 -0800 (PST) From: Tino Calancha X-Google-Original-From: Tino Calancha Date: Tue, 5 Dec 2023 08:34:25 +0100 (CET) Message-ID: <3deebdf4-3fbe-d670-f975-1815b2e998de@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset=US-ASCII X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Michael Heerdegen web.de> writes: >> There is only RET as additional key and it is a good thing IMO as it >> let the time to user to see what he is doing. > But wait: What I find confusing is that I also need need to confirm for >`jump-to-register'. Is this intended? Please consider revising the patch to maintain backward compatibility. I find the fact that jump-to-register works without confirmation to be a very useful feature. Thank you! Tino From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful References: <87il7ib6cu.fsf@posteo.net> In-Reply-To: <87il7ib6cu.fsf@posteo.net> Resent-From: Tino Calancha Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 05 Dec 2023 07:40:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170176194622050 (code B ref 66394); Tue, 05 Dec 2023 07:40:01 +0000 Received: (at 66394) by debbugs.gnu.org; 5 Dec 2023 07:39:06 +0000 Received: from localhost ([127.0.0.1]:36525 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rAQ1K-0005ja-2Z for submit@debbugs.gnu.org; Tue, 05 Dec 2023 02:39:06 -0500 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]:53527) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rAQ1H-0005j6-V0 for 66394@debbugs.gnu.org; Tue, 05 Dec 2023 02:39:04 -0500 Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-332d5c852a0so4167124f8f.3 for <66394@debbugs.gnu.org>; Mon, 04 Dec 2023 23:38:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701761927; x=1702366727; darn=debbugs.gnu.org; h=mime-version:message-id:subject:to:date:from:from:to:cc:subject :date:message-id:reply-to; bh=jf1P/Ik1euycQoX+BE1bUMfD7HDcveGMqbzxecqAvGY=; b=Kt7nuiUmZ+K5dwg9M/hNx7ilNuWb5KGqeip3Bmxrd2s06KKFWRawNm40xGVU54XGtG ha1FlgYC2JoW31xYSWuIUa7KIdTQkZ4AvKPIBvIHEYxex0bHEj3pd5yhnNjbmyV2nxk0 cuuOguJHfR4kx+HjGnHN4LRoL6LbOhwXu04IzBpKORSRSv57VUsM1HWoBwaymeD180Ko 7jUTC0U0KjEzXKvl0AjR6jc+v/0Z1BIozncmkW+1gPNwKD+VRKA+CFyeByD0VvcSC/hW RzNwg64pt7TwzUF2wSA12ggLp4fkjkQDgbIXqW8xOK4P6hHNiEPdXFImp/tmY82NAtdI n3lg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701761927; x=1702366727; h=mime-version:message-id:subject:to:date:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=jf1P/Ik1euycQoX+BE1bUMfD7HDcveGMqbzxecqAvGY=; b=G2xFvih1Qztvs77tVFFvp9q+dtZ3b4r5LH1N6NnotOILyuJyh751ln5gFUbcjLFBUB kV983f7gkn1exCmvv+xllPXEEzzFxsDEFuacg61oJWl+mhkMXnynX7czOdPaEMfJJCkF HqDVAHK/NY6SNXJWartsxcLp7IyUnoABy6xZLudiskb1gq1pR/P5xfhPRWydL0NixKap Caf1d+6alnh7BnIid23QfWa+VoM0ia086qOTV87gXMNc3OjKrYnaY7pHZjZCpHrX/qWZ LLjzR/v4VxgrVZF4TabP/Gd5RnbC31eOr2bm06PmWQdHWpsi9HR2tImizTFWz8v425F9 CqYg== X-Gm-Message-State: AOJu0YwXfku/154C/q7x54qGSdPE4evFffp3TtXDF2sSWEbMjFsNFw4/ dOGoJCp/uHFnGwmQMmwvEBc6GfzzD3w= X-Google-Smtp-Source: AGHT+IG9vXVt0+48Axgm5vffeVjrqm4TSj+EIO5i4UkestiM63y8pmagYGWyCUYIbjiKmZkJNln3Kg== X-Received: by 2002:adf:e4d0:0:b0:333:3c21:822d with SMTP id v16-20020adfe4d0000000b003333c21822dmr2196539wrm.1.1701761926942; Mon, 04 Dec 2023 23:38:46 -0800 (PST) Received: from tcalanch ([193.118.249.171]) by smtp.gmail.com with ESMTPSA id b7-20020a056000054700b003334460e256sm5913360wrf.92.2023.12.04.23.38.46 for <66394@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Dec 2023 23:38:46 -0800 (PST) From: Tino Calancha X-Google-Original-From: Tino Calancha Date: Tue, 5 Dec 2023 08:38:34 +0100 (CET) Message-ID: MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset=US-ASCII X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Michael Heerdegen web.de> >> There is only RET as additional key and it is a good thing IMO as it >> let the time to user to see what he is doing. >But wait: What I find confusing is that I also need need to confirm for >`jump-to-register'. Is this intended? Please consider revising the patch to maintain backward compatibility. I consider the fact that jump-to-register works without confirmation to be an important feature. Thank you! Tino From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful References: <87il7ib6cu.fsf@posteo.net> In-Reply-To: <87il7ib6cu.fsf@posteo.net> Resent-From: Tino Calancha Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 05 Dec 2023 07:45:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170176224922538 (code B ref 66394); Tue, 05 Dec 2023 07:45:02 +0000 Received: (at 66394) by debbugs.gnu.org; 5 Dec 2023 07:44:09 +0000 Received: from localhost ([127.0.0.1]:36529 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rAQ6C-0005rS-Q1 for submit@debbugs.gnu.org; Tue, 05 Dec 2023 02:44:09 -0500 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]:50576) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rAQ6C-0005rG-0b for 66394@debbugs.gnu.org; Tue, 05 Dec 2023 02:44:08 -0500 Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-33348e711e0so1507167f8f.1 for <66394@debbugs.gnu.org>; Mon, 04 Dec 2023 23:43:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701762231; x=1702367031; darn=debbugs.gnu.org; h=mime-version:message-id:subject:to:date:from:from:to:cc:subject :date:message-id:reply-to; bh=FSWTc2Gm3pgQNUDLbNDmrMpQ+zolgGtbZE1O4pbSQCg=; b=K7UDyefkwIs+uH4ecRrfJptRGZcOIRsL+m/+n6EWvNAQnrkS42jGzLIjoBH/Kk2Wyx hnoqKvQBqosOt/ZHjOHpdTMMDThV5z3PgWQ32rjyOpmImK7q0TYVnpVXCssI3snIupNX rsIpxNhueH5LFcEY0/fJZ6fF5/tCupO6rx2Rp1b18zcKtC4uotNNmeg8sThD3whmVsBu EbyN7mUzrDXD6tSjqFUXc7DI7B1evqjiiX6EFFSRBLzauT0M09Xw7kiZ0marYMHAMGUx H6MA5Urk0WzXPc0D3tCGrkO/sY+s9EGE0zDpHlXIpEaWbuqegcgBLCbv6WmHX6Ld2J1b 4vEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701762231; x=1702367031; h=mime-version:message-id:subject:to:date:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=FSWTc2Gm3pgQNUDLbNDmrMpQ+zolgGtbZE1O4pbSQCg=; b=fEcOhuwu041K4VhW85K8d3gbX477DSXUmu/V4w3etg7r2QGZo6KjdYCB5Y1kHrH+RU evJ9tgefwghINE7TaYAfm5tlLp5zI+uRX1gI46qvJ9Yf0qcQBKZ/308N89FlI/A9dycq 8ljIAnOyquTltSVvhHk2rHC1jHcX+VG8Y2N8YM+GtWZ7L+CpOxcB076njXQ5NSk+3ZZP pIFtYwk2/pvRCCHBjc6Yv4eihu1r6CgytuLCmNElwq52gCqWm0lD8R85ZJCxF7dya+SI z63Ft9ld7hxAkrqWVYVhyN1FoQuykZqmrwrF9da6Yr+ONi0q1DpUmsHfeLCoWWE9GNMx bJhQ== X-Gm-Message-State: AOJu0YxaMkBbpWOt9snQz7rYy5aJW4/pZRBCZ24R7rpHph62NrLjv5jq SCFMrApmH/fNzEFTi77OOEbFT+MhMKg= X-Google-Smtp-Source: AGHT+IE+hdVY1z/NRVnr7JN5CXbxmCQh9Eev4+nPm2ZpptOILyo556BEURVK/2Qo2ZDLvibZoKG39A== X-Received: by 2002:adf:f5d0:0:b0:333:2fd2:51ef with SMTP id k16-20020adff5d0000000b003332fd251efmr3424150wrp.104.1701762231018; Mon, 04 Dec 2023 23:43:51 -0800 (PST) Received: from tcalanch ([193.118.249.171]) by smtp.gmail.com with ESMTPSA id b7-20020a056000054700b003334460e256sm5923251wrf.92.2023.12.04.23.43.50 for <66394@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Dec 2023 23:43:50 -0800 (PST) From: Tino Calancha X-Google-Original-From: Tino Calancha Date: Tue, 5 Dec 2023 08:43:43 +0100 (CET) Message-ID: <97a865e0-4483-a629-1b8e-1e6cce8fbeed@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset=US-ASCII X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Tino Calancha gmail.com> writes: > Please consider revising the patch to maintain backward compatibility. I > consider the fact that jump-to-register works without confirmation to be > an important feature. Same for `point-to-register`. I prefer the bahavior w/o a confirmation need. Thank you! Tino From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 11 Dec 2023 06:56:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: michael_heerdegen@web.de, 66394@debbugs.gnu.org, stefankangas@gmail.com, monnier@iro.umontreal.ca Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170227775021225 (code B ref 66394); Mon, 11 Dec 2023 06:56:02 +0000 Received: (at 66394) by debbugs.gnu.org; 11 Dec 2023 06:55:50 +0000 Received: from localhost ([127.0.0.1]:52306 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rCaCj-0005WH-OS for submit@debbugs.gnu.org; Mon, 11 Dec 2023 01:55:50 -0500 Received: from mout02.posteo.de ([185.67.36.66]:40535) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rCaCe-0005Vu-Ix for 66394@debbugs.gnu.org; Mon, 11 Dec 2023 01:55:48 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id CD724240101 for <66394@debbugs.gnu.org>; Mon, 11 Dec 2023 07:55:23 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1702277723; bh=izjJnKPkb1xun3NX/iwp9LznUCa8SF7obqL2/ZYe82E=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=VWDePe8pqz9bs0phY1O74kl/PrhMV4ZuWL+V0n9/mM/IxDkBFSDSlXKuUdGOg24mT upn6ipGgacsg4jxEIY3jmzqfPqMAMI9wvH9pvCF4okvHPmvhg79w1vdmnhHN6aXl/4 iyDyLKh7k11LyvQXVljxAJgjkcj29eb3oKNZtXUd8XOErbf6M6kGE+rk5zMdIsOq1v fcLrwkqYCjSUYYb8Poo3PmgxXlynAZSBAmNTBv7jJenQzzYtLPGcijTDAIV0C1yVot GE/AlrIjVyQPcVVEv94jL/U3wqGwoo1jjq3epO69yCU+SZ+9eA4ZGmeO8rJs8HRWyH n7mNgUUcjCx+Q== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4SpXZ12LmVz6tsj; Mon, 11 Dec 2023 07:55:21 +0100 (CET) From: Thierry Volpiatto In-Reply-To: <837clv6sga.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 03 Dec 2023 20:39:49 +0200 (1 week, 11 hours, 42 minutes ago)") References: <87il7ib6cu.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87fs0jtkue.fsf@posteo.net> <87a5qrtepm.fsf@posteo.net> <837clv6sga.fsf@gnu.org> Date: Mon, 11 Dec 2023 06:55:17 +0000 Message-ID: <87h6kp44a2.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Hello Eli, I tried to fullfill the requests on Emacs-devel about overwriting a register with no confirmation, this will happen when register-use-preview is nil or 'never. Even with this configuration we still have filtering when preview buffer is visible and in any case we have defaults with M-n available when the register command is of type 'set'. So now to resume the situation: 1) register-use-preview =3D=3D t We have a register-preview buffer with navigation and selected register highlighted, when the register is selected we have to press RET to do the action on this register. Defaults are provided for registers of type set. Registers are filtered depending on the command used. 2) register-use-preview =3D=3D nil We have a register-preview buffer with no navigation and no highlighting. No confirmation with RET is requested, as soon as you enter the register name, minibuffer is exited immediately. Filtering and defaults for register of type set are still provided. 3) register-use-preview =3D=3D 'never Same behavior as 2) but there is no preview buffer at all, however if user type C-h, a preview buffer is provided behaving like 1) i.e. RET is requested when selecting a register. 4) For registers which are key sequence e.g. C-a For entering manually in minibuffer such a register one have to hit C-d C-a. This is now the only thing that differ from Emacs-29.1 behavior. Let me know if I can push this patch. I think all this is a real improvement for Emacs despite the several complaints we had recently, however if all the arrangements I did are not enough, we could add a new variable register-read-preview-function and reinstall the old code exactly as it was (it's easy, let me know if you want this I will provide the patch). Thanks. =2D-=20 Thierry --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-Don-t-confirm-with-RET-even-when-overwriting-in-regi.patch Content-Transfer-Encoding: quoted-printable From=20f5ded67a4e3dfe8ef96971f8018b12cf26c13af2 Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Mon, 11 Dec 2023 07:02:40 +0100 Subject: [PATCH] Don't confirm with RET even when overwriting in register commands This happen when register-use-preview is nil or never. This reproduce what we had previously in 29.1 but with filtering in the preview and default registers are provided for the commands of type 'set'. This is implemented with cl-defmethod to keep the code as much as possible configurable. * lisp/register.el (register-preview-info): New slot. (register-command-info): Add new methods for copy-to-register, point-to-register, number-to-register, window-configuration-to-register, frameset-to-register and copy-rectangle-to-register. (register-read-with-preview): Bind noconfirm. =2D-- lisp/register.el | 67 ++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 56 insertions(+), 11 deletions(-) diff --git a/lisp/register.el b/lisp/register.el index ade65b5bdc2..2f2f5682e34 100644 =2D-- a/lisp/register.el +++ b/lisp/register.el @@ -155,7 +155,7 @@ TYPES are the types of register supported. MSG is the minibuffer message to send when a register is selected. ACT is the type of action the command is doing on register. SMATCH accept a boolean value to say if command accept non matching regist= er." =2D types msg act smatch) + types msg act smatch noconfirm) =20 (cl-defgeneric register-command-info (command) "Returns a `register-preview-info' object storing data for COMMAND." @@ -178,24 +178,66 @@ SMATCH accept a boolean value to say if command accep= t non matching register." :types '(all) :msg "View register `%s'" :act 'view + :noconfirm (memq register-preview-use-preview '(nil never)) :smatch t)) (cl-defmethod register-command-info ((_command (eql append-to-register))) (make-register-preview-info :types '(string number) :msg "Append to register `%s'" :act 'modify + :noconfirm (memq register-preview-use-preview '(nil never)) :smatch t)) (cl-defmethod register-command-info ((_command (eql prepend-to-register))) (make-register-preview-info :types '(string number) :msg "Prepend to register `%s'" :act 'modify + :noconfirm (memq register-preview-use-preview '(nil never)) :smatch t)) (cl-defmethod register-command-info ((_command (eql increment-register))) (make-register-preview-info :types '(string number) :msg "Increment register `%s'" :act 'modify + :noconfirm (memq register-preview-use-preview '(nil never)) + :smatch t)) +(cl-defmethod register-preview-command-info ((_command (eql copy-to-regist= er))) + (make-register-preview-info + :types '(all) + :msg "Copy to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-preview-command-info ((_command (eql point-to-regis= ter))) + (make-register-preview-info + :types '(all) + :msg "Point to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-preview-command-info ((_command (eql number-to-regi= ster))) + (make-register-preview-info + :types '(all) + :msg "Number to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-preview-command-info + ((_command (eql window-configuration-to-register))) + (make-register-preview-info + :types '(all) + :msg "Window configuration to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-preview-command-info ((_command (eql frameset-to-re= gister))) + (make-register-preview-info + :types '(all) + :msg "Frameset to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-preview-command-info ((_command (eql copy-rectangle= -to-register))) + (make-register-preview-info + :types '(all) + :msg "Copy rectangle to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)) :smatch t)) =20 (defun register-preview-forward-line (arg) @@ -327,12 +369,13 @@ display such a window regardless." m)) (data (register-command-info this-command)) (enable-recursive-minibuffers t) =2D types msg result timer act win strs smatch) + types msg result timer act win strs smatch noconfirm) (if data =2D (setq types (register-preview-info-types data) =2D msg (register-preview-info-msg data) =2D act (register-preview-info-act data) =2D smatch (register-preview-info-smatch data)) + (setq types (register-preview-info-types data) + msg (register-preview-info-msg data) + act (register-preview-info-act data) + smatch (register-preview-info-smatch data) + noconfirm (register-preview-info-noconfirm data)) (setq types '(all) msg "Overwrite register `%s'" act 'set)) @@ -399,13 +442,15 @@ display such a window regardless." "Register `%s' is empty" pat)))))) (unless (string=3D pat "") (with-selected-window (minibuffer-window) =2D (if (and (member pat strs) (memq act '(s= et modify))) + (if (and (member pat strs) + (memq act '(set modify)) + (null noconfirm)) (with-selected-window (minibuffer-wind= ow) (minibuffer-message msg pat)) =2D ;; An empty register or an existing =2D ;; one but the action is insert or =2D ;; jump, don't ask for confirmation =2D ;; and exit immediately (bug#66394). + ;; The action is insert or + ;; jump or noconfirm is specifed + ;; explicitely, don't ask for + ;; confirmation and exit immediately (bu= g#66394). (setq result pat) (exit-minibuffer))))))))) (setq result (read-from-minibuffer =2D-=20 2.34.1 --=-=-=-- --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmV2slYTHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvkx2LC/9f89SCmhvlaQkKlD+NEDTodxlVAYfN fB7gGHdkky+2p8MAb0fu7U2+lcXSMWi08kDAuySBLVS+Ip5VakNjoccDqpmu5J9v WsD01F5C56lTLT+lsrbnUMj6U2cpBOMhi+Gjt5SEZY76wlABiFC+UrgTgAyNK5az lsk7ItJ3+nJJN1NGWRym9S85izM5/oz5OV1s/oeo2hLaB0qbLHwRU7IOtlWoLm0z Nau5UldAP2uWipGc0+nvfMx6r0nHfKerSPaXNd7Dp6HELtrgyrBZBjj948yrDgSq M5yDptMGDAnod+ZAvvmEYCN2r2UY2srQu96az8FY5A1vUaNaaY7NSiOHeUw88OlU N92x579uJuli04owjKt0+29RqSwiMoB2iqRS9pk6Ou2SiSvyBJYflrwKhrTwvOO8 L2CyBNfxCWZCDt118kCXElZnLmH7daSShKPtf1IpHElkXNQ+CD51wxLVGTWr+CXo 6mG4A40Yx83DFzr964jKL77NvejFJeolr8M= =quB0 -----END PGP SIGNATURE----- --==-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 11 Dec 2023 09:32:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: michael_heerdegen@web.de, 66394@debbugs.gnu.org, monnier@iro.umontreal.ca, stefankangas@gmail.com Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.17022870875970 (code B ref 66394); Mon, 11 Dec 2023 09:32:02 +0000 Received: (at 66394) by debbugs.gnu.org; 11 Dec 2023 09:31:27 +0000 Received: from localhost ([127.0.0.1]:52580 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rCcdK-0001YE-7k for submit@debbugs.gnu.org; Mon, 11 Dec 2023 04:31:27 -0500 Received: from mout01.posteo.de ([185.67.36.65]:53503) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rCcdC-0001Xm-2J for 66394@debbugs.gnu.org; Mon, 11 Dec 2023 04:31:24 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 51EC4240027 for <66394@debbugs.gnu.org>; Mon, 11 Dec 2023 10:30:57 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1702287057; bh=wZ2aIFhCSZ7LZVpVpMkxnDOLyHIhQ6cS/PKVQDmFhic=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=iO7UZemGCtzrLbLYEW3L6c1JaiUO1SfTVaVKHZI903nLhyqiIck5FdTZysp7guPux p1HJlVeP8fZ2XWz/K+i2I0tzMxWUFAFDmdvTy9O3THRnnsbvS7VfEHeIaAJtOrLv2C TgOOPsVBmSohrTS18jADdMeK/eoKNb5K3kve/n3CIj1n5s0WrUcrOf0oqj+arOIy2x IfhHIV5DVog6cWnVp5vM5FNg5vYSG7FmEh/wTqnNUTe1DPWzJELYfRnRkPuWXST0hg VVOQ+XWvgbjUWqGO9RY4SKcG19UBpHmNI2q1AwdP77BA7jFpZSVopcAKO202p3otdZ oY6cmIwaTYmiQ== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Spc1V2cfNz6tvr; Mon, 11 Dec 2023 10:30:53 +0100 (CET) From: Thierry Volpiatto In-Reply-To: <83plzp82mb.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 02 Dec 2023 09:50:20 +0200 (1 week, 2 days, 1 hour ago)") References: <87il7ib6cu.fsf@posteo.net> <87ttqgpjiz.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> Date: Mon, 11 Dec 2023 09:30:50 +0000 Message-ID: <87a5qhxf05.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Hello Eli,=20 here the last patch that provide Emacs-29 previous behavior as asked on ema= cs-dev, I made it the default for now. The only customization one have to do to make a change is through register-use-preview which have now three options: =2D basic (default - same as Emacs-29- ) =2D nil (simple preview with filtering, default and no confirm) =2D never (same as nil but without any preview) =2D t (the improved version with navigation etc...) I don't know if you want to restore previous behavior (emacs-29), if so thi= s patch will apply against the previous one. (0001-Don-t-confirm-with-RET-even-when-overwriting-in-regi.patch). Thanks. =2D-=20 Thierry --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-Provide-emacs-29-behavior-for-register-preview.patch Content-Transfer-Encoding: quoted-printable From=201b85a30f0150b0427b8efb3dee9ea4d740f3254b Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Mon, 11 Dec 2023 09:02:58 +0100 Subject: [PATCH] Provide emacs-29 behavior for register-preview It is now the default with a value of register-use-preview eq to basic. To change this one have now to customize register-use-preview to another value. * lisp/register.el (register-preview-delay): Remove obsolescence. (register--read-with-preview-function): New. (register-use-preview): New option basic, it is now the default. (register-preview-default-1): New the register-preview-default used by `register-read-with-preview-fancy`. (register-preview-default): Restored (same as Emacs-29). (register--preview-function): Generic fn that return the right function for register--preview-function. (register-preview): Restored (same behavior as Emacs-29). (register-preview-1): Used by `register-read-with-preview-fancy'. (register-read-with-preview-basic): The old register-read-with-preview. (register-read-with-preview-fancy): The new register-read-with-preview. =2D-- lisp/register.el | 133 ++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 121 insertions(+), 12 deletions(-) diff --git a/lisp/register.el b/lisp/register.el index 2f2f5682e34..5818e818787 100644 =2D-- a/lisp/register.el +++ b/lisp/register.el @@ -100,24 +100,49 @@ If nil, do not show register previews, unless `help-c= har' (or a member of :version "24.4" :type '(choice number (const :tag "No preview unless requested" nil)) :group 'register) =2D(make-obsolete-variable 'register-preview-delay "No longer used." "30.1") =20 (defcustom register-preview-default-keys (mapcar #'string (number-sequence= ?a ?z)) "Default keys for setting a new register." =2D :type '(repeat string)) =2D =2D(defcustom register-use-preview t + :type '(repeat string) + :version 30.1) + +(defvar register--read-with-preview-function nil + "The register read preview function to use. +Two functions are provided, one that provide navigation and +highlighting of the register selected, filtering of register +according to command in use, defaults register to use when +setting a new register, confirmation and notification when you +are about to overwrite a register and generic functions to +configure how each existing commands behave. The other function +provided is the same as what was used in Emacs-29, no filtering, +no navigation, no defaults.") + +(defcustom register-use-preview 'basic "Maybe show register preview. =20 +This have no effect when `register--read-with-preview-function' value +is `register-read-with-preview-basic'. + When set to `t' show a preview buffer with navigation and highlighting. When nil show a basic preview buffer and exit minibuffer immediately after insertion in minibuffer. When set to \\=3D'never behave as above but with no preview buffer at =2Dall." +all. +When set to \\=3D'basic provide a much more basic preview according to +`register-preview-delay', it have the exact same behavior as in Emacs-29." :type '(choice (const :tag "Use preview" t) (const :tag "Use quick preview" nil) =2D (const :tag "Never use preview" never))) + (const :tag "Never use preview" never) + (const :tag "Basic preview like Emacs-29" basic)) + :version 30.1 + :set (lambda (var val) + (set var val) + (setq register--read-with-preview-function + (if (eq val 'basic) + #'register-read-with-preview-basic + #'register-read-with-preview-fancy)) + (setq register-preview-function nil))) =20 (defun get-register (register) "Return contents of Emacs register named REGISTER, or nil if none." @@ -137,17 +162,34 @@ See the documentation of the variable `register-alist= ' for possible VALUEs." (substring d (match-end 0)) d))) =20 =2D(defun register-preview-default (r) +(defun register-preview-default-1 (r) "Function that is the default value of the variable `register-preview-fu= nction'." (format "%s: %s\n" (propertize (string (car r)) 'display (single-key-description (car r))) (register-describe-oneline (car r)))) =20 =2D(defvar register-preview-function #'register-preview-default +(defun register-preview-default (r) + "Function that is the default value of the variable `register-preview-fu= nction'." + (format "%s: %s\n" + (single-key-description (car r)) + (register-describe-oneline (car r)))) + +(defvar register-preview-function nil "Function to format a register for previewing. Called with one argument, a cons (NAME . CONTENTS) as found in `register-a= list'. =2DThe function should return a string, the description of the argument.") +The function should return a string, the description of the argument. +It is set according to the value of `register--read-with-preview-function'= .") + +(cl-defgeneric register--preview-function (read-preview-function) + "Returns a function to format a register for previewing. +This accorfing to the value of read-preview-function.") +(cl-defmethod register--preview-function ((read-preview-function + (eql 'register-read-with-previe= w-basic))) + #'register-preview-default) +(cl-defmethod register--preview-function ((read-preview-function + (eql 'register-read-with-previe= w-fancy))) + #'register-preview-default-1) =20 (cl-defstruct register-preview-info "Store data for a specific register command. @@ -326,12 +368,39 @@ satisfy `cl-typep' otherwise the new type should be d= efined with when (memq (register-type register) types) collect register))) =20 =2D(defun register-preview (buffer &optional show-empty types) +(defun register-preview (buffer &optional show-empty) + "Pop up a window showing the registers preview in BUFFER. +If SHOW-EMPTY is non-nil, show the window even if no registers. +Format of each entry is controlled by the variable `register-preview-funct= ion'." + (unless register-preview-function + (setq register-preview-function (register--preview-function + register--read-with-preview-function)= )) + (when (or show-empty (consp register-alist)) + (with-current-buffer-window + buffer + (cons 'display-buffer-below-selected + '((window-height . fit-window-to-buffer) + (preserve-size . (nil . t)))) + nil + (with-current-buffer standard-output + (setq cursor-in-non-selected-windows nil) + (mapc (lambda (elem) + (when (get-register (car elem)) + (insert (funcall register-preview-function elem)))) + register-alist))))) + +(defun register-preview-1 (buffer &optional show-empty types) "Pop up a window showing the registers preview in BUFFER. + +This is the preview function use with +`register-read-with-preview-fancy' function. If SHOW-EMPTY is non-nil, show the window even if no registers. Argument TYPES (a list) specify the types of register to show, when nil sh= ow all registers, see `register-type' for suitable types. Format of each entry is controlled by the variable `register-preview-funct= ion'." + (unless register-preview-function + (setq register-preview-function (register--preview-function + register--read-with-preview-function)= )) (let ((registers (register-of-type-alist (or types '(all))))) (when (or show-empty (consp registers)) (with-current-buffer-window @@ -359,6 +428,46 @@ Format of each entry is controlled by the variable `re= gister-preview-function'." "Read and return a register name, possibly showing existing registers. Prompt with the string PROMPT. If `help-char' (or a member of `help-event-list') is pressed, +display such a window regardless." + (funcall register--read-with-preview-function prompt)) + +(defun register-read-with-preview-basic (prompt) + "Read and return a register name, possibly showing existing registers. +Prompt with the string PROMPT. If `register-alist' and +`register-preview-delay' are both non-nil, display a window +listing existing registers after `register-preview-delay' seconds. +If `help-char' (or a member of `help-event-list') is pressed, +display such a window regardless." + (let* ((buffer "*Register Preview*") + (timer (when (numberp register-preview-delay) + (run-with-timer register-preview-delay nil + (lambda () + (unless (get-buffer-window buffer) + (register-preview buffer)))))) + (help-chars (cl-loop for c in (cons help-char help-event-list) + when (not (get-register c)) + collect c))) + (unwind-protect + (progn + (while (memq (read-key (propertize prompt 'face 'minibuffer-prompt)) + help-chars) + (unless (get-buffer-window buffer) + (register-preview buffer 'show-empty))) + (when (or (eq ?\C-g last-input-event) + (eq 'escape last-input-event) + (eq ?\C-\[ last-input-event)) + (keyboard-quit)) + (if (characterp last-input-event) last-input-event + (error "Non-character input-event"))) + (and (timerp timer) (cancel-timer timer)) + (let ((w (get-buffer-window buffer))) + (and (window-live-p w) (delete-window w))) + (and (get-buffer buffer) (kill-buffer buffer))))) + +(defun register-read-with-preview-fancy (prompt) + "Read and return a register name, possibly showing existing registers. +Prompt with the string PROMPT. +If `help-char' (or a member of `help-event-list') is pressed, display such a window regardless." (let* ((buffer "*Register Preview*") (buffer1 "*Register quick preview*") @@ -391,13 +500,13 @@ display such a window regardless." ;; Do nothing when buffer1 is in use. (unless (get-buffer-window buf) (with-selected-window (minibuffer-selected-window) =2D (register-preview buffer 'show-empty types)))= ))) + (register-preview-1 buffer 'show-empty types)))= ))) (define-key map (kbd "") 'register-preview-next) (define-key map (kbd "") 'register-preview-previous) (define-key map (kbd "C-n") 'register-preview-next) (define-key map (kbd "C-p") 'register-preview-previous) (unless (or executing-kbd-macro (eq register-use-preview 'never)) =2D (register-preview buf nil types)) + (register-preview-1 buf nil types)) (unwind-protect (progn (minibuffer-with-setup-hook =2D-=20 2.34.1 --=-=-=-- --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmV21ssTHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvk+aUC/9ddvEU9W0yel0O4sywj4aDjI0c6ZQ2 Y4OzSpdr9o09RkjGigDiaEIScW6cvD6N5+G1f4xO3rcg5F8qoHLGjwXai+QVyQMR TjoGVm5MnGZ1509s8eBfyqQ5IpIaxw2rGAP8xcRz97stONYegfPuYTaw7tY+Zh/Z LoZFCi1Bp8CH37N3zx4uKtpKliqvEtzY4c7jokpy4+Wc0/jtrQIchFAX8H3HT0yu /bB+dcKEEFaHyP/id6PvWXSo4+/Q9MiecGCLwPQtqpTludDfcZnPVJguNt1ELvHW xaO0sGuNSfDmEtwR3lq3NV4vWG1vZdiZjYxfXpk7KSkOLCzunJ6nFOmJBf85UNY5 CAHYDvsKEkuASSbtmnXc/80G1m83V4YeqZCy2A3OLJVzR0I2u+i55qwllKy3D1+I eBibH9wYFPiDhIA79/UNOvpGbYgUUDv8s9KDp6pE/wKiNiLeDgnCEErrHYqPmRle 6nKzFEIEBHV88jm6OQBg49VLMJfFVHbB0oE= =cSFh -----END PGP SIGNATURE----- --==-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 11 Dec 2023 09:59:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: michael_heerdegen@web.de, 66394@debbugs.gnu.org, monnier@iro.umontreal.ca, stefankangas@gmail.com Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.17022887178656 (code B ref 66394); Mon, 11 Dec 2023 09:59:01 +0000 Received: (at 66394) by debbugs.gnu.org; 11 Dec 2023 09:58:37 +0000 Received: from localhost ([127.0.0.1]:52634 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rCd3c-0002FY-UC for submit@debbugs.gnu.org; Mon, 11 Dec 2023 04:58:37 -0500 Received: from mout02.posteo.de ([185.67.36.66]:39835) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rCd3Z-0002FK-SP for 66394@debbugs.gnu.org; Mon, 11 Dec 2023 04:58:36 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 88358240104 for <66394@debbugs.gnu.org>; Mon, 11 Dec 2023 10:58:13 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1702288693; bh=WsxsfnxqGfu+qtvDTJp/gsDbm/Je+QRvvwq52o8QOCM=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=mW/vWDx8AfezJhYefcRCXYB82MFjXkwOYJd67niEIAXmBRMZY4DhEN+lfNGGHsj/g bvbbRIsqzbGBA6MFKPyKdlNVaiUyt6LEwThSDqueWd+zbon7fA/tXA0cgR4MinTqzX NnK10BAIwl61KXw3JYZ6wBbCppSyFwM3Kpe15+0nFsSNnV0uzb6yQEeJpG6V+o9udm ADE/5hq4E1paucO4PWwCNmjbeS3BflpO/DiLveEDiTGw9UqyRx9VS/945IqMLVclYq 8aMDOSsyd0jHMP5EgGL1NfSQwU+f2Y/xfAToNtBVZ9DR9sMzgKnBGEFfGHqMwR841j +emSvBA0hJQqA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Spccz4Qfwz6tsg; Mon, 11 Dec 2023 10:58:11 +0100 (CET) From: Thierry Volpiatto In-Reply-To: <87a5qhxf05.fsf@posteo.net> (Thierry Volpiatto's message of "Mon, 11 Dec 2023 10:30:50 +0100 (15 minutes, 46 seconds ago)") References: <87il7ib6cu.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87a5qhxf05.fsf@posteo.net> Date: Mon, 11 Dec 2023 09:58:08 +0000 Message-ID: <874jgpxdqn.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Thierry Volpiatto writes: > Hello Eli,=20 > > here the last patch that provide Emacs-29 previous behavior as asked on e= macs-dev, > I made it the default for now. > The only customization one have to do to make a change is through > register-use-preview which have now three options: > > - basic (default - same as Emacs-29- ) > - nil (simple preview with filtering, default and no confirm) > - never (same as nil but without any preview) > - t (the improved version with navigation etc...) > > I don't know if you want to restore previous behavior (emacs-29), if so t= his patch > will apply against the previous one. > (0001-Don-t-confirm-with-RET-even-when-overwriting-in-regi.patch). > > Thanks. BTW I saw the thread on Reddit just now. I have no more account there to reply, but may be it is better to no reply to those people. Even if it's easier to say than doing it, you should ignore all this (and the usual trolls on emacs-dev) and continue the good job as you always did, change nothing. Respectfully, =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmV23TATHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvkxFNC/4iPVEelxMiM3/dDSe+wjb0vHyM5c1O Q9mpcdpdv2NNInSpOSjubmtznkM9KtRnv3bQ++85bwL7LkiJEupUXuzAovNYc5QG LvV8zTOgPehHxCJYOD+7kjsRBEBPxW2yDaf6/TpLIOMdOPxgyeDqb8fDpVWc7ghT T9mx9S4Smg0LHT2SImNu8ArU9G49JERIn+bKaCh96d/wFJXAULtM1IkYHdt1JmRe 0xd2jyToIh8cPRhccLcKrbf/IP6zPyFaP+xCRF1g01HgLqrEwFVaWZ2kcKosPx45 3DcjSnwOq6bIyhI86g1Tt6IM2LsyLTJMk+HlLsHJ1u+gDb5vRGcTbppmh9jOOA7o 4IV+qY/dF+yFSh38JrasuIHYdOagITf68R1ChM1pM2XJMpBla0n+ExNexK+bq8/H JuxC4ZkEXELabDK6TMkrknQd3Xk1o36RTBtdqgizdutvTrL78nwsGM9W1QlL3sTU /YMYGt5TiQzUDMiuYciEqkeFXDjCNfMqC8s= =kDCN -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 11 Dec 2023 12:32:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: michael_heerdegen@web.de, 66394@debbugs.gnu.org, monnier@iro.umontreal.ca, stefankangas@gmail.com Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.17022978703964 (code B ref 66394); Mon, 11 Dec 2023 12:32:02 +0000 Received: (at 66394) by debbugs.gnu.org; 11 Dec 2023 12:31:10 +0000 Received: from localhost ([127.0.0.1]:52850 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rCfRF-00011s-Oy for submit@debbugs.gnu.org; Mon, 11 Dec 2023 07:31:10 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49656) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rCfRA-0000oB-Qf for 66394@debbugs.gnu.org; Mon, 11 Dec 2023 07:31:06 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rCfQp-0005tb-2C; Mon, 11 Dec 2023 07:30:43 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=uNAU1RvWTXTPDYkM4TYJGbDW+JYyfzTUO+a7KoeHMHg=; b=gy2fVEyWlv6a OiGa87BbY6CkukLwRXHFFB+mLJPd6siKRrWreeA07wngn/ptrNJjRakmmvW7QMS96uPEWUV9p0nN1 o3beX9SBOnOzKKjxl1IBOJPd25Qre/oj7BiKTEOlj7WlYNNrBvD70ecgHFkeZBt/l8H8r9irF7fsX oqf7rhPWwDvX3Xi8InPJlfttgEbQaUHmT9ysXjrRprQOh/6qccgky6KhevXSSGyGzRUCEdX7wYX3/ v8L4qjVDXm3pC5/QUN5s1HQkzQllVXAuSIkqho0SzcZ+/3kETWaNp6e9X0ZLr9A3P6NgRdIvka8hj uJl4Iafb86E1UVDqvLKfEw==; Date: Mon, 11 Dec 2023 14:30:04 +0200 Message-Id: <83jzpkvs4z.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <87a5qhxf05.fsf@posteo.net> (message from Thierry Volpiatto on Mon, 11 Dec 2023 09:30:50 +0000) References: <87il7ib6cu.fsf@posteo.net> <87ttqgpjiz.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87a5qhxf05.fsf@posteo.net> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Thierry Volpiatto > Cc: monnier@iro.umontreal.ca, michael_heerdegen@web.de, > stefankangas@gmail.com, 66394@debbugs.gnu.org > Date: Mon, 11 Dec 2023 09:30:50 +0000 > > here the last patch that provide Emacs-29 previous behavior as asked on emacs-dev, > I made it the default for now. > The only customization one have to do to make a change is through > register-use-preview which have now three options: > > - basic (default - same as Emacs-29- ) > - nil (simple preview with filtering, default and no confirm) > - never (same as nil but without any preview) > - t (the improved version with navigation etc...) > > I don't know if you want to restore previous behavior (emacs-29), if so this patch > will apply against the previous one. > (0001-Don-t-confirm-with-RET-even-when-overwriting-in-regi.patch). Thank you for all your efforts in this matter. I asked on emacs-devel that people try this and your previous proposal, and provide opinions. (Those CC'ed here are also invited, of course.) Let's wait for their responses for a couple of days before we make the decision how to proceed. From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 11 Dec 2023 13:12:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: michael_heerdegen@web.de, 66394@debbugs.gnu.org, monnier@iro.umontreal.ca, stefankangas@gmail.com Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.17023002788605 (code B ref 66394); Mon, 11 Dec 2023 13:12:01 +0000 Received: (at 66394) by debbugs.gnu.org; 11 Dec 2023 13:11:18 +0000 Received: from localhost ([127.0.0.1]:52883 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rCg42-0002Ee-UD for submit@debbugs.gnu.org; Mon, 11 Dec 2023 08:11:18 -0500 Received: from mout01.posteo.de ([185.67.36.65]:39261) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rCg3y-0002EO-Ha for 66394@debbugs.gnu.org; Mon, 11 Dec 2023 08:11:14 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 18B3524002A for <66394@debbugs.gnu.org>; Mon, 11 Dec 2023 14:10:49 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1702300250; bh=caH+SKMkCi8LB8lFX0V2jn4VkDOQjD/gH5o5A6bX+3Q=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=cYIUrrpjuJkybdt0AifStSlfm5D9omU5yq6st5dFeCZrcoBQwQji31CsvTdxseqjV ezuWd+yEbrFXLkYe+HDgxE/VmrGpPmavwYz4NeigRqCOlfANJZGyXce5/njKoAl2B5 uz0tvKvbzxxsTdtE1Q7PvSVGqG1RpgULbxK5sBIfOfKDp8eQheln4Kwf3Iah0Ij8Ld 04XSqrtzqwcvQbhRTifN0oTbZaIR6FjGrTQPBSvwrQv/n6WNYyWCWF3OIBe3rpsMed 9L8ZbDD9al9n/HsN3SjpvtQlkD6E0JkNVBM/3LKmw6CQ56DmPA2AuVP/q2HFXhifaa I3AQZlhBtHRbQ== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4SphvC3jvBz6tyy; Mon, 11 Dec 2023 14:10:47 +0100 (CET) From: Thierry Volpiatto In-Reply-To: <83jzpkvs4z.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 11 Dec 2023 14:30:04 +0200 (37 minutes, 8 seconds ago)") References: <87il7ib6cu.fsf@posteo.net> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87a5qhxf05.fsf@posteo.net> <83jzpkvs4z.fsf@gnu.org> Date: Mon, 11 Dec 2023 13:10:43 +0000 Message-ID: <87v8947ulo.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Eli Zaretskii writes: >> From: Thierry Volpiatto >> Cc: monnier@iro.umontreal.ca, michael_heerdegen@web.de, >> stefankangas@gmail.com, 66394@debbugs.gnu.org >> Date: Mon, 11 Dec 2023 09:30:50 +0000 >>=20 >> here the last patch that provide Emacs-29 previous behavior as asked on = emacs-dev, >> I made it the default for now. >> The only customization one have to do to make a change is through >> register-use-preview which have now three options: >>=20 >> - basic (default - same as Emacs-29- ) >> - nil (simple preview with filtering, default and no confirm) >> - never (same as nil but without any preview) >> - t (the improved version with navigation etc...) >>=20 >> I don't know if you want to restore previous behavior (emacs-29), if so = this patch >> will apply against the previous one. >> (0001-Don-t-confirm-with-RET-even-when-overwriting-in-regi.patch). > > Thank you for all your efforts in this matter. > > I asked on emacs-devel that people try this and your previous > proposal, and provide opinions. (Those CC'ed here are also invited, > of course.) Let's wait for their responses for a couple of days > before we make the decision how to proceed. Thanks, there is no hurry, let me know if something else is needed, I will make the needed changes in NEWS and regs.texi once the changes will be accepted. =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmV3ClQTHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvkwWvDACs6qu5mdNCDHq2I/hE3+7vX5Xn6YVt 255XJ17GyXH1xJ1cibgPOgX9P8XyKtFaPrdqtLPg32BQbKh9UVLWk1vRA3ZMF81G jGAMwuLit4j5UP0R/tGo3dzmPC6jMABrsHBdL81Hu42QPb2x/sJpmPSs56BAtykH aBff5oiwu9gjRbAaeDdbTDjKUoEATc/RGja5ewMXm3TQR5Ct7aZBYeCB2pbum0n4 hxOuUwjZupgGNufwsJ2eAUGWmN6irjIEdt8ZPpYlDtOQGQ+UZm0dxTMXncT3NsVt kNUu3g/T3QcClisRLCrm4l74KFpA703COyGxVZhaVCcCCQiO5I/Osxw3TAGjv/b6 nTOoBVKi1XUF2JV3LrRvLZ2zq2ZTuChSX6tZlLW8bj/0Ejfxfjm5qJ0Jayxko8Vd /3Wwfg3c6Fh1gMl4/74DhTMl/4KlafEhEiaTOmYNn6Wet4B+z6luGymohpQS9/ZP csrTakCT7I0hs955tFF+nHAjFBnmD0HE8ok= =ztP+ -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 11 Dec 2023 17:33:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: michael_heerdegen@web.de, 66394@debbugs.gnu.org, monnier@iro.umontreal.ca, stefankangas@gmail.com Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.17023159818677 (code B ref 66394); Mon, 11 Dec 2023 17:33:02 +0000 Received: (at 66394) by debbugs.gnu.org; 11 Dec 2023 17:33:01 +0000 Received: from localhost ([127.0.0.1]:54530 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rCk9M-0002Fo-6M for submit@debbugs.gnu.org; Mon, 11 Dec 2023 12:33:01 -0500 Received: from mout01.posteo.de ([185.67.36.65]:39091) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rCk9I-0002FT-8f for 66394@debbugs.gnu.org; Mon, 11 Dec 2023 12:32:58 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id B456C240027 for <66394@debbugs.gnu.org>; Mon, 11 Dec 2023 18:32:35 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1702315955; bh=p500uktwSvuVYfCDNYMcYEKtxqswveeeFUiJIb/VCgo=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=o+Fky7XsaV80umviwzDxGETVGSwcFxAB2JuGr7669gQAYlkc3RErFndTDkIB6GWkv dIUbX+EVOIFBMV2CxD6C06Fbln+Rv/X66oBZ1W/amBH4RdphDIe9+bleuDyZ4Dw79Z gCzzRcxD6FqqTQ1bSnzXqavDEd1p7ZJV+qfSxWR+sKx82fcddeVj5OxRkYzzcR5SHX ZyjSXMbGW5tpSQ/qNx46arGiH6UmXWMNX6qYOXwVC9H1LmXJr9uzaR8e1kIUQ8SVsN RvfQbFR5srsire9fxmdl+kYlY0HzqGjmzSqEV8LEFstameyjGAcdcK6s1A3ZU+lRtm r44IuQhYv3x5Q== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4SppjD4QcYz6txS; Mon, 11 Dec 2023 18:32:32 +0100 (CET) From: Thierry Volpiatto In-Reply-To: <87v8947ulo.fsf@posteo.net> (Thierry Volpiatto's message of "Mon, 11 Dec 2023 14:10:43 +0100 (3 hours, 53 minutes, 35 seconds ago)") References: <87il7ib6cu.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87a5qhxf05.fsf@posteo.net> <83jzpkvs4z.fsf@gnu.org> <87v8947ulo.fsf@posteo.net> Date: Mon, 11 Dec 2023 17:32:29 +0000 Message-ID: <871qbsk5le.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=xsDNBF8ylcIBDADG+hy+zR6L4/vbdDDZuSaMmSrU3A5QZJpeBCvxTr7MpzzruZbhLPW1K3R6N2MA edi8Y+C8o27FVRIjpdbaKMGu9je7JV/TbUQYo3SOwCK1vM4LUn4V6ZLzSYkuiEt4eyMoiDdyvN0p kcK6P9x9DCetcEVszXzQg+yzCVrQ2hXWDXWT4M18EC3wtO7RHPouMqGiwBFhBAYErCqFWFxQHkfb tG/4yGyJ58rglb65O3qijjMWvYwcWZun9/7qm8Z4/4mHopmo2zgU+OrptnLSZfkZGz3Y7Uf452xQ GVq0Fv75NPvQru7y+DYVhuVXXyAmGxt+vf4rIiixMBbhKEPjcxEPAa2LTzex2IsTZR+QVG9uDnqC WcgaOEQ58fzXNvNhtwwF/Rgio2XWAJVdmFWS59/k9W58CIUSNKBMZh2XeGdEmtHvDtCxW3z6FJha 36RzOM3fMNNiAGdFZJA84gcdloJR+sHCDTTPT3784fjr+V8An7sI581NGFzkRQqPvEQCZbUAEQEA Ac0SdGhpZXZvbEBwb3N0ZW8ubmV0wsEOBBMBCgA4AhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheA FiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmL3HCoACgkQDsVtFB0W75OVEAv/f6XxmtIFz08fUb8h Bp/zJP6IC4/rhhh+0GMRIRzLN8DK0jV8JCzYdFHiRJOy2lNIOpmrrCmjRRxferc2G42+ePFIsslx hU46VSz1Z83NwIG3mpdYNV5WUTUdgzxExHTNTFCd7NKv0nlHKQaAtdXm5bYnSHsnL7cx8z7lukA/ EsJocE+GD7QXnsrdlicvdobI0TEN4l73221a72oCvHfYLCVsB6YsNJ5ZGkA1zSjzln5uLAgZ/2r/ aqlao/AlSZkAk6+hvK0RyAZ/YR4YRZxO8Fsd0gWgFkanRfKfufJ1V0OHZg7yszi3q/hRzS+rZtJ0 OuzDlh/dyQkxVkZb9vis/+HnGDJrBE5MsmJLcy2Sy3uUnio0fq8q9CrZbudvd1DajlZxPzTm0csP eUk45QEgbhEU7MfyAX/mkKxjHajz2cMcHKIap1BqEgJl4BKFeLMcBZ4O1p9ivwtf1Ht2JTp5lOi0 ItPfhQ4DP8LZ1ZIkN5Kg9v0cyw9meRzAuuR0V2GtzsDNBF8ylcIBDADnIDHEkmk4lUwTlOhwb2yj UfmGPnpH3MCCHkjM9H/P1gTHxFWtwFVPcNMCwXWvKSBTF2dZXKERD0yzG06zT53ZMN7EIIeuY6m4 R8IcMvpohciisWxbFoB4ZY117tVSeqjo946itgbpdeESKl9a8dpn7ytZMyYxPdojlQAqxeAJ8444 raESh1oTKXb64hlk4l2pSRlrLgjpJBo8asAfZndaxIUKhw68tV8sqeZh9P6cGtHbUELKVJqefNV7 V7jF5wf3xvRG6Ces3kSKXalLfs+vrVaoOjQeWrc0AtwFWHmt9JLfKrqF+Q2Q7jUidboWmazQM56E SJFPpPHmWq8k6DHspsFHOforLouTHJL1556IPne7IV2BGfWc0+xLxalZ8F5F+vnPF/OkrC1CD5iC KTjXKa2iZbcYdYQAiL6P8Ac8CgN6EkhpbxRtzrEgChuNGevdi/G/GHG4Zqrh6YFwIa/NHq2aVaFq 5C1yNTMJd1FRjRzs5JPPlJKpYDnNx+MSp7UAEQEAAcLA9gQYAQoAIAIbDBYhBCPbcH0Te6954oP8 cA7FbRQdFu+TBQJi9x1ZAAoJEA7FbRQdFu+To6QMAIcvUSiFwCIggxkmYy3ZY0QAMLmIPga8DNPM XbfSOBDb2KLGBd+FAA8p2GExpul4r6kOYnGogtojByHmVgrd30/3ZURTM8Vj51wwD05viMZccQHl Wd9J/qZIvhBJlJWYnwVxh+2Kg4/hkx7SGc7JJS5GS37+PFQOJHPGMxc+fe4Ty2FdjIOVf3P1Hov9 K6yBI7Af66qqcL3aKJ4jJidRYN8sMaKOqEu4rcSpTxp8/3Ddbs9HezUgXeUzOLJMcEYFlvCyC8ZS l/QDZmpobKbxZ1JAqZM8lnmcZYSV7OsWnxJIYDV1gH5LTLj7bGswXaB4B+qkckihWkRZixu8q1IK 0c/xwUzyF092uFRM/sQKrSmnwA1+hQiiIuEl4XVz5li0/TmMta3ijUM7GNbl2IjioTRxWWecwad1 mNHvKTcXPsKDAbHFdLvQzurnroBHQV0jSPNLTP5Suo7RnLbehfg5INpGjToCUlrd2qQqgXW7h5qZ TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Thierry Volpiatto writes: > Eli Zaretskii writes: > >>> From: Thierry Volpiatto >>> Cc: monnier@iro.umontreal.ca, michael_heerdegen@web.de, >>> stefankangas@gmail.com, 66394@debbugs.gnu.org >>> Date: Mon, 11 Dec 2023 09:30:50 +0000 >>>=20 >>> here the last patch that provide Emacs-29 previous behavior as asked on= emacs-dev, >>> I made it the default for now. >>> The only customization one have to do to make a change is through >>> register-use-preview which have now three options: >>>=20 >>> - basic (default - same as Emacs-29- ) >>> - nil (simple preview with filtering, default and no confirm) >>> - never (same as nil but without any preview) >>> - t (the improved version with navigation etc...) >>>=20 >>> I don't know if you want to restore previous behavior (emacs-29), if so= this patch >>> will apply against the previous one. >>> (0001-Don-t-confirm-with-RET-even-when-overwriting-in-regi.patch). >> >> Thank you for all your efforts in this matter. >> >> I asked on emacs-devel that people try this and your previous >> proposal, and provide opinions. (Those CC'ed here are also invited, >> of course.) Let's wait for their responses for a couple of days >> before we make the decision how to proceed. > > Thanks, there is no hurry, let me know if something else is needed, I > will make the needed changes in NEWS and regs.texi once the changes will = be > accepted. I made a little error in one of the patch when merging from a working file for emacs-29.1, attaching here the two patches again with error corrected (read `register-use-preview` instead of `register-preview-use-preview`), sorry for this. =2D-=20 Thierry --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-Don-t-confirm-with-RET-even-when-overwriting-in-regi.patch Content-Transfer-Encoding: quoted-printable From=20792ca690f24913d39ca24c8e0088de4ce60533a7 Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Mon, 11 Dec 2023 07:02:40 +0100 Subject: [PATCH 1/2] Don't confirm with RET even when overwriting in regist= er commands This happen when register-use-preview is nil or never. This reproduce what we had previously in 29.1 but with filtering in the preview and default registers are provided for the commands of type 'set'. This is implemented with cl-defmethod to keep the code as much as possible configurable. * lisp/register.el (register-preview-info): New slot. (register-command-info): Add new methods for copy-to-register, point-to-register, number-to-register, window-configuration-to-register, frameset-to-register and copy-rectangle-to-register. (register-read-with-preview): Bind noconfirm. =2D-- lisp/register.el | 67 ++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 56 insertions(+), 11 deletions(-) diff --git a/lisp/register.el b/lisp/register.el index ade65b5bdc2..734f351299e 100644 =2D-- a/lisp/register.el +++ b/lisp/register.el @@ -155,7 +155,7 @@ register-preview-info MSG is the minibuffer message to send when a register is selected. ACT is the type of action the command is doing on register. SMATCH accept a boolean value to say if command accept non matching regist= er." =2D types msg act smatch) + types msg act smatch noconfirm) =20 (cl-defgeneric register-command-info (command) "Returns a `register-preview-info' object storing data for COMMAND." @@ -178,24 +178,66 @@ register-command-info :types '(all) :msg "View register `%s'" :act 'view + :noconfirm (memq register-use-preview '(nil never)) :smatch t)) (cl-defmethod register-command-info ((_command (eql append-to-register))) (make-register-preview-info :types '(string number) :msg "Append to register `%s'" :act 'modify + :noconfirm (memq register-use-preview '(nil never)) :smatch t)) (cl-defmethod register-command-info ((_command (eql prepend-to-register))) (make-register-preview-info :types '(string number) :msg "Prepend to register `%s'" :act 'modify + :noconfirm (memq register-use-preview '(nil never)) :smatch t)) (cl-defmethod register-command-info ((_command (eql increment-register))) (make-register-preview-info :types '(string number) :msg "Increment register `%s'" :act 'modify + :noconfirm (memq register-use-preview '(nil never)) + :smatch t)) +(cl-defmethod register-preview-command-info ((_command (eql copy-to-regist= er))) + (make-register-preview-info + :types '(all) + :msg "Copy to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-preview-command-info ((_command (eql point-to-regis= ter))) + (make-register-preview-info + :types '(all) + :msg "Point to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-preview-command-info ((_command (eql number-to-regi= ster))) + (make-register-preview-info + :types '(all) + :msg "Number to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-preview-command-info + ((_command (eql window-configuration-to-register))) + (make-register-preview-info + :types '(all) + :msg "Window configuration to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-preview-command-info ((_command (eql frameset-to-re= gister))) + (make-register-preview-info + :types '(all) + :msg "Frameset to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-preview-command-info ((_command (eql copy-rectangle= -to-register))) + (make-register-preview-info + :types '(all) + :msg "Copy rectangle to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)) :smatch t)) =20 (defun register-preview-forward-line (arg) @@ -327,12 +369,13 @@ register-read-with-preview m)) (data (register-command-info this-command)) (enable-recursive-minibuffers t) =2D types msg result timer act win strs smatch) + types msg result timer act win strs smatch noconfirm) (if data =2D (setq types (register-preview-info-types data) =2D msg (register-preview-info-msg data) =2D act (register-preview-info-act data) =2D smatch (register-preview-info-smatch data)) + (setq types (register-preview-info-types data) + msg (register-preview-info-msg data) + act (register-preview-info-act data) + smatch (register-preview-info-smatch data) + noconfirm (register-preview-info-noconfirm data)) (setq types '(all) msg "Overwrite register `%s'" act 'set)) @@ -399,13 +442,15 @@ register-read-with-preview "Register `%s' is empty" pat)))))) (unless (string=3D pat "") (with-selected-window (minibuffer-window) =2D (if (and (member pat strs) (memq act '(s= et modify))) + (if (and (member pat strs) + (memq act '(set modify)) + (null noconfirm)) (with-selected-window (minibuffer-wind= ow) (minibuffer-message msg pat)) =2D ;; An empty register or an existing =2D ;; one but the action is insert or =2D ;; jump, don't ask for confirmation =2D ;; and exit immediately (bug#66394). + ;; The action is insert or + ;; jump or noconfirm is specifed + ;; explicitely, don't ask for + ;; confirmation and exit immediately (bu= g#66394). (setq result pat) (exit-minibuffer))))))))) (setq result (read-from-minibuffer =2D-=20 2.34.1 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0002-Provide-emacs-29-behavior-for-register-preview.patch Content-Transfer-Encoding: quoted-printable From=203833b91b7f332e5c9461746ce88cc008ad21778a Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Mon, 11 Dec 2023 18:25:25 +0100 Subject: [PATCH 2/2] Provide emacs-29 behavior for register-preview It is now the default with a value of register-use-preview eq to basic. To change this one have now to customize register-use-preview to another value. * lisp/register.el (register-preview-delay): Remove obsolescence. (register--read-with-preview-function): New. (register-use-preview): New option basic, it is now the default. (register-preview-default-1): New the register-preview-default used by `register-read-with-preview-fancy`. (register-preview-default): Restored (same as Emacs-29). (register--preview-function): Generic fn that return the right function for register--preview-function. (register-preview): Restored (same behavior as Emacs-29). (register-preview-1): Used by `register-read-with-preview-fancy'. (register-read-with-preview-basic): The old register-read-with-preview. (register-read-with-preview-fancy): The new register-read-with-preview. =2D-- lisp/register.el | 133 ++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 121 insertions(+), 12 deletions(-) diff --git a/lisp/register.el b/lisp/register.el index 734f351299e..fd6c9af060e 100644 =2D-- a/lisp/register.el +++ b/lisp/register.el @@ -100,24 +100,49 @@ register-preview-delay :version "24.4" :type '(choice number (const :tag "No preview unless requested" nil)) :group 'register) =2D(make-obsolete-variable 'register-preview-delay "No longer used." "30.1") =20 (defcustom register-preview-default-keys (mapcar #'string (number-sequence= ?a ?z)) "Default keys for setting a new register." =2D :type '(repeat string)) =2D =2D(defcustom register-use-preview t + :type '(repeat string) + :version 30.1) + +(defvar register--read-with-preview-function nil + "The register read preview function to use. +Two functions are provided, one that provide navigation and +highlighting of the register selected, filtering of register +according to command in use, defaults register to use when +setting a new register, confirmation and notification when you +are about to overwrite a register and generic functions to +configure how each existing commands behave. The other function +provided is the same as what was used in Emacs-29, no filtering, +no navigation, no defaults.") + +(defcustom register-use-preview 'basic "Maybe show register preview. =20 +This have no effect when `register--read-with-preview-function' value +is `register-read-with-preview-basic'. + When set to `t' show a preview buffer with navigation and highlighting. When nil show a basic preview buffer and exit minibuffer immediately after insertion in minibuffer. When set to \\=3D'never behave as above but with no preview buffer at =2Dall." +all. +When set to \\=3D'basic provide a much more basic preview according to +`register-preview-delay', it have the exact same behavior as in Emacs-29." :type '(choice (const :tag "Use preview" t) (const :tag "Use quick preview" nil) =2D (const :tag "Never use preview" never))) + (const :tag "Never use preview" never) + (const :tag "Basic preview like Emacs-29" basic)) + :version 30.1 + :set (lambda (var val) + (set var val) + (setq register--read-with-preview-function + (if (eq val 'basic) + #'register-read-with-preview-basic + #'register-read-with-preview-fancy)) + (setq register-preview-function nil))) =20 (defun get-register (register) "Return contents of Emacs register named REGISTER, or nil if none." @@ -137,17 +162,34 @@ register-describe-oneline (substring d (match-end 0)) d))) =20 =2D(defun register-preview-default (r) +(defun register-preview-default-1 (r) "Function that is the default value of the variable `register-preview-fu= nction'." (format "%s: %s\n" (propertize (string (car r)) 'display (single-key-description (car r))) (register-describe-oneline (car r)))) =20 =2D(defvar register-preview-function #'register-preview-default +(defun register-preview-default (r) + "Function that is the default value of the variable `register-preview-fu= nction'." + (format "%s: %s\n" + (single-key-description (car r)) + (register-describe-oneline (car r)))) + +(defvar register-preview-function nil "Function to format a register for previewing. Called with one argument, a cons (NAME . CONTENTS) as found in `register-a= list'. =2DThe function should return a string, the description of the argument.") +The function should return a string, the description of the argument. +It is set according to the value of `register--read-with-preview-function'= .") + +(cl-defgeneric register--preview-function (read-preview-function) + "Returns a function to format a register for previewing. +This accorfing to the value of read-preview-function.") +(cl-defmethod register--preview-function ((read-preview-function + (eql 'register-read-with-previe= w-basic))) + #'register-preview-default) +(cl-defmethod register--preview-function ((read-preview-function + (eql 'register-read-with-previe= w-fancy))) + #'register-preview-default-1) =20 (cl-defstruct register-preview-info "Store data for a specific register command. @@ -326,12 +368,39 @@ register-of-type-alist when (memq (register-type register) types) collect register))) =20 =2D(defun register-preview (buffer &optional show-empty types) +(defun register-preview (buffer &optional show-empty) + "Pop up a window showing the registers preview in BUFFER. +If SHOW-EMPTY is non-nil, show the window even if no registers. +Format of each entry is controlled by the variable `register-preview-funct= ion'." + (unless register-preview-function + (setq register-preview-function (register--preview-function + register--read-with-preview-function)= )) + (when (or show-empty (consp register-alist)) + (with-current-buffer-window + buffer + (cons 'display-buffer-below-selected + '((window-height . fit-window-to-buffer) + (preserve-size . (nil . t)))) + nil + (with-current-buffer standard-output + (setq cursor-in-non-selected-windows nil) + (mapc (lambda (elem) + (when (get-register (car elem)) + (insert (funcall register-preview-function elem)))) + register-alist))))) + +(defun register-preview-1 (buffer &optional show-empty types) "Pop up a window showing the registers preview in BUFFER. + +This is the preview function use with +`register-read-with-preview-fancy' function. If SHOW-EMPTY is non-nil, show the window even if no registers. Argument TYPES (a list) specify the types of register to show, when nil sh= ow all registers, see `register-type' for suitable types. Format of each entry is controlled by the variable `register-preview-funct= ion'." + (unless register-preview-function + (setq register-preview-function (register--preview-function + register--read-with-preview-function)= )) (let ((registers (register-of-type-alist (or types '(all))))) (when (or show-empty (consp registers)) (with-current-buffer-window @@ -359,6 +428,46 @@ register-read-with-preview "Read and return a register name, possibly showing existing registers. Prompt with the string PROMPT. If `help-char' (or a member of `help-event-list') is pressed, +display such a window regardless." + (funcall register--read-with-preview-function prompt)) + +(defun register-read-with-preview-basic (prompt) + "Read and return a register name, possibly showing existing registers. +Prompt with the string PROMPT. If `register-alist' and +`register-preview-delay' are both non-nil, display a window +listing existing registers after `register-preview-delay' seconds. +If `help-char' (or a member of `help-event-list') is pressed, +display such a window regardless." + (let* ((buffer "*Register Preview*") + (timer (when (numberp register-preview-delay) + (run-with-timer register-preview-delay nil + (lambda () + (unless (get-buffer-window buffer) + (register-preview buffer)))))) + (help-chars (cl-loop for c in (cons help-char help-event-list) + when (not (get-register c)) + collect c))) + (unwind-protect + (progn + (while (memq (read-key (propertize prompt 'face 'minibuffer-prompt)) + help-chars) + (unless (get-buffer-window buffer) + (register-preview buffer 'show-empty))) + (when (or (eq ?\C-g last-input-event) + (eq 'escape last-input-event) + (eq ?\C-\[ last-input-event)) + (keyboard-quit)) + (if (characterp last-input-event) last-input-event + (error "Non-character input-event"))) + (and (timerp timer) (cancel-timer timer)) + (let ((w (get-buffer-window buffer))) + (and (window-live-p w) (delete-window w))) + (and (get-buffer buffer) (kill-buffer buffer))))) + +(defun register-read-with-preview-fancy (prompt) + "Read and return a register name, possibly showing existing registers. +Prompt with the string PROMPT. +If `help-char' (or a member of `help-event-list') is pressed, display such a window regardless." (let* ((buffer "*Register Preview*") (buffer1 "*Register quick preview*") @@ -391,13 +500,13 @@ register-read-with-preview ;; Do nothing when buffer1 is in use. (unless (get-buffer-window buf) (with-selected-window (minibuffer-selected-window) =2D (register-preview buffer 'show-empty types)))= ))) + (register-preview-1 buffer 'show-empty types)))= ))) (define-key map (kbd "") 'register-preview-next) (define-key map (kbd "") 'register-preview-previous) (define-key map (kbd "C-n") 'register-preview-next) (define-key map (kbd "C-p") 'register-preview-previous) (unless (or executing-kbd-macro (eq register-use-preview 'never)) =2D (register-preview buf nil types)) + (register-preview-1 buf nil types)) (unwind-protect (progn (minibuffer-with-setup-hook =2D-=20 2.34.1 --=-=-=-- --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmV3R60THHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvkwfdDACZrHlB/z3lq86O4ubiE9LDLCybFm61 1ZMzjlRX4dp17XrQWmReRUU9Tz262QrRLWUNST5AfveFUhvhQA44q/PVIqZ5K8DQ m8Rp1MX4BFV/nH3+gFdswjKPbJdiKjXmUBQ9ozhiOmP0zeIRrmMtMN/lcewDpZYd g8t/K1txn4euWkWjJf6/myxVBc1VJg6QEFToyjxLBq22Mi0KzbSS0GksirjZQJJX E3Kr7pieANRXWY1A/4WPnzvpELtGKtYWVvO8Cx+QoPF83UhdrHTfSTHAm0du50Ug ZxTmcT49CeIhQ7C2u+a43QbsRhj7A8ATAe+s2AmbiNU+R+NITxO4o83j/0ll/dQ4 64W//XUvLjL6VZ5ZmSfT//VAf8Gvh4lMNEQ+Qnzj1dMu0hmEDFHK6RMEsu9VUVPe wBjNy0aXMWiXt/cFtBVfZAPN1K8bsAJBue0aN1IXS/0bGaulzXVNIxWqhwxXorLt 5BC9BE0GmF3U8fIsp7SnjgMg6X3vmg5xKPk= =uCUI -----END PGP SIGNATURE----- --==-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 11 Dec 2023 23:37:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto , Eli Zaretskii Cc: michael_heerdegen@web.de, stefankangas@gmail.com, monnier@iro.umontreal.ca, 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.17023377992946 (code B ref 66394); Mon, 11 Dec 2023 23:37:02 +0000 Received: (at 66394) by debbugs.gnu.org; 11 Dec 2023 23:36:39 +0000 Received: from localhost ([127.0.0.1]:54958 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rCppG-0000lR-G8 for submit@debbugs.gnu.org; Mon, 11 Dec 2023 18:36:38 -0500 Received: from wout2-smtp.messagingengine.com ([64.147.123.25]:42527) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rCppD-0000lC-KH for 66394@debbugs.gnu.org; Mon, 11 Dec 2023 18:36:36 -0500 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.west.internal (Postfix) with ESMTP id 7B420320228D; Mon, 11 Dec 2023 18:36:14 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute3.internal (MEProxy); Mon, 11 Dec 2023 18:36:15 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1702337774; x=1702424174; bh=+hCLe4CPIJAgqAbSIHl4uczmsw790Ci/jshIx3IigN4=; b= djbxjXnZU0NqGrGUL5ghQybm1FJMKxjvUFJPkZLkJwGiW5Yj/zt3OX3EQYBZZnAM pYr7tgca2u9XvpyUtFL+xN7lRQhsfilJbd6uoLAmS9gA4SlsfDmubptxVSJ3z3Cq RStbvZ+oHIQgEEpW/yexTYXIkvgABgxqT8Jjn++/2Wv0c05X2DoQhP0PchTRa2iX KyMaJe7JgTY0TH/VYmN2btY9L2Op+7tWEMmO+E7MY5yZ+vHUdcVQ/hnrJ7NQUA/J RRp/0mGlSTjB+Z5r82vOs5KjDy86zw9HJDS+eKrW11Ceqbr1SZgRcKs/1adB5Xzb LWu+4iflULOznSotFVc1+A== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1702337774; x= 1702424174; bh=+hCLe4CPIJAgqAbSIHl4uczmsw790Ci/jshIx3IigN4=; b=T ME0xjWg9OzKt3owBDdwIisST8Aa5SRSSGoHs/T7JW63gBf8MY0T++/kojDinWvja zDCRa8xgxhuAJbDuseDtg/xGq70GU24AnXkZ1ujeydVGguQgRetuNWxlEWzLsXWU tEZkvZRzo0GLAYOlP8jtxtncA29f5gBGSXWLedwdU8jD1IOrPJNzQuzeuP9IlIax r6Pv2NGRCDvhsTvvheYlemPl90uvJO4q4RWDSGJ7UIdLyAk8b52jOoE+e2e1Aoed D5J9i2hZHWXfNi7QB4kxpNGY4ZwMGk+WND7rMGXO2mxeGG2wyoUrseYsu24+/8Et AKfy3cuJ1riZRW3tQL1EA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrudelfedguddvucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddtfeejnecuhfhrohhmpeffmhhi thhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdruggvvheqnecuggftrfgrth htvghrnhepiefgteevheevveffheeltdeukeeiieekueefgedugfefgefhudelgfefveel vdevnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepug hmihhtrhihsehguhhtohhvrdguvghv X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 11 Dec 2023 18:36:11 -0500 (EST) Message-ID: Date: Tue, 12 Dec 2023 01:36:09 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Content-Language: en-US References: <87il7ib6cu.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87a5qhxf05.fsf@posteo.net> <83jzpkvs4z.fsf@gnu.org> <87v8947ulo.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> From: Dmitry Gutov In-Reply-To: <871qbsk5le.fsf@posteo.net> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.9 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.9 (---) On 11/12/2023 19:32, Thierry Volpiatto wrote: > I made a little error in one of the patch when merging from a working > file for emacs-29.1, attaching here the two patches again with error > corrected (read `register-use-preview` instead of > `register-preview-use-preview`), sorry for this. JFYI, the second patch doesn't apply cleanly, which may make testing them a bit more difficult. It's because of commit 598ab9ca10d35d6 by Eli with documentation updates. When reverted, the second patch applies without problem. From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful References: <87il7ib6cu.fsf@posteo.net> In-Reply-To: <87il7ib6cu.fsf@posteo.net> Resent-From: Pedro Andres Aranda Gutierrez Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 12 Dec 2023 05:48:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: emacs-devel@gnu.org, 66394@debbugs.gnu.org X-Debbugs-Original-To: emacs-devel , bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.170236006711350 (code B ref -1); Tue, 12 Dec 2023 05:48:02 +0000 Received: (at submit) by debbugs.gnu.org; 12 Dec 2023 05:47:47 +0000 Received: from localhost ([127.0.0.1]:55116 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rCvcR-0002wz-96 for submit@debbugs.gnu.org; Tue, 12 Dec 2023 00:47:47 -0500 Received: from lists.gnu.org ([2001:470:142::17]:38402) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rCvcM-0002wb-NH for submit@debbugs.gnu.org; Tue, 12 Dec 2023 00:47:45 -0500 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 1rCvc1-00072P-S3; Tue, 12 Dec 2023 00:47:21 -0500 Received: from mail-lj1-x231.google.com ([2a00:1450:4864:20::231]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rCvc0-0001oE-4t; Tue, 12 Dec 2023 00:47:21 -0500 Received: by mail-lj1-x231.google.com with SMTP id 38308e7fff4ca-2c9efa1ab7fso65431801fa.0; Mon, 11 Dec 2023 21:47:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1702360038; x=1702964838; darn=gnu.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=bLrRi8o/WtFpRVErwJviBEg0XAU0TLokwnH8Anh4cGU=; b=bsT66qDKYlw8XenwZW33BkTm4wjmIPB1u7rxG48Z5udHUr0ohb2EyyEi6dqfrJD4Jk T7kJ6Y4iZkTWHpPuOJBddcUnjd45y8IhHg5BFFzitXG3aile604QSfix0qk2P9dI5jTk +UooQW6qCJxxWrKxqkslafN9zsFPPdhkR7GlhS4htIAi0UO4hx/4TME8phUNjbwrjg8h yCnRhU1qX0BUC5JgopSt3VILZGEj2MHWbBJhDLXezlJOz65EwDK+ZmfVEXPcumgRn6Tg Wt79vyNG+9Mbyfh9gTVbcxtPj9sXydqgJRWPgFB3u+ELv568rD4C5ZKCc0VvFZQH64Lb clMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702360038; x=1702964838; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=bLrRi8o/WtFpRVErwJviBEg0XAU0TLokwnH8Anh4cGU=; b=AktomOEF3ELJ2WDc3PsuwazlWC7ofKCDdA10+4Sn3OCnQJ2XExk2WWW/wKI3J0VaBI fTMmSX/MVy1qifOp87L54sNWb8+51/BanuX0rSNoeKWg3kfaWFzL5mszjlwPKAIbAs2V SaE4oYJfjkvvbTQ6O1J6Dom9QFTj45NlLou3fdMCq1gWbhmiRTuB6++sLvOpKt4BTOC5 czgfwezBzhtkWi5HcHU5U8TkMX+FFHYs38907xhZRSuvGkQDA2XW6eCseepWT5T6SjEz EF2YmD/OjWPx0gZK8DlHTIz7ZVuD4rhDcdzXkoePmYzWcl6XJ1qdHGO0v410a1C7pgEP zHUQ== X-Gm-Message-State: AOJu0Yx2/qsGRka6X6v863hjKVjb4t1OYwrtBJ/eoLiz1gn6JU+27rKF G1UcAeCgjfW2eBdaeTT4t/xWeZN7HbjCw+HQGKYvSip0OiRk+A== X-Google-Smtp-Source: AGHT+IFQ/15oRn73veom9WXzSmlqMGwwHiDsRlQOVSjMhlrAXkRr5jn9RXxKxW/6QyLMbEaoCS4YfIoCUd2EQ+vK7SA= X-Received: by 2002:a2e:a5cb:0:b0:2cc:2088:42ea with SMTP id n11-20020a2ea5cb000000b002cc208842eamr1077273ljp.138.1702360037506; Mon, 11 Dec 2023 21:47:17 -0800 (PST) MIME-Version: 1.0 From: Pedro Andres Aranda Gutierrez Date: Tue, 12 Dec 2023 06:46:51 +0100 Message-ID: Content-Type: multipart/alternative; boundary="00000000000050c2ba060c4995a8" Received-SPF: pass client-ip=2a00:1450:4864:20::231; envelope-from=paaguti@gmail.com; helo=mail-lj1-x231.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-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --00000000000050c2ba060c4995a8 Content-Type: text/plain; charset="UTF-8" Hi, I could live with the patch proposed in https://lists.gnu.org/archive/html/bug-gnu-emacs/2023-12/msg00644.html if the default value for was 'never. The new behaviour would be opt-in and I might be tempted to test it out and eventually switch in the future. Thx, /PA -- Fragen sind nicht da, um beantwortet zu werden, Fragen sind da um gestellt zu werden Georg Kreisler Headaches with a Juju log: unit-basic-16: 09:17:36 WARNING juju.worker.uniter.operation we should run a leader-deposed hook here, but we can't yet --00000000000050c2ba060c4995a8 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi,

I could live with the patch p= roposed in
if the default value for=C2=A0

<= /div>
was 'never. The new behaviour would=C2=A0be opt-in and I migh= t be tempted to test it out
and eventually switch in the future.<= /div>

Thx, /PA

--
<= div>
Fragen sind nicht da, um beantwortet zu werden,
Fragen si= nd da um gestellt zu werden
Georg Kreisler

Headaches with a Juju log:
unit-basic-16: 09:17:36 WARNING juju= .worker.uniter.operation we should run a leader-deposed hook here, but we c= an't yet

--00000000000050c2ba060c4995a8-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: "Alfred M. Szmidt" Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 12 Dec 2023 06:07:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: michael_heerdegen@web.de, eliz@gnu.org, stefankangas@gmail.com, monnier@iro.umontreal.ca, 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170236121313641 (code B ref 66394); Tue, 12 Dec 2023 06:07:02 +0000 Received: (at 66394) by debbugs.gnu.org; 12 Dec 2023 06:06:53 +0000 Received: from localhost ([127.0.0.1]:55122 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rCvuv-0003Xw-Cz for submit@debbugs.gnu.org; Tue, 12 Dec 2023 01:06:53 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:45054) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rCvuq-0003Xd-Bo for 66394@debbugs.gnu.org; Tue, 12 Dec 2023 01:06:52 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rCvuT-0002Dk-Oc; Tue, 12 Dec 2023 01:06:25 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=Date:References:Subject:In-Reply-To:To:From: mime-version; bh=MVbZ2N2dNhkbfqTkOhc59Nn+e7+xd2SFiSw+IEZccGM=; b=GzHHwpJu4zqA 2SaKxAlR1m0obm58ZAxG8nh4STVETpFGKdf1arxaVXBvOO5HlMyhoDALA0V2L0HnefHZgJNvaubag RsVvasl27lo6CjDDnfzme3w1d4sOjfcP+1uLuPD1JEJfeKvUsKkBuYyKhhiKFLmXJ7z5dKptx+nJN f+d4A5P3UJzi/5GobVQHsWVLyzCiL00c+kmef6JlCcBQpWgcModA1rTw62NkyHj55Sva1D0R0zIMY v/e6D6Qm762YoC9ujjEYL6e8WNS7GbHYrG2vUZPg2HfT28KKIrk97BsmDnGzplxLDtWNNPHBP7u/h ARcNc9eqTNlN1FzW42Gsmg==; Received: from ams by fencepost.gnu.org with local (Exim 4.90_1) (envelope-from ) id 1rCvuR-0001Pu-NZ; Tue, 12 Dec 2023 01:06:24 -0500 From: "Alfred M. Szmidt" In-Reply-To: <87a5qhxf05.fsf@posteo.net> (message from Thierry Volpiatto on Mon, 11 Dec 2023 09:30:50 +0000) References: <87il7ib6cu.fsf@posteo.net> <87ttqgpjiz.fsf@posteo.net> <87wmvbibpr.fsf@web.de> <877cnb2n63.fsf@posteo.net> <8734xyc8z0.fsf@web.de> <87zg05rewi.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87a5qhxf05.fsf@posteo.net> Message-Id: Date: Tue, 12 Dec 2023 01:06:23 -0500 X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Confirmation, we already have bookmarks which are the "longer" variants. Making registers confirm by default, makes registers on par, as slow to use as bookmarks to use. If those who wish to use registers with confirmation, why not use bookmarks? What becomes the difference between registers and bookmarks with this change (confirmation part) other than bookmarks being saved to a file? Some people seemed to have lots and lots (dozens if not more) of registers, what heppens if you restart Emacs? Do you save registers between invocations of Emacs? In that case, it sounds like one should be using bookmarks and not registers. TLDR: Making the default to "confirm" (preview is not the main problem) makes registers just like bookmarks. here the last patch that provide Emacs-29 previous behavior as asked on emacs-dev, I made it the default for now. The only customization one have to do to make a change is through register-use-preview which have now three options: - basic (default - same as Emacs-29- ) - nil (simple preview with filtering, default and no confirm) - never (same as nil but without any preview) - t (the improved version with navigation etc...) I think the variable is being overloaded. Shouldn't this just control the usage of preview, not how interactive the behaviour of registers are? People seem to be confusing what it does already, since they think that registers did not have preview before this change (and that being the main feaature that they seem to be after -- not confirmation). Which makes it hard to disucss this change, since it conflates multiple topics into one thread. "basic" seems to not be the same behaviour as in 29 (from the looks -- I cannot apply the patch), even Emacs 25 has register preview by default, which is a useful feature, which seems to correspond to 'nil'. The discussion of this change is strange and why people are upset, we first change the behaviour silently and then try to justify the old one. It should be the other way round. Why is confirmation in registers so important to break old trusted behaviour, when we already have a similar feature (bookmarks) that those who wish to be "sure" can't use that instead? From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 12 Dec 2023 06:30:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Dmitry Gutov Cc: michael_heerdegen@web.de, Eli Zaretskii , stefankangas@gmail.com, monnier@iro.umontreal.ca, 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170236258916666 (code B ref 66394); Tue, 12 Dec 2023 06:30:01 +0000 Received: (at 66394) by debbugs.gnu.org; 12 Dec 2023 06:29:49 +0000 Received: from localhost ([127.0.0.1]:55131 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rCwH5-0004Kj-QP for submit@debbugs.gnu.org; Tue, 12 Dec 2023 01:29:48 -0500 Received: from mout02.posteo.de ([185.67.36.66]:33875) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rCwH0-0004KJ-7R for 66394@debbugs.gnu.org; Tue, 12 Dec 2023 01:29:45 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 65860240101 for <66394@debbugs.gnu.org>; Tue, 12 Dec 2023 07:29:20 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1702362560; bh=oxASmEXHmIQrFMguvnyivtnrLvrCq2S4NSlJMWTmjqk=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=RsueeCbKqkFrkgUCoShl1ki/Mv/pBlueaysLcH44H5sspDOfmDv2Mso8oOHjTI4Lj BBW70VXvsXlu8PL/V0dgr/1jvb/LWhFqiMHt9KpT+BL3TZFBe8ok5l/qiRK2E3M5Mi t5DTbc5OoaCcDNmWs5TTAn+9wg03JqA9tVGxCFUeeqYkk5cZYpRGLNpI8o+yGA75c0 /b4Ws2Xk2uMPnq2CkNz16Qqx5iDZW77L26VN3t3C5KejMiZ97bSZE5UchS/Z0Gls+J nRoB8zqyvbtS6gO0SA25lveqUkvlEEuAStAMcKoI0jh5HD2UM0W+NdXHhmW652Xsj3 5nGjj3DMDMhKA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Sq7xS3Q5Hz6tx8; Tue, 12 Dec 2023 07:29:16 +0100 (CET) From: Thierry Volpiatto In-Reply-To: (Dmitry Gutov's message of "Tue, 12 Dec 2023 01:36:09 +0200 (6 hours, 50 minutes, 12 seconds ago)") References: <87il7ib6cu.fsf@posteo.net> <87ttqcg8gw.fsf@web.de> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87a5qhxf05.fsf@posteo.net> <83jzpkvs4z.fsf@gnu.org> <87v8947ulo.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> Date: Tue, 12 Dec 2023 06:29:13 +0000 Message-ID: <87v894hr2e.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Dmitry Gutov writes: > On 11/12/2023 19:32, Thierry Volpiatto wrote: >> I made a little error in one of the patch when merging from a working >> file for emacs-29.1, attaching here the two patches again with error >> corrected (read `register-use-preview` instead of >> `register-preview-use-preview`), sorry for this. > > JFYI, the second patch doesn't apply cleanly, which may make testing > them a bit more difficult. > > It's because of commit 598ab9ca10d35d6 by Eli with documentation > updates. When reverted, the second patch applies without problem. Dmitry thanks, here the patches again after rebasing. =2D-=20 Thierry --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-Don-t-confirm-with-RET-even-when-overwriting-in-regi.patch Content-Transfer-Encoding: quoted-printable From=20386457b493e3d2ebdb605dd8a8ce3c323847f537 Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Mon, 11 Dec 2023 07:02:40 +0100 Subject: [PATCH 1/2] Don't confirm with RET even when overwriting in regist= er commands This happen when register-use-preview is nil or never. This reproduce what we had previously in 29.1 but with filtering in the preview and default registers are provided for the commands of type 'set'. This is implemented with cl-defmethod to keep the code as much as possible configurable. * lisp/register.el (register-preview-info): New slot. (register-command-info): Add new methods for copy-to-register, point-to-register, number-to-register, window-configuration-to-register, frameset-to-register and copy-rectangle-to-register. (register-read-with-preview): Bind noconfirm. =2D-- lisp/register.el | 67 ++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 56 insertions(+), 11 deletions(-) diff --git a/lisp/register.el b/lisp/register.el index fa4bbcf483f..b7f4658055a 100644 =2D-- a/lisp/register.el +++ b/lisp/register.el @@ -156,7 +156,7 @@ TYPES are the types of register supported. MSG is the minibuffer message to send when a register is selected. ACT is the type of action the command is doing on register. SMATCH accept a boolean value to say if command accept non matching regist= er." =2D types msg act smatch) + types msg act smatch noconfirm) =20 (cl-defgeneric register-command-info (command) "Returns a `register-preview-info' object storing data for COMMAND." @@ -179,24 +179,66 @@ SMATCH accept a boolean value to say if command accep= t non matching register." :types '(all) :msg "View register `%s'" :act 'view + :noconfirm (memq register-use-preview '(nil never)) :smatch t)) (cl-defmethod register-command-info ((_command (eql append-to-register))) (make-register-preview-info :types '(string number) :msg "Append to register `%s'" :act 'modify + :noconfirm (memq register-use-preview '(nil never)) :smatch t)) (cl-defmethod register-command-info ((_command (eql prepend-to-register))) (make-register-preview-info :types '(string number) :msg "Prepend to register `%s'" :act 'modify + :noconfirm (memq register-use-preview '(nil never)) :smatch t)) (cl-defmethod register-command-info ((_command (eql increment-register))) (make-register-preview-info :types '(string number) :msg "Increment register `%s'" :act 'modify + :noconfirm (memq register-use-preview '(nil never)) + :smatch t)) +(cl-defmethod register-preview-command-info ((_command (eql copy-to-regist= er))) + (make-register-preview-info + :types '(all) + :msg "Copy to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-preview-command-info ((_command (eql point-to-regis= ter))) + (make-register-preview-info + :types '(all) + :msg "Point to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-preview-command-info ((_command (eql number-to-regi= ster))) + (make-register-preview-info + :types '(all) + :msg "Number to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-preview-command-info + ((_command (eql window-configuration-to-register))) + (make-register-preview-info + :types '(all) + :msg "Window configuration to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-preview-command-info ((_command (eql frameset-to-re= gister))) + (make-register-preview-info + :types '(all) + :msg "Frameset to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-preview-command-info ((_command (eql copy-rectangle= -to-register))) + (make-register-preview-info + :types '(all) + :msg "Copy rectangle to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)) :smatch t)) =20 (defun register-preview-forward-line (arg) @@ -328,12 +370,13 @@ display such a window regardless." m)) (data (register-command-info this-command)) (enable-recursive-minibuffers t) =2D types msg result timer act win strs smatch) + types msg result timer act win strs smatch noconfirm) (if data =2D (setq types (register-preview-info-types data) =2D msg (register-preview-info-msg data) =2D act (register-preview-info-act data) =2D smatch (register-preview-info-smatch data)) + (setq types (register-preview-info-types data) + msg (register-preview-info-msg data) + act (register-preview-info-act data) + smatch (register-preview-info-smatch data) + noconfirm (register-preview-info-noconfirm data)) (setq types '(all) msg "Overwrite register `%s'" act 'set)) @@ -400,13 +443,15 @@ display such a window regardless." "Register `%s' is empty" pat)))))) (unless (string=3D pat "") (with-selected-window (minibuffer-window) =2D (if (and (member pat strs) (memq act '(s= et modify))) + (if (and (member pat strs) + (memq act '(set modify)) + (null noconfirm)) (with-selected-window (minibuffer-wind= ow) (minibuffer-message msg pat)) =2D ;; An empty register or an existing =2D ;; one but the action is insert or =2D ;; jump, don't ask for confirmation =2D ;; and exit immediately (bug#66394). + ;; The action is insert or + ;; jump or noconfirm is specifed + ;; explicitely, don't ask for + ;; confirmation and exit immediately (bu= g#66394). (setq result pat) (exit-minibuffer))))))))) (setq result (read-from-minibuffer =2D-=20 2.34.1 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0002-Provide-emacs-29-behavior-for-register-preview.patch Content-Transfer-Encoding: quoted-printable From=207b634a3359565dea755392324055443eb02aa070 Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Tue, 12 Dec 2023 07:24:32 +0100 Subject: [PATCH 2/2] Provide emacs-29 behavior for register-preview It is now the default with a value of register-use-preview eq to basic. To change this one have now to customize register-use-preview to another value. * lisp/register.el (register-preview-delay): Remove obsolescence. (register--read-with-preview-function): New. (register-use-preview): New option basic, it is now the default. (register-preview-default-1): New the register-preview-default used by `register-read-with-preview-fancy`. (register-preview-default): Restored (same as Emacs-29). (register--preview-function): Generic fn that return the right function for register--preview-function. (register-preview): Restored (same behavior as Emacs-29). (register-preview-1): Used by `register-read-with-preview-fancy'. (register-read-with-preview-basic): The old register-read-with-preview. (register-read-with-preview-fancy): The new register-read-with-preview. =2D-- lisp/register.el | 146 +++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 127 insertions(+), 19 deletions(-) diff --git a/lisp/register.el b/lisp/register.el index b7f4658055a..fd6c9af060e 100644 =2D-- a/lisp/register.el +++ b/lisp/register.el @@ -100,25 +100,49 @@ If nil, do not show register previews, unless `help-c= har' (or a member of :version "24.4" :type '(choice number (const :tag "No preview unless requested" nil)) :group 'register) =2D(make-obsolete-variable 'register-preview-delay "No longer used." "30.1") =20 (defcustom register-preview-default-keys (mapcar #'string (number-sequence= ?a ?z)) "Default keys for setting a new register." =2D :type '(repeat string)) =2D =2D(defcustom register-use-preview t =2D "Whether to show preview of registers. =2D =2DIf the value is t, show a preview buffer with navigation and highlightin= g. =2DIf the value is nil, show a basic preview buffer and exit minibuffer =2Dimmediately after the register name is inserted into minibuffer. =2DIf the value is \\=3D'never, behave as for nil, but with no preview buff= er =2Dat all." + :type '(repeat string) + :version 30.1) + +(defvar register--read-with-preview-function nil + "The register read preview function to use. +Two functions are provided, one that provide navigation and +highlighting of the register selected, filtering of register +according to command in use, defaults register to use when +setting a new register, confirmation and notification when you +are about to overwrite a register and generic functions to +configure how each existing commands behave. The other function +provided is the same as what was used in Emacs-29, no filtering, +no navigation, no defaults.") + +(defcustom register-use-preview 'basic + "Maybe show register preview. + +This have no effect when `register--read-with-preview-function' value +is `register-read-with-preview-basic'. + +When set to `t' show a preview buffer with navigation and highlighting. +When nil show a basic preview buffer and exit minibuffer +immediately after insertion in minibuffer. +When set to \\=3D'never behave as above but with no preview buffer at +all. +When set to \\=3D'basic provide a much more basic preview according to +`register-preview-delay', it have the exact same behavior as in Emacs-29." :type '(choice (const :tag "Use preview" t) (const :tag "Use quick preview" nil) =2D (const :tag "Never use preview" never)) =2D :version "30.1") + (const :tag "Never use preview" never) + (const :tag "Basic preview like Emacs-29" basic)) + :version 30.1 + :set (lambda (var val) + (set var val) + (setq register--read-with-preview-function + (if (eq val 'basic) + #'register-read-with-preview-basic + #'register-read-with-preview-fancy)) + (setq register-preview-function nil))) =20 (defun get-register (register) "Return contents of Emacs register named REGISTER, or nil if none." @@ -138,17 +162,34 @@ See the documentation of the variable `register-alist= ' for possible VALUEs." (substring d (match-end 0)) d))) =20 =2D(defun register-preview-default (r) +(defun register-preview-default-1 (r) "Function that is the default value of the variable `register-preview-fu= nction'." (format "%s: %s\n" (propertize (string (car r)) 'display (single-key-description (car r))) (register-describe-oneline (car r)))) =20 =2D(defvar register-preview-function #'register-preview-default +(defun register-preview-default (r) + "Function that is the default value of the variable `register-preview-fu= nction'." + (format "%s: %s\n" + (single-key-description (car r)) + (register-describe-oneline (car r)))) + +(defvar register-preview-function nil "Function to format a register for previewing. Called with one argument, a cons (NAME . CONTENTS) as found in `register-a= list'. =2DThe function should return a string, the description of the argument.") +The function should return a string, the description of the argument. +It is set according to the value of `register--read-with-preview-function'= .") + +(cl-defgeneric register--preview-function (read-preview-function) + "Returns a function to format a register for previewing. +This accorfing to the value of read-preview-function.") +(cl-defmethod register--preview-function ((read-preview-function + (eql 'register-read-with-previe= w-basic))) + #'register-preview-default) +(cl-defmethod register--preview-function ((read-preview-function + (eql 'register-read-with-previe= w-fancy))) + #'register-preview-default-1) =20 (cl-defstruct register-preview-info "Store data for a specific register command. @@ -327,12 +368,39 @@ satisfy `cl-typep' otherwise the new type should be d= efined with when (memq (register-type register) types) collect register))) =20 =2D(defun register-preview (buffer &optional show-empty types) +(defun register-preview (buffer &optional show-empty) + "Pop up a window showing the registers preview in BUFFER. +If SHOW-EMPTY is non-nil, show the window even if no registers. +Format of each entry is controlled by the variable `register-preview-funct= ion'." + (unless register-preview-function + (setq register-preview-function (register--preview-function + register--read-with-preview-function)= )) + (when (or show-empty (consp register-alist)) + (with-current-buffer-window + buffer + (cons 'display-buffer-below-selected + '((window-height . fit-window-to-buffer) + (preserve-size . (nil . t)))) + nil + (with-current-buffer standard-output + (setq cursor-in-non-selected-windows nil) + (mapc (lambda (elem) + (when (get-register (car elem)) + (insert (funcall register-preview-function elem)))) + register-alist))))) + +(defun register-preview-1 (buffer &optional show-empty types) "Pop up a window showing the registers preview in BUFFER. + +This is the preview function use with +`register-read-with-preview-fancy' function. If SHOW-EMPTY is non-nil, show the window even if no registers. Argument TYPES (a list) specify the types of register to show, when nil sh= ow all registers, see `register-type' for suitable types. Format of each entry is controlled by the variable `register-preview-funct= ion'." + (unless register-preview-function + (setq register-preview-function (register--preview-function + register--read-with-preview-function)= )) (let ((registers (register-of-type-alist (or types '(all))))) (when (or show-empty (consp registers)) (with-current-buffer-window @@ -360,6 +428,46 @@ Format of each entry is controlled by the variable `re= gister-preview-function'." "Read and return a register name, possibly showing existing registers. Prompt with the string PROMPT. If `help-char' (or a member of `help-event-list') is pressed, +display such a window regardless." + (funcall register--read-with-preview-function prompt)) + +(defun register-read-with-preview-basic (prompt) + "Read and return a register name, possibly showing existing registers. +Prompt with the string PROMPT. If `register-alist' and +`register-preview-delay' are both non-nil, display a window +listing existing registers after `register-preview-delay' seconds. +If `help-char' (or a member of `help-event-list') is pressed, +display such a window regardless." + (let* ((buffer "*Register Preview*") + (timer (when (numberp register-preview-delay) + (run-with-timer register-preview-delay nil + (lambda () + (unless (get-buffer-window buffer) + (register-preview buffer)))))) + (help-chars (cl-loop for c in (cons help-char help-event-list) + when (not (get-register c)) + collect c))) + (unwind-protect + (progn + (while (memq (read-key (propertize prompt 'face 'minibuffer-prompt)) + help-chars) + (unless (get-buffer-window buffer) + (register-preview buffer 'show-empty))) + (when (or (eq ?\C-g last-input-event) + (eq 'escape last-input-event) + (eq ?\C-\[ last-input-event)) + (keyboard-quit)) + (if (characterp last-input-event) last-input-event + (error "Non-character input-event"))) + (and (timerp timer) (cancel-timer timer)) + (let ((w (get-buffer-window buffer))) + (and (window-live-p w) (delete-window w))) + (and (get-buffer buffer) (kill-buffer buffer))))) + +(defun register-read-with-preview-fancy (prompt) + "Read and return a register name, possibly showing existing registers. +Prompt with the string PROMPT. +If `help-char' (or a member of `help-event-list') is pressed, display such a window regardless." (let* ((buffer "*Register Preview*") (buffer1 "*Register quick preview*") @@ -392,13 +500,13 @@ display such a window regardless." ;; Do nothing when buffer1 is in use. (unless (get-buffer-window buf) (with-selected-window (minibuffer-selected-window) =2D (register-preview buffer 'show-empty types)))= ))) + (register-preview-1 buffer 'show-empty types)))= ))) (define-key map (kbd "") 'register-preview-next) (define-key map (kbd "") 'register-preview-previous) (define-key map (kbd "C-n") 'register-preview-next) (define-key map (kbd "C-p") 'register-preview-previous) (unless (or executing-kbd-macro (eq register-use-preview 'never)) =2D (register-preview buf nil types)) + (register-preview-1 buf nil types)) (unwind-protect (progn (minibuffer-with-setup-hook =2D-=20 2.34.1 --=-=-=-- --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmV3/bkTHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvkwmeC/4gTSJpoPymhIJaBQC5zfaa4JAD8VOA c7PcX+QDxfA6mGJZjx0wuA8d1ZdiAunTb67xzbFsjNncXrlDUoiHu2ijVXQP60/R gBj48fToy3awxr7TesCU+k8OUiKDv1Mw9tfuLnhpbDCl2XWQDLbuK6K5S724ckh8 QBldKIMbi5o2qpfmKsMHPV7ke0xPLi2KgcwMnwoBHqqJ4NGjGu96GWBHwcDvpNsn ikgRo2gaVt0W/YIGt0YoGh4OH9kP+5O9y7ovcy8ZXkGuJWIZP/ICTV6eIsOy195Z maxd4nHwqBnO9TgTKcw1oKR4z0ah+LosDseP67HK2POsWaz1Lu4P5Ivl8sJsjkyT 423gOxTesm4mZDXIWxrxCZ7aD+Ldof3J5aAlPttJwDxWSpBrlXAsVW1Ju9+V+Hku UB4eEfqFsF2/eMxpFpaUjUNT6Y6A6CTtNIlzbKS66trJehB4JLomc1mtpExNYO0n hgwPtGrYymFwdEPbHIlmYGJxuVgl25oXq58= =mUvv -----END PGP SIGNATURE----- --==-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 12 Dec 2023 09:32:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Dmitry Gutov Cc: michael_heerdegen@web.de, Eli Zaretskii , stefankangas@gmail.com, monnier@iro.umontreal.ca, 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.17023735193810 (code B ref 66394); Tue, 12 Dec 2023 09:32:02 +0000 Received: (at 66394) by debbugs.gnu.org; 12 Dec 2023 09:31:59 +0000 Received: from localhost ([127.0.0.1]:55294 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rCz7O-0000zM-4Y for submit@debbugs.gnu.org; Tue, 12 Dec 2023 04:31:59 -0500 Received: from mout01.posteo.de ([185.67.36.65]:55481) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rCz7E-0000z3-1d for 66394@debbugs.gnu.org; Tue, 12 Dec 2023 04:31:56 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id EE98A24002A for <66394@debbugs.gnu.org>; Tue, 12 Dec 2023 10:31:26 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1702373487; bh=RiBJg4vLuoP+oeI5V/J3J0GuRBo+U8rhzcGRt2WAlRo=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=jrTP7LcPGcDauFsHj1335/tku2Ct6HlLXfLg8EuGEpD7iDxkfanzN/as2kPXkyYgq lcmgZNDeSI87h8BduVihT9L1KhHzqPK0yQme2OTf8/0f9xbEIBGoGAQFSlbiMZurNE NCjYudOaL9yHnyDn/Notzw/HgqLo5etzc0+uLN+sdA0zeQeQ5j6r2TGpIdzflZt07h w7OEVdP/0mB4k8QoIlyM/mcDKq9SdZ6CU4GjmuX+qwIKM48E6KQMAwfHTojmccAkJ6 cPMC1/AD684Yzd+9W55CscCBgmPUdHjRkIpQ1mmaw/pm+eFIUkk2BRtbzE3tGMMgRo gjYdoPn3RhQ4A== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4SqCzZ5dprz6tvZ; Tue, 12 Dec 2023 10:31:22 +0100 (CET) From: Thierry Volpiatto In-Reply-To: <87v894hr2e.fsf@posteo.net> (Thierry Volpiatto's message of "Tue, 12 Dec 2023 07:29:13 +0100 (2 hours, 56 minutes, 29 seconds ago)") References: <87il7ib6cu.fsf@posteo.net> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87a5qhxf05.fsf@posteo.net> <83jzpkvs4z.fsf@gnu.org> <87v8947ulo.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> Date: Tue, 12 Dec 2023 09:31:19 +0000 Message-ID: <87cyvbepi0.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Thierry Volpiatto writes: > Dmitry Gutov writes: > >> On 11/12/2023 19:32, Thierry Volpiatto wrote: >>> I made a little error in one of the patch when merging from a working >>> file for emacs-29.1, attaching here the two patches again with error >>> corrected (read `register-use-preview` instead of >>> `register-preview-use-preview`), sorry for this. >> >> JFYI, the second patch doesn't apply cleanly, which may make testing >> them a bit more difficult. >> >> It's because of commit 598ab9ca10d35d6 by Eli with documentation >> updates. When reverted, the second patch applies without problem. > > Dmitry thanks, here the patches again after rebasing. I found another (merge) error in patch 0001 with defmethod names (read register-command-info instead of register-preview-command-info), here the patches corrected. Without this changes, and with register-use-preview =3D=3D nil, confirmation is needed for copy-to-register and friends, now fixed. =2D-=20 Thierry --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-Don-t-confirm-with-RET-even-when-overwriting-in-regi.patch Content-Transfer-Encoding: quoted-printable From=20c83e6132f33c1ab7f6baf63f85aed32f32e8177c Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Mon, 11 Dec 2023 07:02:40 +0100 Subject: [PATCH 1/2] Don't confirm with RET even when overwriting in regist= er commands This happen when register-use-preview is nil or never. This reproduce what we had previously in 29.1 but with filtering in the preview and default registers are provided for the commands of type 'set'. This is implemented with cl-defmethod to keep the code as much as possible configurable. * lisp/register.el (register-preview-info): New slot. (register-command-info): Add new methods for copy-to-register, point-to-register, number-to-register, window-configuration-to-register, frameset-to-register and copy-rectangle-to-register. (register-read-with-preview): Bind noconfirm. =2D-- lisp/register.el | 67 ++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 56 insertions(+), 11 deletions(-) diff --git a/lisp/register.el b/lisp/register.el index fa4bbcf483f..cc4770579ee 100644 =2D-- a/lisp/register.el +++ b/lisp/register.el @@ -156,7 +156,7 @@ TYPES are the types of register supported. MSG is the minibuffer message to send when a register is selected. ACT is the type of action the command is doing on register. SMATCH accept a boolean value to say if command accept non matching regist= er." =2D types msg act smatch) + types msg act smatch noconfirm) =20 (cl-defgeneric register-command-info (command) "Returns a `register-preview-info' object storing data for COMMAND." @@ -179,24 +179,66 @@ SMATCH accept a boolean value to say if command accep= t non matching register." :types '(all) :msg "View register `%s'" :act 'view + :noconfirm (memq register-use-preview '(nil never)) :smatch t)) (cl-defmethod register-command-info ((_command (eql append-to-register))) (make-register-preview-info :types '(string number) :msg "Append to register `%s'" :act 'modify + :noconfirm (memq register-use-preview '(nil never)) :smatch t)) (cl-defmethod register-command-info ((_command (eql prepend-to-register))) (make-register-preview-info :types '(string number) :msg "Prepend to register `%s'" :act 'modify + :noconfirm (memq register-use-preview '(nil never)) :smatch t)) (cl-defmethod register-command-info ((_command (eql increment-register))) (make-register-preview-info :types '(string number) :msg "Increment register `%s'" :act 'modify + :noconfirm (memq register-use-preview '(nil never)) + :smatch t)) +(cl-defmethod register-command-info ((_command (eql copy-to-register))) + (make-register-preview-info + :types '(all) + :msg "Copy to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-command-info ((_command (eql point-to-register))) + (make-register-preview-info + :types '(all) + :msg "Point to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-command-info ((_command (eql number-to-register))) + (make-register-preview-info + :types '(all) + :msg "Number to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-command-info + ((_command (eql window-configuration-to-register))) + (make-register-preview-info + :types '(all) + :msg "Window configuration to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-command-info ((_command (eql frameset-to-register))) + (make-register-preview-info + :types '(all) + :msg "Frameset to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-command-info ((_command (eql copy-rectangle-to-regi= ster))) + (make-register-preview-info + :types '(all) + :msg "Copy rectangle to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)) :smatch t)) =20 (defun register-preview-forward-line (arg) @@ -328,12 +370,13 @@ display such a window regardless." m)) (data (register-command-info this-command)) (enable-recursive-minibuffers t) =2D types msg result timer act win strs smatch) + types msg result timer act win strs smatch noconfirm) (if data =2D (setq types (register-preview-info-types data) =2D msg (register-preview-info-msg data) =2D act (register-preview-info-act data) =2D smatch (register-preview-info-smatch data)) + (setq types (register-preview-info-types data) + msg (register-preview-info-msg data) + act (register-preview-info-act data) + smatch (register-preview-info-smatch data) + noconfirm (register-preview-info-noconfirm data)) (setq types '(all) msg "Overwrite register `%s'" act 'set)) @@ -400,13 +443,15 @@ display such a window regardless." "Register `%s' is empty" pat)))))) (unless (string=3D pat "") (with-selected-window (minibuffer-window) =2D (if (and (member pat strs) (memq act '(s= et modify))) + (if (and (member pat strs) + (memq act '(set modify)) + (null noconfirm)) (with-selected-window (minibuffer-wind= ow) (minibuffer-message msg pat)) =2D ;; An empty register or an existing =2D ;; one but the action is insert or =2D ;; jump, don't ask for confirmation =2D ;; and exit immediately (bug#66394). + ;; The action is insert or + ;; jump or noconfirm is specifed + ;; explicitely, don't ask for + ;; confirmation and exit immediately (bu= g#66394). (setq result pat) (exit-minibuffer))))))))) (setq result (read-from-minibuffer =2D-=20 2.34.1 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0002-Provide-emacs-29-behavior-for-register-preview.patch Content-Transfer-Encoding: quoted-printable From=2008cecb72eea866933941036718eb7af7f8d05ee9 Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Tue, 12 Dec 2023 07:24:32 +0100 Subject: [PATCH 2/2] Provide emacs-29 behavior for register-preview It is now the default with a value of register-use-preview eq to basic. To change this one have now to customize register-use-preview to another value. * lisp/register.el (register-preview-delay): Remove obsolescence. (register--read-with-preview-function): New. (register-use-preview): New option basic, it is now the default. (register-preview-default-1): New the register-preview-default used by `register-read-with-preview-fancy`. (register-preview-default): Restored (same as Emacs-29). (register--preview-function): Generic fn that return the right function for register--preview-function. (register-preview): Restored (same behavior as Emacs-29). (register-preview-1): Used by `register-read-with-preview-fancy'. (register-read-with-preview-basic): The old register-read-with-preview. (register-read-with-preview-fancy): The new register-read-with-preview. =2D-- lisp/register.el | 146 +++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 127 insertions(+), 19 deletions(-) diff --git a/lisp/register.el b/lisp/register.el index cc4770579ee..8dbddf1bc9a 100644 =2D-- a/lisp/register.el +++ b/lisp/register.el @@ -100,25 +100,49 @@ If nil, do not show register previews, unless `help-c= har' (or a member of :version "24.4" :type '(choice number (const :tag "No preview unless requested" nil)) :group 'register) =2D(make-obsolete-variable 'register-preview-delay "No longer used." "30.1") =20 (defcustom register-preview-default-keys (mapcar #'string (number-sequence= ?a ?z)) "Default keys for setting a new register." =2D :type '(repeat string)) =2D =2D(defcustom register-use-preview t =2D "Whether to show preview of registers. =2D =2DIf the value is t, show a preview buffer with navigation and highlightin= g. =2DIf the value is nil, show a basic preview buffer and exit minibuffer =2Dimmediately after the register name is inserted into minibuffer. =2DIf the value is \\=3D'never, behave as for nil, but with no preview buff= er =2Dat all." + :type '(repeat string) + :version 30.1) + +(defvar register--read-with-preview-function nil + "The register read preview function to use. +Two functions are provided, one that provide navigation and +highlighting of the register selected, filtering of register +according to command in use, defaults register to use when +setting a new register, confirmation and notification when you +are about to overwrite a register and generic functions to +configure how each existing commands behave. The other function +provided is the same as what was used in Emacs-29, no filtering, +no navigation, no defaults.") + +(defcustom register-use-preview 'basic + "Maybe show register preview. + +This have no effect when `register--read-with-preview-function' value +is `register-read-with-preview-basic'. + +When set to `t' show a preview buffer with navigation and highlighting. +When nil show a basic preview buffer and exit minibuffer +immediately after insertion in minibuffer. +When set to \\=3D'never behave as above but with no preview buffer at +all. +When set to \\=3D'basic provide a much more basic preview according to +`register-preview-delay', it have the exact same behavior as in Emacs-29." :type '(choice (const :tag "Use preview" t) (const :tag "Use quick preview" nil) =2D (const :tag "Never use preview" never)) =2D :version "30.1") + (const :tag "Never use preview" never) + (const :tag "Basic preview like Emacs-29" basic)) + :version 30.1 + :set (lambda (var val) + (set var val) + (setq register--read-with-preview-function + (if (eq val 'basic) + #'register-read-with-preview-basic + #'register-read-with-preview-fancy)) + (setq register-preview-function nil))) =20 (defun get-register (register) "Return contents of Emacs register named REGISTER, or nil if none." @@ -138,17 +162,34 @@ See the documentation of the variable `register-alist= ' for possible VALUEs." (substring d (match-end 0)) d))) =20 =2D(defun register-preview-default (r) +(defun register-preview-default-1 (r) "Function that is the default value of the variable `register-preview-fu= nction'." (format "%s: %s\n" (propertize (string (car r)) 'display (single-key-description (car r))) (register-describe-oneline (car r)))) =20 =2D(defvar register-preview-function #'register-preview-default +(defun register-preview-default (r) + "Function that is the default value of the variable `register-preview-fu= nction'." + (format "%s: %s\n" + (single-key-description (car r)) + (register-describe-oneline (car r)))) + +(defvar register-preview-function nil "Function to format a register for previewing. Called with one argument, a cons (NAME . CONTENTS) as found in `register-a= list'. =2DThe function should return a string, the description of the argument.") +The function should return a string, the description of the argument. +It is set according to the value of `register--read-with-preview-function'= .") + +(cl-defgeneric register--preview-function (read-preview-function) + "Returns a function to format a register for previewing. +This accorfing to the value of read-preview-function.") +(cl-defmethod register--preview-function ((read-preview-function + (eql 'register-read-with-previe= w-basic))) + #'register-preview-default) +(cl-defmethod register--preview-function ((read-preview-function + (eql 'register-read-with-previe= w-fancy))) + #'register-preview-default-1) =20 (cl-defstruct register-preview-info "Store data for a specific register command. @@ -327,12 +368,39 @@ satisfy `cl-typep' otherwise the new type should be d= efined with when (memq (register-type register) types) collect register))) =20 =2D(defun register-preview (buffer &optional show-empty types) +(defun register-preview (buffer &optional show-empty) + "Pop up a window showing the registers preview in BUFFER. +If SHOW-EMPTY is non-nil, show the window even if no registers. +Format of each entry is controlled by the variable `register-preview-funct= ion'." + (unless register-preview-function + (setq register-preview-function (register--preview-function + register--read-with-preview-function)= )) + (when (or show-empty (consp register-alist)) + (with-current-buffer-window + buffer + (cons 'display-buffer-below-selected + '((window-height . fit-window-to-buffer) + (preserve-size . (nil . t)))) + nil + (with-current-buffer standard-output + (setq cursor-in-non-selected-windows nil) + (mapc (lambda (elem) + (when (get-register (car elem)) + (insert (funcall register-preview-function elem)))) + register-alist))))) + +(defun register-preview-1 (buffer &optional show-empty types) "Pop up a window showing the registers preview in BUFFER. + +This is the preview function use with +`register-read-with-preview-fancy' function. If SHOW-EMPTY is non-nil, show the window even if no registers. Argument TYPES (a list) specify the types of register to show, when nil sh= ow all registers, see `register-type' for suitable types. Format of each entry is controlled by the variable `register-preview-funct= ion'." + (unless register-preview-function + (setq register-preview-function (register--preview-function + register--read-with-preview-function)= )) (let ((registers (register-of-type-alist (or types '(all))))) (when (or show-empty (consp registers)) (with-current-buffer-window @@ -360,6 +428,46 @@ Format of each entry is controlled by the variable `re= gister-preview-function'." "Read and return a register name, possibly showing existing registers. Prompt with the string PROMPT. If `help-char' (or a member of `help-event-list') is pressed, +display such a window regardless." + (funcall register--read-with-preview-function prompt)) + +(defun register-read-with-preview-basic (prompt) + "Read and return a register name, possibly showing existing registers. +Prompt with the string PROMPT. If `register-alist' and +`register-preview-delay' are both non-nil, display a window +listing existing registers after `register-preview-delay' seconds. +If `help-char' (or a member of `help-event-list') is pressed, +display such a window regardless." + (let* ((buffer "*Register Preview*") + (timer (when (numberp register-preview-delay) + (run-with-timer register-preview-delay nil + (lambda () + (unless (get-buffer-window buffer) + (register-preview buffer)))))) + (help-chars (cl-loop for c in (cons help-char help-event-list) + when (not (get-register c)) + collect c))) + (unwind-protect + (progn + (while (memq (read-key (propertize prompt 'face 'minibuffer-prompt)) + help-chars) + (unless (get-buffer-window buffer) + (register-preview buffer 'show-empty))) + (when (or (eq ?\C-g last-input-event) + (eq 'escape last-input-event) + (eq ?\C-\[ last-input-event)) + (keyboard-quit)) + (if (characterp last-input-event) last-input-event + (error "Non-character input-event"))) + (and (timerp timer) (cancel-timer timer)) + (let ((w (get-buffer-window buffer))) + (and (window-live-p w) (delete-window w))) + (and (get-buffer buffer) (kill-buffer buffer))))) + +(defun register-read-with-preview-fancy (prompt) + "Read and return a register name, possibly showing existing registers. +Prompt with the string PROMPT. +If `help-char' (or a member of `help-event-list') is pressed, display such a window regardless." (let* ((buffer "*Register Preview*") (buffer1 "*Register quick preview*") @@ -392,13 +500,13 @@ display such a window regardless." ;; Do nothing when buffer1 is in use. (unless (get-buffer-window buf) (with-selected-window (minibuffer-selected-window) =2D (register-preview buffer 'show-empty types)))= ))) + (register-preview-1 buffer 'show-empty types)))= ))) (define-key map (kbd "") 'register-preview-next) (define-key map (kbd "") 'register-preview-previous) (define-key map (kbd "C-n") 'register-preview-next) (define-key map (kbd "C-p") 'register-preview-previous) (unless (or executing-kbd-macro (eq register-use-preview 'never)) =2D (register-preview buf nil types)) + (register-preview-1 buf nil types)) (unwind-protect (progn (minibuffer-with-setup-hook =2D-=20 2.34.1 --=-=-=-- --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmV4KGcTHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvkzJADACYSB4a0Msj708HKFwdeS/9+OsznbA+ H4o+i7eYQ8OUS8gqMqei7htOXlJt7WeMNyu1Zdet7/0Y/smf+BXqYUj8Cn9FEIRb zmJpsNvQqQtSDsgD/pZJAy6FnKmN3KIwgxfrcQ0zEDMnXstj02I1fiK3jivvTAMZ aGz3FWJlnYC83qUDjCho2wDZgjfmF5GBMik2vnIUjHJDnrzp5Tbp/JEjGMNH62/n khz2h609QWRPzID9GTID7lG/xrqcAamtDD51PIzOlMpQcY2ee8xvEtW2N1Hnckg7 /Z5YLixxPAO3PhX/yb4xZGyTBDu4t84IDWWpvNRE7wiYJaZJS1HpDZGNmmigrNFn 9WK1sA8DB467ezQAls5lUa0ySjWGMk/x8p5UGH5J2K0Z3P2q8BbL1FnoUpqqLLXr pLZmja/Q5HtCIBUevExkTTXUIrcN7i56oyfTXCrtl1bLnpxvznJkyRou8Ri8W6qI EJLp7D47ap6Jc7Tq/HaU+Uj/Wy1zULq5B7w= =xj9n -----END PGP SIGNATURE----- --==-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 12 Dec 2023 10:18:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Dmitry Gutov Cc: michael_heerdegen@web.de, Eli Zaretskii , stefankangas@gmail.com, monnier@iro.umontreal.ca, 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.17023762458494 (code B ref 66394); Tue, 12 Dec 2023 10:18:02 +0000 Received: (at 66394) by debbugs.gnu.org; 12 Dec 2023 10:17:25 +0000 Received: from localhost ([127.0.0.1]:55332 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rCzpM-0002Cv-0U for submit@debbugs.gnu.org; Tue, 12 Dec 2023 05:17:25 -0500 Received: from mout02.posteo.de ([185.67.36.66]:57413) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rCzpI-0002Ch-U3 for 66394@debbugs.gnu.org; Tue, 12 Dec 2023 05:17:23 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 9AE00240104 for <66394@debbugs.gnu.org>; Tue, 12 Dec 2023 11:16:59 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1702376219; bh=Zi+id97CQdWJ0qNMxYts/iltgc6oU/ZDaU/WsE8d8zw=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=gxZo0TGn8bP+1hKu7iCaxZAWXWe6aZVzyD3C1NJx4TdR/w78SGD7hO38lMguirzWm k9GY+nrDU45gjmkFs332wwRtZW3iqOetSia6NKvb+9sOOxS+msDHswAChmFVtlpn3Z 0Dd60w8UgSJSOLzidMr800/w+CikIFpDwFrCqz2XLhJ1TCIdaRhpNuMO9egDuSmnyk pDQZW03OAy4hpyfRZ08vWQGxnFy4jFGMbUQE3WOI+Ad1mfQpXhOysfbQ1r0cxIG19Y a45zyAhIy1aYSdR2azafkNOb1G1H0r8W3nrhWmShNSULDGK8O8fnj+YOHesz5buXJn TrxpVMP9YQoTw== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4SqF0764VQz6tm4; Tue, 12 Dec 2023 11:16:55 +0100 (CET) From: Thierry Volpiatto In-Reply-To: <87cyvbepi0.fsf@posteo.net> (Thierry Volpiatto's message of "Tue, 12 Dec 2023 10:31:19 +0100 (30 minutes, 43 seconds ago)") References: <87il7ib6cu.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87a5qhxf05.fsf@posteo.net> <83jzpkvs4z.fsf@gnu.org> <87v8947ulo.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> <87cyvbepi0.fsf@posteo.net> Date: Tue, 12 Dec 2023 10:16:52 +0000 Message-ID: <87bkavk9nv.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Thierry Volpiatto writes: > Thierry Volpiatto writes: > >> Dmitry Gutov writes: >> >>> On 11/12/2023 19:32, Thierry Volpiatto wrote: >>>> I made a little error in one of the patch when merging from a working >>>> file for emacs-29.1, attaching here the two patches again with error >>>> corrected (read `register-use-preview` instead of >>>> `register-preview-use-preview`), sorry for this. >>> >>> JFYI, the second patch doesn't apply cleanly, which may make testing >>> them a bit more difficult. >>> >>> It's because of commit 598ab9ca10d35d6 by Eli with documentation >>> updates. When reverted, the second patch applies without problem. >> >> Dmitry thanks, here the patches again after rebasing. > > I found another (merge) error in patch 0001 with defmethod names (read > register-command-info instead of register-preview-command-info), here > the patches corrected. Without this changes, and with > register-use-preview =3D=3D nil, confirmation is needed for copy-to-regis= ter > and friends, now fixed. Here a third patch that allows more precise configuration if needed. For example if you have register-use-preview =3D=3D nil, no confirmation with RET is needed everywhere, even when overwriting a register. If you want to have a confirmation when overwriting but no confirmation when jumping/inserting you can use this in addition of register-use-preview =3D=3D nil: (cl-defmethod register-command-info :after ((_command (eql copy-to-regi= ster))) (make-register-preview-info :types '(all) :msg "Copy to register `%s'" :act 'set)) You can modify other commands as well to your needs (point-to-register etc...) with same method. Sending here the serie of 3 patches to avoid errors when applying patches. I have also some minor errors (english in docstring, unnneded quotes etc...) that I will fix later when polishing final patches. =2D-=20 Thierry --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-Don-t-confirm-with-RET-even-when-overwriting-in-regi.patch Content-Transfer-Encoding: quoted-printable From=20c83e6132f33c1ab7f6baf63f85aed32f32e8177c Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Mon, 11 Dec 2023 07:02:40 +0100 Subject: [PATCH 1/3] Don't confirm with RET even when overwriting in regist= er commands This happen when register-use-preview is nil or never. This reproduce what we had previously in 29.1 but with filtering in the preview and default registers are provided for the commands of type 'set'. This is implemented with cl-defmethod to keep the code as much as possible configurable. * lisp/register.el (register-preview-info): New slot. (register-command-info): Add new methods for copy-to-register, point-to-register, number-to-register, window-configuration-to-register, frameset-to-register and copy-rectangle-to-register. (register-read-with-preview): Bind noconfirm. =2D-- lisp/register.el | 67 ++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 56 insertions(+), 11 deletions(-) diff --git a/lisp/register.el b/lisp/register.el index fa4bbcf483f..cc4770579ee 100644 =2D-- a/lisp/register.el +++ b/lisp/register.el @@ -156,7 +156,7 @@ TYPES are the types of register supported. MSG is the minibuffer message to send when a register is selected. ACT is the type of action the command is doing on register. SMATCH accept a boolean value to say if command accept non matching regist= er." =2D types msg act smatch) + types msg act smatch noconfirm) =20 (cl-defgeneric register-command-info (command) "Returns a `register-preview-info' object storing data for COMMAND." @@ -179,24 +179,66 @@ SMATCH accept a boolean value to say if command accep= t non matching register." :types '(all) :msg "View register `%s'" :act 'view + :noconfirm (memq register-use-preview '(nil never)) :smatch t)) (cl-defmethod register-command-info ((_command (eql append-to-register))) (make-register-preview-info :types '(string number) :msg "Append to register `%s'" :act 'modify + :noconfirm (memq register-use-preview '(nil never)) :smatch t)) (cl-defmethod register-command-info ((_command (eql prepend-to-register))) (make-register-preview-info :types '(string number) :msg "Prepend to register `%s'" :act 'modify + :noconfirm (memq register-use-preview '(nil never)) :smatch t)) (cl-defmethod register-command-info ((_command (eql increment-register))) (make-register-preview-info :types '(string number) :msg "Increment register `%s'" :act 'modify + :noconfirm (memq register-use-preview '(nil never)) + :smatch t)) +(cl-defmethod register-command-info ((_command (eql copy-to-register))) + (make-register-preview-info + :types '(all) + :msg "Copy to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-command-info ((_command (eql point-to-register))) + (make-register-preview-info + :types '(all) + :msg "Point to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-command-info ((_command (eql number-to-register))) + (make-register-preview-info + :types '(all) + :msg "Number to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-command-info + ((_command (eql window-configuration-to-register))) + (make-register-preview-info + :types '(all) + :msg "Window configuration to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-command-info ((_command (eql frameset-to-register))) + (make-register-preview-info + :types '(all) + :msg "Frameset to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-command-info ((_command (eql copy-rectangle-to-regi= ster))) + (make-register-preview-info + :types '(all) + :msg "Copy rectangle to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)) :smatch t)) =20 (defun register-preview-forward-line (arg) @@ -328,12 +370,13 @@ display such a window regardless." m)) (data (register-command-info this-command)) (enable-recursive-minibuffers t) =2D types msg result timer act win strs smatch) + types msg result timer act win strs smatch noconfirm) (if data =2D (setq types (register-preview-info-types data) =2D msg (register-preview-info-msg data) =2D act (register-preview-info-act data) =2D smatch (register-preview-info-smatch data)) + (setq types (register-preview-info-types data) + msg (register-preview-info-msg data) + act (register-preview-info-act data) + smatch (register-preview-info-smatch data) + noconfirm (register-preview-info-noconfirm data)) (setq types '(all) msg "Overwrite register `%s'" act 'set)) @@ -400,13 +443,15 @@ display such a window regardless." "Register `%s' is empty" pat)))))) (unless (string=3D pat "") (with-selected-window (minibuffer-window) =2D (if (and (member pat strs) (memq act '(s= et modify))) + (if (and (member pat strs) + (memq act '(set modify)) + (null noconfirm)) (with-selected-window (minibuffer-wind= ow) (minibuffer-message msg pat)) =2D ;; An empty register or an existing =2D ;; one but the action is insert or =2D ;; jump, don't ask for confirmation =2D ;; and exit immediately (bug#66394). + ;; The action is insert or + ;; jump or noconfirm is specifed + ;; explicitely, don't ask for + ;; confirmation and exit immediately (bu= g#66394). (setq result pat) (exit-minibuffer))))))))) (setq result (read-from-minibuffer =2D-=20 2.34.1 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0002-Provide-emacs-29-behavior-for-register-preview.patch Content-Transfer-Encoding: quoted-printable From=2008cecb72eea866933941036718eb7af7f8d05ee9 Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Tue, 12 Dec 2023 07:24:32 +0100 Subject: [PATCH 2/3] Provide emacs-29 behavior for register-preview It is now the default with a value of register-use-preview eq to basic. To change this one have now to customize register-use-preview to another value. * lisp/register.el (register-preview-delay): Remove obsolescence. (register--read-with-preview-function): New. (register-use-preview): New option basic, it is now the default. (register-preview-default-1): New the register-preview-default used by `register-read-with-preview-fancy`. (register-preview-default): Restored (same as Emacs-29). (register--preview-function): Generic fn that return the right function for register--preview-function. (register-preview): Restored (same behavior as Emacs-29). (register-preview-1): Used by `register-read-with-preview-fancy'. (register-read-with-preview-basic): The old register-read-with-preview. (register-read-with-preview-fancy): The new register-read-with-preview. =2D-- lisp/register.el | 146 +++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 127 insertions(+), 19 deletions(-) diff --git a/lisp/register.el b/lisp/register.el index cc4770579ee..8dbddf1bc9a 100644 =2D-- a/lisp/register.el +++ b/lisp/register.el @@ -100,25 +100,49 @@ If nil, do not show register previews, unless `help-c= har' (or a member of :version "24.4" :type '(choice number (const :tag "No preview unless requested" nil)) :group 'register) =2D(make-obsolete-variable 'register-preview-delay "No longer used." "30.1") =20 (defcustom register-preview-default-keys (mapcar #'string (number-sequence= ?a ?z)) "Default keys for setting a new register." =2D :type '(repeat string)) =2D =2D(defcustom register-use-preview t =2D "Whether to show preview of registers. =2D =2DIf the value is t, show a preview buffer with navigation and highlightin= g. =2DIf the value is nil, show a basic preview buffer and exit minibuffer =2Dimmediately after the register name is inserted into minibuffer. =2DIf the value is \\=3D'never, behave as for nil, but with no preview buff= er =2Dat all." + :type '(repeat string) + :version 30.1) + +(defvar register--read-with-preview-function nil + "The register read preview function to use. +Two functions are provided, one that provide navigation and +highlighting of the register selected, filtering of register +according to command in use, defaults register to use when +setting a new register, confirmation and notification when you +are about to overwrite a register and generic functions to +configure how each existing commands behave. The other function +provided is the same as what was used in Emacs-29, no filtering, +no navigation, no defaults.") + +(defcustom register-use-preview 'basic + "Maybe show register preview. + +This have no effect when `register--read-with-preview-function' value +is `register-read-with-preview-basic'. + +When set to `t' show a preview buffer with navigation and highlighting. +When nil show a basic preview buffer and exit minibuffer +immediately after insertion in minibuffer. +When set to \\=3D'never behave as above but with no preview buffer at +all. +When set to \\=3D'basic provide a much more basic preview according to +`register-preview-delay', it have the exact same behavior as in Emacs-29." :type '(choice (const :tag "Use preview" t) (const :tag "Use quick preview" nil) =2D (const :tag "Never use preview" never)) =2D :version "30.1") + (const :tag "Never use preview" never) + (const :tag "Basic preview like Emacs-29" basic)) + :version 30.1 + :set (lambda (var val) + (set var val) + (setq register--read-with-preview-function + (if (eq val 'basic) + #'register-read-with-preview-basic + #'register-read-with-preview-fancy)) + (setq register-preview-function nil))) =20 (defun get-register (register) "Return contents of Emacs register named REGISTER, or nil if none." @@ -138,17 +162,34 @@ See the documentation of the variable `register-alist= ' for possible VALUEs." (substring d (match-end 0)) d))) =20 =2D(defun register-preview-default (r) +(defun register-preview-default-1 (r) "Function that is the default value of the variable `register-preview-fu= nction'." (format "%s: %s\n" (propertize (string (car r)) 'display (single-key-description (car r))) (register-describe-oneline (car r)))) =20 =2D(defvar register-preview-function #'register-preview-default +(defun register-preview-default (r) + "Function that is the default value of the variable `register-preview-fu= nction'." + (format "%s: %s\n" + (single-key-description (car r)) + (register-describe-oneline (car r)))) + +(defvar register-preview-function nil "Function to format a register for previewing. Called with one argument, a cons (NAME . CONTENTS) as found in `register-a= list'. =2DThe function should return a string, the description of the argument.") +The function should return a string, the description of the argument. +It is set according to the value of `register--read-with-preview-function'= .") + +(cl-defgeneric register--preview-function (read-preview-function) + "Returns a function to format a register for previewing. +This accorfing to the value of read-preview-function.") +(cl-defmethod register--preview-function ((read-preview-function + (eql 'register-read-with-previe= w-basic))) + #'register-preview-default) +(cl-defmethod register--preview-function ((read-preview-function + (eql 'register-read-with-previe= w-fancy))) + #'register-preview-default-1) =20 (cl-defstruct register-preview-info "Store data for a specific register command. @@ -327,12 +368,39 @@ satisfy `cl-typep' otherwise the new type should be d= efined with when (memq (register-type register) types) collect register))) =20 =2D(defun register-preview (buffer &optional show-empty types) +(defun register-preview (buffer &optional show-empty) + "Pop up a window showing the registers preview in BUFFER. +If SHOW-EMPTY is non-nil, show the window even if no registers. +Format of each entry is controlled by the variable `register-preview-funct= ion'." + (unless register-preview-function + (setq register-preview-function (register--preview-function + register--read-with-preview-function)= )) + (when (or show-empty (consp register-alist)) + (with-current-buffer-window + buffer + (cons 'display-buffer-below-selected + '((window-height . fit-window-to-buffer) + (preserve-size . (nil . t)))) + nil + (with-current-buffer standard-output + (setq cursor-in-non-selected-windows nil) + (mapc (lambda (elem) + (when (get-register (car elem)) + (insert (funcall register-preview-function elem)))) + register-alist))))) + +(defun register-preview-1 (buffer &optional show-empty types) "Pop up a window showing the registers preview in BUFFER. + +This is the preview function use with +`register-read-with-preview-fancy' function. If SHOW-EMPTY is non-nil, show the window even if no registers. Argument TYPES (a list) specify the types of register to show, when nil sh= ow all registers, see `register-type' for suitable types. Format of each entry is controlled by the variable `register-preview-funct= ion'." + (unless register-preview-function + (setq register-preview-function (register--preview-function + register--read-with-preview-function)= )) (let ((registers (register-of-type-alist (or types '(all))))) (when (or show-empty (consp registers)) (with-current-buffer-window @@ -360,6 +428,46 @@ Format of each entry is controlled by the variable `re= gister-preview-function'." "Read and return a register name, possibly showing existing registers. Prompt with the string PROMPT. If `help-char' (or a member of `help-event-list') is pressed, +display such a window regardless." + (funcall register--read-with-preview-function prompt)) + +(defun register-read-with-preview-basic (prompt) + "Read and return a register name, possibly showing existing registers. +Prompt with the string PROMPT. If `register-alist' and +`register-preview-delay' are both non-nil, display a window +listing existing registers after `register-preview-delay' seconds. +If `help-char' (or a member of `help-event-list') is pressed, +display such a window regardless." + (let* ((buffer "*Register Preview*") + (timer (when (numberp register-preview-delay) + (run-with-timer register-preview-delay nil + (lambda () + (unless (get-buffer-window buffer) + (register-preview buffer)))))) + (help-chars (cl-loop for c in (cons help-char help-event-list) + when (not (get-register c)) + collect c))) + (unwind-protect + (progn + (while (memq (read-key (propertize prompt 'face 'minibuffer-prompt)) + help-chars) + (unless (get-buffer-window buffer) + (register-preview buffer 'show-empty))) + (when (or (eq ?\C-g last-input-event) + (eq 'escape last-input-event) + (eq ?\C-\[ last-input-event)) + (keyboard-quit)) + (if (characterp last-input-event) last-input-event + (error "Non-character input-event"))) + (and (timerp timer) (cancel-timer timer)) + (let ((w (get-buffer-window buffer))) + (and (window-live-p w) (delete-window w))) + (and (get-buffer buffer) (kill-buffer buffer))))) + +(defun register-read-with-preview-fancy (prompt) + "Read and return a register name, possibly showing existing registers. +Prompt with the string PROMPT. +If `help-char' (or a member of `help-event-list') is pressed, display such a window regardless." (let* ((buffer "*Register Preview*") (buffer1 "*Register quick preview*") @@ -392,13 +500,13 @@ display such a window regardless." ;; Do nothing when buffer1 is in use. (unless (get-buffer-window buf) (with-selected-window (minibuffer-selected-window) =2D (register-preview buffer 'show-empty types)))= ))) + (register-preview-1 buffer 'show-empty types)))= ))) (define-key map (kbd "") 'register-preview-next) (define-key map (kbd "") 'register-preview-previous) (define-key map (kbd "C-n") 'register-preview-next) (define-key map (kbd "C-p") 'register-preview-previous) (unless (or executing-kbd-macro (eq register-use-preview 'never)) =2D (register-preview buf nil types)) + (register-preview-1 buf nil types)) (unwind-protect (progn (minibuffer-with-setup-hook =2D-=20 2.34.1 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0003-Allow-users-overriding-register-use-preview-behavior.patch Content-Transfer-Encoding: quoted-printable From=2015839ea11879fb651314c2d45ea4558c5735dcb6 Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Tue, 12 Dec 2023 10:48:00 +0100 Subject: [PATCH 3/3] Allow users overriding register-use-preview behavior This allows a more precise configuration if needed. For example if one have register-use-preview =3D=3D nil and want a confirmation when overwriting a register he can use: (cl-defmethod register-command-info :after ((_command (eql copy-to-register= ))) (make-register-preview-info :types '(all) :msg "Copy to register `%s'" :act 'set)) which disable the no confirmation when overwriting with such setting of register-use-preview. This is done by calling cl-call-next-method. * lisp/register.el (register-command-info): Call next method where needed. =2D-- lisp/register.el | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/lisp/register.el b/lisp/register.el index 8dbddf1bc9a..2bb476cb34c 100644 =2D-- a/lisp/register.el +++ b/lisp/register.el @@ -228,59 +228,68 @@ SMATCH accept a boolean value to say if command accep= t non matching register." :msg "Append to register `%s'" :act 'modify :noconfirm (memq register-use-preview '(nil never)) =2D :smatch t)) + :smatch t) + (cl-call-next-method)) (cl-defmethod register-command-info ((_command (eql prepend-to-register))) (make-register-preview-info :types '(string number) :msg "Prepend to register `%s'" :act 'modify :noconfirm (memq register-use-preview '(nil never)) =2D :smatch t)) + :smatch t) + (cl-call-next-method)) (cl-defmethod register-command-info ((_command (eql increment-register))) (make-register-preview-info :types '(string number) :msg "Increment register `%s'" :act 'modify :noconfirm (memq register-use-preview '(nil never)) =2D :smatch t)) + :smatch t) + (cl-call-next-method)) (cl-defmethod register-command-info ((_command (eql copy-to-register))) (make-register-preview-info :types '(all) :msg "Copy to register `%s'" :act 'set =2D :noconfirm (memq register-use-preview '(nil never)))) + :noconfirm (memq register-use-preview '(nil never))) + (cl-call-next-method)) (cl-defmethod register-command-info ((_command (eql point-to-register))) (make-register-preview-info :types '(all) :msg "Point to register `%s'" :act 'set =2D :noconfirm (memq register-use-preview '(nil never)))) + :noconfirm (memq register-use-preview '(nil never))) + (cl-call-next-method)) (cl-defmethod register-command-info ((_command (eql number-to-register))) (make-register-preview-info :types '(all) :msg "Number to register `%s'" :act 'set =2D :noconfirm (memq register-use-preview '(nil never)))) + :noconfirm (memq register-use-preview '(nil never))) + (cl-call-next-method)) (cl-defmethod register-command-info ((_command (eql window-configuration-to-register))) (make-register-preview-info :types '(all) :msg "Window configuration to register `%s'" :act 'set =2D :noconfirm (memq register-use-preview '(nil never)))) + :noconfirm (memq register-use-preview '(nil never))) + (cl-call-next-method)) (cl-defmethod register-command-info ((_command (eql frameset-to-register))) (make-register-preview-info :types '(all) :msg "Frameset to register `%s'" :act 'set =2D :noconfirm (memq register-use-preview '(nil never)))) + :noconfirm (memq register-use-preview '(nil never))) + (cl-call-next-method)) (cl-defmethod register-command-info ((_command (eql copy-rectangle-to-regi= ster))) (make-register-preview-info :types '(all) :msg "Copy rectangle to register `%s'" :act 'set :noconfirm (memq register-use-preview '(nil never)) =2D :smatch t)) + :smatch t) + (cl-call-next-method)) =20 (defun register-preview-forward-line (arg) "Move to next or previous line in register preview buffer. =2D-=20 2.34.1 --=-=-=-- --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmV4MxQTHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvkyM5C/9v8mpLvWYSqmnP9vyryDBuJD0WTUjI leLMlhBWYmAWtKPQwa5OX4xxmh1EW0Vn32sn/J1lrqewTFrWeQ6z6p0ang2UQDAP g5Aq5RrVV4wU2sxLPwaodNvdmIjZDLUoHXYHs9R+jCRLXFHRvdinECojdyWAFUS0 mDR33y4Sc7kGkFgrXzCRl8IfBvkFiOhbrcrmAdNC11jLq3h2nI9ggN4eSdsgvvPQ HsnOUb2fQI6ygj4YaVbyn7NdW11RBUE3tK+cBM8FolWsQMpTSzO9Whmyscpk3ZqA M0DpfLb3VSvaZyazCO+5GxqmnFUo9qw0QplOh0/0m/JVdtNF6JSnrpATqZALghfN 6WNXUdmns2mIiuEm5KQ28IhephnaoYrjey200xIfDwEUUgjKSv082SB5hAMOqFa+ t+33AklqTw/X7R/a1QISglXRKH+KK/RM2W0IIHUtKac4T+oUfwg7eB+Q4tRZS742 AAvEt7F6T6ZV7ZaI0FTTZVseVPqc2HvIZ5A= =ovXx -----END PGP SIGNATURE----- --==-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful References: <87il7ib6cu.fsf@posteo.net> Resent-From: Steve Perry Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 12 Dec 2023 10:50:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: michael_heerdegen@web.de, eliz@gnu.org, stefankangas@gmail.com, monnier@iro.umontreal.ca, 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170237815822096 (code B ref 66394); Tue, 12 Dec 2023 10:50:02 +0000 Received: (at 66394) by debbugs.gnu.org; 12 Dec 2023 10:49:18 +0000 Received: from localhost ([127.0.0.1]:55360 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rD0KA-0005kH-VP for submit@debbugs.gnu.org; Tue, 12 Dec 2023 05:49:18 -0500 Received: from mail.envs.net ([5.199.136.28]:46956) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rCzDM-00018b-Mf for 66394@debbugs.gnu.org; Tue, 12 Dec 2023 04:38:09 -0500 Received: from localhost (mail.envs.net [127.0.0.1]) by mail.envs.net (Postfix) with ESMTP id 0B2CF38A00B6; Tue, 12 Dec 2023 09:37:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=envs.net; s=modoboa; t=1702373871; bh=dSBInHoYvDwfJpMmOMBfvleS2jluYRSb/9WIC6XbS24=; h=From:To:Cc:Subject:In-Reply-To:Date:From; b=FKF/FFPJT7MDnzpwLImLY8WWp6iRq0OKHRxoK/CaRjCWc4aV6Fu+m582K0Hds3J+Y OngwPCpWK8jUqI2xTsc8KFM68Vq1kNm8dAxU4R70A+oz9AzBdv4jHuLZzr6Jhhyx/S g++QYJpj8zDSFasPCp/IdkL0tggaX/6bk1jE8MtfArTF/yps+l3x+HErEYLN7kVtrO YFMhMj0g0Go9gmXlttasmKzStHh5wNDBstCLfguINH4unYmyfdfTZ6xOTfifxxjH1N Bn6bcy55sYkPt/Yed7M58UsJs3M8WRJqukJ4lXaksC89XA3DUTGyS2/hBnzw/TA9KJ Y8Q4aLsyeUtnQczVzQGJq/NUk7oxhLHNkifUbum9kceXhtpHNW+xPUeGZBQ8w+sjUx fYlMuNpPFCsZXQPoU49BAagVvOEGEvXJDL9M673q9tPHkhBKWVWk+GZZDqFEfsKmRv rKJIybydhnF7DTlc90cxjlE/kTu0kCnOj5e3B5XzaicvRdxVLMGm/wBZj1P0CGtCAJ m956ltQChHOwji5EseJ0RlAlimZQogzuRVyygLO0jRVXjc6zCexgLipI9866oV3cTP YzQ9n8aLUc84cmdiCV6hUnND4pwbsLYu2O2wMDSzLwIvoTXDojRRmgrUOdpOk1tr4s AfS/DrmTrFbrPVf8cLF2Yp2k= X-Virus-Scanned: Debian amavisd-new at mail.envs.net Received: from mail.envs.net ([127.0.0.1]) by localhost (mail.envs.net [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 85r-KMQXm2iR; Tue, 12 Dec 2023 09:37:50 +0000 (UTC) Received: from core.envs.net (unknown [192.168.1.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.envs.net (Postfix) with ESMTPS; Tue, 12 Dec 2023 09:37:45 +0000 (UTC) From: Steve Perry In-Reply-To: <87a5qhxf05.fsf@posteo.net> (message from Thierry Volpiatto on Mon, 11 Dec 2023 09:30:50 +0000) Date: Tue, 12 Dec 2023 09:37:45 +0000 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Mailman-Approved-At: Tue, 12 Dec 2023 05:49:13 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Thierry Volpiatto writes: > > ... > > I don't know if you want to restore previous behavior (emacs-29), if so this patch > will apply against the previous one. > (0001-Don-t-confirm-with-RET-even-when-overwriting-in-regi.patch). > > Thanks. Hi - I'd love to give this patch a try but I can't get it to apply against master, either with or without the other patch: Don't Panic! ~/src/emacs $ patch -p1 < 0001-Provide-emacs-29-behavior-for-register-preview.patch patching file lisp/register.el Hunk #1 FAILED at 100. Hunk #2 succeeded at 138 (offset 1 line). Hunk #3 succeeded at 302 (offset -41 lines). Hunk #4 succeeded at 362 (offset -41 lines). Hunk #5 succeeded at 433 (offset -42 lines). 1 out of 5 hunks FAILED -- saving rejects to file lisp/register.el.rej I assume I'm doing something wrong somewhere but don't know what :-( Many thanks! From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 12 Dec 2023 12:02:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Pedro Andres Aranda Gutierrez Cc: 66394@debbugs.gnu.org, emacs-devel@gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170238250130625 (code B ref 66394); Tue, 12 Dec 2023 12:02:01 +0000 Received: (at 66394) by debbugs.gnu.org; 12 Dec 2023 12:01:41 +0000 Received: from localhost ([127.0.0.1]:55414 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rD1SH-0007xr-5y for submit@debbugs.gnu.org; Tue, 12 Dec 2023 07:01:41 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:60562) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rD1SE-0007xR-UE for 66394@debbugs.gnu.org; Tue, 12 Dec 2023 07:01:39 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rD1Ru-0002BJ-8k; Tue, 12 Dec 2023 07:01:18 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=ZFLzMAh2AJQDrvdeDCnZL0H1vvdeUciU60TFxQXGXz4=; b=Dh0YJbmqqxb9 c3Ws08VE5PkzJR7hsFtZQruV1vKhWr/3nrqrG2/viIRBA73mEWM8ZLR0HMPmuhGJp35ObgP02FJLG f1FfZPFxyG/Jtb8DYlyVN0iddazaQarCmrRTtHFqmxVnBgpMMj6bswgFf/2ND/CRjSsM5p5SH3bWs dyXHqCztqS9Yb6qB+i45PGPBvssfvjQbt/0+fmUdYjudgJwk1JPAT++tbNJXZcyunios9F14iwYLD kE4RGUkrG1l/grJhTISg6EDP5p3GM8Hx3B0lf4Kwu/ePFDrrGCUxMARzx5O3ghzsC9rjGNRDfHG2V TVZpBvSnqj4iNGAZ0rvVRw==; Date: Tue, 12 Dec 2023 14:01:10 +0200 Message-Id: <8334w7vddl.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: (message from Pedro Andres Aranda Gutierrez on Tue, 12 Dec 2023 06:46:51 +0100) References: <87il7ib6cu.fsf@posteo.net> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Pedro Andres Aranda Gutierrez > Date: Tue, 12 Dec 2023 06:46:51 +0100 > > I could live with the patch proposed in > https://lists.gnu.org/archive/html/bug-gnu-emacs/2023-12/msg00644.html > if the default value for Thanks, but please don't cross-post. Post your opinions and responses either toe emacs-devel or (preferred) 66394@debbugs.gnu.org, but not to both. From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 12 Dec 2023 12:17:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Steve Perry Cc: thievol@posteo.net, michael_heerdegen@web.de, stefankangas@gmail.com, monnier@iro.umontreal.ca, 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170238336332391 (code B ref 66394); Tue, 12 Dec 2023 12:17:02 +0000 Received: (at 66394) by debbugs.gnu.org; 12 Dec 2023 12:16:03 +0000 Received: from localhost ([127.0.0.1]:55464 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rD1gA-0008QM-QU for submit@debbugs.gnu.org; Tue, 12 Dec 2023 07:16:03 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:39850) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rD1g8-0008Ps-KZ for 66394@debbugs.gnu.org; Tue, 12 Dec 2023 07:16:01 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rD1fk-00073x-F1; Tue, 12 Dec 2023 07:15:37 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=8Zniw/rRB4uUanwhud+SBg+82D9TyHeGi1Ru34pPQR8=; b=YQfV/QaC8fSp +dhwCWXEF+TWCWmM3Snu8RbChdLVvSwY3uLaKwidPRIkzqDOkmXUNs6GHd4IRnZlUzdywOqKxO3Km JQ2GhwnSPRATl9oOodXAEpSjbAt7r+SSqK4iajAbml/ZMfDjffGbd/kWi2tvarAIDlO84ZsrOcu8D X0UyP8qMJ0aLhiJs71sPhJjG3+4WBVzqgv1mdIEWuugteC4XDdaRKWkUhvEQ8p9PLmuBgseUZilRf yRwicnJej4m1y4ovvhqx3/XXxe9WeuoRCH5tO8RlZjz6JL7UWY93WTtwibGj8LjXvl6xgl9qeLBik lhFjDBMPFyC0b2ShqswOfg==; Date: Tue, 12 Dec 2023 14:15:17 +0200 Message-Id: <83zfyfty5m.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: (message from Steve Perry on Tue, 12 Dec 2023 09:37:45 +0000) References: X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Steve Perry > Cc: eliz@gnu.org, michael_heerdegen@web.de, 66394@debbugs.gnu.org, > monnier@iro.umontreal.ca, > stefankangas@gmail.com > Date: Tue, 12 Dec 2023 09:37:45 +0000 > > Thierry Volpiatto writes: > > > > ... > > > > I don't know if you want to restore previous behavior (emacs-29), if so this patch > > will apply against the previous one. > > (0001-Don-t-confirm-with-RET-even-when-overwriting-in-regi.patch). > > > > Thanks. > > Hi - I'd love to give this patch a try but I can't get it to apply > against master, either with or without the other patch: > > Don't Panic! ~/src/emacs $ patch -p1 < 0001-Provide-emacs-29-behavior-for-register-preview.patch > patching file lisp/register.el > Hunk #1 FAILED at 100. > Hunk #2 succeeded at 138 (offset 1 line). > Hunk #3 succeeded at 302 (offset -41 lines). > Hunk #4 succeeded at 362 (offset -41 lines). > Hunk #5 succeeded at 433 (offset -42 lines). > 1 out of 5 hunks FAILED -- saving rejects to file lisp/register.el.rej > > I assume I'm doing something wrong somewhere but don't know what :-( I don't think it's your fault. Please try applying the patch named 0002-Provide-emacs-29-behavior-for-register-preview.patch from this message: https://lists.gnu.org/archive/html/bug-gnu-emacs/2023-12/msg00704.html Thanks. From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 12 Dec 2023 16:46:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Dmitry Gutov Cc: michael_heerdegen@web.de, Eli Zaretskii , stefankangas@gmail.com, monnier@iro.umontreal.ca, 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.17023995208111 (code B ref 66394); Tue, 12 Dec 2023 16:46:01 +0000 Received: (at 66394) by debbugs.gnu.org; 12 Dec 2023 16:45:20 +0000 Received: from localhost ([127.0.0.1]:57340 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rD5sl-00026l-To for submit@debbugs.gnu.org; Tue, 12 Dec 2023 11:45:20 -0500 Received: from mout02.posteo.de ([185.67.36.66]:55845) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rD5sj-00026T-Lf for 66394@debbugs.gnu.org; Tue, 12 Dec 2023 11:45:18 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 08613240104 for <66394@debbugs.gnu.org>; Tue, 12 Dec 2023 17:44:55 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1702399496; bh=vb07ETsvmV0LVHP3iXQtT5dY5Wm3U5Pzn04MFUwqKSY=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=MLfAmCmphuGSkOiwnSC2JFZqYRG33LoRR2bUgj+FH7QHpugBthpASYrfKAGV/E7b4 R8VmaUcSjpilYrErcmM+z+nr9i0Ywq3NfgNEPSYar77/HQR71FHTUbl2hWRZXmLwjY n5y2yOsYb/plNTMZk0noj7qBrJTfQRNQcft24buX+W2n8X8sXAD63JOl63WveOwrm/ rsc+yOzqjJfrvQwaG5TnzQrcNg9Hzb4wCpms9L9r25feGRqwbgdg7yQfW/fZx3Lk8T 0O3B45E4CBHuNri2bklXygvYjWAqgqdEuiB4fVXBoQJHVH1EwO3QvZp4XiHWPvld37 uizVFjDW0dnxw== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4SqPbn4ppWz6twP; Tue, 12 Dec 2023 17:44:53 +0100 (CET) From: Thierry Volpiatto In-Reply-To: <87bkavk9nv.fsf@posteo.net> (Thierry Volpiatto's message of "Tue, 12 Dec 2023 11:16:52 +0100 (6 hours, 25 minutes, 45 seconds ago)") References: <87il7ib6cu.fsf@posteo.net> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87a5qhxf05.fsf@posteo.net> <83jzpkvs4z.fsf@gnu.org> <87v8947ulo.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> <87cyvbepi0.fsf@posteo.net> <87bkavk9nv.fsf@posteo.net> Date: Tue, 12 Dec 2023 16:44:49 +0000 Message-ID: <875y13fjzy.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Thierry Volpiatto writes: > Here a third patch that allows more precise configuration if needed. > For example if you have register-use-preview =3D=3D nil, no confirmation > with RET is needed everywhere, even when overwriting a register. If you > want to have a confirmation when overwriting but no confirmation when > jumping/inserting you can use this in addition of register-use-preview > =3D=3D nil: Finally patch 0003 is not needed, one can override default with: (cl-defmethod register-command-info ((_command (eql copy-to-register))) (make-register-preview-info :types '(all) :msg "Copy to register `%s'" :act 'set :noconfirm nil)) =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmV4jgETHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvk0W2C/0UgdaUobiXIyNyjcvTDyVYOie4ZHk9 2O7mzHdH5t+nDDCnMzAzPTbL4Jo5tBEUYw9sl0jJXv3tLWjKMFDvnFbuLP+RYRD6 GNL0XDArdb75xT356Ab2nSYEpaJR2gZ22nWJ9ruezYaZ0d4/hQh6a05JbT23bB9b rFFQPjMaiMKm4euAcLJPavaBArzKm0Ho0Cgv1Dv6sOAevysviFIG/4ntGjennKVk xbGMYmSuEDlWbaVaeDBt/c3NJy52a20bjfrgqRH9syXqQKo7KhYRFmuFcJ3c1cms s28MVofAudj+ujsSLFEA231phi5Oh5A5z0vbOXkxKIzBa0H3c15BAIW6J8FfjJAR NmTbc11aYwt50AUsx/Size6Q0nAl2yQaO10Q4FxUI02lSSrl4w5Ngd8PXp/o8eTc S6FsH+zmz2U45HoLPDgfhB5bUmBB/ifUZJ8mF+H/OLi6B0x50dwHCd17DvsAp0Y8 T4H3OZHXsDLInn6CZYqz+mXgsLH9Y0CyWgI= =unJE -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful References: <87il7ib6cu.fsf@posteo.net> Resent-From: Steve Perry Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 12 Dec 2023 20:14:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: thievol@posteo.net, michael_heerdegen@web.de, stefankangas@gmail.com, monnier@iro.umontreal.ca, 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170241203629549 (code B ref 66394); Tue, 12 Dec 2023 20:14:03 +0000 Received: (at 66394) by debbugs.gnu.org; 12 Dec 2023 20:13:56 +0000 Received: from localhost ([127.0.0.1]:57631 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rD98b-0007gT-AQ for submit@debbugs.gnu.org; Tue, 12 Dec 2023 15:13:56 -0500 Received: from mail.envs.net ([5.199.136.28]:40184) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rD71W-00016L-3h for 66394@debbugs.gnu.org; Tue, 12 Dec 2023 12:58:27 -0500 Received: from localhost (mail.envs.net [127.0.0.1]) by mail.envs.net (Postfix) with ESMTP id 94CB738A0139; Tue, 12 Dec 2023 17:58:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=envs.net; s=modoboa; t=1702403887; bh=/gLzeQWi+GqIYSLO11SNocww4NyJ9HbFt6hRyRUa7OU=; h=From:To:Cc:Subject:In-Reply-To:Date:From; b=md9zgp+287ASmrwChhKhID2/SWwNcZPA1/wP02MgvgYz+wKkghv3QQMoEZUBeYkhq U0SZNR2iZWsD/afJbpvYjHX9xIBn0G2iN6kqwnaNrMnytdaMxAdGoueS8lK32y11vM KElMZEtyaa2TDm8K7asVNE4B2olErOh+UNOFy0SGOTZ8MUlZKRwevHBCmziQuzgRQQ 9xLZv1ui7JzBtD8uQACHYuUv6Wkp+hZ2OE3MM1/AgScaoWw7ZrzCzu2F20KC2Gm83o qiCl/pt5+RSZXIp8qTGZjONfjWe7aUYRkKevMyjT3WS26RFKTQvIoRY2k67X7l4i+M yXcNM/rR2xlAheoRpGypuYxBzx9B+DDQyEUwu+3ORSpCVRA6luLoJHk+S2MzvRccrS 3P96zM1wKDuPzzOJKkr7104qTYo6737MhQpQiKpBcRp7NDc/Uc/xqxfonprWFibfN/ 0whNTDoVoMznZJ9pK7ZVyyp1IWYWw/m5Psj1Z30pg7dfMc18/d/TN4eNX/B/zGSKfv cYQT08E8RtdYkPBl8eU7imNxFcBInboYz952GfiS5Hr0BmN5CWHswg8AJjzTv/aKac 5e3i6VxZlno60jF8VBFHQmhuccqW+jAD7aivbbnjnSrN/luoj3wNpK9AgU/sRzJMth XXN5bLBbuk5gQGdzD+JcWc7Y= X-Virus-Scanned: Debian amavisd-new at mail.envs.net Received: from mail.envs.net ([127.0.0.1]) by localhost (mail.envs.net [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xltdOfccDsVO; Tue, 12 Dec 2023 17:58:06 +0000 (UTC) Received: from core.envs.net (unknown [192.168.1.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.envs.net (Postfix) with ESMTPS; Tue, 12 Dec 2023 17:58:01 +0000 (UTC) From: Steve Perry In-Reply-To: <83zfyfty5m.fsf@gnu.org> (message from Eli Zaretskii on Tue, 12 Dec 2023 14:15:17 +0200) Date: Tue, 12 Dec 2023 17:58:01 +0000 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Mailman-Approved-At: Tue, 12 Dec 2023 15:13:51 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Eli Zaretskii writes: > > I don't think it's your fault. Please try applying the patch named > 0002-Provide-emacs-29-behavior-for-register-preview.patch from this > message: > > https://lists.gnu.org/archive/html/bug-gnu-emacs/2023-12/msg00704.html > > Thanks. Ah, perfect. Cheers! From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Dec 2023 01:48:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: michael_heerdegen@web.de, Eli Zaretskii , stefankangas@gmail.com, monnier@iro.umontreal.ca, 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.17025184315534 (code B ref 66394); Thu, 14 Dec 2023 01:48:02 +0000 Received: (at 66394) by debbugs.gnu.org; 14 Dec 2023 01:47:11 +0000 Received: from localhost ([127.0.0.1]:59938 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rDaog-0001RB-Iy for submit@debbugs.gnu.org; Wed, 13 Dec 2023 20:47:10 -0500 Received: from out5-smtp.messagingengine.com ([66.111.4.29]:46809) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rDaoe-0001Qy-Oc for 66394@debbugs.gnu.org; Wed, 13 Dec 2023 20:47:09 -0500 Received: from compute7.internal (compute7.nyi.internal [10.202.2.48]) by mailout.nyi.internal (Postfix) with ESMTP id 3E42C5C0342; Wed, 13 Dec 2023 20:46:47 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute7.internal (MEProxy); Wed, 13 Dec 2023 20:46:47 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1702518407; x=1702604807; bh=LhHy3R5AbLYfw6RRfOZOxPman7C5NZSqJ9Hzii8jvPo=; b= 0cjHDXPIqlphZId3HKLIhxQbGClcS+suZ3pWuNstXdal2/fok6Hl/fA+oV3zJniL 5h4wxyx1dieMFQJi+qn+8s6RI/q4TLE1BZYzTdZ7GxU6CEMe/IDJEsiaBSsWmUWU wHSYVxY7FY90cC0yR2jRDqdEYlL/4/5F03AiZom+J26a8xeGic3W29wNlZg90tqA +w/d+utgemRKZkZrhFujW23vfh3tDU0WM6YMQu5psMrbO4fLTb6qpLSekJtxz675 HxERjJMlgqEcL9NqysSq9eq3cOyTn4j34Z8CifuvgBPwROFim1s3bALf5+C2OZ+B 8N7izRM5pdLSOA7SKBD/LQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1702518407; x= 1702604807; bh=LhHy3R5AbLYfw6RRfOZOxPman7C5NZSqJ9Hzii8jvPo=; b=T H6LPcK3GR4SAv+7r0lXzzhy/VSNsEMyQHoI9DWF8j4rbncIDkXhqdaeO7rkL0zIv XDAI/6v0mwYnOEXhXe+rqtmp8pmt6FYi/bp2LYBYnVPtfHiXVMqrS0miNj448jIO Dv97raYRgS9+iiObm3Ppn8aZXUTPVk9Npf+uyUrecUV55HLzmIsG62Mxg0EUBpc1 4gBfQoq9HK24NgOz4xMzE0/g1kBYvIkl60QT6bBqaKnvLrhPU5PwkRoFBXl1luh4 c5E9bN139EF6RceXVw2U8v/9ZSCGMewY/xHYEuI1o2k+kJg/+2q5pzRlTPvn95Dp lWMXNtm6BPDcFYrzWqSqA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrudelkedgfeelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddtfeejnecuhfhrohhmpeffmhhi thhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdruggvvheqnecuggftrfgrth htvghrnhepiefgteevheevveffheeltdeukeeiieekueefgedugfefgefhudelgfefveel vdevnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepug hmihhtrhihsehguhhtohhvrdguvghv X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 13 Dec 2023 20:46:45 -0500 (EST) Message-ID: <8eebbb30-9366-e869-a39a-8100638cb99a@gutov.dev> Date: Thu, 14 Dec 2023 03:46:43 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Content-Language: en-US References: <87il7ib6cu.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87a5qhxf05.fsf@posteo.net> <83jzpkvs4z.fsf@gnu.org> <87v8947ulo.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> <87cyvbepi0.fsf@posteo.net> <87bkavk9nv.fsf@posteo.net> From: Dmitry Gutov In-Reply-To: <87bkavk9nv.fsf@posteo.net> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.9 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.9 (---) On 12/12/2023 12:16, Thierry Volpiatto wrote: > Here a third patch that allows more precise configuration if needed. > For example if you have register-use-preview == nil, no confirmation > with RET is needed everywhere, even when overwriting a register. If you > want to have a confirmation when overwriting but no confirmation when > jumping/inserting you can use this in addition of register-use-preview I was actually thinking this might be a good default behavior: no confirmation in all cases except when overwriting. It's a change from the current one still, but a smaller one. But never mind me, I have very little practice using registers. From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Dec 2023 02:11:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: michael_heerdegen@web.de, Eli Zaretskii , stefankangas@gmail.com, monnier@iro.umontreal.ca, 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.17025198608027 (code B ref 66394); Thu, 14 Dec 2023 02:11:02 +0000 Received: (at 66394) by debbugs.gnu.org; 14 Dec 2023 02:11:00 +0000 Received: from localhost ([127.0.0.1]:59955 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rDbBk-00025P-BN for submit@debbugs.gnu.org; Wed, 13 Dec 2023 21:11:00 -0500 Received: from out5-smtp.messagingengine.com ([66.111.4.29]:43587) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rDbBh-00025A-Ku for 66394@debbugs.gnu.org; Wed, 13 Dec 2023 21:10:58 -0500 Received: from compute6.internal (compute6.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id 2F3DD5C04DC; Wed, 13 Dec 2023 21:10:36 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute6.internal (MEProxy); Wed, 13 Dec 2023 21:10:36 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1702519836; x=1702606236; bh=PJS350Ra/G5WINzsCt9/xIwyRBQXo336g2xTE7piGgk=; b= me08SAUegbcpt9qB0f1fXKnVzms+PKXVtflkvEj+fZpVaVxqTCl54i9gVDau7/ig CQKwP+wMD9Afa55+K4mESWrgyUIsN3emACV1VUtCzd13W/3KORvFVB6oFRigZE1h 0x7dA+KfMa1BgZVvHOorNhdM/ayU8nOJTt2mjlkHi0RUSZ9dFqH1OX1yp7n/6pj/ XHdXOXLcGWCmfPS3yd4sKHEaOUimW4lqBBSaBEeHfwxc01p2L8GchBfwZq7Std/E QPq8BqANBb6hG01RXNMMR5SZQmKAxsNt2OfSlq4n0Uod2EjqfCEtTD3PUGaY2z49 ODQ2QjOpDcn3tF4QdDceZQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1702519836; x= 1702606236; bh=PJS350Ra/G5WINzsCt9/xIwyRBQXo336g2xTE7piGgk=; b=w /n2uDLex+NzHmNPdymiVMjC1fzvkLTuN04p37mXSxbl7TG6dWtg1nv/S5sYs1LYi 4E99powONB3Ypeq0Sc0tcGIjnOkQrzjmJugpj/7vzTHh/WESvOfud5MR4yqXLK6u q3Lnhc99Yk84H56MwV3hYA3MjVszuMB30YvPM6+KTuCsWJDczzHxm+Wf08BN7GYo CbM36GVY+xNBcKrInKG20eGt7nqbyv3KxCYiue41WM5fJ6mXn5I5YHgpnL1k9cDD +dT01zHtz6vIRf4VYsUkTbmyyfueU5wWlAPRpN2Tsd/6aTpULZ2R8ozD7zMm5cDE INqMG+p81UP/w7dVmrJ8w== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrudelkedggeegucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddtfeejnecuhfhrohhmpeffmhhi thhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdruggvvheqnecuggftrfgrth htvghrnhepiefgteevheevveffheeltdeukeeiieekueefgedugfefgefhudelgfefveel vdevnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepug hmihhtrhihsehguhhtohhvrdguvghv X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 13 Dec 2023 21:10:33 -0500 (EST) Message-ID: <91460437-4f54-8e35-46a4-86bcbd9a500b@gutov.dev> Date: Thu, 14 Dec 2023 04:10:31 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Content-Language: en-US References: <87il7ib6cu.fsf@posteo.net> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87a5qhxf05.fsf@posteo.net> <83jzpkvs4z.fsf@gnu.org> <87v8947ulo.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> <87cyvbepi0.fsf@posteo.net> From: Dmitry Gutov In-Reply-To: <87cyvbepi0.fsf@posteo.net> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.9 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.9 (---) On 12/12/2023 11:31, Thierry Volpiatto wrote: > Thierry Volpiatto writes: > >> Dmitry Gutov writes: >> >>> On 11/12/2023 19:32, Thierry Volpiatto wrote: >>>> I made a little error in one of the patch when merging from a working >>>> file for emacs-29.1, attaching here the two patches again with error >>>> corrected (read `register-use-preview` instead of >>>> `register-preview-use-preview`), sorry for this. >>> JFYI, the second patch doesn't apply cleanly, which may make testing >>> them a bit more difficult. >>> >>> It's because of commit 598ab9ca10d35d6 by Eli with documentation >>> updates. When reverted, the second patch applies without problem. >> Dmitry thanks, here the patches again after rebasing. > I found another (merge) error in patch 0001 with defmethod names (read > register-command-info instead of register-preview-command-info), here > the patches corrected. Without this changes, and with > register-use-preview == nil, confirmation is needed for copy-to-register > and friends, now fixed. I did some testing. Something I'm seeing with my custom config, but not with 'emacs -Q': the register preview is eating my windows. :-) No matter if I choose something, or C-g out of it. To reproduce: (defun split-window-prefer-side-by-side (&optional window) (let ((split-height-threshold (and (< (window-width window) split-width-threshold) split-height-threshold))) (split-window-sensibly window))) (setq split-window-preferred-function 'split-window-prefer-side-by-side) Then split the frame horizontally or vertically, create a register and jump to it. The problem is that with this setup the preview is not creating a new window but reuses an existing one. And then deletes it at the end. Again, I'm not a heavy user of registers, so if this is easy enough to fix, great. If not, never mind. From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Dec 2023 05:32:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Dmitry Gutov Cc: michael_heerdegen@web.de, Eli Zaretskii , stefankangas@gmail.com, monnier@iro.umontreal.ca, 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170253188927217 (code B ref 66394); Thu, 14 Dec 2023 05:32:01 +0000 Received: (at 66394) by debbugs.gnu.org; 14 Dec 2023 05:31:29 +0000 Received: from localhost ([127.0.0.1]:60005 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rDeJl-00074u-1Q for submit@debbugs.gnu.org; Thu, 14 Dec 2023 00:31:29 -0500 Received: from mout01.posteo.de ([185.67.36.65]:34161) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rDeJf-00074a-Ls for 66394@debbugs.gnu.org; Thu, 14 Dec 2023 00:31:27 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id D49CA240029 for <66394@debbugs.gnu.org>; Thu, 14 Dec 2023 06:31:00 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1702531860; bh=KJ+jchZDIWtsYSx65SnULZKcWfg9y2qRGAwD2Zlagbg=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=VenW1gmh1EXNgAB/lJVjfNH9B5lYF6t1pA3KkfGimk5K2wMg5Yu6NWNRHao4yaVP+ ERnoYt+SkOas7ObB1p42WeQQGUGYoaxdlcaVQPgGZHIszqW5FXtqIKfh7uA4EyKZFy hrFOjdcqDzRaqXlHMWJAXY2JETSUGkKPUJdBXN0hCM7ssUbb2hgcAYMnrJDiISSSO0 BSyMe53aj8ws8jJgGcysPrfLPOQiGR+hefWN58mUXNUjBk4IoT05ylCAtZkF1Xm7AT ygWJr9cvZQlkh+QKWYoqa6pxxHv1hEKB5mZVS4nw+MtXXj1s/cazNd8+Oy+agYBb7W eyXHhtjeQZzqQ== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4SrLYF4qMlz6tsj; Thu, 14 Dec 2023 06:30:57 +0100 (CET) From: Thierry Volpiatto In-Reply-To: <91460437-4f54-8e35-46a4-86bcbd9a500b@gutov.dev> (Dmitry Gutov's message of "Thu, 14 Dec 2023 04:10:31 +0200 (3 hours, 18 minutes, 17 seconds ago)") References: <87il7ib6cu.fsf@posteo.net> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87a5qhxf05.fsf@posteo.net> <83jzpkvs4z.fsf@gnu.org> <87v8947ulo.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> <87cyvbepi0.fsf@posteo.net> <91460437-4f54-8e35-46a4-86bcbd9a500b@gutov.dev> Date: Thu, 14 Dec 2023 05:30:54 +0000 Message-ID: <87ttolgxkh.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Dmitry Gutov writes: > On 12/12/2023 11:31, Thierry Volpiatto wrote: >> Thierry Volpiatto writes: >>=20 >>> Dmitry Gutov writes: >>> >>>> On 11/12/2023 19:32, Thierry Volpiatto wrote: >>>>> I made a little error in one of the patch when merging from a working >>>>> file for emacs-29.1, attaching here the two patches again with error >>>>> corrected (read `register-use-preview` instead of >>>>> `register-preview-use-preview`), sorry for this. >>>> JFYI, the second patch doesn't apply cleanly, which may make testing >>>> them a bit more difficult. >>>> >>>> It's because of commit 598ab9ca10d35d6 by Eli with documentation >>>> updates. When reverted, the second patch applies without problem. >>> Dmitry thanks, here the patches again after rebasing. >> I found another (merge) error in patch 0001 with defmethod names (read >> register-command-info instead of register-preview-command-info), here >> the patches corrected. Without this changes, and with >> register-use-preview =3D=3D nil, confirmation is needed for copy-to-regi= ster >> and friends, now fixed. > > I did some testing. > > Something I'm seeing with my custom config, but not with 'emacs -Q': > the register preview is eating my windows. :-) No matter if I choose > something, or C-g out of it. > > To reproduce: > > (defun split-window-prefer-side-by-side (&optional window) > (let ((split-height-threshold (and (< (window-width window) > split-width-threshold) > split-height-threshold))) > (split-window-sensibly window))) > > (setq split-window-preferred-function 'split-window-prefer-side-by-side) > > Then split the frame horizontally or vertically, create a register and > jump to it. > > The problem is that with this setup the preview is not creating a new > window but reuses an existing one. And then deletes it at the end. I think I can fix this, will look at it as soon as possible. Thanks. > Again, I'm not a heavy user of registers, so if this is easy enough to > fix, great. If not, never mind. =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmV6kw4THHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvk0WcC/9w0z9qWrIZmvzdkk617TBfZGTfEzTg IQ/1BW9dD8yu9a0qBkb1HKdepcVsNdd9K+ayi5CAtN4Nm/IsMTZBum4JCss9GQfv ikxGDNeWSyFBCaXTheXdRdtLaKUXMIcwD6y3cP7yRajWjBiOKaBt2H6D1s6gOJBN EB4//vBNsNc1avZPuDeKpHXNv9JoY3Mmhk92ejjm/8qdNOWFtUF4IOVYRSNmjUvu CQYloE/0Guf3GEbqKiWbIoi+vyWadGDGblbReix8f3klAGwSTHKP1DW+jw1AYgPo Kfce0A7FjByZt1GHfdLi93Axa+1Lr4FQrMgQIR9F7AN44l4DHpun5DUNRpsnpI5U YvKVrRxcik8o1akvUfjn7MCaRlOhllH2KhiF3QB8wYLGYgQP8KYIvji/gKBBAR65 bd3GQhLfcS1yUL0XCK8hdD5+T2DuT3z0nLbbxMArSFHfqUkwaPC9PUAJ9ojtK43m OZ6+ckTPMcfXMeCnaYjKiPgNZ9uEjTYETF8= =CXT7 -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Dec 2023 05:36:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Dmitry Gutov Cc: michael_heerdegen@web.de, Eli Zaretskii , stefankangas@gmail.com, monnier@iro.umontreal.ca, 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170253210827541 (code B ref 66394); Thu, 14 Dec 2023 05:36:02 +0000 Received: (at 66394) by debbugs.gnu.org; 14 Dec 2023 05:35:08 +0000 Received: from localhost ([127.0.0.1]:60010 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rDeNH-0007A9-P1 for submit@debbugs.gnu.org; Thu, 14 Dec 2023 00:35:08 -0500 Received: from mout02.posteo.de ([185.67.36.66]:54293) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rDeNG-00079a-7I for 66394@debbugs.gnu.org; Thu, 14 Dec 2023 00:35:06 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id CC9BE240105 for <66394@debbugs.gnu.org>; Thu, 14 Dec 2023 06:34:43 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1702532083; bh=ln7tIVPf5yJVEwNwF4DnGJy071bx2hajINAn4UtaMAA=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=R7fZNtPZDzRbcx9c4PNrvr0ryE1D8OWQa+lqxyAlJTV1EdY7y2pukpiJf3Sxr08JS 4FT2MhDfSdd2XzZmB+jQtFmL9y0udbGpWKroBgIzy+BqrdkbOc1peAGWKu7/uq9i9x OvS6/fR9Ui9P9UgngFfgLHP/0pPzjVJ391wpKWslaBa7aV3tZF87RF+AK/OyqxSZ7g Jl+O551nMcY/+Dk82NnY/R05tOXjg8tOTlVZj67EsMEWzfaM3HbuHxsnPA5+Bv/Qzu MCQyVE87aMfNDovs6i+UNSOv3ax+o4xHQkopNfkvlsLhnxo4tFtoZ/VNYSAUBPvQ8i BuZiV/eu2jing== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4SrLdW68B1z6twc; Thu, 14 Dec 2023 06:34:39 +0100 (CET) From: Thierry Volpiatto In-Reply-To: <8eebbb30-9366-e869-a39a-8100638cb99a@gutov.dev> (Dmitry Gutov's message of "Thu, 14 Dec 2023 03:46:43 +0200 (3 hours, 45 minutes, 46 seconds ago)") References: <87il7ib6cu.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87a5qhxf05.fsf@posteo.net> <83jzpkvs4z.fsf@gnu.org> <87v8947ulo.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> <87cyvbepi0.fsf@posteo.net> <87bkavk9nv.fsf@posteo.net> <8eebbb30-9366-e869-a39a-8100638cb99a@gutov.dev> Date: Thu, 14 Dec 2023 05:34:36 +0000 Message-ID: <87o7etgxeb.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Dmitry Gutov writes: > On 12/12/2023 12:16, Thierry Volpiatto wrote: >> Here a third patch that allows more precise configuration if needed. >> For example if you have register-use-preview =3D=3D nil, no confirmation >> with RET is needed everywhere, even when overwriting a register. If you >> want to have a confirmation when overwriting but no confirmation when >> jumping/inserting you can use this in addition of register-use-preview > > I was actually thinking this might be a good default behavior: no > confirmation in all cases except when overwriting. It's a change from > the current one still, but a smaller one. I think too it would be a good default. =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmV6k+0THHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvk4zwDACYIv5QkZ14apjB0vekkijrH2OWBX5j t+DbfqnVtMfbyR632BmU2/cTjnVReGEB97A1V8ucpoPiOP/PwMHU3gnjCwaTR0c4 UcU708X2hRaZ3Xd/RGkSWC0y5RNxDwnPgw1dtVcBE8alrH5SPMp/PuevRjol6F5U A5KTfNDfwYAglx/Z6TT/mhleUd8nIWE3MAiRD99gob0J8nElmIR4x3AYwwbKB7X5 QNsn8vCEqGw6hM9Vcsu9iVGS1pqGqjQgCZ0Cfvg/15FpZvwl4DDB7AYyKkO2V+ww 6i76/gEG7YiiTWrBgdovdUP3/qGufQ/gWY79XP8KVEtdRx5179Srwwv+h605ZeaD FU8yNv0cY09cPMrnKWM/dI4eqfXm+o+nRxkyMOxC/NfHQj/mMprQcZyXBix/egxO syf6WLGvm5+GRityXorIn1OhOKoChhCkfpKDxo9yxvnhYE0xh5/kTWHoRsKcs71q yr4O2GdeHipLvUPkjbO6VRXFFyCPsJK1ayQ= =8Qqi -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Dec 2023 07:40:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: michael_heerdegen@web.de, Dmitry Gutov , Eli Zaretskii , stefankangas@gmail.com, 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.17025395678797 (code B ref 66394); Thu, 14 Dec 2023 07:40:02 +0000 Received: (at 66394) by debbugs.gnu.org; 14 Dec 2023 07:39:27 +0000 Received: from localhost ([127.0.0.1]:60116 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rDgJb-0002Ho-E1 for submit@debbugs.gnu.org; Thu, 14 Dec 2023 02:39:27 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:23759) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rDgJY-0002HV-P1 for 66394@debbugs.gnu.org; Thu, 14 Dec 2023 02:39:25 -0500 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 6C0B54409A4; Thu, 14 Dec 2023 02:39:02 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1702539537; bh=DgNquR5p+lytj8pazEMG6CtMj08I7rJen2ifZk4E5lA=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=IELqzmR24/Im34NxdofOyxFgiEcmbwcs3sSri6IQQmtLPImzQO52BUKt8wFmxUWoE G9IlPNXiAFCQqpa1wCRfTTw8u5fFthu5xHxa3lhFGZTH3VllNTC01O1B4YALW+xlob TAv5FwkdRm0NtjxuHpHDGlIGZP5UyEZpuQNQrMlWJm6nuFSJn6VHlhfRMwyD8GVrBt LmrbFe6uZntBj0XNDT77mSBBxRojGIzMCqNjs9KfC39vbyj5CmRoaFyntwyxR2iHmT TU69+Sf9xy5orBuQJR/MqP2b6odJSZA/+RgPsx9976vsW7y4EssN1o2ATA2CEaD4Jq 9O4JFJ6KBI8XQ== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id F25A9440814; Thu, 14 Dec 2023 02:38:56 -0500 (EST) Received: from pastel (unknown [45.72.203.88]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id B1C391202BE; Thu, 14 Dec 2023 02:38:56 -0500 (EST) From: Stefan Monnier In-Reply-To: <87o7etgxeb.fsf@posteo.net> (Thierry Volpiatto's message of "Thu, 14 Dec 2023 05:34:36 +0000") Message-ID: References: <87il7ib6cu.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87a5qhxf05.fsf@posteo.net> <83jzpkvs4z.fsf@gnu.org> <87v8947ulo.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> <87cyvbepi0.fsf@posteo.net> <87bkavk9nv.fsf@posteo.net> <8eebbb30-9366-e869-a39a-8100638cb99a@gutov.dev> <87o7etgxeb.fsf@posteo.net> Date: Thu, 14 Dec 2023 02:38:56 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL 0.026 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) >> I was actually thinking this might be a good default behavior: no >> confirmation in all cases except when overwriting. It's a change from >> the current one still, but a smaller one. Note that when used within a keyboard macro, it's annoying if it sometimes requires confirmation and sometimes not. Stefan From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Dec 2023 07:46:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: michael_heerdegen@web.de, dmitry@gutov.dev, stefankangas@gmail.com, monnier@iro.umontreal.ca, 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.17025399099335 (code B ref 66394); Thu, 14 Dec 2023 07:46:02 +0000 Received: (at 66394) by debbugs.gnu.org; 14 Dec 2023 07:45:09 +0000 Received: from localhost ([127.0.0.1]:60121 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rDgP7-0002QU-89 for submit@debbugs.gnu.org; Thu, 14 Dec 2023 02:45:09 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:47788) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rDgP4-0002Pp-61 for 66394@debbugs.gnu.org; Thu, 14 Dec 2023 02:45:07 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rDgOh-0003cV-Qa; Thu, 14 Dec 2023 02:44:43 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=nNMOs3pdjZOQlQSFyeJQ/jinMyTd0Ba9cfy8ngt8c6I=; b=UySrOF2Tr/NV mHOK60DYtbrLdP3L98meOYPUUYBwTUl62QeZHPL+WTjj/3aHsFEtwk6I8G839mg1g6IEzfgUn1Q7Q gfUfTsFtVnmxP6zRtIOaZ8Wv6fCO9bl+PpuXY9ujDS2uIWKLRZPWJM11Z7H/UCU7++gOedHlYnZo2 TiU0WfjjXMROcv6dYORraU1KOYubVwljjPJAYxd8XIC7ZzLUaC2vSHR5fo0nvdYIpbwcBRWgbpfA+ YjU+YJUU/pt9dRVskiV37b24/oB9Xmc4DROD+r33x3BaQZ+E4Mb+PujOpmRNV/pkx6lu9YdJLZ1Cf m7VKfTBonL8wh6KXSpfsGw==; Date: Thu, 14 Dec 2023 09:44:40 +0200 Message-Id: <83v891qlcn.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <87o7etgxeb.fsf@posteo.net> (message from Thierry Volpiatto on Thu, 14 Dec 2023 05:34:36 +0000) References: <87il7ib6cu.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87a5qhxf05.fsf@posteo.net> <83jzpkvs4z.fsf@gnu.org> <87v8947ulo.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> <87cyvbepi0.fsf@posteo.net> <87bkavk9nv.fsf@posteo.net> <8eebbb30-9366-e869-a39a-8100638cb99a@gutov.dev> <87o7etgxeb.fsf@posteo.net> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Thierry Volpiatto > Cc: Eli Zaretskii , michael_heerdegen@web.de, > 66394@debbugs.gnu.org, monnier@iro.umontreal.ca, stefankangas@gmail.com > Date: Thu, 14 Dec 2023 05:34:36 +0000 > > Dmitry Gutov writes: > > > On 12/12/2023 12:16, Thierry Volpiatto wrote: > >> Here a third patch that allows more precise configuration if needed. > >> For example if you have register-use-preview == nil, no confirmation > >> with RET is needed everywhere, even when overwriting a register. If you > >> want to have a confirmation when overwriting but no confirmation when > >> jumping/inserting you can use this in addition of register-use-preview > > > > I was actually thinking this might be a good default behavior: no > > confirmation in all cases except when overwriting. It's a change from > > the current one still, but a smaller one. > > I think too it would be a good default. What do others think about making this the default? From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Dec 2023 08:25:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: thievol@posteo.net, dmitry@gutov.dev, stefankangas@gmail.com, michael_heerdegen@web.de, 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170254229213305 (code B ref 66394); Thu, 14 Dec 2023 08:25:02 +0000 Received: (at 66394) by debbugs.gnu.org; 14 Dec 2023 08:24:52 +0000 Received: from localhost ([127.0.0.1]:60154 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rDh1Y-0003SX-BS for submit@debbugs.gnu.org; Thu, 14 Dec 2023 03:24:52 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:39628) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rDh1W-0003SL-6l for 66394@debbugs.gnu.org; Thu, 14 Dec 2023 03:24:51 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rDh15-00069M-7u; Thu, 14 Dec 2023 03:24:28 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=94x/YlM4qOH2HCaaIOP5he741esunPF6VbYRiJcMm44=; b=bCHSu5qmXl7w /KaCPP4nBcOWdqNlWTZkRfwOxblqK9UQUqJY21SkbzIGxNm/yJ7aK2wjmEyuEVyXywdzC0iUXEgSS BQdcQr0X5D8dzwkA2ILDsE2JJVUEn7p3+Hy2ZnfYLs90QUaMyvIPjxDzQl8ffUwT1MiBeZ2dzVlS8 Ee+2sX/27FdwCmk0pywZp5EfTq8ABYUHy5FQ3y1kpOh8ElhGTYRQTbpy0sdpZas0QVnAa+Gk1APSs 3/9MnHmDnGDZ45eluW2YScXhwNkDJDSVAwi8s1DKM5t2EeYFxHq48e7IMRDr87IRFV8DgLNY9CA+M JXOfM/Va45l3NpfvsVAjTQ==; Date: Thu, 14 Dec 2023 10:24:19 +0200 Message-Id: <83sf45qjik.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: (message from Stefan Monnier on Thu, 14 Dec 2023 02:38:56 -0500) References: <87il7ib6cu.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87a5qhxf05.fsf@posteo.net> <83jzpkvs4z.fsf@gnu.org> <87v8947ulo.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> <87cyvbepi0.fsf@posteo.net> <87bkavk9nv.fsf@posteo.net> <8eebbb30-9366-e869-a39a-8100638cb99a@gutov.dev> <87o7etgxeb.fsf@posteo.net> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Stefan Monnier > Cc: Dmitry Gutov , Eli Zaretskii , > michael_heerdegen@web.de, 66394@debbugs.gnu.org, stefankangas@gmail.com > Date: Thu, 14 Dec 2023 02:38:56 -0500 > > >> I was actually thinking this might be a good default behavior: no > >> confirmation in all cases except when overwriting. It's a change from > >> the current one still, but a smaller one. > > Note that when used within a keyboard macro, it's annoying if it > sometimes requires confirmation and sometimes not. Perhaps we could avoid the confirmation request when the command is run from a macro? From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Dec 2023 15:51:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: Thierry Volpiatto , dmitry@gutov.dev, stefankangas@gmail.com, michael_heerdegen@web.de, 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.17025690153060 (code B ref 66394); Thu, 14 Dec 2023 15:51:02 +0000 Received: (at 66394) by debbugs.gnu.org; 14 Dec 2023 15:50:15 +0000 Received: from localhost ([127.0.0.1]:50764 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rDnyZ-0000nI-KZ for submit@debbugs.gnu.org; Thu, 14 Dec 2023 10:50:15 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:41089) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rDnyY-0000n3-JR for 66394@debbugs.gnu.org; Thu, 14 Dec 2023 10:50:14 -0500 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id CDABD100068; Thu, 14 Dec 2023 10:50:09 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1702569004; bh=DJz/7dF55KK5m78Ogmw9cQC3vjA4o2DqtbeC6WDSW/Q=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=HJzG/AoUUkPl4RAjOhpsGIzl/UNIwdFB7q3xIMQuGtRgA895LiG3Hbjksw/E28d94 nJBLm6bJeeQGqk4kRcE37IcTgethl8UMgwRILeYwZOPYFWhxHFLLGxRvbdGQ0kEfzo Pe5z9vS8fv3Y4sd5R3H+fyPpwYg0cslu+TMQfDj2rxYWgI0DobClFrt2hXn9GNsN4W 075dAA1NltIkyIqjlITm9cmz1/sCEjl0N68QYGJFqPyEoVRQ9MwoWXZhyAh+7tHcUd LRac1y1uDgQC74wvSMNcRMaEKCvwZP/w28llBKf8oJ6GhfflX9prR7iZ/QBuRvDGeK 8j90t6K7f0R0A== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 5F10C100033; Thu, 14 Dec 2023 10:50:04 -0500 (EST) Received: from alfajor (unknown [23.233.149.155]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 3228D1203C5; Thu, 14 Dec 2023 10:50:04 -0500 (EST) From: Stefan Monnier In-Reply-To: <83v891qlcn.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 14 Dec 2023 09:44:40 +0200") Message-ID: References: <87il7ib6cu.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87a5qhxf05.fsf@posteo.net> <83jzpkvs4z.fsf@gnu.org> <87v8947ulo.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> <87cyvbepi0.fsf@posteo.net> <87bkavk9nv.fsf@posteo.net> <8eebbb30-9366-e869-a39a-8100638cb99a@gutov.dev> <87o7etgxeb.fsf@posteo.net> <83v891qlcn.fsf@gnu.org> Date: Thu, 14 Dec 2023 10:50:10 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.111 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > What do others think about making this the default? My understanding is that usage style of registers varies a lot, where some people use them extensively, so any change that makes them heavier/slower (such a requiring a confirmation) will alienate them. For that reason I'd opt to keep the defaults as close to the previous behavior, focusing on making the new features discoverable rather than enabled by default. Stefan From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Dec 2023 18:00:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: michael_heerdegen@web.de, dmitry@gutov.dev, Eli Zaretskii , stefankangas@gmail.com, 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170257675031455 (code B ref 66394); Thu, 14 Dec 2023 18:00:02 +0000 Received: (at 66394) by debbugs.gnu.org; 14 Dec 2023 17:59:10 +0000 Received: from localhost ([127.0.0.1]:50869 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rDpzK-0008BG-FE for submit@debbugs.gnu.org; Thu, 14 Dec 2023 12:59:10 -0500 Received: from mout02.posteo.de ([185.67.36.66]:37711) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rDpzI-0008Ax-HU for 66394@debbugs.gnu.org; Thu, 14 Dec 2023 12:59:09 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 8045B240105 for <66394@debbugs.gnu.org>; Thu, 14 Dec 2023 18:59:03 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1702576743; bh=aCS6B7MP7LGRZr6hKE9pAA3VHj97a+kQWuJWVUw1k+8=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=gCY8YV69BCst8fAoMIsIDaoZdzYdEfgh1RbU/Lbre8+3qCei1pe6yh/+R8WYFC8ti 6hM2Q91YOzJ5B7OecofNMp1CfAHajgD6o5edkoOdQ2HCd7Qhv9chGA/XkS5lD256sm jdrrQqHXsfhLfJqpjMVSYnmPO/m7inghWWg3FAQhIvquEhHbk/MxJgCd7F3bnep8uu WLcRr0+bXoJMa0NXrPSqB4N+2eSaR4+CmRKQ/LCIbotWTLkk4bkcKodGMrMszAA3u4 GyrNb90rZpTAPZm24YMCEQutamsF0tmJ62xfqIMOhLE3Xk19cnZGpf0PHR09dhaudy EAiHg/Dk6mtcw== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Srg8M74VCz6tvm; Thu, 14 Dec 2023 18:58:59 +0100 (CET) From: Thierry Volpiatto In-Reply-To: (Stefan Monnier's message of "Thu, 14 Dec 2023 10:50:10 -0500 (1 hour, 44 minutes ago)") References: <87il7ib6cu.fsf@posteo.net> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87a5qhxf05.fsf@posteo.net> <83jzpkvs4z.fsf@gnu.org> <87v8947ulo.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> <87cyvbepi0.fsf@posteo.net> <87bkavk9nv.fsf@posteo.net> <8eebbb30-9366-e869-a39a-8100638cb99a@gutov.dev> <87o7etgxeb.fsf@posteo.net> <83v891qlcn.fsf@gnu.org> Date: Thu, 14 Dec 2023 17:58:55 +0000 Message-ID: <87o7es3bts.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Stefan Monnier writes: >> What do others think about making this the default? > > My understanding is that usage style of registers varies a lot, where > some people use them extensively, so any change that makes them > heavier/slower (such a requiring a confirmation) will alienate them. My impression is that these people use a workflow based on few register (I guess maximum 5) because it is hard to read the register preview as it was before, so they work with for example only "a", "b" and "c", they always overwrite them and as there is only few registers they can always remember what they do. But when you have many registers, the time you spend scrutinizing the preview buffer is worst than the time you spend hitting RET or even navigating the preview buffer with C-n/p.=20 >=20 > For that reason I'd opt to keep the defaults as close to the previous > behavior, focusing on making the new features discoverable rather than > enabled by default. So we could have the default exactly as before (register-use-preview =3D=3D basic) and disable the behavior of register-preview =3D=3D nil, keeping only t and 'never. t would provide the fully featured preview buffer (with RET everywhere to c= onfirm). And 'never would be the same but with no preview buffer (but still available with C-h). As I have actually a problem unsolved with register-use-preview =3D=3D nil with kmacros, this would save me some more work. =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmV7Ql8THHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvk92+C/4gp+CCUmT1F8O9neY4P5G08CKobPXP 7rEhpdW60B6Uf+aPj/w5cM2gxVws5yQ4lQLfEEEXMyzKYKxUh8JQ+JxaXZ1AeUr7 l69D60m0V6775AUW8Ez9MUICQ6tKgvin4aUpWZOAhughvyv1+jqg6PPLxNFzuDBV HjyObS7sLa+3+5cTINSm9rCDI7hGMjtkN1bQ46TH/Ai/CFAO0ugPdwkWfmBU/xU3 DgeUxJ/iIc/mOYSSy4W8A9txAhqcdiPyUwbEDYqn7de5cjtmzNLqjaRkPobCz7K+ RfiFI93FMnOu4LXcfSxrvLaLH1DKgRHpVQG+vU7y3MP+BmblwMBEMrjnTdvqfV9n JfqREF2TTwdPksHfmfq98N3x/PbzDX/bXINC05vnGz/dg3CBu0rzgCCLAv/ryUwI k9BoejLDrjCngc3RR9rKqve4I/DroNwZdd+mExwTWNlPaJBTa7wTYlhYnRMmHBeL jGirnYL7snlx98uxwOl45706OMdL97LderE= =31nw -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Andreas Schwab Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Dec 2023 19:20:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: michael_heerdegen@web.de, stefankangas@gmail.com, dmitry@gutov.dev, Stefan Monnier , Eli Zaretskii , 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.17025815732377 (code B ref 66394); Thu, 14 Dec 2023 19:20:01 +0000 Received: (at 66394) by debbugs.gnu.org; 14 Dec 2023 19:19:33 +0000 Received: from localhost ([127.0.0.1]:50943 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rDrF6-0000cF-Hq for submit@debbugs.gnu.org; Thu, 14 Dec 2023 14:19:32 -0500 Received: from mail-out.m-online.net ([212.18.0.10]:41203) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rDrF4-0000c5-AA for 66394@debbugs.gnu.org; Thu, 14 Dec 2023 14:19:31 -0500 Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 4SrhxD0Ppcz1syBt; Thu, 14 Dec 2023 20:19:27 +0100 (CET) Received: from localhost (dynscan1.mnet-online.de [192.168.6.68]) by mail.m-online.net (Postfix) with ESMTP id 4SrhxC5djkz1qqlW; Thu, 14 Dec 2023 20:19:27 +0100 (CET) X-Virus-Scanned: amavis at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.68]) (amavis, port 10024) with ESMTP id XDlNi0Mdz_ci; Thu, 14 Dec 2023 20:19:26 +0100 (CET) X-Auth-Info: eeg4zqAXKMvGzrItZhIxX99ZiGmWpGz98FZrYjMJ3G01/4F9VSP40WECqIkaa0zP Received: from igel.home (aftr-62-216-202-120.dynamic.mnet-online.de [62.216.202.120]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPSA; Thu, 14 Dec 2023 20:19:26 +0100 (CET) Received: by igel.home (Postfix, from userid 1000) id 878C62C13E4; Thu, 14 Dec 2023 20:19:26 +0100 (CET) From: Andreas Schwab In-Reply-To: <87o7es3bts.fsf@posteo.net> (Thierry Volpiatto's message of "Thu, 14 Dec 2023 17:58:55 +0000") References: <87il7ib6cu.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87a5qhxf05.fsf@posteo.net> <83jzpkvs4z.fsf@gnu.org> <87v8947ulo.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> <87cyvbepi0.fsf@posteo.net> <87bkavk9nv.fsf@posteo.net> <8eebbb30-9366-e869-a39a-8100638cb99a@gutov.dev> <87o7etgxeb.fsf@posteo.net> <83v891qlcn.fsf@gnu.org> <87o7es3bts.fsf@posteo.net> X-Yow: Our father who art in heaven.. I sincerely pray that SOMEBODY at this table will PAY for my SHREDDED WHAT and ENGLISH MUFFIN.. and also leave a GENEROUS TIP... Date: Thu, 14 Dec 2023 20:19:26 +0100 Message-ID: <878r5wa8xt.fsf@igel.home> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.5 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.5 (-) On Dez 14 2023, Thierry Volpiatto wrote: > My impression is that these people use a workflow based on few register > (I guess maximum 5) because it is hard to read the register preview as > it was before, so they work with for example only "a", "b" and "c", they > always overwrite them and as there is only few registers they can > always remember what they do. The right way to handle that is to use mnemonic letters and punctuation as registers. It is even impossible now to use both lower and upper case letters. That is a serious bug. Registers need to be fast and accessible. The current interface is slow and cumbersome. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different." From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Stefan Kangas Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Dec 2023 19:40:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto , Dmitry Gutov Cc: michael_heerdegen@web.de, Eli Zaretskii , monnier@iro.umontreal.ca, 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170258276914326 (code B ref 66394); Thu, 14 Dec 2023 19:40:02 +0000 Received: (at 66394) by debbugs.gnu.org; 14 Dec 2023 19:39:29 +0000 Received: from localhost ([127.0.0.1]:50953 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rDrYO-0003iz-QZ for submit@debbugs.gnu.org; Thu, 14 Dec 2023 14:39:29 -0500 Received: from mail-ed1-x535.google.com ([2a00:1450:4864:20::535]:42007) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rDrYM-0003ih-3V for 66394@debbugs.gnu.org; Thu, 14 Dec 2023 14:39:27 -0500 Received: by mail-ed1-x535.google.com with SMTP id 4fb4d7f45d1cf-551d5cd1c5fso2005355a12.0 for <66394@debbugs.gnu.org>; Thu, 14 Dec 2023 11:39:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1702582761; x=1703187561; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:mime-version:references:in-reply-to :from:from:to:cc:subject:date:message-id:reply-to; bh=vpZmKAGauOzSXgEyQrlR3l4RyCTMFqHPY+i5R8SDdos=; b=Mj5CBg2VsTZy1UmSs0rhD19n0bexmBIEVM4hzNLGSqh7dCotq7NCADiv4eOeOq6U9x MWL6KgR72d5tTmUB54elVybP3fgXQ/O+6tX+jVG7WAH/dQLQmHZEO1jby1wZh61PJkBB g4Et1BGkUW/4HGbB1c0glsfHpMP79GDIAsaxoFo8faHMa6qayw/a09gScYderU9GnQud 23gq43NyejNwGOPauFk4uQWklnNUNKnJCiuiQHoBZYOY4g6nTHj5dVYNozvhlhB9AVxb 69tDGu/lyPZDINb1VUUFsvDKJOuoEeYYxxJTJAtKzO6OOVfKHvvsPia9m9A6xmzde3B9 P3HQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702582761; x=1703187561; h=cc:to:subject:message-id:date:mime-version:references:in-reply-to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=vpZmKAGauOzSXgEyQrlR3l4RyCTMFqHPY+i5R8SDdos=; b=M/0zvdsxMPqOtHWQLPy0578odeDm3Nhd5ajN/E0rRhJ4tQNyo+4dId23K6zNCO1LzU YiVOsE+4ag6lKIYl1np9DGLylOqsiLCLoBhWWXWAb0/+/3W/b/IuUVyX1sIJR4yyWDkv Pq/Lxv5cenrTZYcJ7JtEc6l3b/qeAD8I5pvz7l2I3/LKzfbXBG5DHKkfu3U+8w59JKfu QZPxvyCoN4nvHQ+TAuMfytJPp/i0KhPyavd9ZcM4dm3oTr8rXWxpPiqAsGro9c8Kebe6 nAM3isFD2mnSFCldsiALo2x8Gtpn8r/ws9nGMrw/AZSdBoFPd4W3CGfsatVDEgaiLpgw sACA== X-Gm-Message-State: AOJu0Yx63faz+2rmHrqz1q6kb0SPVQo8vV2cD6QJwNYucp6/54F5QTs6 ++gn79zWgfbGTsgzSWdVXeO8A5oukNQWJYVtFIM= X-Google-Smtp-Source: AGHT+IEqXMC/H2miuQRbSlbGDU+5Mcj5+ujnXjaW6Mz4Ou2rLwWV0kHMZWSD/r1Gi/WBimmOnyAoCSAw+chEY19gnA8= X-Received: by 2002:a50:8712:0:b0:54c:aa1c:205e with SMTP id i18-20020a508712000000b0054caa1c205emr9562739edb.17.1702582760695; Thu, 14 Dec 2023 11:39:20 -0800 (PST) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Thu, 14 Dec 2023 11:39:19 -0800 From: Stefan Kangas In-Reply-To: <87v894hr2e.fsf@posteo.net> References: <87il7ib6cu.fsf@posteo.net> <87h6mcr8ol.fsf@posteo.net> <87r0l73029.fsf@web.de> <877cmdx8ud.fsf@posteo.net> <87sf50s1gh.fsf@posteo.net> <83o7ficesp.fsf@gnu.org> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87a5qhxf05.fsf@posteo.net> <83jzpkvs4z.fsf@gnu.org> <87v8947ulo.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> MIME-Version: 1.0 Date: Thu, 14 Dec 2023 11:39:19 -0800 Message-ID: Content-Type: text/plain; charset="UTF-8" X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Thierry Volpiatto writes: > From 386457b493e3d2ebdb605dd8a8ce3c323847f537 Mon Sep 17 00:00:00 2001 > From: Thierry Volpiatto > Date: Mon, 11 Dec 2023 07:02:40 +0100 > Subject: [PATCH 1/2] Don't confirm with RET even when overwriting in register > commands The preview here when copying to and inserting from registers is really nice. However, I think we should do what Stefan Monnier suggested: keep the old default (with regards to which keys to press), and make it discoverable for those that want it. That said, I think the new feature, if made optional, will clearly be popular among at least a section of users. So it's a nice addition and extension of Emacs' capabilities. > From 7b634a3359565dea755392324055443eb02aa070 Mon Sep 17 00:00:00 2001 > From: Thierry Volpiatto > Date: Tue, 12 Dec 2023 07:24:32 +0100 > Subject: [PATCH 2/2] Provide emacs-29 behavior for register-preview This one is okay in terms of the keys I need to press (i.e. there is no change from emacs-29, by default), but why not keep the preview from the first one? That part I think was a really good addition, and also non-intrusive. It makes me feel more in control, as I'm not inserting or overwriting stuff blindly. We might want an option to turn it off, though. I hope that helps. From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Stefan Kangas Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Dec 2023 20:30:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier , Eli Zaretskii Cc: Thierry Volpiatto , dmitry@gutov.dev, michael_heerdegen@web.de, 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170258575217400 (code B ref 66394); Thu, 14 Dec 2023 20:30:02 +0000 Received: (at 66394) by debbugs.gnu.org; 14 Dec 2023 20:29:12 +0000 Received: from localhost ([127.0.0.1]:51014 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rDsKV-0004Wa-Tc for submit@debbugs.gnu.org; Thu, 14 Dec 2023 15:29:12 -0500 Received: from mail-lj1-x230.google.com ([2a00:1450:4864:20::230]:54725) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rDsKU-0004WJ-4c for 66394@debbugs.gnu.org; Thu, 14 Dec 2023 15:29:10 -0500 Received: by mail-lj1-x230.google.com with SMTP id 38308e7fff4ca-2c9f4bb2e5eso119198461fa.1 for <66394@debbugs.gnu.org>; Thu, 14 Dec 2023 12:29:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1702585745; x=1703190545; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:mime-version:references:in-reply-to :from:from:to:cc:subject:date:message-id:reply-to; bh=v6eZPz+zSB8sDU4G/FityKWeoNbJf8pDq2JrE2agRXc=; b=flJN076bD2+hOGd5QptTTZ2SRlWIGggI1bZMfaDBpjTLYy1QhwGbUl4WKzhAanpF4p qpXC1PJsvACoFIJS+lJIYKU4Y9yaqJH4BoPxuKZghIVxurk3IZpFfGWwFUy//06hgKoz oDGeK/VC+bkQnbvc+oYA2a8v5Ig0dCTH3tpy99Wg9EnXDQjDSH8eOKjtGl46zAg1pW2t Myq/sS4QZA+NbuNXKSDBisn364o2yTZwNHXTj0cnOE5X++l12QDHVhuWb/eUqxiHh3u5 ft0+XlCQwAt015aC4Y17Ehp1DR7aU5UGuM2y8JZsxzuvYOxlXoblky6wIk6PdQ6je5Eb q40A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702585745; x=1703190545; h=cc:to:subject:message-id:date:mime-version:references:in-reply-to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=v6eZPz+zSB8sDU4G/FityKWeoNbJf8pDq2JrE2agRXc=; b=VLsgo9fgkQMQJDpOkFVZUxU33bAaALAewuzvrL8mVbDVo+8KmHrVPAj6LUS/OALtR6 CD7UpsVEC9n9NDZpR7C7h7drmP1g0gIJsKkejQD2Z8NeJ8N65zHmY2GvdFP5XHAcr+Q7 0Q4d+n1ZLUk2joJmdnggwo+FMvKlqo/tLMg2dCa2bM7ctdPehQfxLBgZIDBCNI4BAsgK M7s95Z5K9hmhCZDKkwAaKxZfYeS5s+VIuE1ZRa7cBsMrgRV4X++NHZF559+gXf3W9WEv yQVb6FT0TLISYMa0Tln+9Gn4+hjRnKl3EK0bwG2yzb425uSV67teriXOhksgxIMAGeN0 rcZQ== X-Gm-Message-State: AOJu0Yy8EESwgoF+mUEdoAt8ylR1jo2tSZ/SR6Ux74Nozrlq9hzfGuhN LZhJP5mclAsiXSI6N/iUZlQRslhwj7aNfvCxN70= X-Google-Smtp-Source: AGHT+IGDsJv84Dd2mxQ64BkjDsRNJ/Uf8OXm7nOrLEaaXaM3fWLwyfZ6epFPI5IYYevZvm4wfxx7AE+ItGdh5kSM7Ek= X-Received: by 2002:a2e:82c7:0:b0:2ca:a19:f21e with SMTP id n7-20020a2e82c7000000b002ca0a19f21emr3977922ljh.80.1702585744496; Thu, 14 Dec 2023 12:29:04 -0800 (PST) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Thu, 14 Dec 2023 12:29:04 -0800 From: Stefan Kangas In-Reply-To: References: <87il7ib6cu.fsf@posteo.net> <878r6leh9d.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87a5qhxf05.fsf@posteo.net> <83jzpkvs4z.fsf@gnu.org> <87v8947ulo.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> <87cyvbepi0.fsf@posteo.net> <87bkavk9nv.fsf@posteo.net> <8eebbb30-9366-e869-a39a-8100638cb99a@gutov.dev> <87o7etgxeb.fsf@posteo.net> <83v891qlcn.fsf@gnu.org> MIME-Version: 1.0 Date: Thu, 14 Dec 2023 12:29:04 -0800 Message-ID: Content-Type: text/plain; charset="UTF-8" X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Stefan Monnier writes: >> What do others think about making this the default? > > My understanding is that usage style of registers varies a lot, where > some people use them extensively, so any change that makes them > heavier/slower (such a requiring a confirmation) will alienate them. > For that reason I'd opt to keep the defaults as close to the previous > behavior, focusing on making the new features discoverable rather than > enabled by default. +1 From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 15 Dec 2023 14:47:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Kangas Cc: michael_heerdegen@web.de, dmitry@gutov.dev, Eli Zaretskii , Stefan Monnier , 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170265156716087 (code B ref 66394); Fri, 15 Dec 2023 14:47:02 +0000 Received: (at 66394) by debbugs.gnu.org; 15 Dec 2023 14:46:07 +0000 Received: from localhost ([127.0.0.1]:51818 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rE9S1-00049T-UH for submit@debbugs.gnu.org; Fri, 15 Dec 2023 09:46:07 -0500 Received: from mout02.posteo.de ([185.67.36.66]:38183) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rE9Rz-0003v2-A0 for 66394@debbugs.gnu.org; Fri, 15 Dec 2023 09:46:05 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 5DA27240105 for <66394@debbugs.gnu.org>; Fri, 15 Dec 2023 15:45:57 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1702651557; bh=qfIZ/KMlt40K3I53G7Ecop+JXyMGt3q/HouwsIHgYIM=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=UPQ+FQLoPwet4JOBdrsCwyNYNd84dkWN4sTGRGbFEZOHKQ8pUMFWQZosdN1nVXVtY rTnL9EmccdP9WPYCScbHh44XvzpKM8oKdU488/Syg2b2Qeb6zzbmhfhiOJMa+jjOeB yr/OtZ1N73lNYbvLsfywt53Un2eO88PbpQak628q6IzBQVfXdZvS53TmBkJF3QpZ8h 9cozi/Ap1afTCyAvpNnGLQOb7y1bedwS9B/HQciHgU4rKaSPHjCS9zc0PoBbdns7xW q7p6DQOBznEI4UzUDINuTOSGHcmUWJK183b1dcvcXd8K+KkPVJpW0cE628HAddWD+f uDyrgCze+yhUA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4SsBq50DXHz6v1H; Fri, 15 Dec 2023 15:45:52 +0100 (CET) From: Thierry Volpiatto In-Reply-To: (Stefan Kangas's message of "Thu, 14 Dec 2023 12:29:04 -0800 (18 hours, 6 minutes, 4 seconds ago)") References: <87il7ib6cu.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87a5qhxf05.fsf@posteo.net> <83jzpkvs4z.fsf@gnu.org> <87v8947ulo.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> <87cyvbepi0.fsf@posteo.net> <87bkavk9nv.fsf@posteo.net> <8eebbb30-9366-e869-a39a-8100638cb99a@gutov.dev> <87o7etgxeb.fsf@posteo.net> <83v891qlcn.fsf@gnu.org> Date: Fri, 15 Dec 2023 14:45:49 +0000 Message-ID: <87r0jn4j8i.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Stefan Kangas writes: > Stefan Monnier writes: > >>> What do others think about making this the default? >> >> My understanding is that usage style of registers varies a lot, where >> some people use them extensively, so any change that makes them >> heavier/slower (such a requiring a confirmation) will alienate them. >> For that reason I'd opt to keep the defaults as close to the previous >> behavior, focusing on making the new features discoverable rather than >> enabled by default. > > +1 I just fixed a bug with register-use-preview =3D nil about its usage with kmacros. So I guess it is now possible to make it the default. In these patches (attached) I also fixed the problem of Dmitri with windows configuration (let me know if it works), BTW I guess this bug was already here before these changes. Thanks all for your feedback. PS: I didn't have the time to look in delayed preview request, will do as soon as possible. =2D-=20 Thierry --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-Don-t-confirm-with-RET-even-when-overwriting-in-regi.patch Content-Transfer-Encoding: quoted-printable From=20c83e6132f33c1ab7f6baf63f85aed32f32e8177c Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Mon, 11 Dec 2023 07:02:40 +0100 Subject: [PATCH 1/4] Don't confirm with RET even when overwriting in regist= er commands This happen when register-use-preview is nil or never. This reproduce what we had previously in 29.1 but with filtering in the preview and default registers are provided for the commands of type 'set'. This is implemented with cl-defmethod to keep the code as much as possible configurable. * lisp/register.el (register-preview-info): New slot. (register-command-info): Add new methods for copy-to-register, point-to-register, number-to-register, window-configuration-to-register, frameset-to-register and copy-rectangle-to-register. (register-read-with-preview): Bind noconfirm. =2D-- lisp/register.el | 67 ++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 56 insertions(+), 11 deletions(-) diff --git a/lisp/register.el b/lisp/register.el index fa4bbcf483f..cc4770579ee 100644 =2D-- a/lisp/register.el +++ b/lisp/register.el @@ -156,7 +156,7 @@ TYPES are the types of register supported. MSG is the minibuffer message to send when a register is selected. ACT is the type of action the command is doing on register. SMATCH accept a boolean value to say if command accept non matching regist= er." =2D types msg act smatch) + types msg act smatch noconfirm) =20 (cl-defgeneric register-command-info (command) "Returns a `register-preview-info' object storing data for COMMAND." @@ -179,24 +179,66 @@ SMATCH accept a boolean value to say if command accep= t non matching register." :types '(all) :msg "View register `%s'" :act 'view + :noconfirm (memq register-use-preview '(nil never)) :smatch t)) (cl-defmethod register-command-info ((_command (eql append-to-register))) (make-register-preview-info :types '(string number) :msg "Append to register `%s'" :act 'modify + :noconfirm (memq register-use-preview '(nil never)) :smatch t)) (cl-defmethod register-command-info ((_command (eql prepend-to-register))) (make-register-preview-info :types '(string number) :msg "Prepend to register `%s'" :act 'modify + :noconfirm (memq register-use-preview '(nil never)) :smatch t)) (cl-defmethod register-command-info ((_command (eql increment-register))) (make-register-preview-info :types '(string number) :msg "Increment register `%s'" :act 'modify + :noconfirm (memq register-use-preview '(nil never)) + :smatch t)) +(cl-defmethod register-command-info ((_command (eql copy-to-register))) + (make-register-preview-info + :types '(all) + :msg "Copy to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-command-info ((_command (eql point-to-register))) + (make-register-preview-info + :types '(all) + :msg "Point to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-command-info ((_command (eql number-to-register))) + (make-register-preview-info + :types '(all) + :msg "Number to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-command-info + ((_command (eql window-configuration-to-register))) + (make-register-preview-info + :types '(all) + :msg "Window configuration to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-command-info ((_command (eql frameset-to-register))) + (make-register-preview-info + :types '(all) + :msg "Frameset to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-command-info ((_command (eql copy-rectangle-to-regi= ster))) + (make-register-preview-info + :types '(all) + :msg "Copy rectangle to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)) :smatch t)) =20 (defun register-preview-forward-line (arg) @@ -328,12 +370,13 @@ display such a window regardless." m)) (data (register-command-info this-command)) (enable-recursive-minibuffers t) =2D types msg result timer act win strs smatch) + types msg result timer act win strs smatch noconfirm) (if data =2D (setq types (register-preview-info-types data) =2D msg (register-preview-info-msg data) =2D act (register-preview-info-act data) =2D smatch (register-preview-info-smatch data)) + (setq types (register-preview-info-types data) + msg (register-preview-info-msg data) + act (register-preview-info-act data) + smatch (register-preview-info-smatch data) + noconfirm (register-preview-info-noconfirm data)) (setq types '(all) msg "Overwrite register `%s'" act 'set)) @@ -400,13 +443,15 @@ display such a window regardless." "Register `%s' is empty" pat)))))) (unless (string=3D pat "") (with-selected-window (minibuffer-window) =2D (if (and (member pat strs) (memq act '(s= et modify))) + (if (and (member pat strs) + (memq act '(set modify)) + (null noconfirm)) (with-selected-window (minibuffer-wind= ow) (minibuffer-message msg pat)) =2D ;; An empty register or an existing =2D ;; one but the action is insert or =2D ;; jump, don't ask for confirmation =2D ;; and exit immediately (bug#66394). + ;; The action is insert or + ;; jump or noconfirm is specifed + ;; explicitely, don't ask for + ;; confirmation and exit immediately (bu= g#66394). (setq result pat) (exit-minibuffer))))))))) (setq result (read-from-minibuffer =2D-=20 2.34.1 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0002-Provide-emacs-29-behavior-for-register-preview.patch Content-Transfer-Encoding: quoted-printable From=2031effd1956d78810bd197abd746b84a48474911d Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Tue, 12 Dec 2023 07:24:32 +0100 Subject: [PATCH 2/4] Provide emacs-29 behavior for register-preview It is now the default with a value of register-use-preview eq to basic. To change this one have now to customize register-use-preview to another value. * lisp/register.el (register-preview-delay): Remove obsolescence. (register--read-with-preview-function): New. (register-use-preview): New option basic, it is now the default. (register-preview-default-1): New the register-preview-default used by `register-read-with-preview-fancy`. (register-preview-default): Restored (same as Emacs-29). (register--preview-function): Generic fn that return the right function for register--preview-function. (register-preview): Restored (same behavior as Emacs-29). (register-preview-1): Used by `register-read-with-preview-fancy'. (register-read-with-preview-basic): The old register-read-with-preview. (register-read-with-preview-fancy): The new register-read-with-preview. =2D-- lisp/register.el | 156 +++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 132 insertions(+), 24 deletions(-) diff --git a/lisp/register.el b/lisp/register.el index cc4770579ee..1ef6189682e 100644 =2D-- a/lisp/register.el +++ b/lisp/register.el @@ -100,25 +100,55 @@ If nil, do not show register previews, unless `help-c= har' (or a member of :version "24.4" :type '(choice number (const :tag "No preview unless requested" nil)) :group 'register) =2D(make-obsolete-variable 'register-preview-delay "No longer used." "30.1") =20 (defcustom register-preview-default-keys (mapcar #'string (number-sequence= ?a ?z)) "Default keys for setting a new register." =2D :type '(repeat string)) =2D =2D(defcustom register-use-preview t =2D "Whether to show preview of registers. =2D =2DIf the value is t, show a preview buffer with navigation and highlightin= g. =2DIf the value is nil, show a basic preview buffer and exit minibuffer =2Dimmediately after the register name is inserted into minibuffer. =2DIf the value is \\=3D'never, behave as for nil, but with no preview buff= er =2Dat all." + :type '(repeat string) + :version 30.1) + +(defvar register--read-with-preview-function nil + "The register read preview function to use. +Two functions are provided, one that provide navigation and +highlighting of the register selected, filtering of register +according to command in use, defaults register to use when +setting a new register, confirmation and notification when you +are about to overwrite a register and generic functions to +configure how each existing commands behave. The other function +provided is the same as what was used in Emacs-29, no filtering, +no navigation, no defaults.") + +(defvar register-preview-function nil + "Function to format a register for previewing. +Called with one argument, a cons (NAME . CONTENTS) as found in `register-a= list'. +The function should return a string, the description of the argument. +It is set according to the value of `register--read-with-preview-function'= .") + +(defcustom register-use-preview 'basic + "Maybe show register preview. + +This has no effect when `register--read-with-preview-function' value +is `register-read-with-preview-basic'. + +When set to `t' show a preview buffer with navigation and highlighting. +When nil show a basic preview buffer and exit minibuffer +immediately after insertion in minibuffer. +When set to \\=3D'never behave as above but with no preview buffer at +all. +When set to \\=3D'basic provide a much more basic preview according to +`register-preview-delay', it has the exact same behavior as in Emacs-29." :type '(choice (const :tag "Use preview" t) (const :tag "Use quick preview" nil) =2D (const :tag "Never use preview" never)) =2D :version "30.1") + (const :tag "Never use preview" never) + (const :tag "Basic preview like Emacs-29" basic)) + :version 30.1 + :set (lambda (var val) + (set var val) + (setq register--read-with-preview-function + (if (eq val 'basic) + #'register-read-with-preview-basic + #'register-read-with-preview-fancy)) + (setq register-preview-function nil))) =20 (defun get-register (register) "Return contents of Emacs register named REGISTER, or nil if none." @@ -138,17 +168,28 @@ See the documentation of the variable `register-alist= ' for possible VALUEs." (substring d (match-end 0)) d))) =20 =2D(defun register-preview-default (r) +(defun register-preview-default-1 (r) "Function that is the default value of the variable `register-preview-fu= nction'." (format "%s: %s\n" (propertize (string (car r)) 'display (single-key-description (car r))) (register-describe-oneline (car r)))) =20 =2D(defvar register-preview-function #'register-preview-default =2D "Function to format a register for previewing. =2DCalled with one argument, a cons (NAME . CONTENTS) as found in `register= -alist'. =2DThe function should return a string, the description of the argument.") +(defun register-preview-default (r) + "Function that is the default value of the variable `register-preview-fu= nction'." + (format "%s: %s\n" + (single-key-description (car r)) + (register-describe-oneline (car r)))) + +(cl-defgeneric register--preview-function (read-preview-function) + "Returns a function to format a register for previewing. +This according to the value of READ-PREVIEW-FUNCTION.") +(cl-defmethod register--preview-function ((_read-preview-function + (eql register-read-with-preview= -basic))) + #'register-preview-default) +(cl-defmethod register--preview-function ((_read-preview-function + (eql register-read-with-preview= -fancy))) + #'register-preview-default-1) =20 (cl-defstruct register-preview-info "Store data for a specific register command. @@ -310,9 +351,9 @@ satisfy `cl-typep' otherwise the new type should be def= ined with (cl-defmethod register--type ((_regval string)) 'string) (cl-defmethod register--type ((_regval number)) 'number) (cl-defmethod register--type ((_regval marker)) 'marker) =2D(cl-defmethod register--type ((_regval (eql 'buffer))) 'buffer) =2D(cl-defmethod register--type ((_regval (eql 'file))) 'file) =2D(cl-defmethod register--type ((_regval (eql 'file-query))) 'file-query) +(cl-defmethod register--type ((_regval (eql buffer))) 'buffer) +(cl-defmethod register--type ((_regval (eql file))) 'file) +(cl-defmethod register--type ((_regval (eql file-query))) 'file-query) (cl-defmethod register--type ((_regval window-configuration)) 'window) (cl-deftype frame-register () '(satisfies frameset-register-p)) (cl-defmethod register--type :extra "frame-register" (_regval) 'frame) @@ -327,12 +368,39 @@ satisfy `cl-typep' otherwise the new type should be d= efined with when (memq (register-type register) types) collect register))) =20 =2D(defun register-preview (buffer &optional show-empty types) +(defun register-preview (buffer &optional show-empty) "Pop up a window showing the registers preview in BUFFER. If SHOW-EMPTY is non-nil, show the window even if no registers. +Format of each entry is controlled by the variable `register-preview-funct= ion'." + (unless register-preview-function + (setq register-preview-function (register--preview-function + register--read-with-preview-function)= )) + (when (or show-empty (consp register-alist)) + (with-current-buffer-window + buffer + (cons 'display-buffer-below-selected + '((window-height . fit-window-to-buffer) + (preserve-size . (nil . t)))) + nil + (with-current-buffer standard-output + (setq cursor-in-non-selected-windows nil) + (mapc (lambda (elem) + (when (get-register (car elem)) + (insert (funcall register-preview-function elem)))) + register-alist))))) + +(defun register-preview-1 (buffer &optional show-empty types) + "Pop up a window showing the registers preview in BUFFER. + +This is the preview function use with +`register-read-with-preview-fancy' function. +If SHOW-EMPTY is non-nil, show the window even if no registers. Argument TYPES (a list) specify the types of register to show, when nil sh= ow all registers, see `register-type' for suitable types. Format of each entry is controlled by the variable `register-preview-funct= ion'." + (unless register-preview-function + (setq register-preview-function (register--preview-function + register--read-with-preview-function)= )) (let ((registers (register-of-type-alist (or types '(all))))) (when (or show-empty (consp registers)) (with-current-buffer-window @@ -360,6 +428,46 @@ Format of each entry is controlled by the variable `re= gister-preview-function'." "Read and return a register name, possibly showing existing registers. Prompt with the string PROMPT. If `help-char' (or a member of `help-event-list') is pressed, +display such a window regardless." + (funcall register--read-with-preview-function prompt)) + +(defun register-read-with-preview-basic (prompt) + "Read and return a register name, possibly showing existing registers. +Prompt with the string PROMPT. If `register-alist' and +`register-preview-delay' are both non-nil, display a window +listing existing registers after `register-preview-delay' seconds. +If `help-char' (or a member of `help-event-list') is pressed, +display such a window regardless." + (let* ((buffer "*Register Preview*") + (timer (when (numberp register-preview-delay) + (run-with-timer register-preview-delay nil + (lambda () + (unless (get-buffer-window buffer) + (register-preview buffer)))))) + (help-chars (cl-loop for c in (cons help-char help-event-list) + when (not (get-register c)) + collect c))) + (unwind-protect + (progn + (while (memq (read-key (propertize prompt 'face 'minibuffer-prompt)) + help-chars) + (unless (get-buffer-window buffer) + (register-preview buffer 'show-empty))) + (when (or (eq ?\C-g last-input-event) + (eq 'escape last-input-event) + (eq ?\C-\[ last-input-event)) + (keyboard-quit)) + (if (characterp last-input-event) last-input-event + (error "Non-character input-event"))) + (and (timerp timer) (cancel-timer timer)) + (let ((w (get-buffer-window buffer))) + (and (window-live-p w) (delete-window w))) + (and (get-buffer buffer) (kill-buffer buffer))))) + +(defun register-read-with-preview-fancy (prompt) + "Read and return a register name, possibly showing existing registers. +Prompt with the string PROMPT. +If `help-char' (or a member of `help-event-list') is pressed, display such a window regardless." (let* ((buffer "*Register Preview*") (buffer1 "*Register quick preview*") @@ -392,13 +500,13 @@ display such a window regardless." ;; Do nothing when buffer1 is in use. (unless (get-buffer-window buf) (with-selected-window (minibuffer-selected-window) =2D (register-preview buffer 'show-empty types)))= ))) + (register-preview-1 buffer 'show-empty types)))= ))) (define-key map (kbd "") 'register-preview-next) (define-key map (kbd "") 'register-preview-previous) (define-key map (kbd "C-n") 'register-preview-next) (define-key map (kbd "C-p") 'register-preview-previous) (unless (or executing-kbd-macro (eq register-use-preview 'never)) =2D (register-preview buf nil types)) + (register-preview-1 buf nil types)) (unwind-protect (progn (minibuffer-with-setup-hook =2D-=20 2.34.1 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0003-Save-and-restore-win-confs-after-register-commands.patch Content-Transfer-Encoding: quoted-printable From=208d81687b7e58ae9e36a2a405f98976b05aaffe28 Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Thu, 14 Dec 2023 16:23:26 +0100 Subject: [PATCH 3/4] Save and restore win confs after register commands When several windows are open, the register preview may eat other windows and break the current window configuration. * lisp/register.el (register-read-with-preview-fancy): Do it. =2D-- lisp/register.el | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lisp/register.el b/lisp/register.el index 1ef6189682e..43dad90778c 100644 =2D-- a/lisp/register.el +++ b/lisp/register.el @@ -473,6 +473,7 @@ display such a window regardless." (buffer1 "*Register quick preview*") (buf (if register-use-preview buffer buffer1)) (pat "") + (winconf (current-window-configuration)) (map (let ((m (make-sparse-keymap))) (set-keymap-parent m minibuffer-local-map) m)) @@ -568,6 +569,7 @@ display such a window regardless." nil "No register specified") (string-to-char result)) (when timer (cancel-timer timer)) + (set-window-configuration winconf) (let ((w (get-buffer-window buf))) (and (window-live-p w) (delete-window w))) (and (get-buffer buf) (kill-buffer buf))))) =2D-=20 2.34.1 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0004-Fix-register-commands-in-kmacros.patch Content-Transfer-Encoding: quoted-printable From=20382feaaa808946cde7fc3aa4fa20520e009fcaf3 Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Fri, 15 Dec 2023 06:41:46 +0100 Subject: [PATCH 4/4] Fix register commands in kmacros When register-use-preview is nil we are exiting minibuffer with no confirmation after an idle delay. This cause a problem when executing kmacros because the commands in macro that should run outside the minibuffer run inside the minibuffer and BTW have no effect in current buffer. By using a preview fn that is not delayed we exit immediately with no delay and the commands are executed in the good order and in the main buffer. * lisp/register.el (register-read-with-preview): Use basic fn while executing kmacros. =2D-- lisp/register.el | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lisp/register.el b/lisp/register.el index 43dad90778c..15ed5c0a53b 100644 =2D-- a/lisp/register.el +++ b/lisp/register.el @@ -429,7 +429,12 @@ Format of each entry is controlled by the variable `re= gister-preview-function'." Prompt with the string PROMPT. If `help-char' (or a member of `help-event-list') is pressed, display such a window regardless." =2D (funcall register--read-with-preview-function prompt)) + (let ((register--read-with-preview-function + (if (and executing-kbd-macro + (memq register-use-preview '(nil never))) + #'register-read-with-preview-basic + (default-value 'register--read-with-preview-function)))) + (funcall register--read-with-preview-function prompt))) =20 (defun register-read-with-preview-basic (prompt) "Read and return a register name, possibly showing existing registers. =2D-=20 2.34.1 --=-=-=-- --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmV8Zp0THHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvk7URC/4+9yx9HpjB7zqRyr39NdWaebzQmF0z Mrf4Shly6VFy3SwCW2/8rBtZM7ji1wkWXpb2Hi/8CZTO/Sb1l2b12bp3zOxMkKOk eNAgDHH59TtC+TFhFHfk2DhH5Cq7U7btAk8UstvbmZOKJmafDLVkBeAVXUuBcFZ2 jTs1BfrZNt1OAFEv3PMOGjzjJ6mcofHQoimMYT0XhVqeieBNgRSrN0jlHG8eo8/C f/L8Qsx8OT6PqZQlzix1SUU7iaoKWW2Vm579wIKKFhyHMPCh/HD8gdVW+JRkBjCI TFqWgw05K0NziFWveOIArfAeR50EUqIrb0dOgFRN5y7PqOM7kaiSyogtivEgFZFW 0wgLRJyBSzaBt1qMSp526NfXPw5X8xKe12HSTXNWlNZ2BlCJQbDLSzn/GN0ZrEen JRLMteaQh+Aekv9G81RIJw/jXwtiP2JG2rnb3DAnkU5QqfhZ2PuZM1HjT94h+fe+ QZ0gSCHDRWh5TrFAMsVOoCz/FiGFZIhFQuk= =e6FL -----END PGP SIGNATURE----- --==-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 15 Dec 2023 15:19:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: michael_heerdegen@web.de, dmitry@gutov.dev, Eli Zaretskii , Stefan Kangas , 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.17026534958176 (code B ref 66394); Fri, 15 Dec 2023 15:19:02 +0000 Received: (at 66394) by debbugs.gnu.org; 15 Dec 2023 15:18:15 +0000 Received: from localhost ([127.0.0.1]:53353 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rE9x9-00027n-1U for submit@debbugs.gnu.org; Fri, 15 Dec 2023 10:18:15 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:64832) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rE9x7-00027a-9c for 66394@debbugs.gnu.org; Fri, 15 Dec 2023 10:18:13 -0500 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id E0A1580A46; Fri, 15 Dec 2023 10:18:07 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1702653486; bh=vy9jra78nFzkPLuwftNG+hBOWoiXCTxe0M6AxahdqDM=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=RCV1hukxIbq1XpIQq2TrIouHihpwXqx+HxEliT4FDVuSjgff0jlvPUaKN6MeVUQ4R zCb54jgMSLeHa44wgiD/8M44pH2L5YQtG0HUA8wYaBrDeuUFq6KAiclACtY2sU4RZu +ugBiVGlgJt4sDJa7x7yQEk8F+P538IIai4Wine7lzk92uZcq0ZVLoETs8d2CE1RWr cnKezkKb3JxtcYUSC1HY134H9MfYaGYCSSWWmSuF2cZJqt4/NR56E2Sicr8YJ/vgfb 2ISqlL9BVcF6xVy97QCSPp5iVAo1dgy/soyzX02rO0wAuTxZFyO8aV/B85mKlnGYTB CHaPG+wfZMFSA== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id B00058090D; Fri, 15 Dec 2023 10:18:06 -0500 (EST) Received: from alfajor (unknown [23.233.149.155]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 8702E120DFE; Fri, 15 Dec 2023 10:18:06 -0500 (EST) From: Stefan Monnier In-Reply-To: <87r0jn4j8i.fsf@posteo.net> (Thierry Volpiatto's message of "Fri, 15 Dec 2023 14:45:49 +0000") Message-ID: References: <87il7ib6cu.fsf@posteo.net> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87a5qhxf05.fsf@posteo.net> <83jzpkvs4z.fsf@gnu.org> <87v8947ulo.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> <87cyvbepi0.fsf@posteo.net> <87bkavk9nv.fsf@posteo.net> <8eebbb30-9366-e869-a39a-8100638cb99a@gutov.dev> <87o7etgxeb.fsf@posteo.net> <83v891qlcn.fsf@gnu.org> <87r0jn4j8i.fsf@posteo.net> Date: Fri, 15 Dec 2023 10:18:05 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > @@ -429,7 +429,12 @@ Format of each entry is controlled by the variable `register-preview-function'." > Prompt with the string PROMPT. > If `help-char' (or a member of `help-event-list') is pressed, > display such a window regardless." > - (funcall register--read-with-preview-function prompt)) > + (let ((register--read-with-preview-function > + (if (and executing-kbd-macro > + (memq register-use-preview '(nil never))) > + #'register-read-with-preview-basic > + (default-value 'register--read-with-preview-function)))) > + (funcall register--read-with-preview-function prompt))) Questions/comments: - Why did you change from using `register--read-with-preview-function` to using (default-value 'register--read-with-preview-function) ? [ The answer should presumably be in the commit message but I couldn't find it there. ] - Why let-bind `register--read-with-preview-function` rather than using a local lexical var? [ The answer should probably be in a comment in the code. ] - Making the behavior dependent on `executing-kbd-macro` is generally undesirable, so it should be accompanied with a comment in the code explaining why we need it (with enough detail that someone sufficiently motivated could potentially "fix" the code to remove this dependency, or alternatively to convince that someone else that this dependency is actually desirable here). -- Stefan From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 15 Dec 2023 18:37:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: michael_heerdegen@web.de, dmitry@gutov.dev, Eli Zaretskii , Stefan Kangas , 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170266540326502 (code B ref 66394); Fri, 15 Dec 2023 18:37:02 +0000 Received: (at 66394) by debbugs.gnu.org; 15 Dec 2023 18:36:43 +0000 Received: from localhost ([127.0.0.1]:53447 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rED3D-0006tM-8Q for submit@debbugs.gnu.org; Fri, 15 Dec 2023 13:36:43 -0500 Received: from mout02.posteo.de ([185.67.36.66]:56737) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rED3A-0006t3-CP for 66394@debbugs.gnu.org; Fri, 15 Dec 2023 13:36:41 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 52035240101 for <66394@debbugs.gnu.org>; Fri, 15 Dec 2023 19:36:34 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1702665394; bh=ts4eFEXqVSHeqVe9s/DBynm1JQjpXhQchYXTXTsasns=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=jHiA18iG29NvDhhbxDV5oBHiO10ZgFLtxeBXMgU5Wqw8evVn3DHWPQVc/RBB7Khhp hIEZn96qeTBPRvSwaU1v6W+JUiUEtUA1zdqUOPmJK5wAk6BSYzrwoinrSTDvbOsiK2 5Ebkvk7hRlD98s0CsDrGVtBYKY+b7c4Ug5VDZDjgxQ5lralFGybl3xRd9xcNOYqf89 DRcvbuIwlZwMtaRe7QfB+mHBmrkiwoZpSUTPaMUZGwhm+6kqdzP7MonHS8d3FfXzdh n++Kw3tfA5tubwiivfAK/ieo8bu2J+4xR+ukwlInZLpztYjE+UBYQ+3BEY/BTMp/wM pymhzA8YMOnbg== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4SsHxB3cTfz6twR; Fri, 15 Dec 2023 19:36:30 +0100 (CET) From: Thierry Volpiatto In-Reply-To: (Stefan Monnier's message of "Fri, 15 Dec 2023 10:18:05 -0500 (2 hours, 59 minutes, 4 seconds ago)") References: <87il7ib6cu.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87a5qhxf05.fsf@posteo.net> <83jzpkvs4z.fsf@gnu.org> <87v8947ulo.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> <87cyvbepi0.fsf@posteo.net> <87bkavk9nv.fsf@posteo.net> <8eebbb30-9366-e869-a39a-8100638cb99a@gutov.dev> <87o7etgxeb.fsf@posteo.net> <83v891qlcn.fsf@gnu.org> <87r0jn4j8i.fsf@posteo.net> Date: Fri, 15 Dec 2023 18:36:26 +0000 Message-ID: <87jzpf48k5.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Stefan Monnier writes: >> @@ -429,7 +429,12 @@ Format of each entry is controlled by the variable = `register-preview-function'." >> Prompt with the string PROMPT. >> If `help-char' (or a member of `help-event-list') is pressed, >> display such a window regardless." >> - (funcall register--read-with-preview-function prompt)) >> + (let ((register--read-with-preview-function >> + (if (and executing-kbd-macro >> + (memq register-use-preview '(nil never))) >> + #'register-read-with-preview-basic >> + (default-value 'register--read-with-preview-function)))) >> + (funcall register--read-with-preview-function prompt))) > > Questions/comments: > > - Why did you change from using > `register--read-with-preview-function` to using > (default-value 'register--read-with-preview-function) ? > [ The answer should presumably be in the commit message but > I couldn't find it there. ] > > - Why let-bind `register--read-with-preview-function` > rather than using a local lexical var? > [ The answer should probably be in a comment in the code. ] To answer to your 1) and 2) questions, I guess what you suggest is something like this (indeed better): diff --git a/lisp/register.el b/lisp/register.el index 15ed5c0a53b..2444f88794e 100644 --- a/lisp/register.el +++ b/lisp/register.el @@ -429,12 +429,11 @@ Format of each entry is controlled by the variabl= e `register-preview-function'." Prompt with the string PROMPT. If `help-char' (or a member of `help-event-list') is pressed, display such a window regardless." - (let ((register--read-with-preview-function - (if (and executing-kbd-macro - (memq register-use-preview '(nil never))) - #'register-read-with-preview-basic - (default-value 'register--read-with-preview-function)))) - (funcall register--read-with-preview-function prompt))) + (let ((fn (if (and executing-kbd-macro + (memq register-use-preview '(nil never))) + #'register-read-with-preview-basic + register--read-with-preview-function))) + (funcall fn prompt))) =20=20=20=20=20 (defun register-read-with-preview-basic (prompt) "Read and return a register name, possibly showing existing register= s. > - Making the behavior dependent on `executing-kbd-macro` is generally > undesirable, so it should be accompanied with a comment in the code > explaining why we need it (with enough detail that someone > sufficiently motivated could potentially "fix" the code to remove this > dependency, or alternatively to convince that someone else that this > dependency is actually desirable here). The explanation is in the commit message. To resume, when we are not using RET to exit minibuffer, we use `exit-minibuffer` from the timer function in minibuffer-setup-hook, BTW when you have a macro using e.g. "C-x r i, C-n, C-a, C-x r +", "C-n and C-a" are running immediately BEFORE the minibuffer is exited so they run in minibuffer and have no effect in your macro that run in current-buffer. Is such a comment sufficiently explicit? (will add in next patch if so). If you have a better fix for this I take ;-). The problem with such a fix (as I did) is that we can't have an hybrid version of preview i.e. one that use RET to confirm overwrite and no RET for other things. For example if one add a configuration like below to modify behavior with *-use-preview =3D=3D nil the macro will fail to execute properly.=20 (cl-defmethod register-command-info ((_command (eql increment-register))) (make-register-preview-info :types '(all) :msg "Increment to register `%s'" :act 'set :noconfirm nil)) Thanks Stefan for reviewing this. =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmV8nKsTHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvk2x7DACgtpj7xvjf0erQY4WC8pkFutcy1rts PVSaWs8n81pqlMWU3NP/LocjGdzt5/Iu2/l8s5KHmHZC/CCRv7/RIGZikCHWDIyR ohdV4vk1eBfVqdnnS1HuwkCi3CJPhHo+xwG7GqXwJxmKzC2b010JhSpP53hoVxcS WqMQxJcTETdd/pUGziuvPGj8BhZcNI94oX3mpjphjk4YcBQHCzCkaVVJsxkn3QZ5 KVQfgNHXwWZPS26BGCaAwY51RATqinhDKFTej1dwpsg31kaocqK6jgW0QCvfIC7U byBucn3yhmlsBbWCsKtN5Ke0OliPUphGarClubH6XKJst9YxXzMllS9EkEmQfIcE tvlRl2NCojr7y+a17Q3hFeS1A4w1HtFPt5SJF77R3bwT1QnkxoJ7QCKjtd3twmt5 QDSbQA+L4DutBg2rJ8TIq07B34k42ct+5OSlutbxT+UEN7ACGzBD53sPDQM67T/d ZzxleVPtSTwS3oZwA3Fu5EGhFjcQz29K7Kc= =Q3Gq -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 15 Dec 2023 23:32:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: michael_heerdegen@web.de, dmitry@gutov.dev, Eli Zaretskii , Stefan Kangas , 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170268308230118 (code B ref 66394); Fri, 15 Dec 2023 23:32:01 +0000 Received: (at 66394) by debbugs.gnu.org; 15 Dec 2023 23:31:22 +0000 Received: from localhost ([127.0.0.1]:53745 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rEHe7-0007jO-9s for submit@debbugs.gnu.org; Fri, 15 Dec 2023 18:31:22 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:62546) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rEHe4-0007Vm-Hr for 66394@debbugs.gnu.org; Fri, 15 Dec 2023 18:31:05 -0500 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 84E6A8027C; Fri, 15 Dec 2023 18:30:58 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1702683057; bh=Nm7YdMYx/9zg4M0I6lvoEPhcLraEuOUwqYq4iUARAb0=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=mFJtbSUlLt5SWuKN+fa7kdjwSH06+UyEzv6QRQtmZfMHiz78E0a4CvSMvn6xSwgGF Dfv+pgUE/2KJGgWheGkUazIKZFAsyHARttzkjcpdOvU6OF75Srxc2gpoVQVMWfZ6/3 PLIX1KscKUXARRoFW8Djr5Cx6tqMNr2OnruQTBAjIDzRA1fGKeYW8f1vdRwYApiz7d zKNtMDnGm441pL8kxYvZdDZyNRnf9KuOB7P+WHsDqEk5KgEZlOqnwpUSZ6YLhvkPdR wErmiF+kjj7FaRfgX49BQCBYO5XS1XHOAb6loJrLTmIpReNzESFZAzP0gC70I+4EUj F6r6CyfcFAUNg== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 16DD080AE9; Fri, 15 Dec 2023 18:30:57 -0500 (EST) Received: from pastel (65-110-221-238.cpe.pppoe.ca [65.110.221.238]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id D224F1202EA; Fri, 15 Dec 2023 18:30:56 -0500 (EST) From: Stefan Monnier In-Reply-To: <87jzpf48k5.fsf@posteo.net> (Thierry Volpiatto's message of "Fri, 15 Dec 2023 18:36:26 +0000") Message-ID: References: <87il7ib6cu.fsf@posteo.net> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87a5qhxf05.fsf@posteo.net> <83jzpkvs4z.fsf@gnu.org> <87v8947ulo.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> <87cyvbepi0.fsf@posteo.net> <87bkavk9nv.fsf@posteo.net> <8eebbb30-9366-e869-a39a-8100638cb99a@gutov.dev> <87o7etgxeb.fsf@posteo.net> <83v891qlcn.fsf@gnu.org> <87r0jn4j8i.fsf@posteo.net> <87jzpf48k5.fsf@posteo.net> Date: Fri, 15 Dec 2023 18:30:56 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL 0.107 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >> - Why did you change from using >> `register--read-with-preview-function` to using >> (default-value 'register--read-with-preview-function) ? >> [ The answer should presumably be in the commit message but >> I couldn't find it there. ] >> >> - Why let-bind `register--read-with-preview-function` >> rather than using a local lexical var? >> [ The answer should probably be in a comment in the code. ] > > To answer to your 1) and 2) questions, I guess what you > suggest is something like this (indeed better): > > diff --git a/lisp/register.el b/lisp/register.el > index 15ed5c0a53b..2444f88794e 100644 > --- a/lisp/register.el > +++ b/lisp/register.el > @@ -429,12 +429,11 @@ Format of each entry is controlled by the variable `register-preview-function'." > Prompt with the string PROMPT. > If `help-char' (or a member of `help-event-list') is pressed, > display such a window regardless." > - (let ((register--read-with-preview-function > - (if (and executing-kbd-macro > - (memq register-use-preview '(nil never))) > - #'register-read-with-preview-basic > - (default-value 'register--read-with-preview-function)))) > - (funcall register--read-with-preview-function prompt))) > + (let ((fn (if (and executing-kbd-macro > + (memq register-use-preview '(nil never))) > + #'register-read-with-preview-basic > + register--read-with-preview-function))) > + (funcall fn prompt))) > > (defun register-read-with-preview-basic (prompt) > "Read and return a register name, possibly showing existing registers. LGTM, thanks. >> - Making the behavior dependent on `executing-kbd-macro` is generally >> undesirable, so it should be accompanied with a comment in the code >> explaining why we need it (with enough detail that someone >> sufficiently motivated could potentially "fix" the code to remove this >> dependency, or alternatively to convince that someone else that this >> dependency is actually desirable here). > > The explanation is in the commit message. Then please move it into a comment in the code. > To resume, when we are not > using RET to exit minibuffer, we use `exit-minibuffer` from the timer > function in minibuffer-setup-hook, BTW when you have a macro using > e.g. "C-x r i, C-n, C-a, C-x r +", "C-n and C-a" are running > immediately BEFORE the minibuffer is exited so they run in minibuffer > and have no effect in your macro that run in current-buffer. > Is such a comment sufficiently explicit? (will add in next patch if so). Sounds good, yes. > If you have a better fix for this I take ;-). I haven't looked enough at the code to have a better suggestion. >From what I see the only way to have a "better fix" would be to forego the use of asynchronous code (i.e. of a timer). I don't know why you're using a timer, but usually people don't use timer just because they're pretty, so I assume you've considered other options already (such as using an `after-change-function` or a `post-command-hook` instead of a timer). [ FWIW, I suspect we have a similar problem in `read-key`. Maybe that's the reason why people refrain from using `read-key`? I can't see any comment in `read-key` mentioning that it doesn't work in kmacros, but indeed it uses a timer just like you do, so it probably fails in the exact same way. ] > The problem with such a fix (as I did) is that we can't have an hybrid > version of preview i.e. one that use RET to confirm overwrite and no RET > for other things. > For example if one add a configuration like below to modify behavior > with *-use-preview == nil the macro will fail to execute properly. You might want to add a short hint about that problem in the comment. > Thanks Stefan for reviewing this. I looked only at the kmacro part (because I thought maybe it had to do with kmacro's use of OClosures), sorry. Stefan From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 16 Dec 2023 13:19:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: michael_heerdegen@web.de, dmitry@gutov.dev, Eli Zaretskii , Stefan Kangas , 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170273273718046 (code B ref 66394); Sat, 16 Dec 2023 13:19:01 +0000 Received: (at 66394) by debbugs.gnu.org; 16 Dec 2023 13:18:57 +0000 Received: from localhost ([127.0.0.1]:54222 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rEUZF-0004gz-26 for submit@debbugs.gnu.org; Sat, 16 Dec 2023 08:18:57 -0500 Received: from mout01.posteo.de ([185.67.36.65]:50969) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rEUZA-0004gd-Ok for 66394@debbugs.gnu.org; Sat, 16 Dec 2023 08:18:55 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 781B224002B for <66394@debbugs.gnu.org>; Sat, 16 Dec 2023 14:18:45 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1702732725; bh=ZwWhlMp4215rw3K/ZOsEbfUWHppKBlxyOZNF9nYcIwg=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=SUQcIERbO/qzUA9z38E5ej5RL/8lQHvbQIYlb7tlrHSg4ZxECxBcuUbARm5w/VM7Q Q4O4XXywVNjX/BqbDHAPZPv3eo24b/rez9APKHcQoWLraFPSsbLvS36R0GYtRDLVTc 0/QMm76cdiVsxA+1wjFySg02V4QUquE83UUJuikDuEtzcNPICehxGpN4wMyoyLF74a ijkA9CjjV7J4MTdVd39gpsOHn161wH6h1p4k5JCYYr4Yo7QJyRk/nn/i3JBwDNs1v1 CREX+ZuImFmdxMze+vXaHgSWdntnQCeEbTc4gyjBvroR98KSDXXo/gOnA3P3tUM7lC TRemGdeR56H3A== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Ssmr22D12z6tmv; Sat, 16 Dec 2023 14:18:41 +0100 (CET) From: Thierry Volpiatto In-Reply-To: (Stefan Monnier's message of "Fri, 15 Dec 2023 18:30:56 -0500 (13 hours, 39 minutes, 21 seconds ago)") References: <87il7ib6cu.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87a5qhxf05.fsf@posteo.net> <83jzpkvs4z.fsf@gnu.org> <87v8947ulo.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> <87cyvbepi0.fsf@posteo.net> <87bkavk9nv.fsf@posteo.net> <8eebbb30-9366-e869-a39a-8100638cb99a@gutov.dev> <87o7etgxeb.fsf@posteo.net> <83v891qlcn.fsf@gnu.org> <87r0jn4j8i.fsf@posteo.net> <87jzpf48k5.fsf@posteo.net> Date: Sat, 16 Dec 2023 13:18:37 +0000 Message-ID: <87plz6xp3m.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Stefan Monnier writes: >>> - Why did you change from using >>> `register--read-with-preview-function` to using >>> (default-value 'register--read-with-preview-function) ? >>> [ The answer should presumably be in the commit message but >>> I couldn't find it there. ] >>> >>> - Why let-bind `register--read-with-preview-function` >>> rather than using a local lexical var? >>> [ The answer should probably be in a comment in the code. ] >> >> To answer to your 1) and 2) questions, I guess what you >> suggest is something like this (indeed better): >> >> diff --git a/lisp/register.el b/lisp/register.el >> index 15ed5c0a53b..2444f88794e 100644 >> --- a/lisp/register.el >> +++ b/lisp/register.el >> @@ -429,12 +429,11 @@ Format of each entry is controlled by the vari= able `register-preview-function'." >> Prompt with the string PROMPT. >> If `help-char' (or a member of `help-event-list') is pressed, >> display such a window regardless." >> - (let ((register--read-with-preview-function >> - (if (and executing-kbd-macro >> - (memq register-use-preview '(nil never))) >> - #'register-read-with-preview-basic >> - (default-value 'register--read-with-preview-function)))) >> - (funcall register--read-with-preview-function prompt))) >> + (let ((fn (if (and executing-kbd-macro >> + (memq register-use-preview '(nil never))) >> + #'register-read-with-preview-basic >> + register--read-with-preview-function))) >> + (funcall fn prompt))) >>=20=20=20=20=20=20 >> (defun register-read-with-preview-basic (prompt) >> "Read and return a register name, possibly showing existing regis= ters. > > LGTM, thanks. > >>> - Making the behavior dependent on `executing-kbd-macro` is generally >>> undesirable, so it should be accompanied with a comment in the code >>> explaining why we need it (with enough detail that someone >>> sufficiently motivated could potentially "fix" the code to remove this >>> dependency, or alternatively to convince that someone else that this >>> dependency is actually desirable here). >> >> The explanation is in the commit message. > > Then please move it into a comment in the code. Done. >> To resume, when we are not >> using RET to exit minibuffer, we use `exit-minibuffer` from the timer >> function in minibuffer-setup-hook, BTW when you have a macro using >> e.g. "C-x r i, C-n, C-a, C-x r +", "C-n and C-a" are running >> immediately BEFORE the minibuffer is exited so they run in minibuffer >> and have no effect in your macro that run in current-buffer. >> Is such a comment sufficiently explicit? (will add in next patch if so). > > Sounds good, yes. > >> If you have a better fix for this I take ;-). > > I haven't looked enough at the code to have a better suggestion. > From what I see the only way to have a "better fix" would be to forego > the use of asynchronous code (i.e. of a timer). I don't know why you're > using a timer, but usually people don't use timer just because they're > pretty, so I assume you've considered other options already (such as > using an `after-change-function` or a `post-command-hook` instead of > a timer). It should be possible to use post-command-hook, I didn't use it because it makes harder the communication between the minibuffer and the preview buffer. > [ FWIW, I suspect we have a similar problem in `read-key`. > Maybe that's the reason why people refrain from using `read-key`? > I can't see any comment in `read-key` mentioning that it doesn't work > in kmacros, but indeed it uses a timer just like you do, so it > probably fails in the exact same way. ] > >> The problem with such a fix (as I did) is that we can't have an hybrid >> version of preview i.e. one that use RET to confirm overwrite and no RET >> for other things. >> For example if one add a configuration like below to modify behavior >> with *-use-preview =3D=3D nil the macro will fail to execute properly. > > You might want to add a short hint about that problem in the comment. Ok, will add this in next patch. >> Thanks Stefan for reviewing this. > > I looked only at the kmacro part (because I thought maybe it had to do > with kmacro's use of OClosures), sorry. Anyway your comments were useful, as always, thanks. =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmV9o60THHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvkweXDAC3keSTLTzWEb4BSJ7wcp29mIZ45k0V XDjvmeXJNXjiBtuUwz0U7crdm7JiP+iqDX4//gupxA1mG8s8igOP0EsAlqsUs/s3 PzIiB6gq81vKmP82Dtxqh/Z2B7iZo7dfkiIaoKYSAzeIkynfBI+iLO5ZzzIa3J/q 2e8iSXS9anGmDUTGvBegcGOeqnoL2k9EQIBT5ASr+pJbThdgK4utR+UBKB/1zE0G e22o1ztChmaocgj4Of272FcJeOljmqGEii5r2nDj+tR2MIcDW4vcM38wNqw02QJL l9xq6Dblzsg6fTpfmDQqD6pQM/n4mqg8rz9oBZv1WqAJXpqo9qrrE7HjSnaakFbi WS8oDmUT2DvrNpLsulpj3nq9gI+l/yFGoWXToe/56dyKyifPW7ixBk4Fu8sALEtV 4BavPJGE7kKltSUGKTsV6zwl1MPMffznXJZXTwMz9s+Qo0hzELA3qJnUnr44HJTT 00ZvQ/W0I42rAOx1wptQ+otbDXLNGtKOiEU= =NQ/J -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 16 Dec 2023 15:08:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto , Stefan Kangas Cc: michael_heerdegen@web.de, Eli Zaretskii , Stefan Monnier , 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.17027392533049 (code B ref 66394); Sat, 16 Dec 2023 15:08:02 +0000 Received: (at 66394) by debbugs.gnu.org; 16 Dec 2023 15:07:33 +0000 Received: from localhost ([127.0.0.1]:55691 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rEWGL-0000n7-Cd for submit@debbugs.gnu.org; Sat, 16 Dec 2023 10:07:33 -0500 Received: from out5-smtp.messagingengine.com ([66.111.4.29]:34607) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rEWGJ-0000mu-76 for 66394@debbugs.gnu.org; Sat, 16 Dec 2023 10:07:32 -0500 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id 6C2BC5C00CF; Sat, 16 Dec 2023 10:07:25 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Sat, 16 Dec 2023 10:07:25 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1702739245; x=1702825645; bh=f8zRGK30PmMQLGWZNB+UKLhaB59rH0k5/ei35mrF4Qs=; b= PiXeA4Dg32ZTlWdzJO+wVoPz8CFlq0dLaH5lwbgHywHJBd7ZJnkE0f8Oo82gSROj j3KnenbjwtlkZttBOCOmxtHi0znxiQ0NCVjSXErZehMoUY/SIy8c8m6vpsFj1dJe Rj8wtq9FhAUswWbjH22ZMIR53l1SMhWgoiiqA/ZDt1FtYMDHWVr4KH6OJaPXv5qK TMCgS3gSRUIN+ZBqbGuQGxqzJdo6iJ47GJ2Or6Slo+hnSh+r8T+epCLQv4TRW3lg 1zgQ8asfZOrl0ld28PO6h1FH9lh+BUatMBYnhXbKDJr7bG0cW3zusn5aww3JlVQp 6zGaWPs2VaYvQxlzxp2aOg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1702739245; x= 1702825645; bh=f8zRGK30PmMQLGWZNB+UKLhaB59rH0k5/ei35mrF4Qs=; b=J sxhsa5migfLZAqKQVpz6tqR4RQ1ZbSZs5h1BLAGB2QbDFHUbNjnsn8ymQl07hnba usY1+LZT+Arns7IB5Eb9IYWCQ6bMyYMeLy5uENJCYzEx7/E6Rd1tNkYLOtzPrerp 1Ros01PRL3GV+qakJrTt6vRUDizoUaKoOUuteH1hibMHhj+xLdUxO4IfiAIUlIIl sKGmpTB6oZJ6qZht/aI0qW5KB4gE2+jg87mP0zZtQehJ2anBYJw7BhjoD1maSpa/ PyS4kRULvyNiAbQaHCQViqPRtNF69qQf9G8wXkgmF77fHMZsuku9v30UG2vTAWYI ASYwIpAQg8KJqvq7/jg5A== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrvddtgedgjeefucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddtfeejnecuhfhrohhmpeffmhhi thhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdruggvvheqnecuggftrfgrth htvghrnhepiefgteevheevveffheeltdeukeeiieekueefgedugfefgefhudelgfefveel vdevnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepug hmihhtrhihsehguhhtohhvrdguvghv X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat, 16 Dec 2023 10:07:23 -0500 (EST) Message-ID: <09edb520-1dd1-e442-f404-cd3f294618c0@gutov.dev> Date: Sat, 16 Dec 2023 17:07:20 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Content-Language: en-US References: <87il7ib6cu.fsf@posteo.net> <83il5pbnmh.fsf@gnu.org> <87zfz1cz7s.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87a5qhxf05.fsf@posteo.net> <83jzpkvs4z.fsf@gnu.org> <87v8947ulo.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> <87cyvbepi0.fsf@posteo.net> <87bkavk9nv.fsf@posteo.net> <8eebbb30-9366-e869-a39a-8100638cb99a@gutov.dev> <87o7etgxeb.fsf@posteo.net> <83v891qlcn.fsf@gnu.org> <87r0jn4j8i.fsf@posteo.net> From: Dmitry Gutov In-Reply-To: <87r0jn4j8i.fsf@posteo.net> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -1.4 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) On 15/12/2023 16:45, Thierry Volpiatto wrote: > In these patches (attached) I also fixed the problem of Dmitri with windows > configuration (let me know if it works), BTW I guess this bug was > already here before these changes. My bad: it is indeed present in Emacs 29 as well. It's still there in the new patches (just tested a couple of times), but since it's not a regression, it might not be your problem to handle. From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 16 Dec 2023 15:33:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: michael_heerdegen@web.de, dmitry@gutov.dev, Eli Zaretskii , Stefan Kangas , 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170274072225576 (code B ref 66394); Sat, 16 Dec 2023 15:33:02 +0000 Received: (at 66394) by debbugs.gnu.org; 16 Dec 2023 15:32:02 +0000 Received: from localhost ([127.0.0.1]:55768 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rEWe1-0006eK-Gr for submit@debbugs.gnu.org; Sat, 16 Dec 2023 10:32:01 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:50317) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rEWdz-0006e0-DB for 66394@debbugs.gnu.org; Sat, 16 Dec 2023 10:31:59 -0500 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 5BA7D100068; Sat, 16 Dec 2023 10:31:53 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1702740712; bh=QIo3v3xmquZK4tkni4Ajh/xZYdE7Pje2yIftY27lhIg=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=XeeR1j2s//SMxGZDr76MZyMbX1u9G2CEZWj5jXxIHoZZucNt+lySWFSi4AuWdMgr6 X9jQ9a4LKinilHntQiZwo72WvIhTtgweER8fGtI/rgiaINwicP1Ec76vpLLyLbAyjQ fyXBWEIVX+/b1fIn9aq7umGAuA040MvRoBli788TZElrEkq9dAsj+mF2vJyVAGgPWr fgjC/1DZzkKgVbv/4AFUiL/hz87KkBnSC/u/c9qkSSqce4dRCpbDiTlZLgR22OhkET zX/y0EfhC1kPyJUZLD0HnnpuNhuZQpiTul9t7UWRbevDabvmWo4OcLOZ6I73/11CQu g/dUfG07it/Cg== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 637E6100033; Sat, 16 Dec 2023 10:31:52 -0500 (EST) Received: from pastel (65-110-221-238.cpe.pppoe.ca [65.110.221.238]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 277EB120E7F; Sat, 16 Dec 2023 10:31:52 -0500 (EST) From: Stefan Monnier In-Reply-To: <87plz6xp3m.fsf@posteo.net> (Thierry Volpiatto's message of "Sat, 16 Dec 2023 13:18:37 +0000") Message-ID: References: <87il7ib6cu.fsf@posteo.net> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87a5qhxf05.fsf@posteo.net> <83jzpkvs4z.fsf@gnu.org> <87v8947ulo.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> <87cyvbepi0.fsf@posteo.net> <87bkavk9nv.fsf@posteo.net> <8eebbb30-9366-e869-a39a-8100638cb99a@gutov.dev> <87o7etgxeb.fsf@posteo.net> <83v891qlcn.fsf@gnu.org> <87r0jn4j8i.fsf@posteo.net> <87jzpf48k5.fsf@posteo.net> <87plz6xp3m.fsf@posteo.net> Date: Sat, 16 Dec 2023 10:31:50 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.032 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > It should be possible to use post-command-hook, I didn't use it because > it makes harder the communication between the minibuffer and the preview > buffer. The patch below seems to work for my extremely limited testing. Stefan diff --git a/lisp/register.el b/lisp/register.el index fa4bbcf483f..31466a42b0a 100644 --- a/lisp/register.el +++ b/lisp/register.el @@ -328,7 +328,7 @@ register-read-with-preview m)) (data (register-command-info this-command)) (enable-recursive-minibuffers t) - types msg result timer act win strs smatch) + types msg result act win strs smatch) (if data (setq types (register-preview-info-types data) msg (register-preview-info-msg data) @@ -360,9 +360,7 @@ register-read-with-preview (progn (minibuffer-with-setup-hook (lambda () - (setq timer - (run-with-idle-timer - 0.01 'repeat + (add-hook 'post-command-hook (lambda () (with-selected-window (minibuffer-window) (let ((input (minibuffer-contents))) @@ -408,13 +406,13 @@ register-read-with-preview ;; jump, don't ask for confirmation ;; and exit immediately (bug#66394). (setq result pat) - (exit-minibuffer))))))))) + (exit-minibuffer)))))) + nil 'local)) (setq result (read-from-minibuffer prompt nil map nil nil (register-preview-get-defaults act)))) (cl-assert (and result (not (string= result ""))) nil "No register specified") (string-to-char result)) - (when timer (cancel-timer timer)) (let ((w (get-buffer-window buf))) (and (window-live-p w) (delete-window w))) (and (get-buffer buf) (kill-buffer buf))))) From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 16 Dec 2023 20:21:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Dmitry Gutov Cc: michael_heerdegen@web.de, Eli Zaretskii , 66394@debbugs.gnu.org, Stefan Kangas , Stefan Monnier Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170275805820780 (code B ref 66394); Sat, 16 Dec 2023 20:21:02 +0000 Received: (at 66394) by debbugs.gnu.org; 16 Dec 2023 20:20:58 +0000 Received: from localhost ([127.0.0.1]:56126 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rEb9e-0005P5-Cp for submit@debbugs.gnu.org; Sat, 16 Dec 2023 15:20:58 -0500 Received: from mout02.posteo.de ([185.67.36.66]:49385) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rEb9a-0005Oq-0p for 66394@debbugs.gnu.org; Sat, 16 Dec 2023 15:20:57 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 9C6F5240103 for <66394@debbugs.gnu.org>; Sat, 16 Dec 2023 21:20:47 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1702758047; bh=3ozr/PvarmHihhT8etEc3cURJld641KPD1rQd3jhn8s=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=aLXFxFhrvTWf9IhuHvvfUH4VeJMwfe9gfbvev31J2pRNInIgpKSD1CJaCiV2HOwoc k6uZ/maftqtZ3k5jOgEInXn6GtHHp4Fkwmec2tloW2bKjpbt7QyjLmL87RpfTbmZVa Wxe7YfkWetKDa4cwL21TIQMZqfLQcTXiyl4v12Hptj2P56LJ5z2W7Qn58Qha4QQI9a uLmMmh+kwqJmW/VJxKU4iTxIACH/7skwNDaHT99X9MuVjuIg2YT9iBHneE2xOcd8Et 93NNPhUw1CK4pEV27yPrHLsU29Ws7kJ0jJNqX3UBrChd61A3xdSEtcVst0sSUwN4hd 9aXq7l0big6QA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4SsyC144Xcz6twM; Sat, 16 Dec 2023 21:20:45 +0100 (CET) From: Thierry Volpiatto In-Reply-To: <09edb520-1dd1-e442-f404-cd3f294618c0@gutov.dev> (Dmitry Gutov's message of "Sat, 16 Dec 2023 17:07:20 +0200 (5 hours, 10 minutes, 17 seconds ago)") References: <87il7ib6cu.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87a5qhxf05.fsf@posteo.net> <83jzpkvs4z.fsf@gnu.org> <87v8947ulo.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> <87cyvbepi0.fsf@posteo.net> <87bkavk9nv.fsf@posteo.net> <8eebbb30-9366-e869-a39a-8100638cb99a@gutov.dev> <87o7etgxeb.fsf@posteo.net> <83v891qlcn.fsf@gnu.org> <87r0jn4j8i.fsf@posteo.net> <09edb520-1dd1-e442-f404-cd3f294618c0@gutov.dev> Date: Sat, 16 Dec 2023 20:20:40 +0000 Message-ID: <87y1dtucfb.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Dmitry Gutov writes: > On 15/12/2023 16:45, Thierry Volpiatto wrote: >> In these patches (attached) I also fixed the problem of Dmitri with wind= ows >> configuration (let me know if it works), BTW I guess this bug was >> already here before these changes. > > My bad: it is indeed present in Emacs 29 as well. > > It's still there in the new patches (just tested a couple of times), Really? I tested it from emacs -Q with your recipe and it was working. Hmm, I will try again as soon as possible. > but since it's not a regression, it might not be your problem to > handle. Yes indeed, but while we are at it, if we can fix it it is better. Thanks. =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmV+BpkTHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvk2BwC/4ms6v4KU/mowi4CBTEKRekdNYtcigt qQwAMTxw/yvz7krKujOp0RT9cZfjSTSSteSDWv5FyV1dNjrkRaj3YTv5isBrci5v R+cHbXGs+2zeT7DN+rWDZt0+KRbetclsDxjy7cnjZrN82c107C9d9JxJnJOe8Iy1 Au0DctkjUIwoZkQB4FP/lSvqSqlOEwaqKwzoCvO7HqLXy5yyoSCZDbM1ZV7bSlui wqwz97ZoN1qKKizIsN8zmppxT0LrrhUyu997ha1UMU1wwFrqxzg0LAVqNwOHdBeg qQPANd2FQvFk811DAtSerKP8w1SoyfGRhKJ6QQzCYyRDhQXggSv8Gu07Ixq/cynF yiwJL2RKwhUPMP7G7rT49ywiE0S+L/uA+4+4gZTXIYWWB3qEbiLC+OaN2sL/bby5 V9fwgEDMmBgP/M4xrwExhyVJE+9+zC1GF+gM2BESOPXUYBE3GNGhT4O6on4TRJf/ 0kmL16XUxnyRhgiZ4zbX7DcxFZa4Hd7zPss= =fBFq -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 16 Dec 2023 20:41:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: michael_heerdegen@web.de, dmitry@gutov.dev, Eli Zaretskii , Stefan Kangas , 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170275920232582 (code B ref 66394); Sat, 16 Dec 2023 20:41:02 +0000 Received: (at 66394) by debbugs.gnu.org; 16 Dec 2023 20:40:02 +0000 Received: from localhost ([127.0.0.1]:56155 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rEbS4-0008TF-IK for submit@debbugs.gnu.org; Sat, 16 Dec 2023 15:40:02 -0500 Received: from mout01.posteo.de ([185.67.36.65]:50423) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rEbS0-0008Sx-U4 for 66394@debbugs.gnu.org; Sat, 16 Dec 2023 15:39:59 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 10DB824002A for <66394@debbugs.gnu.org>; Sat, 16 Dec 2023 21:39:49 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1702759190; bh=E9nYrO6LmSj1wpWHksCETrwGbpjUHIHNcYfFI/Adgxo=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=gzn+z1zixBE2qsMpq/7WbgHZ3DFRz29pwUMq+hm3ZoBzecNmShq6YRqK0Z/RlDrTy N5vGZRc7+aR3TlXtNAjGLJz7CPlWUcnWqK1kJp4HdSC3qUAX5552Foiil57B9n/aoH neWGF5jX+FGeFBfKVdbxCQsiWtkoWW6WYWEbLyT0gz/Wicvmrpzzdzk9YpRDj7EZsc /lyla3EdxeZewLaq0QIxN5NsyhgxrR6QSwaMlf+4m6ISc9Xlyi/RPusac1t+m4jbgZ +TXqIBgdID8LOLWIXJI5g44z1MMg3+TFaiFpa/1r3FJkk1GCqJgP/LZv3PmX7Lh2ou hhXK0YHfmstug== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Ssycz1yM6z6tmv; Sat, 16 Dec 2023 21:39:47 +0100 (CET) From: Thierry Volpiatto In-Reply-To: (Stefan Monnier's message of "Sat, 16 Dec 2023 10:31:50 -0500 (5 hours, 1 minute, 26 seconds ago)") References: <87il7ib6cu.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87a5qhxf05.fsf@posteo.net> <83jzpkvs4z.fsf@gnu.org> <87v8947ulo.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> <87cyvbepi0.fsf@posteo.net> <87bkavk9nv.fsf@posteo.net> <8eebbb30-9366-e869-a39a-8100638cb99a@gutov.dev> <87o7etgxeb.fsf@posteo.net> <83v891qlcn.fsf@gnu.org> <87r0jn4j8i.fsf@posteo.net> <87jzpf48k5.fsf@posteo.net> <87plz6xp3m.fsf@posteo.net> Date: Sat, 16 Dec 2023 20:39:44 +0000 Message-ID: <87sf41ubjj.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Stefan Monnier writes: >> It should be possible to use post-command-hook, I didn't use it because >> it makes harder the communication between the minibuffer and the preview >> buffer. > > The patch below seems to work for my extremely limited testing. Here the serie of patches with your patch included. Let me know if the commit is incorrect (patch 0004). I will test this extensively next week, too tired now to do something useful. Thanks. =2D-=20 Thierry --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-Don-t-confirm-with-RET-even-when-overwriting-in-regi.patch Content-Transfer-Encoding: quoted-printable From=20f28f38f51af62325213bdf7c9e85ee031b405f4c Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Mon, 11 Dec 2023 07:02:40 +0100 Subject: [PATCH 1/4] Don't confirm with RET even when overwriting in regist= er commands This happen when register-use-preview is nil or never. This reproduce what we had previously in 29.1 but with filtering in the preview and default registers are provided for the commands of type 'set'. This is implemented with cl-defmethod to keep the code as much as possible configurable. * lisp/register.el (register-preview-info): New slot. (register-command-info): Add new methods for copy-to-register, point-to-register, number-to-register, window-configuration-to-register, frameset-to-register and copy-rectangle-to-register. (register-read-with-preview): Bind noconfirm. =2D-- lisp/register.el | 67 ++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 56 insertions(+), 11 deletions(-) diff --git a/lisp/register.el b/lisp/register.el index ef529cd67e5..cd6f2861315 100644 =2D-- a/lisp/register.el +++ b/lisp/register.el @@ -156,7 +156,7 @@ TYPES are the types of register supported. MSG is the minibuffer message to send when a register is selected. ACT is the type of action the command is doing on register. SMATCH accept a boolean value to say if command accept non matching regist= er." =2D types msg act smatch) + types msg act smatch noconfirm) =20 (cl-defgeneric register-command-info (command) "Returns a `register-preview-info' object storing data for COMMAND." @@ -179,24 +179,66 @@ SMATCH accept a boolean value to say if command accep= t non matching register." :types '(all) :msg "View register `%s'" :act 'view + :noconfirm (memq register-use-preview '(nil never)) :smatch t)) (cl-defmethod register-command-info ((_command (eql append-to-register))) (make-register-preview-info :types '(string number) :msg "Append to register `%s'" :act 'modify + :noconfirm (memq register-use-preview '(nil never)) :smatch t)) (cl-defmethod register-command-info ((_command (eql prepend-to-register))) (make-register-preview-info :types '(string number) :msg "Prepend to register `%s'" :act 'modify + :noconfirm (memq register-use-preview '(nil never)) :smatch t)) (cl-defmethod register-command-info ((_command (eql increment-register))) (make-register-preview-info :types '(string number) :msg "Increment register `%s'" :act 'modify + :noconfirm (memq register-use-preview '(nil never)) + :smatch t)) +(cl-defmethod register-command-info ((_command (eql copy-to-register))) + (make-register-preview-info + :types '(all) + :msg "Copy to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-command-info ((_command (eql point-to-register))) + (make-register-preview-info + :types '(all) + :msg "Point to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-command-info ((_command (eql number-to-register))) + (make-register-preview-info + :types '(all) + :msg "Number to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-command-info + ((_command (eql window-configuration-to-register))) + (make-register-preview-info + :types '(all) + :msg "Window configuration to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-command-info ((_command (eql frameset-to-register))) + (make-register-preview-info + :types '(all) + :msg "Frameset to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-command-info ((_command (eql copy-rectangle-to-regi= ster))) + (make-register-preview-info + :types '(all) + :msg "Copy rectangle to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)) :smatch t)) =20 (defun register-preview-forward-line (arg) @@ -328,12 +370,13 @@ display such a window regardless." m)) (data (register-command-info this-command)) (enable-recursive-minibuffers t) =2D types msg result timer act win strs smatch) + types msg result timer act win strs smatch noconfirm) (if data =2D (setq types (register-preview-info-types data) =2D msg (register-preview-info-msg data) =2D act (register-preview-info-act data) =2D smatch (register-preview-info-smatch data)) + (setq types (register-preview-info-types data) + msg (register-preview-info-msg data) + act (register-preview-info-act data) + smatch (register-preview-info-smatch data) + noconfirm (register-preview-info-noconfirm data)) (setq types '(all) msg "Overwrite register `%s'" act 'set)) @@ -405,13 +448,15 @@ display such a window regardless." "Register `%s' is empty" pat)))))) (unless (string=3D pat "") (with-selected-window (minibuffer-window) =2D (if (and (member pat strs) (memq act '(s= et modify))) + (if (and (member pat strs) + (memq act '(set modify)) + (null noconfirm)) (with-selected-window (minibuffer-wind= ow) (minibuffer-message msg pat)) =2D ;; An empty register or an existing =2D ;; one but the action is insert or =2D ;; jump, don't ask for confirmation =2D ;; and exit immediately (bug#66394). + ;; The action is insert or + ;; jump or noconfirm is specifed + ;; explicitely, don't ask for + ;; confirmation and exit immediately (bu= g#66394). (setq result pat) (exit-minibuffer))))))))) (setq result (read-from-minibuffer =2D-=20 2.34.1 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0002-Provide-emacs-29-behavior-for-register-preview.patch Content-Transfer-Encoding: quoted-printable From=2099cb6d4d1e85b85a60e26ddc22a54a0a9b029d43 Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Tue, 12 Dec 2023 07:24:32 +0100 Subject: [PATCH 2/4] Provide emacs-29 behavior for register-preview It is now the default with a value of register-use-preview eq to basic. To change this one have now to customize register-use-preview to another value. * lisp/register.el (register-preview-delay): Remove obsolescence. (register--read-with-preview-function): New. (register-use-preview): New option basic, it is now the default. (register-preview-default-1): New the register-preview-default used by `register-read-with-preview-fancy`. (register-preview-default): Restored (same as Emacs-29). (register--preview-function): Generic fn that return the right function for register--preview-function. (register-preview): Restored (same behavior as Emacs-29). (register-preview-1): Used by `register-read-with-preview-fancy'. (register-read-with-preview-basic): The old register-read-with-preview. (register-read-with-preview-fancy): The new register-read-with-preview. =2D-- lisp/register.el | 156 +++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 132 insertions(+), 24 deletions(-) diff --git a/lisp/register.el b/lisp/register.el index cd6f2861315..8f0c6a7105d 100644 =2D-- a/lisp/register.el +++ b/lisp/register.el @@ -100,25 +100,55 @@ If nil, do not show register previews, unless `help-c= har' (or a member of :version "24.4" :type '(choice number (const :tag "No preview unless requested" nil)) :group 'register) =2D(make-obsolete-variable 'register-preview-delay "No longer used." "30.1") =20 (defcustom register-preview-default-keys (mapcar #'string (number-sequence= ?a ?z)) "Default keys for setting a new register." =2D :type '(repeat string)) =2D =2D(defcustom register-use-preview t =2D "Whether to show preview of registers. =2D =2DIf the value is t, show a preview buffer with navigation and highlightin= g. =2DIf the value is nil, show a basic preview buffer and exit minibuffer =2Dimmediately after the register name is inserted into minibuffer. =2DIf the value is \\=3D'never, behave as for nil, but with no preview buff= er =2Dat all." + :type '(repeat string) + :version 30.1) + +(defvar register--read-with-preview-function nil + "The register read preview function to use. +Two functions are provided, one that provide navigation and +highlighting of the register selected, filtering of register +according to command in use, defaults register to use when +setting a new register, confirmation and notification when you +are about to overwrite a register and generic functions to +configure how each existing commands behave. The other function +provided is the same as what was used in Emacs-29, no filtering, +no navigation, no defaults.") + +(defvar register-preview-function nil + "Function to format a register for previewing. +Called with one argument, a cons (NAME . CONTENTS) as found in `register-a= list'. +The function should return a string, the description of the argument. +It is set according to the value of `register--read-with-preview-function'= .") + +(defcustom register-use-preview 'basic + "Maybe show register preview. + +This has no effect when `register--read-with-preview-function' value +is `register-read-with-preview-basic'. + +When set to `t' show a preview buffer with navigation and highlighting. +When nil show a basic preview buffer and exit minibuffer +immediately after insertion in minibuffer. +When set to \\=3D'never behave as above but with no preview buffer at +all. +When set to \\=3D'basic provide a much more basic preview according to +`register-preview-delay', it has the exact same behavior as in Emacs-29." :type '(choice (const :tag "Use preview" t) (const :tag "Use quick preview" nil) =2D (const :tag "Never use preview" never)) =2D :version "30.1") + (const :tag "Never use preview" never) + (const :tag "Basic preview like Emacs-29" basic)) + :version 30.1 + :set (lambda (var val) + (set var val) + (setq register--read-with-preview-function + (if (eq val 'basic) + #'register-read-with-preview-basic + #'register-read-with-preview-fancy)) + (setq register-preview-function nil))) =20 (defun get-register (register) "Return contents of Emacs register named REGISTER, or nil if none." @@ -138,17 +168,28 @@ See the documentation of the variable `register-alist= ' for possible VALUEs." (substring d (match-end 0)) d))) =20 =2D(defun register-preview-default (r) +(defun register-preview-default-1 (r) "Function that is the default value of the variable `register-preview-fu= nction'." (format "%s: %s\n" (propertize (string (car r)) 'display (single-key-description (car r))) (register-describe-oneline (car r)))) =20 =2D(defvar register-preview-function #'register-preview-default =2D "Function to format a register for previewing. =2DCalled with one argument, a cons (NAME . CONTENTS) as found in `register= -alist'. =2DThe function should return a string, the description of the argument.") +(defun register-preview-default (r) + "Function that is the default value of the variable `register-preview-fu= nction'." + (format "%s: %s\n" + (single-key-description (car r)) + (register-describe-oneline (car r)))) + +(cl-defgeneric register--preview-function (read-preview-function) + "Returns a function to format a register for previewing. +This according to the value of READ-PREVIEW-FUNCTION.") +(cl-defmethod register--preview-function ((_read-preview-function + (eql register-read-with-preview= -basic))) + #'register-preview-default) +(cl-defmethod register--preview-function ((_read-preview-function + (eql register-read-with-preview= -fancy))) + #'register-preview-default-1) =20 (cl-defstruct register-preview-info "Store data for a specific register command. @@ -310,9 +351,9 @@ satisfy `cl-typep' otherwise the new type should be def= ined with (cl-defmethod register--type ((_regval string)) 'string) (cl-defmethod register--type ((_regval number)) 'number) (cl-defmethod register--type ((_regval marker)) 'marker) =2D(cl-defmethod register--type ((_regval (eql 'buffer))) 'buffer) =2D(cl-defmethod register--type ((_regval (eql 'file))) 'file) =2D(cl-defmethod register--type ((_regval (eql 'file-query))) 'file-query) +(cl-defmethod register--type ((_regval (eql buffer))) 'buffer) +(cl-defmethod register--type ((_regval (eql file))) 'file) +(cl-defmethod register--type ((_regval (eql file-query))) 'file-query) (cl-defmethod register--type ((_regval window-configuration)) 'window) (cl-deftype frame-register () '(satisfies frameset-register-p)) (cl-defmethod register--type :extra "frame-register" (_regval) 'frame) @@ -327,12 +368,39 @@ satisfy `cl-typep' otherwise the new type should be d= efined with when (memq (register-type register) types) collect register))) =20 =2D(defun register-preview (buffer &optional show-empty types) +(defun register-preview (buffer &optional show-empty) "Pop up a window showing the registers preview in BUFFER. If SHOW-EMPTY is non-nil, show the window even if no registers. +Format of each entry is controlled by the variable `register-preview-funct= ion'." + (unless register-preview-function + (setq register-preview-function (register--preview-function + register--read-with-preview-function)= )) + (when (or show-empty (consp register-alist)) + (with-current-buffer-window + buffer + (cons 'display-buffer-below-selected + '((window-height . fit-window-to-buffer) + (preserve-size . (nil . t)))) + nil + (with-current-buffer standard-output + (setq cursor-in-non-selected-windows nil) + (mapc (lambda (elem) + (when (get-register (car elem)) + (insert (funcall register-preview-function elem)))) + register-alist))))) + +(defun register-preview-1 (buffer &optional show-empty types) + "Pop up a window showing the registers preview in BUFFER. + +This is the preview function use with +`register-read-with-preview-fancy' function. +If SHOW-EMPTY is non-nil, show the window even if no registers. Argument TYPES (a list) specify the types of register to show, when nil sh= ow all registers, see `register-type' for suitable types. Format of each entry is controlled by the variable `register-preview-funct= ion'." + (unless register-preview-function + (setq register-preview-function (register--preview-function + register--read-with-preview-function)= )) (let ((registers (register-of-type-alist (or types '(all))))) (when (or show-empty (consp registers)) (with-current-buffer-window @@ -360,6 +428,46 @@ Format of each entry is controlled by the variable `re= gister-preview-function'." "Read and return a register name, possibly showing existing registers. Prompt with the string PROMPT. If `help-char' (or a member of `help-event-list') is pressed, +display such a window regardless." + (funcall register--read-with-preview-function prompt)) + +(defun register-read-with-preview-basic (prompt) + "Read and return a register name, possibly showing existing registers. +Prompt with the string PROMPT. If `register-alist' and +`register-preview-delay' are both non-nil, display a window +listing existing registers after `register-preview-delay' seconds. +If `help-char' (or a member of `help-event-list') is pressed, +display such a window regardless." + (let* ((buffer "*Register Preview*") + (timer (when (numberp register-preview-delay) + (run-with-timer register-preview-delay nil + (lambda () + (unless (get-buffer-window buffer) + (register-preview buffer)))))) + (help-chars (cl-loop for c in (cons help-char help-event-list) + when (not (get-register c)) + collect c))) + (unwind-protect + (progn + (while (memq (read-key (propertize prompt 'face 'minibuffer-prompt)) + help-chars) + (unless (get-buffer-window buffer) + (register-preview buffer 'show-empty))) + (when (or (eq ?\C-g last-input-event) + (eq 'escape last-input-event) + (eq ?\C-\[ last-input-event)) + (keyboard-quit)) + (if (characterp last-input-event) last-input-event + (error "Non-character input-event"))) + (and (timerp timer) (cancel-timer timer)) + (let ((w (get-buffer-window buffer))) + (and (window-live-p w) (delete-window w))) + (and (get-buffer buffer) (kill-buffer buffer))))) + +(defun register-read-with-preview-fancy (prompt) + "Read and return a register name, possibly showing existing registers. +Prompt with the string PROMPT. +If `help-char' (or a member of `help-event-list') is pressed, display such a window regardless." (let* ((buffer "*Register Preview*") (buffer1 "*Register quick preview*") @@ -392,13 +500,13 @@ display such a window regardless." ;; Do nothing when buffer1 is in use. (unless (get-buffer-window buf) (with-selected-window (minibuffer-selected-window) =2D (register-preview buffer 'show-empty types)))= ))) + (register-preview-1 buffer 'show-empty types)))= ))) (define-key map (kbd "") 'register-preview-next) (define-key map (kbd "") 'register-preview-previous) (define-key map (kbd "C-n") 'register-preview-next) (define-key map (kbd "C-p") 'register-preview-previous) (unless (or executing-kbd-macro (eq register-use-preview 'never)) =2D (register-preview buf nil types)) + (register-preview-1 buf nil types)) (unwind-protect (progn (minibuffer-with-setup-hook =2D-=20 2.34.1 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0003-Save-and-restore-win-confs-after-register-commands.patch Content-Transfer-Encoding: quoted-printable From=206a15a8b7b795b8377ef3537dc7bbd5ba26c0e159 Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Thu, 14 Dec 2023 16:23:26 +0100 Subject: [PATCH 3/4] Save and restore win confs after register commands When several windows are open, the register preview may eat other windows and break the current window configuration. * lisp/register.el (register-read-with-preview-fancy): Do it. =2D-- lisp/register.el | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lisp/register.el b/lisp/register.el index 8f0c6a7105d..1fadbe81056 100644 =2D-- a/lisp/register.el +++ b/lisp/register.el @@ -473,6 +473,7 @@ display such a window regardless." (buffer1 "*Register quick preview*") (buf (if register-use-preview buffer buffer1)) (pat "") + (winconf (current-window-configuration)) (map (let ((m (make-sparse-keymap))) (set-keymap-parent m minibuffer-local-map) m)) @@ -573,6 +574,7 @@ display such a window regardless." nil "No register specified") (string-to-char result)) (when timer (cancel-timer timer)) + (set-window-configuration winconf) (let ((w (get-buffer-window buf))) (and (window-live-p w) (delete-window w))) (and (get-buffer buf) (kill-buffer buf))))) =2D-=20 2.34.1 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0004-Fix-issue-with-register-commands-in-kmacro.patch Content-Transfer-Encoding: quoted-printable From=2084dac0537fb033c51f86c6920f2cc6b086632331 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Sat, 16 Dec 2023 21:25:08 +0100 Subject: [PATCH 4/4] Fix issue with register commands in kmacro Using post-command-hook in minibuffer-setup-hook instead of a timer allow running exit-minibuffer without delay and ensure the serie of commands used in a kmacro run synchronously. * lisp/register.el (register-read-with-preview-fancy): Do it. =2D-- lisp/register.el | 112 +++++++++++++++++++++++------------------------ 1 file changed, 55 insertions(+), 57 deletions(-) diff --git a/lisp/register.el b/lisp/register.el index 1fadbe81056..8dffb301c0e 100644 =2D-- a/lisp/register.el +++ b/lisp/register.el @@ -512,68 +512,66 @@ display such a window regardless." (progn (minibuffer-with-setup-hook (lambda () =2D (setq timer =2D (run-with-idle-timer =2D 0.01 'repeat =2D (lambda () =2D (with-selected-window (minibuffer-window) =2D (let ((input (minibuffer-contents))) =2D (when (> (length input) 1) =2D (let ((new (substring input 1)) =2D (old (substring input 0 1))) =2D (setq input (if (or (null smatch) =2D (member new strs)) =2D new old)) =2D (delete-minibuffer-contents) =2D (insert input))) =2D (when (and smatch (not (string=3D input ""= )) =2D (not (member input strs))) =2D (setq input "") =2D (delete-minibuffer-contents) =2D (minibuffer-message "Not matching")) =2D (when (not (string=3D input pat)) =2D (setq pat input)))) =2D (if (setq win (get-buffer-window buffer)) =2D (with-selected-window win =2D (let ((ov (make-overlay =2D (point-min) (point-min))) =2D ;; Allow upper-case and =2D ;; lower-case letters to refer =2D ;; to different registers. =2D (case-fold-search nil)) =2D (goto-char (point-min)) =2D (remove-overlays) =2D (unless (string=3D pat "") =2D (if (re-search-forward (concat "^" p= at) nil t) =2D (progn (move-overlay =2D ov =2D (match-beginning 0) (pos= -eol)) =2D (overlay-put ov 'face 'ma= tch) =2D (when msg =2D (with-selected-window (= minibuffer-window) =2D (minibuffer-message m= sg pat)))) =2D (with-selected-window (minibuffer-= window) =2D (minibuffer-message =2D "Register `%s' is empty" pat)))= ))) =2D (unless (string=3D pat "") =2D (with-selected-window (minibuffer-window) =2D (if (and (member pat strs) =2D (memq act '(set modify)) =2D (null noconfirm)) =2D (with-selected-window (minibuffer-wi= ndow) =2D (minibuffer-message msg pat)) =2D ;; The action is insert or =2D ;; jump or noconfirm is specifed =2D ;; explicitely, don't ask for =2D ;; confirmation and exit immediately (= bug#66394). =2D (setq result pat) =2D (exit-minibuffer))))))))) + (add-hook 'post-command-hook + (lambda () + (with-selected-window (minibuffer-window) + (let ((input (minibuffer-contents))) + (when (> (length input) 1) + (let ((new (substring input 1)) + (old (substring input 0 1))) + (setq input (if (or (null smatch) + (member new strs)) + new old)) + (delete-minibuffer-contents) + (insert input))) + (when (and smatch (not (string=3D input "= ")) + (not (member input strs))) + (setq input "") + (delete-minibuffer-contents) + (minibuffer-message "Not matching")) + (when (not (string=3D input pat)) + (setq pat input)))) + (if (setq win (get-buffer-window buffer)) + (with-selected-window win + (let ((ov (make-overlay + (point-min) (point-min))) + ;; Allow upper-case and + ;; lower-case letters to refer + ;; to different registers. + (case-fold-search nil)) + (goto-char (point-min)) + (remove-overlays) + (unless (string=3D pat "") + (if (re-search-forward (concat "^" = pat) nil t) + (progn (move-overlay + ov + (match-beginning 0) (po= s-eol)) + (overlay-put ov 'face 'm= atch) + (when msg + (with-selected-window = (minibuffer-window) + (minibuffer-message = msg pat)))) + (with-selected-window (minibuffer= -window) + (minibuffer-message + "Register `%s' is empty" pat))= )))) + (unless (string=3D pat "") + (with-selected-window (minibuffer-window) + (if (and (member pat strs) + (memq act '(set modify)) + (null noconfirm)) + (with-selected-window (minibuffer-w= indow) + (minibuffer-message msg pat)) + ;; The action is insert or + ;; jump or noconfirm is specifed + ;; explicitely, don't ask for + ;; confirmation and exit immediately = (bug#66394). + (setq result pat) + (exit-minibuffer)))))) + nil 'local)) (setq result (read-from-minibuffer prompt nil map nil nil (register-preview-get-de= faults act)))) (cl-assert (and result (not (string=3D result ""))) nil "No register specified") (string-to-char result)) =2D (when timer (cancel-timer timer)) (set-window-configuration winconf) (let ((w (get-buffer-window buf))) (and (window-live-p w) (delete-window w))) =2D-=20 2.34.1 --=-=-=-- --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmV+CxATHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvk68HDAChkmKnkWGxpGljdsXVclGtEO+QL4Wz a/XYpm6bBUJmxejcDXGAbB+k2l/+HlT0bx5LY41fbm/5Ao5qF8ci9yFrJcFf0Fm1 mb7+fjEqwhzJkJWHbdfbZKxG3rsrNdRUCkpIUBV7Wqrdj7qNF7Vo1SZICV1TE7eQ NGyn+qGsmuUoozNMzFpwzkXKBm+JrKYQjCsvnzbSOMDmBv22wcGMzQ+w/8GyFuJJ 1WKtCJfR6Ohefpp/pjPhEuPLpDjKvdtEYHCGUGL+0G8nMEPaAMEukoIwbbkEhiIw BpQ+cslH554YIewMOWkyN0xlWaLzwVfatkHyHUz36gto2PONNO348ZGj2CB3z3oW WgpCqXNYZCHqSgsZZzrBVnL9vcUR+UkGzcw12D7vAEowHL3ij9uJynfvPk/G/8Q2 jBLF8ymRvUKcFAQYnrPGQ2WC1xhW/CE1SqAtYphjzZZELnLdcqfbqMyvO+XVH1Pj c9k0feY8QGEvFaFDhkIz7N3vHuCGldilkMQ= =XFlF -----END PGP SIGNATURE----- --==-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 16 Dec 2023 23:29:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: michael_heerdegen@web.de, Eli Zaretskii , 66394@debbugs.gnu.org, Stefan Kangas , Stefan Monnier Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170276930031837 (code B ref 66394); Sat, 16 Dec 2023 23:29:02 +0000 Received: (at 66394) by debbugs.gnu.org; 16 Dec 2023 23:28:20 +0000 Received: from localhost ([127.0.0.1]:56335 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rEe4x-0008HQ-Jl for submit@debbugs.gnu.org; Sat, 16 Dec 2023 18:28:19 -0500 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:48225) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rEe4s-0008H8-Dz for 66394@debbugs.gnu.org; Sat, 16 Dec 2023 18:28:18 -0500 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id 5408D5C00E0; Sat, 16 Dec 2023 18:28:08 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Sat, 16 Dec 2023 18:28:08 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1702769288; x=1702855688; bh=ib9QNiw6an+4f9CGX41KdUYDPxtaheYAmssRgC5oK7I=; b= CHCSmVgNEl8E4YW282ObSmWdOOPotOb63JNk3uHPViH8/i+447F/Uqvf+0df0r6w jwPL9PK6BiiaU2snAEgpQVxqKWEepbnl4X893sg6MhRcH7bHvusp3DvVxMgTpY6I MlYe+WG5i0lXvK5ta6znH9h/vfvNsP+C1nZ49hYJ10vZRboAWfr/aThgujdMNOfP XJR2RvDnEhp7MzPnSxHHLqPeyD/hTQsqUrcb07O2zkR/VnItC5VhErUV3fEuSC1k i8mdwnCfMuTcd8d8bRVa9RqEtCnlTQo4fh8fPX/Qym4NLk24X9CfRGwmJFDT6p0g KybURI+A/p6CkqlsmFvQAw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1702769288; x= 1702855688; bh=ib9QNiw6an+4f9CGX41KdUYDPxtaheYAmssRgC5oK7I=; b=F 1dUEDb8srnaV+dd/yQ1+ZabUIvQywJdKrePhemA0F0LbkW0AjEWudzKvJ9E2JEqY ZJMuNu9FU/O3VJBsNWhu7e/kYWJqo3s3rol/Z/xcNWQqHd35EiAxVWXzV4oC/Eu5 GFP0FCLavvEHfMMSUtk4ZXeMfCUSWiiyAILV/FiKI7D0evF92lg4K3WEMH0ZpWwM +TPfARWkfXfZXUeRm/k6lptmbA7prg8xGyuvMuO131BJHS9hl8kVJtV4I0PpiQ64 McalPLKcjIBoQi2OKRJ/9mQbIqlwQudwHnLFSxgcG4Pd1LxqerY3SevrIbynEqL6 mUIcTtvytLlP5eWbBXxMg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrvddthedgudduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddtfeejnecuhfhrohhmpeffmhhi thhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdruggvvheqnecuggftrfgrth htvghrnhepiefgteevheevveffheeltdeukeeiieekueefgedugfefgefhudelgfefveel vdevnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepug hmihhtrhihsehguhhtohhvrdguvghv X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat, 16 Dec 2023 18:28:06 -0500 (EST) Message-ID: Date: Sun, 17 Dec 2023 01:28:04 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Content-Language: en-US References: <87il7ib6cu.fsf@posteo.net> <83bkbc7j1o.fsf@gnu.org> <8734wov2wv.fsf@posteo.net> <83v89j6arv.fsf@gnu.org> <87cyvpf8y6.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87a5qhxf05.fsf@posteo.net> <83jzpkvs4z.fsf@gnu.org> <87v8947ulo.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> <87cyvbepi0.fsf@posteo.net> <87bkavk9nv.fsf@posteo.net> <8eebbb30-9366-e869-a39a-8100638cb99a@gutov.dev> <87o7etgxeb.fsf@posteo.net> <83v891qlcn.fsf@gnu.org> <87r0jn4j8i.fsf@posteo.net> <09edb520-1dd1-e442-f404-cd3f294618c0@gutov.dev> <87y1dtucfb.fsf@posteo.net> From: Dmitry Gutov In-Reply-To: <87y1dtucfb.fsf@posteo.net> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -1.4 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) On 16/12/2023 22:20, Thierry Volpiatto wrote: > Dmitry Gutov writes: > >> On 15/12/2023 16:45, Thierry Volpiatto wrote: >>> In these patches (attached) I also fixed the problem of Dmitri with windows >>> configuration (let me know if it works), BTW I guess this bug was >>> already here before these changes. >> My bad: it is indeed present in Emacs 29 as well. >> >> It's still there in the new patches (just tested a couple of times), > Really? I tested it from emacs -Q with your recipe and it was working. > Hmm, I will try again as soon as possible. Thanks. The problem occurs whenever an existing window is reused to show the registers' preview, rather than split. From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 17 Dec 2023 23:22:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: michael_heerdegen@web.de, dmitry@gutov.dev, Eli Zaretskii , Stefan Kangas , 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170285526614040 (code B ref 66394); Sun, 17 Dec 2023 23:22:01 +0000 Received: (at 66394) by debbugs.gnu.org; 17 Dec 2023 23:21:06 +0000 Received: from localhost ([127.0.0.1]:59158 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rF0RV-0003eO-PI for submit@debbugs.gnu.org; Sun, 17 Dec 2023 18:21:06 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:21321) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rF0RT-0003dZ-ED for 66394@debbugs.gnu.org; Sun, 17 Dec 2023 18:21:04 -0500 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 4D2AE444CEC; Sun, 17 Dec 2023 18:20:56 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1702855254; bh=AkHo6/oRfbvVJpriJpFPhmWf92T0zCD8cIvtlOhLYi8=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=ZsOcHwBkEWJlFj0LonnsktvfX9HtcjnzTwuVhdZYbuxtpDSIhrbrsBnHh7bYeMlO+ +kHZIox+xKTHBrkLhFxsaz6lpVFkxqNiW7aAJjTWnDUOuAMYrYXKf7pUkuuhm6JXzl e4yt1tKnLbsh/MgohgNACXXIeyZqY4/X7rSCnNM7aFJEBLOhZqxGgh1IWffYScPiCF nVHUo6mYcxY8PMI7if4OCQGnsLqNbFX1IwLKRX499nOlexhO5CjjbYZ4bLNPx3qdj1 PDCj8V0prHGX/2FeLXc76+rpjmmn+HIsQimxl2Uz/j66DMVh/xqAsvwHeMv7hOyu0d b0U04KnRjfiKw== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id A52A5444CE5; Sun, 17 Dec 2023 18:20:54 -0500 (EST) Received: from alfajor (65-110-221-238.cpe.pppoe.ca [65.110.221.238]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 66782120E2C; Sun, 17 Dec 2023 18:20:54 -0500 (EST) From: Stefan Monnier In-Reply-To: <87sf41ubjj.fsf@posteo.net> (Thierry Volpiatto's message of "Sat, 16 Dec 2023 20:39:44 +0000") Message-ID: References: <87il7ib6cu.fsf@posteo.net> <87a5qhxf05.fsf@posteo.net> <83jzpkvs4z.fsf@gnu.org> <87v8947ulo.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> <87cyvbepi0.fsf@posteo.net> <87bkavk9nv.fsf@posteo.net> <8eebbb30-9366-e869-a39a-8100638cb99a@gutov.dev> <87o7etgxeb.fsf@posteo.net> <83v891qlcn.fsf@gnu.org> <87r0jn4j8i.fsf@posteo.net> <87jzpf48k5.fsf@posteo.net> <87plz6xp3m.fsf@posteo.net> <87sf41ubjj.fsf@posteo.net> Date: Sun, 17 Dec 2023 18:20:56 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.034 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From 6a15a8b7b795b8377ef3537dc7bbd5ba26c0e159 Mon Sep 17 00:00:00 2001 > From: Thierry Volpiatto > Date: Thu, 14 Dec 2023 16:23:26 +0100 > Subject: [PATCH 3/4] Save and restore win confs after register commands > > When several windows are open, the register preview may eat other > windows and break the current window configuration. > > * lisp/register.el (register-read-with-preview-fancy): Do it. > --- > lisp/register.el | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/lisp/register.el b/lisp/register.el > index 8f0c6a7105d..1fadbe81056 100644 > --- a/lisp/register.el > +++ b/lisp/register.el > @@ -473,6 +473,7 @@ display such a window regardless." > (buffer1 "*Register quick preview*") > (buf (if register-use-preview buffer buffer1)) > (pat "") > + (winconf (current-window-configuration)) > (map (let ((m (make-sparse-keymap))) > (set-keymap-parent m minibuffer-local-map) > m)) > @@ -573,6 +574,7 @@ display such a window regardless." > nil "No register specified") > (string-to-char result)) > (when timer (cancel-timer timer)) > + (set-window-configuration winconf) > (let ((w (get-buffer-window buf))) > (and (window-live-p w) (delete-window w))) > (and (get-buffer buf) (kill-buffer buf))))) While save&restore of window configuration often works well, it misbehaves in various cases (such as when the buffer is displayed in another frame, which case case `set-window-configuration` will do you no good). The official way to undo a `display-buffer` is with `quit-(restore-)window`. See (info "(elisp)Quitting Windows"). Stefan From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 18 Dec 2023 05:16:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: michael_heerdegen@web.de, dmitry@gutov.dev, Eli Zaretskii , Stefan Kangas , 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170287652926343 (code B ref 66394); Mon, 18 Dec 2023 05:16:02 +0000 Received: (at 66394) by debbugs.gnu.org; 18 Dec 2023 05:15:29 +0000 Received: from localhost ([127.0.0.1]:59299 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rF5yT-0006pQ-8U for submit@debbugs.gnu.org; Mon, 18 Dec 2023 00:15:29 -0500 Received: from mout02.posteo.de ([185.67.36.66]:34345) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rF5yO-0006LV-3w for 66394@debbugs.gnu.org; Mon, 18 Dec 2023 00:15:28 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 9DCC4240103 for <66394@debbugs.gnu.org>; Mon, 18 Dec 2023 06:15:15 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1702876515; bh=yNF7mgqRF7sc/DB4VKABCbxEWJowuJfcqCYGF6gEHoc=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=fNAzwwl6xZ73QxaEhqoq5pdSjN21gtRe73XY6iZGKjKiOJ7TtHs5WIya/+t3my6Ul Br5bg4ynWPjV8/z4toF+QwSVm7BTsrUy7VkYmOhHVhsS0cgumOc5aliD2DqMRnmFF2 pKqZm7Pa2zzgDy+eYo/EBv+LzBNCnc1BRLPfF+vboUI5z4gcJl5FuKl3oMum+EVrJi odx8vWOZhfvgCoS4164qQiToknCUVliOswYlSN8NZQHr4v42kKjP9QO1JObk7zbGK+ AXo5fGG7WtfFrP2CXovZ4P18o7/EfbRJxo07FDnhA1v1ypzcMfNd/9+LcUWEl4DeNf Ug3BwIkYjaGTw== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Stp1D5g1Sz6tm4; Mon, 18 Dec 2023 06:15:12 +0100 (CET) From: Thierry Volpiatto In-Reply-To: (Stefan Monnier's message of "Sun, 17 Dec 2023 18:20:56 -0500 (5 hours, 33 minutes, 34 seconds ago)") References: <87il7ib6cu.fsf@posteo.net> <83jzpkvs4z.fsf@gnu.org> <87v8947ulo.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> <87cyvbepi0.fsf@posteo.net> <87bkavk9nv.fsf@posteo.net> <8eebbb30-9366-e869-a39a-8100638cb99a@gutov.dev> <87o7etgxeb.fsf@posteo.net> <83v891qlcn.fsf@gnu.org> <87r0jn4j8i.fsf@posteo.net> <87jzpf48k5.fsf@posteo.net> <87plz6xp3m.fsf@posteo.net> <87sf41ubjj.fsf@posteo.net> Date: Mon, 18 Dec 2023 05:15:09 +0000 Message-ID: <87h6kghz1e.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Stefan Monnier writes: >> From 6a15a8b7b795b8377ef3537dc7bbd5ba26c0e159 Mon Sep 17 00:00:00 2001 >> From: Thierry Volpiatto >> Date: Thu, 14 Dec 2023 16:23:26 +0100 >> Subject: [PATCH 3/4] Save and restore win confs after register commands >> >> When several windows are open, the register preview may eat other >> windows and break the current window configuration. >> >> * lisp/register.el (register-read-with-preview-fancy): Do it. >> --- >> lisp/register.el | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/lisp/register.el b/lisp/register.el >> index 8f0c6a7105d..1fadbe81056 100644 >> --- a/lisp/register.el >> +++ b/lisp/register.el >> @@ -473,6 +473,7 @@ display such a window regardless." >> (buffer1 "*Register quick preview*") >> (buf (if register-use-preview buffer buffer1)) >> (pat "") >> + (winconf (current-window-configuration)) >> (map (let ((m (make-sparse-keymap))) >> (set-keymap-parent m minibuffer-local-map) >> m)) >> @@ -573,6 +574,7 @@ display such a window regardless." >> nil "No register specified") >> (string-to-char result)) >> (when timer (cancel-timer timer)) >> + (set-window-configuration winconf) >> (let ((w (get-buffer-window buf))) >> (and (window-live-p w) (delete-window w))) >> (and (get-buffer buf) (kill-buffer buf))))) > > While save&restore of window configuration often works well, it > misbehaves in various cases (such as when the buffer is displayed in > another frame, which case case `set-window-configuration` will do you > no good). Yes, I thought this would be enough, but no, there is as well another problem in register-preview and register-preview-1 with this code which is as well not working well if there is multiple windows. (with-current-buffer-window buffer (cons 'display-buffer-below-selected '((window-height . fit-window-to-buffer) (preserve-size . (nil . t)))) [...] At least it should use display-buffer-at-bottom, but I guess the best would be to make this configurable in one way or the other. > > The official way to undo a `display-buffer` is with > `quit-(restore-)window`. See (info "(elisp)Quitting Windows"). Yes, this is not what the current code is using, see the last unwind form of register-read-with-preview-basic/fancy. But as Dmitri said, it is not bugs introduced by these patches, I thought it would be simple to fix while we were at it but no. I guess I will follow Dmitri advice and not fix this in this serie of patches. Perhaps we could make another bug report once these patches are applied (I will remove the patch doing save/restore win conf) ? =20 =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmV/1V0THHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvk15cC/9zeCq6VHxkrPK8YWVLhkLWOE8OF9z6 ZEiMzeyeOQe2h97aA/+zVGEB4jAU18N3xUdVf5eiC3Q2hoS09kG32gS/To2coRRD UXcKZ4htchYf0yzzJlsGeNI4Y+UjFmoEVD8T2oXEIUfOQ1X5yK36YSWSCMMsmMQb hf+XmGj/3ZwuG5zrRJzUBi4+GERFeWFq+IwIZGXQJO0DrH3qGySUo8HxOQjrdRnS /IzKuI6VENNseHfLCAdusiYhxbCHcgHDPwCq8Y4qLM8zOHW4gVGWdpRH+bjHLa3w iF6DqEnbE+X63o0UTdMeBThu92HIzFOowkZV35LDFr25ybG+w4Gf0CsPwIOQhz76 HHZ4dNYaE0RRcxdvWKnUNzdlmWaXa5wsowe9vAVR1fWRKadzmhn/E3Cmq/OhoZCk 1At6mQy1NvZKW03tM7u63jEC07gy1hn6pBLD5i/0BD6Tu3B8kLK9ITVY7pR53Ycc 5GLnyQhZntrmGWV8wGCYl9tlNhnrgIAP0bI= =HIKN -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 18 Dec 2023 06:19:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: michael_heerdegen@web.de, dmitry@gutov.dev, Eli Zaretskii , Stefan Kangas , 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170288033713018 (code B ref 66394); Mon, 18 Dec 2023 06:19:01 +0000 Received: (at 66394) by debbugs.gnu.org; 18 Dec 2023 06:18:57 +0000 Received: from localhost ([127.0.0.1]:59343 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rF6xr-0003Nt-Ss for submit@debbugs.gnu.org; Mon, 18 Dec 2023 01:18:57 -0500 Received: from mout02.posteo.de ([185.67.36.66]:58165) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rF6xo-0003Ne-Ps for 66394@debbugs.gnu.org; Mon, 18 Dec 2023 01:18:54 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id E3A16240103 for <66394@debbugs.gnu.org>; Mon, 18 Dec 2023 07:18:44 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1702880324; bh=MBP9lMQ9pd6mp6L14MAtXFiX+agwlbsz8GJYfx1PoVk=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=ky4NrD7yuLH/BLdpK1tVoiHlyIazg5WvBqTdrDcEKNa7YSZN23HYicauKtFsrsQXc 09u4ufYoGuHzHTByhV/81yx8EXl+2I8xf4Lnu1LKFnA+GBHkqtyBEeD/Z7zJERSEh6 ys/pJzwlsuagZj/eaB4KvUKHRBnobYhJZ7x+QNuqncW1eeGYMmI/uyQtpkRV3L2kQB 9sdu7Y/IlBxoBs1Dgkwd1IMoP5VKHHlHW4FIeico9xlfc+LW3g7J3s6JYiR/DOvX27 5qfS0CvSPC5/X5/oO7GOWt62zI2SdbevaLYaLBJf/cA6gEZX1J09QIw06y5jf3nH/R b1A+i0xqzM5Yg== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4StqQS6Mrnz6twD; Mon, 18 Dec 2023 07:18:40 +0100 (CET) From: Thierry Volpiatto In-Reply-To: (Stefan Monnier's message of "Sun, 17 Dec 2023 18:20:56 -0500 (6 hours, 55 minutes, 31 seconds ago)") References: <87il7ib6cu.fsf@posteo.net> <83jzpkvs4z.fsf@gnu.org> <87v8947ulo.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> <87cyvbepi0.fsf@posteo.net> <87bkavk9nv.fsf@posteo.net> <8eebbb30-9366-e869-a39a-8100638cb99a@gutov.dev> <87o7etgxeb.fsf@posteo.net> <83v891qlcn.fsf@gnu.org> <87r0jn4j8i.fsf@posteo.net> <87jzpf48k5.fsf@posteo.net> <87plz6xp3m.fsf@posteo.net> <87sf41ubjj.fsf@posteo.net> Date: Mon, 18 Dec 2023 06:18:36 +0000 Message-ID: <87le9s824j.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Stefan Monnier writes: > While save&restore of window configuration often works well, it > misbehaves in various cases (such as when the buffer is displayed in > another frame, which case case `set-window-configuration` will do you > no good). > > The official way to undo a `display-buffer` is with > `quit-(restore-)window`. See (info "(elisp)Quitting Windows"). So here the serie of patches updated (save/restore winconf patch dropped). =2D-=20 Thierry --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-Don-t-confirm-with-RET-even-when-overwriting-in-regi.patch Content-Transfer-Encoding: quoted-printable From=20f28f38f51af62325213bdf7c9e85ee031b405f4c Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Mon, 11 Dec 2023 07:02:40 +0100 Subject: [PATCH 1/3] Don't confirm with RET even when overwriting in regist= er commands This happen when register-use-preview is nil or never. This reproduce what we had previously in 29.1 but with filtering in the preview and default registers are provided for the commands of type 'set'. This is implemented with cl-defmethod to keep the code as much as possible configurable. * lisp/register.el (register-preview-info): New slot. (register-command-info): Add new methods for copy-to-register, point-to-register, number-to-register, window-configuration-to-register, frameset-to-register and copy-rectangle-to-register. (register-read-with-preview): Bind noconfirm. =2D-- lisp/register.el | 67 ++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 56 insertions(+), 11 deletions(-) diff --git a/lisp/register.el b/lisp/register.el index ef529cd67e5..cd6f2861315 100644 =2D-- a/lisp/register.el +++ b/lisp/register.el @@ -156,7 +156,7 @@ TYPES are the types of register supported. MSG is the minibuffer message to send when a register is selected. ACT is the type of action the command is doing on register. SMATCH accept a boolean value to say if command accept non matching regist= er." =2D types msg act smatch) + types msg act smatch noconfirm) =20 (cl-defgeneric register-command-info (command) "Returns a `register-preview-info' object storing data for COMMAND." @@ -179,24 +179,66 @@ SMATCH accept a boolean value to say if command accep= t non matching register." :types '(all) :msg "View register `%s'" :act 'view + :noconfirm (memq register-use-preview '(nil never)) :smatch t)) (cl-defmethod register-command-info ((_command (eql append-to-register))) (make-register-preview-info :types '(string number) :msg "Append to register `%s'" :act 'modify + :noconfirm (memq register-use-preview '(nil never)) :smatch t)) (cl-defmethod register-command-info ((_command (eql prepend-to-register))) (make-register-preview-info :types '(string number) :msg "Prepend to register `%s'" :act 'modify + :noconfirm (memq register-use-preview '(nil never)) :smatch t)) (cl-defmethod register-command-info ((_command (eql increment-register))) (make-register-preview-info :types '(string number) :msg "Increment register `%s'" :act 'modify + :noconfirm (memq register-use-preview '(nil never)) + :smatch t)) +(cl-defmethod register-command-info ((_command (eql copy-to-register))) + (make-register-preview-info + :types '(all) + :msg "Copy to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-command-info ((_command (eql point-to-register))) + (make-register-preview-info + :types '(all) + :msg "Point to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-command-info ((_command (eql number-to-register))) + (make-register-preview-info + :types '(all) + :msg "Number to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-command-info + ((_command (eql window-configuration-to-register))) + (make-register-preview-info + :types '(all) + :msg "Window configuration to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-command-info ((_command (eql frameset-to-register))) + (make-register-preview-info + :types '(all) + :msg "Frameset to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-command-info ((_command (eql copy-rectangle-to-regi= ster))) + (make-register-preview-info + :types '(all) + :msg "Copy rectangle to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)) :smatch t)) =20 (defun register-preview-forward-line (arg) @@ -328,12 +370,13 @@ display such a window regardless." m)) (data (register-command-info this-command)) (enable-recursive-minibuffers t) =2D types msg result timer act win strs smatch) + types msg result timer act win strs smatch noconfirm) (if data =2D (setq types (register-preview-info-types data) =2D msg (register-preview-info-msg data) =2D act (register-preview-info-act data) =2D smatch (register-preview-info-smatch data)) + (setq types (register-preview-info-types data) + msg (register-preview-info-msg data) + act (register-preview-info-act data) + smatch (register-preview-info-smatch data) + noconfirm (register-preview-info-noconfirm data)) (setq types '(all) msg "Overwrite register `%s'" act 'set)) @@ -405,13 +448,15 @@ display such a window regardless." "Register `%s' is empty" pat)))))) (unless (string=3D pat "") (with-selected-window (minibuffer-window) =2D (if (and (member pat strs) (memq act '(s= et modify))) + (if (and (member pat strs) + (memq act '(set modify)) + (null noconfirm)) (with-selected-window (minibuffer-wind= ow) (minibuffer-message msg pat)) =2D ;; An empty register or an existing =2D ;; one but the action is insert or =2D ;; jump, don't ask for confirmation =2D ;; and exit immediately (bug#66394). + ;; The action is insert or + ;; jump or noconfirm is specifed + ;; explicitely, don't ask for + ;; confirmation and exit immediately (bu= g#66394). (setq result pat) (exit-minibuffer))))))))) (setq result (read-from-minibuffer =2D-=20 2.34.1 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0002-Provide-emacs-29-behavior-for-register-preview.patch Content-Transfer-Encoding: quoted-printable From=2099cb6d4d1e85b85a60e26ddc22a54a0a9b029d43 Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Tue, 12 Dec 2023 07:24:32 +0100 Subject: [PATCH 2/3] Provide emacs-29 behavior for register-preview It is now the default with a value of register-use-preview eq to basic. To change this one have now to customize register-use-preview to another value. * lisp/register.el (register-preview-delay): Remove obsolescence. (register--read-with-preview-function): New. (register-use-preview): New option basic, it is now the default. (register-preview-default-1): New the register-preview-default used by `register-read-with-preview-fancy`. (register-preview-default): Restored (same as Emacs-29). (register--preview-function): Generic fn that return the right function for register--preview-function. (register-preview): Restored (same behavior as Emacs-29). (register-preview-1): Used by `register-read-with-preview-fancy'. (register-read-with-preview-basic): The old register-read-with-preview. (register-read-with-preview-fancy): The new register-read-with-preview. =2D-- lisp/register.el | 156 +++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 132 insertions(+), 24 deletions(-) diff --git a/lisp/register.el b/lisp/register.el index cd6f2861315..8f0c6a7105d 100644 =2D-- a/lisp/register.el +++ b/lisp/register.el @@ -100,25 +100,55 @@ If nil, do not show register previews, unless `help-c= har' (or a member of :version "24.4" :type '(choice number (const :tag "No preview unless requested" nil)) :group 'register) =2D(make-obsolete-variable 'register-preview-delay "No longer used." "30.1") =20 (defcustom register-preview-default-keys (mapcar #'string (number-sequence= ?a ?z)) "Default keys for setting a new register." =2D :type '(repeat string)) =2D =2D(defcustom register-use-preview t =2D "Whether to show preview of registers. =2D =2DIf the value is t, show a preview buffer with navigation and highlightin= g. =2DIf the value is nil, show a basic preview buffer and exit minibuffer =2Dimmediately after the register name is inserted into minibuffer. =2DIf the value is \\=3D'never, behave as for nil, but with no preview buff= er =2Dat all." + :type '(repeat string) + :version 30.1) + +(defvar register--read-with-preview-function nil + "The register read preview function to use. +Two functions are provided, one that provide navigation and +highlighting of the register selected, filtering of register +according to command in use, defaults register to use when +setting a new register, confirmation and notification when you +are about to overwrite a register and generic functions to +configure how each existing commands behave. The other function +provided is the same as what was used in Emacs-29, no filtering, +no navigation, no defaults.") + +(defvar register-preview-function nil + "Function to format a register for previewing. +Called with one argument, a cons (NAME . CONTENTS) as found in `register-a= list'. +The function should return a string, the description of the argument. +It is set according to the value of `register--read-with-preview-function'= .") + +(defcustom register-use-preview 'basic + "Maybe show register preview. + +This has no effect when `register--read-with-preview-function' value +is `register-read-with-preview-basic'. + +When set to `t' show a preview buffer with navigation and highlighting. +When nil show a basic preview buffer and exit minibuffer +immediately after insertion in minibuffer. +When set to \\=3D'never behave as above but with no preview buffer at +all. +When set to \\=3D'basic provide a much more basic preview according to +`register-preview-delay', it has the exact same behavior as in Emacs-29." :type '(choice (const :tag "Use preview" t) (const :tag "Use quick preview" nil) =2D (const :tag "Never use preview" never)) =2D :version "30.1") + (const :tag "Never use preview" never) + (const :tag "Basic preview like Emacs-29" basic)) + :version 30.1 + :set (lambda (var val) + (set var val) + (setq register--read-with-preview-function + (if (eq val 'basic) + #'register-read-with-preview-basic + #'register-read-with-preview-fancy)) + (setq register-preview-function nil))) =20 (defun get-register (register) "Return contents of Emacs register named REGISTER, or nil if none." @@ -138,17 +168,28 @@ See the documentation of the variable `register-alist= ' for possible VALUEs." (substring d (match-end 0)) d))) =20 =2D(defun register-preview-default (r) +(defun register-preview-default-1 (r) "Function that is the default value of the variable `register-preview-fu= nction'." (format "%s: %s\n" (propertize (string (car r)) 'display (single-key-description (car r))) (register-describe-oneline (car r)))) =20 =2D(defvar register-preview-function #'register-preview-default =2D "Function to format a register for previewing. =2DCalled with one argument, a cons (NAME . CONTENTS) as found in `register= -alist'. =2DThe function should return a string, the description of the argument.") +(defun register-preview-default (r) + "Function that is the default value of the variable `register-preview-fu= nction'." + (format "%s: %s\n" + (single-key-description (car r)) + (register-describe-oneline (car r)))) + +(cl-defgeneric register--preview-function (read-preview-function) + "Returns a function to format a register for previewing. +This according to the value of READ-PREVIEW-FUNCTION.") +(cl-defmethod register--preview-function ((_read-preview-function + (eql register-read-with-preview= -basic))) + #'register-preview-default) +(cl-defmethod register--preview-function ((_read-preview-function + (eql register-read-with-preview= -fancy))) + #'register-preview-default-1) =20 (cl-defstruct register-preview-info "Store data for a specific register command. @@ -310,9 +351,9 @@ satisfy `cl-typep' otherwise the new type should be def= ined with (cl-defmethod register--type ((_regval string)) 'string) (cl-defmethod register--type ((_regval number)) 'number) (cl-defmethod register--type ((_regval marker)) 'marker) =2D(cl-defmethod register--type ((_regval (eql 'buffer))) 'buffer) =2D(cl-defmethod register--type ((_regval (eql 'file))) 'file) =2D(cl-defmethod register--type ((_regval (eql 'file-query))) 'file-query) +(cl-defmethod register--type ((_regval (eql buffer))) 'buffer) +(cl-defmethod register--type ((_regval (eql file))) 'file) +(cl-defmethod register--type ((_regval (eql file-query))) 'file-query) (cl-defmethod register--type ((_regval window-configuration)) 'window) (cl-deftype frame-register () '(satisfies frameset-register-p)) (cl-defmethod register--type :extra "frame-register" (_regval) 'frame) @@ -327,12 +368,39 @@ satisfy `cl-typep' otherwise the new type should be d= efined with when (memq (register-type register) types) collect register))) =20 =2D(defun register-preview (buffer &optional show-empty types) +(defun register-preview (buffer &optional show-empty) "Pop up a window showing the registers preview in BUFFER. If SHOW-EMPTY is non-nil, show the window even if no registers. +Format of each entry is controlled by the variable `register-preview-funct= ion'." + (unless register-preview-function + (setq register-preview-function (register--preview-function + register--read-with-preview-function)= )) + (when (or show-empty (consp register-alist)) + (with-current-buffer-window + buffer + (cons 'display-buffer-below-selected + '((window-height . fit-window-to-buffer) + (preserve-size . (nil . t)))) + nil + (with-current-buffer standard-output + (setq cursor-in-non-selected-windows nil) + (mapc (lambda (elem) + (when (get-register (car elem)) + (insert (funcall register-preview-function elem)))) + register-alist))))) + +(defun register-preview-1 (buffer &optional show-empty types) + "Pop up a window showing the registers preview in BUFFER. + +This is the preview function use with +`register-read-with-preview-fancy' function. +If SHOW-EMPTY is non-nil, show the window even if no registers. Argument TYPES (a list) specify the types of register to show, when nil sh= ow all registers, see `register-type' for suitable types. Format of each entry is controlled by the variable `register-preview-funct= ion'." + (unless register-preview-function + (setq register-preview-function (register--preview-function + register--read-with-preview-function)= )) (let ((registers (register-of-type-alist (or types '(all))))) (when (or show-empty (consp registers)) (with-current-buffer-window @@ -360,6 +428,46 @@ Format of each entry is controlled by the variable `re= gister-preview-function'." "Read and return a register name, possibly showing existing registers. Prompt with the string PROMPT. If `help-char' (or a member of `help-event-list') is pressed, +display such a window regardless." + (funcall register--read-with-preview-function prompt)) + +(defun register-read-with-preview-basic (prompt) + "Read and return a register name, possibly showing existing registers. +Prompt with the string PROMPT. If `register-alist' and +`register-preview-delay' are both non-nil, display a window +listing existing registers after `register-preview-delay' seconds. +If `help-char' (or a member of `help-event-list') is pressed, +display such a window regardless." + (let* ((buffer "*Register Preview*") + (timer (when (numberp register-preview-delay) + (run-with-timer register-preview-delay nil + (lambda () + (unless (get-buffer-window buffer) + (register-preview buffer)))))) + (help-chars (cl-loop for c in (cons help-char help-event-list) + when (not (get-register c)) + collect c))) + (unwind-protect + (progn + (while (memq (read-key (propertize prompt 'face 'minibuffer-prompt)) + help-chars) + (unless (get-buffer-window buffer) + (register-preview buffer 'show-empty))) + (when (or (eq ?\C-g last-input-event) + (eq 'escape last-input-event) + (eq ?\C-\[ last-input-event)) + (keyboard-quit)) + (if (characterp last-input-event) last-input-event + (error "Non-character input-event"))) + (and (timerp timer) (cancel-timer timer)) + (let ((w (get-buffer-window buffer))) + (and (window-live-p w) (delete-window w))) + (and (get-buffer buffer) (kill-buffer buffer))))) + +(defun register-read-with-preview-fancy (prompt) + "Read and return a register name, possibly showing existing registers. +Prompt with the string PROMPT. +If `help-char' (or a member of `help-event-list') is pressed, display such a window regardless." (let* ((buffer "*Register Preview*") (buffer1 "*Register quick preview*") @@ -392,13 +500,13 @@ display such a window regardless." ;; Do nothing when buffer1 is in use. (unless (get-buffer-window buf) (with-selected-window (minibuffer-selected-window) =2D (register-preview buffer 'show-empty types)))= ))) + (register-preview-1 buffer 'show-empty types)))= ))) (define-key map (kbd "") 'register-preview-next) (define-key map (kbd "") 'register-preview-previous) (define-key map (kbd "C-n") 'register-preview-next) (define-key map (kbd "C-p") 'register-preview-previous) (unless (or executing-kbd-macro (eq register-use-preview 'never)) =2D (register-preview buf nil types)) + (register-preview-1 buf nil types)) (unwind-protect (progn (minibuffer-with-setup-hook =2D-=20 2.34.1 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0003-Fix-issue-with-register-commands-in-kmacro.patch Content-Transfer-Encoding: quoted-printable From=20f1105b7266788a93e03f837db172351b25020964 Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Mon, 18 Dec 2023 07:11:42 +0100 Subject: [PATCH 3/3] Fix issue with register commands in kmacro Using post-command-hook in minibuffer-setup-hook instead of a timer allow running exit-minibuffer without delay and ensure the serie of commands used in a kmacro run synchronously. * lisp/register.el (register-read-with-preview-fancy): Do it. =2D-- lisp/register.el | 112 +++++++++++++++++++++++------------------------ 1 file changed, 55 insertions(+), 57 deletions(-) diff --git a/lisp/register.el b/lisp/register.el index 8f0c6a7105d..4ffbd460a5b 100644 =2D-- a/lisp/register.el +++ b/lisp/register.el @@ -511,68 +511,66 @@ display such a window regardless." (progn (minibuffer-with-setup-hook (lambda () =2D (setq timer =2D (run-with-idle-timer =2D 0.01 'repeat =2D (lambda () =2D (with-selected-window (minibuffer-window) =2D (let ((input (minibuffer-contents))) =2D (when (> (length input) 1) =2D (let ((new (substring input 1)) =2D (old (substring input 0 1))) =2D (setq input (if (or (null smatch) =2D (member new strs)) =2D new old)) =2D (delete-minibuffer-contents) =2D (insert input))) =2D (when (and smatch (not (string=3D input ""= )) =2D (not (member input strs))) =2D (setq input "") =2D (delete-minibuffer-contents) =2D (minibuffer-message "Not matching")) =2D (when (not (string=3D input pat)) =2D (setq pat input)))) =2D (if (setq win (get-buffer-window buffer)) =2D (with-selected-window win =2D (let ((ov (make-overlay =2D (point-min) (point-min))) =2D ;; Allow upper-case and =2D ;; lower-case letters to refer =2D ;; to different registers. =2D (case-fold-search nil)) =2D (goto-char (point-min)) =2D (remove-overlays) =2D (unless (string=3D pat "") =2D (if (re-search-forward (concat "^" p= at) nil t) =2D (progn (move-overlay =2D ov =2D (match-beginning 0) (pos= -eol)) =2D (overlay-put ov 'face 'ma= tch) =2D (when msg =2D (with-selected-window (= minibuffer-window) =2D (minibuffer-message m= sg pat)))) =2D (with-selected-window (minibuffer-= window) =2D (minibuffer-message =2D "Register `%s' is empty" pat)))= ))) =2D (unless (string=3D pat "") =2D (with-selected-window (minibuffer-window) =2D (if (and (member pat strs) =2D (memq act '(set modify)) =2D (null noconfirm)) =2D (with-selected-window (minibuffer-wi= ndow) =2D (minibuffer-message msg pat)) =2D ;; The action is insert or =2D ;; jump or noconfirm is specifed =2D ;; explicitely, don't ask for =2D ;; confirmation and exit immediately (= bug#66394). =2D (setq result pat) =2D (exit-minibuffer))))))))) + (add-hook 'post-command-hook + (lambda () + (with-selected-window (minibuffer-window) + (let ((input (minibuffer-contents))) + (when (> (length input) 1) + (let ((new (substring input 1)) + (old (substring input 0 1))) + (setq input (if (or (null smatch) + (member new strs)) + new old)) + (delete-minibuffer-contents) + (insert input))) + (when (and smatch (not (string=3D input "= ")) + (not (member input strs))) + (setq input "") + (delete-minibuffer-contents) + (minibuffer-message "Not matching")) + (when (not (string=3D input pat)) + (setq pat input)))) + (if (setq win (get-buffer-window buffer)) + (with-selected-window win + (let ((ov (make-overlay + (point-min) (point-min))) + ;; Allow upper-case and + ;; lower-case letters to refer + ;; to different registers. + (case-fold-search nil)) + (goto-char (point-min)) + (remove-overlays) + (unless (string=3D pat "") + (if (re-search-forward (concat "^" = pat) nil t) + (progn (move-overlay + ov + (match-beginning 0) (po= s-eol)) + (overlay-put ov 'face 'm= atch) + (when msg + (with-selected-window = (minibuffer-window) + (minibuffer-message = msg pat)))) + (with-selected-window (minibuffer= -window) + (minibuffer-message + "Register `%s' is empty" pat))= )))) + (unless (string=3D pat "") + (with-selected-window (minibuffer-window) + (if (and (member pat strs) + (memq act '(set modify)) + (null noconfirm)) + (with-selected-window (minibuffer-w= indow) + (minibuffer-message msg pat)) + ;; The action is insert or + ;; jump or noconfirm is specifed + ;; explicitely, don't ask for + ;; confirmation and exit immediately = (bug#66394). + (setq result pat) + (exit-minibuffer)))))) + nil 'local)) (setq result (read-from-minibuffer prompt nil map nil nil (register-preview-get-de= faults act)))) (cl-assert (and result (not (string=3D result ""))) nil "No register specified") (string-to-char result)) =2D (when timer (cancel-timer timer)) (let ((w (get-buffer-window buf))) (and (window-live-p w) (delete-window w))) (and (get-buffer buf) (kill-buffer buf))))) =2D-=20 2.34.1 --=-=-=-- --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmV/5DwTHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvk+v5C/4jhcyzhxdrTLvOpobH3gtYxWU5D7Z8 X3U4W4w3o6dOri4l7INRDVmOoul/hvBnpRjuBtrnnYSymmZ+9O0NsfptMkxy3rMF OmU3ofzepwQZ9Fitkkfkyy79Ni458NcwqR2frxBFrYUJlqXOMlRFuLoiXqcEVBQh bL3I+H8mhFWPKsdkhEfiz5ilSwrA0A9hxL4dYOaS4tu3CpEWoS6Gb9gNHCeBIXQ3 lyS+uFnQOai48yClS56dDtGlEreCpuEXgyqgXqz4o9knwwKIaNf2Y9taZHMNShNg WD82N87ZvUIeTWNdZ+uvHgAPl96KZHsMFtIyClXRxO+fnTI+u09FmxD68w0D6wOS ywaStR9F7Q5TeoDevVBmUyeE72tii/2b/DlS4/CH10m3KbxBpooFRa7VhCP+N/eW Xtfu4kFaZ5qMUT5rR1MDeQn9SUkLDHalSoFH/wIMdcVVBhFtDLdL91+exWkeaFwk HOUZJdZiqtsCrK0o3z+LVxJyemN8DZBPyhc= =ncOS -----END PGP SIGNATURE----- --==-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 18 Dec 2023 13:22:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: michael_heerdegen@web.de, dmitry@gutov.dev, Eli Zaretskii , Stefan Kangas , 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170290566826804 (code B ref 66394); Mon, 18 Dec 2023 13:22:02 +0000 Received: (at 66394) by debbugs.gnu.org; 18 Dec 2023 13:21:08 +0000 Received: from localhost ([127.0.0.1]:59657 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rFDYS-0006yG-1S for submit@debbugs.gnu.org; Mon, 18 Dec 2023 08:21:08 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:24451) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rFDYQ-0006xM-IW for 66394@debbugs.gnu.org; Mon, 18 Dec 2023 08:21:07 -0500 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 10A92444D68; Mon, 18 Dec 2023 08:20:59 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1702905657; bh=f8S8oVvSgBuF5V9xqhd7VfDZmV+VbzbV+OEuVkj2gXA=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=LtKrbkPr3/Vokf5xBmLPe+SG1f52dfbwN6uNn1r1A6F/GD6FLe33kzrkWWp8IpYBm Ws0xmWbOqZe3AowoU+tgPmBl6leZsIg8x7mSh7Bhuffv06uX9R7k0r8CSok8kTV37w ZyHj6OM0ScWGfEJE07m8mN4L8daDI6gAthHq3bU3R7XjiCPQqMst4VBep4vkXYFkE2 9y61kuZX7upZDOOcsr3YaxjoOL/PGw9AT3hxnVy5MiLvCttkW8Q3Hi0E16ZHVGhHsp UFnMf76Duyt1O/aX5I3uActz8e09Byd2Q4YKuM9l3bi/Ps0EE22aNrJobALOHsUncd zJLYWJWbakM9A== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id DD37E444D64; Mon, 18 Dec 2023 08:20:57 -0500 (EST) Received: from pastel (65-110-221-238.cpe.pppoe.ca [65.110.221.238]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id A23B51202BE; Mon, 18 Dec 2023 08:20:57 -0500 (EST) From: Stefan Monnier In-Reply-To: <87h6kghz1e.fsf@posteo.net> (Thierry Volpiatto's message of "Mon, 18 Dec 2023 05:15:09 +0000") Message-ID: References: <87il7ib6cu.fsf@posteo.net> <87v8947ulo.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> <87cyvbepi0.fsf@posteo.net> <87bkavk9nv.fsf@posteo.net> <8eebbb30-9366-e869-a39a-8100638cb99a@gutov.dev> <87o7etgxeb.fsf@posteo.net> <83v891qlcn.fsf@gnu.org> <87r0jn4j8i.fsf@posteo.net> <87jzpf48k5.fsf@posteo.net> <87plz6xp3m.fsf@posteo.net> <87sf41ubjj.fsf@posteo.net> <87h6kghz1e.fsf@posteo.net> Date: Mon, 18 Dec 2023 08:20:56 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.031 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > But as Dmitri said, it is not bugs introduced by these patches, I > thought it would be simple to fix while we were at it but no. I guess I > will follow Dmitri advice and not fix this in this serie of patches. Wise choice :-) > Perhaps we could make another bug report once these patches are applied > (I will remove the patch doing save/restore win conf) ? Dmitry, can you do the honors (since you mentioned the bug first)? Stefan From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 18 Dec 2023 18:12:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: michael_heerdegen@web.de, dmitry@gutov.dev, Eli Zaretskii , Stefan Kangas , 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.17029231126370 (code B ref 66394); Mon, 18 Dec 2023 18:12:02 +0000 Received: (at 66394) by debbugs.gnu.org; 18 Dec 2023 18:11:52 +0000 Received: from localhost ([127.0.0.1]:33554 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rFI5n-0001ee-Eo for submit@debbugs.gnu.org; Mon, 18 Dec 2023 13:11:51 -0500 Received: from mout01.posteo.de ([185.67.36.65]:43349) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rFI5l-0001eF-5z for 66394@debbugs.gnu.org; Mon, 18 Dec 2023 13:11:50 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 028F9240027 for <66394@debbugs.gnu.org>; Mon, 18 Dec 2023 19:11:40 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1702923101; bh=pTOOtIPeD11cFqyxdAHhENPWyFLbFnkCbyVRXEhnJck=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=pNWN480RgmBrwp0YZvejPoGkqaj5xjE564QkgtklggWQdRjEq59Nm1uz3Mr7dHYeq d8pTp1PDnQDbcT2/mah1uTJxwc4qoZxy7IpM6CX2fVS//+riprVR9QmwqWybRL8hie /9aJ5SJwjLlPy4srODPmHMTojQADLljnZlo146GyljFq2/7tV1Tzuh37lzmxlhj6vt sc+W2bPf8ZYXOQiVGo08DogQa+sIv9gv83tDHNekqmZ450rFyDZuMgR10Qpwr4xk8P 11AhkwQ3eoy1UX8SwHibieRQkhW1hEWsR4/X8GVklILYBWhOCWB78dTXYTD4hzGlwv t7/STipbtKx+A== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Sv7F422bNz6twq; Mon, 18 Dec 2023 19:11:35 +0100 (CET) From: Thierry Volpiatto In-Reply-To: (Stefan Monnier's message of "Mon, 18 Dec 2023 08:20:56 -0500 (4 hours, 46 minutes, 55 seconds ago)") References: <87il7ib6cu.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> <87cyvbepi0.fsf@posteo.net> <87bkavk9nv.fsf@posteo.net> <8eebbb30-9366-e869-a39a-8100638cb99a@gutov.dev> <87o7etgxeb.fsf@posteo.net> <83v891qlcn.fsf@gnu.org> <87r0jn4j8i.fsf@posteo.net> <87jzpf48k5.fsf@posteo.net> <87plz6xp3m.fsf@posteo.net> <87sf41ubjj.fsf@posteo.net> <87h6kghz1e.fsf@posteo.net> Date: Mon, 18 Dec 2023 18:11:31 +0000 Message-ID: <87frzz8jos.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Stefan Monnier writes: >> But as Dmitri said, it is not bugs introduced by these patches, I >> thought it would be simple to fix while we were at it but no. I guess I >> will follow Dmitri advice and not fix this in this serie of patches. > > Wise choice :-) When dropping this change while rebasing I didn't realize the author name of the last patch has changed (from Stefan to Thierry), it is fixed (git amend) here. =20 =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmWAi1QTHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvk2lUDACvfTmsSBmTpOyWwzax1djEX5FUlg63 +zIBvZ5lNVpYhcfVwWDjptyKY6V8qsV02oCUDZLm14hlzySwuOAtWHOLEpZmXUSV sOZElul8YgZSC8ddKQ0brJhYd0qoO5dTZ/JQHjR/GLv3JC40OwoGPwQMjJhaYcI/ Nk5wIHTOXxtCsd4SrPusmeC3aKnUTt5A/xA5Eau9GX9B1LUdWksJsrNKZrLbM4zD U0AN/vgUTKgKMzelwMHo1zaiZY5Pk+nqdkXtrgV4D94esZesXsU+izOjZF8hdlH+ z3oQCqyccB0JrtFqumP4HIWIw6r5uydS5QpJjJY1PBHB6zkqiAtgj3VzXAQPvtZi LGJ8nJP60OWSLY9Nc4C33nxWyRtZp9W6FdZ52A1wt/evohXxukfpOdPhJrBOo1WE 2xEoJAnuV7IXmfV7RzXth9/shygI/Hsu4sLi7o35oNjjdyAZIhZNh/inxTGL5AWt MWPk3kVqe/27gqygWuw9mKbf1WRquGhRWQo= =IxPY -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 18 Dec 2023 18:23:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier , Thierry Volpiatto Cc: michael_heerdegen@web.de, Eli Zaretskii , Stefan Kangas , 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170292378118125 (code B ref 66394); Mon, 18 Dec 2023 18:23:02 +0000 Received: (at 66394) by debbugs.gnu.org; 18 Dec 2023 18:23:01 +0000 Received: from localhost ([127.0.0.1]:33565 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rFIGb-0004iG-5H for submit@debbugs.gnu.org; Mon, 18 Dec 2023 13:23:01 -0500 Received: from out3-smtp.messagingengine.com ([66.111.4.27]:60867) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rFIGZ-0004hw-8C for 66394@debbugs.gnu.org; Mon, 18 Dec 2023 13:22:59 -0500 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id 0ECCC5C00C5; Mon, 18 Dec 2023 13:22:52 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Mon, 18 Dec 2023 13:22:52 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1702923772; x=1703010172; bh=MslRwA02xyXQSZJNcWpCCWXLx2InTZujH2zSenrNKxA=; b= KP6pTK1zU04sQVuto/AiE2fOCaC693aC2DdR0otmOyjmtltQt5iW0/rSL6ZPxeOz oM52y8zVao74JcqYEQAv/9xY8gy3p1WNhBgbr8h+ZEJMz/nxOhyD5P8JjfTq77+E OFMCulpN44Q78lhU8CMnTrvagYm1Acp8hBqAGteGYD4NnBCVR0X76l8ZoolMDQYB +IZbgN3SAXz1i01j9vyztB6/VMygT9SsTd8cqvT4pFyWmuseSjhy3jLw7+RIfkLK TCvliol/g6TMUmyGD5VsuYjmVQZ2bjE3IivxRUQagu+x0E19DQyiNAqzhjLX8kjA qYNAWtUL2AbqFgWLpcAsFQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1702923772; x= 1703010172; bh=MslRwA02xyXQSZJNcWpCCWXLx2InTZujH2zSenrNKxA=; b=M RNY+2AjNbCnKfZxCohTdYe5sna0ltj5j2IQwgIYuw1o2MF4IRPl7q02trnVVE8xN CWaxD4sNYZSJ8IzE6r+fJHhqE4hX9mujDYfMc4v34TyxZqJq0dN8TdtsPgqgKTNH 80XlhqOm6yJSgEO6Z2epbHJGZTYU5HTZfRZRkt/H/x3ETJlDjLe6tmZKfD0SwdUE p6lBcDQwlpqYH5bEvfvRxBD/jka3kLTLZHgeEWyb2SqD4CsNSN4I68Tbf2vpUVFQ wxC+CgxmqodHnnoBcFSZnsCUNML+s1kXuEhq7VMqbZ2A1bd1D88kED2fa1Zmvoad hMtKOvEVyCxk89gli7hwg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrvddtkedguddutdcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefkffggfgfuvfevfhfhjggtgfesthekredttdefjeenucfhrhhomhepffhm ihhtrhihucfiuhhtohhvuceoughmihhtrhihsehguhhtohhvrdguvghvqeenucggtffrrg htthgvrhhnpefhffehleejffegffeugefhkeektdffgfehjedvgeejtedtudehueffgffg feejheenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe gumhhithhrhiesghhuthhovhdruggvvh X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 18 Dec 2023 13:22:50 -0500 (EST) Message-ID: Date: Mon, 18 Dec 2023 20:22:49 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Content-Language: en-US References: <87il7ib6cu.fsf@posteo.net> <87v8947ulo.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> <87cyvbepi0.fsf@posteo.net> <87bkavk9nv.fsf@posteo.net> <8eebbb30-9366-e869-a39a-8100638cb99a@gutov.dev> <87o7etgxeb.fsf@posteo.net> <83v891qlcn.fsf@gnu.org> <87r0jn4j8i.fsf@posteo.net> <87jzpf48k5.fsf@posteo.net> <87plz6xp3m.fsf@posteo.net> <87sf41ubjj.fsf@posteo.net> <87h6kghz1e.fsf@posteo.net> From: Dmitry Gutov In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -1.4 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) On 18/12/2023 15:20, Stefan Monnier wrote: >> But as Dmitri said, it is not bugs introduced by these patches, I >> thought it would be simple to fix while we were at it but no. I guess I >> will follow Dmitri advice and not fix this in this serie of patches. > Wise choice 😄 > >> Perhaps we could make another bug report once these patches are applied >> (I will remove the patch doing save/restore win conf) ? > Dmitry, can you do the honors (since you mentioned the bug first)? No problem: bug#67882. From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 19 Dec 2023 17:42:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: michael_heerdegen@web.de, dmitry@gutov.dev, Eli Zaretskii , Stefan Kangas , 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170300768418342 (code B ref 66394); Tue, 19 Dec 2023 17:42:02 +0000 Received: (at 66394) by debbugs.gnu.org; 19 Dec 2023 17:41:24 +0000 Received: from localhost ([127.0.0.1]:37265 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rFe5r-0004ll-5N for submit@debbugs.gnu.org; Tue, 19 Dec 2023 12:41:24 -0500 Received: from mout01.posteo.de ([185.67.36.65]:53729) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rFe5n-0004lT-IB for 66394@debbugs.gnu.org; Tue, 19 Dec 2023 12:41:21 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 9300C24002B for <66394@debbugs.gnu.org>; Tue, 19 Dec 2023 18:41:10 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1703007670; bh=5N5aLLDuH4Twm9ZZbFKXWT9aITtbruYpE3VqQwD3jzE=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=bA3pRc3XpojAyIeB+zEBZ8uweziC1YM+JXAMkGs1SckqI+eNuy1l0UBjlX7eu5PHr +K4Gno5xzgsxGNBiwLQWT6UdXrMVkwDNX+bZ/gKI2/WaW48mphmVMVnbLBDoFifdK6 rbSBtrD90Ap4NA+3TYQmNLqCoOpzX8yx9LjGnF5407ZhIgekPSIuwtybrO8Dk6CUZA XjT1pWJTZeGNBvWWiqOjv6wTtY4s8SR4lBYLtOs1WoJ2CsDELXii8gVcrNGPRPAM60 mJPWCTuDcaogSm5IA56yCDTn3MJRXujUNrfIl3thY3g7E9fnBG/7bCQtJYjd5xAuvU 7eiAkDeCINFuA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4SvkWQ72g1z6tvZ; Tue, 19 Dec 2023 18:41:06 +0100 (CET) From: Thierry Volpiatto In-Reply-To: (Stefan Monnier's message of "Sat, 16 Dec 2023 10:31:50 -0500 (3 days, 1 hour, 44 minutes ago)") References: <87il7ib6cu.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87a5qhxf05.fsf@posteo.net> <83jzpkvs4z.fsf@gnu.org> <87v8947ulo.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> <87cyvbepi0.fsf@posteo.net> <87bkavk9nv.fsf@posteo.net> <8eebbb30-9366-e869-a39a-8100638cb99a@gutov.dev> <87o7etgxeb.fsf@posteo.net> <83v891qlcn.fsf@gnu.org> <87r0jn4j8i.fsf@posteo.net> <87jzpf48k5.fsf@posteo.net> <87plz6xp3m.fsf@posteo.net> Date: Tue, 19 Dec 2023 17:40:59 +0000 Message-ID: <8734vym6ok.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Hello Stefan, Stefan Monnier writes: >> It should be possible to use post-command-hook, I didn't use it because >> it makes harder the communication between the minibuffer and the preview >> buffer. > > The patch below seems to work for my extremely limited testing. Could have some time to test register with your post-command-hook patch. I had to make on more little change to make it working in all conditions, here what I tried so far: 1) (customize-set-variable 'register-use-preview t) We have here confirmation with RET everywhere, works fine in all commands and test macro. 2) (customize-set-variable 'register-use-preview nil) We have here no confirmation (RET) at all, works fine in all commands and test macro. 3) (customize-set-variable 'register-use-preview nil) and modification with a defmethod so that we have no confirmation in insert/jump and confirmation with increment-register: (cl-defmethod register-command-info ((_command (eql increment-register)= )) (make-register-preview-info :types '(all) :msg "Increment to register `%s'" :act 'set :smatch t :noconfirm t)) Works fine everywhere and in test macro as well. 4) (customize-set-variable 'register-use-preview 'never) Same behavior as in 2) and 3) in same conditions. [The test macro was adding a number at beginning and end of each lines in a text and increment this number at every turn, this involve insert-register (twice) and increment-register (once).] So it seems we have now something working fine in all conditions :-) Here the serie of patches (the first 3 are unchanged).=20 =2D-=20 Thierry --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-Don-t-confirm-with-RET-even-when-overwriting-in-regi.patch Content-Transfer-Encoding: quoted-printable From=20f28f38f51af62325213bdf7c9e85ee031b405f4c Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Mon, 11 Dec 2023 07:02:40 +0100 Subject: [PATCH 1/4] Don't confirm with RET even when overwriting in regist= er commands This happen when register-use-preview is nil or never. This reproduce what we had previously in 29.1 but with filtering in the preview and default registers are provided for the commands of type 'set'. This is implemented with cl-defmethod to keep the code as much as possible configurable. * lisp/register.el (register-preview-info): New slot. (register-command-info): Add new methods for copy-to-register, point-to-register, number-to-register, window-configuration-to-register, frameset-to-register and copy-rectangle-to-register. (register-read-with-preview): Bind noconfirm. =2D-- lisp/register.el | 67 ++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 56 insertions(+), 11 deletions(-) diff --git a/lisp/register.el b/lisp/register.el index ef529cd67e5..cd6f2861315 100644 =2D-- a/lisp/register.el +++ b/lisp/register.el @@ -156,7 +156,7 @@ TYPES are the types of register supported. MSG is the minibuffer message to send when a register is selected. ACT is the type of action the command is doing on register. SMATCH accept a boolean value to say if command accept non matching regist= er." =2D types msg act smatch) + types msg act smatch noconfirm) =20 (cl-defgeneric register-command-info (command) "Returns a `register-preview-info' object storing data for COMMAND." @@ -179,24 +179,66 @@ SMATCH accept a boolean value to say if command accep= t non matching register." :types '(all) :msg "View register `%s'" :act 'view + :noconfirm (memq register-use-preview '(nil never)) :smatch t)) (cl-defmethod register-command-info ((_command (eql append-to-register))) (make-register-preview-info :types '(string number) :msg "Append to register `%s'" :act 'modify + :noconfirm (memq register-use-preview '(nil never)) :smatch t)) (cl-defmethod register-command-info ((_command (eql prepend-to-register))) (make-register-preview-info :types '(string number) :msg "Prepend to register `%s'" :act 'modify + :noconfirm (memq register-use-preview '(nil never)) :smatch t)) (cl-defmethod register-command-info ((_command (eql increment-register))) (make-register-preview-info :types '(string number) :msg "Increment register `%s'" :act 'modify + :noconfirm (memq register-use-preview '(nil never)) + :smatch t)) +(cl-defmethod register-command-info ((_command (eql copy-to-register))) + (make-register-preview-info + :types '(all) + :msg "Copy to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-command-info ((_command (eql point-to-register))) + (make-register-preview-info + :types '(all) + :msg "Point to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-command-info ((_command (eql number-to-register))) + (make-register-preview-info + :types '(all) + :msg "Number to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-command-info + ((_command (eql window-configuration-to-register))) + (make-register-preview-info + :types '(all) + :msg "Window configuration to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-command-info ((_command (eql frameset-to-register))) + (make-register-preview-info + :types '(all) + :msg "Frameset to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)))) +(cl-defmethod register-command-info ((_command (eql copy-rectangle-to-regi= ster))) + (make-register-preview-info + :types '(all) + :msg "Copy rectangle to register `%s'" + :act 'set + :noconfirm (memq register-use-preview '(nil never)) :smatch t)) =20 (defun register-preview-forward-line (arg) @@ -328,12 +370,13 @@ display such a window regardless." m)) (data (register-command-info this-command)) (enable-recursive-minibuffers t) =2D types msg result timer act win strs smatch) + types msg result timer act win strs smatch noconfirm) (if data =2D (setq types (register-preview-info-types data) =2D msg (register-preview-info-msg data) =2D act (register-preview-info-act data) =2D smatch (register-preview-info-smatch data)) + (setq types (register-preview-info-types data) + msg (register-preview-info-msg data) + act (register-preview-info-act data) + smatch (register-preview-info-smatch data) + noconfirm (register-preview-info-noconfirm data)) (setq types '(all) msg "Overwrite register `%s'" act 'set)) @@ -405,13 +448,15 @@ display such a window regardless." "Register `%s' is empty" pat)))))) (unless (string=3D pat "") (with-selected-window (minibuffer-window) =2D (if (and (member pat strs) (memq act '(s= et modify))) + (if (and (member pat strs) + (memq act '(set modify)) + (null noconfirm)) (with-selected-window (minibuffer-wind= ow) (minibuffer-message msg pat)) =2D ;; An empty register or an existing =2D ;; one but the action is insert or =2D ;; jump, don't ask for confirmation =2D ;; and exit immediately (bug#66394). + ;; The action is insert or + ;; jump or noconfirm is specifed + ;; explicitely, don't ask for + ;; confirmation and exit immediately (bu= g#66394). (setq result pat) (exit-minibuffer))))))))) (setq result (read-from-minibuffer =2D-=20 2.34.1 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0002-Provide-emacs-29-behavior-for-register-preview.patch Content-Transfer-Encoding: quoted-printable From=2099cb6d4d1e85b85a60e26ddc22a54a0a9b029d43 Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Tue, 12 Dec 2023 07:24:32 +0100 Subject: [PATCH 2/4] Provide emacs-29 behavior for register-preview It is now the default with a value of register-use-preview eq to basic. To change this one have now to customize register-use-preview to another value. * lisp/register.el (register-preview-delay): Remove obsolescence. (register--read-with-preview-function): New. (register-use-preview): New option basic, it is now the default. (register-preview-default-1): New the register-preview-default used by `register-read-with-preview-fancy`. (register-preview-default): Restored (same as Emacs-29). (register--preview-function): Generic fn that return the right function for register--preview-function. (register-preview): Restored (same behavior as Emacs-29). (register-preview-1): Used by `register-read-with-preview-fancy'. (register-read-with-preview-basic): The old register-read-with-preview. (register-read-with-preview-fancy): The new register-read-with-preview. =2D-- lisp/register.el | 156 +++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 132 insertions(+), 24 deletions(-) diff --git a/lisp/register.el b/lisp/register.el index cd6f2861315..8f0c6a7105d 100644 =2D-- a/lisp/register.el +++ b/lisp/register.el @@ -100,25 +100,55 @@ If nil, do not show register previews, unless `help-c= har' (or a member of :version "24.4" :type '(choice number (const :tag "No preview unless requested" nil)) :group 'register) =2D(make-obsolete-variable 'register-preview-delay "No longer used." "30.1") =20 (defcustom register-preview-default-keys (mapcar #'string (number-sequence= ?a ?z)) "Default keys for setting a new register." =2D :type '(repeat string)) =2D =2D(defcustom register-use-preview t =2D "Whether to show preview of registers. =2D =2DIf the value is t, show a preview buffer with navigation and highlightin= g. =2DIf the value is nil, show a basic preview buffer and exit minibuffer =2Dimmediately after the register name is inserted into minibuffer. =2DIf the value is \\=3D'never, behave as for nil, but with no preview buff= er =2Dat all." + :type '(repeat string) + :version 30.1) + +(defvar register--read-with-preview-function nil + "The register read preview function to use. +Two functions are provided, one that provide navigation and +highlighting of the register selected, filtering of register +according to command in use, defaults register to use when +setting a new register, confirmation and notification when you +are about to overwrite a register and generic functions to +configure how each existing commands behave. The other function +provided is the same as what was used in Emacs-29, no filtering, +no navigation, no defaults.") + +(defvar register-preview-function nil + "Function to format a register for previewing. +Called with one argument, a cons (NAME . CONTENTS) as found in `register-a= list'. +The function should return a string, the description of the argument. +It is set according to the value of `register--read-with-preview-function'= .") + +(defcustom register-use-preview 'basic + "Maybe show register preview. + +This has no effect when `register--read-with-preview-function' value +is `register-read-with-preview-basic'. + +When set to `t' show a preview buffer with navigation and highlighting. +When nil show a basic preview buffer and exit minibuffer +immediately after insertion in minibuffer. +When set to \\=3D'never behave as above but with no preview buffer at +all. +When set to \\=3D'basic provide a much more basic preview according to +`register-preview-delay', it has the exact same behavior as in Emacs-29." :type '(choice (const :tag "Use preview" t) (const :tag "Use quick preview" nil) =2D (const :tag "Never use preview" never)) =2D :version "30.1") + (const :tag "Never use preview" never) + (const :tag "Basic preview like Emacs-29" basic)) + :version 30.1 + :set (lambda (var val) + (set var val) + (setq register--read-with-preview-function + (if (eq val 'basic) + #'register-read-with-preview-basic + #'register-read-with-preview-fancy)) + (setq register-preview-function nil))) =20 (defun get-register (register) "Return contents of Emacs register named REGISTER, or nil if none." @@ -138,17 +168,28 @@ See the documentation of the variable `register-alist= ' for possible VALUEs." (substring d (match-end 0)) d))) =20 =2D(defun register-preview-default (r) +(defun register-preview-default-1 (r) "Function that is the default value of the variable `register-preview-fu= nction'." (format "%s: %s\n" (propertize (string (car r)) 'display (single-key-description (car r))) (register-describe-oneline (car r)))) =20 =2D(defvar register-preview-function #'register-preview-default =2D "Function to format a register for previewing. =2DCalled with one argument, a cons (NAME . CONTENTS) as found in `register= -alist'. =2DThe function should return a string, the description of the argument.") +(defun register-preview-default (r) + "Function that is the default value of the variable `register-preview-fu= nction'." + (format "%s: %s\n" + (single-key-description (car r)) + (register-describe-oneline (car r)))) + +(cl-defgeneric register--preview-function (read-preview-function) + "Returns a function to format a register for previewing. +This according to the value of READ-PREVIEW-FUNCTION.") +(cl-defmethod register--preview-function ((_read-preview-function + (eql register-read-with-preview= -basic))) + #'register-preview-default) +(cl-defmethod register--preview-function ((_read-preview-function + (eql register-read-with-preview= -fancy))) + #'register-preview-default-1) =20 (cl-defstruct register-preview-info "Store data for a specific register command. @@ -310,9 +351,9 @@ satisfy `cl-typep' otherwise the new type should be def= ined with (cl-defmethod register--type ((_regval string)) 'string) (cl-defmethod register--type ((_regval number)) 'number) (cl-defmethod register--type ((_regval marker)) 'marker) =2D(cl-defmethod register--type ((_regval (eql 'buffer))) 'buffer) =2D(cl-defmethod register--type ((_regval (eql 'file))) 'file) =2D(cl-defmethod register--type ((_regval (eql 'file-query))) 'file-query) +(cl-defmethod register--type ((_regval (eql buffer))) 'buffer) +(cl-defmethod register--type ((_regval (eql file))) 'file) +(cl-defmethod register--type ((_regval (eql file-query))) 'file-query) (cl-defmethod register--type ((_regval window-configuration)) 'window) (cl-deftype frame-register () '(satisfies frameset-register-p)) (cl-defmethod register--type :extra "frame-register" (_regval) 'frame) @@ -327,12 +368,39 @@ satisfy `cl-typep' otherwise the new type should be d= efined with when (memq (register-type register) types) collect register))) =20 =2D(defun register-preview (buffer &optional show-empty types) +(defun register-preview (buffer &optional show-empty) "Pop up a window showing the registers preview in BUFFER. If SHOW-EMPTY is non-nil, show the window even if no registers. +Format of each entry is controlled by the variable `register-preview-funct= ion'." + (unless register-preview-function + (setq register-preview-function (register--preview-function + register--read-with-preview-function)= )) + (when (or show-empty (consp register-alist)) + (with-current-buffer-window + buffer + (cons 'display-buffer-below-selected + '((window-height . fit-window-to-buffer) + (preserve-size . (nil . t)))) + nil + (with-current-buffer standard-output + (setq cursor-in-non-selected-windows nil) + (mapc (lambda (elem) + (when (get-register (car elem)) + (insert (funcall register-preview-function elem)))) + register-alist))))) + +(defun register-preview-1 (buffer &optional show-empty types) + "Pop up a window showing the registers preview in BUFFER. + +This is the preview function use with +`register-read-with-preview-fancy' function. +If SHOW-EMPTY is non-nil, show the window even if no registers. Argument TYPES (a list) specify the types of register to show, when nil sh= ow all registers, see `register-type' for suitable types. Format of each entry is controlled by the variable `register-preview-funct= ion'." + (unless register-preview-function + (setq register-preview-function (register--preview-function + register--read-with-preview-function)= )) (let ((registers (register-of-type-alist (or types '(all))))) (when (or show-empty (consp registers)) (with-current-buffer-window @@ -360,6 +428,46 @@ Format of each entry is controlled by the variable `re= gister-preview-function'." "Read and return a register name, possibly showing existing registers. Prompt with the string PROMPT. If `help-char' (or a member of `help-event-list') is pressed, +display such a window regardless." + (funcall register--read-with-preview-function prompt)) + +(defun register-read-with-preview-basic (prompt) + "Read and return a register name, possibly showing existing registers. +Prompt with the string PROMPT. If `register-alist' and +`register-preview-delay' are both non-nil, display a window +listing existing registers after `register-preview-delay' seconds. +If `help-char' (or a member of `help-event-list') is pressed, +display such a window regardless." + (let* ((buffer "*Register Preview*") + (timer (when (numberp register-preview-delay) + (run-with-timer register-preview-delay nil + (lambda () + (unless (get-buffer-window buffer) + (register-preview buffer)))))) + (help-chars (cl-loop for c in (cons help-char help-event-list) + when (not (get-register c)) + collect c))) + (unwind-protect + (progn + (while (memq (read-key (propertize prompt 'face 'minibuffer-prompt)) + help-chars) + (unless (get-buffer-window buffer) + (register-preview buffer 'show-empty))) + (when (or (eq ?\C-g last-input-event) + (eq 'escape last-input-event) + (eq ?\C-\[ last-input-event)) + (keyboard-quit)) + (if (characterp last-input-event) last-input-event + (error "Non-character input-event"))) + (and (timerp timer) (cancel-timer timer)) + (let ((w (get-buffer-window buffer))) + (and (window-live-p w) (delete-window w))) + (and (get-buffer buffer) (kill-buffer buffer))))) + +(defun register-read-with-preview-fancy (prompt) + "Read and return a register name, possibly showing existing registers. +Prompt with the string PROMPT. +If `help-char' (or a member of `help-event-list') is pressed, display such a window regardless." (let* ((buffer "*Register Preview*") (buffer1 "*Register quick preview*") @@ -392,13 +500,13 @@ display such a window regardless." ;; Do nothing when buffer1 is in use. (unless (get-buffer-window buf) (with-selected-window (minibuffer-selected-window) =2D (register-preview buffer 'show-empty types)))= ))) + (register-preview-1 buffer 'show-empty types)))= ))) (define-key map (kbd "") 'register-preview-next) (define-key map (kbd "") 'register-preview-previous) (define-key map (kbd "C-n") 'register-preview-next) (define-key map (kbd "C-p") 'register-preview-previous) (unless (or executing-kbd-macro (eq register-use-preview 'never)) =2D (register-preview buf nil types)) + (register-preview-1 buf nil types)) (unwind-protect (progn (minibuffer-with-setup-hook =2D-=20 2.34.1 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0003-Fix-issue-with-register-commands-in-kmacro.patch Content-Transfer-Encoding: quoted-printable From=200fe75f80172bb02a082e786264f21e69e09a96dd Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Mon, 18 Dec 2023 07:11:42 +0100 Subject: [PATCH 3/4] Fix issue with register commands in kmacro Using post-command-hook in minibuffer-setup-hook instead of a timer allow running exit-minibuffer without delay and ensure the serie of commands used in a kmacro run synchronously. * lisp/register.el (register-read-with-preview-fancy): Do it. =2D-- lisp/register.el | 114 +++++++++++++++++++++++------------------------ 1 file changed, 56 insertions(+), 58 deletions(-) diff --git a/lisp/register.el b/lisp/register.el index 8f0c6a7105d..19b207960d6 100644 =2D-- a/lisp/register.el +++ b/lisp/register.el @@ -478,7 +478,7 @@ display such a window regardless." m)) (data (register-command-info this-command)) (enable-recursive-minibuffers t) =2D types msg result timer act win strs smatch noconfirm) + types msg result act win strs smatch noconfirm) (if data (setq types (register-preview-info-types data) msg (register-preview-info-msg data) @@ -511,68 +511,66 @@ display such a window regardless." (progn (minibuffer-with-setup-hook (lambda () =2D (setq timer =2D (run-with-idle-timer =2D 0.01 'repeat =2D (lambda () =2D (with-selected-window (minibuffer-window) =2D (let ((input (minibuffer-contents))) =2D (when (> (length input) 1) =2D (let ((new (substring input 1)) =2D (old (substring input 0 1))) =2D (setq input (if (or (null smatch) =2D (member new strs)) =2D new old)) =2D (delete-minibuffer-contents) =2D (insert input))) =2D (when (and smatch (not (string=3D input ""= )) =2D (not (member input strs))) =2D (setq input "") =2D (delete-minibuffer-contents) =2D (minibuffer-message "Not matching")) =2D (when (not (string=3D input pat)) =2D (setq pat input)))) =2D (if (setq win (get-buffer-window buffer)) =2D (with-selected-window win =2D (let ((ov (make-overlay =2D (point-min) (point-min))) =2D ;; Allow upper-case and =2D ;; lower-case letters to refer =2D ;; to different registers. =2D (case-fold-search nil)) =2D (goto-char (point-min)) =2D (remove-overlays) =2D (unless (string=3D pat "") =2D (if (re-search-forward (concat "^" p= at) nil t) =2D (progn (move-overlay =2D ov =2D (match-beginning 0) (pos= -eol)) =2D (overlay-put ov 'face 'ma= tch) =2D (when msg =2D (with-selected-window (= minibuffer-window) =2D (minibuffer-message m= sg pat)))) =2D (with-selected-window (minibuffer-= window) =2D (minibuffer-message =2D "Register `%s' is empty" pat)))= ))) =2D (unless (string=3D pat "") =2D (with-selected-window (minibuffer-window) =2D (if (and (member pat strs) =2D (memq act '(set modify)) =2D (null noconfirm)) =2D (with-selected-window (minibuffer-wi= ndow) =2D (minibuffer-message msg pat)) =2D ;; The action is insert or =2D ;; jump or noconfirm is specifed =2D ;; explicitely, don't ask for =2D ;; confirmation and exit immediately (= bug#66394). =2D (setq result pat) =2D (exit-minibuffer))))))))) + (add-hook 'post-command-hook + (lambda () + (with-selected-window (minibuffer-window) + (let ((input (minibuffer-contents))) + (when (> (length input) 1) + (let ((new (substring input 1)) + (old (substring input 0 1))) + (setq input (if (or (null smatch) + (member new strs)) + new old)) + (delete-minibuffer-contents) + (insert input))) + (when (and smatch (not (string=3D input "= ")) + (not (member input strs))) + (setq input "") + (delete-minibuffer-contents) + (minibuffer-message "Not matching")) + (when (not (string=3D input pat)) + (setq pat input)))) + (if (setq win (get-buffer-window buffer)) + (with-selected-window win + (let ((ov (make-overlay + (point-min) (point-min))) + ;; Allow upper-case and + ;; lower-case letters to refer + ;; to different registers. + (case-fold-search nil)) + (goto-char (point-min)) + (remove-overlays) + (unless (string=3D pat "") + (if (re-search-forward (concat "^" = pat) nil t) + (progn (move-overlay + ov + (match-beginning 0) (po= s-eol)) + (overlay-put ov 'face 'm= atch) + (when msg + (with-selected-window = (minibuffer-window) + (minibuffer-message = msg pat)))) + (with-selected-window (minibuffer= -window) + (minibuffer-message + "Register `%s' is empty" pat))= )))) + (unless (string=3D pat "") + (with-selected-window (minibuffer-window) + (if (and (member pat strs) + (memq act '(set modify)) + (null noconfirm)) + (with-selected-window (minibuffer-w= indow) + (minibuffer-message msg pat)) + ;; The action is insert or + ;; jump or noconfirm is specifed + ;; explicitely, don't ask for + ;; confirmation and exit immediately = (bug#66394). + (setq result pat) + (exit-minibuffer)))))) + nil 'local)) (setq result (read-from-minibuffer prompt nil map nil nil (register-preview-get-de= faults act)))) (cl-assert (and result (not (string=3D result ""))) nil "No register specified") (string-to-char result)) =2D (when timer (cancel-timer timer)) (let ((w (get-buffer-window buf))) (and (window-live-p w) (delete-window w))) (and (get-buffer buf) (kill-buffer buf))))) =2D-=20 2.34.1 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0004-Fix-condition-in-register-read-with-preview-fancy.patch Content-Transfer-Encoding: quoted-printable From=20777c6c7e821d44faa970655c04e9eba8e5b11498 Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Tue, 19 Dec 2023 17:45:22 +0100 Subject: [PATCH 4/4] Fix condition in register-read-with-preview-fancy Now with have :noconfirm no need to check for '(set modify) otherwise we fail as well in kmacros when register-use-preview is t. The conditions should not be hard coded in register-read-with-preview-fancy but in the cl-defmethod register-command-info for each command. * lisp/register.el (register-read-with-preview-fancy): Remove now unneeded condition. =2D-- lisp/register.el | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lisp/register.el b/lisp/register.el index 19b207960d6..c2b10a91adb 100644 =2D-- a/lisp/register.el +++ b/lisp/register.el @@ -207,14 +207,16 @@ SMATCH accept a boolean value to say if command accep= t non matching register." :types '(string number) :msg "Insert register `%s'" :act 'insert =2D :smatch t)) + :smatch t + :noconfirm (memq register-use-preview '(nil never)))) (cl-defmethod register-command-info ((_command (eql jump-to-register))) (make-register-preview-info :types '(window frame marker kmacro file buffer file-query) :msg "Jump to register `%s'" :act 'jump =2D :smatch t)) + :smatch t + :noconfirm (memq register-use-preview '(nil never)))) (cl-defmethod register-command-info ((_command (eql view-register))) (make-register-preview-info :types '(all) @@ -555,12 +557,10 @@ display such a window regardless." (unless (string=3D pat "") (with-selected-window (minibuffer-window) (if (and (member pat strs) =2D (memq act '(set modify)) (null noconfirm)) (with-selected-window (minibuffer-w= indow) (minibuffer-message msg pat)) =2D ;; The action is insert or =2D ;; jump or noconfirm is specifed + ;; :noconfirm is specifed ;; explicitely, don't ask for ;; confirmation and exit immediately = (bug#66394). (setq result pat) =2D-=20 2.34.1 --=-=-=-- --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmWB1awTHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvk3e/C/49hgG/pt+YTzaAHC1DA2d+9/Q+9zLf N2BhluynQytPJl4rw0O/eLls+khkVOaZlCfvFY+jFFRrcHnCxuE3Tp4CxhuUVRs4 YejvEBZfhlSxpx7RDS0AhG4eZVw2II282xypyCzca1ygPpQ5p7TpefCAb/ySGRgj GJpLZP4y71xLpigqjnDDfyXkbXkQjMSEhqJxPutow8Y1GcSDIeT7YkxKH1+Shqhf fvgULNkv9upImQ0OOn2pmmvX88/CpYocFtw2hZ2F6hknapmSs8+F8ZReesRn086g Cwg9HR2jl+syDg7LucLF4DZEbzf9emltTsPKVNccklRsCvzJNh0YewVJywI8o6lh mkoSnmCqEumVEM0dmssrjWJsYdz+IHEMQP2X86lCVuHArx+zAXWU67xvodfVTv4D EpuQnPfJ/gVw+1DCP9vPq8h92x3pEi0Y1bU1T+gbHFO0POxv2mAIkUwU1wK/+qV8 +Ujq/tXRZOksdtwBUb64CGvYIzcSd7aYNUU= =CYtm -----END PGP SIGNATURE----- --==-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 19 Dec 2023 17:48:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: michael_heerdegen@web.de, dmitry@gutov.dev, Eli Zaretskii , Stefan Kangas , 66394@debbugs.gnu.org Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170300803828901 (code B ref 66394); Tue, 19 Dec 2023 17:48:02 +0000 Received: (at 66394) by debbugs.gnu.org; 19 Dec 2023 17:47:18 +0000 Received: from localhost ([127.0.0.1]:37272 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rFeBa-0007W4-8M for submit@debbugs.gnu.org; Tue, 19 Dec 2023 12:47:18 -0500 Received: from mout01.posteo.de ([185.67.36.65]:34927) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rFeBY-0007Vk-Jc for 66394@debbugs.gnu.org; Tue, 19 Dec 2023 12:47:17 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id A70D224002B for <66394@debbugs.gnu.org>; Tue, 19 Dec 2023 18:47:07 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1703008027; bh=BbX6PRBKjH+wAgOgOIRd36nYtsMGkgWWlWqs0jYb+F8=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=m31T5r/Q8s6chnF7RmbLacQAEaf2XghePnV0eaSM8pLB8EnR2Pm7GiU+C4iKpgFfE doGTUYqDJpW6RU5q9Yd7y9hnEK8zl5sJZke20hh8W/hBFtJetG0PGCc5q3Pp7xcCiA C1O37agM9nb1RmiUpohTLmUbJ7H0k8mxKKyfT7Tqw4dUrBgVr/iq6w41Xe2e35cl5d Ozxdd8VazVoeEQw5lBjy1+vONDk7jlLVApnHYbV5DYq21UTpDucA45mE9HrzH1JIMS udCsSliZk+B2PibnUmUj2pqSjQzzdRND0s/ohlyAEkK7mZWGN56X7ypteTwPl2XxMx xX8rzxMOaPfSg== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4SvkfL2YHcz6twS; Tue, 19 Dec 2023 18:47:06 +0100 (CET) From: Thierry Volpiatto In-Reply-To: <8734vym6ok.fsf@posteo.net> (Thierry Volpiatto's message of "Tue, 19 Dec 2023 18:40:59 +0100 (4 minutes, 6 seconds ago)") References: <87il7ib6cu.fsf@posteo.net> <87a5qhxf05.fsf@posteo.net> <83jzpkvs4z.fsf@gnu.org> <87v8947ulo.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> <87cyvbepi0.fsf@posteo.net> <87bkavk9nv.fsf@posteo.net> <8eebbb30-9366-e869-a39a-8100638cb99a@gutov.dev> <87o7etgxeb.fsf@posteo.net> <83v891qlcn.fsf@gnu.org> <87r0jn4j8i.fsf@posteo.net> <87jzpf48k5.fsf@posteo.net> <87plz6xp3m.fsf@posteo.net> <8734vym6ok.fsf@posteo.net> Date: Tue, 19 Dec 2023 17:47:00 +0000 Message-ID: <87bkamqe3v.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Thierry Volpiatto writes: > Hello Stefan, > > Stefan Monnier writes: > >>> It should be possible to use post-command-hook, I didn't use it because >>> it makes harder the communication between the minibuffer and the preview >>> buffer. >> >> The patch below seems to work for my extremely limited testing. > (cl-defmethod register-command-info ((_command (eql increment-registe= r))) > (make-register-preview-info > :types '(all) > :msg "Increment to register `%s'" > :act 'set > :smatch t > :noconfirm t)) Copied the wrong one, the test was with :noconfirm =3D=3D nil: (cl-defmethod register-command-info ((_command (eql increment-register= ))) (make-register-preview-info :types '(all) :msg "Increment to register `%s'" :act 'set :smatch t :noconfirm nil)) =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmWB1xQTHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvk+nUC/wKbYtivIBqp4VWpEKnyM7hi0cGy6mh ZnECM3PL+ABkxVf/W73y1/NPoBulPP17QKgcJQ60HaJWuEEs6+ZcGsCIr4Lt/UxQ bHrzWeAcTjew4WXFHyFJPqkOJI3WZn/rf06kf/D4YyjKK9gQdSAf6RmEFGNzUBTt eFq+3jNJ88AvT5T1bRyLr04B68L082OiyiybXp2tVVo0/7bcCErVMajBoxzcAhzO x4NbDZMCMUDYyxdH8Sm5zjuN7LZcSez5fEAK7VP1+8hIfAM+sZCtP4CGBsqPhD+r vsOOSMALW2aBhKaFKRK+NEdZtNPs7EU1fQWRncHOO4ECl7FpCh/9fPah0alRvY1L mtkwsvfZW/EfSwWcZtD8JW2yvjBt/42G4IFMC4+XvY+7bl6vhghEAaC80Hd4WGdO Ua8ArVcY1OuYarlZM2UMeML3v7Vd8OtigTNKoBufpu0VQDEJCkz9nXGAnNhkzokm YT1j2/wO0OwlVaFSfciR/VyV8jXy1wJl6ko= =YJmr -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 20 Dec 2023 12:07:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: michael_heerdegen@web.de, dmitry@gutov.dev, 66394@debbugs.gnu.org, monnier@iro.umontreal.ca, stefankangas@gmail.com Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170307399831429 (code B ref 66394); Wed, 20 Dec 2023 12:07:02 +0000 Received: (at 66394) by debbugs.gnu.org; 20 Dec 2023 12:06:38 +0000 Received: from localhost ([127.0.0.1]:38815 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rFvLS-0008Ar-9s for submit@debbugs.gnu.org; Wed, 20 Dec 2023 07:06:38 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:53738) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rFvLO-0008Ab-3H for 66394@debbugs.gnu.org; Wed, 20 Dec 2023 07:06:36 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rFvLD-0004sb-MP; Wed, 20 Dec 2023 07:06:23 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=+07YkKCVj6vuA/I67NSTYreWNffWZOMtY9l+af1FTsk=; b=SEkk5KHeUGhx 2c57NJmf4UaRwq6Q0NS8QM1GeT9IxHxghp00lAle7LFRyGwcP5GY94Zlwp3KF94gAdR7bqDN0gbwz nJfW9H1Q0EFTQ0ftikX9DewoXJt1OCmENVsr7w5ok5W9dU2Ho1EtnVUQUM07HvrlaRIuKCoQYAL+A BTFtmyp6LEIFo81MVNYOMVWC7xyNqqfCWgrNEfyd8iHhSQwwkYsUu61CAvfN8q08I8Fer9oaf5fk7 pLmuMqs9Tp1h02Qno16GiDcSbYDdaFeki/nJ163fOcGHdqOQX9rSDrXTlorSoh2a/OvOK+bnzSwOw l5Sa9PyauTOuH2kEXFjMlw==; Date: Wed, 20 Dec 2023 14:05:59 +0200 Message-Id: <83ttodgjtk.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <8734vym6ok.fsf@posteo.net> (message from Thierry Volpiatto on Tue, 19 Dec 2023 17:40:59 +0000) References: <87il7ib6cu.fsf@posteo.net> <83plzp82mb.fsf@gnu.org> <87a5qhxf05.fsf@posteo.net> <83jzpkvs4z.fsf@gnu.org> <87v8947ulo.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> <87cyvbepi0.fsf@posteo.net> <87bkavk9nv.fsf@posteo.net> <8eebbb30-9366-e869-a39a-8100638cb99a@gutov.dev> <87o7etgxeb.fsf@posteo.net> <83v891qlcn.fsf@gnu.org> <87r0jn4j8i.fsf@posteo.net> <87jzpf48k5.fsf@posteo.net> <87plz6xp3m.fsf@posteo.net> <8734vym6ok.fsf@posteo.net> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Thierry Volpiatto > Cc: Stefan Kangas , Eli Zaretskii , > dmitry@gutov.dev, michael_heerdegen@web.de, 66394@debbugs.gnu.org > Date: Tue, 19 Dec 2023 17:40:59 +0000 > > So it seems we have now something working fine in all conditions :-) > > Here the serie of patches (the first 3 are unchanged). Thank you for all your efforts in this matter. I have only 2 minor comments: . I suggest to rename all the "*basic" symbols to "*traditional" instead (including such words in some doc strings) . I think we need to update the NEWS entry, and in particular describe there the two different "styles" of entering the register names and the preview modes (I'm okay with doing these minor changes myself, once you install the changes.) Thanks again. From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 20 Dec 2023 17:24:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: michael_heerdegen@web.de, dmitry@gutov.dev, 66394@debbugs.gnu.org, monnier@iro.umontreal.ca, stefankangas@gmail.com Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170309302417619 (code B ref 66394); Wed, 20 Dec 2023 17:24:02 +0000 Received: (at 66394) by debbugs.gnu.org; 20 Dec 2023 17:23:44 +0000 Received: from localhost ([127.0.0.1]:41715 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rG0IJ-0004a5-Jv for submit@debbugs.gnu.org; Wed, 20 Dec 2023 12:23:43 -0500 Received: from mout02.posteo.de ([185.67.36.66]:45829) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rG0IF-0004Zn-2Q for 66394@debbugs.gnu.org; Wed, 20 Dec 2023 12:23:42 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 0E002240106 for <66394@debbugs.gnu.org>; Wed, 20 Dec 2023 18:23:28 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1703093009; bh=s9Gn/Ka9K0bnJMwPirqpjc85PNuhNo1zJbZrKxeYh/A=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=KdmmsDztwiYEivLl3Sc/COOLDXB0nHAnJ0KIAJ45aTKsJBj32K9NOqXdzH0fwLDT0 IAvY6ro7ITnQ0qH4htZMBOkqDqZrWkH6ToqZZp18bkbLFNUpbHqd70l+C2qg5kh16G JUSS5kipeQfGB7ghqQBsPXpgTvPbEtvbuvc08lvf3B5Ax4rVnFzgBUKfDNHWTwmWHn /Y+wrzt3zqV8Um1etlsP9ifVCaDLYJJMKpELMYr68BZ00rhmtEI5zIWIVHpC97uhRi ebjBHRYdbdYGnEKjSVdbMvFuTLrqsKJ0wjSsrqXBZeSSzIrsxXR9z8vbt71F3eSuCh YGxKeEBVjdkYA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4SwL4Z4ktcz6tvh; Wed, 20 Dec 2023 18:23:26 +0100 (CET) From: Thierry Volpiatto In-Reply-To: <83ttodgjtk.fsf@gnu.org> (Eli Zaretskii's message of "Wed, 20 Dec 2023 14:05:59 +0200 (5 hours, 9 minutes, 48 seconds ago)") References: <87il7ib6cu.fsf@posteo.net> <83jzpkvs4z.fsf@gnu.org> <87v8947ulo.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> <87cyvbepi0.fsf@posteo.net> <87bkavk9nv.fsf@posteo.net> <8eebbb30-9366-e869-a39a-8100638cb99a@gutov.dev> <87o7etgxeb.fsf@posteo.net> <83v891qlcn.fsf@gnu.org> <87r0jn4j8i.fsf@posteo.net> <87jzpf48k5.fsf@posteo.net> <87plz6xp3m.fsf@posteo.net> <8734vym6ok.fsf@posteo.net> <83ttodgjtk.fsf@gnu.org> Date: Wed, 20 Dec 2023 17:23:14 +0000 Message-ID: <87cyv0hjp9.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=xsDNBF8ylcIBDADG+hy+zR6L4/vbdDDZuSaMmSrU3A5QZJpeBCvxTr7MpzzruZbhLPW1K3R6N2MA edi8Y+C8o27FVRIjpdbaKMGu9je7JV/TbUQYo3SOwCK1vM4LUn4V6ZLzSYkuiEt4eyMoiDdyvN0p kcK6P9x9DCetcEVszXzQg+yzCVrQ2hXWDXWT4M18EC3wtO7RHPouMqGiwBFhBAYErCqFWFxQHkfb tG/4yGyJ58rglb65O3qijjMWvYwcWZun9/7qm8Z4/4mHopmo2zgU+OrptnLSZfkZGz3Y7Uf452xQ GVq0Fv75NPvQru7y+DYVhuVXXyAmGxt+vf4rIiixMBbhKEPjcxEPAa2LTzex2IsTZR+QVG9uDnqC WcgaOEQ58fzXNvNhtwwF/Rgio2XWAJVdmFWS59/k9W58CIUSNKBMZh2XeGdEmtHvDtCxW3z6FJha 36RzOM3fMNNiAGdFZJA84gcdloJR+sHCDTTPT3784fjr+V8An7sI581NGFzkRQqPvEQCZbUAEQEA Ac0SdGhpZXZvbEBwb3N0ZW8ubmV0wsEOBBMBCgA4AhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheA FiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmL3HCoACgkQDsVtFB0W75OVEAv/f6XxmtIFz08fUb8h Bp/zJP6IC4/rhhh+0GMRIRzLN8DK0jV8JCzYdFHiRJOy2lNIOpmrrCmjRRxferc2G42+ePFIsslx hU46VSz1Z83NwIG3mpdYNV5WUTUdgzxExHTNTFCd7NKv0nlHKQaAtdXm5bYnSHsnL7cx8z7lukA/ EsJocE+GD7QXnsrdlicvdobI0TEN4l73221a72oCvHfYLCVsB6YsNJ5ZGkA1zSjzln5uLAgZ/2r/ aqlao/AlSZkAk6+hvK0RyAZ/YR4YRZxO8Fsd0gWgFkanRfKfufJ1V0OHZg7yszi3q/hRzS+rZtJ0 OuzDlh/dyQkxVkZb9vis/+HnGDJrBE5MsmJLcy2Sy3uUnio0fq8q9CrZbudvd1DajlZxPzTm0csP eUk45QEgbhEU7MfyAX/mkKxjHajz2cMcHKIap1BqEgJl4BKFeLMcBZ4O1p9ivwtf1Ht2JTp5lOi0 ItPfhQ4DP8LZ1ZIkN5Kg9v0cyw9meRzAuuR0V2GtzsDNBF8ylcIBDADnIDHEkmk4lUwTlOhwb2yj UfmGPnpH3MCCHkjM9H/P1gTHxFWtwFVPcNMCwXWvKSBTF2dZXKERD0yzG06zT53ZMN7EIIeuY6m4 R8IcMvpohciisWxbFoB4ZY117tVSeqjo946itgbpdeESKl9a8dpn7ytZMyYxPdojlQAqxeAJ8444 raESh1oTKXb64hlk4l2pSRlrLgjpJBo8asAfZndaxIUKhw68tV8sqeZh9P6cGtHbUELKVJqefNV7 V7jF5wf3xvRG6Ces3kSKXalLfs+vrVaoOjQeWrc0AtwFWHmt9JLfKrqF+Q2Q7jUidboWmazQM56E SJFPpPHmWq8k6DHspsFHOforLouTHJL1556IPne7IV2BGfWc0+xLxalZ8F5F+vnPF/OkrC1CD5iC KTjXKa2iZbcYdYQAiL6P8Ac8CgN6EkhpbxRtzrEgChuNGevdi/G/GHG4Zqrh6YFwIa/NHq2aVaFq 5C1yNTMJd1FRjRzs5JPPlJKpYDnNx+MSp7UAEQEAAcLA9gQYAQoAIAIbDBYhBCPbcH0Te6954oP8 cA7FbRQdFu+TBQJi9x1ZAAoJEA7FbRQdFu+To6QMAIcvUSiFwCIggxkmYy3ZY0QAMLmIPga8DNPM XbfSOBDb2KLGBd+FAA8p2GExpul4r6kOYnGogtojByHmVgrd30/3ZURTM8Vj51wwD05viMZccQHl Wd9J/qZIvhBJlJWYnwVxh+2Kg4/hkx7SGc7JJS5GS37+PFQOJHPGMxc+fe4Ty2FdjIOVf3P1Hov9 K6yBI7Af66qqcL3aKJ4jJidRYN8sMaKOqEu4rcSpTxp8/3Ddbs9HezUgXeUzOLJMcEYFlvCyC8ZS l/QDZmpobKbxZ1JAqZM8lnmcZYSV7OsWnxJIYDV1gH5LTLj7bGswXaB4B+qkckihWkRZixu8q1IK 0c/xwUzyF092uFRM/sQKrSmnwA1+hQiiIuEl4XVz5li0/TmMta3ijUM7GNbl2IjioTRxWWecwad1 mNHvKTcXPsKDAbHFdLvQzurnroBHQV0jSPNLTP5Suo7RnLbehfg5INpGjToCUlrd2qQqgXW7h5qZ TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Eli Zaretskii writes: >> From: Thierry Volpiatto >> Cc: Stefan Kangas , Eli Zaretskii , >> dmitry@gutov.dev, michael_heerdegen@web.de, 66394@debbugs.gnu.org >> Date: Tue, 19 Dec 2023 17:40:59 +0000 >>=20 >> So it seems we have now something working fine in all conditions :-) >>=20 >> Here the serie of patches (the first 3 are unchanged).=20 > > Thank you for all your efforts in this matter. You are welcome. > I have only 2 minor comments: > > . I suggest to rename all the "*basic" symbols to "*traditional" > instead (including such words in some doc strings) Ok, done. Have a look though to verify if docstring is correct. > . I think we need to update the NEWS entry, and in particular > describe there the two different "styles" of entering the register > names and the preview modes I would prefer you do this, it will be better written. > (I'm okay with doing these minor changes myself, once you install the > changes.) Ok, now merged, Thanks. > Thanks again. =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmWDIwMTHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvkyjhC/4iBTInBRruyMghXlvAgZrqyTqYoTx/ G8sx2SoORmgCvNoz3Gx9T/b88gP7A2znCelRXv7oqFW5rtxRnf3M37t2gH5Jw8jj /WzTd65yAIN9RUnBnwkdMocE3+OxSNQR0BejZWZhf7qGEwZO8Wl6uk1ttzf8cXf9 lr4ba0bx5sTZiVuAwDK+dFvfawL59PUKhxfEqGxHIP6aBdM0BcYEzhFhX4B/VVqx Xp4uAuHC+gnNoFPEYpU+3az/i3mzbiHzkDbYfjYdrSYkl+BcKiqVXExvCLMQrH12 Rg2ZVJ88ocSzmpjlgeEA2VoHCizeMxqnOoQN4Sm1VXArW1HCqKmPBglQByVc9YZe R1uscc3TziQ+s55e5zM4pH13lN6p/pxJ4EvJLMSJ5PvbNjr3K7COZE3nfBZq2Yy/ HE5KwMl/mWaLM81OTspKOuscYUdbdoihNtuMaP84va2yzbQzZgxuWOvrTgam7ze7 0JPAFLtlQ2rd7hR0NTUVy3PpCMlFaPjKeOw= =OOXW -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 21 Dec 2023 11:49:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Thierry Volpiatto Cc: michael_heerdegen@web.de, dmitry@gutov.dev, 66394@debbugs.gnu.org, monnier@iro.umontreal.ca, stefankangas@gmail.com Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170315932529689 (code B ref 66394); Thu, 21 Dec 2023 11:49:02 +0000 Received: (at 66394) by debbugs.gnu.org; 21 Dec 2023 11:48:45 +0000 Received: from localhost ([127.0.0.1]:42557 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rGHXh-0007ij-3r for submit@debbugs.gnu.org; Thu, 21 Dec 2023 06:48:45 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:43848) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rGHXe-0007ht-15 for 66394@debbugs.gnu.org; Thu, 21 Dec 2023 06:48:44 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rGHXT-0005A4-Lj; Thu, 21 Dec 2023 06:48:31 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=4utp0pYMMYS5XmsOrTAFYA8+TMXvQunCCCZtrAOgxDI=; b=q/3csal/XNOd v+NJmBReXrNBLG4EhxaFMyXho4oLeftK0/ec5wuzsA0qVm6w21bu6oAGUaIwcp9MTKUoD+rybf5IC gyCwJoX5g+To5xPXUAqJvLOhy+80IhDZqARCG4SgxKQO/69hvrmF/PD9bIgT35xM4xlLWcl0hP+LB o0KqMmUJd4J/FSJdot+kQ6q3fosVzAatm7WsXxmYFc6XGXYEirG/AzaToliAtEtrzgcFdfyXmEAEt 5rlcYP0D0lbfRewgkt4sw3MCUa+cc4W3JHEsF5QAygrgR146DPlHDJtokQv0d1gH/hIYwoP/3HTDF NOded0NCYiqogGpwvmg6bw==; Date: Thu, 21 Dec 2023 13:47:51 +0200 Message-Id: <83wmt7g4k8.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <87cyv0hjp9.fsf@posteo.net> (message from Thierry Volpiatto on Wed, 20 Dec 2023 17:23:14 +0000) References: <87il7ib6cu.fsf@posteo.net> <83jzpkvs4z.fsf@gnu.org> <87v8947ulo.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> <87cyvbepi0.fsf@posteo.net> <87bkavk9nv.fsf@posteo.net> <8eebbb30-9366-e869-a39a-8100638cb99a@gutov.dev> <87o7etgxeb.fsf@posteo.net> <83v891qlcn.fsf@gnu.org> <87r0jn4j8i.fsf@posteo.net> <87jzpf48k5.fsf@posteo.net> <87plz6xp3m.fsf@posteo.net> <8734vym6ok.fsf@posteo.net> <83ttodgjtk.fsf@gnu.org> <87cyv0hjp9.fsf@posteo.net> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Thierry Volpiatto > Cc: monnier@iro.umontreal.ca, stefankangas@gmail.com, dmitry@gutov.dev, > michael_heerdegen@web.de, 66394@debbugs.gnu.org > Date: Wed, 20 Dec 2023 17:23:14 +0000 > > > . I suggest to rename all the "*basic" symbols to "*traditional" > > instead (including such words in some doc strings) > > Ok, done. Have a look though to verify if docstring is correct. > > > . I think we need to update the NEWS entry, and in particular > > describe there the two different "styles" of entering the register > > names and the preview modes > > I would prefer you do this, it will be better written. > > > (I'm okay with doing these minor changes myself, once you install the > > changes.) > > Ok, now merged, Thanks. Thanks, I have a question: The doc string of register-use-preview says: This has no effect when the value of `register--read-with-preview-function' is `register-read-with-preview-traditional'. However, customizing register-use-preview to the value 'traditional has the exact effect of setting register--read-with-preview-function to register-read-with-preview-traditional. OTOH, when register-use-preview is set to 'traditional, one can set it to a different value, and then the behavior will change. So I wonder what that sentence is about and what I missed? Is that perhaps a leftover from previous versions, and should now be deleted? I updated the documentation and NEWS. I'd appreciate if you could spare a few minutes to review the changes and point out any inaccuracies or mistakes. From unknown Mon Aug 18 17:54:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66394: 29.1; Make register-read-with-preview more useful Resent-From: Thierry Volpiatto Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 21 Dec 2023 18:05:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: michael_heerdegen@web.de, dmitry@gutov.dev, 66394@debbugs.gnu.org, monnier@iro.umontreal.ca, stefankangas@gmail.com Received: via spool by 66394-submit@debbugs.gnu.org id=B66394.170318186528367 (code B ref 66394); Thu, 21 Dec 2023 18:05:01 +0000 Received: (at 66394) by debbugs.gnu.org; 21 Dec 2023 18:04:25 +0000 Received: from localhost ([127.0.0.1]:45387 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rGNPE-0007NS-D6 for submit@debbugs.gnu.org; Thu, 21 Dec 2023 13:04:24 -0500 Received: from mout01.posteo.de ([185.67.36.65]:47185) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rGNPB-0007NC-80 for 66394@debbugs.gnu.org; Thu, 21 Dec 2023 13:04:22 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id B800A240027 for <66394@debbugs.gnu.org>; Thu, 21 Dec 2023 19:04:10 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1703181850; bh=jNKPKaajBC63Kru0XPjz7/A+XKzCVRCq4gDpcANnDWM=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Autocrypt:OpenPGP: From; b=Ll2lLO9gXbHvTf/FzVciO5qXyxEPWqzC/NhyyttbUUyTHsqC+sNub/FPAKmP0Z/le l0eBX0h2TB8Bx4KlB3Sw+d0F5PTO7EtumipTIsF1zaNxGVMk7ehutVABoLb37Q6b5k fnwsrTFGoVMKtvKSSfK+Pi6EYdPMrt+J32BQKz9LISc/WGWP99yeT50qHSSfnrRHW+ gYUrYW9nPVaQiwQkByCbmFf8SL8VawqwNfCoySbnK7hlUt8HzSu1BfffOS+FQvdepf pWIFlZQ8+sMhfo0FTt8GUou+yI233yoU1R8AK09HUozv0QDUJ9WpzgFCiZoLPLvyKy Rpk4CpSbaXW6A== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Swyx45bMKz6tsg; Thu, 21 Dec 2023 19:04:08 +0100 (CET) From: Thierry Volpiatto In-Reply-To: <83wmt7g4k8.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 21 Dec 2023 13:47:51 +0200 (5 hours, 29 minutes, 29 seconds ago)") References: <87il7ib6cu.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> <87cyvbepi0.fsf@posteo.net> <87bkavk9nv.fsf@posteo.net> <8eebbb30-9366-e869-a39a-8100638cb99a@gutov.dev> <87o7etgxeb.fsf@posteo.net> <83v891qlcn.fsf@gnu.org> <87r0jn4j8i.fsf@posteo.net> <87jzpf48k5.fsf@posteo.net> <87plz6xp3m.fsf@posteo.net> <8734vym6ok.fsf@posteo.net> <83ttodgjtk.fsf@gnu.org> <87cyv0hjp9.fsf@posteo.net> <83wmt7g4k8.fsf@gnu.org> Date: Thu, 21 Dec 2023 18:04:02 +0000 Message-ID: <87edff3019.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=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 TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Eli Zaretskii writes: >> From: Thierry Volpiatto >> Cc: monnier@iro.umontreal.ca, stefankangas@gmail.com, dmitry@gutov.dev, >> michael_heerdegen@web.de, 66394@debbugs.gnu.org >> Date: Wed, 20 Dec 2023 17:23:14 +0000 >>=20 >> > . I suggest to rename all the "*basic" symbols to "*traditional" >> > instead (including such words in some doc strings) >>=20 >> Ok, done. Have a look though to verify if docstring is correct. >>=20 >> > . I think we need to update the NEWS entry, and in particular >> > describe there the two different "styles" of entering the register >> > names and the preview modes >>=20 >> I would prefer you do this, it will be better written. >>=20 >> > (I'm okay with doing these minor changes myself, once you install the >> > changes.) >>=20 >> Ok, now merged, Thanks. > > Thanks, I have a question: > > The doc string of register-use-preview says: > > This has no effect when the value of `register--read-with-preview-funct= ion' > is `register-read-with-preview-traditional'. > > However, customizing register-use-preview to the value 'traditional > has the exact effect of setting register--read-with-preview-function > to register-read-with-preview-traditional. OTOH, when > register-use-preview is set to 'traditional, one can set it to a > different value, and then the behavior will change. So I wonder what > that sentence is about and what I missed? Is that perhaps a leftover > from previous versions, and should now be deleted? Yes exactly, it can be deleted. > I updated the documentation and NEWS. I'd appreciate if you could > spare a few minutes to review the changes and point out any > inaccuracies or mistakes. About the documentation or register-use-preview in the manual: Another difference with the old behavior (traditional) is that the preview is filtered according to type of registers used by command. For example insert-register show only the registers that can be inserted, not windows, markers etc... Same for jump. - "Returns a function to format a register for previewing. -This according to the value of READ-PREVIEW-FUNCTION.") + "Return a function to format a register for previewing. +This is according to the value of `read-preview-function'.") Here READ-PREVIEW-FUNCTION is the argument of function and not a variable, so IMO it should be upcased and not quoted. (cl-defstruct register-preview-info "Store data for a specific register command. -TYPES are the types of register supported. -MSG is the minibuffer message to send when a register is selected. +TYPES are the supported types of registers. +MSG is the minibuffer message to show when a register is selected. ACT is the type of action the command is doing on register. -SMATCH accept a boolean value to say if command accept non matching re= gister." +SMATCH accept a boolean value to say if the command accepts non-matchi= ng +registers." types msg act smatch noconfirm) NOCONFIRM is not documented (my fault). When set to nil don't request confirmation with RET. Otherwise all looks good to me, thanks. =2D-=20 Thierry --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHHBAEBCgAxFiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmWEfhITHHRoaWV2b2xA cG9zdGVvLm5ldAAKCRAOxW0UHRbvk/gOC/9tYyotKuW1Dv2MdVBWbdBbOC53NT3e uXgTQvlz15PLpSR2AxnbyyT1RGCGYRUQAGBHeiPfEkctxnD1BuPqq7yzF9D4B7wf uGr8ur3euoexZ5gI66bHvTmYVaryeYT88L5nMB8/QnFHI3wWUXLMwOEEb/vx8YXN dCNKl+ynG598ahqUWv6kzywkFexe1p8nzAMnwALQHxQd1fZ+001Gt0XvpuRSbJZ+ l4FNMkLJ8I8IDNt3SU/5k3zgyMPnjygBDuc9/gkNMBw0CBZ42u0Hbgqkw2366gIK ucg0cblaoHMiaTl77rQW7V8qSK2rW1tDbd0X85N1lzBHUX4yVkmwQXMa3N88S535 +8ZeMD2VEM8adlDHhBuF78LZJVU+vPW4cxvmbF9GCW7grD+hr5x6/vKz+wlS6Mp0 U4eLP2nmNPCACRQFEo58NN0Kpy0Z+98vqYb42hQ4fc7I6uuhAFAq96tmwYBTTdYJ 0Lzd0hGch/+10V0ven+R4a4seB7DklXug08= =YNRX -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 17:54:23 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Thierry Volpiatto Subject: bug#66394: closed (Re: bug#66394: 29.1; Make register-read-with-preview more useful) Message-ID: References: <835y0pdwib.fsf@gnu.org> <87il7ib6cu.fsf@posteo.net> X-Gnu-PR-Message: they-closed 66394 X-Gnu-PR-Package: emacs Reply-To: 66394@debbugs.gnu.org Date: Sat, 23 Dec 2023 10:50:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1703328602-4485-1" This is a multi-part message in MIME format... ------------=_1703328602-4485-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #66394: 29.1; Make register-read-with-preview more useful which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 66394@debbugs.gnu.org. --=20 66394: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D66394 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1703328602-4485-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 66394-done) by debbugs.gnu.org; 23 Dec 2023 10:49:52 +0000 Received: from localhost ([127.0.0.1]:48684 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rGzZo-00019v-0m for submit@debbugs.gnu.org; Sat, 23 Dec 2023 05:49:52 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:40542) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rGzZi-00019f-Vn for 66394-done@debbugs.gnu.org; Sat, 23 Dec 2023 05:49:50 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rGzZX-0005i6-Pm; Sat, 23 Dec 2023 05:49:35 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=pjI08+SKsbQpIcFgJlGUtPudE8FX0J320AXpIaxaJPc=; b=HPmqpl2/gduC y7aHoNERPXShkTAofd0uG95YHOO4y3pYcaO3qA3VRaQ2Cz/n8+fuZlcJROI3u/4VxyNS3omxTEBo5 5CdE6ATOqlLrotuLmFmivzMqq+6SYYMlk1QqM5bA//QJbzECBXpf9mac8Jd1hrrGpLf/iJaoFvvRf g7jaNHMhdbAA28P4slz6zgSSr0YIPvs+9DTUwPDKN+rcl7rL5RijkUs+x9xpR1xHkUu5IFZD8kg+k ZCCgjKCUX/TuWymUh2K2d71esZieYKhYdBu5BPx7LQZPiOVYO/S7k3cPVKybnm8RITNHYV+1mysQL CzFHXgl4YR317X+5pK4X6w==; Date: Sat, 23 Dec 2023 12:49:16 +0200 Message-Id: <835y0pdwib.fsf@gnu.org> From: Eli Zaretskii To: Thierry Volpiatto In-Reply-To: <87edff3019.fsf@posteo.net> (message from Thierry Volpiatto on Thu, 21 Dec 2023 18:04:02 +0000) Subject: Re: bug#66394: 29.1; Make register-read-with-preview more useful References: <87il7ib6cu.fsf@posteo.net> <871qbsk5le.fsf@posteo.net> <87v894hr2e.fsf@posteo.net> <87cyvbepi0.fsf@posteo.net> <87bkavk9nv.fsf@posteo.net> <8eebbb30-9366-e869-a39a-8100638cb99a@gutov.dev> <87o7etgxeb.fsf@posteo.net> <83v891qlcn.fsf@gnu.org> <87r0jn4j8i.fsf@posteo.net> <87jzpf48k5.fsf@posteo.net> <87plz6xp3m.fsf@posteo.net> <8734vym6ok.fsf@posteo.net> <83ttodgjtk.fsf@gnu.org> <87cyv0hjp9.fsf@posteo.net> <83wmt7g4k8.fsf@gnu.org> <87edff3019.fsf@posteo.net> X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 66394-done Cc: michael_heerdegen@web.de, dmitry@gutov.dev, 66394-done@debbugs.gnu.org, monnier@iro.umontreal.ca, stefankangas@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Thierry Volpiatto > Cc: monnier@iro.umontreal.ca, stefankangas@gmail.com, dmitry@gutov.dev, > michael_heerdegen@web.de, 66394@debbugs.gnu.org > Date: Thu, 21 Dec 2023 18:04:02 +0000 > > > Thanks, I have a question: > > > > The doc string of register-use-preview says: > > > > This has no effect when the value of `register--read-with-preview-function' > > is `register-read-with-preview-traditional'. > > > > However, customizing register-use-preview to the value 'traditional > > has the exact effect of setting register--read-with-preview-function > > to register-read-with-preview-traditional. OTOH, when > > register-use-preview is set to 'traditional, one can set it to a > > different value, and then the behavior will change. So I wonder what > > that sentence is about and what I missed? Is that perhaps a leftover > > from previous versions, and should now be deleted? > > Yes exactly, it can be deleted. > > > I updated the documentation and NEWS. I'd appreciate if you could > > spare a few minutes to review the changes and point out any > > inaccuracies or mistakes. > > About the documentation or register-use-preview in the manual: > > Another difference with the old behavior (traditional) is that the > preview is filtered according to type of registers used by command. For > example insert-register show only the registers that can be inserted, > not windows, markers etc... Same for jump. > > - "Returns a function to format a register for previewing. > -This according to the value of READ-PREVIEW-FUNCTION.") > + "Return a function to format a register for previewing. > +This is according to the value of `read-preview-function'.") > > Here READ-PREVIEW-FUNCTION is the argument of function and not a > variable, so IMO it should be upcased and not quoted. > > (cl-defstruct register-preview-info > "Store data for a specific register command. > -TYPES are the types of register supported. > -MSG is the minibuffer message to send when a register is selected. > +TYPES are the supported types of registers. > +MSG is the minibuffer message to show when a register is selected. > ACT is the type of action the command is doing on register. > -SMATCH accept a boolean value to say if command accept non matching register." > +SMATCH accept a boolean value to say if the command accepts non-matching > +registers." > types msg act smatch noconfirm) > > NOCONFIRM is not documented (my fault). > When set to nil don't request confirmation with RET. > > Otherwise all looks good to me, thanks. Thanks, I fixed all of the above, and I'm therefore closing this bug. ------------=_1703328602-4485-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 7 Oct 2023 19:06:39 +0000 Received: from localhost ([127.0.0.1]:55935 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qpCdK-000365-RC for submit@debbugs.gnu.org; Sat, 07 Oct 2023 15:06:39 -0400 Received: from lists.gnu.org ([2001:470:142::17]:55012) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qpCdH-00035q-Ud for submit@debbugs.gnu.org; Sat, 07 Oct 2023 15:06:36 -0400 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 1qpCcr-00024s-N1 for bug-gnu-emacs@gnu.org; Sat, 07 Oct 2023 15:06:09 -0400 Received: from mout01.posteo.de ([185.67.36.65]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qpCco-0000aV-P5 for bug-gnu-emacs@gnu.org; Sat, 07 Oct 2023 15:06:09 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id C5C36240028 for ; Sat, 7 Oct 2023 21:05:59 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1696705559; bh=3hHDo4sn0dOBHplr0XOuKtFgsBRfUedjmc4xjtcckHU=; h=From:To:Subject:Date:Message-ID:MIME-Version: Content-Transfer-Encoding:Autocrypt:OpenPGP:From; b=T/cRjLm+9KH4SSnJTJlswJUn/NE8Nvcj5GZmWRJTLPI3Iq0sVnO6xTcpK4JBeQawv D3fvTMRryzRasr5Wl2xiP9uZwyQNkzBFuVPyBjwK7v2tsoqQIntbrc9x/NcLCi37tu 6UxQ/xHpNfK1EUA7Q8F7B21ItFS7zj2VlA5gMham4NwjEl0Kq9MAr8K5Nwi9x3Mgh1 NGGdk+xaHDWrtPQIy5zZfUZu6B+FCvAxa/Y24Ur78QY/m6+z5+I/KSbFZAGxJPETIG GDGmdjbNU4mEUlarTQvUiPK+diL4aKYUj6wrPBul577UEj6rCMKXi4dnvL6f7HApEY J5pr8bFf/NWsQ== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4S2vs306Nsz9rxB for ; Sat, 7 Oct 2023 21:05:58 +0200 (CEST) From: Thierry Volpiatto To: bug-gnu-emacs@gnu.org Subject: 29.1; Make register-read-with-preview more useful Date: Sat, 07 Oct 2023 19:03:47 +0000 Message-ID: <87il7ib6cu.fsf@posteo.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Autocrypt: addr=thievol@posteo.net; prefer-encrypt=mutual; keydata=xsDNBF8ylcIBDADG+hy+zR6L4/vbdDDZuSaMmSrU3A5QZJpeBCvxTr7MpzzruZbhLPW1K3R6N2MA edi8Y+C8o27FVRIjpdbaKMGu9je7JV/TbUQYo3SOwCK1vM4LUn4V6ZLzSYkuiEt4eyMoiDdyvN0p kcK6P9x9DCetcEVszXzQg+yzCVrQ2hXWDXWT4M18EC3wtO7RHPouMqGiwBFhBAYErCqFWFxQHkfb tG/4yGyJ58rglb65O3qijjMWvYwcWZun9/7qm8Z4/4mHopmo2zgU+OrptnLSZfkZGz3Y7Uf452xQ GVq0Fv75NPvQru7y+DYVhuVXXyAmGxt+vf4rIiixMBbhKEPjcxEPAa2LTzex2IsTZR+QVG9uDnqC WcgaOEQ58fzXNvNhtwwF/Rgio2XWAJVdmFWS59/k9W58CIUSNKBMZh2XeGdEmtHvDtCxW3z6FJha 36RzOM3fMNNiAGdFZJA84gcdloJR+sHCDTTPT3784fjr+V8An7sI581NGFzkRQqPvEQCZbUAEQEA Ac0SdGhpZXZvbEBwb3N0ZW8ubmV0wsEOBBMBCgA4AhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheA FiEEI9twfRN7r3nig/xwDsVtFB0W75MFAmL3HCoACgkQDsVtFB0W75OVEAv/f6XxmtIFz08fUb8h Bp/zJP6IC4/rhhh+0GMRIRzLN8DK0jV8JCzYdFHiRJOy2lNIOpmrrCmjRRxferc2G42+ePFIsslx hU46VSz1Z83NwIG3mpdYNV5WUTUdgzxExHTNTFCd7NKv0nlHKQaAtdXm5bYnSHsnL7cx8z7lukA/ EsJocE+GD7QXnsrdlicvdobI0TEN4l73221a72oCvHfYLCVsB6YsNJ5ZGkA1zSjzln5uLAgZ/2r/ aqlao/AlSZkAk6+hvK0RyAZ/YR4YRZxO8Fsd0gWgFkanRfKfufJ1V0OHZg7yszi3q/hRzS+rZtJ0 OuzDlh/dyQkxVkZb9vis/+HnGDJrBE5MsmJLcy2Sy3uUnio0fq8q9CrZbudvd1DajlZxPzTm0csP eUk45QEgbhEU7MfyAX/mkKxjHajz2cMcHKIap1BqEgJl4BKFeLMcBZ4O1p9ivwtf1Ht2JTp5lOi0 ItPfhQ4DP8LZ1ZIkN5Kg9v0cyw9meRzAuuR0V2GtzsDNBF8ylcIBDADnIDHEkmk4lUwTlOhwb2yj UfmGPnpH3MCCHkjM9H/P1gTHxFWtwFVPcNMCwXWvKSBTF2dZXKERD0yzG06zT53ZMN7EIIeuY6m4 R8IcMvpohciisWxbFoB4ZY117tVSeqjo946itgbpdeESKl9a8dpn7ytZMyYxPdojlQAqxeAJ8444 raESh1oTKXb64hlk4l2pSRlrLgjpJBo8asAfZndaxIUKhw68tV8sqeZh9P6cGtHbUELKVJqefNV7 V7jF5wf3xvRG6Ces3kSKXalLfs+vrVaoOjQeWrc0AtwFWHmt9JLfKrqF+Q2Q7jUidboWmazQM56E SJFPpPHmWq8k6DHspsFHOforLouTHJL1556IPne7IV2BGfWc0+xLxalZ8F5F+vnPF/OkrC1CD5iC KTjXKa2iZbcYdYQAiL6P8Ac8CgN6EkhpbxRtzrEgChuNGevdi/G/GHG4Zqrh6YFwIa/NHq2aVaFq 5C1yNTMJd1FRjRzs5JPPlJKpYDnNx+MSp7UAEQEAAcLA9gQYAQoAIAIbDBYhBCPbcH0Te6954oP8 cA7FbRQdFu+TBQJi9x1ZAAoJEA7FbRQdFu+To6QMAIcvUSiFwCIggxkmYy3ZY0QAMLmIPga8DNPM XbfSOBDb2KLGBd+FAA8p2GExpul4r6kOYnGogtojByHmVgrd30/3ZURTM8Vj51wwD05viMZccQHl Wd9J/qZIvhBJlJWYnwVxh+2Kg4/hkx7SGc7JJS5GS37+PFQOJHPGMxc+fe4Ty2FdjIOVf3P1Hov9 K6yBI7Af66qqcL3aKJ4jJidRYN8sMaKOqEu4rcSpTxp8/3Ddbs9HezUgXeUzOLJMcEYFlvCyC8ZS l/QDZmpobKbxZ1JAqZM8lnmcZYSV7OsWnxJIYDV1gH5LTLj7bGswXaB4B+qkckihWkRZixu8q1IK 0c/xwUzyF092uFRM/sQKrSmnwA1+hQiiIuEl4XVz5li0/TmMta3ijUM7GNbl2IjioTRxWWecwad1 mNHvKTcXPsKDAbHFdLvQzurnroBHQV0jSPNLTP5Suo7RnLbehfg5INpGjToCUlrd2qQqgXW7h5qZ TgUq5UmBc7YZ0JYWQgPTbQ== OpenPGP: url=https://posteo.de/keys/thievol@posteo.net.asc; preference=encrypt Received-SPF: pass client-ip=185.67.36.65; envelope-from=thievol@posteo.net; helo=mout01.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 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, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) When using `copy-to-register`, it is hard to see which register is already taken in the preview buffer. This patch highlight the register entered at prompt if it is already taken otherwise a minibuffer message is sent to notify user the register is available. If any interest here is the patch, feel free to modify if needed. Thanks. diff --git a/lisp/register.el b/lisp/register.el index ca6de450993..4c83264d4eb 100644 --- a/lisp/register.el +++ b/lisp/register.el @@ -154,27 +154,37 @@ listing existing registers after `register-preview-de= lay' seconds. If `help-char' (or a member of `help-event-list') is pressed, display such a window regardless." (let* ((buffer "*Register Preview*") - (timer (when (numberp register-preview-delay) - (run-with-timer register-preview-delay nil - (lambda () - (unless (get-buffer-window buffer) - (register-preview buffer)))))) - (help-chars (cl-loop for c in (cons help-char help-event-list) - when (not (get-register c)) - collect c))) + (pat "") + result timer) + (register-preview buffer) (unwind-protect - (progn - (while (memq (read-key (propertize prompt 'face 'minibuffer-prompt)) - help-chars) - (unless (get-buffer-window buffer) - (register-preview buffer 'show-empty))) - (when (or (eq ?\C-g last-input-event) - (eq 'escape last-input-event) - (eq ?\C-\[ last-input-event)) - (keyboard-quit)) - (if (characterp last-input-event) last-input-event - (error "Non-character input-event"))) - (and (timerp timer) (cancel-timer timer)) + (progn + (minibuffer-with-setup-hook + (lambda () + (setq timer + (run-with-idle-timer + 0.3 'repeat + (lambda () + (with-selected-window (minibuffer-window) + (let ((input (minibuffer-contents))) + (when (not (string=3D input pat)) + (setq pat input)))) + (with-current-buffer buffer + (let ((ov (make-overlay (point-min) (point-min= )))) + (goto-char (point-min)) + (if (string=3D pat "") + (remove-overlays) + (if (re-search-forward (concat "^" pat) ni= l t) + (progn (move-overlay + ov + (match-beginning 0) (match-end= 0)) + (overlay-put ov 'face 'helm-mat= ch)) + (with-selected-window (minibuffer-window) + (minibuffer-message + "Register `%s' is available" pat)))))= ))))) + (setq result (read-from-minibuffer prompt))) + (string-to-char result)) + (when timer (cancel-timer timer)) (let ((w (get-buffer-window buffer))) (and (window-live-p w) (delete-window w))) (and (get-buffer buffer) (kill-buffer buffer))))) In GNU Emacs 29.1 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0, Xaw3d scroll bars) of 2023-10-01 built on IPad-S340 Windowing system distributor 'The X.Org Foundation', version 11.0.12101004 System Description: Linux Mint 21.2 Configured using: 'configure CFLAGS=3D-O8 --bindir=3D/usr/local/sbin/emacs-29.1 --with-cairo --with-x-toolkit=3Dlucid --with-modules --without-tree-sitter --without-native-compilation' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XAW3D XDBE XIM XINPUT2 XPM LUCID ZLIB Important settings: value of $LANG: fr_FR.UTF-8 locale-coding-system: utf-8-unix Major mode: =EE=A4=A6 Minor modes in effect: emms-mode-line-mode: t emms-playing-time-display-mode: t emms-playing-time-mode: t bug-reference-prog-mode: t server-mode: t psession-mode: t psession-savehist-mode: t global-undo-tree-mode: t undo-tree-mode: t global-git-gutter-mode: t git-gutter-mode: t display-time-mode: t winner-mode: t tv-save-place-mode: t helm-epa-mode: t helm-descbinds-mode: t helm-top-poll-mode: t helm-adaptive-mode: t helm-mode: t helm-minibuffer-history-mode: t helm-ff-icon-mode: t shell-dirtrack-mode: t helm-popup-tip-mode: t async-bytecomp-package-mode: t dired-async-mode: t minibuffer-depth-indicate-mode: t gcmh-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t column-number-mode: t line-number-mode: t auto-fill-function: do-auto-fill transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: None found. Features: (epa-mail face-remap addressbook-bookmark tv-mu4e-config config-w3m mu4e-contrib eshell esh-cmd generator esh-ext esh-opt esh-proc esh-io esh-arg esh-module esh-groups esh-util mu4e-patch mu4e mu4e-org org-config ob-gnuplot org-crypt org-protocol org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src ob-comint org-pcomplete org-list org-footnote org-faces org-entities noutline outline ob-emacs-lisp ob-core ob-eval org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs org-version org-compat org-macs mu4e-notification notifications mu4e-main mu4e-view mu4e-mime-parts gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig gnus-sum gnus-group gnus-undo gnus-start gnus-dbus gnus-cloud nnimap nnmail mail-source utf7 nnoo gnus-spec gnus-int gnus-range gnus-win gnus nnheader range appt diary-lib diary-loaddefs cal-menu calendar cal-loaddefs mu4e-headers mu4e-thread mu4e-compose mu4e-draft mu4e-actions smtpmail mu4e-search mu4e-lists mu4e-bookmarks mu4e-mark mu4e-message shr pixel-fill kinsoku url-file svg dom flow-fill hl-line mu4e-contacts mu4e-update mu4e-folders mu4e-context mu4e-query-items mu4e-server mu4e-modeline mu4e-vars mu4e-helpers mu4e-config mu4e-window ido mu4e-obsolete mailalias mailclient textsec uni-scripts idna-mapping ucs-normalize uni-confusable textsec-check qp helm-dabbrev shadow mail-extr emacsbug message yank-media puny rfc822 mml mml-sec gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils smerge-mode whitespace cl-extra helm-command helm-x-files helm-for-files helm-bookmark bookmark emms-config emms-mpris emms-librefm-stream 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-spc 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 emms-auto helm-external helm-net tramp-archive tramp-gvfs tramp-cache time-stamp zeroconf dbus xml helm-ring helm-elisp helm-eval edebug debug backtrace find-func helm-info cl-indent helm-ls-git vc-git diff-mode vc vc-dispatcher jka-compr make-mode flymake-shellcheck cus-start flymake-proc flymake project warnings thingatpt sh-script smie treesit executable bug-reference naquadah-theme server imenu psession frameset undo-tree diff queue pcase git-gutter mule-util dired-extension time winner describe-variable help-fns radix-tree help-mode tv-utils tv-save-place.el advice init-helm epa derived epg rfc6068 epg-config helm-epa isl helm-descbinds cus-edit pp icons wid-edit helm-sys popup helm-adaptive helm-mode helm-misc helm-files image-dired image-dired-tags image-dired-external image-dired-util xdg image-mode exif filenotify tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat rx shell pcomplete parse-time iso8601 time-date helm-buffers all-the-icons all-the-icons-faces data-material data-weathericons data-octicons data-fileicons data-faicons data-alltheicons helm-occur helm-tags helm-locate helm-grep wgrep-helm wgrep grep compile text-property-search comint ansi-osc ring helm-regexp format-spec ansi-color helm-utils helm-help helm-types helm-extensions-autoloads helm-autoloads helm helm-global-bindings helm-easymenu edmacro kmacro helm-core easy-mmode async-bytecomp helm-source helm-multi-match helm-lib dired-async async dired-aux dired dired-loaddefs mb-depth avoid cus-load gcmh all-the-icons-autoloads gcmh-autoloads info ledger-mode-autoloads markdown-mode-autoloads nerd-icons-autoloads w3m-load w3m-autoloads yaml-mode-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/x-win x-win term/common-win x-dnd 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 dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo x-toolkit xinput2 x multi-tty make-network-process emacs) Memory information: ((conses 16 854462 334476) (symbols 48 35404 26) (strings 32 219034 39971) (string-bytes 1 6357489) (vectors 16 99232) (vector-slots 8 2128904 396764) (floats 8 1791 2270) (intervals 56 37515 32129) (buffers 976 138)) <#secure method=3Dpgpmime mode=3Dsign> --=20 Thierry ------------=_1703328602-4485-1--