From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Gregory Heytings via "Emacs development discussions." Newsgroups: gmane.emacs.devel Subject: Re: Recentish C-s M-y change Date: Wed, 30 Dec 2020 11:13:18 +0000 Message-ID: References: <87r1na4tyu.fsf@gnus.org> <87tus6tj7s.fsf@mail.linkov.net> <87a6txigm1.fsf@gnus.org> <874kk5lzew.fsf@mail.linkov.net> <87eej8ifll.fsf@mail.linkov.net> <87h7o3k5b5.fsf@mail.linkov.net> Reply-To: Gregory Heytings Mime-Version: 1.0 Content-Type: text/plain; format=flowed; charset=US-ASCII Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="5831"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Alpine 2.22 (NEB 394 2020-01-19) Cc: Lars Ingebrigtsen , emacs-devel@gnu.org To: Juri Linkov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Dec 30 12:14:13 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kuZQj-0001P7-4G for ged-emacs-devel@m.gmane-mx.org; Wed, 30 Dec 2020 12:14:13 +0100 Original-Received: from localhost ([::1]:44352 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kuZQi-00041B-72 for ged-emacs-devel@m.gmane-mx.org; Wed, 30 Dec 2020 06:14:12 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:44104) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kuZQ4-0003aq-KB for emacs-devel@gnu.org; Wed, 30 Dec 2020 06:13:33 -0500 Original-Received: from mx.sdf.org ([205.166.94.24]:52819) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kuZQ2-0006PQ-KK for emacs-devel@gnu.org; Wed, 30 Dec 2020 06:13:32 -0500 Original-Received: from sdf.org (IDENT:ghe@faeroes.freeshell.org [205.166.94.9]) by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 0BUBDLs9029213 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO); Wed, 30 Dec 2020 11:13:21 GMT Original-Received: (from ghe@localhost) by sdf.org (8.15.2/8.12.8/Submit) id 0BUBDKXU022843; Wed, 30 Dec 2020 11:13:20 GMT In-Reply-To: <87h7o3k5b5.fsf@mail.linkov.net> Received-SPF: pass client-ip=205.166.94.24; envelope-from=ghe@sdf.org; helo=mx.sdf.org X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, GAPPY_SUBJECT=0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:262120 Archived-At: > > Thanks, now I see that not everyone wants the old keybinding back. > Would it not be possible to use C-u to have both behaviors? With the following code C-s C-y M-y... and C-s M-y M-y... work as before, and C-s C-u C-y and C-s C-u M-y use the new feature. (defun isearch-yank-select () (with-isearch-suspended (let ((string (read-from-kill-ring))) (if (and isearch-case-fold-search (eq 'not-yanks search-upper-case)) (setq string (downcase string))) (if isearch-regexp (setq string (regexp-quote string))) (setq isearch-yank-flag t) (setq isearch-new-string (concat isearch-string string) isearch-new-message (concat isearch-message (mapconcat 'isearch-text-char-description string "")))))) (defun isearch-yank-pop (&optional arg) "Replace just-yanked search string with previously killed string." (interactive "p") (if (and arg (> arg 1)) (isearch-yank-select) (if (not (memq last-command '(isearch-yank-kill isearch-yank-pop))) (isearch-yank-kill) (isearch-pop-state) (isearch-yank-string (current-kill 1))))) (defun isearch-yank-kill (&optional arg) "Pull string from kill ring into search string." (interactive "p") (unless isearch-mode (isearch-mode t)) (if (and arg (> arg 1)) (isearch-yank-select) (isearch-yank-string (current-kill 0))))