GNU bug report logs -
#76242
[PATCH] Clarify that mapconcat's FUNCTION can return nil
Previous Next
Reported by: Hong Xu <hong <at> topbug.net>
Date: Wed, 12 Feb 2025 22:29:01 UTC
Severity: wishlist
Tags: patch
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#76242: [PATCH] Clarify that mapconcat's FUNCTION can return nil
which was filed against the emacs package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 76242 <at> debbugs.gnu.org.
--
76242: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=76242
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
> Date: Thu, 13 Feb 2025 00:27:45 -0800
> From: Hong Xu <hong <at> topbug.net>
> CC: 76242 <at> debbugs.gnu.org
>
> On February 12, 2025 11:57:05 PM PST, Eli Zaretskii <eliz <at> gnu.org> wrote:
> >> Cc: hong <at> topbug.net
> >> Date: Thu, 13 Feb 2025 02:27:52 +0100
> >> From: Michael Heerdegen via "Bug reports for GNU Emacs,
> >> the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
> >>
> >> Hong Xu via "Bug reports for GNU Emacs, the Swiss army knife of text
> >> editors" <bug-gnu-emacs <at> gnu.org> writes:
> >>
> >> > -FUNCTION must be a function of one argument, and must return a value
> >> > - that is a sequence of characters: either a string, or a vector or
> >> > - list of numbers that are valid character codepoints. */)
> >> > + FUNCTION must be a function of one argument, and must return either:
> >> > +
> >> > + nil, which is treated as an empty string, or
> >> > + a value that is a sequence of characters, which is either a string,
> >> > + or a vector or list of numbers that are valid character codepoints. */)
> >>
> >> I don't understand the rationale. Isn't nil just one case of an empty
> >> sequence of characters? Why describe it specially?
> >
> >How about the below instead:
> >
> > FUNCTION must be a function of one argument, and must return a value
> > that is a sequence of characters: either a string, or a vector or
> > list of numbers that are valid character codepoints; nil is treated
> > as an empty string.
>
> I agree, this is better.
> From: Stefan Kangas <stefankangas <at> gmail.com>
> Date: Thu, 13 Feb 2025 00:29:27 -0800
> Cc: 76242 <at> debbugs.gnu.org, hong <at> topbug.net
>
> Eli Zaretskii <eliz <at> gnu.org> writes:
>
> > How about the below instead:
> >
> > FUNCTION must be a function of one argument, and must return a value
> > that is a sequence of characters: either a string, or a vector or
> > list of numbers that are valid character codepoints; nil is treated
> > as an empty string.
>
> LGTM.
Thanks, installed on the emacs-30 release branch, and closing the bug.
[Message part 3 (message/rfc822, inline)]
* src/fns.c (Fmapconcat): Explain that FUNCTION can return nil.
---
src/fns.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/fns.c b/src/fns.c
index bee44b222c5e..f02a1b6838da 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -3400,9 +3400,11 @@ SEQUENCE may be a list, a vector, a bool-vector, or a string.
Optional argument SEPARATOR must be a string, a vector, or a list of
characters; nil stands for the empty string.
-FUNCTION must be a function of one argument, and must return a value
- that is a sequence of characters: either a string, or a vector or
- list of numbers that are valid character codepoints. */)
+ FUNCTION must be a function of one argument, and must return either:
+
+ nil, which is treated as an empty string, or
+ a value that is a sequence of characters, which is either a string,
+ or a vector or list of numbers that are valid character codepoints. */)
(Lisp_Object function, Lisp_Object sequence, Lisp_Object separator)
{
USE_SAFE_ALLOCA;
--
2.48.1
This bug report was last modified 99 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.