emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ELPA] A Setup package


From: Philip Kaludercic
Subject: Re: [ELPA] A Setup package
Date: Mon, 15 Mar 2021 00:39:47 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>>> We don't yet have http://elpa.gnu.org/packages/setup.html OTOH because
>>> the 0.1.0 version of the code is missing the copyright changes (the
>>> release is made from the commit in which you bump the version number).
>>> So if you want to make a release based on this code, you'll want to bump
>>> up the version number.
>> What exactly is missing?
>
> You missed this part:
>
>     (the release is made from the commit in which you bump the version
>      number)
>
> the commit in which you changed `Version:` to the current 0.1.0 did not
> have a "copyright FSF" line.

Oops, my bad. I get it now.

>> Why use help--make-usage at all?
>
> To avoid reinvent the wheel.

I could reduce it to

        (mapcar (lambda (arg)
                  (if (string-match "\\`&" (symbol-name arg))
                      arg
                    (intern (upcase (symbol-name arg)))))
                (get sym 'setup-signature))

which does the job.

>> It might be better to save the specification in a separate variable and
>> modify this destructively for every setup-define call, so as to avoid
>> the overhead of redefining the entire specification all the time.
>
> I wouldn't bother, no.  In the patch below I instead did the
> spec-processing when setting `setup-debug` (and I also dropped the
> `none` support because I don't see what it gains: for a macro that
> takes no arguments, `&rest sexp` works as well).
> And there is a better option for Emacs-28 and after.

The reason I introduced `none` was that :hide-mode is not repeatable and
has no arguments, resulting in the edebug specification

    (":hide-mode" sexp)

However this always fails to match. I am thinking about solving this by
checking for a non-nil signature. The only thing I'm not yet sure of if
this could have unintended side effects.

-- 
        Philip K.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]