From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 24 00:09:16 2023 Received: (at submit) by debbugs.gnu.org; 24 Mar 2023 04:09:16 +0000 Received: from localhost ([127.0.0.1]:39615 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pfYjr-0007iy-O3 for submit@debbugs.gnu.org; Fri, 24 Mar 2023 00:09:16 -0400 Received: from lists.gnu.org ([209.51.188.17]:40292) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pfYjn-0007ih-UE for submit@debbugs.gnu.org; Fri, 24 Mar 2023 00:09:14 -0400 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 1pfYjn-0008Ob-3r for bug-gnu-emacs@gnu.org; Fri, 24 Mar 2023 00:09:11 -0400 Received: from mail-yw1-x112e.google.com ([2607:f8b0:4864:20::112e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pfYjb-0005ry-8R for bug-gnu-emacs@gnu.org; Fri, 24 Mar 2023 00:09:10 -0400 Received: by mail-yw1-x112e.google.com with SMTP id 00721157ae682-5416698e889so12538607b3.2 for ; Thu, 23 Mar 2023 21:08:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1679630907; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=iGzyJCNSQ8WfSMdpHj5PlRM8JgiH4e5xUqqZ4IsXi2o=; b=Pp4Blrcola7e7PisW+DxD09Xky8gOuaW6vaP1EtfdjNHk277bTz7SCWnoLTyF0kBXi eHiTf7j9+11fcMcm2a62nG8bx8UigowmyVTgVc5skSsyc8Ci5XRCr6LWOdEVnr6pCAVv 8wajH79zSGs0ZdN4pq4pkTAAQZM6WG4obNt+yJeaZBrnikN1Cd6ehZ7edH0FgoRtJIfy 6Kn6BBVradSsvF5GPpyNfwTnvmjDu7duIlHFg3Zl6Fu9i0UoXQKgV8ZcwiaO8Bzqm04V Hw3Mg1fypbzK4HDuueMgYiILAKutTxJ2XTWx/dV5kyW5B2swmrRvIBA+T2hBz3p5g4Zp +f5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679630907; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=iGzyJCNSQ8WfSMdpHj5PlRM8JgiH4e5xUqqZ4IsXi2o=; b=DgH0fnUOEKTFlWXQ5WFB5Q0kHAF1VyiJ+W8VFTZhcYIlCDb1R55louikqg1c7srZkr JbcopkqkrFVlcFDyT7UQ8BGfi2LTWzFVwujplgq6tPFVaYIiZPfiY0KmvXW6L3jT878n ONCsmxfMSikd3hdkOwJpGMmWK4U56z3mr2MUJjbfGjCYNuDMvqumkehyct9ARNVzZgK5 KWrDQNbCysKHmgQRo2uTkNJVD11abM0mW+weqY2NmgF8ckZJuALV/sNveR8J43hnLLCd vizHrcj4seUhQtVOGQYaB1hB6+HaNeQfGRrH/FfdC215FQxvKeWac3OxwJ1+EvF0CpgQ n/vA== X-Gm-Message-State: AAQBX9dOaiVv34oklSHOurvwCp2rLzTBwVH/hN5jWogd4mu1rTfdjOmD vfmaDJu11oRS7b41Yk5gEjViHMRVix4mUIE7D7w1SgMej68AwQ== X-Google-Smtp-Source: AK7set+1Xpo5EWX57Ffgk+aURazqWkh0JgLnk/hYyVFSAMzo6zaT/cRhqvukTqzkM15ncA12Zt1yTjm8g+5Uydi7388= X-Received: by 2002:a4a:c995:0:b0:53a:9f38:3170 with SMTP id u21-20020a4ac995000000b0053a9f383170mr652934ooq.1.1679624358786; Thu, 23 Mar 2023 19:19:18 -0700 (PDT) MIME-Version: 1.0 From: Liu Hui Date: Fri, 24 Mar 2023 10:19:07 +0800 Message-ID: Subject: 29.0.60; [PATCH] save-place-mode cannot restore saved position To: bug-gnu-emacs@gnu.org Content-Type: multipart/mixed; boundary="000000000000432bed05f79c05b8" Received-SPF: pass client-ip=2607:f8b0:4864:20::112e; envelope-from=liuhui1610@gmail.com; helo=mail-yw1-x112e.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 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_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.1 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.1 (--) --000000000000432bed05f79c05b8 Content-Type: text/plain; charset="UTF-8" Hi, save-place-mode cannot restore last saved position when `save-place-abbreviate-file-names' is non-nil: - emacs -Q - M-x save-place-mode, and set save-place-abbreviate-file-names to t - open a file, scroll to some position, and kill buffer - reopen the file, the position is not restored The reason is it uses abbreviated file names when saving positions to `save-place-alist', but uses full file names to find position in `save-place-alist'. Best, Liu Hui --000000000000432bed05f79c05b8 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Restore-positions-for-abbreviated-file-names.patch" Content-Disposition: attachment; filename="0001-Restore-positions-for-abbreviated-file-names.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lflwy0fj0 RnJvbSA0NjhiNjk5ZTMxMjNjMDA4ZDhhNWJkMDUwYzFlZmMzYWQ5MjZiMTk4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMaXUgSHVpIDxsaXVodWkxNjEwQGdtYWlsLmNvbT4KRGF0ZTog RnJpLCAyNCBNYXIgMjAyMyAxMDowODoxMiArMDgwMApTdWJqZWN0OiBbUEFUQ0hdIFJlc3RvcmUg cG9zaXRpb25zIGZvciBhYmJyZXZpYXRlZCBmaWxlIG5hbWVzIGluIHNhdmVwbGFjZS5lbAoKKiBs aXNwL3NhdmVwbGFjZS5lbCAoc2F2ZS1wbGFjZS1maW5kLWZpbGUtaG9vayk6IFVzZSBhYmJyZXZp YXRlZCBmaWxlCm5hbWUgd2hlbiBgc2F2ZS1wbGFjZS1hYmJyZXZpYXRlLWZpbGUtbmFtZXMnIGlz IG5vbi1uaWwuCi0tLQogbGlzcC9zYXZlcGxhY2UuZWwgfCA2ICsrKysrLQogMSBmaWxlIGNoYW5n ZWQsIDUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2xpc3Avc2F2 ZXBsYWNlLmVsIGIvbGlzcC9zYXZlcGxhY2UuZWwKaW5kZXggNzUxMmZjODdjNWQuLjUyNjJmNTc0 ZWZjIDEwMDY0NAotLS0gYS9saXNwL3NhdmVwbGFjZS5lbAorKysgYi9saXNwL3NhdmVwbGFjZS5l bApAQCAtMzUzLDggKzM1MywxMSBAQCBzYXZlLXBsYWNlLWZpbmQtZmlsZS1ob29rCiAgICJGdW5j dGlvbiBhZGRlZCB0byBgZmluZC1maWxlLWhvb2snIGJ5IGBzYXZlLXBsYWNlLW1vZGUnLgogSXQg cnVucyB0aGUgaG9vayBgc2F2ZS1wbGFjZS1hZnRlci1maW5kLWZpbGUtaG9vaycuIgogICAob3Ig c2F2ZS1wbGFjZS1sb2FkZWQgKHNhdmUtcGxhY2UtbG9hZC1hbGlzdC1mcm9tLWZpbGUpKQotICAo bGV0ICgoY2VsbCAoYXNzb2MgYnVmZmVyLWZpbGUtbmFtZSBzYXZlLXBsYWNlLWFsaXN0KSkpCisg IChsZXQqICgoaXRlbSAoaWYgKGFuZCAoc3RyaW5ncCBidWZmZXItZmlsZS1uYW1lKQorICAgICAg ICAgICAgICAgICAgICAgICAgc2F2ZS1wbGFjZS1hYmJyZXZpYXRlLWZpbGUtbmFtZXMpCisgICAg ICAgICAgICAgICAgICAgKGFiYnJldmlhdGUtZmlsZS1uYW1lIGJ1ZmZlci1maWxlLW5hbWUpCisg ICAgICAgICAgICAgICAgIGJ1ZmZlci1maWxlLW5hbWUpKQorICAgICAgICAgKGNlbGwgKGFzc29j IGl0ZW0gc2F2ZS1wbGFjZS1hbGlzdCkpKQogICAgIChpZiBjZWxsCiAJKHByb2duCiAJICAob3Ig cmV2ZXJ0LWJ1ZmZlci1pbi1wcm9ncmVzcy1wCi0tCjIuMjUuMQoK --000000000000432bed05f79c05b8-- From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 25 07:52:34 2023 Received: (at 62413) by debbugs.gnu.org; 25 Mar 2023 11:52:34 +0000 Received: from localhost ([127.0.0.1]:41886 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pg2Rm-0003tY-1b for submit@debbugs.gnu.org; Sat, 25 Mar 2023 07:52:34 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46668) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pg2Rg-0003tH-Td for 62413@debbugs.gnu.org; Sat, 25 Mar 2023 07:52:32 -0400 Received: from [2001:470:142:3::e] (helo=fencepost.gnu.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pg2Rb-0007jT-LF; Sat, 25 Mar 2023 07:52:23 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=6LqWPqmneUPepRchS30Z1dXQQgEjXyQRRibKUIBEk5A=; b=jJFoz3jfdVkp PMTW33zdSms3C54zem3sDfDfoIBnsH6Iw4FySCVhUE4keS4wBsItv9N67/9el30Ra2hGy0XJuoT7d VQLZhP+nfgqAgWdTjTmYhtxr1kq6hmzkimSNSfH+BMJ6+HQoT7awAnkfMLDqXc+Y9OxyrqeEa5ghj DNBGM1yy0qoXmtU5yHoCnlrnDbqxJo7DvCDsTSC7/nuici69HV3nPYdVDRzIvIwOs4y5t4wbwQrKG d5xa2gj1+HVfRUg2B2jT5buvDNucAYwKhbIrM5UYqI3HjAwnwcPoNrbdgMRQ1MSYLf8bhnSJAlqWQ xXWLmJf2z8SGKZo68Gtk1w==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pg2RX-000141-Rv; Sat, 25 Mar 2023 07:52:20 -0400 Date: Sat, 25 Mar 2023 14:52:17 +0300 Message-Id: <83tty9caku.fsf@gnu.org> From: Eli Zaretskii To: Liu Hui In-Reply-To: (message from Liu Hui on Fri, 24 Mar 2023 10:19:07 +0800) Subject: Re: bug#62413: 29.0.60; [PATCH] save-place-mode cannot restore saved position References: X-Spam-Score: -1.9 (-) X-Debbugs-Envelope-To: 62413 Cc: 62413@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.9 (--) > From: Liu Hui > Date: Fri, 24 Mar 2023 10:19:07 +0800 > > save-place-mode cannot restore last saved position when > `save-place-abbreviate-file-names' is non-nil: > > - emacs -Q > - M-x save-place-mode, and set save-place-abbreviate-file-names to t > - open a file, scroll to some position, and kill buffer > - reopen the file, the position is not restored > > The reason is it uses abbreviated file names when saving positions to > `save-place-alist', but uses full file names to find position in > `save-place-alist'. I believe you are right with this analysis, thanks. > --- a/lisp/saveplace.el > +++ b/lisp/saveplace.el > @@ -353,8 +353,11 @@ save-place-find-file-hook > "Function added to `find-file-hook' by `save-place-mode'. > It runs the hook `save-place-after-find-file-hook'." > (or save-place-loaded (save-place-load-alist-from-file)) > - (let ((cell (assoc buffer-file-name save-place-alist))) > + (let* ((item (if (and (stringp buffer-file-name) > + save-place-abbreviate-file-names) > + (abbreviate-file-name buffer-file-name) > + buffer-file-name)) > + (cell (assoc item save-place-alist))) Wouldn't it be best to always test for abbreviated file name if the full file name fails to match? E.g., it could be that the user turned on save-place-abbreviate-file-names for a while, then turned it off (or vice versa), thus causing mixed file names in the saved history. It would also make the code simpler, I think. From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 25 10:17:22 2023 Received: (at 62413) by debbugs.gnu.org; 25 Mar 2023 14:17:22 +0000 Received: from localhost ([127.0.0.1]:43172 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pg4ht-0008Dv-VN for submit@debbugs.gnu.org; Sat, 25 Mar 2023 10:17:22 -0400 Received: from eggs.gnu.org ([209.51.188.92]:37124) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pg4hs-0008DV-5a for 62413@debbugs.gnu.org; Sat, 25 Mar 2023 10:17:20 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pg4hm-0002EA-UZ; Sat, 25 Mar 2023 10:17:14 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=kWGO1C9g44H/UnYqcdc4Z7xencQopuQw6hFpoG5+G9Y=; b=Ix4+xtiFemp5 cXgp8ANp01cQqTnO/xfebIZioDJrZmOOP6/ikcuPhM3n5ItsG1rJWJSq4AhazIH+rfJLDvesqDLFF 7nnIV/2ssWNlYpjWMiLjBMmj6mfGwFaiSFtGEJirAQhmVjz6gq7b8EaSSFqSvYNWUkRxZhNAfRZ9e gtlv/LKp2dPO+NBSXCNYc5/aKEL/xVT+gaquoXI0P+Zphw5OwPWlyzFlEH51IcS1k3adUECWj7mlP Co0AlA6duQH4Y/6DsTv/XnTYObp0vHyk5b48mYiCYJOHPEOM0AnZR5iFxjpW+VmgGOj7igLDTMuQ2 xFr0wZ3v5KGT84vhoJlFoA==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pg4hm-00022E-1s; Sat, 25 Mar 2023 10:17:14 -0400 Date: Sat, 25 Mar 2023 17:17:11 +0300 Message-Id: <83y1nkc3vc.fsf@gnu.org> From: Eli Zaretskii To: Liu Hui In-Reply-To: (message from Liu Hui on Sat, 25 Mar 2023 22:14:02 +0800) Subject: Re: bug#62413: 29.0.60; [PATCH] save-place-mode cannot restore saved position References: <83tty9caku.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 62413 Cc: 62413@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Liu Hui > Date: Sat, 25 Mar 2023 22:14:02 +0800 > Cc: 62413@debbugs.gnu.org > > > Wouldn't it be best to always test for abbreviated file name if the > > full file name fails to match? E.g., it could be that the user turned > > on save-place-abbreviate-file-names for a while, then turned it off > > (or vice versa), thus causing mixed file names in the saved history. > > It would also make the code simpler, I think. > > I agree that it is better to consider mixed file names. Please see the > updated patch. > > From ad5f2d4f3c878a15c2fd1d2eca09e2f2fbecec15 Mon Sep 17 00:00:00 2001 > From: Liu Hui > Date: Fri, 24 Mar 2023 10:08:12 +0800 > Subject: [PATCH] Restore positions for abbreviated file names in saveplace.el > > * lisp/saveplace.el (save-place-find-file-hook): Use abbreviated file > name when `save-place-abbreviate-file-names' is non-nil. > --- > lisp/saveplace.el | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/lisp/saveplace.el b/lisp/saveplace.el > index 7512fc87c5d..6c3ed34f198 100644 > --- a/lisp/saveplace.el > +++ b/lisp/saveplace.el > @@ -353,7 +353,14 @@ save-place-find-file-hook > "Function added to `find-file-hook' by `save-place-mode'. > It runs the hook `save-place-after-find-file-hook'." > (or save-place-loaded (save-place-load-alist-from-file)) > - (let ((cell (assoc buffer-file-name save-place-alist))) > + (let ((cell (and (stringp buffer-file-name) > + (if save-place-abbreviate-file-names > + (or (assoc (abbreviate-file-name buffer-file-name) > + save-place-alist) > + (assoc buffer-file-name save-place-alist)) > + (or (assoc buffer-file-name save-place-alist) > + (assoc (abbreviate-file-name buffer-file-name) > + save-place-alist)))))) > (if cell But now testing save-place-abbreviate-file-names here should be redundant, right? Also, I think we should first test buffer-file-name, and only after that its abbreviated variant. From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 25 10:22:35 2023 Received: (at 62413) by debbugs.gnu.org; 25 Mar 2023 14:22:35 +0000 Received: from localhost ([127.0.0.1]:43193 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pg4mx-0008Nm-7G for submit@debbugs.gnu.org; Sat, 25 Mar 2023 10:22:35 -0400 Received: from mail-oa1-f49.google.com ([209.85.160.49]:40955) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pg4mv-0008NS-0g for 62413@debbugs.gnu.org; Sat, 25 Mar 2023 10:22:33 -0400 Received: by mail-oa1-f49.google.com with SMTP id 586e51a60fabf-177b78067ffso4705322fac.7 for <62413@debbugs.gnu.org>; Sat, 25 Mar 2023 07:22:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1679754143; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=f5u4KLWwpFq1MlWdEwY6bVyy/pWT+tUfCYKKDDBO+P0=; b=qaGz65M5jOaTkY4mQh3l6Y8DDl62sD9Zf1Dp6Gl5f/LSdRcYxEfJmE7Un9b60fKGcg rTQJW8jrbC63p3j35brJQkDNp6h5VGPuZio28v5tVbprHaxA49zawbp+imik2XNc2ajw glBwydgkkYMTp+lDheltPItHxqD39jeEyEV7WRXglfOCecyLhzLAXr2XK3PKYJyswkzC ZMQqYQ4scfTQ3NnMBhvkJSpnCYVdIn2564Ytvo1bMxXU1EApEj595r6m13Q/DFrHu0oZ oJP3TGKToJqtSdx9Xuosng714c+ZNJt7gMalQ4yyUYpG1jlUgulf1Ym3ByCRsqE4XRnE fr9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679754143; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=f5u4KLWwpFq1MlWdEwY6bVyy/pWT+tUfCYKKDDBO+P0=; b=0Z8P/3gjYXWX7PGxFDl5iXQ/hbtPBcKvOWSSMRjYQTcYgMOK9Maa7K5O1plg2RSdC8 aLemLMQvHKWUJDDdD+ZbDAuM/svHm0ZrfBEaTHLRXDQPe6bZjeB4vAuu3shOxJqjq/w9 h4gj8fgXs+hma6+isULol3VL1B5O1P4K5XxL3ftLJA/U9JtewXjLsD4z4j+kp85+z9Dr FftghFTPDUEEuEbb17vTGF0+22X4ZOUkaJzZCG15DXo7NtnK2Z6MQwvP6baSEdR8JmL4 cO3UDOokyarmTTOoBeX+h+r9jx5LC+ZbhEU6di1Ej1gaE6eUmdGnu1O523s3OBlCZELP EBKA== X-Gm-Message-State: AAQBX9fPz35pvgr/cdIsnkpwPJ1G3zCdvxhq4pJzEXcx28SLtGpR5/ki n7rOaLYxzYLOkzhFDEnc0IcXqbOSHHzOKI+LNGyb0m9k X-Google-Smtp-Source: AK7set+/otACltJT5eLSYQYb6z4nTYL4TPLE4tZxGSXNNB/kwGzAtPCNdYOyAid1MEZyvse5r6Jxr57QHKm1ybLb26g= X-Received: by 2002:a4a:e602:0:b0:538:d154:cbc2 with SMTP id f2-20020a4ae602000000b00538d154cbc2mr2135261oot.1.1679753654017; Sat, 25 Mar 2023 07:14:14 -0700 (PDT) MIME-Version: 1.0 References: <83tty9caku.fsf@gnu.org> In-Reply-To: <83tty9caku.fsf@gnu.org> From: Liu Hui Date: Sat, 25 Mar 2023 22:14:02 +0800 Message-ID: Subject: Re: bug#62413: 29.0.60; [PATCH] save-place-mode cannot restore saved position To: Eli Zaretskii Content-Type: multipart/mixed; boundary="000000000000dbbd6105f7ba1fa2" X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 62413 Cc: 62413@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --000000000000dbbd6105f7ba1fa2 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable =E5=9C=A8 2023/3/25 19:52, Eli Zaretskii =E5=86=99=E9=81=93: >> --- a/lisp/saveplace.el >> +++ b/lisp/saveplace.el >> @@ -353,8 +353,11 @@ save-place-find-file-hook >> "Function added to `find-file-hook' by `save-place-mode'. >> It runs the hook `save-place-after-find-file-hook'." >> (or save-place-loaded (save-place-load-alist-from-file)) >> - (let ((cell (assoc buffer-file-name save-place-alist))) >> + (let* ((item (if (and (stringp buffer-file-name) >> + save-place-abbreviate-file-names) >> + (abbreviate-file-name buffer-file-name) >> + buffer-file-name)) >> + (cell (assoc item save-place-alist))) > > Wouldn't it be best to always test for abbreviated file name if the > full file name fails to match? E.g., it could be that the user turned > on save-place-abbreviate-file-names for a while, then turned it off > (or vice versa), thus causing mixed file names in the saved history. > It would also make the code simpler, I think. I agree that it is better to consider mixed file names. Please see the updated patch. --000000000000dbbd6105f7ba1fa2 Content-Type: application/x-patch; name="0001-Restore-positions-for-abbreviated-file-names-in-save.patch" Content-Disposition: attachment; filename="0001-Restore-positions-for-abbreviated-file-names-in-save.patch" Content-Transfer-Encoding: base64 Content-ID: <> X-Attachment-Id: RnJvbSBhZDVmMmQ0ZjNjODc4YTE1YzJmZDFkMmVjYTA5ZTJmMmZiZWNlYzE1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMaXUgSHVpIDxsaXVodWkxNjEwQGdtYWlsLmNvbT4KRGF0ZTog RnJpLCAyNCBNYXIgMjAyMyAxMDowODoxMiArMDgwMApTdWJqZWN0OiBbUEFUQ0hdIFJlc3RvcmUg cG9zaXRpb25zIGZvciBhYmJyZXZpYXRlZCBmaWxlIG5hbWVzIGluIHNhdmVwbGFjZS5lbAoKKiBs aXNwL3NhdmVwbGFjZS5lbCAoc2F2ZS1wbGFjZS1maW5kLWZpbGUtaG9vayk6IFVzZSBhYmJyZXZp YXRlZCBmaWxlCm5hbWUgd2hlbiBgc2F2ZS1wbGFjZS1hYmJyZXZpYXRlLWZpbGUtbmFtZXMnIGlz IG5vbi1uaWwuCi0tLQogbGlzcC9zYXZlcGxhY2UuZWwgfCA5ICsrKysrKysrLQogMSBmaWxlIGNo YW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2xpc3Av c2F2ZXBsYWNlLmVsIGIvbGlzcC9zYXZlcGxhY2UuZWwKaW5kZXggNzUxMmZjODdjNWQuLjZjM2Vk MzRmMTk4IDEwMDY0NAotLS0gYS9saXNwL3NhdmVwbGFjZS5lbAorKysgYi9saXNwL3NhdmVwbGFj ZS5lbApAQCAtMzUzLDcgKzM1MywxNCBAQCBzYXZlLXBsYWNlLWZpbmQtZmlsZS1ob29rCiAgICJG dW5jdGlvbiBhZGRlZCB0byBgZmluZC1maWxlLWhvb2snIGJ5IGBzYXZlLXBsYWNlLW1vZGUnLgog SXQgcnVucyB0aGUgaG9vayBgc2F2ZS1wbGFjZS1hZnRlci1maW5kLWZpbGUtaG9vaycuIgogICAo b3Igc2F2ZS1wbGFjZS1sb2FkZWQgKHNhdmUtcGxhY2UtbG9hZC1hbGlzdC1mcm9tLWZpbGUpKQot ICAobGV0ICgoY2VsbCAoYXNzb2MgYnVmZmVyLWZpbGUtbmFtZSBzYXZlLXBsYWNlLWFsaXN0KSkp CisgIChsZXQgKChjZWxsIChhbmQgKHN0cmluZ3AgYnVmZmVyLWZpbGUtbmFtZSkKKyAgICAgICAg ICAgICAgICAgICAoaWYgc2F2ZS1wbGFjZS1hYmJyZXZpYXRlLWZpbGUtbmFtZXMKKyAgICAgICAg ICAgICAgICAgICAgICAgKG9yIChhc3NvYyAoYWJicmV2aWF0ZS1maWxlLW5hbWUgYnVmZmVyLWZp bGUtbmFtZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYXZlLXBsYWNlLWFs aXN0KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFzc29jIGJ1ZmZlci1maWxlLW5hbWUg c2F2ZS1wbGFjZS1hbGlzdCkpCisgICAgICAgICAgICAgICAgICAgICAob3IgKGFzc29jIGJ1ZmZl ci1maWxlLW5hbWUgc2F2ZS1wbGFjZS1hbGlzdCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAo YXNzb2MgKGFiYnJldmlhdGUtZmlsZS1uYW1lIGJ1ZmZlci1maWxlLW5hbWUpCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNhdmUtcGxhY2UtYWxpc3QpKSkpKSkKICAgICAoaWYgY2Vs bAogCShwcm9nbgogCSAgKG9yIHJldmVydC1idWZmZXItaW4tcHJvZ3Jlc3MtcAotLSAKMi4yNS4x Cgo= --000000000000dbbd6105f7ba1fa2-- From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 25 21:26:45 2023 Received: (at 62413) by debbugs.gnu.org; 26 Mar 2023 01:26:45 +0000 Received: from localhost ([127.0.0.1]:43708 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pgF9h-0003K0-Hd for submit@debbugs.gnu.org; Sat, 25 Mar 2023 21:26:45 -0400 Received: from mail-oa1-f44.google.com ([209.85.160.44]:42839) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pgF9g-0003Jp-DK for 62413@debbugs.gnu.org; Sat, 25 Mar 2023 21:26:44 -0400 Received: by mail-oa1-f44.google.com with SMTP id 586e51a60fabf-17aceccdcf6so5754409fac.9 for <62413@debbugs.gnu.org>; Sat, 25 Mar 2023 18:26:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1679793995; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=bWGy+Tc48/tCbON/I4hpSGtVr2QfG5L0QmmECRAvcrk=; b=kmLI20N8R0t8VL1KLBDBF2I0jufq5j+lhlchXYxpy5kVSEGEiN2fh9c/OK67kfxNwo QUU8uk8MkrS/XXjPXfiM2YkDfmbyxMc9fRqs4Q5TnQIYLJD4+oQBvtNNFGxu//yv/vtG 5YOcKU/Rb6VP8GJzFssy3SZAxtpK2Ibdhlns9FDOKgxgTzS2wG0BC5UAvwwXudg8QVJ5 m9HV8QholV+knNf2v2MtI9VJ6TPi9TbS0qYZnnwwYKIplBmI06oB/cEiav5Y6FpWRqii hI8rulPBglXWdRNvppnxC+0b1F6eZKWfVXGaluhkS7rl6Q8L6wot7qY14SABAwATWVvG InGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679793995; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=bWGy+Tc48/tCbON/I4hpSGtVr2QfG5L0QmmECRAvcrk=; b=mMW7GOew2ZbdZcnSV0dWtrcHqUAGcIcNFmJRy4LiCdiBwTg8/GPqKlvDvX8ixogRUs vgM39yVcKipB1fm5uv/Fm/nO1OilxQOVTL+I9Ozk2lXaxwIJRiiS4+eQ+xOyveQb690P nLeltouVLWAnJtH9jstRdqIqfnuxAa+G9pDAvMFdEj8ylZS3UAbR4rbLQaOtlcO/2L4s /be2AiIdavbem2BdujlGWQN2FowKFMiQhj9ivMpI3Qxp5zcnrqdFdANe/JPR+L9Mc+j+ 6kDrtkVMVTnjmcx+bwobp3miMSr4yp5I9yDoT9FKz8jVuKjRNsYcZRfyx23SfnP/waT8 J+aw== X-Gm-Message-State: AAQBX9eV8zZMQ0/m5Qr7ZWPZnO82EGA0ULC1HpVAIMeNz4JGv11EQl9U Vb51KnUEDzZyRau+08ZYO+prQoHTzBbgO3yJjlQ= X-Google-Smtp-Source: AKy350bFad2C3tYB8VXTKvjiwxYINmT5kNic7KnNHvanUtp0Dgzm6itm0N1ilKKD8F0yVx/0mRRD6cBuX21BiI3uGsc= X-Received: by 2002:a05:6870:1059:b0:177:a0de:992 with SMTP id 25-20020a056870105900b00177a0de0992mr2872032oaj.3.1679793993686; Sat, 25 Mar 2023 18:26:33 -0700 (PDT) MIME-Version: 1.0 References: <83tty9caku.fsf@gnu.org> <83y1nkc3vc.fsf@gnu.org> In-Reply-To: <83y1nkc3vc.fsf@gnu.org> From: Liu Hui Date: Sun, 26 Mar 2023 09:26:22 +0800 Message-ID: Subject: Re: bug#62413: 29.0.60; [PATCH] save-place-mode cannot restore saved position To: Eli Zaretskii Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 62413 Cc: 62413@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) Eli Zaretskii =E4=BA=8E2023=E5=B9=B43=E6=9C=8825=E6=97=A5=E5= =91=A8=E5=85=AD 22:17=E5=86=99=E9=81=93=EF=BC=9A > > lisp/saveplace.el | 9 ++++++++- > > 1 file changed, 8 insertions(+), 1 deletion(-) > > > > diff --git a/lisp/saveplace.el b/lisp/saveplace.el > > index 7512fc87c5d..6c3ed34f198 100644 > > --- a/lisp/saveplace.el > > +++ b/lisp/saveplace.el > > @@ -353,7 +353,14 @@ save-place-find-file-hook > > "Function added to `find-file-hook' by `save-place-mode'. > > It runs the hook `save-place-after-find-file-hook'." > > (or save-place-loaded (save-place-load-alist-from-file)) > > - (let ((cell (assoc buffer-file-name save-place-alist))) > > + (let ((cell (and (stringp buffer-file-name) > > + (if save-place-abbreviate-file-names > > + (or (assoc (abbreviate-file-name buffer-file-na= me) > > + save-place-alist) > > + (assoc buffer-file-name save-place-alist)) > > + (or (assoc buffer-file-name save-place-alist) > > + (assoc (abbreviate-file-name buffer-file-name= ) > > + save-place-alist)))))) > > (if cell > > But now testing save-place-abbreviate-file-names here should be > redundant, right? > > Also, I think we should first test buffer-file-name, and only after > that its abbreviated variant. I don't think so. Consider the following case: - open file A and then close the buffer: (buffer-file-name . position1) is saved in save-place-alist - then set save-place-abbreviate-file-names to t - open file A, scroll the buffer and close it: (abbreviated-file-name . position2) is saved - open file A again, and the point will be at position1 if buffer-file-name is tested first. But I would expect the point is at position2. From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 26 01:20:58 2023 Received: (at 62413) by debbugs.gnu.org; 26 Mar 2023 05:20:58 +0000 Received: from localhost ([127.0.0.1]:43844 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pgIoM-0001CA-4E for submit@debbugs.gnu.org; Sun, 26 Mar 2023 01:20:58 -0400 Received: from eggs.gnu.org ([209.51.188.92]:52212) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pgIoJ-0001Bq-Kt for 62413@debbugs.gnu.org; Sun, 26 Mar 2023 01:20:56 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pgIoE-0005Xo-2V; Sun, 26 Mar 2023 01:20:50 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=UAMwOH4bxOvurpCWdcK5Ej90wEkIgjP1jSbIFXAr/Wg=; b=F4woGbVNwkUx 3xhstl2ALMV+XEPYiKVCnXuoCphK4cCIaFN/9BkIQj7WmJwPPuEtlmLkba/X/fejyrNu/K4niEj1f uWXgZSmdvSleFXd+9sNA77dmEPzlHzuyY+ivj9DRowXZ8hut080NAi8sc6LWfS0GVQAET8IAf2YTW lMVsiK2IqiLiOaZKDb2/uGt1Q82qfxTKEP8sSkMPy7Dx0zTAdDxdhkl3URFBZv0L+pyA0WgQc2rM4 Jhn3qPU9g32UWemjTXKauHz0WTVjlLtQ99+2Z1TxuNMACYfIPp1cn/k9kkImuC4w2qbr52gERvs4H Sw92S7dQwaEv9cVIzkPUAg==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pgIoD-0008UJ-7E; Sun, 26 Mar 2023 01:20:49 -0400 Date: Sun, 26 Mar 2023 08:20:48 +0300 Message-Id: <83zg809jgv.fsf@gnu.org> From: Eli Zaretskii To: Liu Hui In-Reply-To: (message from Liu Hui on Sun, 26 Mar 2023 09:26:22 +0800) Subject: Re: bug#62413: 29.0.60; [PATCH] save-place-mode cannot restore saved position References: <83tty9caku.fsf@gnu.org> <83y1nkc3vc.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 62413 Cc: 62413@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Liu Hui > Date: Sun, 26 Mar 2023 09:26:22 +0800 > Cc: 62413@debbugs.gnu.org > > > But now testing save-place-abbreviate-file-names here should be > > redundant, right? > > > > Also, I think we should first test buffer-file-name, and only after > > that its abbreviated variant. > > I don't think so. Consider the following case: > > - open file A and then close the buffer: > (buffer-file-name . position1) is saved in save-place-alist > > - then set save-place-abbreviate-file-names to t > > - open file A, scroll the buffer and close it: > (abbreviated-file-name . position2) is saved > > - open file A again, and the point will be at position1 if > buffer-file-name is tested first. But I would expect the point is at > position2. Ugh! This feature was not thought out well enough when it was introduced: if the user changes the value half-way through a session, the history will record visited files twice, under 2 different file-name formats and with different places recorded. I think changing the value of save-place-abbreviate-file-names should rewrite the entire alist in the selected format. From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 28 01:56:26 2023 Received: (at 62413) by debbugs.gnu.org; 28 Mar 2023 05:56:26 +0000 Received: from localhost ([127.0.0.1]:48674 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ph2Jm-0000Fa-0k for submit@debbugs.gnu.org; Tue, 28 Mar 2023 01:56:26 -0400 Received: from mail-oo1-f46.google.com ([209.85.161.46]:45714) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ph2Jj-0000FM-AZ for 62413@debbugs.gnu.org; Tue, 28 Mar 2023 01:56:24 -0400 Received: by mail-oo1-f46.google.com with SMTP id f24-20020a4aeb18000000b0053b78077c9dso1711051ooj.12 for <62413@debbugs.gnu.org>; Mon, 27 Mar 2023 22:56:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1679982977; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=yJk3zVEwRxasq0gsoXnFfiJSV9GQciWG4MXbQ1IJyJo=; b=hxnJ4xTeuLrL2CrlQUG24I2HXPa0G/xKzg1jwHBJJaBfraZeMVZdxBSDflEeiGcTzu jotma9ukiTaoknBedC+9bRkO9Z1wVHpX3snWwUOoUr4c003bQg9uM6gNjCUmov77T5/1 i4Falu/BUJtFQfRbDB8jR2bB8Noq8tGGGjDroRqzWNeB/BXuND5CiopLv1+Lzlna78MD KQDqOpfNbAupZWHP5kfcmOz+30wkSVjeme7RPpgtITSJoBxG/Fvj1Q3uJ2pLbqN8Zcxe JXm4Ce+iGMNiJ9YmB1nlzaHECvIxpS7t0a2GyPlcDdoEbHtz69X9gvSpERiAYML/x9Uw kHRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679982977; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=yJk3zVEwRxasq0gsoXnFfiJSV9GQciWG4MXbQ1IJyJo=; b=5o0gnLJH0zi5jqWN1AVPg0cVFxjP96B1H/MaA0YLrLElzrPhrw5AtQDG1PotyUG4N2 WQ5qKtG9JTCo9b15b4U3HECjZ17hhRhrQsMG68pJKvcg405KQmqZfyiFc8VAKjDvaCxI uTz4BmFryemIQVzWc2oJgGWoEKfQfR6U/Rn2zL1kHTwxdwziJPVGwXtyL5JMcHKhvK7M gYJAx05vcO/WbcAH1jqDJ+1234CojHlUKK/j5NXY4VyGx3GGk6dUjRar8O2dYV9pa5i4 q47/uEfY4v0MlOOnxMRPS/lcV+BTi6Bdclz6IAEGPtN00c365oxt2+YW20yJUcpvT2Ml U39w== X-Gm-Message-State: AO0yUKWIqzPsfyF/Os8cJWR2h66Ib6+dy7ZnNeC0OOAVbQ5TG/XPxWjV Yflk1pk+26v5CrbhBCrIaIKs3fIzhvpY7ou3o6A= X-Google-Smtp-Source: AK7set8LWlcMZaqz0eEvkOSqfb/+S0aK0kT/2fB5UTaV1Z6kvWXIfaqUhyfsmlIEtUrWZbAlj1LQwVQYsLKJJvBUo8E= X-Received: by 2002:a4a:ddd6:0:b0:53b:4b20:b0a7 with SMTP id i22-20020a4addd6000000b0053b4b20b0a7mr4138484oov.1.1679982977495; Mon, 27 Mar 2023 22:56:17 -0700 (PDT) MIME-Version: 1.0 References: <83tty9caku.fsf@gnu.org> <83y1nkc3vc.fsf@gnu.org> <83zg809jgv.fsf@gnu.org> In-Reply-To: <83zg809jgv.fsf@gnu.org> From: Liu Hui Date: Tue, 28 Mar 2023 13:56:05 +0800 Message-ID: Subject: Re: bug#62413: 29.0.60; [PATCH] save-place-mode cannot restore saved position To: Eli Zaretskii Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 62413 Cc: 62413@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Eli Zaretskii =E4=BA=8E2023=E5=B9=B43=E6=9C=8826=E6=97=A5=E5= =91=A8=E6=97=A5 13:20=E5=86=99=E9=81=93=EF=BC=9A > Ugh! This feature was not thought out well enough when it was > introduced: if the user changes the value half-way through a session, > the history will record visited files twice, under 2 different > file-name formats and with different places recorded. I think > changing the value of save-place-abbreviate-file-names should rewrite > the entire alist in the selected format. I agree that it is better to avoid mixed file name formats, and then save-place-find-file-hook can be fixed simply. The difficult part is how to rewrite save-place-alist automatically. Otherwise users need to convert the format of file names manually, which, I think, is also acceptable. From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 28 08:03:23 2023 Received: (at 62413) by debbugs.gnu.org; 28 Mar 2023 12:03:23 +0000 Received: from localhost ([127.0.0.1]:49103 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ph82s-0006sb-TK for submit@debbugs.gnu.org; Tue, 28 Mar 2023 08:03:23 -0400 Received: from eggs.gnu.org ([209.51.188.92]:55618) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ph82r-0006sM-M0 for 62413@debbugs.gnu.org; Tue, 28 Mar 2023 08:03:22 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ph82l-0000Id-U3; Tue, 28 Mar 2023 08:03:15 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=UYMCJEqQSoOl4/+u346yGX2k5C2JlS7o30XHb3xOLsE=; b=jkyumtWo5MEK8e9tvJyI eKX4FAJH9tUuwZsdTFJmIS8tfwpBBPHDRQjKnTA7MxUv6r0+P34ZFQdHKRLoDzWg4g6XCsSg/MSnY 9Rk2RufHlA6cTP1DjQXUQYiemB6DVkPUnPLHakSqt3b0qQxN46KS02lHxwwIzGQzvtWyW7inl81Hn /3QN9iEvil4dzrqa3s+opQr5E5nOTd7eA5Yl2ekpnVz0ejWj/55Lx/iY7aypKJRorVsYu9XgSV/P0 5CRwLYTIeBgmSbIaYX7uIf+Y0UwudNMSVOhVrs90tW+H1AxWaqsJ0cksSIcvywM+gf6K4ohs+VVHR 6mwuLaCC0Gp7bA==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ph82l-0004Rb-CD; Tue, 28 Mar 2023 08:03:15 -0400 Date: Tue, 28 Mar 2023 15:03:20 +0300 Message-Id: <83cz4t84mv.fsf@gnu.org> From: Eli Zaretskii To: Liu Hui In-Reply-To: (message from Liu Hui on Tue, 28 Mar 2023 13:56:05 +0800) Subject: Re: bug#62413: 29.0.60; [PATCH] save-place-mode cannot restore saved position References: <83tty9caku.fsf@gnu.org> <83y1nkc3vc.fsf@gnu.org> <83zg809jgv.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 62413 Cc: 62413@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Liu Hui > Date: Tue, 28 Mar 2023 13:56:05 +0800 > Cc: 62413@debbugs.gnu.org > > Eli Zaretskii 于2023年3月26日周日 13:20写道: > > > Ugh! This feature was not thought out well enough when it was > > introduced: if the user changes the value half-way through a session, > > the history will record visited files twice, under 2 different > > file-name formats and with different places recorded. I think > > changing the value of save-place-abbreviate-file-names should rewrite > > the entire alist in the selected format. > > I agree that it is better to avoid mixed file name formats, and then > save-place-find-file-hook can be fixed simply. The difficult part is > how to rewrite save-place-alist automatically. Isn't it just a matter of going through the list and calling abbreviate-file-name on each file name there? From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 29 22:49:59 2023 Received: (at 62413) by debbugs.gnu.org; 30 Mar 2023 02:49:59 +0000 Received: from localhost ([127.0.0.1]:55338 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1phiMQ-0007SL-Lz for submit@debbugs.gnu.org; Wed, 29 Mar 2023 22:49:58 -0400 Received: from mail-ot1-f41.google.com ([209.85.210.41]:33529) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1phiMO-0007S8-Ba for 62413@debbugs.gnu.org; Wed, 29 Mar 2023 22:49:56 -0400 Received: by mail-ot1-f41.google.com with SMTP id cm7-20020a056830650700b006a11f365d13so8017213otb.0 for <62413@debbugs.gnu.org>; Wed, 29 Mar 2023 19:49:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680144590; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=Pkm1QYA9oTjvzyG+9I0OSkU8mV4+KjDMkHx/gWbj/cw=; b=pMDdMArVHu1EciCPvvmOZ7TMyCLjIGJCEFW9GC/rMarx2ty9vgq2wGagifnhh8brVF xsqgZnqyvetMkAEGdCz/di3yXl11I22xQsvJmVP49xjTUUzcEdNQyt3ufTOpRRLvQqzy klPu0HAfpfc3T7uN6MDpreDW637JV77Wd3GSIOauizYe+HppbaElBs8d+aYmH3ch1BCV 71qHdL0FvGBB93aybSWG0KFpnu3Xs9iZxxPpmnVhwf9gdH2DTYc2+iG5ta+fJ8brDYTv ASOCaqfqYu+kLcx8Uk/iH/dU20ICXd0TlJ2d6H4K4CoZYEcBomt7M/3Ju0oPT8AQsr7f HMEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680144590; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Pkm1QYA9oTjvzyG+9I0OSkU8mV4+KjDMkHx/gWbj/cw=; b=4txBOJkeEMHm08fsP0RR88cQT77RTe4wF9ACWlZrukwy72Y1mpPS74i8Wm+21i/RMu GjeyU9B2NpfAZvuh12Hf1dKWY/SNI4dyqBWRor91m9xILNVizKt/dC36Arj9TpqwyTKX sHvhXrx0Ww/pSwii4vSJklaxzBta2dfARuMx8ffinGJ3Alc1OXaY+mJvdfEGubuIl1Ke qQu6XXDTNOdfQnG89Plutri8gpkwuPzJkSfNgutGjqHtcTaOeurINmi3GH3j8j9/JC3a Xf4zcEPL2EXAtp9tJR5NyPzsXysR2ZtGROX08jf7BY2fLezea7aKELO5IoKvvlRkB0fk L+0A== X-Gm-Message-State: AAQBX9cJ+usxLhMRN9thl9Fu4uhyDL1qx/TKoFkrlWs02lFFZ2KphFvY 5jnvOnd+PsMJFi1YosJEkPtQMbE3dTw8rgq3HbeTjArpi1mN41ZK X-Google-Smtp-Source: AK7set+K+5Flc+qnkmbpUm6bM61I9N9UD3p6k/T+f+ohOtbZG5ZTSMyTeh45KjbSqWtWGPa19amCRwI64kifi5JAc/A= X-Received: by 2002:a9d:4b16:0:b0:69e:4f9:851d with SMTP id q22-20020a9d4b16000000b0069e04f9851dmr6643257otf.6.1680144590675; Wed, 29 Mar 2023 19:49:50 -0700 (PDT) MIME-Version: 1.0 References: <83tty9caku.fsf@gnu.org> <83y1nkc3vc.fsf@gnu.org> <83zg809jgv.fsf@gnu.org> <83cz4t84mv.fsf@gnu.org> In-Reply-To: <83cz4t84mv.fsf@gnu.org> From: Liu Hui Date: Thu, 30 Mar 2023 10:49:39 +0800 Message-ID: Subject: Re: bug#62413: 29.0.60; [PATCH] save-place-mode cannot restore saved position To: Eli Zaretskii Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 62413 Cc: 62413@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Eli Zaretskii =E4=BA=8E2023=E5=B9=B43=E6=9C=8828=E6=97=A5=E5= =91=A8=E4=BA=8C 20:03=E5=86=99=E9=81=93=EF=BC=9A > > > From: Liu Hui > > Date: Tue, 28 Mar 2023 13:56:05 +0800 > > Cc: 62413@debbugs.gnu.org > > > > Eli Zaretskii =E4=BA=8E2023=E5=B9=B43=E6=9C=8826=E6=97= =A5=E5=91=A8=E6=97=A5 13:20=E5=86=99=E9=81=93=EF=BC=9A > > > > > Ugh! This feature was not thought out well enough when it was > > > introduced: if the user changes the value half-way through a session, > > > the history will record visited files twice, under 2 different > > > file-name formats and with different places recorded. I think > > > changing the value of save-place-abbreviate-file-names should rewrite > > > the entire alist in the selected format. > > > > I agree that it is better to avoid mixed file name formats, and then > > save-place-find-file-hook can be fixed simply. The difficult part is > > how to rewrite save-place-alist automatically. > > Isn't it just a matter of going through the list and calling > abbreviate-file-name on each file name there? The conversion itself is easy. But users can change the value of save-place-abbreviate-file-names anytime. To make sure the list is always consistent with save-place-abbreviate-file-names, I think an internal variable is needed to record the old value. If they are different when save-place-to-alist is called, we rewrite the list. Is it OK? From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 30 01:34:02 2023 Received: (at 62413) by debbugs.gnu.org; 30 Mar 2023 05:34:02 +0000 Received: from localhost ([127.0.0.1]:55423 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1phkvB-0003WQ-GG for submit@debbugs.gnu.org; Thu, 30 Mar 2023 01:34:01 -0400 Received: from eggs.gnu.org ([209.51.188.92]:56270) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1phkvA-0003WC-45 for 62413@debbugs.gnu.org; Thu, 30 Mar 2023 01:34:00 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1phkv4-0000jk-Nt; Thu, 30 Mar 2023 01:33:54 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=BtKWi5II4G8k/FasC5M42+7aRidLamdC6ZpPy7GtFr8=; b=DE1k1XTvgewprPfPyDN5 qa3rcpq8xYhcw4lOeNPpSQFUOkB9bb2kVPf0ZxDQ2ThKKx6TQ5f/p0pIEDw5YWYD6AbB5iWq8B+AW 2MUWlolr/jeW7N1oFQ2EZvvc9469scTMNUyHizuHS112FtmQplgJqS1ofvrSR3hg786/T9Bp8XYVl HIRKpuqH3j0SjRcbDW0LwGcPpZAy3aoGq8aUy7Tx0DFPXl9mT9ztj+biB4Lh0rCQpoACk2yWoexLU vhXhHDI4T1widLHzI7ca+sG1Tn3+Wkd1PRfWDQaNPPMsHRck55S+CzTGSsqV/tcgHGgfXe8Q5Nh8X pKjjQgvO28779w==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1phkv2-0002mg-GT; Thu, 30 Mar 2023 01:33:54 -0400 Date: Thu, 30 Mar 2023 08:34:03 +0300 Message-Id: <83v8ii6bw4.fsf@gnu.org> From: Eli Zaretskii To: Liu Hui In-Reply-To: (message from Liu Hui on Thu, 30 Mar 2023 10:49:39 +0800) Subject: Re: bug#62413: 29.0.60; [PATCH] save-place-mode cannot restore saved position References: <83tty9caku.fsf@gnu.org> <83y1nkc3vc.fsf@gnu.org> <83zg809jgv.fsf@gnu.org> <83cz4t84mv.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 62413 Cc: 62413@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Liu Hui > Date: Thu, 30 Mar 2023 10:49:39 +0800 > Cc: 62413@debbugs.gnu.org > > Eli Zaretskii 于2023年3月28日周二 20:03写道: > > > > > I agree that it is better to avoid mixed file name formats, and then > > > save-place-find-file-hook can be fixed simply. The difficult part is > > > how to rewrite save-place-alist automatically. > > > > Isn't it just a matter of going through the list and calling > > abbreviate-file-name on each file name there? > > The conversion itself is easy. But users can change the value of > save-place-abbreviate-file-names anytime. To make sure the list is > always consistent with save-place-abbreviate-file-names, I think an > internal variable is needed to record the old value. If they are > different when save-place-to-alist is called, we rewrite the list. Is > it OK? I think there's a cleaner way: a defcustom can have a :set function, which is called each time the variable is customized; this setter function should be defined for a defcustom when changing its value has non-trivial effects. So we can define such a setter function to rewrite the list, and document in the doc string of the defcustom that users should not just set the value with setq, but instead use either setopt or "M-x customize-variable". WDYT? From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 02 21:02:56 2023 Received: (at 62413) by debbugs.gnu.org; 3 Apr 2023 01:02:57 +0000 Received: from localhost ([127.0.0.1]:42974 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pj8b2-0001JV-BD for submit@debbugs.gnu.org; Sun, 02 Apr 2023 21:02:56 -0400 Received: from mail-oo1-f54.google.com ([209.85.161.54]:33483) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pj8b0-0001JH-JF for 62413@debbugs.gnu.org; Sun, 02 Apr 2023 21:02:55 -0400 Received: by mail-oo1-f54.google.com with SMTP id n6-20020a4abd06000000b0053b59893660so4381894oop.0 for <62413@debbugs.gnu.org>; Sun, 02 Apr 2023 18:02:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680483768; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=FPeLS5MRoYcvsq9AzoBfeOXct7Z/7zmeZ/Fv/Cbnh5U=; b=Kf9ckpSLx1VXt554ubWCsFXjFvMkRYYyY5W9QQZtQXjRzI0pnwYl9iNARYKs3r7tAw guSItJ4bP/f2Avs2dhSuCThzOWN5MdYCiJaJngQXF6n1wBnqt8x67wX4z1HqljFtUAot k2VCUVPbomQfwIvUPUbAxL6zXJfU6BWKcA2ucd+MXnazpyO3F9c9osfojPDAGwOhPD8m fZ1puvRYGdbs93c82b+hGg2CFpQSd+nn2IauhlSlRYqH2x1MSFTAKlbk4x0f/0HrlBa3 zogbB1BCYcyDWhnGFB1TOzByOXOvjc9xYr8U8NoPQAs9WdEyQLTnBj5JvUOeJRgm4N5s MiMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680483768; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=FPeLS5MRoYcvsq9AzoBfeOXct7Z/7zmeZ/Fv/Cbnh5U=; b=rmTjntXptyIc+WNwBHdSB/JtdMgp6xJoc6PsBRJJu/sGdKMxstPfalGKqg/S6TYCQc uAJkW7afOvDGHWcZX+JfJklCyv0Fxv4rsw7lnK4kZ7DANwxSt8qgLfcmBIoUXSAnHp8l UvtgD6k++37UeuH6Pil8iDfzl0VSY8gtNMv2IFVlhzJ0Ycw3hc4fSmKbBsGHsfK/Fri2 rak6aPIOegOS722YSQ9TzBaIGrvd4tVZv1njuH3dXCtHDifu6APjFoNHNUIkMkKzGYxs QTbzwB8mTIP7TFW6Y97AR8yD3CSEIedC9kEiSBJ3tPfKUmKlibCis6KD1e0cVuYvOVeY +zoQ== X-Gm-Message-State: AO0yUKUFkwy/reKDPiNZNMhkhdjFCdHM4lE745veJ1NZO7K9wqoenXg9 O5DG2aE8ysh69Uur+/GC1k8457IEgvLn58SQFRKqRELTW2WO02K1 X-Google-Smtp-Source: AK7set81NfP5/4YHkrZdt6rDrxguegijZm9+mF0tmXvCCsGLh2CE5kIdt74OJRIpdnoUyfqUVCWaa1dXVQFg+NAPuvg= X-Received: by 2002:a4a:bd0a:0:b0:53b:5040:c9f with SMTP id n10-20020a4abd0a000000b0053b50400c9fmr10853313oop.1.1680483768725; Sun, 02 Apr 2023 18:02:48 -0700 (PDT) MIME-Version: 1.0 References: <83tty9caku.fsf@gnu.org> <83y1nkc3vc.fsf@gnu.org> <83zg809jgv.fsf@gnu.org> <83cz4t84mv.fsf@gnu.org> <83v8ii6bw4.fsf@gnu.org> In-Reply-To: <83v8ii6bw4.fsf@gnu.org> From: Liu Hui Date: Mon, 3 Apr 2023 09:02:37 +0800 Message-ID: Subject: Re: bug#62413: 29.0.60; [PATCH] save-place-mode cannot restore saved position To: Eli Zaretskii Content-Type: multipart/mixed; boundary="000000000000160e2f05f8641e43" X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 62413 Cc: 62413@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --000000000000160e2f05f8641e43 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Eli Zaretskii =E4=BA=8E2023=E5=B9=B43=E6=9C=8830=E6=97=A5=E5= =91=A8=E5=9B=9B 13:33=E5=86=99=E9=81=93=EF=BC=9A > > I think there's a cleaner way: a defcustom can have a :set function, > which is called each time the variable is customized; this setter > function should be defined for a defcustom when changing its value has > non-trivial effects. So we can define such a setter function to > rewrite the list, and document in the doc string of the defcustom that > users should not just set the value with setq, but instead use either > setopt or "M-x customize-variable". WDYT? OK, I think it is good. Please see the attached patch. --000000000000160e2f05f8641e43 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Restore-positions-reliably-for-abbreviated-file-name.patch" Content-Disposition: attachment; filename="0001-Restore-positions-reliably-for-abbreviated-file-name.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lg04l94z0 RnJvbSA4OWZiYTMyNTBhNDFlZDk1NmIzNjQxNDkxMmI3ZmFjNzI0NTBjNWYzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMaXUgSHVpIDxsaXVodWkxNjEwQGdtYWlsLmNvbT4KRGF0ZTog TW9uLCAzIEFwciAyMDIzIDA4OjQ3OjExICswODAwClN1YmplY3Q6IFtQQVRDSF0gUmVzdG9yZSBw b3NpdGlvbnMgcmVsaWFibHkgZm9yIGFiYnJldmlhdGVkIGZpbGUgbmFtZXMgaW4KIHNhdmVwbGFj ZS5lbAoKKiBsaXNwL3NhdmVwbGFjZS5lbCAoc2F2ZS1wbGFjZS1hYmJyZXZpYXRlLWZpbGUtbmFt ZXMpOiBBZGQgc2V0dGVyCmZ1bmN0aW9uIGZvciByZXdyaXRpbmcgYHNhdmUtcGxhY2UtYWxpc3Qn LiAgVXBkYXRlIGRvY3N0cmluZy4KKHNhdmUtcGxhY2UtbW9kZSk6IE1ha2Ugc3VyZSBgc2F2ZS1w bGFjZS1hbGlzdCcgaXMgbG9hZGVkLgooc2F2ZS1wbGFjZS10by1hbGlzdCk6IFNhdmUgQWJicmV2 aWF0ZWQgZGlyZWQtZmlsZW5hbWUuCihzYXZlLXBsYWNlLWZpbmQtZmlsZS1ob29rKToKKHNhdmUt cGxhY2UtZGlyZWQtaG9vayk6IFVzZSBhYmJyZXZpYXRlZCBmaWxlIG5hbWUgd2hlbgpgc2F2ZS1w bGFjZS1hYmJyZXZpYXRlLWZpbGUtbmFtZXMnIGlzIG5vbi1uaWwuCi0tLQogbGlzcC9zYXZlcGxh Y2UuZWwgfCA3OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0t LQogMSBmaWxlIGNoYW5nZWQsIDU3IGluc2VydGlvbnMoKyksIDIyIGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2xpc3Avc2F2ZXBsYWNlLmVsIGIvbGlzcC9zYXZlcGxhY2UuZWwKaW5kZXggNzUx MmZjODdjNWQuLjU0M2M3MmVlNTExIDEwMDY0NAotLS0gYS9saXNwL3NhdmVwbGFjZS5lbAorKysg Yi9saXNwL3NhdmVwbGFjZS5lbApAQCAtMzUsNiArMzUsOCBAQAoKIDs7OyBDb2RlOgoKKyhyZXF1 aXJlICdjbC1saWIpCisKIDs7IHRoaXMgaXMgd2hhdCBJIHdhcyB1c2luZyBkdXJpbmcgdGVzdGlu ZzoKIDs7IChkZWZpbmUta2V5IGN0bC14LW1hcCAicCIgJ3RvZ2dsZS1zYXZlLXBsYWNlLWdsb2Jh bGx5KQoKQEAgLTkwLDggKzkyLDMyIEBAIHNhdmUtcGxhY2UtZm9yZ2V0LXVucmVhZGFibGUtZmls ZXMKIChkZWZjdXN0b20gc2F2ZS1wbGFjZS1hYmJyZXZpYXRlLWZpbGUtbmFtZXMgbmlsCiAgICJJ ZiBub24tbmlsLCBhYmJyZXZpYXRlIGZpbGUgbmFtZXMgYmVmb3JlIHNhdmluZyB0aGVtLgogVGhp cyBjYW4gc2ltcGxpZnkgc2hhcmluZyB0aGUgYHNhdmUtcGxhY2UtZmlsZScgZmlsZSBhY3Jvc3MK LWRpZmZlcmVudCBob3N0cy4iCitkaWZmZXJlbnQgaG9zdHMuCisKK0NoYW5naW5nIHRoaXMgb3B0 aW9uIHJlcXVpcmVzIHJld3JpdGluZyBgc2F2ZS1wbGFjZS1hbGlzdCcgd2l0aAorY29ycmVzcG9u ZGluZyBmaWxlIG5hbWUgZm9ybWF0LCB0aGVyZWZvcmUgc2V0dGluZyB0aGlzIG9wdGlvbgoranVz dCB1c2luZyBgc2V0cScgbWF5IGNhdXNlIG91dC1vZi1zeW5jIHByb2JsZW1zLiAgWW91IHNob3Vs ZAorZmlyc3QgdHVybiBvbiBgc2F2ZS1wbGFjZS1tb2RlJyB0byBsb2FkIGBzYXZlLXBsYWNlLWFs aXN0JywgYW5kCit0aGVuIHVzZSBlaXRoZXIgYHNldG9wdCcgb3IgTS14IGN1c3RvbWl6ZS12YXJp YWJsZSB0byBzZXQgdGhpcworb3B0aW9uLiIKICAgOnR5cGUgJ2Jvb2xlYW4KKyAgOnNldCAobGFt YmRhIChzeW0gdmFsKQorICAgICAgICAgKHNldC1kZWZhdWx0IHN5bSB2YWwpCisgICAgICAgICAo bGV0ICgoZnVuIChpZiB2YWwgJ2FiYnJldmlhdGUtZmlsZS1uYW1lICdleHBhbmQtZmlsZS1uYW1l KSkpCisgICAgICAgICAgIChzZXRxIHNhdmUtcGxhY2UtYWxpc3QKKyAgICAgICAgICAgICAgICAg KGNsLWRlbGV0ZS1kdXBsaWNhdGVzCisgICAgICAgICAgICAgICAgICAoY2wtbG9vcCBmb3IgKGsg LiB2KSBpbiBzYXZlLXBsYWNlLWFsaXN0CisgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xs ZWN0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29ucyAoZnVuY2FsbCBmdW4gaykKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZiAobGlzdHAgdikKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoY2wtbG9vcCBmb3IgKGsxIC4gdjEpIGluIHYKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xsZWN0CisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnMgazEgKGZ1bmNh bGwgZnVuIHYxKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYpKSkKKyAg ICAgICAgICAgICAgICAgIDprZXkgIydjYXIKKyAgICAgICAgICAgICAgICAgIDpmcm9tLWVuZCB0 CisgICAgICAgICAgICAgICAgICA6dGVzdCAjJ2VxdWFsKSkpCisgICAgICAgICB2YWwpCiAgIDp2 ZXJzaW9uICIyOC4xIikKCiAoZGVmY3VzdG9tIHNhdmUtcGxhY2Utc2F2ZS1za2lwcGVkIHQKQEAg LTE1Myw2ICsxNzksNyBAQCBzYXZlLXBsYWNlLW1vZGUKIHdoZXJlIGl0IHdhcyB3aGVuIHlvdSBw cmV2aW91c2x5IHZpc2l0ZWQgdGhlIHNhbWUgZmlsZS4iCiAgIDpnbG9iYWwgdAogICA6Z3JvdXAg J3NhdmUtcGxhY2UKKyAgKG9yIHNhdmUtcGxhY2UtbG9hZGVkIChzYXZlLXBsYWNlLWxvYWQtYWxp c3QtZnJvbS1maWxlKSkKICAgKHNhdmUtcGxhY2UtLXNldHVwLWhvb2tzIHNhdmUtcGxhY2UtbW9k ZSkpCgogKG1ha2UtdmFyaWFibGUtYnVmZmVyLWxvY2FsICdzYXZlLXBsYWNlLW1vZGUpCkBAIC0y MTQsNyArMjQxLDExIEBAIHNhdmUtcGxhY2UtdG8tYWxpc3QKIAkJCSAgICAoKGFuZCAoZGVyaXZl ZC1tb2RlLXAgJ2RpcmVkLW1vZGUpIGRpcmVjdG9yeSkKIAkJCSAgICAgKGxldCAoKGZpbGVuYW1l IChkaXJlZC1nZXQtZmlsZW5hbWUgbmlsIHQpKSkKIAkJCSAgICAgICAoaWYgZmlsZW5hbWUKLQkJ CQkgICBgKChkaXJlZC1maWxlbmFtZSAuICxmaWxlbmFtZSkpCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChsaXN0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoY29ucyAnZGlyZWQtZmlsZW5hbWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChpZiBzYXZlLXBsYWNlLWFiYnJldmlhdGUtZmlsZS1uYW1lcworICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhYmJyZXZpYXRlLWZpbGUtbmFt ZSBmaWxlbmFtZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZmlsZW5hbWUpKSkKIAkJCQkgKHBvaW50KSkpKQogCQkJICAgICh0IChwb2ludCkpKSkpCiAgICAg ICAgIChpZiBjZWxsCkBAIC0zNTMsNyArMzg0LDExIEBAIHNhdmUtcGxhY2UtZmluZC1maWxlLWhv b2sKICAgIkZ1bmN0aW9uIGFkZGVkIHRvIGBmaW5kLWZpbGUtaG9vaycgYnkgYHNhdmUtcGxhY2Ut bW9kZScuCiBJdCBydW5zIHRoZSBob29rIGBzYXZlLXBsYWNlLWFmdGVyLWZpbmQtZmlsZS1ob29r Jy4iCiAgIChvciBzYXZlLXBsYWNlLWxvYWRlZCAoc2F2ZS1wbGFjZS1sb2FkLWFsaXN0LWZyb20t ZmlsZSkpCi0gIChsZXQgKChjZWxsIChhc3NvYyBidWZmZXItZmlsZS1uYW1lIHNhdmUtcGxhY2Ut YWxpc3QpKSkKKyAgKGxldCAoKGNlbGwgKGFuZCAoc3RyaW5ncCBidWZmZXItZmlsZS1uYW1lKQor ICAgICAgICAgICAgICAgICAgIChhc3NvYyAoaWYgc2F2ZS1wbGFjZS1hYmJyZXZpYXRlLWZpbGUt bmFtZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhYmJyZXZpYXRlLWZpbGUtbmFt ZSBidWZmZXItZmlsZS1uYW1lKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmZlci1m aWxlLW5hbWUpCisgICAgICAgICAgICAgICAgICAgICAgICAgIHNhdmUtcGxhY2UtYWxpc3QpKSkp CiAgICAgKGlmIGNlbGwKIAkocHJvZ24KIAkgIChvciByZXZlcnQtYnVmZmVyLWluLXByb2dyZXNz LXAKQEAgLTM2OCwyNSArNDAzLDI1IEBAIHNhdmUtcGxhY2UtZmluZC1maWxlLWhvb2sKIChkZWZ1 biBzYXZlLXBsYWNlLWRpcmVkLWhvb2sgKCkKICAgIlBvc2l0aW9uIHRoZSBwb2ludCBpbiBhIERp cmVkIGJ1ZmZlci4iCiAgIChvciBzYXZlLXBsYWNlLWxvYWRlZCAoc2F2ZS1wbGFjZS1sb2FkLWFs aXN0LWZyb20tZmlsZSkpCi0gIChsZXQqICgoZGlyZWN0b3J5IChhbmQgKGRlcml2ZWQtbW9kZS1w ICdkaXJlZC1tb2RlKQotICAgICAgICAgICAgICAgICAgICAgICAgIChib3VuZHAgJ2RpcmVkLXN1 YmRpci1hbGlzdCkKLQkJCSBkaXJlZC1zdWJkaXItYWxpc3QKLQkJCSAoZGlyZWQtY3VycmVudC1k aXJlY3RvcnkpKSkKLQkgKGNlbGwgKGFzc29jIChhbmQgZGlyZWN0b3J5Ci0JCQkgICAoZXhwYW5k LWZpbGUtbmFtZSAoaWYgKGNvbnNwIGRpcmVjdG9yeSkKLQkJCQkJCSAoY2FyIGRpcmVjdG9yeSkK LQkJCQkJICAgICAgIGRpcmVjdG9yeSkpKQotCQkgICAgICBzYXZlLXBsYWNlLWFsaXN0KSkpCi0g ICAgKGlmIGNlbGwKLSAgICAgICAgKHByb2duCi0gICAgICAgICAgKG9yIHJldmVydC1idWZmZXIt aW4tcHJvZ3Jlc3MtcAotICAgICAgICAgICAgICAoY29uZAotCSAgICAgICAoKGludGVnZXJwIChj ZHIgY2VsbCkpCi0JCShnb3RvLWNoYXIgKGNkciBjZWxsKSkpCi0JICAgICAgICgoYW5kIChsaXN0 cCAoY2RyIGNlbGwpKSAoYXNzcSAnZGlyZWQtZmlsZW5hbWUgKGNkciBjZWxsKSkpCi0JCShkaXJl ZC1nb3RvLWZpbGUgKGNkciAoYXNzcSAnZGlyZWQtZmlsZW5hbWUgKGNkciBjZWxsKSkpKSkpKQot ICAgICAgICAgIDs7IGFuZCBtYWtlIHN1cmUgaXQgd2lsbCBiZSBzYXZlZCBhZ2FpbiBmb3IgbGF0 ZXIKLSAgICAgICAgICAoc2V0cSBzYXZlLXBsYWNlLW1vZGUgdCkpKSkpCisgICh3aGVuLWxldCAo KGRpcmVjdG9yeSAoYW5kIChkZXJpdmVkLW1vZGUtcCAnZGlyZWQtbW9kZSkKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKGJvdW5kcCAnZGlyZWQtc3ViZGlyLWFsaXN0KQorCQkJICAgICBk aXJlZC1zdWJkaXItYWxpc3QKKwkJCSAgICAgKGRpcmVkLWN1cnJlbnQtZGlyZWN0b3J5KSkpCisg ICAgICAgICAgICAgKGl0ZW0gKGV4cGFuZC1maWxlLW5hbWUgKGlmIChjb25zcCBkaXJlY3Rvcnkp CisJCQkJCSAoY2FyIGRpcmVjdG9yeSkKKwkJCQkgICAgICAgZGlyZWN0b3J5KSkpCisJICAgICAo Y2VsbCAoYXNzb2MgKGlmIHNhdmUtcGxhY2UtYWJicmV2aWF0ZS1maWxlLW5hbWVzCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoYWJicmV2aWF0ZS1maWxlLW5hbWUgaXRlbSkgaXRlbSkK KwkJICAgICAgICAgIHNhdmUtcGxhY2UtYWxpc3QpKSkKKyAgICAob3IgcmV2ZXJ0LWJ1ZmZlci1p bi1wcm9ncmVzcy1wCisgICAgICAgIChjb25kCisJICgoaW50ZWdlcnAgKGNkciBjZWxsKSkKKwkg IChnb3RvLWNoYXIgKGNkciBjZWxsKSkpCisJICgobGlzdHAgKGNkciBjZWxsKSkKKyAgICAgICAg ICAod2hlbi1sZXQgKChlbHQgKGFzc3EgJ2RpcmVkLWZpbGVuYW1lIChjZHIgY2VsbCkpKSkKKyAg ICAgICAgICAgIChkaXJlZC1nb3RvLWZpbGUgKGV4cGFuZC1maWxlLW5hbWUgKGNkciBlbHQpKSkp KSkpCisgICAgOzsgYW5kIG1ha2Ugc3VyZSBpdCB3aWxsIGJlIHNhdmVkIGFnYWluIGZvciBsYXRl cgorICAgIChzZXRxIHNhdmUtcGxhY2UtbW9kZSB0KSkpCgogKGRlZnVuIHNhdmUtcGxhY2Uta2ls bC1lbWFjcy1ob29rICgpCiAgIDs7IEZpcnN0IHVwZGF0ZSB0aGUgYWxpc3QuICBUaGlzIGxvYWRz IHRoZSBvbGQgc2F2ZS1wbGFjZS1maWxlIGlmIG5lYy4KLS0KMi4yNS4xCgo= --000000000000160e2f05f8641e43-- From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 02 23:06:20 2023 Received: (at submit) by debbugs.gnu.org; 3 Apr 2023 03:06:20 +0000 Received: from localhost ([127.0.0.1]:43045 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pjAWS-0004zk-6w for submit@debbugs.gnu.org; Sun, 02 Apr 2023 23:06:20 -0400 Received: from lists.gnu.org ([209.51.188.17]:35716) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pjAWQ-0004zc-Lv for submit@debbugs.gnu.org; Sun, 02 Apr 2023 23:06:19 -0400 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 1pjAWQ-00011m-1S for bug-gnu-emacs@gnu.org; Sun, 02 Apr 2023 23:06:18 -0400 Received: from netyu.xyz ([152.44.41.246] helo=mail.netyu.xyz) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pjAWO-0003Vt-0f; Sun, 02 Apr 2023 23:06:17 -0400 Received: from fw.net.yu.netyu.xyz ( [27.18.235.120]) by netyu.xyz (OpenSMTPD) with ESMTPSA id f1afaeb1 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Mon, 3 Apr 2023 03:06:12 +0000 (UTC) References: <83tty9caku.fsf@gnu.org> <83y1nkc3vc.fsf@gnu.org> <83zg809jgv.fsf@gnu.org> <83cz4t84mv.fsf@gnu.org> <83v8ii6bw4.fsf@gnu.org> User-agent: mu4e 1.9.22; emacs 30.0.50 From: Ruijie Yu To: Liu Hui Subject: Re: bug#62413: 29.0.60; [PATCH] save-place-mode cannot restore saved position Date: Mon, 03 Apr 2023 10:45:34 +0800 In-reply-to: Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=152.44.41.246; envelope-from=ruijie@netyu.xyz; helo=mail.netyu.xyz X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit Cc: Eli Zaretskii , 62413@debbugs.gnu.org, bug-gnu-emacs@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.4 (-) Liu Hui writes: > Eli Zaretskii =E4=BA=8E2023=E5=B9=B43=E6=9C=8830=E6=97=A5= =E5=91=A8=E5=9B=9B 13:33=E5=86=99=E9=81=93=EF=BC=9A >> >> I think there's a cleaner way: a defcustom can have a :set function, >> which is called each time the variable is customized; this setter >> function should be defined for a defcustom when changing its value has >> non-trivial effects. So we can define such a setter function to >> rewrite the list, and document in the doc string of the defcustom that >> users should not just set the value with setq, but instead use either >> setopt or "M-x customize-variable". WDYT? > > OK, I think it is good. Please see the attached patch. > > [2. text/x-patch; 0001-Restore-positions-reliably-for-abbreviated-file-na= me.patch]... Two minor comments below. > @@ -90,8 +92,32 @@ save-place-forget-unreadable-files > (defcustom save-place-abbreviate-file-names nil > [...] > + :set (lambda (sym val) > + (set-default sym val) > + (let ((fun (if val 'abbreviate-file-name 'expand-file-name))) I believe function quotes "#'" are preferred over simple quotes "'" when dealing with functions. > @@ -214,7 +241,11 @@ save-place-to-alist > ((and (derived-mode-p 'dired-mode) directory) > (let ((filename (dired-get-filename nil t))) > (if filename > - `((dired-filename . ,filename)) > + (list > + (cons 'dired-filename > + (if save-place-abbreviate-file= -names > + (abbreviate-file-name file= name) > + filename))) It seems that you rewrote the quote-backquote thing with regular list-cons construct -- no comments on that. I noticed that here, and in a few other places, you are reusing the exact `if' construct multiple times. Does that warrant defining a helper function? Also, while I was about to send the mail, regarding the docstring of `save-place-abbreviate-file-names', instead of letting the user enable `save-place-mode', would it be better if you directly call facilities in saveplace to load `save-place-alist' from file system, within your :set function? --=20 Best, RY From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 03 21:37:50 2023 Received: (at submit) by debbugs.gnu.org; 4 Apr 2023 01:37:50 +0000 Received: from localhost ([127.0.0.1]:45520 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pjVcL-0006Qe-Fz for submit@debbugs.gnu.org; Mon, 03 Apr 2023 21:37:50 -0400 Received: from lists.gnu.org ([209.51.188.17]:39358) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pjVcI-0006QO-DE for submit@debbugs.gnu.org; Mon, 03 Apr 2023 21:37:47 -0400 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 1pjVcI-0007DR-0d for bug-gnu-emacs@gnu.org; Mon, 03 Apr 2023 21:37:46 -0400 Received: from mail-oi1-x230.google.com ([2607:f8b0:4864:20::230]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pjVcC-0006bi-P8; Mon, 03 Apr 2023 21:37:45 -0400 Received: by mail-oi1-x230.google.com with SMTP id y184so23208894oiy.8; Mon, 03 Apr 2023 18:37:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680572258; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=ErOk+4ySR97s9ueSztsnr5wXaiKdryDj0NP3WjTnGMI=; b=P+lDU8UNlxmp0QQcblpuNDgl4M5/RWTutw9fzzApLrOB+t6uImdnqElPc4gNnqbRX7 YDWTIaLU393wAleybymuvLvWOzOmZQvqaKL/zyXNstDYavoH728UWW3+iaLr7ASPC1LT Y0EdAHwYLt1i4Zp1kn4N6YfB7cjIFN1cRwmLoCUt/RH3Nw/xSY4iFtyolY4MIJNvvIuZ ja/aeqm+EQbbklX9AntrRQvmI6qxCz+1E76f+GjkE32pOGl6/Mv03IaKsUTbNgNEIOp0 uLzMN+UJE4aqHzcQfjjLjALW4y9T+9AGkwfkg+ljOQR2kYaWjuMrqCEnfi293QOV9MYI cCDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680572258; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ErOk+4ySR97s9ueSztsnr5wXaiKdryDj0NP3WjTnGMI=; b=m+W9OgmLrUyTOMWBGu1o66E+Nojm1ioRT7zJyNTvovzqfdMQ2yl3yk4Mn20vyq82ql IKKbKZkyclgamZPEJRUFhceeXT1V5CatPw7GECJ3P3airldWEePXQxDTW63vnU9fD5zv iQmaN6m6GG5fiUqgYVAF9zlVv2G0Pziw7+u2u35WlpYfE6p2D1Y8EdxrySbOekdLuY6s MAEe+F1i1J5gCpr/IzAk3CWuB5vmlqe5M5SWzRHYZyQLlWZLe8SltmP0ANSUzzKB8YW9 IhbrZnRn98A358NgsVkzmO4JiGVSdiUg8JJT3TEizbrfOBthi1gfRZwmmQgy1pclvMef 96tQ== X-Gm-Message-State: AAQBX9dHmTIcNNaPAVs7JxdKYZtU3JLtp0HNcfxMYZxKec9XCzjOHNZK 2/VX77q9Q5Vfqdj0WwjXKV3K14SfUmkrHRgYwu0= X-Google-Smtp-Source: AKy350ZPcJ6qf+5r/orc7Ep2lNI4jbX0TckRKoFJVX7A5rXYHSdR03etsS0AA7pHAIwkrDP3dBycBl5E5S1JhjSr+N0= X-Received: by 2002:a05:6808:485:b0:384:893:a924 with SMTP id z5-20020a056808048500b003840893a924mr393218oid.3.1680572258573; Mon, 03 Apr 2023 18:37:38 -0700 (PDT) MIME-Version: 1.0 References: <83tty9caku.fsf@gnu.org> <83y1nkc3vc.fsf@gnu.org> <83zg809jgv.fsf@gnu.org> <83cz4t84mv.fsf@gnu.org> <83v8ii6bw4.fsf@gnu.org> In-Reply-To: From: Liu Hui Date: Tue, 4 Apr 2023 09:37:26 +0800 Message-ID: Subject: Re: bug#62413: 29.0.60; [PATCH] save-place-mode cannot restore saved position To: Ruijie Yu Content-Type: multipart/mixed; boundary="0000000000007e259805f878b8fb" Received-SPF: pass client-ip=2607:f8b0:4864:20::230; envelope-from=liuhui1610@gmail.com; helo=mail-oi1-x230.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 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_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.1 (-) X-Debbugs-Envelope-To: submit Cc: Eli Zaretskii , 62413@debbugs.gnu.org, bug-gnu-emacs@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.1 (--) --0000000000007e259805f878b8fb Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Ruijie Yu =E4=BA=8E2023=E5=B9=B44=E6=9C=883=E6=97=A5=E5= =91=A8=E4=B8=80 11:06=E5=86=99=E9=81=93=EF=BC=9A > Two minor comments below. > > > @@ -90,8 +92,32 @@ save-place-forget-unreadable-files > > (defcustom save-place-abbreviate-file-names nil > > [...] > > + :set (lambda (sym val) > > + (set-default sym val) > > + (let ((fun (if val 'abbreviate-file-name 'expand-file-name))) > > I believe function quotes "#'" are preferred over simple quotes "'" when > dealing with functions. OK > > @@ -214,7 +241,11 @@ save-place-to-alist > > ((and (derived-mode-p 'dired-mode) directory) > > (let ((filename (dired-get-filename nil t))) > > (if filename > > - `((dired-filename . ,filename)) > > + (list > > + (cons 'dired-filename > > + (if save-place-abbreviate-fi= le-names > > + (abbreviate-file-name fi= lename) > > + filename))) > > It seems that you rewrote the quote-backquote thing with regular > list-cons construct -- no comments on that. I noticed that here, and in > a few other places, you are reusing the exact `if' construct multiple > times. Does that warrant defining a helper function? I feel such a function is too short. > Also, while I was about to send the mail, regarding the docstring of > `save-place-abbreviate-file-names', instead of letting the user enable > `save-place-mode', would it be better if you directly call facilities in > saveplace to load `save-place-alist' from file system, within your :set > function? Thanks for the suggestion. I have added `save-place-load-alist-from-file' to the :set function in the new patch. --0000000000007e259805f878b8fb Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Restore-positions-reliably-for-abbreviated-file-name.patch" Content-Disposition: attachment; filename="0001-Restore-positions-reliably-for-abbreviated-file-name.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lg1lagjf0 RnJvbSBmYjExN2UxNjQ5YjNiZGRlOTgyODgxNjg1MmM2MTJkOWIwZTE0ZWI1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMaXUgSHVpIDxsaXVodWkxNjEwQGdtYWlsLmNvbT4KRGF0ZTog VHVlLCA0IEFwciAyMDIzIDA5OjEzOjMyICswODAwClN1YmplY3Q6IFtQQVRDSF0gUmVzdG9yZSBw b3NpdGlvbnMgcmVsaWFibHkgZm9yIGFiYnJldmlhdGVkIGZpbGUgbmFtZXMgaW4KIHNhdmVwbGFj ZS5lbAoKKiBsaXNwL3NhdmVwbGFjZS5lbCAoc2F2ZS1wbGFjZS1hYmJyZXZpYXRlLWZpbGUtbmFt ZXMpOiBBZGQgc2V0dGVyCmZ1bmN0aW9uIGZvciByZXdyaXRpbmcgYHNhdmUtcGxhY2UtYWxpc3Qn LiAgVXBkYXRlIGRvY3N0cmluZy4KKHNhdmUtcGxhY2UtdG8tYWxpc3QpOiBTYXZlIEFiYnJldmlh dGVkIGRpcmVkLWZpbGVuYW1lLgooc2F2ZS1wbGFjZS1sb2FkLWFsaXN0LWZyb20tZmlsZSk6IE1v dmUgdGhpcyBmdW5jdGlvbiBhYm92ZQpgc2F2ZS1wbGFjZS1hYmJyZXZpYXRlLWZpbGUtbmFtZXMn IHNpbmNlIGl0IGlzIHVzZWQgaW4gdGhlIDpzZXQKZnVuY3Rpb24uCihzYXZlLXBsYWNlLWZpbmQt ZmlsZS1ob29rKToKKHNhdmUtcGxhY2UtZGlyZWQtaG9vayk6IFVzZSBhYmJyZXZpYXRlZCBmaWxl IG5hbWUgd2hlbgpgc2F2ZS1wbGFjZS1hYmJyZXZpYXRlLWZpbGUtbmFtZXMnIGlzIG5vbi1uaWwu Ci0tLQogbGlzcC9zYXZlcGxhY2UuZWwgfCAxNjMgKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDk4IGluc2VydGlvbnMoKyksIDY1 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpc3Avc2F2ZXBsYWNlLmVsIGIvbGlzcC9zYXZl cGxhY2UuZWwKaW5kZXggNzUxMmZjODdjNWQuLjE4ZDI5NmJhMmQ5IDEwMDY0NAotLS0gYS9saXNw L3NhdmVwbGFjZS5lbAorKysgYi9saXNwL3NhdmVwbGFjZS5lbApAQCAtMzUsNiArMzUsOCBAQAog CiA7OzsgQ29kZToKIAorKHJlcXVpcmUgJ2NsLWxpYikKKwogOzsgdGhpcyBpcyB3aGF0IEkgd2Fz IHVzaW5nIGR1cmluZyB0ZXN0aW5nOgogOzsgKGRlZmluZS1rZXkgY3RsLXgtbWFwICJwIiAndG9n Z2xlLXNhdmUtcGxhY2UtZ2xvYmFsbHkpCiAKQEAgLTg3LDExICs4OSw3NyBAQCBzYXZlLXBsYWNl LWZvcmdldC11bnJlYWRhYmxlLWZpbGVzCiBgc2F2ZS1wbGFjZS1maWxlJy4iCiAgIDp0eXBlICdi b29sZWFuKQogCisoZGVmdW4gc2F2ZS1wbGFjZS1sb2FkLWFsaXN0LWZyb20tZmlsZSAoKQorICAo aWYgKG5vdCBzYXZlLXBsYWNlLWxvYWRlZCkKKyAgICAgIChwcm9nbgorICAgICAgICAoc2V0cSBz YXZlLXBsYWNlLWxvYWRlZCB0KQorICAgICAgICAobGV0ICgoZmlsZSAoZXhwYW5kLWZpbGUtbmFt ZSBzYXZlLXBsYWNlLWZpbGUpKSkKKyAgICAgICAgICA7OyBtYWtlIHN1cmUgdGhhdCB0aGUgYWxp c3QgZG9lcyBub3QgZ2V0IG92ZXJ3cml0dGVuLCBhbmQgdGhlbgorICAgICAgICAgIDs7IGxvYWQg aXQgaWYgaXQgZXhpc3RzOgorICAgICAgICAgIChpZiAoZmlsZS1yZWFkYWJsZS1wIGZpbGUpCisg ICAgICAgICAgICAgIDs7IGRvbid0IHdhbnQgdG8gdXNlIGZpbmQtZmlsZSBiZWNhdXNlIHdlIGhh dmUgYmVlbgorICAgICAgICAgICAgICA7OyBhZGRpbmcgaG9va3MgdG8gaXQuCisgICAgICAgICAg ICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyIChnZXQtYnVmZmVyLWNyZWF0ZSAiICpTYXZlZCBQbGFj ZXMqIikKKyAgICAgICAgICAgICAgICAoZGVsZXRlLXJlZ2lvbiAocG9pbnQtbWluKSAocG9pbnQt bWF4KSkKKyAgICAgICAgICAgICAgICA7OyBNYWtlIHN1cmUgb3VyICdjb2Rpbmc6JyBjb29raWUg aW4gdGhlIHNhdmUtcGxhY2UKKyAgICAgICAgICAgICAgICA7OyBmaWxlIHdpbGwgdGFrZSBlZmZl Y3QsIGluIGNhc2UgdGhlIGNhbGxlciBiaW5kcworICAgICAgICAgICAgICAgIDs7IGNvZGluZy1z eXN0ZW0tZm9yLXJlYWQuCisgICAgICAgICAgICAgICAgKGxldCAoY29kaW5nLXN5c3RlbS1mb3It cmVhZCkKKyAgICAgICAgICAgICAgICAgIChpbnNlcnQtZmlsZS1jb250ZW50cyBmaWxlKSkKKyAg ICAgICAgICAgICAgICAoZ290by1jaGFyIChwb2ludC1taW4pKQorICAgICAgICAgICAgICAgIChz ZXRxIHNhdmUtcGxhY2UtYWxpc3QKKyAgICAgICAgICAgICAgICAgICAgICAod2l0aC1kZW1vdGVk LWVycm9ycyAiRXJyb3IgcmVhZGluZyBzYXZlLXBsYWNlLWZpbGU6ICVTIgorICAgICAgICAgICAg ICAgICAgICAgICAgKGNhciAocmVhZC1mcm9tLXN0cmluZworICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKGJ1ZmZlci1zdWJzdHJpbmcgKHBvaW50LW1pbikgKHBvaW50LW1heCkpKSkpKQor CisgICAgICAgICAgICAgICAgOzsgSWYgdGhlcmUgaXMgYSBsaW1pdCwgYW5kIHdlJ3JlIG92ZXIg aXQsIHRoZW4gd2UnbGwKKyAgICAgICAgICAgICAgICA7OyBoYXZlIHRvIHRydW5jYXRlIHRoZSBl bmQgb2YgdGhlIGxpc3Q6CisgICAgICAgICAgICAgICAgKGlmIHNhdmUtcGxhY2UtbGltaXQKKyAg ICAgICAgICAgICAgICAgICAgKGlmICg8PSBzYXZlLXBsYWNlLWxpbWl0IDApCisgICAgICAgICAg ICAgICAgICAgICAgICA7OyBaZXJvIGdldHMgc3BlY2lhbCBjYXNlZC4gIEknbSBub3QgdGhyaWxs ZWQKKyAgICAgICAgICAgICAgICAgICAgICAgIDs7IHdpdGggdGhpcywgYnV0IHRoZSBsb29wIGZv ciA+PSAxIGlzIHRpZ2h0LgorICAgICAgICAgICAgICAgICAgICAgICAgKHNldHEgc2F2ZS1wbGFj ZS1hbGlzdCBuaWwpCisgICAgICAgICAgICAgICAgICAgICAgOzsgRWxzZSB0aGUgbGltaXQgaXMg Pj0gMSwgc28gZW5mb3JjZSBpdCBieQorICAgICAgICAgICAgICAgICAgICAgIDs7IGNvdW50aW5n IGFuZCB0aGVuIGBzZXRjZHInaW5nLgorICAgICAgICAgICAgICAgICAgICAgIChsZXQgKChzIHNh dmUtcGxhY2UtYWxpc3QpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvdW50IDEpKQor ICAgICAgICAgICAgICAgICAgICAgICAgKHdoaWxlIHMKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgKGlmICg+PSBjb3VudCBzYXZlLXBsYWNlLWxpbWl0KQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKHNldGNkciBzIG5pbCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2V0 cSBjb3VudCAoMSsgY291bnQpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKHNldHEgcyAo Y2RyIHMpKSkpKSkKKworICAgICAgICAgICAgICAgIChraWxsLWJ1ZmZlciAoY3VycmVudC1idWZm ZXIpKSkpCisgICAgICAgICAgbmlsKSkpKQorCiAoZGVmY3VzdG9tIHNhdmUtcGxhY2UtYWJicmV2 aWF0ZS1maWxlLW5hbWVzIG5pbAogICAiSWYgbm9uLW5pbCwgYWJicmV2aWF0ZSBmaWxlIG5hbWVz IGJlZm9yZSBzYXZpbmcgdGhlbS4KIFRoaXMgY2FuIHNpbXBsaWZ5IHNoYXJpbmcgdGhlIGBzYXZl LXBsYWNlLWZpbGUnIGZpbGUgYWNyb3NzCi1kaWZmZXJlbnQgaG9zdHMuIgorZGlmZmVyZW50IGhv c3RzLgorCitDaGFuZ2luZyB0aGlzIG9wdGlvbiByZXF1aXJlcyByZXdyaXRpbmcgYHNhdmUtcGxh Y2UtYWxpc3QnIHdpdGgKK2NvcnJlc3BvbmRpbmcgZmlsZSBuYW1lIGZvcm1hdCwgdGhlcmVmb3Jl IHNldHRpbmcgdGhpcyBvcHRpb24KK2p1c3QgdXNpbmcgYHNldHEnIG1heSBjYXVzZSBvdXQtb2Yt c3luYyBwcm9ibGVtcy4gIFlvdSBzaG91bGQgdXNlCitlaXRoZXIgYHNldG9wdCcgb3IgTS14IGN1 c3RvbWl6ZS12YXJpYWJsZSB0byBzZXQgdGhpcyBvcHRpb24uIgogICA6dHlwZSAnYm9vbGVhbgor ICA6c2V0IChsYW1iZGEgKHN5bSB2YWwpCisgICAgICAgICAoc2V0LWRlZmF1bHQgc3ltIHZhbCkK KyAgICAgICAgIChvciBzYXZlLXBsYWNlLWxvYWRlZCAoc2F2ZS1wbGFjZS1sb2FkLWFsaXN0LWZy b20tZmlsZSkpCisgICAgICAgICAobGV0ICgoZnVuIChpZiB2YWwgIydhYmJyZXZpYXRlLWZpbGUt bmFtZSAjJ2V4cGFuZC1maWxlLW5hbWUpKSkKKyAgICAgICAgICAgKHNldHEgc2F2ZS1wbGFjZS1h bGlzdAorICAgICAgICAgICAgICAgICAoY2wtZGVsZXRlLWR1cGxpY2F0ZXMKKyAgICAgICAgICAg ICAgICAgIChjbC1sb29wIGZvciAoayAuIHYpIGluIHNhdmUtcGxhY2UtYWxpc3QKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbGxlY3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChj b25zIChmdW5jYWxsIGZ1biBrKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlm IChsaXN0cCB2KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbC1sb29w IGZvciAoazEgLiB2MSkgaW4gdgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbGxlY3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoY29ucyBrMSAoZnVuY2FsbCBmdW4gdjEpKSkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdikpKQorICAgICAgICAgICAgICAgICAgOmtleSAjJ2NhcgorICAgICAg ICAgICAgICAgICAgOmZyb20tZW5kIHQKKyAgICAgICAgICAgICAgICAgIDp0ZXN0ICMnZXF1YWwp KSkKKyAgICAgICAgIHZhbCkKICAgOnZlcnNpb24gIjI4LjEiKQogCiAoZGVmY3VzdG9tIHNhdmUt cGxhY2Utc2F2ZS1za2lwcGVkIHQKQEAgLTIxNCw3ICsyODIsMTEgQEAgc2F2ZS1wbGFjZS10by1h bGlzdAogCQkJICAgICgoYW5kIChkZXJpdmVkLW1vZGUtcCAnZGlyZWQtbW9kZSkgZGlyZWN0b3J5 KQogCQkJICAgICAobGV0ICgoZmlsZW5hbWUgKGRpcmVkLWdldC1maWxlbmFtZSBuaWwgdCkpKQog CQkJICAgICAgIChpZiBmaWxlbmFtZQotCQkJCSAgIGAoKGRpcmVkLWZpbGVuYW1lIC4gLGZpbGVu YW1lKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxpc3QKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zICdkaXJlZC1maWxlbmFtZQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmIHNhdmUtcGxhY2UtYWJicmV2 aWF0ZS1maWxlLW5hbWVzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKGFiYnJldmlhdGUtZmlsZS1uYW1lIGZpbGVuYW1lKQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlbmFtZSkpKQogCQkJCSAocG9pbnQpKSkpCiAJ CQkgICAgKHQgKHBvaW50KSkpKSkKICAgICAgICAgKGlmIGNlbGwKQEAgLTI3OCw0OSArMzUwLDYg QEAgc2F2ZS1wbGFjZS1hbGlzdC10by1maWxlCiAJICAoZmlsZS1lcnJvciAobWVzc2FnZSAiU2F2 aW5nIHBsYWNlczogY2FuJ3Qgd3JpdGUgJXMiIGZpbGUpKSkKICAgICAgICAgKGtpbGwtYnVmZmVy IChjdXJyZW50LWJ1ZmZlcikpKSkpKQogCi0oZGVmdW4gc2F2ZS1wbGFjZS1sb2FkLWFsaXN0LWZy b20tZmlsZSAoKQotICAoaWYgKG5vdCBzYXZlLXBsYWNlLWxvYWRlZCkKLSAgICAgIChwcm9nbgot ICAgICAgICAoc2V0cSBzYXZlLXBsYWNlLWxvYWRlZCB0KQotICAgICAgICAobGV0ICgoZmlsZSAo ZXhwYW5kLWZpbGUtbmFtZSBzYXZlLXBsYWNlLWZpbGUpKSkKLSAgICAgICAgICA7OyBtYWtlIHN1 cmUgdGhhdCB0aGUgYWxpc3QgZG9lcyBub3QgZ2V0IG92ZXJ3cml0dGVuLCBhbmQgdGhlbgotICAg ICAgICAgIDs7IGxvYWQgaXQgaWYgaXQgZXhpc3RzOgotICAgICAgICAgIChpZiAoZmlsZS1yZWFk YWJsZS1wIGZpbGUpCi0gICAgICAgICAgICAgIDs7IGRvbid0IHdhbnQgdG8gdXNlIGZpbmQtZmls ZSBiZWNhdXNlIHdlIGhhdmUgYmVlbgotICAgICAgICAgICAgICA7OyBhZGRpbmcgaG9va3MgdG8g aXQuCi0gICAgICAgICAgICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyIChnZXQtYnVmZmVyLWNyZWF0 ZSAiICpTYXZlZCBQbGFjZXMqIikKLSAgICAgICAgICAgICAgICAoZGVsZXRlLXJlZ2lvbiAocG9p bnQtbWluKSAocG9pbnQtbWF4KSkKLSAgICAgICAgICAgICAgICA7OyBNYWtlIHN1cmUgb3VyICdj b2Rpbmc6JyBjb29raWUgaW4gdGhlIHNhdmUtcGxhY2UKLSAgICAgICAgICAgICAgICA7OyBmaWxl IHdpbGwgdGFrZSBlZmZlY3QsIGluIGNhc2UgdGhlIGNhbGxlciBiaW5kcwotICAgICAgICAgICAg ICAgIDs7IGNvZGluZy1zeXN0ZW0tZm9yLXJlYWQuCi0gICAgICAgICAgICAgICAgKGxldCAoY29k aW5nLXN5c3RlbS1mb3ItcmVhZCkKLSAgICAgICAgICAgICAgICAgIChpbnNlcnQtZmlsZS1jb250 ZW50cyBmaWxlKSkKLSAgICAgICAgICAgICAgICAoZ290by1jaGFyIChwb2ludC1taW4pKQotICAg ICAgICAgICAgICAgIChzZXRxIHNhdmUtcGxhY2UtYWxpc3QKLSAgICAgICAgICAgICAgICAgICAg ICAod2l0aC1kZW1vdGVkLWVycm9ycyAiRXJyb3IgcmVhZGluZyBzYXZlLXBsYWNlLWZpbGU6ICVT IgotICAgICAgICAgICAgICAgICAgICAgICAgKGNhciAocmVhZC1mcm9tLXN0cmluZwotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKGJ1ZmZlci1zdWJzdHJpbmcgKHBvaW50LW1pbikgKHBv aW50LW1heCkpKSkpKQotCi0gICAgICAgICAgICAgICAgOzsgSWYgdGhlcmUgaXMgYSBsaW1pdCwg YW5kIHdlJ3JlIG92ZXIgaXQsIHRoZW4gd2UnbGwKLSAgICAgICAgICAgICAgICA7OyBoYXZlIHRv IHRydW5jYXRlIHRoZSBlbmQgb2YgdGhlIGxpc3Q6Ci0gICAgICAgICAgICAgICAgKGlmIHNhdmUt cGxhY2UtbGltaXQKLSAgICAgICAgICAgICAgICAgICAgKGlmICg8PSBzYXZlLXBsYWNlLWxpbWl0 IDApCi0gICAgICAgICAgICAgICAgICAgICAgICA7OyBaZXJvIGdldHMgc3BlY2lhbCBjYXNlZC4g IEknbSBub3QgdGhyaWxsZWQKLSAgICAgICAgICAgICAgICAgICAgICAgIDs7IHdpdGggdGhpcywg YnV0IHRoZSBsb29wIGZvciA+PSAxIGlzIHRpZ2h0LgotICAgICAgICAgICAgICAgICAgICAgICAg KHNldHEgc2F2ZS1wbGFjZS1hbGlzdCBuaWwpCi0gICAgICAgICAgICAgICAgICAgICAgOzsgRWxz ZSB0aGUgbGltaXQgaXMgPj0gMSwgc28gZW5mb3JjZSBpdCBieQotICAgICAgICAgICAgICAgICAg ICAgIDs7IGNvdW50aW5nIGFuZCB0aGVuIGBzZXRjZHInaW5nLgotICAgICAgICAgICAgICAgICAg ICAgIChsZXQgKChzIHNhdmUtcGxhY2UtYWxpc3QpCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGNvdW50IDEpKQotICAgICAgICAgICAgICAgICAgICAgICAgKHdoaWxlIHMKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgKGlmICg+PSBjb3VudCBzYXZlLXBsYWNlLWxpbWl0KQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKHNldGNkciBzIG5pbCkKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoc2V0cSBjb3VudCAoMSsgY291bnQpKSkKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgKHNldHEgcyAoY2RyIHMpKSkpKSkKLQotICAgICAgICAgICAgICAgIChraWxsLWJ1ZmZl ciAoY3VycmVudC1idWZmZXIpKSkpCi0gICAgICAgICAgbmlsKSkpKQotCiAoZGVmdW4gc2F2ZS1w bGFjZXMtdG8tYWxpc3QgKCkKICAgOzsgZ28gdGhyb3VnaCBidWZmZXItbGlzdCwgc2F2aW5nIHBs YWNlcyB0byBhbGlzdCBpZiBzYXZlLXBsYWNlLW1vZGUKICAgOzsgaXMgbm9uLW5pbCwgZGVsZXRp bmcgdGhlbSBmcm9tIGFsaXN0IGlmIGl0IGlzIG5pbC4KQEAgLTM1Myw3ICszODIsMTEgQEAgc2F2 ZS1wbGFjZS1maW5kLWZpbGUtaG9vawogICAiRnVuY3Rpb24gYWRkZWQgdG8gYGZpbmQtZmlsZS1o b29rJyBieSBgc2F2ZS1wbGFjZS1tb2RlJy4KIEl0IHJ1bnMgdGhlIGhvb2sgYHNhdmUtcGxhY2Ut YWZ0ZXItZmluZC1maWxlLWhvb2snLiIKICAgKG9yIHNhdmUtcGxhY2UtbG9hZGVkIChzYXZlLXBs YWNlLWxvYWQtYWxpc3QtZnJvbS1maWxlKSkKLSAgKGxldCAoKGNlbGwgKGFzc29jIGJ1ZmZlci1m aWxlLW5hbWUgc2F2ZS1wbGFjZS1hbGlzdCkpKQorICAobGV0ICgoY2VsbCAoYW5kIChzdHJpbmdw IGJ1ZmZlci1maWxlLW5hbWUpCisgICAgICAgICAgICAgICAgICAgKGFzc29jIChpZiBzYXZlLXBs YWNlLWFiYnJldmlhdGUtZmlsZS1uYW1lcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KGFiYnJldmlhdGUtZmlsZS1uYW1lIGJ1ZmZlci1maWxlLW5hbWUpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYnVmZmVyLWZpbGUtbmFtZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg c2F2ZS1wbGFjZS1hbGlzdCkpKSkKICAgICAoaWYgY2VsbAogCShwcm9nbgogCSAgKG9yIHJldmVy dC1idWZmZXItaW4tcHJvZ3Jlc3MtcApAQCAtMzY4LDI1ICs0MDEsMjUgQEAgc2F2ZS1wbGFjZS1m aW5kLWZpbGUtaG9vawogKGRlZnVuIHNhdmUtcGxhY2UtZGlyZWQtaG9vayAoKQogICAiUG9zaXRp b24gdGhlIHBvaW50IGluIGEgRGlyZWQgYnVmZmVyLiIKICAgKG9yIHNhdmUtcGxhY2UtbG9hZGVk IChzYXZlLXBsYWNlLWxvYWQtYWxpc3QtZnJvbS1maWxlKSkKLSAgKGxldCogKChkaXJlY3Rvcnkg KGFuZCAoZGVyaXZlZC1tb2RlLXAgJ2RpcmVkLW1vZGUpCi0gICAgICAgICAgICAgICAgICAgICAg ICAgKGJvdW5kcCAnZGlyZWQtc3ViZGlyLWFsaXN0KQotCQkJIGRpcmVkLXN1YmRpci1hbGlzdAot CQkJIChkaXJlZC1jdXJyZW50LWRpcmVjdG9yeSkpKQotCSAoY2VsbCAoYXNzb2MgKGFuZCBkaXJl Y3RvcnkKLQkJCSAgIChleHBhbmQtZmlsZS1uYW1lIChpZiAoY29uc3AgZGlyZWN0b3J5KQotCQkJ CQkJIChjYXIgZGlyZWN0b3J5KQotCQkJCQkgICAgICAgZGlyZWN0b3J5KSkpCi0JCSAgICAgIHNh dmUtcGxhY2UtYWxpc3QpKSkKLSAgICAoaWYgY2VsbAotICAgICAgICAocHJvZ24KLSAgICAgICAg ICAob3IgcmV2ZXJ0LWJ1ZmZlci1pbi1wcm9ncmVzcy1wCi0gICAgICAgICAgICAgIChjb25kCi0J ICAgICAgICgoaW50ZWdlcnAgKGNkciBjZWxsKSkKLQkJKGdvdG8tY2hhciAoY2RyIGNlbGwpKSkK LQkgICAgICAgKChhbmQgKGxpc3RwIChjZHIgY2VsbCkpIChhc3NxICdkaXJlZC1maWxlbmFtZSAo Y2RyIGNlbGwpKSkKLQkJKGRpcmVkLWdvdG8tZmlsZSAoY2RyIChhc3NxICdkaXJlZC1maWxlbmFt ZSAoY2RyIGNlbGwpKSkpKSkpCi0gICAgICAgICAgOzsgYW5kIG1ha2Ugc3VyZSBpdCB3aWxsIGJl IHNhdmVkIGFnYWluIGZvciBsYXRlcgotICAgICAgICAgIChzZXRxIHNhdmUtcGxhY2UtbW9kZSB0 KSkpKSkKKyAgKHdoZW4tbGV0ICgoZGlyZWN0b3J5IChhbmQgKGRlcml2ZWQtbW9kZS1wICdkaXJl ZC1tb2RlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYm91bmRwICdkaXJlZC1zdWJk aXItYWxpc3QpCisJCQkgICAgIGRpcmVkLXN1YmRpci1hbGlzdAorCQkJICAgICAoZGlyZWQtY3Vy cmVudC1kaXJlY3RvcnkpKSkKKyAgICAgICAgICAgICAoaXRlbSAoZXhwYW5kLWZpbGUtbmFtZSAo aWYgKGNvbnNwIGRpcmVjdG9yeSkKKwkJCQkJIChjYXIgZGlyZWN0b3J5KQorCQkJCSAgICAgICBk aXJlY3RvcnkpKSkKKwkgICAgIChjZWxsIChhc3NvYyAoaWYgc2F2ZS1wbGFjZS1hYmJyZXZpYXRl LWZpbGUtbmFtZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhYmJyZXZpYXRlLWZp bGUtbmFtZSBpdGVtKSBpdGVtKQorCQkgICAgICAgICAgc2F2ZS1wbGFjZS1hbGlzdCkpKQorICAg IChvciByZXZlcnQtYnVmZmVyLWluLXByb2dyZXNzLXAKKyAgICAgICAgKGNvbmQKKwkgKChpbnRl Z2VycCAoY2RyIGNlbGwpKQorCSAgKGdvdG8tY2hhciAoY2RyIGNlbGwpKSkKKwkgKChsaXN0cCAo Y2RyIGNlbGwpKQorICAgICAgICAgICh3aGVuLWxldCAoKGVsdCAoYXNzcSAnZGlyZWQtZmlsZW5h bWUgKGNkciBjZWxsKSkpKQorICAgICAgICAgICAgKGRpcmVkLWdvdG8tZmlsZSAoZXhwYW5kLWZp bGUtbmFtZSAoY2RyIGVsdCkpKSkpKSkKKyAgICA7OyBhbmQgbWFrZSBzdXJlIGl0IHdpbGwgYmUg c2F2ZWQgYWdhaW4gZm9yIGxhdGVyCisgICAgKHNldHEgc2F2ZS1wbGFjZS1tb2RlIHQpKSkKIAog KGRlZnVuIHNhdmUtcGxhY2Uta2lsbC1lbWFjcy1ob29rICgpCiAgIDs7IEZpcnN0IHVwZGF0ZSB0 aGUgYWxpc3QuICBUaGlzIGxvYWRzIHRoZSBvbGQgc2F2ZS1wbGFjZS1maWxlIGlmIG5lYy4KLS0g CjIuMjUuMQoK --0000000000007e259805f878b8fb-- From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 06 06:27:33 2023 Received: (at 62413-done) by debbugs.gnu.org; 6 Apr 2023 10:27:33 +0000 Received: from localhost ([127.0.0.1]:53512 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pkMq5-0008Jk-Fu for submit@debbugs.gnu.org; Thu, 06 Apr 2023 06:27:33 -0400 Received: from eggs.gnu.org ([209.51.188.92]:45620) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pkMq3-0008JV-ID for 62413-done@debbugs.gnu.org; Thu, 06 Apr 2023 06:27:32 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pkMpy-0000rA-6V; Thu, 06 Apr 2023 06:27:26 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=pTHEnFaJbA7KzYbe6Dvz9ZbivzUEXeNkxtcBK6LJ8go=; b=qcFyaNALQVpcrbrA8Gln l5W1X4JG3RfNDckwX1+ZXrMt3qYpWp70jJ9dPd0Hmux3fNLEtVv5fCo9SlOyQBUQXCxl906xKw3gC 5VlIN/y9sGpEoCHyHkRQdlHOM+MhGC0DjUoQf8IwbNzXntSMl1fsuvlrrOv5kk5o7xHOUcV+Z41tO qdJoRF/DUdhBsK0Nfozc/cBCH0vss0h/bxGGeJ2+CZj3jgKwGdyWsNF1jabIpDO3FAUFiNuv/DlFX tfp9HQPOyQ4Ox5VL5JIEuosNUwpAzrEq4KwgWQah+UX9TWRr9p6wpLYhmL9QO881cm1Sm2pmyCeUj pTPoFBku4q1BRA==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pkMpx-0005JP-He; Thu, 06 Apr 2023 06:27:25 -0400 Date: Thu, 06 Apr 2023 13:27:55 +0300 Message-Id: <83h6ttqp90.fsf@gnu.org> From: Eli Zaretskii To: Liu Hui In-Reply-To: (message from Liu Hui on Tue, 4 Apr 2023 09:37:26 +0800) Subject: Re: bug#62413: 29.0.60; [PATCH] save-place-mode cannot restore saved position References: <83tty9caku.fsf@gnu.org> <83y1nkc3vc.fsf@gnu.org> <83zg809jgv.fsf@gnu.org> <83cz4t84mv.fsf@gnu.org> <83v8ii6bw4.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 62413-done Cc: ruijie@netyu.xyz, 62413-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Liu Hui > Date: Tue, 4 Apr 2023 09:37:26 +0800 > Cc: Eli Zaretskii , 62413@debbugs.gnu.org, bug-gnu-emacs@gnu.org > > Ruijie Yu 于2023年4月3日周一 11:06写道: > > > Two minor comments below. > > > > > @@ -90,8 +92,32 @@ save-place-forget-unreadable-files > > > (defcustom save-place-abbreviate-file-names nil > > > [...] > > > + :set (lambda (sym val) > > > + (set-default sym val) > > > + (let ((fun (if val 'abbreviate-file-name 'expand-file-name))) > > > > I believe function quotes "#'" are preferred over simple quotes "'" when > > dealing with functions. > > OK > > > > @@ -214,7 +241,11 @@ save-place-to-alist > > > ((and (derived-mode-p 'dired-mode) directory) > > > (let ((filename (dired-get-filename nil t))) > > > (if filename > > > - `((dired-filename . ,filename)) > > > + (list > > > + (cons 'dired-filename > > > + (if save-place-abbreviate-file-names > > > + (abbreviate-file-name filename) > > > + filename))) > > > > It seems that you rewrote the quote-backquote thing with regular > > list-cons construct -- no comments on that. I noticed that here, and in > > a few other places, you are reusing the exact `if' construct multiple > > times. Does that warrant defining a helper function? > > I feel such a function is too short. > > > Also, while I was about to send the mail, regarding the docstring of > > `save-place-abbreviate-file-names', instead of letting the user enable > > `save-place-mode', would it be better if you directly call facilities in > > saveplace to load `save-place-alist' from file system, within your :set > > function? > > Thanks for the suggestion. I have added `save-place-load-alist-from-file' > to the :set function in the new patch. Thanks, I installed this on the master branch, and I'm therefore closing this bug. From unknown Sun Jun 22 07:33:44 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Thu, 04 May 2023 11:24:05 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator