unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Steve Revilak <steve@srevilak.net>, Kenichi Handa <handa@m17n.org>
Cc: 8122@debbugs.gnu.org
Subject: bug#8122: 23.2.94; (prefer-coding-system 'utf-8) changes indentation behavior for	emacsclient
Date: Sat, 26 Feb 2011 18:40:32 +0200	[thread overview]
Message-ID: <83y652oikf.fsf@gnu.org> (raw)
In-Reply-To: <20110226143116.GB6286@srevilak.net>

> Date: Sat, 26 Feb 2011 09:31:16 -0500
> From: Steve Revilak <steve@srevilak.net>
> Cc: 
> 
> (1) Start emacs in daemon mode, as follows:
>      env TMPDIR=$HOME/tmp emacs  -Q --eval "(prefer-coding-system 'utf-8)" --daemon
> 
> (2) Use emacsclient to connect to the server started in step (1),
>      editing a new text file.
>      rm -f a.txt
>      env TMPDIR=$HOME/tmp emacsclient a.txt
> 
> (3) In the buffer for a.txt, type the lines that appear below.  Do not
>      press return after typing "ccc"
> 
> aaa
> bbb
> 
>    ccc
> 
> (4) With point at the end of line "ccc", press RETURN.  If "ccc"
>      appeared in line 5 of the buffer, then the cursor will appear at
>      line 6, column 2.  
> 
> Expected behavior: after pressing RETURN, the cursor should have
> appeared line line 6, column 0.

I found the reason for this: when keyboard-coding-system is utf-8,
typing RET is decoded as C-j.  If you start the Emacs daemon like
this:

 emacs  -Q --eval "(prefer-coding-system 'utf-8-unix)" --daemon
                                          ^^^^^^^^^^
the problem goes away.

This happens because, unlike set-keyboard-coding-system, which adds
"-unix" to its argument, we don't do the same when we set up
default-keyboard-coding-system.

(This problem is quite old; I guess no one used
default-keyboard-coding-system until the change I made in terminal.c
exposed this bug.)

I propose the following change to fix this:

--- lisp/international/mule-cmds.el~0	2011-01-08 12:45:14.000000000 -0500
+++ lisp/international/mule-cmds.el	2011-02-26 11:32:22.483284753 -0500
@@ -368,7 +368,8 @@
 		 (coding-system-get coding-system 'ascii-compatible-p)))
 	(setq default-file-name-coding-system coding-system)))
   (setq default-terminal-coding-system coding-system)
-  (setq default-keyboard-coding-system coding-system)
+  (setq default-keyboard-coding-system
+	(coding-system-change-eol-conversion coding-system 'unix))
   ;; Preserve eol-type from existing default-process-coding-systems.
   ;; On non-unix-like systems in particular, these may have been set
   ;; carefully by the user, or by the startup code, to deal with the





  parent reply	other threads:[~2011-02-26 16:40 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-26 14:31 bug#8122: 23.2.94; (prefer-coding-system 'utf-8) changes indentation behavior for emacsclient Steve Revilak
     [not found] ` <handler.8122.B.129873070619353.ack@debbugs.gnu.org>
2011-02-26 15:05   ` bug#8122: More regression notes for bug#8122 Steve Revilak
2011-02-26 15:49     ` Eli Zaretskii
2011-02-26 15:37 ` bug#8122: 23.2.94; (prefer-coding-system 'utf-8) changes indentation behavior for emacsclient Eli Zaretskii
2011-02-26 16:26 ` Eli Zaretskii
2011-02-26 22:57   ` Steve Revilak
2011-02-27  3:58     ` Eli Zaretskii
2011-02-26 16:40 ` Eli Zaretskii [this message]
2011-02-26 19:56   ` Stefan Monnier
2011-02-26 21:32     ` Eli Zaretskii

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=83y652oikf.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=8122@debbugs.gnu.org \
    --cc=handa@m17n.org \
    --cc=steve@srevilak.net \
    /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).