bug#4037: Characters garbled in self-insert-command

Juri Linkov <[email protected]>
Newsgroups gmane.emacs.bugs,gmane.emacs.pretest.bugs
Organization JURTA
Message-ID <[email protected]>
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/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.