From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Juri Linkov Newsgroups: gmane.emacs.devel Subject: Re: Word search Date: Tue, 11 Mar 2008 00:38:12 +0200 Organization: JURTA Message-ID: <87skyyjjcb.fsf@jurta.org> References: <87myp99rd3.fsf@jurta.org> <87od9n36ew.fsf@jurta.org> <87d4q25w95.fsf_-_@jurta.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1205189478 31147 80.91.229.12 (10 Mar 2008 22:51:18 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 10 Mar 2008 22:51:18 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Mar 10 23:51:46 2008 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1JYqqD-0007FI-4G for ged-emacs-devel@m.gmane.org; Mon, 10 Mar 2008 23:51:33 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JYqpe-00058R-Tx for ged-emacs-devel@m.gmane.org; Mon, 10 Mar 2008 18:50:58 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JYqnH-0003P7-Jw for emacs-devel@gnu.org; Mon, 10 Mar 2008 18:48:31 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JYqnG-0003NR-4Q for emacs-devel@gnu.org; Mon, 10 Mar 2008 18:48:31 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JYqnF-0003NE-M4 for emacs-devel@gnu.org; Mon, 10 Mar 2008 18:48:29 -0400 Original-Received: from relay02.kiev.sovam.com ([62.64.120.197]) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1JYqnF-0008Bp-1n for emacs-devel@gnu.org; Mon, 10 Mar 2008 18:48:29 -0400 Original-Received: from [83.170.232.243] (helo=smtp.svitonline.com) by relay02.kiev.sovam.com with esmtp (Exim 4.67) (envelope-from ) id 1JYqn5-000Jcx-G2; Tue, 11 Mar 2008 00:48:27 +0200 In-Reply-To: (Stefan Monnier's message of "Mon, 10 Mar 2008 14:34:35 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (x86_64-unknown-linux-gnu) X-Scanner-Signature: 362d5034abbfed611c52a2913ea5ff69 X-DrWeb-checked: yes X-SpamTest-Envelope-From: juri@jurta.org X-SpamTest-Group-ID: 00000000 X-SpamTest-Header: Not Detected X-SpamTest-Info: Profiles 2377 [Mar 10 2008] X-SpamTest-Info: helo_type=3 X-SpamTest-Info: {HEADERS: header Content-Type found without required header Content-Transfer-Encoding} X-SpamTest-Method: none X-SpamTest-Rate: 11 X-SpamTest-Status: Not detected X-SpamTest-Status-Extended: not_detected X-SpamTest-Version: SMTP-Filter Version 3.0.0 [0255], KAS30/Release X-detected-kernel: by monty-python.gnu.org: FreeBSD 6.x (1) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:92103 Archived-At: >> Keeping C-w to specify word search in the minibuffer is necessary >> for backward compatibility. When we find a better method to toggle >> word search, we could remove the description of the old method >> from the manual, and remove its code in later releases. > > Backward compatibility with old elisp packages is important. > Backward compatibility with old Emacs users is a bit less important. Then we could use C-w for something more useful like getting the next word from the buffer and appending it to the search string in the minibuffer. This would be very convenient since this is exactly what C-w does in isearch mode. This will allow us finally to get rid of isearch-yank-char-in-minibuffer which does almost the same but in an unpredictable way. I also noticed a similar command `bookmark-yank-word' in bookmark.el. But when the mark is active, it doesn't kill the region. I think it should check for the active mark, and call `kill-region' in this case like: (defun bookmark-yank-word () (interactive) ;; get the next word from the buffer and append it to the name of ;; the bookmark currently being set. (if mark-active (kill-region (point) (mark)) (let ((string (save-excursion (set-buffer bookmark-current-buffer) (goto-char bookmark-yank-point) (buffer-substring-no-properties (point) (progn (forward-word 1) (setq bookmark-yank-point (point))))))) (insert string)))) Generally, the logic could be the following: when C-w will fail anyway due to the absence of the active mark in the minibuffer, do a different action like pulling the next word from the buffer to the minibuffer. BTW, in bookmark.el I see: ;; This C-u binding might not be very useful any more now that we ;; provide access to the default via the standard M-n binding. ;; Maybe we should just remove it? --Stef-08 (define-key map "\C-u" 'bookmark-insert-current-bookmark) I agree that this is unnecessary any more, and if no one will object, maybe we could just remove it? -- Juri Linkov http://www.jurta.org/emacs/