all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Per Starbäck" <per@starback.se>
To: "emacs-devel@gnu.org" <emacs-devel@gnu.org>
Cc: Eli Zaretskii <eliz@gnu.org>, sb@dod.no, rms@gnu.org
Subject: Re: Questions about isearch
Date: Thu, 26 Nov 2015 21:46:49 +0100	[thread overview]
Message-ID: <CADkQgvtg=vfPM0Xk9CGmc3TFAVasAU4qKtqxjz=tf4ss5u+oXA@mail.gmail.com> (raw)
In-Reply-To: <83h9k8vig7.fsf@gnu.org>

> 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

Yes! The language of a buffer is something I have wished for a long
long time, probably using minor modes. It has primarily been to have
the correct ispell dictionary and to have different abbrevs depending
on language.

With the new search folding it is much more needed.

> 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's in English.

>  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.

I don't understand at all what you are saying here. Yes, of course
Turkish words (and any character) can be in an English text. That
doesn't make it false that it is in English. Do you just mean that it
can be hard do determine the language of a text automatically?

> 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?

I don't envision a text property, but just a value for the buffer,
because it is much easier and good enough for most things. Yes, there
are situations where you might want to differentiate it like that, but
that goes for other things we have in modes as well. (It would
sometimes be nice to get Javascript mode for part of an HTML file
etc.)

So from where do we get it? Normally from the user. Many users mostly
write in a few languages, like Swedish and English to take myself as
an example. What I want is an indication "en" or "sv" somewhere in the
information line and commands to toggle between my favourite
languages.

Sometimes it can be determined automatically. For example when opening
a html file Emacs could look at the "lang" attribute, in a LaTeX file
it could see how you use packages like Babel or Polyglossia. And in
any text file various methods (like n-gram frequencies) can be used to
try to identify the language automatically.

I think the focus should be on buffers being able to have a (natural)
language, and commands to change that. It would be quite sufficient
with:
 * a setting listing what languages I normally want to use (the first
one being the default)
 * a cycling command that sets the language to the next in that list
(that is a toggle when you have a two-list)
 * a command to explicitly set any valid value

Anything else can be done a lot later, and as experiments outside of
the core. Automatic detection is neat, but not really needed. And
exactly what changes the different languages need to do will be
determined part by part by time in different language communities. The
important thing is that there is some hook to hang your code on.

* Why it is so important, now with the new search folding *

For Scandinavians it is really important, because (with Swedish as
example) åäö are really totally their own letters in the Swedish
alphabet, regardless of their historic origin. To have a search for
"varpa" in a Swedish text find "värpa" or "varpå" would be just wrong.
It would give a strong impression of this being an American program
not meant to be used for Swedish.

An analogue would be finding "jamb" when looking for "iamb" in
English, where I and J are totally different letters, even though they
originally (in Latin) were the same. Or you start an isearch for
"valid" and after the first four letters you are inside "dualism". (U
and V also were the same letter originally.) Confusing and irritating,
and something to make people turn off this search folding which would
be sad, because it's a nice thing to have.



  reply	other threads:[~2015-11-26 20:46 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
2015-11-26 20:46         ` Per Starbäck [this message]
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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CADkQgvtg=vfPM0Xk9CGmc3TFAVasAU4qKtqxjz=tf4ss5u+oXA@mail.gmail.com' \
    --to=per@starback.se \
    --cc=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 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.