unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: rms@gnu.org
Cc: sb@dod.no, emacs-devel@gnu.org
Subject: Re: Questions about isearch
Date: Thu, 26 Nov 2015 18:22:48 +0200	[thread overview]
Message-ID: <83h9k8vig7.fsf@gnu.org> (raw)
In-Reply-To: <E1a1xoH-0004xa-TP@fencepost.gnu.org>

> From: Richard Stallman <rms@gnu.org>
> Date: Thu, 26 Nov 2015 09:46:09 -0500
> Cc: emacs-devel@gnu.org
> 
> It seems that perhaps we need these correspondences to depend
> on the language in use.
> 
> That's true for case conversion as well.  For instance the way
> to upcase 'i' is 'I' in most languages, but in Turkish it's a
> character I can't find a way to enter in Emacs.

(That character is, İ, U+0130 LATIN CAPITAL LETTER I WITH DOT ABOVE.)

IMO, it is more important to have language-independent matching in
Emacs.  Language-specific rules are also needed in some situations,
but they are secondary for Emacs.

> It seems to me that we want to introduce a concept of current language

It's a problematic concept for Emacs, which is a multi-lingual
environment.  For example, what is the "current language" of the
buffer showing this message?  It cannot be US English, since it
includes characters not in that language, and can easily include
Turkish words.  Or consider the etc/HELLO file.

We could probably have a text property which will specify the
language, but we don't have good means to set such a property.  IOW,
where that information would come from?

> which would control these things, and also the language for spell checking,
> and maybe some other things.

Actually, modern spell-checkers can support multiple languages in the
same spell-checking job (in a nutshell, they check dictionaries for
each language they were told to use).

In any case, a spell-checker has a simpler job in this respect: it
checks one word at a time, so all it needs is the language for that
one word.  Conceptually, this is much simpler than what Emacs needs.

> In some cases, the current language is determined by which characters
> appear.  That would work fine for scripts that are used for just one
> language.  It would be hard to do that for Latin scripts, though.
> For latin scripts one might always have to specify it explicitly,
> but it could be specified by a file local variable or other such
> per-file customization mechanism.

We already know which script each character belongs to:

  (aref char-script-table ?a) => latin

But, as you say, this only rarely helps to deduce the language.

> The language environment, which already exists, is something
> different.  It controls how to recognize character codings, and
> therefore has to be global.  The current language should be per-buffer
> and perhaps should vary between parts of a buffer.  So they can't
> be the same thing.

Indeed.  But defining the current language of a buffer isn't
sufficient, either, for Emacs.

For that reason, we generally provide language-agnostic sorting,
searching, etc.




  reply	other threads:[~2015-11-26 16:22 UTC|newest]

