Subject: bug#4037 closed by Eli Zaretskii <[email-masked]> (Re: bug#4240: 23.1.50; C-u doesn't work with Swedish characters)

From: [email-masked] (Emacs bug Tracking System)
Date: Fri, 28 Aug 2009 08:55:11 +0000

This is an automatic notification regarding your bug report
which was filed against the emacs package:

#4037: Characters garbled in self-insert-command

It has been closed by Eli Zaretskii <[email-masked]>.

Their explanation is attached below along with your original report.
If this explanation is unsatisfactory and you have not received a
better one in a separate message then please contact Eli Zaretskii <[email-masked]> by
replying to this email.

-- 
4037: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=4037
Emacs Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#4240: 23.1.50; C-u doesn't work with Swedish characters
From: Eli Zaretskii <[email-masked]>
To: Kenichi Handa <[email-masked]>
Cc: [email-masked], [email-masked], [email-masked], [email-masked]
Date: Fri, 28 Aug 2009 11:52:21 +0300

> From: Kenichi Handa <[email-masked]>
> Cc: [email-masked], [email-masked], [email-masked]
> Date: Thu, 27 Aug 2009 15:23:25 +0900
> 
> In article <[email-masked]>, Stefan Monnier <[email-masked]> writes:
> 
> >>> > Please see bug#4037:
> >>> > http://debbugs.gnu.org/cgi/bugreport.cgi?bug=4037
> >>> > I received no confirmation that my proposed fix is correct.
> >>> I think those two lines are not necessary anymore and should be
> >>> removed (together with the comments which explain their need).  I
> >>> think they belong to the old pre-unicode days when raw eight-bit
> >>> characters needed such special treatment.
> 
> > I believe you're right.  Nowadays, the keyboard-decoding should always
> > take place before we get to that point.
> 
> Sorry for the late responce on this matter.  Yes, that
> unibyte->multibyte conversion is not necessary.  I've just
> installed a fix.

Thanks.  I'm closing the two related bug reports.

Subject: Characters garbled in self-insert-command
From: Juri Linkov <[email-masked]>
To: [email-masked]
Date: Tue, 04 Aug 2009 22:27:42 +0300

I just noticed a regression against Emacs 22.

In GNU Emacs 23.1.50 (x86_64-pc-linux-gnu) typing

  C-u 5 C-x 8 ' a

inserts into the current buffer

  á\341\341\341á

whereas in GNU Emacs 22.1.1 typing the same correctly inserts

  ááááá

The command `self-insert-command' in Emacs 23 inserts the first
and the last characters without any modifications, but applies
the following conversion for the remaining characters:

	/* Add the offset to the character, for Finsert_char.
	   We pass internal_self_insert the unmodified character
	   because it itself does this offsetting.  */
	if (! NILP (current_buffer->enable_multibyte_characters))
	  modified_char = unibyte_char_to_multibyte (modified_char);

Commenting out the above 2 lines produces the correct result.
However, I'm not sure what is the right fix.

-- 
Juri Linkov
http://www.jurta.org/emacs/