GNU bug report logs - #68915
Request to include a couple of packages in GNU ELPA

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: elpa; Reported by: Stefan Monnier <monnier@HIDDEN>; dated Sat, 3 Feb 2024 22:32:01 UTC; Maintainer for elpa is elpa-maintainers@HIDDEN.

Message received at 68915 <at> debbugs.gnu.org:


Received: (at 68915) by debbugs.gnu.org; 5 Feb 2024 21:40:17 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 05 16:40:17 2024
Received: from localhost ([127.0.0.1]:52438 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rX6hM-0006gS-N4
	for submit <at> debbugs.gnu.org; Mon, 05 Feb 2024 16:40:17 -0500
Received: from sender11-pp-o91.zoho.eu ([31.186.226.249]:25198
 helo=sender21-mail.zoho.eu)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rahguzar@HIDDEN>) id 1rX6hJ-0006gI-UF
 for 68915 <at> debbugs.gnu.org; Mon, 05 Feb 2024 16:40:15 -0500
ARC-Seal: i=1; a=rsa-sha256; t=1707169197; cv=none; d=zohomail.eu; s=zohoarc; 
 b=kbT9Leo21AzS5rMb6Z2oLkatbT0mg2wBmL9QXgYmF513LWC9+J+AdxIpygRmYts6nzOoEbXDuSFCTDB2MwZEik1dGDGJQ1ht9Dy1uGBg5C66Qd9yOtk+OxRYePYnuL9IKk9fSVRdJ0vapd0dJPKIh19LF3NM09um7X0pE+6z7OY=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.eu;
 s=zohoarc; t=1707169197;
 h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To;
 bh=Jlt/edcNrKtGayYAsDgg5vvz0mCZ4fgoR+NRBu0vH3k=; 
 b=UyUZg5+3BfV8HkZCEKzP2utbEOntQaZx72sbjb4f8A1QcAbPLuYX7Jh+Ft0TPtgGgsFRS0iCzlwrjUTgHXFuCNoloIA12vspwtbTXyPr3U6M5c4+mXCqtidmv1IEqjJFSsAuuW16MjfFtqYLRGZ+FizF8Xn5+OjUxud2sd7G5VE=
ARC-Authentication-Results: i=1; mx.zohomail.eu;
 dkim=pass  header.i=zohomail.eu;
 spf=pass  smtp.mailfrom=rahguzar@HIDDEN;
 dmarc=pass header.from=<rahguzar@HIDDEN>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1707169197; 
 s=zoho; d=zohomail.eu; i=rahguzar@HIDDEN;
 h=References:From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:In-reply-to:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
 bh=Jlt/edcNrKtGayYAsDgg5vvz0mCZ4fgoR+NRBu0vH3k=;
 b=C7izeBSqhEh+LcmDf6wRtXLHsOrKFUHrtpFprX4KW/Z2bjxytqsDuKjjYPBOxfhK
 E2BU6wSJEQCq6lo4rZ5eATfYo6r9+hRugFJbN7BuGeFKYGLogMB4tKL5jKPV7nmdDzA
 7Skan/Q5iQQfv7ajD0V2ObewjeRyBm0f2zmgA0/U=
Received: from localhost (78-73-246-128-no600.tbcn.telia.com [78.73.246.128])
 by mx.zoho.eu with SMTPS id 1707169195549289.2466441622116;
 Mon, 5 Feb 2024 22:39:55 +0100 (CET)
References: <8734u97m79.fsf@HIDDEN>
 <CADwFkmnvG1ZWwq8b84mv+nJFgxSA3Bgd9e0-XnwGsqVbvOkckQ@HIDDEN>
 <jwvjznlji5p.fsf-monnier+emacs@HIDDEN>
 <jwv5xz419zu.fsf-monnier+emacs@HIDDEN> <87h6io552d.fsf@HIDDEN>
 <jwvy1bzhpnk.fsf-monnier+emacs@HIDDEN>
User-agent: mu4e 1.10.5; emacs 29.2
From: Rahguzar <rahguzar@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
Subject: Re: bug#68915: Request to include a couple of packages in GNU ELPA
Date: Mon, 05 Feb 2024 22:33:33 +0100
In-reply-to: <jwvy1bzhpnk.fsf-monnier+emacs@HIDDEN>
Message-ID: <874jem615h.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-ZohoMailClient: External
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 68915
Cc: Philip Kaludercic <philipk@HIDDEN>,
 Stefan Kangas <stefankangas@HIDDEN>, 68915 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hi Stefan

Stefan Monnier <monnier@HIDDEN> writes:

>>> The better solution is to send a patch for `bytecomp.el`, of course, but
>>> in this specific case you could workaround the problem with something
>>> like the (guaranteed 100% untested) patch below.  It's not very pretty,
>>> so I recommend you look into that `bytecomp.el` patch =F0=9F=99=82.
>> That will probably require some CS education :)
>
> My job is to provide that, so you're at the right place.

Great! An item has been added to my post retirement aspirations :)

>> I am not a coder by trade rather an aspiring academic in
>> another field.
>
> No worries: nowadays a CS education can be put to good use in pretty
> much all fields.
>
>
>         Stefan

I believe I have taken care of most of the feedback from you and Philip
including gitignore and elpaignore files.

I think copyright stuff is also taken care of and I have removed "not"
from

;; This file is part of GNU Emacs.

line.

I will try to improve the let over lambda parts too but probably after
sometime.

Thanks for suggestions,
Rahguzar




Information forwarded to elpa-maintainers@HIDDEN:
bug#68915; Package elpa. Full text available.

Message received at 68915 <at> debbugs.gnu.org:


Received: (at 68915) by debbugs.gnu.org; 5 Feb 2024 19:29:46 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 05 14:29:46 2024
Received: from localhost ([127.0.0.1]:52337 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rX4f1-0003Nk-TF
	for submit <at> debbugs.gnu.org; Mon, 05 Feb 2024 14:29:45 -0500
Received: from mout02.posteo.de ([185.67.36.66]:54867)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <philipk@HIDDEN>) id 1rX4ek-0003ND-NI
 for 68915 <at> debbugs.gnu.org; Mon, 05 Feb 2024 14:29:42 -0500
Received: from submission (posteo.de [185.67.36.169]) 
 by mout02.posteo.de (Postfix) with ESMTPS id C6855240104
 for <68915 <at> debbugs.gnu.org>; Mon,  5 Feb 2024 20:29:07 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017;
 t=1707161347; bh=kDQHoLWY78my8kBIVL92ApRPTy7MM4ebEixhaZPoTRc=;
 h=From:To:Cc:Subject:Autocrypt:OpenPGP:Date:Message-ID:MIME-Version:
 Content-Type:From;
 b=h8+ZnyWk0/Vw+u52+WpXooHtwgG6EGNiPIkLVVaK9u7DmbjHFkaRm/iK5Wex/omzq
 ux1iQQboUdT/iZSHIRBVTm6cwbpJQ3P7XzXTJQW8sRgvfLFEx9rtMJn4MJk8SmNJXc
 +4l9yZebd0sCsJh3GK4FH2Oc7do6mKYkwl49WQC8TBDEGAuPq2l7YxptZzARHZILu3
 CQf5cY8lYjl88zGv/e0GH5mLTYJmgHlaSGCyfG7Qmkp0NVHouZgvnqRem9i6541g8E
 2od7JMGUdJaUcrnAvwpRtTqlmijgV5NaPgMcYyX7AJKdeEufNXR41Lalc5W5MrrQjm
 FAVYxc0thpBDg==
Received: from customer (localhost [127.0.0.1])
 by submission (posteo.de) with ESMTPSA id 4TTGds6drVz6txF;
 Mon,  5 Feb 2024 20:29:05 +0100 (CET)
From: Philip Kaludercic <philipk@HIDDEN>
To: Rahguzar <rahguzar@HIDDEN>
Subject: Re: bug#68915: Request to include a couple of packages in GNU ELPA
In-Reply-To: <87le8055qc.fsf@HIDDEN> (rahguzar@HIDDEN's message of
 "Sun, 04 Feb 2024 20:48:19 +0100")
References: <8734u97m79.fsf@HIDDEN>
 <CADwFkmnvG1ZWwq8b84mv+nJFgxSA3Bgd9e0-XnwGsqVbvOkckQ@HIDDEN>
 <jwvjznlji5p.fsf-monnier+emacs@HIDDEN> <87r0hsxoy4.fsf@HIDDEN>
 <87le8055qc.fsf@HIDDEN>
Autocrypt: addr=philipk@HIDDEN; keydata=
 mDMEZBBQQhYJKwYBBAHaRw8BAQdAHJuofBrfqFh12uQu0Yi7mrl525F28eTmwUDflFNmdui0QlBo
 aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0
 ZW8ubmV0PoiWBBMWCAA+FiEEDg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwMFCQHhM4AFCwkI
 BwIGFQoJCAsCBBYCAwECHgECF4AACgkQ8xYDWXahwulikAEA77hloUiSrXgFkUVJhlKBpLCHUjA0
 mWZ9j9w5d08+jVwBAK6c4iGP7j+/PhbkxaEKa4V3MzIl7zJkcNNjHCXmvFcEuDgEZBBQQhIKKwYB
 BAGXVQEFAQEHQI5NLiLRjZy3OfSt1dhCmFyn+fN/QKELUYQetiaoe+MMAwEIB4h+BBgWCAAmFiEE
 Dg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwwFCQHhM4AACgkQ8xYDWXahwukm+wEA8cml4JpK
 NeAu65rg+auKrPOP6TP/4YWRCTIvuYDm0joBALw98AMz7/qMHvSCeU/hw9PL6u6R2EScxtpKnWof
 z4oM
OpenPGP: id=7126E1DE2F0CE35C770BED01F2C3CC513DB89F66;
 url="https://keys.openpgp.org/vks/v1/by-fingerprint/7126E1DE2F0CE35C770BED01F2C3CC513DB89F66";
 preference=signencrypt
Date: Mon, 05 Feb 2024 19:29:05 +0000
Message-ID: <877cjiiubi.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 68915
Cc: Stefan Monnier <monnier@HIDDEN>, 68915 <at> debbugs.gnu.org,
 Stefan Kangas <stefankangas@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Rahguzar <rahguzar@HIDDEN> writes:

> Hi Philip,
> Thanks a lot for the comments. I will make some code change but this
> email is to discuss some of the points:
>
> Philip Kaludercic <philipk@HIDDEN> writes:
>
>> @@ -26,17 +27,17 @@
>>  (defcustom consult-hoogle-args
>>    '("hoogle" . ("search" "--jsonl" "-q" "--count=250"))
>>    "The hoogle invocation used to get results.
>> -It is should be a cons (COMMAND . ARGS). COMMAND should be valid executable.
>> +It is should be a cons (COMMAND . ARGS).  COMMAND should be valid executable.
>>  It is called arguments ARGS with the search query appended.  It should produce
>>  search results in JSON lines format."
>>    :type '(cons (string :tag "Hoogle command")
>>                 (repeat :tag "Args for hoogle" string))
>> -  :group 'consult)
>> +  :group 'consult)			;wouldn't it be better to define your own group?
>
> I can define a new group but there are only two custom variables. I
> think this makes sense in light of your comments to reduce coupling with
> consult (which I agree with) so I will do it. OTOH I am bit hesitant to
> proliferate too many groups with not many options.

I wouldn't worry too much about that, being able to easily and
predictably display all the options that a package or feature provides
is IMO preferable, considering that the number of groups is usually
nothing users have to concern themselves with too much.

