From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Michael Heerdegen Newsgroups: gmane.emacs.help Subject: Re: Jumping from one position to other position Date: Sun, 06 Dec 2020 01:12:07 +0100 Message-ID: <871rg3iyi0.fsf@web.de> References: <87sg8jvr7i.fsf@web.de> <87mtyrombe.fsf@ericabrahamsen.net> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="14355"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) To: help-gnu-emacs@gnu.org Cancel-Lock: sha1:VYtXsoJ4783rDjuKhjhM7qlfolw= Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Sun Dec 06 01:12:48 2020 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1klhfU-0003f5-Ft for geh-help-gnu-emacs@m.gmane-mx.org; Sun, 06 Dec 2020 01:12:48 +0100 Original-Received: from localhost ([::1]:52418 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1klhfT-0006rg-Io for geh-help-gnu-emacs@m.gmane-mx.org; Sat, 05 Dec 2020 19:12:47 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:43014) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1klhf0-0006rH-10 for help-gnu-emacs@gnu.org; Sat, 05 Dec 2020 19:12:18 -0500 Original-Received: from static.214.254.202.116.clients.your-server.de ([116.202.254.214]:37756 helo=ciao.gmane.io) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1klhey-0007Sr-CL for help-gnu-emacs@gnu.org; Sat, 05 Dec 2020 19:12:17 -0500 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1klhev-00033N-A6 for help-gnu-emacs@gnu.org; Sun, 06 Dec 2020 01:12:13 +0100 X-Injected-Via-Gmane: http://gmane.org/ Received-SPF: pass client-ip=116.202.254.214; envelope-from=geh-help-gnu-emacs@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: -13 X-Spam_score: -1.4 X-Spam_bar: - X-Spam_report: (-1.4 / 5.0 requ) BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.25, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:126066 Archived-At: Eric Abrahamsen writes: > I've often wanted this, and sometimes end up using undo-plus-redo > to get there. It only just occurred to me that `buffer-undo-list' has > all this information -- was that what you used? What difficulties did > you run into? Yes, that works, it's perfect data, that's not the problem. If have typed, say, 4 lines somewhere, you have to call the command a lot of times until it jumps to some other place. Not practical (I always ended up having hit the key one time too often. Makes you angry). Then you can say, ok, just go to any line once. Until you have inserted something with lots of lines, and it visits most of them. Then you try to improve your heuristic further, and there's always a situation where it is impossible to jump back to some place you want to because the heuristic sorted it out, e.g. because it's directly next to some other change or so. I then used a prefix arg so that the user could soften the heuristic explicitly, but then I noted that it's simpler to use registers and other tools that are at least no heuristic based black boxes. I've also tried the non-chronological approach - visit changes in position order - but I also didn't like it. When I'm looking for older changes, I use Magit Wip mode with Ediff, to display the changes of the last n minutes. After exiting Ediff I can hit a key to go to the line according to the latest selected diff. For shorter time periods I use registers now. Michael.