Thread overview: 94+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-25 18:41 Questions about isearch Eli Zaretskii
2015-11-25 19:20 ` Rasmus
2015-11-25 20:02   ` Steinar Bang
2015-11-26 14:46     ` Richard Stallman
2015-11-26 16:22       ` Eli Zaretskii [this message]
2015-11-26 20:46         ` Per Starbäck
2015-11-26 21:02           ` Eli Zaretskii
2015-11-26 21:35             ` Marcin Borkowski
2015-11-27  7:43               ` Eli Zaretskii
2015-11-27  6:38             ` Richard Stallman
2015-11-27  8:53               ` Eli Zaretskii
2015-11-27 16:21               ` raman
2015-11-26 23:18           ` Rasmus
2015-11-27  7:46             ` Eli Zaretskii
2015-11-27  6:37         ` Richard Stallman
2015-11-27  8:39           ` Eli Zaretskii
2015-11-25 20:10   ` Eli Zaretskii
2015-11-25 20:41     ` Mike Kupfer
2015-11-25 20:56       ` Eli Zaretskii
2015-11-25 20:14 ` Artur Malabarba
2015-11-25 20:30   ` Marcin Borkowski
2015-11-25 20:38     ` Eli Zaretskii
2015-11-25 21:58       ` Artur Malabarba
2015-11-25 23:04         ` Mike Kupfer
2015-11-26  3:40           ` Eli Zaretskii
2015-11-27 19:50             ` Mike Kupfer
2015-11-27 20:06               ` Eli Zaretskii
2015-11-27 23:57                 ` Artur Malabarba
2015-11-28  1:36                 ` Mike Kupfer
2015-11-28  9:28                   ` Eli Zaretskii
2015-11-26 13:28         ` Steinar Bang
2015-11-25 20:36   ` Eli Zaretskii
2015-11-25 21:49     ` Artur Malabarba
2015-11-26  3:34       ` Eli Zaretskii
2015-11-27 12:03     ` Artur Malabarba
2015-11-27 14:36       ` Eli Zaretskii
2015-11-27 16:50         ` Per Starbäck
2015-11-27 18:10           ` Artur Malabarba
2015-11-27 18:42             ` Per Starbäck
2015-11-27 21:33           ` raman
2016-02-28  0:27           ` Mathias Dahl
2016-02-28 15:58             ` Eli Zaretskii
2016-02-28 17:52               ` Mathias Dahl
2016-02-28 18:02                 ` Eli Zaretskii
2016-02-29 13:32                   ` Richard Stallman
2016-02-29 16:04                     ` Eli Zaretskii
2016-03-01 16:52                       ` Richard Stallman
2015-11-27 16:55         ` Artur Malabarba
2015-11-27 17:52           ` Eli Zaretskii
2015-11-27 21:18           ` Stephen Berman
2015-11-28  0:04             ` Artur Malabarba
2015-11-28  7:49               ` Eli Zaretskii
2015-11-28 16:14               ` Stephen Berman
2015-11-28  5:36             ` Richard Stallman
2015-11-28  8:33               ` Eli Zaretskii
2015-11-28  8:40               ` Marcin Borkowski
2015-11-28  9:46                 ` Eli Zaretskii
2015-11-28 10:23                   ` Artur Malabarba
2015-11-28 11:14                     ` Eli Zaretskii
2015-11-28 14:41                     ` Eli Zaretskii
2015-11-28 15:41                       ` Artur Malabarba
2015-11-28 16:29                         ` Artur Malabarba
2015-11-28 17:27                           ` Eli Zaretskii
2015-11-28 17:44                           ` Eli Zaretskii
2015-11-28 18:31                             ` Artur Malabarba
2015-11-28 18:57                               ` Eli Zaretskii
2015-11-28 20:00                                 ` Artur Malabarba
2015-11-28 20:08                                   ` Artur Malabarba
2015-11-28 20:47                                     ` Eli Zaretskii
2015-11-28 16:48                     ` character folding future [was: Questions about isearch] Drew Adams
2015-11-28 18:34                       ` Artur Malabarba
2015-12-01 11:34                       ` Artur Malabarba
2015-12-01 15:48                         ` Drew Adams
2015-12-03 23:54                           ` Artur Malabarba
2015-11-29  6:03                     ` Questions about isearch Richard Stallman
2015-11-29 15:48                       ` Eli Zaretskii
2015-11-29  9:39                     ` Andreas Röhler
2015-11-29 15:52                       ` Eli Zaretskii
2015-11-30  9:39                         ` Andreas Röhler
2015-11-30 15:53                           ` Eli Zaretskii
2015-11-30 16:05                       ` Paul Eggert
2015-11-26 16:08   ` Rasmus
2015-11-25 23:15 ` Mike Kupfer
2015-11-26 14:45 ` Richard Stallman
2015-11-27  0:43 ` Juri Linkov
2015-11-27  8:07   ` Eli Zaretskii
2015-11-27 23:24     ` Juri Linkov
2015-11-28  8:09       ` Eli Zaretskii
2015-11-27  8:02 ` Andreas Röhler
2015-11-27  8:57   ` Eli Zaretskii
2015-11-27 10:03     ` Artur Malabarba
2015-11-27 10:29       ` Eli Zaretskii
2015-11-27 10:47         ` Artur Malabarba
2015-11-29  9:08       ` Andreas Röhler

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=83h9k8vig7.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=rms@gnu.org \
    --cc=sb@dod.no \
    /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).