Discussion:
[Bug 162] New: #"mapfam returns `nil' when the `:separator' keyword is used on lists with more than 3 elements
i***@sxemacs.org
2013-10-02 03:16:13 UTC
Permalink
http://issues.sxemacs.org/show_bug.cgi?id=162

Bug ID: 162
Summary: #"mapfam returns `nil' when the `:separator' keyword
is used on lists with more than 3 elements
Classification: Unclassified
Product: SXEmacs
Version: 22.1.15
Hardware: PC
OS: Linux
Status: NEW
Severity: major
Priority: P1
Component: Core Lisp
Assignee: ***@sxemacs.org
Reporter: ***@sxemacs.org
QA Contact: sxemacs-***@sxemacs.org

This bug prevents SXEmacs from being built with emodule support. The build
dies with "No such file or directory: .sxemacs.source.tree/modules/modules"

It is because #'find-emod-directories in build-autoloads.el uses #'mapfam on
`module-extensions' which is a list of 5 elements.

I will replace that particular use of #'mapfam with a #'mapconcat to fix the
build, but this bug still needs to be fixed.

Caveat: Only seems to be happening on SXEmacsen built with gcc 4.8.1 on glibc
2.18

(mapfam #'identity
:separator " "
:result-type #'concat
'("1" "2" "3"))
=> "1 2 3"

(mapfam #'identity
:separator " "
:result-type #'concat
'("1" "2" "3" "4"))
=> nil

Interestingly, if you add a :terminator, and/or :initiator, your list can be
one element longer before it craps out again...

(mapfam #'identity
:initiator "["
:separator " "
:result-type #'concat
'("1" "2" "3" "4"))
=> "[1 2 3 4"

(mapfam #'identity
:initiator "["
:separator " "
:result-type #'concat
'("1" "2" "3" "4" "5"))
=> nil

Assigning to Sebastian because nobody knows this code like he does. Sebastian,
if fatherhood (or any other reason) should prevent you from digging into this
for us, please let me know so I can get somebody else's eyes onto it.
Otherwise, we're all really looking forward to seeing more code from you. :)
--
You are receiving this mail because:
You are the QA Contact for the bug.
i***@sxemacs.org
2013-10-06 08:26:30 UTC
Permalink
http://issues.sxemacs.org/show_bug.cgi?id=162

Sebastian Freundt <***@sxemacs.org> changed:

What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED

--- Comment #1 from Steve Youngs <***@sxemacs.org> ---
I've committed a work-around. All it does is replace any use of #'mapfam that
is using the :separator keyword with it's #'mapconcat equivalent. It'll need
to be reverted once this issue is fixed.

Other uses of #'mapfam seem to be OK.

--- Comment #2 from Sebastian Freundt <***@sxemacs.org> ---
Yep, I can reproduce it. Happens with glibc 2.17 and gcc 4.8.1 too.

--- Comment #3 from Sebastian Freundt <***@sxemacs.org> ---
Ought to be fixed in f303f85

repo: https://github.com/hroptatyr/sxemacs.git
branch: for-steve or bug/162

--- Comment #4 from Sebastian Freundt <***@sxemacs.org> ---
Ought to be fixed in f303f85

repo: https://github.com/hroptatyr/sxemacs.git
branch: for-steve or bug/162
--
You are receiving this mail because:
You are the QA Contact for the bug.
Steve Youngs
2015-12-13 13:58:36 UTC
Permalink
Post by i***@sxemacs.org
http://issues.sxemacs.org/show_bug.cgi?id=162
Ignore this nonsense. This mail was the result of running "Sanity
Check" on our bugzilla. Apologies for the noise.
--
|---<Steve Youngs>---------------<GnuPG KeyID: A94B3003>---|
| SXEmacs - The only _______ you'll ever need. |
| Fill in the blank, yes, it's THAT good! |
|------------------------------------<***@sxemacs.org>---|
i***@sxemacs.org
2016-05-06 08:07:02 UTC
Permalink
http://issues.sxemacs.org/show_bug.cgi?id=162

Steve Youngs <***@sxemacs.org> changed:

What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |CLOSED
--
You are receiving this mail because:
You are the QA Contact for the bug.
Loading...