From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Matthias Meulien Newsgroups: gmane.emacs.devel Subject: Re: On improving Bookmarks Date: Wed, 16 Nov 2022 08:23:59 +0100 Message-ID: <87wn7vbbw0.fsf@gmail.com> References: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="33321"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: emacs-devel@gnu.org To: Gabriel Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Nov 16 08:25:08 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 1ovCnE-0008YE-6k for ged-emacs-devel@m.gmane-mx.org; Wed, 16 Nov 2022 08:25:08 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ovCmN-0008Tp-2i; Wed, 16 Nov 2022 02:24:15 -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 1ovCmI-0008TX-Dn for emacs-devel@gnu.org; Wed, 16 Nov 2022 02:24:11 -0500 Original-Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ovCmG-0005pl-KG for emacs-devel@gnu.org; Wed, 16 Nov 2022 02:24:10 -0500 Original-Received: by mail-wm1-x332.google.com with SMTP id l39-20020a05600c1d2700b003cf93c8156dso806154wms.4 for ; Tue, 15 Nov 2022 23:24:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=KnB7kU3tNcjo9Liqlt/GDdG4kSuuiqY+WHp8X5jdgGM=; b=IiZ0p6fO0KABo4CVccf0ofYiR8dgefwsSLh4m9aVLvQPXIJMrIQj06Qpqtl2oA9rnw GXxwlx1y+TDlXQnClaG/KnctSJ2trjkP7diGnVLQyaxPA9gx05bweOIPULonnEaqwgUG b06QlKSAA/CyOliaElSHkVSNhFSX2Zwd1/a0tcfhLM9XRQNvARu3dDmer1/3OWbtrI1F Shef0F463xQHipSTPadBArNa88t4ZbJOdmDbnn4K3rKK6hfaN9DX0XFlTRch7l+YILBe 8ijM4MSOEujvvNRtbplzZ56ERMCxkLjbq1749vcz1YGpBbz9ckqmxkzf6OxIYb88vsb0 4YFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=KnB7kU3tNcjo9Liqlt/GDdG4kSuuiqY+WHp8X5jdgGM=; b=esjLdK4Sn76jC/Qzy3JvHjodrclE1hE7+0x/M3PxHVmpUgNyZqH0DTwHZ9ZWNVGhsO 8DD3ZgKvEQMED0U8ir7Q/5juIi0KSmSB2BWKznPmNjKNUGXUTShNTO5g43UBh1otdbMR 5tj5UVt02LRW7WNO3Clo9W7BYLLgQAxRHnRcbznVgmlDFoL3QL9iHmsaPED6WXOMc+ub /5oTCWv9UbaCi6TQPHFZ7LbjxbSExRusOAI+DXYD6JDKt/CZfeB4fwFYc79WPzX5+VLM wzKzEjun16pKz//MG3smDKN5K6MyV1f591TVlUmpTHGShitXjp9oA5hkVKRtm9Vyx3ki YmEg== X-Gm-Message-State: ANoB5pmYthPMSGwHYyczYhDcap2azj3srgul2SjPJB7SSw0R9zHU8d+M Ne4d1vEhos0J1ejIabg3m7dCA82aY0U= X-Google-Smtp-Source: AA0mqf7BnKQlfNDEofXtshej2hayw8d24UOTTjd0PWTIndr38QFtQ/7Acqv6taqT3X1qFRoNSy+4Aw== X-Received: by 2002:a05:600c:19d0:b0:3cf:e7b7:d87d with SMTP id u16-20020a05600c19d000b003cfe7b7d87dmr1087246wmq.95.1668583440364; Tue, 15 Nov 2022 23:24:00 -0800 (PST) Original-Received: from carbon.localdomain ([2a01:e0a:245:c850:98f5:429a:aa8e:95bb]) by smtp.gmail.com with ESMTPSA id t7-20020adff047000000b0022e57e66824sm16940562wro.99.2022.11.15.23.23.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Nov 2022 23:23:59 -0800 (PST) In-Reply-To: (Gabriel's message of "Wed, 16 Nov 2022 02:25:20 -0300") Received-SPF: pass client-ip=2a00:1450:4864:20::332; envelope-from=orontee@gmail.com; helo=mail-wm1-x332.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=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:299901 Archived-At: Gabriel writes: > (...) 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. Thank you! > 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. +1 > 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. Yes you're right. If I remember correctly, when serialized, those "Files and Directories" bookmarks aren't associated to a handler. Introducing distinct handlers for both would help to have a meaningful "type" value. > 2) The usage of "File" and "Filename" in docs and interface (...) > 3) Add Type to bookmark-sort-flag > > A simple suggestion to add Type to the choices of bookmark-sort-flag. I am no against, but I'm not sure I'll use it. Extending the / key (bookmark-bmenu-search) to mimic what is done por packages would be more interesting from my pov (ie make it a prefix key and for example have / n filter by name, / t filter by type, and / l filter by location). > 4) Make R (bookmark-relocate) work for all Types +1 > 5) Ability to open Bookmarks with external applications (...) > 6) Add minibuffer completion details to C-x r b (bookmark-jump) +1 > 7) Add Tags +1 Let me mention two things I have in my wishlist: 8) Hability to scope bookmarks to Projects. When setting a bookmark from a buffer attached to a project, I'd like to have the choice of a bookmark scope: global or current project. When jumping to a bookmark from a buffer attached to a project, I'd then expect to have choice from bookmarks with global scope and bookmarks with scoped to current project. A project-bookmark-bmenu-list command could be created that displays bookmarks with global scope and scoped to current project. I don't know whether one should extend bookmarks with a scope property or store bookmarks in projects (using .dir-locals.el or a dedicated file?). 9) Improve support for multiple bookmark files I first thought 8) wouldn't be a problem if I maintained a bookmark file in each project. Unfortunately when you press the s key from bookmark BMenu, the default bookmark file is overwritten with bookmarks coming from multiple sources... And when jumping there's no way to select the bookmark source... -- Matthias