Subject: Re: [bug#59930] [PATCH] gnu: Add emacs-islisp-mode

From: Nicolas Goaziou <[email-masked]>
Date: Wed, 14 Dec 2022 17:36:33 +0100

Hello,

Joeke de Graaf <[email-masked]> writes:

> This patch adds emacs-islisp-mode to emacs-xyz.scm

Thank you. Some comments follow.

> +    (build-system emacs-build-system)
> +    (arguments
> +     (list #:phases #~(modify-phases %standard-phases
> +			;; Install Emacs Lisp files from the "advance"
> +			;; and "implementations" directories
> +                        (add-after 'install 'install-additional-directories
> +                          (lambda _
> +                            (let ((site-lisp-dir (string-append #$output
> +                                                  "/share/emacs/site-lisp/islisp-mode-"
> +                                                  #$version)))

You can use (elpa-directory #$output) instead of (string-append ...)

> +                              (map (lambda (dir)
> +                                     (with-directory-excursion dir
> +                                       (for-each (lambda (file)
> +                                                   (install-file file
> +                                                    site-lisp-dir))
> +                                                 (find-files "." "\\.el$"))))
> +                                   '("advance" "implementations"))))))))

You can use for-each instead of map since you don't need the return
value. Moreover, `copy-recursively' is probably shorter.

However, this will catch neither the ".el" file nor the ".lsp" file in
"implementations/easy-islisp" directory. What should we do about the
latter ?

You also need to add `eisl' as an input, and patch "easy-islisp.el"
accordingly (see `easy-islisp-executable').

Could you send an updated patch?

Regards,
-- 
Nicolas Goaziou