GNU bug report logs -
#59930
[PATCH] gnu: Add emacs-islisp-mode
Previous Next
Reported by: Joeke de Graaf <joeke <at> posteo.net>
Date: Fri, 9 Dec 2022 21:02:02 UTC
Severity: normal
Tags: patch
Done: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 59930 in the body.
You can then email your comments to 59930 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
guix-patches <at> gnu.org
:
bug#59930
; Package
guix-patches
.
(Fri, 09 Dec 2022 21:02:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Joeke de Graaf <joeke <at> posteo.net>
:
New bug report received and forwarded. Copy sent to
guix-patches <at> gnu.org
.
(Fri, 09 Dec 2022 21:02:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
This patch adds emacs-islisp-mode to emacs-xyz.scm
Best regards,
Joeke de Graaf
[0001-gnu-Add-emacs-islisp-mode.patch (text/x-patch, inline)]
From fc661dcc856de74034964fd0734cabce5cef4eaa Mon Sep 17 00:00:00 2001
From: Joeke <joeke <at> posteo.net>
Date: Fri, 9 Dec 2022 21:52:40 +0100
Subject: [PATCH] gnu: Add emacs-islisp-mode
---
gnu/packages/emacs-xyz.scm | 41 ++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 0d11c59b48..4170787ca1 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -118,6 +118,7 @@
;;; Copyright © 2022 Hilton Chain <hako <at> ultrarare.space>
;;; Copyright © 2022 Nicolas Graves <ngraves <at> ngraves.fr>
;;; Copyright © 2022 Thiago Jung Bauermann <bauermann <at> kolabnow.com>
+;;; Copyright © 2022 Joeke de Graaf <joeke <at> posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -13125,6 +13126,46 @@ (define-public emacs-helm-make
target will call @code{compile} on it.")
(license license:gpl3+))))
+(define-public emacs-islisp-mode
+ (package
+ (name "emacs-islisp-mode")
+ (version "0.3.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/sasanidas/islisp-mode")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1s6alrv1hfi1plj5lh826j0h71xvm2v092kglj3yvy34g73dgrna"))))
+ (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)))
+ (map (lambda (dir)
+ (with-directory-excursion dir
+ (for-each (lambda (file)
+ (install-file file
+ site-lisp-dir))
+ (find-files "." "\\.el$"))))
+ '("advance" "implementations"))))))))
+ (home-page "https://gitlab.com/sasanidas/islisp-mode")
+ (synopsis "ISLisp support for Emacs")
+ (description
+ "This package provides support for programming with ISLisp in
+Emacs. It features a major mode with syntax highlighting, symbol autocompletion
+and documentation search, among other features. It also includes an inferior
+mode with REPL integration. Currently it only supports the Easy ISLisp (eisl)
+implementation.")
+ (license license:gpl3+)))
+
(define-public emacs-cider
(package
(name "emacs-cider")
--
2.37.2
Information forwarded
to
guix-patches <at> gnu.org
:
bug#59930
; Package
guix-patches
.
(Wed, 14 Dec 2022 16:37:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 59930 <at> debbugs.gnu.org (full text, mbox):
Hello,
Joeke de Graaf <joeke <at> posteo.net> 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
Information forwarded
to
guix-patches <at> gnu.org
:
bug#59930
; Package
guix-patches
.
(Fri, 16 Dec 2022 13:15:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 59930 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
> You can use (elpa-directory #$output) instead of (string-append ...)
Thanks, I did not know about elpa-directory.
> 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 ?
It seems Emacs has a hard time finding easy-islisp.el when using
copy-recursively, since it's put inside a directory. The easy solution
would be to 'expand' the regex in find-files like this:
(lambda _
(let ((site-lisp-dir (elpa-directory #$output)))
(for-each (lambda (dir)
(copy-recursively dir elpa-directory)
(with-directory-excursion dir
(for-each (lambda (file)
(install-file file
site-lisp-dir))
(find-files "." "\\.(lsp|el)$"))))
'("advance" "implementations"))))
Are there any objections to doing it this way? (Other than it being a
lot less pretty than a call to copy-recursively 😄)
> You also need to add `eisl' as an input,
> and patch "easy-islisp.el"
> accordingly (see `easy-islisp-executable').
I incorporated this in the new patch.
I have attached an updated version below.
Thanks for reviewing!
[0001-gnu-Add-emacs-islisp-mode.patch (text/x-patch, attachment)]
Reply sent
to
Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
:
You have taken responsibility.
(Fri, 16 Dec 2022 17:55:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Joeke de Graaf <joeke <at> posteo.net>
:
bug acknowledged by developer.
(Fri, 16 Dec 2022 17:55:02 GMT)
Full text and
rfc822 format available.
Message #16 received at 59930-done <at> debbugs.gnu.org (full text, mbox):
Hello,
Joeke de Graaf <joeke <at> posteo.net> writes:
> I have attached an updated version below.
Thank you. I applied it with a small refactoring.
Regards,
--
Nicolas Goaziou
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Sat, 14 Jan 2023 12:24:07 GMT)
Full text and
rfc822 format available.
This bug report was last modified 2 years and 213 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.