From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Kangas Newsgroups: gmane.emacs.devel Subject: Re: Request to distribute Casual packages on NonGNU ELPA Date: Wed, 25 Sep 2024 16:44:38 -0700 Message-ID: References: <8B0830CA-6995-454C-BC5A-E4247E259CE9@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="30963"; mail-complaints-to="usenet@ciao.gmane.io" To: Charles Choi , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Sep 26 01:45:03 2024 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 1stbgt-0007t2-4F for ged-emacs-devel@m.gmane-mx.org; Thu, 26 Sep 2024 01:45:03 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1stbgb-0004wU-3C; Wed, 25 Sep 2024 19:44:45 -0400 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 1stbga-0004wK-2r for emacs-devel@gnu.org; Wed, 25 Sep 2024 19:44:44 -0400 Original-Received: from mail-ed1-x529.google.com ([2a00:1450:4864:20::529]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1stbgY-0007oN-3j for emacs-devel@gnu.org; Wed, 25 Sep 2024 19:44:43 -0400 Original-Received: by mail-ed1-x529.google.com with SMTP id 4fb4d7f45d1cf-5c46c2bf490so163019a12.3 for ; Wed, 25 Sep 2024 16:44:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1727307880; x=1727912680; darn=gnu.org; h=to:subject:message-id:date:mime-version:references:in-reply-to:from :from:to:cc:subject:date:message-id:reply-to; bh=KzWmSRbwE769u7b9ScGNuNXCMBy9XaxpkMxYoYQy0i4=; b=BMAafvt+rRWSgL6o2E+v6BLUG+2jmncKeFDmZAg+78hIQ3osQhRT+OP0vcYTsmhG8k OhdgmRMZrnj6AhVQPwA0hBjsQhMBuVQNrSa12mY+T+Ho/CiWw/JHZzIYZFh5x8DHyseK OlABTWDd24alesEu+eYRm0nblvESYC4dZy2HtsIw+AUmmeGNijvNdbf3//f/dLI/X2bH s0E1shRGRCwrvnIzYSpVK98UHIBGu775Srh5/ZCIlpXd+YJz1ptk+i7zsOrduJ2xF1aB 7minXZVcEpOVmbono7+u8dJ3uqjnKIjZ4KqI7jGa/9QbUocOxwvNEryMnMWiQc3lSiye Y0ow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727307880; x=1727912680; h=to:subject:message-id:date:mime-version:references:in-reply-to:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=KzWmSRbwE769u7b9ScGNuNXCMBy9XaxpkMxYoYQy0i4=; b=VAb/oHp0JZBPIi1GXl6FocVUb0F55qtsvdkjPaWpon0/Ua5X7672XCxKKi7rH8BHnm /51oUNAuL7gRFRmUnkpYl2Nnoo/r2YjS+8g+ZpAgSI1ZEhStYcBsvdxaeMGw19mSkcJM N6tCUk3mEy8lQ6rLxiqoNsvVu9q4QF95k+O7hCXk10KdjFwP38uU753OBDt08WukNwzK WIR2DlwiBSSO/rqcgV+EXHqaPEvqjdfmG0FouXcuAu7hVeqjar6/bT3pPu/FyBJ8XUwe CiZaUI3CVRxqFGHo/8xFciIZEsx/AIh/CBwXrNX2EOEm94+8tC/UFuk3gQArtsHyvyXu sNzw== X-Forwarded-Encrypted: i=1; AJvYcCVOFeOPhZhR3G9Zc+cy8Bx7Nep4aYVdJQYU92W8j7FkNjDO2gdCfrgfEmSSe+ho7AxYwTztYX3g4rxgxg==@gnu.org X-Gm-Message-State: AOJu0YyiX1JZBXWN1hRlY8mOZopkgHMyzH/ANw9Yz40hqkQTZAZDfMuA a6QhQcyEZZJoRk2odfQUcw09oFm2EvZ5S4WRSCgybkD8zBcpwAHZhqQ6bV2BGN2Ppm6XZth38/f VqU1P8QPNaAHT4qvgha0if7Bbigv608pk X-Google-Smtp-Source: AGHT+IH+EANpC8KH7t3U/Z2PL6lfqKuznKgZeeHXFBFGgs0lsg9bSzYAi6wytLN0qpp4xbC8NlZg1YoECHLG6kYFyvk= X-Received: by 2002:a05:6402:26d5:b0:5c4:2d14:c725 with SMTP id 4fb4d7f45d1cf-5c720610bf7mr4661750a12.2.1727307879563; Wed, 25 Sep 2024 16:44:39 -0700 (PDT) Original-Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Wed, 25 Sep 2024 16:44:38 -0700 In-Reply-To: <8B0830CA-6995-454C-BC5A-E4247E259CE9@gmail.com> Received-SPF: pass client-ip=2a00:1450:4864:20::529; envelope-from=stefankangas@gmail.com; helo=mail-ed1-x529.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, 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:324091 Archived-At: Charles Choi writes: > Greetings Emacs Devel - > > Over the course of this past year, I have published a number of Emacs > packages that offer Transient-based user interfaces for different > modes with the moniker of "Casual" on MELPA. I wish to pursue > publishing them on NonGNU ELPA and seek guidance on how to move > forward with this. I have read the README at > https://git.savannah.gnu.org/cgit/emacs/nongnu.git/plain/README.org > and believe that these packages all comply with the guidance for > package acceptance into NonGNU ELPA. > > A current listing of the packages that I wish to distribute on NonGNU > ELPA can be found at the link > https://melpa.org/#/?q=kickingvegas%20casual I have given the `casual-bookmarks` command a spin, and I have looked at a few others. The screenshots really helped here. Please find below my review of Casual, and some ideas for potential improvements. I hope you find it useful. AFAICT, Casual essentially provides something similar to `which-key-show-full-mode` but with a hand-crafted display based on transient instead of the auto-generated display which-key has. Another comparison is `help-quick-toggle`, though connected to the current major mode. It could also be compared to the many various `hydra` recipes floating around out there. I quite like it to the extent that it does the above, FWIW. But there are also some things that I think could be improved. - Why so many packages? They could easily be bundled into just one package. This is also strongly suggested by the fact that there is a need for a `consult-bundle` package. There is little to no benefit to split it up, it just makes dealing with it more fiddly. - The Casual suite would benefit from having an Info manual. This is related to the above point; there is a lot of duplicated information in the various README files. - `casual-dired` changes some of the default Dired keybindings. I think this is confusing, and reduces the value of `casual-dired` as a learning and/or help tool. It should be possible to use the transient menu for Dired without being forced to use the new keybindings. This suggests to me that there should be a completely separate mode, perhaps not even part of Casual, to enable the "new and improved" keybindings everywhere: in Dired, in the Casual transient menu, etc. This would broaden its applicability to more use cases; for example, I might want to use the transient menu, but I have little to no interest in non-default Dired keybindings. - I would put Casual on GNU ELPA, if possible. I also have some comments based on the README.md for `casual-bookmarks`: > Casual Bookmarks is an opinionated Transient-based user interface for > Emacs Bookmarks. > > INSTALLATION (require 'casual-bookmarks) ;; optional Using `require` is redundant, and not best practice: it slows down starting Emacs and requires more memory, even if the commands are never used. All useful entry-points should simply be autoloaded (this is done automatically by package.el on install). > (keymap-set bookmark-bmenu-mode-map "C-o" #'casual-bookmarks-tmenu) > > Alternately with `use-package': (use-package bookmark > :ensure nil :defer t) AFAICT, this form does nothing and can be removed. > (use-package casual-bookmarks > :ensure t :bind (:map bookmark-bmenu-mode-map > ("C-o" . casual-bookmarks-tmenu) ("S" > . casual-bookmarks-sortby-tmenu) ("J" . bookmark-jump)) > :after (bookmark)) The `bookmark-jump` key binding is generally useful, and should preferably be sent as a patch to Emacs itself. Perhaps this also applies to the new key bindings for info, ibuffer, and org-agenda, etc. I don't know, and I didn't look into it. > Casual Bookmarks requires Casual Lib which in turn requires a recent > installation of Transient 0.6.0+ from either ELPA or MELPA. As an > older version of Transient is built-in to the Emacs release, This should say which version of Emacs needs to have transient upgraded. If it is Emacs 29.4, then say that.