From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Gabriel Newsgroups: gmane.emacs.devel Subject: On improving Bookmarks Date: Wed, 16 Nov 2022 02:25:20 -0300 Message-ID: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="30650"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Nov 16 06:26:41 2022 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 1ovAwb-0007ld-4s for ged-emacs-devel@m.gmane-mx.org; Wed, 16 Nov 2022 06:26:41 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ovAvX-00038i-Jh; Wed, 16 Nov 2022 00:25:35 -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 1ovAvU-00033J-91 for emacs-devel@gnu.org; Wed, 16 Nov 2022 00:25:32 -0500 Original-Received: from mail-bn8nam11olkn2010.outbound.protection.outlook.com ([40.92.20.10] helo=NAM11-BN8-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ovAvR-0000WO-Qj for emacs-devel@gnu.org; Wed, 16 Nov 2022 00:25:32 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aFwY0LD24ynd8P+7EZZBa2VhPG+ZS/KnYsiUWqS0fzS5SeZaAk+hB5/HYtBemOW00nXMuevmCNsh4W5oFeek6qF69MOPeNL/Wb/LWOI4Uncq/RVpEW6n3413kVrVbUuA1bSylc7goceH3F58eTaPTA0PXYqJIZ2tJs9U3p9mc79rPp1ZLe45HRvY1AF+I/ZQ1Yq7sfv+foJaW8cIto+VZeR9DA1+nodMQH//MUQW+19QR2ge0ZjEHkOba//LKGY0vUDoZsZslGcHbIjP6k5N5B/42tWO4Cfg7AWLLB2HT10vzdzOIRnLA/0x21hduPJbLSf/YbQFwM5BKy1qKdYNSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=68huVKvYS9GYDftWJb8WrfBuqDfAgbxCArUSejZp6fc=; b=ctvmxqPKnpyXP/K+oOmYHKiGB3NVq1VLuNYpB45Dj8EpkBbRMfuJHE8OAadxQ9sanWOakGdPfQxZuZCr8aBrdf8Q5GspMB5M0WTG9TIbGOgRBIKS2BdjOuZQNDslD6D+771l2gmOPZ1midLdZAQW+752vvj7y8BT9VVa1waeU5hT9xZ10Fffp9pYJNZf6rV9w6bfj2qWwUIEgRdbc/Ej6mBYnAhScWd9GtVM32NXiQmPxkVTvFjYx/4PEdT9xA+uA92fjMDO2Fvur9zxoZzrHrj4zqKx2L28PrCQZu4z3LFeE0r/NChm4z0bpSNv/I8OpG5GmxuDc0BsNB/3V9zKAw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=68huVKvYS9GYDftWJb8WrfBuqDfAgbxCArUSejZp6fc=; b=SuYCbyNoVE+x4y6+cMUMK4tOBXeLVUn2h7QpOvaXlbt8wQcevHgWA9yZhqqj4s7HIJV5w/fp7GNsYMzBSyTqy5FvPGqBSFA4VNlxfGVUIBVHaxD4PUj+5w+SVq3BdC7EBN6tj6ipiw0QnFBbyphmjPEiHuFCU4ZSHnf9nou96+pH0cq7FN661gI9NdCuHTRM8Wv0zKLBfRCv01tsXM0UrSaiAPZyYgV2do1F00PytgVTe7TyV6MW0l/UVNHg/urotg++H6m4dEx6qpEnkHcF5l56vzdIO5DE79VHYxDbNRQrqb+X5aB7uuUXGv7FVv9f026+emoG1XHRTuNs3q9ddw== Original-Received: from SJ0PR06MB8609.namprd06.prod.outlook.com (2603:10b6:a03:40c::11) by CY4PR06MB2840.namprd06.prod.outlook.com (2603:10b6:903:12f::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5834.8; Wed, 16 Nov 2022 05:25:27 +0000 Original-Received: from SJ0PR06MB8609.namprd06.prod.outlook.com ([fe80::33ae:d3a7:24ae:5c6f]) by SJ0PR06MB8609.namprd06.prod.outlook.com ([fe80::33ae:d3a7:24ae:5c6f%4]) with mapi id 15.20.5813.011; Wed, 16 Nov 2022 05:25:27 +0000 X-TMN: [AQMziGlV07EkhZDqb9evR3PgiRQNq2tNS9ZaxeHSTp1G+C0D/Zftk2UaP+nGY4ag] X-ClientProxiedBy: CP6P284CA0063.BRAP284.PROD.OUTLOOK.COM (2603:10d6:103:1ad::9) To SJ0PR06MB8609.namprd06.prod.outlook.com (2603:10b6:a03:40c::11) X-Microsoft-Original-Message-ID: <87zgcr5v3z.fsf@hotmail.com> X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR06MB8609:EE_|CY4PR06MB2840:EE_ X-MS-Office365-Filtering-Correlation-Id: d5ece983-fa42-4b88-0fd2-08dac792f812 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: nS4H8Bwx4ApyRzQ/V6xhM5DbVCaoJOyStfgYcJozAvG50o2XG7AiTVVS690lByfmCqA63v7AQvq9912mCs9IvuIqdeYtnG0kXihIkG5+QPYVaxxuyNyRQ7X58qeMTDAG8vATAEdoCoOVZKeU41JYMWq8dkH/VJ9lSnQkvNBtQXyo4RmpLEvKYLwL7jnR6u0pD//TZ2JYH/SN7ZqOcq7PRgoSESfcvNX3AzRY4EbwIP6pChz8MOXbeaK6g205F4Fh0f7m46cCEA/Ncr2c2mM3fTml56HjKea5AkLgFTdInTqaPJ26LdDk6oWXwivAA3YfZJUocNclhUq6aOV7YDIf0sHMYILl/s9lKHs4iPpViZBxVOZsRhV/jtkHAFQork+N58Teu9pTXSypmsjV1p6/RQjeVyOoZrfIqB7tZIQNkB3GRBmbCuWvneHNQq+2bx/96htbSkAlP+nJmAsZcsyBvaog6JxpOUKyht/Q0YMuQlqtqVhYzXD/XIRPNIStI9ry3Q/1CtE3xV7nDduxxmg0XIrP0cndlxP3Ef/lbNleV1H++4So3XTQ/v+T525V6jJvowCk5tjrq1bpp69zn8/mcd+jBYkDjBgvsmlPPBiEcD+FKQ7s6kuHRwZbxytOtfvrKuaSSFoGVRfav+tZg5aCvQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?G2U4QAlQI5D9W0HHGs1u8gXqDsy2pKX1HVtxO3WAg0UGMWmfH1X03Q2NWpLZ?= =?us-ascii?Q?Hj4kTt+Afkg9HNQ8ruhv/D7otQ6Q82Sj8k3mUCNsbO1HZXzKg9PX4MzjRrGI?= =?us-ascii?Q?TEZM6hwpjosGwjFob8Yv7ablfeFIlMn5PIi+k5XQlqIWS+xoQVD69+6YV+Hi?= =?us-ascii?Q?pr5XCNGcN9tU51Snd0TnzjuWaj2slvPu9/bEyVMCdkWiKc+G0c4Ng+VLYjJy?= =?us-ascii?Q?zHcSzyZno/1BfQiCh9muVtujjGwVf6CblEjcF3JFoH94IuzGvThSArAjVqPV?= =?us-ascii?Q?TEsqSKL41K8lUcMMut/1ZVLhz1Y2aKkvtH1vckESfPOMJHwL0ryasfytwaVC?= =?us-ascii?Q?5Hd7D3GtDjRA0AD0BVo06+rRUayJq6FKcyo8fzIU2TLOuVCwpWnpRdVN+rmm?= =?us-ascii?Q?wcK2D2OvsRzTBziwACCk9TwS8/IiXLNH70bSr05DWabw9T9LYM3UqRAvrRDu?= =?us-ascii?Q?QP9y8d8hWYLN44KHLuKSmAjpTkOSjf3qBxQtjCEHMBD9Sh0XarGQ1SQJlRN9?= =?us-ascii?Q?ms2kPDcBATu9m7pq1XowJSDLJylGjG0rQpuHokczQ1QPPv2FMlEnRW8ccqo+?= =?us-ascii?Q?VUbi/PzJpOHA2LjcARUdqS456DFC4aF4qqGgm4o5M2blVRj4jSw+QjW/e5c2?= =?us-ascii?Q?zX X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-89723.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: d5ece983-fa42-4b88-0fd2-08dac792f812 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR06MB8609.namprd06.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2022 05:25:27.2118 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR06MB2840 Received-SPF: pass client-ip=40.92.20.10; envelope-from=gabriel376@hotmail.com; helo=NAM11-BN8-obe.outbound.protection.outlook.com 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, 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, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 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:299899 Archived-At: Hi, I think there are some opportunities for improvements in Bookmarks (in general and in how it support Types) and would like to collect general feedback and directions before reporting bugs or proposing patches, especially considering if such changes would be useful, the effort to implement them and how to handle compatibility. Bookmarks has support for Types besides regular "Files" or "Directories" (opened with Dired). A quick xref in current Emacs master branch shows the following Types: - "DocView" - "Eshell" - "Gnus" - "Help" - "Image-Dired" - "Info" - "Man" - "EWW" - "VC" - "WoMan" 1) The empty "Type" column on C-x r l (bookmark-bmenu-list) Bookmarks shows a proper value in the Type column of bookmark-bmenu-list for all Types, except for regular "Files" and "Directories", in which shows an empty string. I believe that displaying the actual Type rather an empty string for these cases would make the interface more consistent and easier for navigation. See bug#59212 for the open discussion. Besides the question regarding the real value of this change, I currently don't know how to easily distinguish between "Files" and "Directories" without relying on IO calls (e.g. file-directory-p), which could degrade performance in case of long Bookmarks lists. We could display the string "File" for both "Files" and "Directories", but it would be a worse experience for users to not provide such distinction. 2) The usage of "File" and "Filename" in docs and interface In docs (e.g. (info "(emacs)Bookmarks")) and interface (e.g. the "File" column in bookmark-bmenu-list), we can find several occurrences of the terms "File" and "Filename" (and related terms), which I think is inconsistent since Bookmarks supports Types that do not really have these concepts (e.g. "Help", "Man", "EWW", "Gnus"). A better term would be "Location", which is already used in some places (e.g. bookmark-location, bookmark-relocate, the 'location property). Thus, I propose to make "Location" the official term in docs, interface and code, and to obsolete "File", "Filename" and related ones. 3) Add Type to bookmark-sort-flag A simple suggestion to add Type to the choices of bookmark-sort-flag. 4) Make R (bookmark-relocate) work for all Types The R (bookmark-relocate) currently does not seem to work with Types other than regular "Files" and "Directories". It causes the following error: bookmark-relocate: Wrong type argument: stringp, nil Would be nice to make it work for all types. I am not sure what would be the best way to implement it and the required effort. Perhaps similar to how VC handles different backends or similar to how currently bookmarks handles 'bookmark-handler-type. See also comment from 2010 in bookmark-location. As a simple remediation in case this change is not added to Bookmarks, Emacs could report a better error message for users, e.g.: "bookmark-relocate is not supported for type EWW". 5) Ability to open Bookmarks with external applications Add choice to open bookmarks in Emacs using the default bookmark-handler-type or using an external application (e.g. open a PDF with xdg-open rather than DocView or open an URL with Firefox rather than EWW). Not sure what would be the best way to implement it, though. 6) Add minibuffer completion details to C-x r b (bookmark-jump) A simple suggestion to add minibuffer completion details to bookmark-jump so users can know, for example, the Type and Location. It could be controlled by defcustom completions-detailed. 7) Add Tags A "simple" feature that would make Bookmarks much more powerful. In simple terms, a list of tags would be saved with each bookmark in bookmark-default-file, and could be used for better filtering and navigation. --- Gabriel