From: Jim Porter <jporterbugs@gmail.com>
To: 64529@debbugs.gnu.org
Subject: bug#64529: 30.0.50; [PATCH] Add special $GID variable for Eshell
Date: Fri, 7 Jul 2023 23:35:58 -0700 [thread overview]
Message-ID: <7f340419-54cd-d8aa-6e1b-9b07030bbf48@gmail.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 204 bytes --]
Currently, Eshell has a special $UID variable that's connection-aware
(so it returns the remote UID if the current directory is remote).
However, it doesn't do this for $GID. Here's a patch to fix that.
[-- Attachment #2: 0001-Add-special-GID-variable-in-Eshell.patch --]
[-- Type: text/plain, Size: 2423 bytes --]
From d5f4f5a944cb60f9068976d1d91e981d21c79cb2 Mon Sep 17 00:00:00 2001
From: Jim Porter <jporterbugs@gmail.com>
Date: Fri, 7 Jul 2023 23:18:33 -0700
Subject: [PATCH] Add special '$GID' variable in Eshell
* lisp/eshell/esh-var.el (eshell-variable-aliases-list): Add '$GID'.
* test/lisp/eshell/esh-var-tests.el (esh-var-test/gid-var): New test.
* doc/misc/eshell.texi (Variables): Document '$GID'.
---
doc/misc/eshell.texi | 7 +++++++
lisp/eshell/esh-var.el | 1 +
test/lisp/eshell/esh-var-tests.el | 4 ++++
3 files changed, 12 insertions(+)
diff --git a/doc/misc/eshell.texi b/doc/misc/eshell.texi
index 5972d2834b0..a1f541da9da 100644
--- a/doc/misc/eshell.texi
+++ b/doc/misc/eshell.texi
@@ -993,6 +993,13 @@ Variables
its value will be @acronym{UID} for the user associated with that
remote connection.
+@vindex $GID
+@item $GID
+This returns the effective @acronym{GID} for the current user. Like
+@code{$UID}, this variable is connection-aware, so when the current
+directory is remote, its value will be @acronym{GID} for the user
+associated with that remote connection.
+
@vindex $_
@item $_
This refers to the last argument of the last command. With a
diff --git a/lisp/eshell/esh-var.el b/lisp/eshell/esh-var.el
index 7dcaff1e24f..c7c0a21d2a9 100644
--- a/lisp/eshell/esh-var.el
+++ b/lisp/eshell/esh-var.el
@@ -163,6 +163,7 @@ eshell-variable-aliases-list
("LINES" ,(lambda () (window-body-height nil 'remap)) t t)
("INSIDE_EMACS" eshell-inside-emacs t)
("UID" ,(lambda () (file-user-uid)) nil t)
+ ("GID" ,(lambda () (file-group-gid)) nil t)
;; for esh-ext.el
("PATH" (,(lambda () (string-join (eshell-get-path t) (path-separator)))
diff --git a/test/lisp/eshell/esh-var-tests.el b/test/lisp/eshell/esh-var-tests.el
index 771bd5a419c..3e58fe749dd 100644
--- a/test/lisp/eshell/esh-var-tests.el
+++ b/test/lisp/eshell/esh-var-tests.el
@@ -829,6 +829,10 @@ esh-var-test/uid-var
"Test that $UID is equivalent to (user-uid) for local directories."
(eshell-command-result-equal "echo $UID" (user-uid)))
+(ert-deftest esh-var-test/gid-var ()
+ "Test that $GID is equivalent to (group-gid) for local directories."
+ (eshell-command-result-equal "echo $GID" (group-gid)))
+
(ert-deftest esh-var-test/last-status-var-lisp-command ()
"Test using the \"last exit status\" ($?) variable with a Lisp command."
(with-temp-eshell
--
2.25.1
next reply other threads:[~2023-07-08 6:35 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-08 6:35 Jim Porter [this message]
2023-07-08 13:07 ` bug#64529: 30.0.50; [PATCH] Add special $GID variable for Eshell Michael Albinus
2023-07-08 19:27 ` Jim Porter
2023-07-09 8:43 ` Michael Albinus
2023-07-09 19:31 ` Jim Porter
2023-07-09 20:04 ` Michael Albinus
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7f340419-54cd-d8aa-6e1b-9b07030bbf48@gmail.com \
--to=jporterbugs@gmail.com \
--cc=64529@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).