From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: rameiko87@posteo.net Newsgroups: gmane.emacs.devel Subject: Rmail: new feature to deal with In-Reply-To and References headers Date: Sat, 09 Dec 2023 15:35:37 +0000 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="2236"; 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 Sat Dec 09 16:47:36 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 1rBzYF-0000N9-KX for ged-emacs-devel@m.gmane-mx.org; Sat, 09 Dec 2023 16:47:35 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rBzXN-0005Yq-0q; Sat, 09 Dec 2023 10:46:41 -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 1rBzMp-0004ZM-FJ for emacs-devel@gnu.org; Sat, 09 Dec 2023 10:35:48 -0500 Original-Received: from mout02.posteo.de ([185.67.36.66]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rBzMk-0006OI-10 for emacs-devel@gnu.org; Sat, 09 Dec 2023 10:35:47 -0500 Original-Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 7D03C240104 for ; Sat, 9 Dec 2023 16:35:37 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1702136137; bh=rBVee7/UcT+OLReKZcSfpWVtHakWEoF1Nwzdjw5DvMk=; h=MIME-Version:Content-Transfer-Encoding:Date:From:To:Subject: Message-ID:From; b=p2RR+0Pbw2WNcYEvDxElozwgqMbAHzP13+xFT7Nn/AmnvcTOgnkPqMnEyKn9qKfsH rsRezQSAg4fb126JQvdtHSMvmGo+vmyy/LuzndHztyJ9P5TyXio+kJZI9R2TMZHWA3 Lrv7vURo+ZFxtZM2aYuJu/kpCr0/NvvxQzJBrn441n4PkNp1RXAQ0I369IaXugxBQD RwiB5nIu+2u2pqJRPvyQ7NpV9DPZ/2j7V7teIrJlB6qL8bJ1Eq+ybcOdVXGR4bK/G7 CVHfNlAvKYqHGng03qlF7Drowc5NYw7/C55xiu9VkKi/Y0Pqc+eZ7NWI+GQ/bYjxAB JxUhKHJvjJ3CA== Original-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4SnXCF1s0kz6twb for ; Sat, 9 Dec 2023 16:35:37 +0100 (CET) Received-SPF: pass client-ip=185.67.36.66; envelope-from=rameiko87@posteo.net; helo=mout02.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 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, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=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-Mailman-Approved-At: Sat, 09 Dec 2023 10:46:38 -0500 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:313636 Archived-At: Rmail allows the user to move among messages by using the Subject header, however the In-Reply-To and References headers provide more accurate information about the email chain, and using them to move along the conversation thread is certainly more reliable than relying on the Subject header. How about implementing the following commands in Rmail: Move to the next message in the same thread as the current one (that is, the next message whose References header includes the current Message-ID). Move to the previous message in the same thread as the current one (that is, the message whose Message-ID is the last entry of the References header). Move to the message which the current message is replying to (that is, the message whose Message-ID appears in the In-Reply-To header). Move to the first message of the thread (that is, the first entry of the References header). With argument n, move to message number n of the thread. Move to the first message of the thread (as a separate command) Move to the last message of the thread (that is, the last message whose References header includes the current Message-ID). After this, let's do the analogous for Summaries! I regard these improvements as the neat and elegant siblings of the Subject header-based walk. Note: I wonder if any sanity-check on the message-tree is required, for instance what if the Message-ID of the current message appears in its In-Reply-To or References header.