Subject: Characters garbled in self-insert-command

From: Juri Linkov <[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/