[PATCH] Add emacs-multi-term

  • Done
  • quality assurance status badge
Details
2 participants
  • Baptiste Strazzulla
  • Ludovic Courtès
Owner
unassigned
Submitted by
Baptiste Strazzulla
Severity
normal

Debbugs page

Baptiste Strazzulla wrote 6 years ago
(name . guix-patches@gnu.org)(address . guix-patches@gnu.org)
PR2PR08MB4810A801EB9A1EE8B5376CD0B9E90@PR2PR08MB4810.eurprd08.prod.outlook.com

Attachment: file
From 3118853b54988c68828c5e7e266d4959151b64cf Mon Sep 17 00:00:00 2001
From: Zzull <bstrazzull@hotmail.fr>
Date: Sat, 15 Jun 2019 22:32:19 +0200
Subject: [PATCH] gnu: Add emacs-multi-term

* gnu/packages/emacs-xyz.scm (emacs-multi-term): New variable
---
gnu/packages/emacs-xyz.scm | 46 ++++++++++++++++++++++++++++++++++++++
1 file changed, 46 insertions(+)

Toggle diff (63 lines)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 37bf9a06b9..39df468220 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -48,6 +48,7 @@
;;; Copyright © 2019 Gabriel Hondet <gabrielhondet@gmail.com>
;;; Copyright © 2019 LaFreniere, Joseph <joseph@lafreniere.xyz>
;;; Copyright © 2019 Amar Singh <nly@disroot.org>
+;;; Copyright © 2019 Baptiste Strazzulla <bstrazzull@hotmail.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -16014,3 +16015,48 @@ themselves live in an Org-mode file. As such, this leverages the power of
Org-mode (the notes may have outlines, latex fragments, babel, etc...) while
acting like notes that are made @emph{in} the document.")
(license license:gpl3+)))
+
+(define-public emacs-multi-term
+ (package
+ (name "emacs-multi-term")
+ (version "1.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/emacsorphanage/multi-term.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1bn6zx931vz2fa72ab999r33bxv8brn3cqmalvq25x7s4z3q1lyi"))))
+ (build-system emacs-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; FIXME: `patch-el-files' crashes with the following error:
+ ;; unable to locate "zsh".
+ (delete 'patch-el-files))))
+ (home-page "https://github.com/emacsorphanage/multi-term")
+ (synopsis "Manage multiple terminal buffers in Emacs")
+ (description
+ "By default, term.el provides a great terminal emulator in Emacs. But it
+lacks the following:
+
+ 1) term.el just provides commands @{term} or @{ansi-term} for creating a
+terminal buffer. And there is no special command to create or switch between
+multiple terminal buffers quickly.
+
+ 2) By default, the keystrokes of term.el conflict with global-mode
+keystrokes, which makes it difficult for the user to integrate term.el with
+Emacs.
+
+ 3) By default, executing *NIX command @{exit} from term-mode, it will leave
+an unused buffer.
+
+ 4) term.el won’t quit running sub-process when you kill terminal buffer
+forcibly.
+
+ 5) Lacks a dedicated window for debugging program.
+
+ And multi-term.el is enhanced with those features.")
+ (license license:gpl3+)))
--
2.22.0
Ludovic Courtès wrote 6 years ago
(name . Baptiste Strazzulla)(address . bstrazzull@hotmail.fr)(address . 36230@debbugs.gnu.org)
87wohj2b3v.fsf@gnu.org
Hello,

Baptiste Strazzulla <bstrazzull@hotmail.fr> skribis:

Toggle quote (7 lines)
> From 3118853b54988c68828c5e7e266d4959151b64cf Mon Sep 17 00:00:00 2001
> From: Zzull <bstrazzull@hotmail.fr>
> Date: Sat, 15 Jun 2019 22:32:19 +0200
> Subject: [PATCH] gnu: Add emacs-multi-term
>
> * gnu/packages/emacs-xyz.scm (emacs-multi-term): New variable

[...]

Toggle quote (6 lines)
> + (arguments
> + `(#:phases
> + (modify-phases %standard-phases
> + ;; FIXME: `patch-el-files' crashes with the following error:
> + ;; unable to locate "zsh".

Then I think you should add zsh as an input, such that ‘patch-el-files’
can modify the .el file to refer to zsh by its absolute file name.

Toggle quote (4 lines)
> + (description
> + "By default, term.el provides a great terminal emulator in Emacs. But it
> +lacks the following:

Could you replace this description by one that says what
emacs-multi-term is/does, rather than what term.el doesn’t do well? :-)

See

Thank you!

Ludo’.
Baptiste Strazzulla wrote 6 years ago
Fw: [bug#36230] [PATCH] Add emacs-multi-term
(name . 36230@debbugs.gnu.org)(address . 36230@debbugs.gnu.org)
PR2PR08MB481023C0398511E3D91A03C0B9E10@PR2PR08MB4810.eurprd08.prod.outlook.com
Second attempt. I hope everything is at it's right place this time.

Regards


________________________________________
From: Ludovic Courtès <ludo@gnu.org>
Sent: Tuesday, June 18, 2019 2:59 PM
To: Baptiste Strazzulla
Cc: 36230@debbugs.gnu.org
Subject: Re: [bug#36230] [PATCH] Add emacs-multi-term

Hello,

Baptiste Strazzulla <bstrazzull@hotmail.fr> skribis:

Toggle quote (7 lines)
> From 3118853b54988c68828c5e7e266d4959151b64cf Mon Sep 17 00:00:00 2001
> From: Zzull <bstrazzull@hotmail.fr>
> Date: Sat, 15 Jun 2019 22:32:19 +0200
> Subject: [PATCH] gnu: Add emacs-multi-term
>
> * gnu/packages/emacs-xyz.scm (emacs-multi-term): New variable

[...]

Toggle quote (6 lines)
> + (arguments
> + `(#:phases
> + (modify-phases %standard-phases
> + ;; FIXME: `patch-el-files' crashes with the following error:
> + ;; unable to locate "zsh".

Then I think you should add zsh as an input, such that ‘patch-el-files’
can modify the .el file to refer to zsh by its absolute file name.

Toggle quote (4 lines)
> + (description
> + "By default, term.el provides a great terminal emulator in Emacs. But it
> +lacks the following:

Could you replace this description by one that says what
emacs-multi-term is/does, rather than what term.el doesn’t do well? :-)

See

Thank you!

Ludo’.
Attachment: file
From 98ea2610efba5b656565aeea43f3e9a50b06e6c5 Mon Sep 17 00:00:00 2001
From: Zzull <bstrazzull@hotmail.fr>
Date: Sat, 15 Jun 2019 22:32:19 +0200
Subject: [PATCH] gnu: Add emacs-multi-term

* gnu/packages/emacs-xyz.scm (emacs-multi-term): New variable
---
gnu/packages/emacs-xyz.scm | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)

Toggle diff (41 lines)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index dcdbcf7dd0..ecd9518646 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -16081,3 +16081,34 @@ themselves live in an Org-mode file. As such, this leverages the power of
Org-mode (the notes may have outlines, latex fragments, babel, etc...) while
acting like notes that are made @emph{in} the document.")
(license license:gpl3+)))
+
+(define-public emacs-multi-term
+ (package
+ (name "emacs-multi-term")
+ (version "1.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/emacsorphanage/multi-term.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1bn6zx931vz2fa72ab999r33bxv8brn3cqmalvq25x7s4z3q1lyi"))))
+ (build-system emacs-build-system)
+ (propagated-inputs `(("zsh" ,zsh)))
+ (home-page "https://github.com/emacsorphanage/multi-term")
+ (synopsis "Manage multiple terminal buffers in Emacs")
+ (description
+ "This package enhances @{term.el} with the following features:
+
+@enumerate
+@item Functions to switch between multiple terminal buffers
+@item List of keys to be intercepted by @{emacs-multi-term} instead of by the
+underlying terminal
+@item Kills the unused buffer left after exiting the terminal
+@item Kills the running sub-processes along with the terminal when killing the
+it forcibly
+@item Dedicated window for debugging program
+@end enumerate")
+ (license license:gpl3+)))
--
2.22.0
Ludovic Courtès wrote 6 years ago
(name . Baptiste Strazzulla)(address . bstrazzull@hotmail.fr)(name . 36230@debbugs.gnu.org)(address . 36230@debbugs.gnu.org)
8736jz9e5x.fsf@gnu.org
Hello,

Baptiste Strazzulla <bstrazzull@hotmail.fr> skribis:

Toggle quote (2 lines)
> Second attempt. I hope everything is at it's right place this time.

I made the changes below to address issues that ‘guix lint’ reported.

However, we’re out of luck because
what the new URL is?

Thanks in advance,
Ludo’.
Toggle diff (28 lines)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index ecd9518646..ca3d64bd43 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -16096,19 +16096,19 @@ acting like notes that are made @emph{in} the document.")
(base32
"1bn6zx931vz2fa72ab999r33bxv8brn3cqmalvq25x7s4z3q1lyi"))))
(build-system emacs-build-system)
- (propagated-inputs `(("zsh" ,zsh)))
+ (inputs `(("zsh" ,zsh)))
(home-page "https://github.com/emacsorphanage/multi-term")
(synopsis "Manage multiple terminal buffers in Emacs")
(description
- "This package enhances @{term.el} with the following features:
+ "This package enhances @code{term.el} with the following features:
@enumerate
@item Functions to switch between multiple terminal buffers
-@item List of keys to be intercepted by @{emacs-multi-term} instead of by the
+@item List of keys to be intercepted by @code{emacs-multi-term} instead of by the
underlying terminal
@item Kills the unused buffer left after exiting the terminal
@item Kills the running sub-processes along with the terminal when killing the
it forcibly
-@item Dedicated window for debugging program
+@item Dedicated window for debugging program.
@end enumerate")
(license license:gpl3+)))
Baptiste Strazzulla wrote 6 years ago
[PATCH] Add emacs-multi-term
(name . 36230@debbugs.gnu.org)(address . 36230@debbugs.gnu.org)
PR2PR08MB481072C4D6ADE5D1344C5ECAB9E30@PR2PR08MB4810.eurprd08.prod.outlook.com
It's actually a good news because it seems that its original author adopted it again: https://github.com/manateelazycat/multi-term

