unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Philip Kaludercic <philipk@posteo.net>
To: Charles Choi <kickingvegas@gmail.com>
Cc: emacs-devel <emacs-devel@gnu.org>,
	 Stefan Kangas <stefankangas@gmail.com>,
	 Stefan Monnier <monnier@iro.umontreal.ca>
Subject: Re: Request to distribute Casual packages on NonGNU ELPA
Date: Fri, 27 Sep 2024 20:05:05 +0000	[thread overview]
Message-ID: <87y13cq2vi.fsf@posteo.net> (raw)
In-Reply-To: <FC85517C-514B-40BF-BA1C-ACDD14A64233@gmail.com> (Charles Choi's message of "Fri, 27 Sep 2024 11:12:01 -0700")

Charles Choi <kickingvegas@gmail.com> writes:

> Philip -
>
> Appreciate the input. My responses to your feedback below:
>
>> My first impression that the project seems a tad over-engineered for
>
> This was a deliberate decision on my part in undertaking the
> development of Casual. As I am new to developing Elisp, I wanted to
> understand better what it would be like to build a library of Elisp
> packages using contemporary software engineering practices.

OK, it is just culturally uncommon for Elisp code (of the size as your
packages are) to be developed in such a way.

>> but I don't know where you got that information from?  (referencing ADM-3A)
>> https://www.emacswiki.org/emacs/EightyColumnRule e.g. says this goes
>> back to punch cards (which is the story I had in my head).
>
> My reference to the ADM-3A was written "off the cuff", as that was one
> of the first terminals I had worked with. I will amend to reference
> the 80 column rule.

1+

>> Regarding casual-lib.el:  Do you actually need Emacs 29?  Package lint
>> seems to be fine with lowering the version to Emacs 25.
>
> In specifying requirements, I've taken a more conservative tack of
> listing a configuration that I am able to test, in this case, Emacs 29
> running on macOS and Linux. I do not have the time nor resources to
> fully test older versions of Emacs and associated packages, much less
> test on different platforms.
>
> As I am new to Elisp publishing, I was and still am reluctant to trust
> lint tools to verify behavior on older versions of Emacs and
> associated packages as it would commit me to supporting them. Is lint
> sufficient enough for verification of correct behavior on lower
> versions of Emacs? What happens when it isn't?

Usually yes, but if not someone will tell you and you can adjust it.  As
insinuated above, Elisp development is more /casual/ and direct.  If
someone finds a problem despite what `package-lint' says, they are more
likely to report it to you in a constructive way.

>> + :group 'casual)			;please add a `defgroup' before referring to it!  You don't need to specify the :group afterwards.
>
> Will amend.
>
>> +(defun casual-lib-display-line-numbers-mode-p () ;why do you have this as a predicate?
>
> For reasons I do not understand or have clear enough knowledge about,
> I could not write an expression to pass to a Transient macro, but
> instead has to pass a function symbol to get working code. Hence
> making a predicate here.
>
>> +      (not transient--stack)))		;btw. are you allowed to use this internal variable?
>
> This was guidance provided by Jonas Bernoulli, maintainer of Transient. https://github.com/magit/transient/discussions/290

Then it's fine ^^  Though it would be nice if there were some explicit
API for that...

>> +  :key "C-q"				;IIUC this is the binding that closes your transient buffer?  Could this be rebound to the more conventional "q"?
>
> Initially I did. Guidance from Jonas Bernoulli argued that Transient
> convention is to use C-q as detailed in
> https://magit.vc/manual/transient/FAQ.html#Why-does-q-not-quit-popups-anymore_003f-1

Oh, I did not know about this.  Forget about that then.

>> +  (casual-lib-customize-casual-lib-hide-navigation)) ;why not just inline the above definition?
>
> Likely over-modularization on my part. Will audit all Casual packages and if this usage is singular, will inline.

Great, I find that would help with readability.

>> +awk '/Version: / {print $3}' $1
>
> Nice in that I don't have to make a call to grep. Will verify and amend.
>
> Thanks for taking the time to review.
>
> Regards -
>
> Charles
>
>
> —
> Charles Y. Choi, Ph.D.
> kickingvegas@gmail.com
>
>

-- 
	Philip Kaludercic on siskin



  parent reply	other threads:[~2024-09-27 20:05 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-24 21:35 Request to distribute Casual packages on NonGNU ELPA Charles Choi
2024-09-25 17:30 ` Stefan Kangas
2024-09-25 18:30   ` Philip Kaludercic
2024-09-25 20:05     ` Charles Choi
2024-09-25 20:15       ` Philip Kaludercic
2024-09-26 18:06         ` Charles Choi
2024-09-28  3:08         ` Richard Stallman
2024-09-28  8:52           ` Charles Choi
2024-09-28  3:08         ` Richard Stallman
2024-09-27 15:52       ` Philip Kaludercic
2024-09-27 16:04         ` Philip Kaludercic
2024-09-27 18:12         ` Charles Choi
2024-09-27 18:58           ` Stefan Monnier
2024-09-27 20:05           ` Philip Kaludercic [this message]
2024-09-28 14:02       ` Philip Kaludercic
2024-09-26 19:08   ` Charles Choi
2024-09-27  4:40     ` Stefan Kangas
2024-09-27 15:34       ` Philip Kaludercic
2024-09-27 16:13         ` Charles Choi
2024-09-27 16:03     ` Stefan Monnier
2024-09-27 19:20       ` Charles Choi
2024-09-30  3:26         ` Richard Stallman
2024-09-30  3:57           ` Emanuel Berg
2024-10-03  3:33             ` Richard Stallman
2024-09-25 23:44 ` Stefan Kangas
2024-09-26 17:01   ` Charles Choi
2024-09-26 18:05     ` Adam Porter
2024-09-27 15:18       ` Philip Kaludercic
2024-09-27  5:43     ` Stefan Kangas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87y13cq2vi.fsf@posteo.net \
    --to=philipk@posteo.net \
    --cc=emacs-devel@gnu.org \
    --cc=kickingvegas@gmail.com \
    --cc=monnier@iro.umontreal.ca \
    --cc=stefankangas@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).