Subject: Re: [bug#61434] [PATCH] gnu: Add emacs-pasp-mode.

From: Nicolas Goaziou <[email-masked]>
Date: Sat, 11 Feb 2023 17:59:55 +0100

Hello,

Liliana Marie Prikler <[email-masked]> writes:

> * gnu/packages/patches/emacs-pasp-mode-quote-file-names.patch: New file.
> * gnu/local.mk: Register it here.
> * gnu/packages/emacs-xyz.scm (emacs-pasp-mode): New variable.

Thank you. Some comments follow.

> +     (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/santifa/pasp-mode.git")

You can remove the ".git" suffix.

> +           (add-after 'unpack 'defconst-version
> +             (lambda _
> +               (emacs-batch-edit-file "pasp-mode.el"
> +                 '(progn
> +                   (search-forward-regexp
> +                           "(defcustom pasp-mode-version \"[^\"]*\"[
> + ]*\\(\"[^\"]*\"\\)[^()]*)")
> +                   (let ((docstring (match-string 1)))
> +                     (backward-sexp)
> +                     (kill-sexp)
> +                     (insert (format "(defconst emacs-pasp-version \"%s\" %s)"
> +                                     #$version docstring))
> +                     (basic-save-buffer))))))

This dance is not necessary. You can simply use
`emacs-substitute-variables', change the value, and keep the defcustom.
A defconst is not a constant in Elisp anyway.

> +     (synopsis "Major mode for editing Answer Set Programs.")

You can remove the final full stop.

It may be clearer to also mention "Potassco" so as to understand better
the PASP acronym.

> +     (description
> +      "This package provides a major mode for editing answer set programs,
> +in particular ones that can be solved by @command{clingo}.")

I suggest "Answer Set Programs", since this seems to be a very specific thing.

I didn't build it, but LGTM.

Regards,
-- 
Nicolas Goaziou