unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Bruno Haible <bruno@clisp.org>
Cc: sds@gnu.org, emacs-devel@gnu.org
Subject: Re: case-insensitive string comparison
Date: Tue, 26 Jul 2022 22:30:21 +0300	[thread overview]
Message-ID: <83wnbzbrjm.fsf@gnu.org> (raw)
In-Reply-To: <21545625.EfDdHjke4D@nimes> (message from Bruno Haible on Tue, 26 Jul 2022 20:56:10 +0200)

> From: Bruno Haible <bruno@clisp.org>
> Cc: sds@gnu.org, emacs-devel@gnu.org
> Date: Tue, 26 Jul 2022 20:56:10 +0200
> 
> Eli Zaretskii wrote:
> > With the
> > current machinery, a Lisp program or a user can control up/down-casing
> > by specifying a buffer-local case-table, and we won't give up this
> > important functionality.
> 
> For which types of users, and for which use-cases, do you consider this an
> "important functionality"?

One example that immediately comes to mind is when you need to downcase
strings without being hit by the case of 'I' in the Turkish locale.
We use this, for example, when parsing various Internet protocols.

More importantly, Emacs had this feature for many years, so suddenly
losing it is not really a possibility.

> Recall that the Unicode casing tables already cover the special cases for
> 'ß', Turkisch i, and so on.

We have the infrastructure for supporting that, and do so in locales
where that is required.  In particular, Emacs imports the data from
the Unicode SpecialCasing.txt file.

> I'd like to understand whether per-user customization of casing rules is
> so important that libunistring should offer it in the API (as opposed to
> requiring code modifications).
> 
> LibreOffice, for example, allows per-user customizations of the spell-
> checking dictionary, but not of the casing tables. Is that a flaw, and why?

Emacs is not only a text-editing program, it is primarily a
text-processing environment.  When you write programs that process
text, control of case conversions is sometimes important.

Whether this means libunistring needs to grow such an API, I don't
know.



  reply	other threads:[~2022-07-26 19:30 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-19 17:27 case-insensitive string comparison Sam Steingold
2022-07-19 18:06 ` Mattias Engdegård
2022-07-19 18:56   ` Sam Steingold
2022-07-20  4:39     ` tomas
2022-07-20 11:35       ` Eli Zaretskii
2022-07-20 13:30         ` tomas
2022-07-19 18:16 ` Stefan Kangas
2022-07-19 19:39 ` Roland Winkler
2022-07-19 22:47   ` Sam Steingold
2022-07-20  2:21     ` Roland Winkler
2022-07-20  3:01     ` Stefan Monnier
2022-07-20 16:22       ` Sam Steingold
2022-07-25 14:23         ` Sam Steingold
2022-07-25 15:58           ` Eli Zaretskii
2022-07-25 19:39             ` Sam Steingold
2022-07-26 13:05               ` Eli Zaretskii
2022-07-26 14:16                 ` Sam Steingold
2022-07-26 15:53                   ` Eli Zaretskii
2022-07-26 16:00                     ` Sam Steingold
2022-07-26 16:16                     ` Lars Ingebrigtsen
2022-07-26 14:43                 ` Robert Pluim
2022-07-25 19:37           ` Bruno Haible
2022-07-26  3:24           ` Richard Stallman
2022-07-26  8:00             ` Helmut Eller
2022-07-26 12:21               ` Eli Zaretskii
2022-07-27  2:58               ` Richard Stallman
2022-07-31  8:24                 ` Eli Zaretskii
2022-07-26 14:28             ` Sam Steingold
2022-07-26 15:42               ` Sam Steingold
2022-07-26 16:10               ` Eli Zaretskii
2022-07-26 18:56                 ` Bruno Haible
2022-07-26 19:30                   ` Eli Zaretskii [this message]
2022-07-20 16:24       ` Roland Winkler
2022-07-20 17:06         ` Sam Steingold
2022-07-20 17:16           ` Eli Zaretskii
2022-07-20 17:12         ` Eli Zaretskii
2022-07-20 17:37           ` Roland Winkler
2022-07-20 17:50             ` Eli Zaretskii
2022-07-20 18:10               ` Roland Winkler
2022-07-20 18:16                 ` Eli Zaretskii
2022-07-20 18:18                   ` [External] : " Drew Adams
2022-07-21  6:56                   ` Eli Zaretskii
2022-07-21 14:19                     ` Roland Winkler
2022-07-21 15:53                       ` Eli Zaretskii
2022-07-21 16:35                         ` Roland Winkler

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=83wnbzbrjm.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=bruno@clisp.org \
    --cc=emacs-devel@gnu.org \
    --cc=sds@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).