>> @@ -52,6 +53,9 @@ default it uses `cabal-hoogle' https://github.com/kokobd/cabal-hoogle ."
>
>>  (defvar consult-hoogle-map
>>    (let ((map (make-sparse-keymap)))
>> +    ;; if this is building on consult, can you rebind some keys
>> +    ;; instead of hard-coding key chords that the user might have
>> +    ;; modified?
>>      (define-key map (kbd "M-i") #'consult-hoogle-browse-item)
>>      (define-key map (kbd "M-j") #'consult-hoogle-browse-package)
>>      (define-key map (kbd "M-m") #'consult-hoogle-browse-module)
>
> I don't know which keys to rebind in this case since these commands have
> no general analogue. The map was my means of allowing users to override
> the bindings without too much hassle. I would also like to solicit some
> suggestions for better bindings. I normally use evil so if you or
> someone has suggestions for bindings that mesh better with default ones,
> I will gladly change these.

I assumed that you were overriding keys that consult or some other
framework was binding, if that is not the case, then nevermind this
comment.

>> @@ -80,7 +84,7 @@ default it uses `cabal-hoogle' https://github.com/kokobd/cabal-hoogle ."
>>    "Fontify TEXT, returning the fontified text.
>>  This is adapted from `haskell-fontify-as-mode' but for better performance
>>  we use the same buffer throughout."
>> -  (with-current-buffer " *Hoogle Fontification*"
>> +  (with-current-buffer " *Hoogle Fontification*" ;why not use a temporary buffer?
>
> 'haskell-mode' can be slow and with preview and vertical completion UIs
> the temporary buffer will be created many many times. I started with
> that and changed to this approach since there were noticeable pauses.

OK, then that is worth adding as a comment.

>>      (erase-buffer)
>>      (insert text)
>>      (font-lock-ensure)
>> @@ -217,7 +221,7 @@ STATE is the optional state function passed to the `consult--read'."
>>    (let ((consult-async-min-input 0)
>>          (fun (or action (lambda (alist) (consult-hoogle--browse-url 'item alist)))))
>>      (with-current-buffer (get-buffer-create " *Hoogle Fontification*" t)
>> -      (let (haskell-mode-hook)
>> +      (let (haskell-mode-hook)		;do you always want this?
>
> I think so, real haskell-mode buffer can have a lot of hooks (like lsp
> related ones). OTOH some of them might affect fontification. I think a
> separate hook containing a whitelist makes sense but I would rather wait
> for someone to complain before adding it.

1+

>>          (haskell-mode)))
>>      (unwind-protect
>>          (funcall fun (consult--read
>> @@ -242,11 +246,11 @@ STATE is the optional state function passed to the `consult--read'."
>>  (defun consult-hoogle (arg)
>>    "Search the local hoogle database.
>>  By default this shows the documentation for the current candidate in a side
>> -window. This can be disabled by a prefix ARG."
>> +window.  This can be disabled by a prefix ARG."
>>    (interactive (list current-prefix-arg))
>>    (if arg (consult-hoogle--search)
>>      (let* ((buf (get-buffer-create " *Hoogle Documentation*" t))
>> -           (height (if (bound-and-true-p vertico-count)
>> +           (height (if (bound-and-true-p vertico-count) ;can this support icomplete as well?
>
> This is indeed hack and I am more inclined to remove it and make the
> height a custom variable. Another route would be to make the display
> action a custom variable. What do you think?

I cannot comment, since I don't understand the intended effect well enough.

>>                         vertico-count
>>                       10))
>>             (window (display-buffer buf
>> @@ -267,7 +271,7 @@ By default uses cabal-hoogle and the database should have been generated
>>  by running `cabal-hoogle generate'.  `consult-hoogle-project-args' can be
>>  customized to configure an alternate command.
>>  By default this shows the documentation for the current candidate in a side
>> -window. This can be disabled by a prefix ARG."
>> +window.  This can be disabled by a prefix ARG."
>>    (interactive (list current-prefix-arg))
>>    (let ((consult-hoogle-args consult-hoogle-project-args)
>>          (default-directory (haskell-cabal-find-dir)))
>> @@ -300,13 +304,15 @@ window. This can be disabled by a prefix ARG."
>>      (scroll-up arg)))
>>
>>  (defun consult-hoogle-restrict-to-package (package &optional arg)
>> -  "Restrict the search to PACKAGE. With prefix ARG exluce package from search."
>> +  "Restrict the search to PACKAGE.
>> +With prefix ARG exluce package from search."
>>    (interactive (list (consult-hoogle--get 'package) current-prefix-arg))
>>    (when package
>>      (consult-hoogle--add-to-input (if arg "-" "+") (downcase package))))
>>
>>  (defun consult-hoogle-restrict-to-module (module &optional arg)
>> -  "Restrict the search to MODULE. With prefix ARG exluce module from search."
>> +  "Restrict the search to MODULE.
>> +With prefix ARG exluce module from search."
>>    (interactive (list (consult-hoogle--get 'module) current-prefix-arg))
>>    (when module (consult-hoogle--add-to-input (if arg "-" "+") module)))
>>
>> @@ -319,8 +325,7 @@ If called with numeric prefix LEVEL only use first ARG levels of module."
>>      (consult-hoogle--add-to-input
>>       (if (> level 0) "+" "-")
>>       (progn
>> -       (string-match (rx-to-string
>> -                      `(: bos (= ,(abs level) (: (1+ (not ".")) (?? ".")))))
>> +       (string-match (rx bos (= ,(literal (abs level)) (: (1+ (not ".")) (?? "."))))
>>                       module)
>
> I think this is not a valid rx form. Literal can only be a literal
> string to match and in (= N rx) N can only be a literal positive integer.

Whoops, you are right, the comma is enough to disqualify it from being a
valid form.

>>         (match-string 0 module)))))
>>
>> @@ -333,22 +338,21 @@ If called with numeric prefix LEVEL only use last ARG levels of module."
>>      (consult-hoogle--add-to-input
>>       (if (> level 0) "+" "-")
>>       (progn
>> -       (string-match (rx-to-string
>> -                      `(: (= ,(abs level) (: (1+ (not ".")) (?? "."))) eos))
>> +       (string-match (rx (= (literal (abs level)) (: (1+ (not ".")) (?? "."))) eos)
>>                       module)
>>         (match-string 0 module)))))
>>
>>  (defun consult-hoogle-clear-restrictions (arg)
>>    "Clear all restrictions and exclusions on the search.
>> -With positive prefix ARG only clear restrictions. With negative prefix
>> +With positive prefix ARG only clear restrictions.  With negative prefix
>>  only clear exclusions."
>>    (interactive (list (when current-prefix-arg
>>                         (prefix-numeric-value current-prefix-arg))))
>> -  (let* ((restriction-rx (rx-to-string `(: ,(if (not arg)
>> -                                                '(or "+" "-")
>> -                                              (if (> arg 0) "+" "-"))
>> -                                         (0+ (not space))
>> -                                         (or (1+ space) eos)))))
>> +  (let* ((restriction-rx (rx
>> +			  (literal (if (not arg)
>> +                                       '(or "+" "-")
>> +                                     (if (> arg 0) "+" "-")))
>> +			  (0+ (not space)))))
>
> Here too I think literal in rx can't handle arbitrary lisp expressions.

This expands to

(concat
 (regexp-quote (if (not arg) '(or "+" "-") (if (> arg 0) "+" "-")))
 "[^[:space:]]*")

so the issue is that one of the cases results in (or "+" "-") that
cannot be passed to `regexp-quote'.  If instead we wrote

(rx
 (regexp (cond
	  ((not arg) "[+-]")
	  ((> arg 0) "\\+")
	  (t "-")))
 (0+ (not space)))

then it should work.

>
>>      (consult-hoogle--modify-async-input
>>       (lambda (match) (replace-regexp-in-string restriction-rx "" match)))))
>>
>>
>>
>> Also, it would be nice to have a .elpaignore file in your repository to
>> avoid bundling the bitmap images from your repository with the tarballs.
>
> I will look up the format and add the file.

The file format is basically just the same as what tar accepts with the
-X argument.

>> Generally speaking, how tightly integrated is this into consult, and can
>> you imaging generalising this for all users?  Having a dependency on a
>> UI component seems like a backwards thing to do.
>
> I think it is not too tightly integrated. If there is another easy
> way to define an async completion table (i.e. candidates can arrive in
> batches) adapting to it would be fairly easy. However there is no UI
> independent way of doing this that I know. In this case I wouldn't call
> consult a UI component, it rather provides means for me not to deal with
> different UI's directly. If you have suggestions in this area, I can
> try.
>
> Previews are also provided by a consult protocol but adapting them to a
> different protocol wouldn't be too difficult.
>
> These two aspects only concern a small amount of code but they are very
> important for a good experience.

Again, I cannot comment on it, I just want to raise the point that by
depending on an external package like this, you are restricting who will
be interested in the package.  I for one would much prefer to not have
the results displayed asynchronously, but in a fixed buffer that I can
operate using all the usual commands one operates any text buffer.

> Rahguzar




Information forwarded to elpa-maintainers@HIDDEN:
bug#68915; Package elpa. Full text available.

Message received at 68915 <at> debbugs.gnu.org:


Received: (at 68915) by debbugs.gnu.org; 5 Feb 2024 07:06:26 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Feb 05 02:06:26 2024
Received: from localhost ([127.0.0.1]:50453 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rWt3h-0005YD-TV
	for submit <at> debbugs.gnu.org; Mon, 05 Feb 2024 02:06:26 -0500
Received: from mout02.posteo.de ([185.67.36.66]:49571)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <philipk@HIDDEN>) id 1rWt3c-0005Xx-SQ
 for 68915 <at> debbugs.gnu.org; Mon, 05 Feb 2024 02:06:24 -0500
Received: from submission (posteo.de [185.67.36.169]) 
 by mout02.posteo.de (Postfix) with ESMTPS id 44BFB240103
 for <68915 <at> debbugs.gnu.org>; Mon,  5 Feb 2024 08:06:02 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017;
 t=1707116762; bh=JT4m3f/AapmDAwbhToB8G/Be2/NjYx2HWnhoh4cEUUM=;
 h=From:To:Cc:Subject:Autocrypt:OpenPGP:Date:Message-ID:MIME-Version:
 Content-Type:From;
 b=CMp3w2Yc8O7+DouTiLVnSc1Oan/QLgClectkOt1Jznnm1wZINmQe7h6RN+FHYccOM
 at4bnXN4+UdfFEN8Z1fFTjL7KySItOSfyoKGf5FHTCFTzNOQxVuoEcMeOS499yZib6
 Bb8pEX+WgO6cuCys1lZTUoTR84etUjdRjNlwmxcSO+xV1XKUArfrnSdyU8yQVi31QO
 qvGE8+qe5Kbk8Vd+yaUmSTESXO23Vm3jlFLOukmrxxALdmjRAwFZDhvkuH39TtDHD8
 4SZARuTJoyhLegMc+dRMIIhz/TXWqjXzuherUSL/uGaMw+l0Q15L6ihucdD2cd18sa
 XGw8rYdM3gxeQ==
Received: from customer (localhost [127.0.0.1])
 by submission (posteo.de) with ESMTPSA id 4TSy8T24YFz6tmv;
 Mon,  5 Feb 2024 08:06:01 +0100 (CET)
From: Philip Kaludercic <philipk@HIDDEN>
To: Rahguzar <rahguzar@HIDDEN>
Subject: Re: bug#68915: Request to include a couple of packages in GNU ELPA
In-Reply-To: <87cytc53xa.fsf@HIDDEN> (rahguzar@HIDDEN's message of
 "Sun, 04 Feb 2024 21:57:44 +0100")
References: <8734u97m79.fsf@HIDDEN>
 <CADwFkmnvG1ZWwq8b84mv+nJFgxSA3Bgd9e0-XnwGsqVbvOkckQ@HIDDEN>
 <jwvjznlji5p.fsf-monnier+emacs@HIDDEN> <87o7cwxo0k.fsf@HIDDEN>
 <87cytc53xa.fsf@HIDDEN>
Autocrypt: addr=philipk@HIDDEN; keydata=
 mDMEZBBQQhYJKwYBBAHaRw8BAQdAHJuofBrfqFh12uQu0Yi7mrl525F28eTmwUDflFNmdui0QlBo
 aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0
 ZW8ubmV0PoiWBBMWCAA+FiEEDg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwMFCQHhM4AFCwkI
 BwIGFQoJCAsCBBYCAwECHgECF4AACgkQ8xYDWXahwulikAEA77hloUiSrXgFkUVJhlKBpLCHUjA0
 mWZ9j9w5d08+jVwBAK6c4iGP7j+/PhbkxaEKa4V3MzIl7zJkcNNjHCXmvFcEuDgEZBBQQhIKKwYB
 BAGXVQEFAQEHQI5NLiLRjZy3OfSt1dhCmFyn+fN/QKELUYQetiaoe+MMAwEIB4h+BBgWCAAmFiEE
 Dg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwwFCQHhM4AACgkQ8xYDWXahwukm+wEA8cml4JpK
 NeAu65rg+auKrPOP6TP/4YWRCTIvuYDm0joBALw98AMz7/qMHvSCeU/hw9PL6u6R2EScxtpKnWof
 z4oM
OpenPGP: id=7126E1DE2F0CE35C770BED01F2C3CC513DB89F66;
 url="https://keys.openpgp.org/vks/v1/by-fingerprint/7126E1DE2F0CE35C770BED01F2C3CC513DB89F66";
 preference=signencrypt
Date: Mon, 05 Feb 2024 07:06:00 +0000
Message-ID: <8734u7jspz.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 68915
Cc: Stefan Monnier <monnier@HIDDEN>, 68915 <at> debbugs.gnu.org,
 Stefan Kangas <stefankangas@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Rahguzar <rahguzar@HIDDEN> writes:

> Hi Philip,
>   Thanks again for these.
>
> I will make most of the stylistic changes but I would like to not mix
> tabs and spaces for the code I want to maintain. Other than that some
> responses to your questions are below:

That was my mistake, I just ran indent-region on the entire buffer.  If
you want to avoid issues with this in the future, I'd recommend
adding a .dir-locals.el file that disables indent-tabs-mode.

I usually have this in my packages,

--8<---------------cut here---------------start------------->8---
;;; Directory Local Variables
;;; For more information see (info "(emacs) Directory Variables")

((emacs-lisp-mode
  (indent-tabs-mode . nil)
  (show-trailing-whitespace . t)
  (sentence-end-double-space . t)
  (byte-compile-error-on-warn . t)))
--8<---------------cut here---------------end--------------->8---

though I know that some people think it is opinionated.

> Philip Kaludercic <philipk@HIDDEN> writes:
>
>> Stefan Monnier <monnier@HIDDEN> writes:
>>
>>>>> 2) filechooser.el: https://codeberg.org/rahguzar/filechooser
>>>>> It implements the backend D-bus methods for xdg filechooser and can be
>>>>> used to provide an Emacs based file selection interface for applications
>>>>> such as web browsers which support using xdg desktop portals for this
>>>>> purpose.
>>
>> I don't really understand what this package is doing, so my comments are
>> more superficial, hope they are nevertheless at least a bit useful:
>>
>> diff --git a/filechooser.el b/filechooser.el
>> index cc96386..e08f4b1 100644
>> --- a/filechooser.el
>> +++ b/filechooser.el
>> @@ -1,26 +1,27 @@
>>  ;;; filechooser.el --- An xdg-desktop-portal filechooser -*- lexical-binding: t; -*-
>> -;;
>> -;; Copyright (C) 2023 azeem
>> -;;
>> +
>> +;; Copyright (C) 2023 azeem <-- is this you?
>> +
>
> Yes, sorry will change that.
>
>>  ;; Author: rahguzar <rahguzar@HIDDEN>
>>  ;; Maintainer: rahguzar <rahguzar@HIDDEN>
>>  ;; Created: May 20, 2023
>> -;; Modified: May 20, 2023
>> +;; Modified: May 20, 2023 <-- either use time-stamp or remove this please
>>  ;; Version: 0.0.1
>>  ;; Keywords: convenience files tools unix
>>  ;; Homepage: https://codeberg.org/rahguzar/filechooser
>>  ;; Package-Requires: ((emacs "28.1") (compat "29.1"))
>> -;;
>> +
>>  ;; This file is not part of GNU Emacs.
>> -;;
>> +
>>  ;;; Commentary:
>> -;; An implementation of xdg-desktop-portal filechooser in Emacs. This allows
>> +
>> +;; An implementation of xdg-desktop-portal filechooser in Emacs.  This allows
>>  ;; for choosing files in applications like firefox (with GTK_USE_PORTAL set)
>> -;; from an Emacs frame. The default is to use `read-file-name' for choosing
>> +;; from an Emacs frame.  The default is to use `read-file-name' for choosing
>>  ;; a single file and a pair of Dired buffers for choosing multiple files.
>> -;;
>> -;;
>> +
>>  ;;; Code:
>> +
>>  (require 'compat)
>>  (require 'dbus)
>>  (require 'xdg)
>> @@ -49,25 +50,27 @@
>>
>>  (defvar filechooser-multiple-selection-map
>>    (let ((map (make-sparse-keymap)))
>> +    (set-keymap-parent map filechooser-mininuffer-map)
>>      (define-key map (kbd "M-TAB") #'filechooser-multiple-continue)
>>      (define-key map (kbd "M-RET") #'filechooser-multiple-finalize-current-selection)
>>      (define-key map (kbd "M-a") #'filechooser-multiple-select-all)
>> -    (make-composed-keymap map filechooser-mininuffer-map)))
>> +    map))
>>
>>  ;;;; Custom variables
>> -(defgroup filechooser nil
>> +(defgroup filechooser nil		;this is a duplicate!
>
> Is the other definition in some package? I didn't see any filechooser
> group is options for `customize-group` without this package loaded.

I believe there was a duplicate definition a few lines above.

>>    "An xdg-desktop-portal filechooser."
>>    :link '(url-link :tag "Homepage" "https://codeberg.org/rahguzar/filechooser")
>>    :group 'files)
>>
>>  (defcustom filechooser-save-existing-files 'uniquify
>>    "Determines behavior when attempting to save an existing file FILENAME.
>> -If it is symbol `yes-or-no-p', `yes-or-no-p' is used to confirm if the file
>> -should be overwritten. If it is the symbol `y-or-n-p', `y-or-n-p' is used to
>> -prompt. In both cases if a the answer is negative, the file selection is started
>> -again. If it is the symbol `uniquify', the FILENAME is made unique by appedning
>> --N to it where N is a positive number. If it is a function, it is called with
>> -FILENAME and the return value is used as the filename."
>> +If it is symbol `yes-or-no-p', `yes-or-no-p' is used to confirm if the
>> +file should be overwritten.  If it is the symbol `y-or-n-p', `y-or-n-p'
>> +is used to prompt.  In both cases if a the answer is negative, the file
>> +selection is started again.  If it is the symbol `uniquify', the
>> +FILENAME is made unique by appedning -N to it where N is a positive
>> +number.  If it is a function, it is called with FILENAME and the return
>> +value is used as the filename."
>>    :type '(choice
>>            (const :tag "Uniquify" uniquify)
>>            (const :tag "Prompt Yes/No" yes-or-no-p)
>> @@ -80,8 +83,8 @@ If it is nil the selected frame is used instead."
>>    :type 'boolean)
>>
>>  (defcustom filechooser-filters `(("Directories" filechooser-file-directory-p . t)
>> -                              ("Elisp files" ,(rx ".el" eos))
>> -                              ("Not dot files" ,(rx bos (not ?.))))
>> +				 ("Elisp files" ,(rx ".el" eos))
>> +				 ("Not dot files" ,(rx bos (not ?.))))
>>    "An alist of (NAME FILTER . BOOL).
>>  NAME should describe the filter which can either be a regexp
>>  or else a predicate function which takes a filename as argument.
>> @@ -89,8 +92,8 @@ If BOOL is non-nil filter is active by default otherwise it is inactive."
>>    :type '(alist :key-type (string :tag "Name")
>>                  :value-type
>>                  (cons :tag "Value:"
>> -                  (choice :tag "Filter" regexp function)
>> -                  (boolean :tag "Default"))))
>> +                      (choice :tag "Filter" regexp function)
>> +                      (boolean :tag "Default"))))
>>
>>  (defcustom filechooser-choose-file #'filechooser-read-file-name
>>    "Function used to choose a single file.
>> @@ -114,7 +117,7 @@ It should have the same calling convention as
>>    "The key that is used to exit minibuffer to do completion.
>>  I.e. the key that binds the equivalent of `exit-minibuffer' for the completion
>>  UI of choice: usually RET."
>> -  :type 'key)
>> +  :type 'key)				;this is not available for Emacs 27
>
> Will (if (> emacs-major-version 27) 'key 'string) be fine here?

I think 'key-sequence would be the more adequate fallback.

>>  ;;;; Others
>>  (defvar filechooser-current-operation nil
>> @@ -122,12 +125,12 @@ UI of choice: usually RET."
>>
>>  ;;;; Internal Variables
>>  (defvar filechooser--filters nil)
>> -(defvar filechooser--selection (list (make-temp-file "filechooser-selection-" t)))
>> +(defvar filechooser--selection (list (make-temp-file "filechooser-selection-" t))) ;do you really want to evaluate a side effect here?
>
> This is a hack to get a default-directory I can use for a fake dired
> buffer. I think it is enough to create such a directory once when the
> package is loaded. I will try changing it so that the existence of this
> directory is checked at the point of use and if not it is created.

Right, that sounds more robust.  I don't know all the edge cases in
which a temporary directory can be removed, especially over different
operating systems, so I'd recommend not relying on it, especially over
longer periods.

>>  (defvar filechooser--multiple-selection nil)
>>
>>  ;;; Filters
>>  (defun filechooser--filters-group-fn (cand transform)
>> -  "Group function for selecting filters. CAND TRANSFORM."
>> +  "Group function for selecting filters.  CAND TRANSFORM." ;please document CAND and TRANSFORM
>
> Will do.

Thanks.

>>    (if transform
>>        cand
>>      (if (cdr (alist-get cand filechooser--filters nil nil #'equal))
>
> Thanks,
> Rahguzar




Information forwarded to elpa-maintainers@HIDDEN:
bug#68915; Package elpa. Full text available.

Message received at 68915 <at> debbugs.gnu.org:


Received: (at 68915) by debbugs.gnu.org; 4 Feb 2024 21:45:30 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Feb 04 16:45:29 2024
Received: from localhost ([127.0.0.1]:50110 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rWkIq-0007cN-Uj
	for submit <at> debbugs.gnu.org; Sun, 04 Feb 2024 16:45:29 -0500
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:52738)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1rWkIl-0007c1-SN
 for 68915 <at> debbugs.gnu.org; Sun, 04 Feb 2024 16:45:27 -0500
Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 595E4100390;
 Sun,  4 Feb 2024 16:45:06 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1707083100;
 bh=lxBB/+xsCVIUUp0EOwmRBuu95tHyOk4vM4Yrtty+h2g=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=KduDxkbuYBu5HNY0sRNaq84CmFfE82l3Ba4O3EufwHiQUJ6vHHDc0ieS9ckqI2UB6
 nAEx/ZqHaxE7Zrp9qg/hdPB1TvFJLkLa8lr3bhTZPLtAyI+IbJGVxDhAYk8SB5HfWX
 69notKFULqywPpU7Yp6XR9Zw1DC4sIiGpHhDvSIzioUkBBt5urzEflgOwMD49ldIv7
 t6S0A1ed1tGmb+nxpYZKu0K4kYay0sllW6mIVBQNccejgFhNqZZplUpK159cj+61D4
 FgwzgZH7zzJO7k6q8UFUxdYdwFmGOudOG9KtthdI0XPsbvuihXhcC9l47TqichLwvu
 1kNsNqJuKMfUg==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id E6708100301;
 Sun,  4 Feb 2024 16:45:00 -0500 (EST)
Received: from alfajor (69-165-153-17.dsl.teksavvy.com [69.165.153.17])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id B228412078A;
 Sun,  4 Feb 2024 16:45:00 -0500 (EST)
From: Stefan Monnier <monnier@HIDDEN>
To: Rahguzar <rahguzar@HIDDEN>
Subject: Re: bug#68915: Request to include a couple of packages in GNU ELPA
In-Reply-To: <87h6io552d.fsf@HIDDEN> (rahguzar@HIDDEN's message of
 "Sun, 04 Feb 2024 21:36:55 +0100")
Message-ID: <jwvy1bzhpnk.fsf-monnier+emacs@HIDDEN>
References: <8734u97m79.fsf@HIDDEN>
 <CADwFkmnvG1ZWwq8b84mv+nJFgxSA3Bgd9e0-XnwGsqVbvOkckQ@HIDDEN>
 <jwvjznlji5p.fsf-monnier+emacs@HIDDEN>
 <jwv5xz419zu.fsf-monnier+emacs@HIDDEN> <87h6io552d.fsf@HIDDEN>
Date: Sun, 04 Feb 2024 16:45:00 -0500
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.286 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain T_SCC_BODY_TEXT_LINE    -0.01 -
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 68915
Cc: Philip Kaludercic <philipk@HIDDEN>,
 Stefan Kangas <stefankangas@HIDDEN>, 68915 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

>> The better solution is to send a patch for `bytecomp.el`, of course, but
>> in this specific case you could workaround the problem with something
>> like the (guaranteed 100% untested) patch below.  It's not very pretty,
>> so I recommend you look into that `bytecomp.el` patch =F0=9F=99=82.
> That will probably require some CS education :)

My job is to provide that, so you're at the right place.

> I am not a coder by trade rather an aspiring academic in
> another field.

No worries: nowadays a CS education can be put to good use in pretty
much all fields.


        Stefan





Information forwarded to elpa-maintainers@HIDDEN:
bug#68915; Package elpa. Full text available.

Message received at 68915 <at> debbugs.gnu.org:


Received: (at 68915) by debbugs.gnu.org; 4 Feb 2024 21:33:58 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Feb 04 16:33:57 2024
Received: from localhost ([127.0.0.1]:50105 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rWk7h-0007Ja-Hq
	for submit <at> debbugs.gnu.org; Sun, 04 Feb 2024 16:33:57 -0500
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:41229)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1rWk7b-0007JH-Tx
 for 68915 <at> debbugs.gnu.org; Sun, 04 Feb 2024 16:33:55 -0500
Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id BE37210046A;
 Sun,  4 Feb 2024 16:33:33 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1707082408;
 bh=f8cJ0UYji1Yfv+ptmoZPhEwC4YtZZxuc8EHspKlW89w=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=IiqBKzUjmU1hd2B1s/QmekZATw1hSgy9vWCdLXO0K1kkfQlHvOi3c4oLn2eyYFDdD
 Tz914VmO8gsaXFXHwRQG33fJPp3vQcfR8IMn6fGscLHR3ryVpxzXRCTYSovIJf+f5v
 PvbH8EouXCF+XAx+29w+Ye3cGtIsBfUiHXfarDcJmU3qitOGAXAImUJnN+Uw5dR+jQ
 Rf19rwUMBM4OW/eK+0fiFUG1AbeLcXMG+KVFQuk/jrR/yAi2YSvd3aVXiG6K0ViBrh
 vZjkRg1JVBrvxpUG7W1Jlv/g+8lKPCwPvF7IMPLMk/90IhIaKJVY25uKim4dv0qqCA
 AGpOXLHQCQ0hw==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 22962100301;
 Sun,  4 Feb 2024 16:33:28 -0500 (EST)
Received: from alfajor (69-165-153-17.dsl.teksavvy.com [69.165.153.17])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id E86AB1209F7;
 Sun,  4 Feb 2024 16:33:27 -0500 (EST)
From: Stefan Monnier <monnier@HIDDEN>
To: Rahguzar <rahguzar@HIDDEN>
Subject: Re: bug#68915: Request to include a couple of packages in GNU ELPA
In-Reply-To: <87le8055qc.fsf@HIDDEN> (rahguzar@HIDDEN's message of
 "Sun, 04 Feb 2024 20:48:19 +0100")
Message-ID: <jwvfry8hqou.fsf-monnier+emacs@HIDDEN>
References: <8734u97m79.fsf@HIDDEN>
 <CADwFkmnvG1ZWwq8b84mv+nJFgxSA3Bgd9e0-XnwGsqVbvOkckQ@HIDDEN>
 <jwvjznlji5p.fsf-monnier+emacs@HIDDEN> <87r0hsxoy4.fsf@HIDDEN>
 <87le8055qc.fsf@HIDDEN>
Date: Sun, 04 Feb 2024 16:33:26 -0500
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.290 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain T_SCC_BODY_TEXT_LINE    -0.01 -
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 68915
Cc: Philip Kaludercic <philipk@HIDDEN>,
 Stefan Kangas <stefankangas@HIDDEN>, 68915 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

>> -       (string-match (rx-to-string
>> -                      `(: bos (= ,(abs level) (: (1+ (not ".")) (?? ".")))))
>> +       (string-match (rx bos (= ,(literal (abs level)) (: (1+ (not ".")) (?? "."))))
>>                       module)
>
> I think this is not a valid rx form. Literal can only be a literal
> string to match and in (= N rx) N can only be a literal positive integer.

Indeed.  Maybe it would make sense to have a feature request to be able
to write just:

    (rx bos (= (abs level) (: (1+ (not ".")) (?? "."))))

but currently I think you have to write that as

    (rx bos (regexp (rx-to-string `(= ,(abs level) (: (1+ (not ".")) (?? "."))))))

which is unsatisfactory.  You could make it marginally more efficient with:

    (rx bos (regexp (rx-to-string `(= ,(abs level) (regexp ,(rx (: (1+ (not ".")) (?? "."))))))))

but it's yet less satisfactory from a readability point of view.

>> -       (string-match (rx-to-string
>> -                      `(: (= ,(abs level) (: (1+ (not ".")) (?? "."))) eos))
>> +       (string-match (rx (= (literal (abs level)) (: (1+ (not ".")) (?? "."))) eos)

Same here.

>> -  (let* ((restriction-rx (rx-to-string `(: ,(if (not arg)
>> -                                                '(or "+" "-")
>> -                                              (if (> arg 0) "+" "-"))
>> -                                         (0+ (not space))
>> -                                         (or (1+ space) eos)))))
>> +  (let* ((restriction-rx (rx
>> +			  (literal (if (not arg)
>> +                                       '(or "+" "-")
>> +                                     (if (> arg 0) "+" "-")))
>> +			  (0+ (not space)))))
>
> Here too I think literal in rx can't handle arbitrary lisp expressions.

Indeed, I suspect it should be

    (let* ((restriction-rx (rx (: (regexp (if (not arg)
                                              (rx (or "+" "-"))
                                            (if (> arg 0) (rx "+") (rx "-")))
                                  (0+ (not space))
                                  (or (1+ space) eos)))))

> I think it is not too tightly integrated. If there is another easy
> way to define an async completion table (i.e. candidates can arrive in
> batches) adapting to it would be fairly easy.

IIUC there's another such protocol for Company, but there isn't one
that's "generic" :-(


        Stefan





Information forwarded to elpa-maintainers@HIDDEN:
bug#68915; Package elpa. Full text available.

Message received at 68915 <at> debbugs.gnu.org:


Received: (at 68915) by debbugs.gnu.org; 4 Feb 2024 21:13:28 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Feb 04 16:13:28 2024
Received: from localhost ([127.0.0.1]:50099 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rWjns-0006mG-0z
	for submit <at> debbugs.gnu.org; Sun, 04 Feb 2024 16:13:28 -0500
Received: from sender11-pp-o91.zoho.eu ([31.186.226.249]:25112
 helo=sender21-mail.zoho.eu)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rahguzar@HIDDEN>) id 1rWjnm-0006lz-EA
 for 68915 <at> debbugs.gnu.org; Sun, 04 Feb 2024 16:13:26 -0500
ARC-Seal: i=1; a=rsa-sha256; t=1707081187; cv=none; d=zohomail.eu; s=zohoarc; 
 b=HtTTQ1noDLk9g/b9kCeTxujnAdLMPC9f9SSz48aPEY/H/qn2cHALdo9g/UQsUMRkB9+MCcKfUTgkDj/8pHBXClVAHPKtuo5+VTik8Ix+Iv4mBXp9sWdw6aa2oP/Hc/xjxujR5K+0kRBihYiwPT1pea4dNYnj2D7z4uwAjEzvOAw=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.eu;
 s=zohoarc; t=1707081187;
 h=Content-Type:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To;
 bh=bQ3x0zeVjov7O6EVsVSqgP98m+QM3I9vYv5FppoikxE=; 
 b=IC2TYNIeJO/Ybg0XMz3MbntH57FWxc0+Pww2mt3tauuHcWdGzrVoTy5+JZLp1keC5dx3mvPSC1P/q8ZSaEJlzFsF43HqevqhM0TDmnjg2invSIETHMz0wJuOqSr0k69cnJabMXmUIOrpMx3tvslVoJzUpVlMSbDrt6B3o0U2ww0=
ARC-Authentication-Results: i=1; mx.zohomail.eu;
 dkim=pass  header.i=zohomail.eu;
 spf=pass  smtp.mailfrom=rahguzar@HIDDEN;
 dmarc=pass header.from=<rahguzar@HIDDEN>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1707081187; 
 s=zoho; d=zohomail.eu; i=rahguzar@HIDDEN;
 h=References:From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:In-reply-to:Message-ID:MIME-Version:Content-Type:Message-Id:Reply-To;
 bh=bQ3x0zeVjov7O6EVsVSqgP98m+QM3I9vYv5FppoikxE=;
 b=ggdg5e/c03ojzMzrhTZorHvjbjUglonJPzCs6MsjnMhPSsVw/P4IEUgSx3fLehy1
 jFP9eOOwiuGNuFCmUOJgXbiw3oMbRXyEsQAJ5Nbh9/9uH7M4vNNa6qMs7tfWR6I7q8g
 CfEanrkWD/Pe0u2Gk8PUyx/yZa8MzwAqpnBZ+qZA=
Received: from localhost (78-73-246-128-no600.tbcn.telia.com [78.73.246.128])
 by mx.zoho.eu with SMTPS id 1707081186394367.87136505858587;
 Sun, 4 Feb 2024 22:13:06 +0100 (CET)
References: <8734u97m79.fsf@HIDDEN>
 <CADwFkmnvG1ZWwq8b84mv+nJFgxSA3Bgd9e0-XnwGsqVbvOkckQ@HIDDEN>
 <jwvjznlji5p.fsf-monnier+emacs@HIDDEN> <87o7cwxo0k.fsf@HIDDEN>
User-agent: mu4e 1.10.5; emacs 29.2
From: Rahguzar <rahguzar@HIDDEN>
To: Philip Kaludercic <philipk@HIDDEN>
Subject: Re: bug#68915: Request to include a couple of packages in GNU ELPA
Date: Sun, 04 Feb 2024 21:57:44 +0100
In-reply-to: <87o7cwxo0k.fsf@HIDDEN>
Message-ID: <87cytc53xa.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-ZohoMailClient: External
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 68915
Cc: Stefan Monnier <monnier@HIDDEN>, 68915 <at> debbugs.gnu.org,
 Stefan Kangas <stefankangas@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hi Philip,
  Thanks again for these.

I will make most of the stylistic changes but I would like to not mix
tabs and spaces for the code I want to maintain. Other than that some
responses to your questions are below:

Philip Kaludercic <philipk@HIDDEN> writes:

> Stefan Monnier <monnier@HIDDEN> writes:
>
>>>> 2) filechooser.el: https://codeberg.org/rahguzar/filechooser
>>>> It implements the backend D-bus methods for xdg filechooser and can be
>>>> used to provide an Emacs based file selection interface for applications
>>>> such as web browsers which support using xdg desktop portals for this
>>>> purpose.
>
> I don't really understand what this package is doing, so my comments are
> more superficial, hope they are nevertheless at least a bit useful:
>
> diff --git a/filechooser.el b/filechooser.el
> index cc96386..e08f4b1 100644
> --- a/filechooser.el
> +++ b/filechooser.el
> @@ -1,26 +1,27 @@
>  ;;; filechooser.el --- An xdg-desktop-portal filechooser -*- lexical-binding: t; -*-
> -;;
> -;; Copyright (C) 2023 azeem
> -;;
> +
> +;; Copyright (C) 2023 azeem <-- is this you?
> +

Yes, sorry will change that.

>  ;; Author: rahguzar <rahguzar@HIDDEN>
>  ;; Maintainer: rahguzar <rahguzar@HIDDEN>
>  ;; Created: May 20, 2023
> -;; Modified: May 20, 2023
> +;; Modified: May 20, 2023 <-- either use time-stamp or remove this please
>  ;; Version: 0.0.1
>  ;; Keywords: convenience files tools unix
>  ;; Homepage: https://codeberg.org/rahguzar/filechooser
>  ;; Package-Requires: ((emacs "28.1") (compat "29.1"))
> -;;
> +
>  ;; This file is not part of GNU Emacs.
> -;;
> +
>  ;;; Commentary:
> -;; An implementation of xdg-desktop-portal filechooser in Emacs. This allows
> +
> +;; An implementation of xdg-desktop-portal filechooser in Emacs.  This allows
>  ;; for choosing files in applications like firefox (with GTK_USE_PORTAL set)
> -;; from an Emacs frame. The default is to use `read-file-name' for choosing
> +;; from an Emacs frame.  The default is to use `read-file-name' for choosing
>  ;; a single file and a pair of Dired buffers for choosing multiple files.
> -;;
> -;;
> +
>  ;;; Code:
> +
>  (require 'compat)
>  (require 'dbus)
>  (require 'xdg)
> @@ -49,25 +50,27 @@
>
>  (defvar filechooser-multiple-selection-map
>    (let ((map (make-sparse-keymap)))
> +    (set-keymap-parent map filechooser-mininuffer-map)
>      (define-key map (kbd "M-TAB") #'filechooser-multiple-continue)
>      (define-key map (kbd "M-RET") #'filechooser-multiple-finalize-current-selection)
>      (define-key map (kbd "M-a") #'filechooser-multiple-select-all)
> -    (make-composed-keymap map filechooser-mininuffer-map)))
> +    map))
>
>  ;;;; Custom variables
> -(defgroup filechooser nil
> +(defgroup filechooser nil		;this is a duplicate!

Is the other definition in some package? I didn't see any filechooser
group is options for `customize-group` without this package loaded.

>    "An xdg-desktop-portal filechooser."
>    :link '(url-link :tag "Homepage" "https://codeberg.org/rahguzar/filechooser")
>    :group 'files)
>
>  (defcustom filechooser-save-existing-files 'uniquify
>    "Determines behavior when attempting to save an existing file FILENAME.
> -If it is symbol `yes-or-no-p', `yes-or-no-p' is used to confirm if the file
> -should be overwritten. If it is the symbol `y-or-n-p', `y-or-n-p' is used to
> -prompt. In both cases if a the answer is negative, the file selection is started
> -again. If it is the symbol `uniquify', the FILENAME is made unique by appedning
> --N to it where N is a positive number. If it is a function, it is called with
> -FILENAME and the return value is used as the filename."
> +If it is symbol `yes-or-no-p', `yes-or-no-p' is used to confirm if the
> +file should be overwritten.  If it is the symbol `y-or-n-p', `y-or-n-p'
> +is used to prompt.  In both cases if a the answer is negative, the file
> +selection is started again.  If it is the symbol `uniquify', the
> +FILENAME is made unique by appedning -N to it where N is a positive
> +number.  If it is a function, it is called with FILENAME and the return
> +value is used as the filename."
>    :type '(choice
>            (const :tag "Uniquify" uniquify)
>            (const :tag "Prompt Yes/No" yes-or-no-p)
> @@ -80,8 +83,8 @@ If it is nil the selected frame is used instead."
>    :type 'boolean)
>
>  (defcustom filechooser-filters `(("Directories" filechooser-file-directory-p . t)
> -                              ("Elisp files" ,(rx ".el" eos))
> -                              ("Not dot files" ,(rx bos (not ?.))))
> +				 ("Elisp files" ,(rx ".el" eos))
> +				 ("Not dot files" ,(rx bos (not ?.))))
>    "An alist of (NAME FILTER . BOOL).
>  NAME should describe the filter which can either be a regexp
>  or else a predicate function which takes a filename as argument.
> @@ -89,8 +92,8 @@ If BOOL is non-nil filter is active by default otherwise it is inactive."
>    :type '(alist :key-type (string :tag "Name")
>                  :value-type
>                  (cons :tag "Value:"
> -                  (choice :tag "Filter" regexp function)
> -                  (boolean :tag "Default"))))
> +                      (choice :tag "Filter" regexp function)
> +                      (boolean :tag "Default"))))
>
>  (defcustom filechooser-choose-file #'filechooser-read-file-name
>    "Function used to choose a single file.
> @@ -114,7 +117,7 @@ It should have the same calling convention as
>    "The key that is used to exit minibuffer to do completion.
>  I.e. the key that binds the equivalent of `exit-minibuffer' for the completion
>  UI of choice: usually RET."
> -  :type 'key)
> +  :type 'key)				;this is not available for Emacs 27

Will (if (> emacs-major-version 27) 'key 'string) be fine here?

>  ;;;; Others
>  (defvar filechooser-current-operation nil
> @@ -122,12 +125,12 @@ UI of choice: usually RET."
>
>  ;;;; Internal Variables
>  (defvar filechooser--filters nil)
> -(defvar filechooser--selection (list (make-temp-file "filechooser-selection-" t)))
> +(defvar filechooser--selection (list (make-temp-file "filechooser-selection-" t))) ;do you really want to evaluate a side effect here?

This is a hack to get a default-directory I can use for a fake dired
buffer. I think it is enough to create such a directory once when the
package is loaded. I will try changing it so that the existence of this
directory is checked at the point of use and if not it is created.

>  (defvar filechooser--multiple-selection nil)
>
>  ;;; Filters
>  (defun filechooser--filters-group-fn (cand transform)
> -  "Group function for selecting filters. CAND TRANSFORM."
> +  "Group function for selecting filters.  CAND TRANSFORM." ;please document CAND and TRANSFORM

Will do.

>    (if transform
>        cand
>      (if (cdr (alist-get cand filechooser--filters nil nil #'equal))

Thanks,
Rahguzar




Information forwarded to elpa-maintainers@HIDDEN:
bug#68915; Package elpa. Full text available.

Message received at 68915 <at> debbugs.gnu.org:


Received: (at 68915) by debbugs.gnu.org; 4 Feb 2024 20:48:49 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Feb 04 15:48:48 2024
Received: from localhost ([127.0.0.1]:50088 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rWjQ0-000694-GT
	for submit <at> debbugs.gnu.org; Sun, 04 Feb 2024 15:48:48 -0500
Received: from sender11-pp-o91.zoho.eu ([31.186.226.249]:25182
 helo=sender21-mail.zoho.eu)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rahguzar@HIDDEN>) id 1rWjPw-00068Q-0S
 for 68915 <at> debbugs.gnu.org; Sun, 04 Feb 2024 15:48:47 -0500
ARC-Seal: i=1; a=rsa-sha256; t=1707079708; cv=none; d=zohomail.eu; s=zohoarc; 
 b=Q2y1z0hrNn0wcXnI/RYDyDt1KUbc7weEwO9IPg0ltIrmWgQm/7eimGm1Htqnmx6Nsdj9iBt0+gqVE31IqysPjw8fU5Ho11YcVD3tyU3YGuemSLh7dIKG6tISFAL10lnEzSgUIeltC1EEauI7c86At6SHZyg3DQprpSEBkv18qQc=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.eu;
 s=zohoarc; t=1707079708;
 h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To;
 bh=U6Im0IBwx6QI1JmMdjJiQGdOKAfOJJAh8mGelITRjII=; 
 b=EFS0NH6FSbn5czNsg9Bxefe3+MHgo3vmaDqYPpKCz/gwKSN+isyYbSfL2w0EUo/3fqzme+UNwbk2RMmGfZyD4v0CF+J8VnT6ot0/DmcbfR2/8PoqvZjIdy4acM1LLs+W+v+sV/oRk0i1fCXGNYWAaPSJMaSgWY/klOoz3x1maHU=
ARC-Authentication-Results: i=1; mx.zohomail.eu;
 dkim=pass  header.i=zohomail.eu;
 spf=pass  smtp.mailfrom=rahguzar@HIDDEN;
 dmarc=pass header.from=<rahguzar@HIDDEN>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1707079708; 
 s=zoho; d=zohomail.eu; i=rahguzar@HIDDEN;
 h=References:From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:In-reply-to:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
 bh=U6Im0IBwx6QI1JmMdjJiQGdOKAfOJJAh8mGelITRjII=;
 b=LzNwVdHvMVUe06JsdUwNUqp9m7WWHeY7cwz9VeCrGDn2tXBIDUshUaPTqHAuvCDg
 RnneUj3OWhL3fVYld9HbkG0z84XuXhvXPigYTWgDRPLvYz4Mr5wq24hwq8CqsuA8+85
 Ih12WrD6/AlzUepxc0n39IGTqqBSTNGfkce0BWlA=
Received: from localhost (78-73-246-128-no600.tbcn.telia.com [78.73.246.128])
 by mx.zoho.eu with SMTPS id 1707079707318634.3104643808028;
 Sun, 4 Feb 2024 21:48:27 +0100 (CET)
References: <8734u97m79.fsf@HIDDEN>
 <CADwFkmnvG1ZWwq8b84mv+nJFgxSA3Bgd9e0-XnwGsqVbvOkckQ@HIDDEN>
 <jwvjznlji5p.fsf-monnier+emacs@HIDDEN>
 <jwv5xz419zu.fsf-monnier+emacs@HIDDEN>
User-agent: mu4e 1.10.5; emacs 29.2
From: Rahguzar <rahguzar@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
Subject: Re: bug#68915: Request to include a couple of packages in GNU ELPA
Date: Sun, 04 Feb 2024 21:36:55 +0100
In-reply-to: <jwv5xz419zu.fsf-monnier+emacs@HIDDEN>
Message-ID: <87h6io552d.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-ZohoMailClient: External
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 68915
Cc: Philip Kaludercic <philipk@HIDDEN>,
 Stefan Kangas <stefankangas@HIDDEN>, 68915 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hi Stefan

Stefan Monnier <monnier@HIDDEN> writes:

>>>> I would like to propose a couple of my packages for inclusion in GNU
>>>> ELPA. They are:
>>>>
>>>> 1) consult-hoogle: https://codeberg.org/rahguzar/consult-hoogle
>>>> It allows the use of hoogle search engine for haskell programming
>>>> language from Emacs using the interfaces provided by consult package.
>>>>
>>>> 2) filechooser.el: https://codeberg.org/rahguzar/filechooser
>>>> It implements the backend D-bus methods for xdg filechooser and can be
>>>> used to provide an Emacs based file selection interface for applicatio=
ns
>>>> such as web browsers which support using xdg desktop portals for this
>>>> purpose.
>
> Thanks, added.

Thanks a lot! I think I need to change the version header before they
appear on ELPA? I will deal with feedback here before doing that.

> For both of those packages, it'd be nice to add a `.gitignore` with
> something like:
>
>     *.elc
>
>     # ELPA-generated files
>     /consult-hoogle-autoloads.el
>     /consult-hoogle-pkg.el
>
> For `consult-hoogle` I suggest you add a `.elpaignore` so as to prevent
> the large PNG files to make their way into the tarball, since they're so
> much larger than the rest of the package and they're not really useful
> in `~/.emacs.d/elpa`.

I will add the `.elpaignore` file.

> For `filechooser.el`, I see you bumped into the fact that `bytecomp.el`
> doesn't keep track of those functions defined within a `let`, so you
> refrained from using #' to refer to those functions.

Yes, I find that style quite nice and defvars for localized state feel
wrong but I have mostly come around to that and stopped using top level
let. Maybe a variable for that state is the easiest thing to do.

> The better solution is to send a patch for `bytecomp.el`, of course, but
> in this specific case you could workaround the problem with something
> like the (guaranteed 100% untested) patch below.  It's not very pretty,
> so I recommend you look into that `bytecomp.el` patch =F0=9F=99=82.

That will probably require some CS education :) I am not a coder by
trade rather an aspiring academic in another field.

>         Stefan
>




Information forwarded to elpa-maintainers@HIDDEN:
bug#68915; Package elpa. Full text available.

Message received at 68915 <at> debbugs.gnu.org:


Received: (at 68915) by debbugs.gnu.org; 4 Feb 2024 20:34:24 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Feb 04 15:34:24 2024
Received: from localhost ([127.0.0.1]:50084 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rWjC3-0005iS-D2
	for submit <at> debbugs.gnu.org; Sun, 04 Feb 2024 15:34:24 -0500
Received: from sender11-pp-o91.zoho.eu ([31.186.226.249]:25153
 helo=sender21-mail.zoho.eu)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rahguzar@HIDDEN>) id 1rWjC0-0005iH-Je
 for 68915 <at> debbugs.gnu.org; Sun, 04 Feb 2024 15:34:22 -0500
ARC-Seal: i=1; a=rsa-sha256; t=1707078845; cv=none; d=zohomail.eu; s=zohoarc; 
 b=KQ46ck5jCLOLZooS5QOo6US9XEoBJVKow+1eA+uGuVyqzTi4/38Ec/MrkUcOOUPFYdrOaZ2vmPPHQuy8T07qwwl+t67pB3S02neLNGe5BOJaE4r9phgMMQyUyOf6jfNvnGBI3BHr2gnhFpW5oMml9lGKs9p63yi8wHouPXMj9Ag=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.eu;
 s=zohoarc; t=1707078845;
 h=Content-Type:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To;
 bh=qIbL706/b+CEVMo9ERzWMQDh9F0SBG+eBWRjtYVP0bg=; 
 b=fm7nN5EwTeOdDSrZ43G0b1HO4mqAIPOYlOUi8uqmhaycHOY76DFa23F8WfpV+b1mMB2mrS5DHuhw5uQfQOTmn60/mpLMr8uketPsIu2Eg06j5dII9RhtH3t+6NdnCJOC516EY4t+O01wcVqTv1MOxMegi+ShRizQcXtMdzS3t4M=
ARC-Authentication-Results: i=1; mx.zohomail.eu;
 dkim=pass  header.i=zohomail.eu;
 spf=pass  smtp.mailfrom=rahguzar@HIDDEN;
 dmarc=pass header.from=<rahguzar@HIDDEN>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1707078845; 
 s=zoho; d=zohomail.eu; i=rahguzar@HIDDEN;
 h=References:From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:In-reply-to:Message-ID:MIME-Version:Content-Type:Message-Id:Reply-To;
 bh=qIbL706/b+CEVMo9ERzWMQDh9F0SBG+eBWRjtYVP0bg=;
 b=aPHyj0aQYzaRJ7saSA5Wmkl1tTWQNIsm4Dh7gXASwtWW+RHb4i2NRqujQ+yQ7lL2
 AjBv3fkAHilZaZvw8LdR6m6hWWBWhxijlWHJkTSv7tKVdMw6K+iAx4BnRX0lacBuCSp
 0EbIT2yBR32QdEdFHyzojEw4qQwV2GU6vS9Jovc4=
Received: from localhost (78-73-246-128-no600.tbcn.telia.com [78.73.246.128])
 by mx.zoho.eu with SMTPS id 1707078844335207.26134436980635;
 Sun, 4 Feb 2024 21:34:04 +0100 (CET)
References: <8734u97m79.fsf@HIDDEN>
 <CADwFkmnvG1ZWwq8b84mv+nJFgxSA3Bgd9e0-XnwGsqVbvOkckQ@HIDDEN>
 <jwvjznlji5p.fsf-monnier+emacs@HIDDEN> <87r0hsxoy4.fsf@HIDDEN>
User-agent: mu4e 1.10.5; emacs 29.2
From: Rahguzar <rahguzar@HIDDEN>
To: Philip Kaludercic <philipk@HIDDEN>
Subject: Re: bug#68915: Request to include a couple of packages in GNU ELPA
Date: Sun, 04 Feb 2024 20:48:19 +0100
In-reply-to: <87r0hsxoy4.fsf@HIDDEN>
Message-ID: <87le8055qc.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-ZohoMailClient: External
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 68915
Cc: Stefan Monnier <monnier@HIDDEN>, 68915 <at> debbugs.gnu.org,
 Stefan Kangas <stefankangas@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hi Philip,
Thanks a lot for the comments. I will make some code change but this
email is to discuss some of the points:

Philip Kaludercic <philipk@HIDDEN> writes:

> @@ -26,17 +27,17 @@
>  (defcustom consult-hoogle-args
>    '("hoogle" . ("search" "--jsonl" "-q" "--count=250"))
>    "The hoogle invocation used to get results.
> -It is should be a cons (COMMAND . ARGS). COMMAND should be valid executable.
> +It is should be a cons (COMMAND . ARGS).  COMMAND should be valid executable.
>  It is called arguments ARGS with the search query appended.  It should produce
>  search results in JSON lines format."
>    :type '(cons (string :tag "Hoogle command")
>                 (repeat :tag "Args for hoogle" string))
> -  :group 'consult)
> +  :group 'consult)			;wouldn't it be better to define your own group?

I can define a new group but there are only two custom variables. I
think this makes sense in light of your comments to reduce coupling with
consult (which I agree with) so I will do it. OTOH I am bit hesitant to
proliferate too many groups with not many options.

> @@ -52,6 +53,9 @@ default it uses `cabal-hoogle' https://github.com/kokobd/cabal-hoogle ."

>  (defvar consult-hoogle-map
>    (let ((map (make-sparse-keymap)))
> +    ;; if this is building on consult, can you rebind some keys
> +    ;; instead of hard-coding key chords that the user might have
> +    ;; modified?
>      (define-key map (kbd "M-i") #'consult-hoogle-browse-item)
>      (define-key map (kbd "M-j") #'consult-hoogle-browse-package)
>      (define-key map (kbd "M-m") #'consult-hoogle-browse-module)

I don't know which keys to rebind in this case since these commands have
no general analogue. The map was my means of allowing users to override
the bindings without too much hassle. I would also like to solicit some
suggestions for better bindings. I normally use evil so if you or
someone has suggestions for bindings that mesh better with default ones,
I will gladly change these.

> @@ -80,7 +84,7 @@ default it uses `cabal-hoogle' https://github.com/kokobd/cabal-hoogle ."
>    "Fontify TEXT, returning the fontified text.
>  This is adapted from `haskell-fontify-as-mode' but for better performance
>  we use the same buffer throughout."
> -  (with-current-buffer " *Hoogle Fontification*"
> +  (with-current-buffer " *Hoogle Fontification*" ;why not use a temporary buffer?

'haskell-mode' can be slow and with preview and vertical completion UIs
the temporary buffer will be created many many times. I started with
that and changed to this approach since there were noticeable pauses.

>      (erase-buffer)
>      (insert text)
>      (font-lock-ensure)
> @@ -217,7 +221,7 @@ STATE is the optional state function passed to the `consult--read'."
>    (let ((consult-async-min-input 0)
>          (fun (or action (lambda (alist) (consult-hoogle--browse-url 'item alist)))))
>      (with-current-buffer (get-buffer-create " *Hoogle Fontification*" t)
> -      (let (haskell-mode-hook)
> +      (let (haskell-mode-hook)		;do you always want this?

I think so, real haskell-mode buffer can have a lot of hooks (like lsp
related ones). OTOH some of them might affect fontification. I think a
separate hook containing a whitelist makes sense but I would rather wait
for someone to complain before adding it.

>          (haskell-mode)))
>      (unwind-protect
>          (funcall fun (consult--read
> @@ -242,11 +246,11 @@ STATE is the optional state function passed to the `consult--read'."
>  (defun consult-hoogle (arg)
>    "Search the local hoogle database.
>  By default this shows the documentation for the current candidate in a side
> -window. This can be disabled by a prefix ARG."
> +window.  This can be disabled by a prefix ARG."
>    (interactive (list current-prefix-arg))
>    (if arg (consult-hoogle--search)
>      (let* ((buf (get-buffer-create " *Hoogle Documentation*" t))
> -           (height (if (bound-and-true-p vertico-count)
> +           (height (if (bound-and-true-p vertico-count) ;can this support icomplete as well?

This is indeed hack and I am more inclined to remove it and make the
height a custom variable. Another route would be to make the display
action a custom variable. What do you think?

>                         vertico-count
>                       10))
>             (window (display-buffer buf
> @@ -267,7 +271,7 @@ By default uses cabal-hoogle and the database should have been generated
>  by running `cabal-hoogle generate'.  `consult-hoogle-project-args' can be
>  customized to configure an alternate command.
>  By default this shows the documentation for the current candidate in a side
> -window. This can be disabled by a prefix ARG."
> +window.  This can be disabled by a prefix ARG."
>    (interactive (list current-prefix-arg))
>    (let ((consult-hoogle-args consult-hoogle-project-args)
>          (default-directory (haskell-cabal-find-dir)))
> @@ -300,13 +304,15 @@ window. This can be disabled by a prefix ARG."
>      (scroll-up arg)))
>
>  (defun consult-hoogle-restrict-to-package (package &optional arg)
> -  "Restrict the search to PACKAGE. With prefix ARG exluce package from search."
> +  "Restrict the search to PACKAGE.
> +With prefix ARG exluce package from search."
>    (interactive (list (consult-hoogle--get 'package) current-prefix-arg))
>    (when package
>      (consult-hoogle--add-to-input (if arg "-" "+") (downcase package))))
>
>  (defun consult-hoogle-restrict-to-module (module &optional arg)
> -  "Restrict the search to MODULE. With prefix ARG exluce module from search."
> +  "Restrict the search to MODULE.
> +With prefix ARG exluce module from search."
>    (interactive (list (consult-hoogle--get 'module) current-prefix-arg))
>    (when module (consult-hoogle--add-to-input (if arg "-" "+") module)))
>
> @@ -319,8 +325,7 @@ If called with numeric prefix LEVEL only use first ARG levels of module."
>      (consult-hoogle--add-to-input
>       (if (> level 0) "+" "-")
>       (progn
> -       (string-match (rx-to-string
> -                      `(: bos (= ,(abs level) (: (1+ (not ".")) (?? ".")))))
> +       (string-match (rx bos (= ,(literal (abs level)) (: (1+ (not ".")) (?? "."))))
>                       module)

I think this is not a valid rx form. Literal can only be a literal
string to match and in (= N rx) N can only be a literal positive integer.

>         (match-string 0 module)))))
>
> @@ -333,22 +338,21 @@ If called with numeric prefix LEVEL only use last ARG levels of module."
>      (consult-hoogle--add-to-input
>       (if (> level 0) "+" "-")
>       (progn
> -       (string-match (rx-to-string
> -                      `(: (= ,(abs level) (: (1+ (not ".")) (?? "."))) eos))
> +       (string-match (rx (= (literal (abs level)) (: (1+ (not ".")) (?? "."))) eos)
>                       module)
>         (match-string 0 module)))))
>
>  (defun consult-hoogle-clear-restrictions (arg)
>    "Clear all restrictions and exclusions on the search.
> -With positive prefix ARG only clear restrictions. With negative prefix
> +With positive prefix ARG only clear restrictions.  With negative prefix
>  only clear exclusions."
>    (interactive (list (when current-prefix-arg
>                         (prefix-numeric-value current-prefix-arg))))
> -  (let* ((restriction-rx (rx-to-string `(: ,(if (not arg)
> -                                                '(or "+" "-")
> -                                              (if (> arg 0) "+" "-"))
> -                                         (0+ (not space))
> -                                         (or (1+ space) eos)))))
> +  (let* ((restriction-rx (rx
> +			  (literal (if (not arg)
> +                                       '(or "+" "-")
> +                                     (if (> arg 0) "+" "-")))
> +			  (0+ (not space)))))

Here too I think literal in rx can't handle arbitrary lisp expressions.

>      (consult-hoogle--modify-async-input
>       (lambda (match) (replace-regexp-in-string restriction-rx "" match)))))
>
>
>
> Also, it would be nice to have a .elpaignore file in your repository to
> avoid bundling the bitmap images from your repository with the tarballs.

I will look up the format and add the file.

> Generally speaking, how tightly integrated is this into consult, and can
> you imaging generalising this for all users?  Having a dependency on a
> UI component seems like a backwards thing to do.

I think it is not too tightly integrated. If there is another easy
way to define an async completion table (i.e. candidates can arrive in
batches) adapting to it would be fairly easy. However there is no UI
independent way of doing this that I know. In this case I wouldn't call
consult a UI component, it rather provides means for me not to deal with
different UI's directly. If you have suggestions in this area, I can
try.

Previews are also provided by a consult protocol but adapting them to a
different protocol wouldn't be too difficult.

These two aspects only concern a small amount of code but they are very
important for a good experience.

Rahguzar




Information forwarded to elpa-maintainers@HIDDEN:
bug#68915; Package elpa. Full text available.

Message received at 68915 <at> debbugs.gnu.org:


Received: (at 68915) by debbugs.gnu.org; 4 Feb 2024 16:24:31 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Feb 04 11:24:31 2024
Received: from localhost ([127.0.0.1]:49892 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rWfID-0007bS-AQ
	for submit <at> debbugs.gnu.org; Sun, 04 Feb 2024 11:24:31 -0500
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:31828)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1rWfI7-0007b8-OM
 for 68915 <at> debbugs.gnu.org; Sun, 04 Feb 2024 11:24:28 -0500
Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 198C1441498;
 Sun,  4 Feb 2024 11:24:05 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1707063843;
 bh=GA5c6n4fHYd+4kN6hSZvPHKPfyMRqYSOT7NOGa0DbUk=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=izu5fdrAtqEOTfWqngLNQWO3gq2NVvWs+TH8MrWi2P5Y5neUYrKc9MNvdXL6QQ9or
 39OB5G/T57Uz+ICZiiHpF901FltiJMOPmpEL8mjqW2fuEKuHQ3HEJLoqDDvlqJwI33
 vIIKqvv5fo+yokWzzo/sLwoWBRvO8J+zDu6cU3wakhz2Yk6ojrZtC8oW9r3UJJ74Rb
 3xndubLFQ/L/sF8/sdOIy68ahUq98xrmFD+JN2ujJsBsI4kv3cfXWnvR5a4nbb5Vfi
 lCQXAAVhGqtSWwe/N/YG/DG4bNVDZewJgQlpY0frr9n/a/gLbD5mwh8x7Om6QQd6lJ
 JfeT57g8KVgrw==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 5CEAF441466;
 Sun,  4 Feb 2024 11:24:03 -0500 (EST)
Received: from pastel (69-165-153-17.dsl.teksavvy.com [69.165.153.17])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 2EB4012023B;
 Sun,  4 Feb 2024 11:24:03 -0500 (EST)
From: Stefan Monnier <monnier@HIDDEN>
To: 68915 <at> debbugs.gnu.org
Subject: Re: bug#68915: Request to include a couple of packages in GNU ELPA
In-Reply-To: <jwvjznlji5p.fsf-monnier+emacs@HIDDEN> (Stefan Monnier's message
 of "Sat, 03 Feb 2024 17:31:29 -0500")
Message-ID: <jwv5xz419zu.fsf-monnier+emacs@HIDDEN>
References: <8734u97m79.fsf@HIDDEN>
 <CADwFkmnvG1ZWwq8b84mv+nJFgxSA3Bgd9e0-XnwGsqVbvOkckQ@HIDDEN>
 <jwvjznlji5p.fsf-monnier+emacs@HIDDEN>
Date: Sun, 04 Feb 2024 11:24:01 -0500
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.218 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain POISEN_SPAM_PILL          0.1 Meta: its spam
 POISEN_SPAM_PILL_1        0.1 random spam to be learned in bayes
 POISEN_SPAM_PILL_3        0.1 random spam to be learned in bayes
 T_SCC_BODY_TEXT_LINE    -0.01 -
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 68915
Cc: Rahguzar <rahguzar@HIDDEN>, Philip Kaludercic <philipk@HIDDEN>,
 Stefan Kangas <stefankangas@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

>>> I would like to propose a couple of my packages for inclusion in GNU
>>> ELPA. They are:
>>>
>>> 1) consult-hoogle: https://codeberg.org/rahguzar/consult-hoogle
>>> It allows the use of hoogle search engine for haskell programming
>>> language from Emacs using the interfaces provided by consult package.
>>>
>>> 2) filechooser.el: https://codeberg.org/rahguzar/filechooser
>>> It implements the backend D-bus methods for xdg filechooser and can be
>>> used to provide an Emacs based file selection interface for applications
>>> such as web browsers which support using xdg desktop portals for this
>>> purpose.

Thanks, added.

>>> Please let me know of any suggestions and if I need to change anything.

For both of those packages, it'd be nice to add a `.gitignore` with
something like:

    *.elc
=20=20=20=20
    # ELPA-generated files
    /consult-hoogle-autoloads.el
    /consult-hoogle-pkg.el

For `consult-hoogle` I suggest you add a `.elpaignore` so as to prevent
the large PNG files to make their way into the tarball, since they're so
much larger than the rest of the package and they're not really useful
in `~/.emacs.d/elpa`.

For `filechooser.el`, I see you bumped into the fact that `bytecomp.el`
doesn't keep track of those functions defined within a `let`, so you
refrained from using #' to refer to those functions.

The better solution is to send a patch for `bytecomp.el`, of course, but
in this specific case you could workaround the problem with something
like the (guaranteed 100% untested) patch below.  It's not very pretty,
so I recommend you look into that `bytecomp.el` patch =F0=9F=99=82.


        Stefan


diff --git a/filechooser.el b/filechooser.el
index cc96386112..7df375807c 100644
--- a/filechooser.el
+++ b/filechooser.el
@@ -417,21 +417,23 @@ is used, othewise the selected frame is used. PROMPT =
and DIR are as in
         names))))
=20
 ;;; Dired based selection
-(let (marked unmarked timer)
-  (defun filechooser--adjust-selection-buffer ()
-    (when (buffer-live-p (cdr filechooser--selection))
-      (with-current-buffer (cdr filechooser--selection)
-        (cl-callf cl-set-difference (cdr dired-directory) unmarked :test #=
'equal)
-        (when marked
-          (cl-callf nreverse (cdr dired-directory))
-          (dolist (file marked)
-            (cl-pushnew file (cdr dired-directory) :test #'equal))
-          (cl-callf nreverse (cdr dired-directory)))
-        (revert-buffer)))
-    (setq marked nil unmarked nil timer nil))
-
-  (defun filechooser--process-changed-marks (beg end length)
-    "Deal with change in mark from BEG to END with LENGTH."
+(defalias 'filechooser--process-changed-marks
+  (let (marked unmarked timer)
+    (lambda (beg end length)
+      "Deal with change in mark from BEG to END with LENGTH."
+      (cl-flet
+          ((adjust-selection-buffer ()
+             (when (buffer-live-p (cdr filechooser--selection))
+               (with-current-buffer (cdr filechooser--selection)
+                 (cl-callf cl-set-difference (cdr dired-directory) unmarke=
d :test #'equal)
+                 (when marked
+                   (cl-callf nreverse (cdr dired-directory))
+                   (dolist (file marked)
+                     (cl-pushnew file (cdr dired-directory) :test #'equal))
+                   (cl-callf nreverse (cdr dired-directory)))
+                 (revert-buffer)))
+             (setq marked nil unmarked nil timer nil)))
+
     (when (and (derived-mode-p 'dired-mode)
                (eq length 0) (eq (1+ beg) end)
                (not (invisible-p (1- (pos-eol)))))
@@ -444,7 +446,7 @@ is used, othewise the selected frame is used. PROMPT an=
d DIR are as in
           (push (dired-get-filename nil t) unmarked))
         (unless timer
           (setq timer (run-with-timer
-                       0.2 nil 'filechooser--adjust-selection-buffer)))))))
+                       0.2 nil #'adjust-selection-buffer)))))))))
=20
 (defun filechooser-dired (&optional dir filters)
   "Select some files using Dired.
@@ -474,7 +476,7 @@ editing session. FILTERS are in the format of `filechoo=
ser-filters'."
                  (jit-lock-mode t))
                (push overriding-map emulation-mode-map-alists)
                (add-hook 'window-buffer-change-functions apply-filters)
-               (add-hook 'after-change-functions 'filechooser--process-cha=
nged-marks)
+               (add-hook 'after-change-functions #'filechooser--process-ch=
anged-marks)
                (setq filechooser--filters (append filechooser-filters filt=
ers))
                (other-window 1)
                (dired (or dir default-directory))
@@ -484,7 +486,7 @@ editing session. FILTERS are in the format of `filechoo=
ser-filters'."
                    (cdr dired-directory))))
       (cl-callf2 delq overriding-map emulation-mode-map-alists)
       (remove-hook 'window-buffer-change-functions apply-filters)
-      (remove-hook 'after-change-functions 'filechooser--process-changed-m=
arks)
+      (remove-hook 'after-change-functions #'filechooser--process-changed-=
marks)
       (kill-buffer (cdr filechooser--selection))
       (setcdr filechooser--selection nil)
       (dolist (buf (match-buffers `(derived-mode . dired-mode) (frame-para=
meter nil 'buffer-list)))





Information forwarded to elpa-maintainers@HIDDEN:
bug#68915; Package elpa. Full text available.

Message received at 68915 <at> debbugs.gnu.org:


Received: (at 68915) by debbugs.gnu.org; 4 Feb 2024 15:12:07 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Feb 04 10:12:07 2024
Received: from localhost ([127.0.0.1]:49837 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rWeAA-0002oR-ON
	for submit <at> debbugs.gnu.org; Sun, 04 Feb 2024 10:12:07 -0500
Received: from mout01.posteo.de ([185.67.36.65]:43459)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <philipk@HIDDEN>) id 1rWeA7-0002nq-RY
 for 68915 <at> debbugs.gnu.org; Sun, 04 Feb 2024 10:12:05 -0500
Received: from submission (posteo.de [185.67.36.169]) 
 by mout01.posteo.de (Postfix) with ESMTPS id 73C8B240029
 for <68915 <at> debbugs.gnu.org>; Sun,  4 Feb 2024 16:11:45 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017;
 t=1707059505; bh=J4wKjOdlGl3QsiVMWj+EfTnp8ukV6p/aiXxodMeQDtI=;
 h=From:To:Cc:Subject:Autocrypt:Date:Message-ID:MIME-Version:
 Content-Type:From;
 b=N0W0ZvaINkH5wH5Bu5asjx39dhUwZ+AVJwEog2PZBmi/3his0Ay6kASL3MZ+eWf5o
 krsZQL8GcZLJVCAjYEn4Qv99DvuO8TjwOkKTTr89/tW7NexvpeozWHXZ2QLvSn6V2q
 kTQsTJwciMD10O3rgYR/qmEBVD4LXibTNgMMkxAA0QZxaMNbBgTshOigPIDiJUyPTL
 KgHCL6gAo0lnwMKwgmC1848B4Ul+9EWICOaQT1g0t9WJHeQbNY9oIqXmo48Y+92Em6
 c4bLuqaHAZyTr3bUbcarbv1RoJczp/6zl6veoKkJT1B8CT/XxmUiFD3kfRvoOXKk3Z
 YMdN1fqlBv08Q==
Received: from customer (localhost [127.0.0.1])
 by submission (posteo.de) with ESMTPSA id 4TSXzN1wcBz6tw3;
 Sun,  4 Feb 2024 16:11:44 +0100 (CET)
From: Philip Kaludercic <philipk@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
Subject: Re: bug#68915: Request to include a couple of packages in GNU ELPA
In-Reply-To: <jwvjznlji5p.fsf-monnier+emacs@HIDDEN> (Stefan Monnier's message
 of "Sat, 03 Feb 2024 17:31:29 -0500")
References: <8734u97m79.fsf@HIDDEN>
 <CADwFkmnvG1ZWwq8b84mv+nJFgxSA3Bgd9e0-XnwGsqVbvOkckQ@HIDDEN>
 <jwvjznlji5p.fsf-monnier+emacs@HIDDEN>
X-Hashcash: 1:20:240204:68915 <at> debbugs.gnu.org::z9uFokfZ1tOj6ugy:Wg7
X-Hashcash: 1:20:240204:rahguzar@HIDDEN::23CvwZ2nTqnVTTOB:12cQ
X-Hashcash: 1:20:240204:monnier@HIDDEN::30nknIMIbhXJli/n:0KnH
X-Hashcash: 1:20:240204:stefankangas@HIDDEN::G7N42LmxuJTHNWHd:0Bni
Autocrypt: addr=philipk@HIDDEN; keydata=
 mDMEZBBQQhYJKwYBBAHaRw8BAQdAHJuofBrfqFh12uQu0Yi7mrl525F28eTmwUDflFNmdui0QlBo
 aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0
 ZW8ubmV0PoiWBBMWCAA+FiEEDg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwMFCQHhM4AFCwkI
 BwIGFQoJCAsCBBYCAwECHgECF4AACgkQ8xYDWXahwulikAEA77hloUiSrXgFkUVJhlKBpLCHUjA0
 mWZ9j9w5d08+jVwBAK6c4iGP7j+/PhbkxaEKa4V3MzIl7zJkcNNjHCXmvFcEuDgEZBBQQhIKKwYB
 BAGXVQEFAQEHQI5NLiLRjZy3OfSt1dhCmFyn+fN/QKELUYQetiaoe+MMAwEIB4h+BBgWCAAmFiEE
 Dg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwwFCQHhM4AACgkQ8xYDWXahwukm+wEA8cml4JpK
 NeAu65rg+auKrPOP6TP/4YWRCTIvuYDm0joBALw98AMz7/qMHvSCeU/hw9PL6u6R2EScxtpKnWof
 z4oM
Date: Sun, 04 Feb 2024 15:11:39 +0000
Message-ID: <87o7cwxo0k.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 68915
Cc: Rahguzar <rahguzar@HIDDEN>, Stefan Kangas <stefankangas@HIDDEN>,
 68915 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

--=-=-=
Content-Type: text/plain

Stefan Monnier <monnier@HIDDEN> writes:

>>> 2) filechooser.el: https://codeberg.org/rahguzar/filechooser
>>> It implements the backend D-bus methods for xdg filechooser and can be
>>> used to provide an Emacs based file selection interface for applications
>>> such as web browsers which support using xdg desktop portals for this
>>> purpose.

I don't really understand what this package is doing, so my comments are
more superficial, hope they are nevertheless at least a bit useful:


--=-=-=
Content-Type: text/plain
Content-Disposition: inline

diff --git a/filechooser.el b/filechooser.el
index cc96386..e08f4b1 100644
--- a/filechooser.el
+++ b/filechooser.el
@@ -1,26 +1,27 @@
 ;;; filechooser.el --- An xdg-desktop-portal filechooser -*- lexical-binding: t; -*-
-;;
-;; Copyright (C) 2023 azeem
-;;
+
+;; Copyright (C) 2023 azeem <-- is this you?
+
 ;; Author: rahguzar <rahguzar@HIDDEN>
 ;; Maintainer: rahguzar <rahguzar@HIDDEN>
 ;; Created: May 20, 2023
-;; Modified: May 20, 2023
+;; Modified: May 20, 2023 <-- either use time-stamp or remove this please
 ;; Version: 0.0.1
 ;; Keywords: convenience files tools unix
 ;; Homepage: https://codeberg.org/rahguzar/filechooser
 ;; Package-Requires: ((emacs "28.1") (compat "29.1"))
-;;
+
 ;; This file is not part of GNU Emacs.
-;;
+
 ;;; Commentary:
-;; An implementation of xdg-desktop-portal filechooser in Emacs. This allows
+
+;; An implementation of xdg-desktop-portal filechooser in Emacs.  This allows
 ;; for choosing files in applications like firefox (with GTK_USE_PORTAL set)
-;; from an Emacs frame. The default is to use `read-file-name' for choosing
+;; from an Emacs frame.  The default is to use `read-file-name' for choosing
 ;; a single file and a pair of Dired buffers for choosing multiple files.
-;;
-;;
+
 ;;; Code:
+
 (require 'compat)
 (require 'dbus)
 (require 'xdg)
@@ -49,25 +50,27 @@
 
 (defvar filechooser-multiple-selection-map
   (let ((map (make-sparse-keymap)))
+    (set-keymap-parent map filechooser-mininuffer-map)
     (define-key map (kbd "M-TAB") #'filechooser-multiple-continue)
     (define-key map (kbd "M-RET") #'filechooser-multiple-finalize-current-selection)
     (define-key map (kbd "M-a") #'filechooser-multiple-select-all)
-    (make-composed-keymap map filechooser-mininuffer-map)))
+    map))
 
 ;;;; Custom variables
-(defgroup filechooser nil
+(defgroup filechooser nil		;this is a duplicate!
   "An xdg-desktop-portal filechooser."
   :link '(url-link :tag "Homepage" "https://codeberg.org/rahguzar/filechooser")
   :group 'files)
 
 (defcustom filechooser-save-existing-files 'uniquify
   "Determines behavior when attempting to save an existing file FILENAME.
-If it is symbol `yes-or-no-p', `yes-or-no-p' is used to confirm if the file
-should be overwritten. If it is the symbol `y-or-n-p', `y-or-n-p' is used to
-prompt. In both cases if a the answer is negative, the file selection is started
-again. If it is the symbol `uniquify', the FILENAME is made unique by appedning
--N to it where N is a positive number. If it is a function, it is called with
-FILENAME and the return value is used as the filename."
+If it is symbol `yes-or-no-p', `yes-or-no-p' is used to confirm if the
+file should be overwritten.  If it is the symbol `y-or-n-p', `y-or-n-p'
+is used to prompt.  In both cases if a the answer is negative, the file
+selection is started again.  If it is the symbol `uniquify', the
+FILENAME is made unique by appedning -N to it where N is a positive
+number.  If it is a function, it is called with FILENAME and the return
+value is used as the filename."
   :type '(choice
           (const :tag "Uniquify" uniquify)
           (const :tag "Prompt Yes/No" yes-or-no-p)
@@ -80,8 +83,8 @@ If it is nil the selected frame is used instead."
   :type 'boolean)
 
 (defcustom filechooser-filters `(("Directories" filechooser-file-directory-p . t)
-                              ("Elisp files" ,(rx ".el" eos))
-                              ("Not dot files" ,(rx bos (not ?.))))
+				 ("Elisp files" ,(rx ".el" eos))
+				 ("Not dot files" ,(rx bos (not ?.))))
   "An alist of (NAME FILTER . BOOL).
 NAME should describe the filter which can either be a regexp
 or else a predicate function which takes a filename as argument.
@@ -89,8 +92,8 @@ If BOOL is non-nil filter is active by default otherwise it is inactive."
   :type '(alist :key-type (string :tag "Name")
                 :value-type
                 (cons :tag "Value:"
-                  (choice :tag "Filter" regexp function)
-                  (boolean :tag "Default"))))
+                      (choice :tag "Filter" regexp function)
+                      (boolean :tag "Default"))))
 
 (defcustom filechooser-choose-file #'filechooser-read-file-name
   "Function used to choose a single file.
@@ -114,7 +117,7 @@ It should have the same calling convention as
   "The key that is used to exit minibuffer to do completion.
 I.e. the key that binds the equivalent of `exit-minibuffer' for the completion
 UI of choice: usually RET."
-  :type 'key)
+  :type 'key)				;this is not available for Emacs 27
 
 ;;;; Others
 (defvar filechooser-current-operation nil
@@ -122,12 +125,12 @@ UI of choice: usually RET."
 
 ;;;; Internal Variables
 (defvar filechooser--filters nil)
-(defvar filechooser--selection (list (make-temp-file "filechooser-selection-" t)))
+(defvar filechooser--selection (list (make-temp-file "filechooser-selection-" t))) ;do you really want to evaluate a side effect here?
 (defvar filechooser--multiple-selection nil)
 
 ;;; Filters
 (defun filechooser--filters-group-fn (cand transform)
-  "Group function for selecting filters. CAND TRANSFORM."
+  "Group function for selecting filters.  CAND TRANSFORM." ;please document CAND and TRANSFORM
   (if transform
       cand
     (if (cdr (alist-get cand filechooser--filters nil nil #'equal))
@@ -136,9 +139,9 @@ UI of choice: usually RET."
 
 (defun filechooser-file-directory-p (name)
   "Return non-nil if NAME is an existing directory."
-    (file-directory-p (if (derived-mode-p 'dired-mode)
-                          (expand-file-name name (dired-current-directory))
-                        name)))
+  (file-directory-p (if (derived-mode-p 'dired-mode)
+                        (expand-file-name name (dired-current-directory))
+                      name)))
 
 (defun filechooser-toggle-filter (arg)
   "Toggle a filter.
@@ -170,13 +173,12 @@ With prefix ARG toggle multiple filters using `completing-read-multiple'."
         (current (caar (alist-get "current_filter" opts nil nil #'equal)))
         (regex-filters)
         (glob-to-regexp (lambda (cell) (if (eq  0 (car cell))
-                                      `(regexp ,(dired-glob-regexp (nth 1 cell)))
-                                    ""))))
+					   `(regexp ,(dired-glob-regexp (nth 1 cell)))
+					 ""))))
     (unless (alist-get (car current) filters nil nil #'equal)
       (when current (push current filters)))
     (pcase-dolist (`(,name ,globs) filters)
-      (push (list name
-                  (rx-to-string `(or ,@(mapcar glob-to-regexp globs))))
+      (push (list name (mapconcat #'wildcard-to-regexp "\\|" globs))
             regex-filters))
     (when (and current (not (caar (alist-get "directory" opts nil nil #'equal))))
       (cl-callf not (cdr (alist-get (car current) regex-filters nil nil #'equal))))
@@ -187,9 +189,12 @@ With prefix ARG toggle multiple filters using `completing-read-multiple'."
   (lambda (name)
     (catch 'match
       (dolist (filter filters)
-        (when (if (stringp filter)
-                  (string-match filter name)
-                (funcall filter name))
+        (when (cond
+	       ((stringp filter)
+                (string-match filter name)) ;or string-match-p?
+               ((functionp filter)
+		(funcall filter name))
+	       ((error "Unknown filter %S" filter)))
           (throw 'match t))))))
 
 ;;; Utility definitions
@@ -199,18 +204,18 @@ MINIBUFFER is the value of minibuffer frame paramter."
   (declare (indent 1))
   (let ((framevar (make-symbol "frame")))
     `(let ((minibuffer-completing-file-name ,(eq minibuffer 'only)))
-      (if filechooser-use-popup-frame
-         (let ((,framevar (make-frame '((name . ,(if (eq minibuffer 'only)
-                                                     "filechooser-miniframe"
-                                                   "filechooser-frame"))
-                                        (minibuffer . ,minibuffer)))))
-           (unwind-protect
-               (with-demoted-errors "%S"
-                 (with-selected-frame ,framevar
-                   ,@body))
-             (delete-frame ,framevar 'force)))
-       (with-demoted-errors "%S"
-         ,@body)))))
+       (if filechooser-use-popup-frame
+           (let ((,framevar (make-frame '((name . ,(if (eq minibuffer 'only)
+                                                       "filechooser-miniframe"
+                                                     "filechooser-frame"))
+                                          (minibuffer . ,minibuffer)))))
+             (unwind-protect
+		 (with-demoted-errors "%S"
+                   (with-selected-frame ,framevar
+                     ,@body))
+               (delete-frame ,framevar 'force)))
+	 (with-demoted-errors "%S"
+           ,@body)))))
 
 (defun filechooser-abort ()
   "Abort the file selection."
@@ -244,7 +249,7 @@ See Info node `(elisp) Programmed Completion' for STR, PRED and ACTION."
   (pcase action
     ('t (let ((dir (or (file-name-directory str) default-directory)))
           (cl-callf2 mapcar (lambda (sel) (cons (car sel)
-                                           (file-relative-name (car sel) dir)))
+						(file-relative-name (car sel) dir)))
                      filechooser--multiple-selection)
           (append (mapcar #'cdr filechooser--multiple-selection)
                   (completion-file-name-table str pred t))))
@@ -255,12 +260,12 @@ See Info node `(elisp) Programmed Completion' for STR, PRED and ACTION."
 
 (defun filechooser--read-file-name-1 (prompt &optional mustmatch filters dir default)
   "Read a filename with PROMPT and predicate made from FILTERS.
-MUSTMATCH and DIR are as in `read-file-name'. DEFAULT is the default filename.
+MUSTMATCH and DIR are as in `read-file-name'.  DEFAULT is the default filename.
 If MULTIPLE is non-nil `completing-read-multiple' is used."
   (catch 'continue
     (minibuffer-with-setup-hook
         (lambda () (use-local-map (make-composed-keymap filechooser-mininuffer-map
-                                                   (current-local-map)))
+							(current-local-map)))
           (when dir (setq default-directory dir)))
       (read-file-name
        prompt dir default mustmatch nil
@@ -271,25 +276,25 @@ If MULTIPLE is non-nil `completing-read-multiple' is used."
 DIR is the directory to use if a new file name needs to be choosen and FILTERS
 are the filters to use in that case."
   (pcase filechooser-save-existing-files
-        ('uniquify
-         (let ((n 1)
-               (name (file-name-sans-extension filename))
-               (ext (file-name-extension filename t)))
-           (while (file-exists-p (format "%s-%s%s" name n ext))
-             (cl-incf n))
-           (format "%s-%s%s" name n ext)))
-        ((or 'yes-or-no-p 'y-or-n-p)
-         (if (funcall filechooser-save-existing-files
-                      (format "File %s exists. Overwrite?" filename))
-             filename
-           (filechooser--read-file-name "Choose a new file name: "
-                                        nil filters dir
-                                        (file-relative-name filename dir))))
-        (_ (funcall filechooser-save-existing-files filename))))
+    ('uniquify
+     (let ((n 1)
+           (name (file-name-sans-extension filename))
+           (ext (file-name-extension filename t)))
+       (while (file-exists-p (format "%s-%s%s" name n ext))
+         (cl-incf n))
+       (format "%s-%s%s" name n ext)))
+    ((or 'yes-or-no-p 'y-or-n-p)
+     (if (funcall filechooser-save-existing-files
+                  (format "File %s exists. Overwrite?" filename))
+         filename
+       (filechooser--read-file-name "Choose a new file name: "
+                                    nil filters dir
+                                    (file-relative-name filename dir))))
+    (_ (funcall filechooser-save-existing-files filename))))
 
 (defun filechooser--read-file-name (prompt &optional mustmatch filters dir default)
   "Read a filename with PROMPT and predicate made from FILTERS.
-MUSTMATCH and DIR are as in `read-file-name'. DEFAULT is the default filename.
+MUSTMATCH and DIR are as in `read-file-name'.  DEFAULT is the default filename.
 If MULTIPLE is non-nil `completing-read-multiple' is used."
   (setq filechooser--filters (cl-delete-duplicates
                               (append filechooser-filters filters)
@@ -311,12 +316,12 @@ If MULTIPLE is non-nil `completing-read-multiple' is used."
   "Read a file name.
 If `filechooser-use-popup-frame' is non-nil a new minibuffer only popup frame
 is used, othewise the selected frame is used.
-PROMPT is the minibuffer prompt. MUSTMATCH and DIR are as in `read-file-name'.
-FILTERS take the same form as elements of `filechooser-filters'. Only those
+PROMPT is the minibuffer prompt.  MUSTMATCH and DIR are as in `read-file-name'.
+FILTERS take the same form as elements of `filechooser-filters'.  Only those
 files which satisfy one of the active filters from FILTERS or
 `filechooser-filters' are presented for completions."
   (filechooser--maybe-with-new-frame only
-    (filechooser--read-file-name prompt mustmatch filters dir default)))
+				     (filechooser--read-file-name prompt mustmatch filters dir default)))
 
 (defun filechooser-multiple-continue ()
   "Select current file and exit multiple file selection."
@@ -362,8 +367,8 @@ MAP contains additional key bindigs."
             (catch 'continue
               (minibuffer-with-setup-hook
                   (lambda () (use-local-map (make-composed-keymap
-                                        filechooser-multiple-selection-map
-                                        (current-local-map))))
+                                             filechooser-multiple-selection-map
+                                             (current-local-map))))
                 (completing-read prompt #'filechooser--multiple-loop-table
                                  (filechooser--filters-predicate filters) t
                                  (abbreviate-file-name dir)
@@ -374,8 +379,8 @@ MAP contains additional key bindigs."
   "Read multiple file names using `completing-read-multiple'.
 If `filechooser-use-popup-frame' is non-nil a new minibuffer only popup frame
 is used, othewise the selected frame is used.
-PROMPT is the minibuffer prompt. DIR is the directory where selection starts.
-FILTERS take the same form as elements of `filechooser-filters'. Only those
+PROMPT is the minibuffer prompt.  DIR is the directory where selection starts.
+FILTERS take the same form as elements of `filechooser-filters'.  Only those
 files which satisfy one of the active filters from FILTERS or
 `filechooser-filters' are presented for completions."
   (setq filechooser--filters
@@ -386,35 +391,38 @@ files which satisfy one of the active filters from FILTERS or
              (expand-file-name (or dir default-directory))))
   (let (selected filechooser--multiple-selection)
     (filechooser--maybe-with-new-frame only
-      (while (setq dir
-                   (catch 'done
-                     (setq selected (expand-file-name
-                                     (filechooser--multiple-read-file-name
-                                      prompt dir)))
-                     (cl-callf not
-                         (alist-get selected filechooser--multiple-selection
-                                    nil t #'equal))
-                     (when (eq this-command 'filechooser-multiple-continue)
-                       (expand-file-name (file-name-directory selected))))))
-      (nreverse (mapcar #'car filechooser--multiple-selection)))))
+				       ;; perhaps rewrite this to
+				       ;; improve the default
+				       ;; indentation
+				       (while (setq dir
+						    (catch 'done
+						      (setq selected (expand-file-name
+								      (filechooser--multiple-read-file-name
+								       prompt dir)))
+						      (cl-callf not
+							  (alist-get selected filechooser--multiple-selection
+								     nil t #'equal))
+						      (when (eq this-command 'filechooser-multiple-continue)
+							(expand-file-name (file-name-directory selected))))))
+				       (nreverse (mapcar #'car filechooser--multiple-selection)))))
 
 (defun filechooser-save-files (prompt &optional dir files)
   "Read a directory name to save FILES in it.
 If `filechooser-use-popup-frame' is non-nil a new minibuffer only popup frame
-is used, othewise the selected frame is used. PROMPT and DIR are as in
+is used, othewise the selected frame is used.  PROMPT and DIR are as in
 `read-directory-name'."
   (filechooser--maybe-with-new-frame only
-    (when-let ((save-dir (read-directory-name prompt dir))
-               (names nil))
-      (make-directory save-dir t)
-      (catch 'abort
-        (dolist (file files)
-          (push (if (file-exists-p (expand-file-name file save-dir))
-                    (or (filechooser--handle-exisiting-file file save-dir)
-                        (throw 'abort nil))
-                  (expand-file-name file save-dir))
-                names))
-        names))))
+				     (when-let ((save-dir (read-directory-name prompt dir))
+						(names nil))
+				       (make-directory save-dir t)
+				       (catch 'abort
+					 (dolist (file files)
+					   (push (if (file-exists-p (expand-file-name file save-dir))
+						     (or (filechooser--handle-exisiting-file file save-dir)
+							 (throw 'abort nil))
+						   (expand-file-name file save-dir))
+						 names))
+					 names))))
 
 ;;; Dired based selection
 (let (marked unmarked timer)
@@ -449,14 +457,14 @@ is used, othewise the selected frame is used. PROMPT and DIR are as in
 (defun filechooser-dired (&optional dir filters)
   "Select some files using Dired.
 Running this command pops a Dired for directory DIR, and enters a recursive
-editing session. FILTERS are in the format of `filechooser-filters'."
+editing session.  FILTERS are in the format of `filechooser-filters'."
   (let ((overriding-map `((t . ,filechooser-dired-overriding-map)))
         (apply-filters (lambda (_) (when (and (derived-mode-p 'dired-mode)
-                                         (not (eq (current-buffer) (cdr filechooser--selection)))
-                                         (not (memq 'filechooser--dired-jit-filter jit-lock-functions)))
-                                (add-hook 'jit-lock-functions #'filechooser--dired-jit-filter 95 t)
-                                (jit-lock-mode t)
-                                (add-to-invisibility-spec 'filechooser-filter))))
+                                              (not (eq (current-buffer) (cdr filechooser--selection)))
+                                              (not (memq 'filechooser--dired-jit-filter jit-lock-functions)))
+                                     (add-hook 'jit-lock-functions #'filechooser--dired-jit-filter 95 t)
+                                     (jit-lock-mode t)
+                                     (add-to-invisibility-spec 'filechooser-filter))))
         (selection-buffer (progn (setcdr filechooser--selection nil)
                                  (dired-noselect filechooser--selection))))
     (unwind-protect
@@ -528,8 +536,8 @@ editing session. FILTERS are in the format of `filechooser-filters'."
 (defun filechooser-with-dired (_prompt &optional dir filters)
   "Select some files using Dired.
 If `filechooser-use-popup-frame' is non-nil a new frame is used for selection,
-otherwise selected frame is used. DIR is the directory for initial Dired
-buffer. FILTERS are used to restrict selection to a subset of files."
+otherwise selected frame is used.  DIR is the directory for initial Dired
+buffer.  FILTERS are used to restrict selection to a subset of files."
   (filechooser--maybe-with-new-frame t (filechooser-dired dir filters)))
 
 ;;; Method handlers

--=-=-=
Content-Type: text/plain


-- 
Philip Kaludercic

--=-=-=--




Information forwarded to elpa-maintainers@HIDDEN:
bug#68915; Package elpa. Full text available.

Message received at 68915 <at> debbugs.gnu.org:


Received: (at 68915) by debbugs.gnu.org; 4 Feb 2024 14:52:02 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Feb 04 09:52:02 2024
Received: from localhost ([127.0.0.1]:48494 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rWdqj-0001zm-C7
	for submit <at> debbugs.gnu.org; Sun, 04 Feb 2024 09:52:02 -0500
Received: from mout02.posteo.de ([185.67.36.66]:50903)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <philipk@HIDDEN>) id 1rWdqe-0001zV-GU
 for 68915 <at> debbugs.gnu.org; Sun, 04 Feb 2024 09:52:00 -0500
Received: from submission (posteo.de [185.67.36.169]) 
 by mout02.posteo.de (Postfix) with ESMTPS id 9F231240103
 for <68915 <at> debbugs.gnu.org>; Sun,  4 Feb 2024 15:51:37 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017;
 t=1707058297; bh=DicnbSwtxmJg60n1YEj0PZqedWda4Cn3us7/om0oymI=;
 h=From:To:Cc:Subject:Autocrypt:Date:Message-ID:MIME-Version:
 Content-Type:From;
 b=oZuC1dYvMy8C0GzaT5Tfv9ud6ZJ1bPVjwrFX8D+SI/lRAH9sYZKL0Gp3oXr5lSele
 6MsYvU8VdmB1k9NIx1SjxfQL4kZQp4w64vtz52LMlZdN/+aykS8/St8HcU/ty7lRG8
 3rqkDkXPLpDYcMaJbcxB9UFAcrQnoZeAexrk8HprGgvjHEOScZscxq66WmeMXyO2s4
 4pmnBdHSumCjcB9CY0+DeKV7rGZYaUB0bavt9aVjLpGIfvaOX1Lt9XI41gRd45U3Eu
 5gqgnm0zZwLDAVqvKbbVsa7Jq1l4Ara9+zBTUoZGn3WeHvEVnrdHvjVX2iaRPswzIv
 NWosEj/plqS7w==
Received: from customer (localhost [127.0.0.1])
 by submission (posteo.de) with ESMTPSA id 4TSXX82G0Cz9rxL;
 Sun,  4 Feb 2024 15:51:36 +0100 (CET)
From: Philip Kaludercic <philipk@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
Subject: Re: bug#68915: Request to include a couple of packages in GNU ELPA
In-Reply-To: <jwvjznlji5p.fsf-monnier+emacs@HIDDEN> (Stefan Monnier's message
 of "Sat, 03 Feb 2024 17:31:29 -0500")
References: <8734u97m79.fsf@HIDDEN>
 <CADwFkmnvG1ZWwq8b84mv+nJFgxSA3Bgd9e0-XnwGsqVbvOkckQ@HIDDEN>
 <jwvjznlji5p.fsf-monnier+emacs@HIDDEN>
X-Hashcash: 1:20:240204:stefankangas@HIDDEN::lypkTX5QDXCg4glA:+kK
X-Hashcash: 1:20:240204:68915 <at> debbugs.gnu.org::fWxzUqg4yD7CsvSv:wp5
X-Hashcash: 1:20:240204:rahguzar@HIDDEN::MHf4SvEPzy+SNI5Z:4p8s
X-Hashcash: 1:20:240204:monnier@HIDDEN::DCN2uetdz0ZjdSlN:2j7Q
Autocrypt: addr=philipk@HIDDEN; keydata=
 mDMEZBBQQhYJKwYBBAHaRw8BAQdAHJuofBrfqFh12uQu0Yi7mrl525F28eTmwUDflFNmdui0QlBo
 aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0
 ZW8ubmV0PoiWBBMWCAA+FiEEDg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwMFCQHhM4AFCwkI
 BwIGFQoJCAsCBBYCAwECHgECF4AACgkQ8xYDWXahwulikAEA77hloUiSrXgFkUVJhlKBpLCHUjA0
 mWZ9j9w5d08+jVwBAK6c4iGP7j+/PhbkxaEKa4V3MzIl7zJkcNNjHCXmvFcEuDgEZBBQQhIKKwYB
 BAGXVQEFAQEHQI5NLiLRjZy3OfSt1dhCmFyn+fN/QKELUYQetiaoe+MMAwEIB4h+BBgWCAAmFiEE
 Dg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwwFCQHhM4AACgkQ8xYDWXahwukm+wEA8cml4JpK
 NeAu65rg+auKrPOP6TP/4YWRCTIvuYDm0joBALw98AMz7/qMHvSCeU/hw9PL6u6R2EScxtpKnWof
 z4oM
Date: Sun, 04 Feb 2024 14:51:31 +0000
Message-ID: <87r0hsxoy4.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 68915
Cc: Rahguzar <rahguzar@HIDDEN>, Stefan Kangas <stefankangas@HIDDEN>,
 68915 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

--=-=-=
Content-Type: text/plain

Stefan Monnier <monnier@HIDDEN> writes:

> Package:elpa
>
> Stefan Kangas [2024-02-03 17:11:28] wrote:
>
>> Rahguzar <rahguzar@HIDDEN> writes:
>>
>>> Dear Emacs developers,
>>>
>>> I would like to propose a couple of my packages for inclusion in GNU
>>> ELPA. They are:
>>>
>>> 1) consult-hoogle: https://codeberg.org/rahguzar/consult-hoogle
>>> It allows the use of hoogle search engine for haskell programming
>>> language from Emacs using the interfaces provided by consult package.

Here a few comments on this package:


--=-=-=
Content-Type: text/plain
Content-Disposition: inline

diff --git a/consult-hoogle.el b/consult-hoogle.el
index 6922e5d..855c17c 100644
--- a/consult-hoogle.el
+++ b/consult-hoogle.el
@@ -1,19 +1,20 @@
 ;;; consult-hoogle.el --- Hoogle frontend using consult -*- lexical-binding: t; -*-
-;;
+
 ;; Created: April 10, 2022
-;; Modified: April 10, 2022
+;; Modified: April 10, 2022  <-- remove this if you don't keep it updated
 ;; License: GPL-3.0-or-later
 ;; Version: 0.0.1
 ;; Keywords: docs languages
 ;; Homepage: https://github.com/aikrahguzar/consult-hoogle
 ;; Package-Requires: ((emacs "27.1") (haskell-mode "16.1"))
-;;
+
 ;; This file is not part of GNU Emacs.
-;;
+
 ;;; Commentary:
+
 ;; Search the local hoogle database from Emacs using the nicities provided by
 ;; consult.
-;;
+
 ;;; Code:
 
 ;;;; Packages
@@ -26,17 +27,17 @@
 (defcustom consult-hoogle-args
   '("hoogle" . ("search" "--jsonl" "-q" "--count=250"))
   "The hoogle invocation used to get results.
-It is should be a cons (COMMAND . ARGS). COMMAND should be valid executable.
+It is should be a cons (COMMAND . ARGS).  COMMAND should be valid executable.
 It is called arguments ARGS with the search query appended.  It should produce
 search results in JSON lines format."
   :type '(cons (string :tag "Hoogle command")
                (repeat :tag "Args for hoogle" string))
-  :group 'consult)
+  :group 'consult)			;wouldn't it be better to define your own group?
 
 (defcustom consult-hoogle-project-args
   '("cabal-hoogle" . ("run" "--" "search" "--jsonl" "-q" "--count=250"))
   "The cabal-hoogle invocation used to get results for current project.
-It should be cons (COMMAND . ARGS). See `consult-hoogle-args' for details.  By
+It should be cons (COMMAND . ARGS).  See `consult-hoogle-args' for details.  By
 default it uses `cabal-hoogle' https://github.com/kokobd/cabal-hoogle ."
   :type '(cons (string :tag "Project specific hoogle command")
                (repeat :tag "Args for hoogle" string))
@@ -52,6 +53,9 @@ default it uses `cabal-hoogle' https://github.com/kokobd/cabal-hoogle ."
 
 (defvar consult-hoogle-map
   (let ((map (make-sparse-keymap)))
+    ;; if this is building on consult, can you rebind some keys
+    ;; instead of hard-coding key chords that the user might have
+    ;; modified?
     (define-key map (kbd "M-i") #'consult-hoogle-browse-item)
     (define-key map (kbd "M-j") #'consult-hoogle-browse-package)
     (define-key map (kbd "M-m") #'consult-hoogle-browse-module)
@@ -80,7 +84,7 @@ default it uses `cabal-hoogle' https://github.com/kokobd/cabal-hoogle ."
   "Fontify TEXT, returning the fontified text.
 This is adapted from `haskell-fontify-as-mode' but for better performance
 we use the same buffer throughout."
-  (with-current-buffer " *Hoogle Fontification*"
+  (with-current-buffer " *Hoogle Fontification*" ;why not use a temporary buffer?
     (erase-buffer)
     (insert text)
     (font-lock-ensure)
@@ -217,7 +221,7 @@ STATE is the optional state function passed to the `consult--read'."
   (let ((consult-async-min-input 0)
         (fun (or action (lambda (alist) (consult-hoogle--browse-url 'item alist)))))
     (with-current-buffer (get-buffer-create " *Hoogle Fontification*" t)
-      (let (haskell-mode-hook)
+      (let (haskell-mode-hook)		;do you always want this?
         (haskell-mode)))
     (unwind-protect
         (funcall fun (consult--read
@@ -242,11 +246,11 @@ STATE is the optional state function passed to the `consult--read'."
 (defun consult-hoogle (arg)
   "Search the local hoogle database.
 By default this shows the documentation for the current candidate in a side
-window. This can be disabled by a prefix ARG."
+window.  This can be disabled by a prefix ARG."
   (interactive (list current-prefix-arg))
   (if arg (consult-hoogle--search)
     (let* ((buf (get-buffer-create " *Hoogle Documentation*" t))
-           (height (if (bound-and-true-p vertico-count)
+           (height (if (bound-and-true-p vertico-count) ;can this support icomplete as well?
                        vertico-count
                      10))
            (window (display-buffer buf
@@ -267,7 +271,7 @@ By default uses cabal-hoogle and the database should have been generated
 by running `cabal-hoogle generate'.  `consult-hoogle-project-args' can be
 customized to configure an alternate command.
 By default this shows the documentation for the current candidate in a side
-window. This can be disabled by a prefix ARG."
+window.  This can be disabled by a prefix ARG."
   (interactive (list current-prefix-arg))
   (let ((consult-hoogle-args consult-hoogle-project-args)
         (default-directory (haskell-cabal-find-dir)))
@@ -300,13 +304,15 @@ window. This can be disabled by a prefix ARG."
     (scroll-up arg)))
 
 (defun consult-hoogle-restrict-to-package (package &optional arg)
-  "Restrict the search to PACKAGE. With prefix ARG exluce package from search."
+  "Restrict the search to PACKAGE.
+With prefix ARG exluce package from search."
   (interactive (list (consult-hoogle--get 'package) current-prefix-arg))
   (when package
     (consult-hoogle--add-to-input (if arg "-" "+") (downcase package))))
 
 (defun consult-hoogle-restrict-to-module (module &optional arg)
-  "Restrict the search to MODULE. With prefix ARG exluce module from search."
+  "Restrict the search to MODULE.
+With prefix ARG exluce module from search."
   (interactive (list (consult-hoogle--get 'module) current-prefix-arg))
   (when module (consult-hoogle--add-to-input (if arg "-" "+") module)))
 
@@ -319,8 +325,7 @@ If called with numeric prefix LEVEL only use first ARG levels of module."
     (consult-hoogle--add-to-input
      (if (> level 0) "+" "-")
      (progn
-       (string-match (rx-to-string
-                      `(: bos (= ,(abs level) (: (1+ (not ".")) (?? ".")))))
+       (string-match (rx bos (= ,(literal (abs level)) (: (1+ (not ".")) (?? "."))))
                      module)
        (match-string 0 module)))))
 
@@ -333,22 +338,21 @@ If called with numeric prefix LEVEL only use last ARG levels of module."
     (consult-hoogle--add-to-input
      (if (> level 0) "+" "-")
      (progn
-       (string-match (rx-to-string
-                      `(: (= ,(abs level) (: (1+ (not ".")) (?? "."))) eos))
+       (string-match (rx (= (literal (abs level)) (: (1+ (not ".")) (?? "."))) eos)
                      module)
        (match-string 0 module)))))
 
 (defun consult-hoogle-clear-restrictions (arg)
   "Clear all restrictions and exclusions on the search.
-With positive prefix ARG only clear restrictions. With negative prefix
+With positive prefix ARG only clear restrictions.  With negative prefix
 only clear exclusions."
   (interactive (list (when current-prefix-arg
                        (prefix-numeric-value current-prefix-arg))))
-  (let* ((restriction-rx (rx-to-string `(: ,(if (not arg)
-                                                '(or "+" "-")
-                                              (if (> arg 0) "+" "-"))
-                                         (0+ (not space))
-                                         (or (1+ space) eos)))))
+  (let* ((restriction-rx (rx
+			  (literal (if (not arg)
+                                       '(or "+" "-")
+                                     (if (> arg 0) "+" "-")))
+			  (0+ (not space)))))
     (consult-hoogle--modify-async-input
      (lambda (match) (replace-regexp-in-string restriction-rx "" match)))))
 

--=-=-=
Content-Type: text/plain


Also, it would be nice to have a .elpaignore file in your repository to
avoid bundling the bitmap images from your repository with the tarballs.

Generally speaking, how tightly integrated is this into consult, and can
you imaging generalising this for all users?  Having a dependency on a
UI component seems like a backwards thing to do.

-- 
Philip Kaludercic

--=-=-=--




Information forwarded to elpa-maintainers@HIDDEN:
bug#68915; Package elpa. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 3 Feb 2024 22:31:51 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Feb 03 17:31:51 2024
Received: from localhost ([127.0.0.1]:47222 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rWOYB-0000IA-6P
	for submit <at> debbugs.gnu.org; Sat, 03 Feb 2024 17:31:51 -0500
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:9746)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1rWOY9-0000Hy-De
 for submit <at> debbugs.gnu.org; Sat, 03 Feb 2024 17:31:50 -0500
Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 6E5C01003A2
 for <submit <at> debbugs.gnu.org>; Sat,  3 Feb 2024 17:31:31 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1706999490;
 bh=5lNgU+RNQCDAdMtTo53bqNsKaGoDkf27q9ET5vUEa7I=;
 h=From:To:Subject:In-Reply-To:References:Date:From;
 b=pVUzj+dFj7ssBuoZd4CVE9CkTUJrZ0qQ8VvwzJoEDDRlJzoO6ttBXYL5yMxQQcfag
 O+xEogh/vLCKpMuOqIF4kGPt0hXmaqM1Bv0EdaJM2ZwaBmp8uYN91JhVBB3OacmXbQ
 pQ/u7bqAsU2AZxXBtBneYYJQL8Avz1zEUHlIZXpOblW8beOJcNpWOIMbbYpEH3uiVY
 SiRsZmUmosQT9I8bGPa6IkNzQ+N5DYHwe7AeQSqo6RDbTxYtUwPTCNzHHuQzbhLS1A
 zDxk07WWwYjgmlmkHtevg0utcb6Ig5YYWWbju1VoqTCiGRt/vPOOdofQ44zmN8NVLI
 lHst5aox0t7rQ==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 094B4100192
 for <submit <at> debbugs.gnu.org>; Sat,  3 Feb 2024 17:31:30 -0500 (EST)
Received: from alfajor (69-165-153-17.dsl.teksavvy.com [69.165.153.17])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id DFF26120C7A
 for <submit <at> debbugs.gnu.org>; Sat,  3 Feb 2024 17:31:29 -0500 (EST)
From: Stefan Monnier <monnier@HIDDEN>
To: submit <at> debbugs.gnu.org
Subject: Request to include a couple of packages in GNU ELPA
In-Reply-To: <CADwFkmnvG1ZWwq8b84mv+nJFgxSA3Bgd9e0-XnwGsqVbvOkckQ@HIDDEN>
 (Stefan Kangas's message of "Sat, 3 Feb 2024 17:11:28 -0500")
Message-ID: <jwvjznlji5p.fsf-monnier+emacs@HIDDEN>
References: <8734u97m79.fsf@HIDDEN>
 <CADwFkmnvG1ZWwq8b84mv+nJFgxSA3Bgd9e0-XnwGsqVbvOkckQ@HIDDEN>
X-Debbugs-Cc: Rahguzar <rahguzar@HIDDEN>,  Philip Kaludercic
 <philipk@HIDDEN>, Stefan Kangas <stefankangas@HIDDEN>
Date: Sat, 03 Feb 2024 17:31:29 -0500
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.247 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain T_SCC_BODY_TEXT_LINE    -0.01 -
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Package:elpa

Stefan Kangas [2024-02-03 17:11:28] wrote:

> Rahguzar <rahguzar@HIDDEN> writes:
>
>> Dear Emacs developers,
>>
>> I would like to propose a couple of my packages for inclusion in GNU
>> ELPA. They are:
>>
>> 1) consult-hoogle: https://codeberg.org/rahguzar/consult-hoogle
>> It allows the use of hoogle search engine for haskell programming
>> language from Emacs using the interfaces provided by consult package.
>>
>> 2) filechooser.el: https://codeberg.org/rahguzar/filechooser
>> It implements the backend D-bus methods for xdg filechooser and can be
>> used to provide an Emacs based file selection interface for applications
>> such as web browsers which support using xdg desktop portals for this
>> purpose.
>>
>>
>> Please let me know of any suggestions and if I need to change anything.
>>
>> Thanks,
>> Rahguzar
>
> I'm adding the GNU ELPA maintainers to CC.
>
> Thanks for your contributions.

Moving this to Debbugs.





Acknowledgement sent to Stefan Monnier <monnier@HIDDEN>:
New bug report received and forwarded. Copy sent to rahguzar@HIDDEN, philipk@HIDDEN, stefankangas@HIDDEN, elpa-maintainers@HIDDEN. Full text available.
Report forwarded to rahguzar@HIDDEN, philipk@HIDDEN, stefankangas@HIDDEN, elpa-maintainers@HIDDEN:
bug#68915; Package elpa. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Mon, 5 Feb 2024 21:45:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.