From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.bugs Subject: bug#14742: 24.3.50; enhancement request: be able to prepend stuff from buffer when search backward Date: Fri, 05 Jul 2013 06:37:39 -0400 Message-ID: References: <4b9029ca-1775-482f-ba9a-46a891be7405@default> <87sj01c3n2.fsf@mail.jurta.org> <7518b30b-63d2-40ea-956f-a504f40c4cfd@default> <87haggoc6r.fsf@mail.jurta.org> <8ada7269-baa9-483f-9595-d46619393aa7@default> <87y59ok18k.fsf@mail.jurta.org> <6ae1046e-e6ae-43ae-96ff-064fd01c9ec2@default> <87k3l8ik77.fsf@mail.jurta.org> <87k3l79seh.fsf@mail.jurta.org> <9fa6642c-dbcb-47aa-a8a3-29ee892bd933@default> <87y59lc32c.fsf@mail.jurta.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1373020689 29153 80.91.229.3 (5 Jul 2013 10:38:09 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 5 Jul 2013 10:38:09 +0000 (UTC) Cc: 14742@debbugs.gnu.org To: Juri Linkov Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Jul 05 12:38:10 2013 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Uv3Oz-0008G6-5X for geb-bug-gnu-emacs@m.gmane.org; Fri, 05 Jul 2013 12:38:09 +0200 Original-Received: from localhost ([::1]:38669 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Uv3Oy-0005vR-QL for geb-bug-gnu-emacs@m.gmane.org; Fri, 05 Jul 2013 06:38:08 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:33509) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Uv3Ou-0005uw-8N for bug-gnu-emacs@gnu.org; Fri, 05 Jul 2013 06:38:06 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Uv3Os-0001ew-TI for bug-gnu-emacs@gnu.org; Fri, 05 Jul 2013 06:38:04 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:36738) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Uv3Os-0001eq-PJ for bug-gnu-emacs@gnu.org; Fri, 05 Jul 2013 06:38:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1Uv3Os-00088A-8n for bug-gnu-emacs@gnu.org; Fri, 05 Jul 2013 06:38:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 05 Jul 2013 10:38:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 14742 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 14742-submit@debbugs.gnu.org id=B14742.137302066931195 (code B ref 14742); Fri, 05 Jul 2013 10:38:02 +0000 Original-Received: (at 14742) by debbugs.gnu.org; 5 Jul 2013 10:37:49 +0000 Original-Received: from localhost ([127.0.0.1]:59287 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Uv3Oe-000871-Q4 for submit@debbugs.gnu.org; Fri, 05 Jul 2013 06:37:49 -0400 Original-Received: from chene.dit.umontreal.ca ([132.204.246.20]:48591) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Uv3Oa-00086W-Uc for 14742@debbugs.gnu.org; Fri, 05 Jul 2013 06:37:45 -0400 Original-Received: from fmsmemgm.homelinux.net (lechon.iro.umontreal.ca [132.204.27.242]) by chene.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id r65AbecE020878; Fri, 5 Jul 2013 06:37:41 -0400 Original-Received: by fmsmemgm.homelinux.net (Postfix, from userid 20848) id D5BBBAE0D4; Fri, 5 Jul 2013 06:37:39 -0400 (EDT) In-Reply-To: <87y59lc32c.fsf@mail.jurta.org> (Juri Linkov's message of "Fri, 05 Jul 2013 02:34:18 +0300") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 1 Rules triggered RV4629=0 X-NAI-Spam-Version: 2.3.0.9362 : core <4629> : streams <994468> : uri <1467610> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:75939 Archived-At: > @@ -2379,7 +2616,67 @@ (defun isearch-other-meta-char (&optiona > (if ab-bel > (isearch-back-into-window (eq ab-bel 'above) isearch-point) > (goto-char isearch-point))) > (isearch-update)) > + ;; Handle a motion function. > + ((and isearch-allow-move > + (progn (setq key (isearch-reread-key-sequence-naturally keylist)) > + (setq keylist (listify-key-sequence key)) > + (setq main-event (aref key 0)) > + (setq move-command (or > + (isearch-lookup-move-key key) > + (isearch-lookup-move-key > + ;; Use the last key in the sequence. > + (vector (aref key (1- (length key))))))))) > + (setq prefix-arg arg) > + (let* ((old-point (point)) > + (new-point (save-excursion > + (condition-case () > + (command-execute move-command) > + (error nil)) > + (point)))) > + ;; Change search direction between forward and backward. > + (when (if isearch-forward > + (< new-point old-point) > + (> new-point old-point)) > + (setq isearch-forward (not isearch-forward)) > + (setq isearch-string "" isearch-message "") > + (if isearch-other-end (setq old-point isearch-other-end))) > + (if (< old-point new-point) > + (if isearch-forward > + (isearch-yank-string > + (buffer-substring-no-properties old-point new-point)) > + (isearch-del-char (- new-point old-point) t)) > + (if isearch-forward > + (isearch-del-char (- old-point new-point)) > + (isearch-yank-string > + (buffer-substring-no-properties old-point new-point) t)))) > + (setq isearch-allow-move (cons 'only isearch-allow-move))) > ;; A mouse click on the isearch message starts editing the search string > ((and (eq (car-safe main-event) 'down-mouse-1) > (window-minibuffer-p (posn-window (event-start main-event)))) Could you move this new code to a separate function? Stefan