[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Can't isearch 'ö'

From: Kenichi Handa
Subject: Re: Can't isearch 'ö'
Date: Mon, 18 Apr 2005 14:16:02 +0900 (JST)
User-agent: SEMI/1.14.3 (Ushinoya) FLIM/1.14.2 (Yagi-Nishiguchi) APEL/10.2 Emacs/22.0.50 (sparc-sun-solaris2.6) MULE/5.0 (SAKAKI)

In article <address@hidden>, Stefan Monnier <address@hidden> writes:

>>  No, I can't.  But shouldn't we avoid such an incompatible
>>  change at this stage?

> Can be.  But since it's about a year now since we called a freeze and I see
> no sign of getting to the pretest stage, I figure I don't understand enough
> what "feature freeze" means: I just propose changes and I'll let someone
> else decide whether they should be installed.
> I think it's The Right Way to solve the problem, so that's what I use in my
> local code, but if someone wants to write a "quick&safe" fix instead and use
> that instead I see no problem with it.  I'm still interested to know whether
> I'm right or not in thinking that my fix is The Right Way.

The very right way is to shift to emacs-unicode.  As long as
we have multiple character codes for characters that user
don't want to distinguish, any fix is just a dirty work
around.   And, for the current case, I think the quick&safe
work around is something like attached.

Your patch may fix not only the current case but also the
other cases, but may break some case.  My patch fix only the
current case and won't break the other case.

>>>  Hypothetical examples aren't too interesting since we can also
>>>  concoct such examples where the current "translate in
>>>  self-insert-command" can be made to fail.

>>  I didn't know that self-insert-command also uses
>>  translation-table-for-input.  I have thought that the
>>  variable is for an input method as in this docstring:

>>  Char table for translating self-inserting characters.
>>  This is applied to the result of input methods, not their input.  See also
>>  `keyboard-translate-table'.

>>  Anyway, could you show me such an example?

> Let's see:

>       (insert (with-current-buffer foo
>                 (buffer-substring (point)
>                                   (progn
>                                     (call-interactively 'self-insert-command)
>                                     (point)))))

> Yes, it's silly,

As it's too silly, we can't guess what is the right
behaviour.  Perhaps, the reason for using "foo" buffer is
that the author wanted to translate a character in that
buffer, then, the above does what expected.

Ken'ichi HANDA

*** isearch.el  21 Mar 2005 11:32:26 +0900      1.261
--- isearch.el  18 Apr 2005 13:34:38 +0900      
*** 1805,1810 ****
--- 1805,1812 ----
  (defun isearch-process-search-char (char)
    ;; Append the char to the search string, update the message and re-search.
+   (if (char-table-p translation-table-for-input)
+       (setq char (or (aref translation-table-for-input char) char)))
     (char-to-string char)
     (if (>= char ?\200)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]