He didn't make a release yet though. I'll update the guix definition later in the week. Sorry for the missed lint
Attachment: file
Baptiste Strazzulla wrote 6 years ago
(name . 36230@debbugs.gnu.org)(address . 36230@debbugs.gnu.org)
PR2PR08MB4810A3FE348EF6869E4E42BCB9FE0@PR2PR08MB4810.eurprd08.prod.outlook.com
And here is the third attempt. I changed the URL of the repository and pinned the only existing commit there.

On the side, I `./pre-inst-env guix lint emacs-multi-term` the previous patch that you had to correct because I remembered doing it before posting and as it turned out, nothing came out. There doesn't seem to be any additional options I should give to `guix lint` so I don't understand exactly why you had a more rigorous linting than mine. Do you have an idea?

Regards
Attachment: file
From 9b8804a8fed18f77d72bb58113c823e3b29d7073 Mon Sep 17 00:00:00 2001
From: Zzull <bstrazzull@hotmail.fr>
Date: Sat, 15 Jun 2019 22:32:19 +0200
Subject: [PATCH] gnu: Add emacs-multi-term

* gnu/packages/emacs-xyz.scm (emacs-multi-term): New variable
---
gnu/packages/emacs-xyz.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)

Toggle diff (42 lines)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 238b204b3c..448f8122c8 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -16081,3 +16081,35 @@ themselves live in an Org-mode file. As such, this leverages the power of
Org-mode (the notes may have outlines, latex fragments, babel, etc...) while
acting like notes that are made @emph{in} the document.")
(license license:gpl3+)))
+
+(define-public emacs-multi-term
+ (let ((commit "0804b11e52b960c80f5cd0712ee1e53ae70d83a4"))
+ (package
+ (name "emacs-multi-term")
+ (version "1.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/manateelazycat/multi-term.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0apvidmvb7rv05qjnjhax42ma8wrimik5vxx620dlbv17svz7iyf"))))
+ (build-system emacs-build-system)
+ (inputs `(("zsh" ,zsh)))
+ (home-page "https://github.com/manateelazycat/multi-term")
+ (synopsis "Manage multiple terminal buffers in Emacs")
+ (description
+ "This package enhances @code{term.el} with the following features:
+
+@enumerate
+@item Functions to switch between multiple terminal buffers
+@item List of keys to be intercepted by @code{emacs-multi-term} instead of by
+the underlying terminal
+@item Kills the unused buffer left after exiting the terminal
+@item Kills the running sub-processes along with the terminal when killing the
+it forcibly
+@item Dedicated window for debugging program.
+@end enumerate")
+ (license license:gpl3+))))
--
2.22.0
Ludovic Courtès wrote 6 years ago
(name . Baptiste Strazzulla)(address . bstrazzull@hotmail.fr)(name . 36230@debbugs.gnu.org)(address . 36230-done@debbugs.gnu.org)
878stg5syu.fsf@gnu.org
Hi,

Baptiste Strazzulla <bstrazzull@hotmail.fr> skribis:

Toggle quote (2 lines)
> On the side, I `./pre-inst-env guix lint emacs-multi-term` the previous patch that you had to correct because I remembered doing it before posting and as it turned out, nothing came out. There doesn't seem to be any additional options I should give to `guix lint` so I don't understand exactly why you had a more rigorous linting than mine. Do you have an idea?

We should both get the same ‘guix lint’ output. :-)

Toggle quote (7 lines)
> From 9b8804a8fed18f77d72bb58113c823e3b29d7073 Mon Sep 17 00:00:00 2001
> From: Zzull <bstrazzull@hotmail.fr>
> Date: Sat, 15 Jun 2019 22:32:19 +0200
> Subject: [PATCH] gnu: Add emacs-multi-term
>
> * gnu/packages/emacs-xyz.scm (emacs-multi-term): New variable

Applied, thanks!

Ludo’.
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 36230@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 36230
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help