From: Thibaut Verron <thibaut.verron@gmail.com>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: emacs-devel <emacs-devel@gnu.org>
Subject: Re: string> missing?
Date: Thu, 4 Jun 2015 07:30:08 +0200 [thread overview]
Message-ID: <CAFsi02T4N9uaE53XORn+bjOxNW12hZ2_5GDHXY55QXm05ARUEA@mail.gmail.com> (raw)
In-Reply-To: <jwvpp5cxwgc.fsf-monnier+emacs@gnu.org>
2015-06-04 0:25 GMT+02:00 Stefan Monnier <monnier@iro.umontreal.ca>:
>
> > testing strings for equality in emacs lisp is already tricky enough!
>
> Now, regardless of whether I agree with the rest of what is being said
> in this thread, this part really puzzles me. I do think there are some
> tricky/subtle issues in string equality testing in Emacs, but these are
> sufficiently subtle that most people will never know about them.
>
> So, what are you referring to here?
>
Mostly to this:
(setq str1 "foo")
(setq str2 "foo")
(setq str3 str1)
(= str1 str2) ;;==> *error*
(eq str1 str2) ;;==> nil
(eq str1 "foo") ;;==> nil
(eq str1 str3) ;;==> nil
(string= str1 str2) ;;==> t
The first two candidates for a newcomer to string testing don't return
the expected result, because = is really number=, and eq does not test
for structural equality (and is basically useless for strings, as I
understand it). Now maybe tricky is a strong word, after all it is
properly documented once you notice the issue. And I wouldn't be able
to suggest a better way of exposing these functions.
For the thread at hand, obviously if one is looking for a string>
function, one knows about string=. But I can't help but imagine a
developer running into both annoyances on the same day: the first one
has deep roots, but the second one is trivial to fix, couldn't we
spare him that?
Thibaut
next prev parent reply other threads:[~2015-06-04 5:30 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-03 9:05 string> missing? Nicolas Petton
2015-06-03 14:51 ` Eli Zaretskii
2015-06-03 15:03 ` Nicolas Petton
2015-06-03 15:26 ` Tassilo Horn
2015-06-03 15:46 ` Nick Andryshak
2015-06-03 15:55 ` Eli Zaretskii
2015-06-03 16:10 ` Nick Andryshak
2015-06-03 16:42 ` Eli Zaretskii
2015-06-03 16:50 ` Nick Andryshak
2015-06-03 18:10 ` Andreas Schwab
2015-06-03 19:13 ` Alan Mackenzie
2015-06-03 19:13 ` Eli Zaretskii
2015-06-03 19:34 ` Nick Andryshak
2015-06-03 19:53 ` Eli Zaretskii
2015-06-03 20:11 ` Nick Andryshak
2015-06-03 20:37 ` Jay Belanger
2015-06-03 20:53 ` Nick Andryshak
2015-06-03 21:35 ` Jay Belanger
2015-06-03 21:36 ` Thibaut Verron
2015-06-03 22:25 ` Stefan Monnier
2015-06-04 5:30 ` Thibaut Verron [this message]
2015-06-04 7:44 ` Nicolas Richard
2015-06-04 8:08 ` Thibaut Verron
2015-06-04 15:33 ` Stefan Monnier
2015-06-03 22:28 ` Stefan Monnier
2015-06-04 2:50 ` Eli Zaretskii
2015-06-04 6:43 ` Tassilo Horn
2015-06-04 7:02 ` Bozhidar Batsov
2015-06-04 7:53 ` Gnus & Mail-Followup-To (was: string> missing?) Nicolas Richard
2015-06-04 9:04 ` Gnus & Mail-Followup-To Tassilo Horn
2015-06-04 12:50 ` Nicolas Richard
2015-06-05 17:07 ` Tassilo Horn
2015-06-06 8:48 ` Nicolas Richard
2015-06-04 4:20 ` string> missing? Thierry Volpiatto
2015-06-04 15:52 ` Nicolas Petton
2015-06-03 21:24 ` Richard Stallman
2015-06-04 15:07 ` Eli Zaretskii
2015-06-05 17:56 ` Richard Stallman
2015-06-05 19:04 ` Eli Zaretskii
2015-06-05 20:40 ` Tassilo Horn
2015-06-05 21:35 ` Ivan Shmakov
2015-06-05 21:53 ` Tassilo Horn
2015-06-05 22:04 ` Tassilo Horn
2015-06-06 6:40 ` Eli Zaretskii
2015-06-06 8:53 ` Tassilo Horn
2015-06-07 0:28 ` Richard Stallman
2015-06-06 1:52 ` Richard Stallman
2015-06-06 7:57 ` Eli Zaretskii
2015-06-07 0:28 ` Richard Stallman
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAFsi02T4N9uaE53XORn+bjOxNW12hZ2_5GDHXY55QXm05ARUEA@mail.gmail.com \
--to=thibaut.verron@gmail.com \
--cc=emacs-devel@gnu.org \
--cc=monnier@iro.umontreal.ca \
/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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.