From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Po Lu Newsgroups: gmane.emacs.devel Subject: Systematizing back navigation Date: Tue, 21 Nov 2023 11:45:46 +0800 Message-ID: <87il5vixat.fsf@yahoo.com> References: <87il5vixat.fsf.ref@yahoo.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="32848"; mail-complaints-to="usenet@ciao.gmane.io" To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Nov 21 04:46:58 2023 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 1r5Hj0-0008Rb-Ew for ged-emacs-devel@m.gmane-mx.org; Tue, 21 Nov 2023 04:46:58 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1r5Hi7-0000wt-8o; Mon, 20 Nov 2023 22:46:03 -0500 Original-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 1r5Hi4-0000wW-SM for emacs-devel@gnu.org; Mon, 20 Nov 2023 22:46:01 -0500 Original-Received: from sonic302-20.consmr.mail.ne1.yahoo.com ([66.163.186.146]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1r5Hi2-00074h-LJ for emacs-devel@gnu.org; Mon, 20 Nov 2023 22:46:00 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1700538356; bh=kvHusCEeuLlI6ywDCbLBEbWboaylra5S53qpId2tDtQ=; h=From:To:Subject:Date:References:From:Subject:Reply-To; b=TGcahaEL9J0U9TRG/4XvdwRIdYWCQUlodCjFwno39mJqHK+FEg84YvEp/pIZSlfbh/K+fUE/Is3d0J3OhP8LyF0HAzemOaV1ULcXP6fPDYR9C8KyTKnjiq+eow1zwClJ+V+fiXmeexCAwXhvg4o7tIh4azsxu5jkk/siI3TLXYw7o0IrRZ7a5nFIvlM0pi5hZNS4BNLG2xxiWvGE+HMMsBl92V2FUrq/ZTg57/YE/fIe4KEcpd0bX+XkKihk/oGxVBJBvvkKRahzfMVq3G7Dib+dYUB9FCE4a6Ot+mZUBvuZy1brorH4vI1gMNsQ2K3y2coBIpfOgvomw9djZkzTKg== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1700538356; bh=FQ0NxxnitHldkNutPn0MiOjHQtlIu/pwt2SETcWJn9B=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=Ssd0ZiGKgahtrBd9JiOolVnq8XI5aXErEaz6AzDc851XibBrMtifDDaCEqkBBnxm1BwLYSs2y7RFx/+7KWjv/kexNqHz7QTpWSckawmBcQhv12+r8Soa59wCaDJcyNJ63qNRCf6A8M+mHWzpxP5Dn2xHmQPHnB8gL6rJVeznls0mOrxeGv8xaBubY0zt78gNXcyyz46WDup1ltBFGaqNQVutRNTyitHmeSISxA7IxsA+4O2w+zU8wYUFvz4JeRSAUISx30L6Hyhc9bNgaaL64T7A86OND+Bi0xBF5Gff1HHGlPVkiUCJAhLDrwbLdQ6eVKehrheEZStU3qJHq2MB2w== X-YMail-OSG: SesJ.fIVM1m0ZM8YlkoxzSmnA2Euc7i8fjrDDBUwPKCwpamKyB4tyJ2866DGZzk JgLx6tJpFQ0_4XTbgbXXzBDEL3qnmwLSFSl5e6O2pISM0Owoa5G2iwujC3bUYIFT744TltBijSqH NeDb9RSoQ88nIg0PhCNGYhQOylawlKcGf2UredLsh6ePajELAfsV6ikSdofvP2RHP7OxxhPs_yWf IMZuz07i9JOS2Ep.kAwcIedU2N1u5L7hPQ7WAKMqKp36j4NlOrvalVIVXffnedm7HcCYNJ_9wU1j WCpmOaCkqYMZUxnNIGvlO8VSiEPrJwzc7qWlsU7BrsIRFt6lytSb41T3oQAiAP3CIM1D3715ufeG zEzL_cITIjPg9SySbFpu0dxW88JbeTiuyRAVrSpeJomo8bLldcqcpnaL2QvhxKkgsxk_INWMbFiR feW47HDQgH9_pJxg1fVvjZL1qpO_kvrNmjGE50bIiqfyFk96LfkQbt8Ke1KJsTDUBSZb7RrA4SHa bkvfKHVy3LpaEXWBbgCzgEGzdkvXK8rFCBYonVNRJd_YLhZzodcd6XZqukFtXp8QrxRo50fjKPOH uyHzhT6Wa46J5JtKyiNPGLiStHRqBQypzgd23D4jn9DbU9b8xpNQphdSwoGv4zp64HAX4yIaXYWa suDW6Ww363jBpDLBXBv19yZ15REFdXBG7A2A9bMtccJU.G.7M0jhdDGpu.ZY2zn6wNdXU8spEJ42 MHHqIOWi0ZEDT6JEW2YJ9G3o7qKv3EKuNrjvy43Isie7zGXnruYwY69BiplinE9yceoxgxDFGD2D ulg7MhI3fSknCerrk1AtpCnqhnjVsXjX3HQhn9xr.g X-Sonic-MF: X-Sonic-ID: cbc17e77-28f8-43f4-bb0c-4b0d32928045 Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic302.consmr.mail.ne1.yahoo.com with HTTP; Tue, 21 Nov 2023 03:45:56 +0000 Original-Received: by hermes--production-sg3-599557b48c-jq7n2 (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 842276bcc17a15365ed5aec6f8a445bc; Tue, 21 Nov 2023 03:45:51 +0000 (UTC) X-Mailer: WebService/1.1.21896 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Received-SPF: pass client-ip=66.163.186.146; envelope-from=luangruo@yahoo.com; helo=sonic302-20.consmr.mail.ne1.yahoo.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, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, 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-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 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-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:313088 Archived-At: There is presently a bewildering set of actions taken in response to an XF86Back key press. In most buffers, it is equivalent to typing C-x , switching to the buffer previously displayed in the current window. In Help buffers, it navigates to the last Help notice displayed, and in Info buffers, it navigates to the last node displayed. Such behavior is confusing because XF86Back cannot be relied on to restore an earlier state of affairs, be that a previous window configuration, Info node or current buffer. To give an example, if the Info directory is opened, then the node "(elisp)Numeric Conversions", the scratch buffer, and the Info buffer once more, XF86Back will return to the Info directory instead of *scratch*. If XF86Back is pressed thereafter, Info will print a message to the effect that there is no previous node in the Info buffer's history without restoring any earlier window configuration. Moreover, restoring merely the last buffer to have been selected does not suffice at times: when I press Back after typing "F" in a Gnus Article buffer displays a message buffer occupying the whole frame, I am brought to the Summary buffer, while it is the previous window configuration incorporating both the Summary and Article buffers that should be restored in this case. The object of such keys as XF86Back and its Android analogs is to undo the effects of the last navigation: a call to display-buffer, switching to a different window, clicking on a link in an Info buffer, and the like. In the first instance, this calls for a unified undo system which preserves changes to the window configuration, that they might be reverted when Back is pressed. As this cannot account for forms of navigation that spare the window configuration, Info and Help buffers must also make a note of new nodes visited within this undo system and supply means by which these alterations can be undone. There are two shortcomings to this I can't yet address. If window configurations are saved, then the selected window is also accounted a navigation operation and is subject to change when Back is pressed. Not only is this unwanted, it also impedes addressing the second shortcoming, which is that it ought to be possible for the effect of Back to be limited to a single window, such as by restoring the selected buffer of that single window rather than that of the window whose selected buffer is the last to have changed. Thus instead of implementing and installing a prototype of this at a venture, I want to ask everyone else's advice, and also for ideas as regards when and whether this Back mechanism should act as described in the last paragraph. TIA.