[Top][All Lists]

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

Re: [ELPA] new package: sndio.el

From: Philip Kaludercic
Subject: Re: [ELPA] new package: sndio.el
Date: Sun, 14 Nov 2021 18:46:44 +0000

Omar Polo <op@omarpolo.com> writes:

> Philip Kaludercic <philipk@posteo.net> writes:
>> Omar Polo <op@omarpolo.com> writes:
>>> Hello,
>>> Some time ago to scratch an itch I wrote sndio.el, a package to interact
>>> with the OpenBSD' audio daemon sndiod(8).  Recently, I've enhanced it a
>>> bit and added an hydra-like window for a quick interaction and thought
>>> it may be useful to others, so here's the submission.  It should work
>>> outside of OpenBSD too provided that you're running sndio and have
>>> sndioctl(1), but I never tried.
>> From what I see, if I were to download and run the package on a GNU
>> System without sndio, there wouldn't be any clear error message
>> indicating what went wrong, just an error message indicating that
>> sndioctl has failed, right? (this is just from reading and using faulty
>> mental evaluation). If the package is to be added to GNU ELPA, you
>> should probably add a explicit error message (perhaps even at compile
>> time) to clarify what is missing, and that the package isn't mean to
>> work on this system.
> Yes, as things are now if sndio-sndioctl-cmd is not found `sndio-update'
> fails with a generic error due to process-file not finding the
> executable.
> Would something like this be a viable option?
> --- sndio.el
> +++ sndio.el
> @@ -67,6 +67,8 @@
>  (defun sndio-update ()
>    "Update the current sndio buffer."
>    (interactive)
> +  (unless (executable-find sndio-sndioctl-cmd)
> +    (error "Can't find executable %s" sndio-sndioctl-cmd))
>    (when (derived-mode-p 'sndio-mode)
>      (let ((inhibit-read-only t))
>        (erase-buffer)
> (sndio-update is the first function called in both the entrypoints of
> the package, so it seems a good place for such a check)

This looks like a good place to add the check.  I just have two

1. Should an error or a user-error be raised?
2. Should the error message be more explicit, and mention that sndio
   isn't being used on the current system?

>>> There's a small gif on the repo that shows sndio.el in action:
>>>     https://git.omarpolo.com/sndio.el/about/
>>> I was able to fetch and checkout the source in the elpa repository using
>>> the attached diff.
>> The source looks good, I can add it to GNU ELPA if there are no objections.
>>> Thanks,
>>> Omar Polo
>>> diff --git a/elpa-packages b/elpa-packages
>>> index efa53e3e40..2e21c9bffb 100644
>>> --- a/elpa-packages
>>> +++ b/elpa-packages
>>> @@ -438,6 +438,7 @@
>>>   ("smalltalk-mode" :url nil) ;; Was "git://git.sv.gnu.org/smalltalk"
>>>   ("smart-yank"             :url nil)
>>>   ("sml-mode"               :url nil)
>>> + ("sndio"          :url "https://git.omarpolo.com/sndio.el";)
>>>   ("so-long"             :core "lisp/so-long.el")
>>>   ("soap-client"            :core ("lisp/net/soap-client.el" 
>>> "lisp/net/soap-inspect.el"))
>>>   ("sokoban"                :url nil)

        Philip Kaludercic

reply via email to

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