From: Paul Eggert <eggert@cs.ucla.edu>
To: Eli Zaretskii <eliz@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: Unibyte characters, strings and buffers
Date: Fri, 28 Mar 2014 12:21:04 -0700 [thread overview]
Message-ID: <5335CBA0.5050007@cs.ucla.edu> (raw)
In-Reply-To: <8338i2f95d.fsf@gnu.org>
>> Code that blithly passes bytes in the range 128-255 to char-equal is
>> *already* buggy.
> There's nothing wrong with those bytes, certainly not when they stand
> for Latin-1 characters.
Sure, and if they stand for Latin-1 characters the proposed change will
do the right thing.
> How is it a win, when it actually _adds_ bugs? E.g., under your
> proposal, (char-equal 192 224) will yield non-nil when
> case-fold-search is non-nil.
That's not a bug, since À and à are the same character, ignoring case.
As I understand it, the scenario you're worried about is that someone is
visiting a unibyte buffer and is doing a case-folded search involving
non-ASCII bytes and doesn't want these bytes to match their Latin-1
case-folded counterparts. This scenario is not common enough to worry
about. Changing the behavior for this rare case is a cost, I suppose,
but it's outweighed by the benefit of simplifying case-equal and fixing
its semantics to be a bit saner.
>> Plus, the change is simpler and easier to explain than what we have now,
>> and that is a long-term win.
> I don't see how it is simpler or easier to explain. It replaces one
> lopsided interpretation of 128-255 values with another.
>
It's simpler because it decouples the rules for char-equal from the
question of whether the current buffer is multibyte. Separation of
concerns is a win.
> I suggested a solution: ignore case-fold-search in unibyte buffers.
Sorry, I didn't see that suggestion. It would be better than what we
have now for char-equal, but it would have undesirable side effects
elsewhere. When I type find-file-literally to visit a buffer in
raw-text form, it's more convenient if I can type C-s h t m l (or
whatever) and find "HTML". I'd rather not lose that capability.
next prev parent reply other threads:[~2014-03-28 19:21 UTC|newest]
Thread overview: 103+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-26 19:04 Buffer-local variables affect general-purpose functions Eli Zaretskii
2014-03-26 19:32 ` Paul Eggert
2014-03-26 20:03 ` Eli Zaretskii
2014-03-26 21:50 ` Paul Eggert
2014-03-27 17:42 ` Eli Zaretskii
2014-03-27 18:55 ` Paul Eggert
2014-03-27 14:17 ` Stefan Monnier
2014-03-27 17:17 ` Eli Zaretskii
2014-03-27 21:04 ` Stefan Monnier
2014-03-28 7:11 ` Eli Zaretskii
2014-03-28 7:46 ` Paul Eggert
2014-03-28 8:18 ` Unibyte characters, strings and buffers Eli Zaretskii
2014-03-28 18:42 ` Paul Eggert
2014-03-28 18:52 ` Eli Zaretskii
2014-03-28 19:21 ` Paul Eggert [this message]
2014-03-29 6:40 ` Eli Zaretskii
2014-03-29 18:57 ` Paul Eggert
2014-03-29 19:46 ` Eli Zaretskii
2014-03-28 20:23 ` Stefan Monnier
2014-03-29 19:34 ` Stefan Monnier
2014-03-28 14:12 ` Buffer-local variables affect general-purpose functions Stefan Monnier
2014-03-28 3:38 ` Stephen J. Turnbull
2014-03-28 8:51 ` Unibyte characters, strings, and buffers Eli Zaretskii
2014-03-28 10:28 ` Stephen J. Turnbull
2014-03-28 10:58 ` David Kastrup
2014-03-28 11:22 ` Andreas Schwab
2014-03-28 11:34 ` David Kastrup
2014-03-28 11:42 ` Stephen J. Turnbull
2014-03-28 17:29 ` Eli Zaretskii
2014-03-28 17:50 ` David Kastrup
2014-03-28 18:31 ` Eli Zaretskii
2014-03-28 19:25 ` David Kastrup
2014-03-29 6:43 ` Eli Zaretskii
2014-03-29 7:23 ` David Kastrup
2014-03-29 8:24 ` Eli Zaretskii
2014-03-29 8:40 ` David Kastrup
2014-03-29 9:25 ` Eli Zaretskii
2014-03-28 20:27 ` Stefan Monnier
2014-03-29 9:23 ` Stephen J. Turnbull
2014-03-29 9:52 ` Andreas Schwab
2014-03-29 10:48 ` Eli Zaretskii
2014-03-29 11:00 ` Andreas Schwab
2014-03-29 11:18 ` Eli Zaretskii
2014-03-29 11:30 ` Andreas Schwab
[not found] ` <83ha6hduzz.fsf@gnu.org>
2014-03-29 14:30 ` Andreas Schwab
2014-03-29 14:47 ` Eli Zaretskii
2014-03-29 10:42 ` David Kastrup
2014-03-29 11:07 ` Eli Zaretskii
2014-03-29 11:30 ` David Kastrup
2014-03-29 12:58 ` Eli Zaretskii
2014-03-29 13:15 ` David Kastrup
2014-03-29 10:44 ` Eli Zaretskii
2014-03-29 11:06 ` Andreas Schwab
2014-03-29 11:12 ` Eli Zaretskii
2014-03-29 16:11 ` Stephen J. Turnbull
2014-03-29 15:37 ` Stephen J. Turnbull
2014-03-29 15:55 ` David Kastrup
2014-03-29 16:28 ` Stephen J. Turnbull
2014-03-29 17:00 ` David Kastrup
2014-03-30 2:05 ` Stephen J. Turnbull
2014-03-30 9:01 ` David Kastrup
2014-03-30 12:13 ` Stephen J. Turnbull
2014-03-30 14:25 ` Andreas Schwab
2014-03-30 15:05 ` David Kastrup
2014-03-30 15:39 ` Andreas Schwab
2014-03-29 17:08 ` Andreas Schwab
2014-03-30 0:24 ` Richard Stallman
2014-03-30 3:32 ` Stefan Monnier
2014-03-30 15:13 ` Richard Stallman
2014-03-29 15:58 ` Andreas Schwab
2014-03-29 16:35 ` Stephen J. Turnbull
2014-03-29 17:06 ` Andreas Schwab
2014-03-29 17:01 ` Nathan Trapuzzano
2014-03-29 17:08 ` Nathan Trapuzzano
2014-03-29 17:18 ` David Kastrup
2014-03-29 17:33 ` Nathan Trapuzzano
2014-03-30 0:24 ` Richard Stallman
2014-03-30 8:38 ` Andreas Schwab
2014-03-30 15:12 ` Richard Stallman
2014-03-29 17:16 ` David Kastrup
2014-03-28 18:45 ` Daniel Colascione
2014-03-28 19:35 ` Glenn Morris
2014-03-29 11:17 ` Stephen J. Turnbull
2014-03-29 11:22 ` Eli Zaretskii
2014-03-29 16:03 ` Stephen J. Turnbull
2014-03-31 15:22 ` Eli Zaretskii
2014-04-01 3:36 ` Stephen J. Turnbull
2014-04-01 7:42 ` David Kastrup
2014-04-01 9:38 ` Stephen J. Turnbull
2014-04-01 15:19 ` Eli Zaretskii
2014-04-01 15:16 ` Eli Zaretskii
2014-04-02 4:20 ` Stephen J. Turnbull
2014-04-02 17:06 ` Eli Zaretskii
2014-04-03 10:59 ` David Kastrup
2014-04-03 16:07 ` Eli Zaretskii
2014-04-03 16:26 ` David Kastrup
2014-04-03 19:11 ` Eli Zaretskii
2014-04-03 20:03 ` David Kastrup
2014-04-04 0:48 ` Stephen J. Turnbull
2014-04-04 8:08 ` Eli Zaretskii
2014-04-04 7:58 ` Eli Zaretskii
2014-04-04 11:40 ` Richard Stallman
2014-04-03 13:04 ` Stephen J. Turnbull
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
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5335CBA0.5050007@cs.ucla.edu \
--to=eggert@cs.ucla.edu \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
/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 public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).