From: Eli Zaretskii Date: Sat, 25 Dec 2021 07:38:39 +0000 (+0200) Subject: Explain why we remove stuff from 'user-full-name' X-Git-Tag: emacs-28.0.91~32 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=5fccd1e371;p=emacs.git Explain why we remove stuff from 'user-full-name' * src/editfns.c (Fuser_full_name): Document why we chop everything starting from the first comma. (Bug#52785) --- diff --git a/src/editfns.c b/src/editfns.c index 5c9c34dc352..6ba09cceec4 100644 --- a/src/editfns.c +++ b/src/editfns.c @@ -1233,7 +1233,11 @@ return "unknown". If optional argument UID is an integer, return the full name of the user with that uid, or nil if there is no such user. If UID is a string, return the full name of the user with that login -name, or nil if there is no such user. */) +name, or nil if there is no such user. + +If the full name includes commas, remove everything starting with +the first comma, because the \\='gecos\\=' field of the \\='/etc/passwd\\=' file +is in general a comma-separated list. */) (Lisp_Object uid) { struct passwd *pw; @@ -1263,7 +1267,8 @@ name, or nil if there is no such user. */) return Qnil; p = USER_FULL_NAME; - /* Chop off everything after the first comma. */ + /* Chop off everything after the first comma, since 'pw_gecos' is a + comma-separated list. */ q = strchr (p, ','); full = make_string (p, q ? q - p : strlen (p));