>>>> "sjt" == Stephen J Turnbull
<stephen(a)xemacs.org> writes:
>>>> "Jerry" == Jerry James
<james(a)xemacs.org> writes:
Jerry> If BBDB is not a problem or can be fixed easily, I propose
Jerry> that we patch the tests to make them conform to the new
Jerry> behavior.
sjt> There are two cases where I really don't like the new
sjt> behavior, and that's when SEPARATORS is "\n", and when the
sjt> target is a csv file.
sjt> Especially in the latter case null-string elements of the
sjt> list are significant.
OK, I've talked to Ben about it by phone, and he says that he didn't
think about the change in behavior when he did the sync, and that he
agrees that csv is a valid concern. He didn't want to express an
opinion on whether we should sync split-string to GNU and have a
separate function to implement the old behavior, or not sync.
I personally think that
(split-string ",,data,," ",") => ("" "data"
"")
is extremely bogus behavior. I can't imagine ever wanting that, while
the idiom (delete "" (split-string ",,data,," ",")) is very
natural.
Python uses the old XEmacs behavior, Perl preserves the leading empty
field but strips _all_ trailing empty fields (not just the last one)
by default, but this can be modified to preserve all empty fields.
Perl's split cannot be induced to give the GNU behavior.
However, I can't find discussion of this change in the ML archives at
savannah.gnu.org. That means it must be ancient. Since we haven't
had thousands of new recruits coming because they're disgusted with
the behavior of GNU Emacs split-string, I guess if people want to sync
to GNU behavior, I'll just add a separate function
(split-string-sanely, I think I'll call it ;-).
BTW, Ben is buried in email and snail mail, slowly digging his way
out. He says he'll try to answer personal mail more quickly.
--
Institute of Policy and Planning Sciences
http://turnbull.sk.tsukuba.ac.jp
University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Ask not how you can "do" free software business;
ask what your business can "do for" free software.