unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Paul Pogonyshev <pogonyshev@gmx.net>
Cc: emacs-devel@gnu.org
Subject: Re: weird bug with `Russian-computer'?
Date: Mon, 4 Jul 2005 19:03:01 +0300	[thread overview]
Message-ID: <200507041903.01060.pogonyshev@gmx.net> (raw)
In-Reply-To: <87fyuvtgox.fsf@jurta.org>

Juri Linkov wrote:
> > With the `Russian-computer' input method, S-/ combination produces a
> > comma (instead of a question mark with standard English.)  That is OK and
> > the way it should be.
>
> Perhaps you have a US keyboard layout with `?' on the same key as `/'.
> Finnish keyboards have quite a different layout where `?' is on the
> same key as `+', and it is produced by `S-+'.  Other keyboards have
> other layouts, but anyhow I understand how to reproduce the problem.
> What is essential here is to press shift with the `?' key, because the
> `russian-computer' input method maps `?' to `,'.

Yes, I use US and Russian keyboard layouts.

> > However, when I start incremental search, the key works as in
> > English, while the rest of the keyboard keeps producing Russian
> > letters etc.
>
> The root of the problem is in `isearch-mode-map' which binds `?' to
> `isearch-*-char'.  When you type a key corresponding to `?' with
> the input method, `isearch-*-char' intercepts it and interprets as
> the regexp special character `?'.
>
> The following patch fixes this problem by sending the input character
> to `isearch-process-search-char' which takes care of processing the
> character according to the current input method.  Also a new condition
> was added before processing a regexp character.  If an input method is
> active, it processes a regexp character only if a typed character is
> the same with and without an input method, so that all input methods
> that don't redefine regexp characters won't be affected.

Works for me, thanks.  However, why ``only if a typed character is the
same with and without an input method''?  Maybe it should just process
the character _after_ it has been processed/converted by the input method,
as opposed to processing it _before_, as currently.  So, S-7 in `russian-
computer' would trigger special '?' character processing.

(I don't know how input methods works in Emacs, though...)

Paul

  reply	other threads:[~2005-07-04 16:03 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-07-03 21:27 weird bug with `Russian-computer'? Paul Pogonyshev
2005-07-04  0:03 ` Miles Bader
2005-07-04  0:44 ` Juri Linkov
2005-07-04 16:03   ` Paul Pogonyshev [this message]
2005-07-05  5:27     ` Juri Linkov
2005-07-11 21:47       ` Paul Pogonyshev
2005-07-12  6:56         ` Juri Linkov

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=200507041903.01060.pogonyshev@gmx.net \
    --to=pogonyshev@gmx.net \
    --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).