Subject: bug#6349: 24.0.50; C-a doesn't work in tty

From: Katsumi Yamaoka <[email-masked]>
Date: Wed, 09 Jun 2010 09:52:20 +0900

>>>>> Katsumi Yamaoka wrote:
> If a long line, of which the left side is truncated, begins with
> a wide character in the window, the `C-a' command doesn't move
> the cursor.  It happens in Emacs launched as `emacs -nw -Q'.
> Please try this form:

> (let ((buffer (get-buffer-create "*testing*")))
>   (pop-to-buffer buffer)
>   (erase-buffer)
>   (insert-char (make-char 'japanese-jisx0208 36 34) 256)
>   (setq truncate-lines t)
>   (end-of-line))

Not only the C-a command but also any kind of operation that should
set the window-hscroll to zero doesn't seem to work in tty.  The
following forms are expected to show the line from the beginning.

(let ((buffer (get-buffer-create "*testing*")))
  (pop-to-buffer buffer)
  (erase-buffer)
  (insert-char (make-char 'japanese-jisx0208 36 34) 256)
  (setq truncate-lines t)
  (end-of-line)
  (sit-for 0)
  (skip-chars-backward "^\n"))

(let ((buffer (get-buffer-create "*testing*")))
  (pop-to-buffer buffer)
  (erase-buffer)
  (insert-char (make-char 'japanese-jisx0208 36 34) 256)
  (setq truncate-lines t)
  (end-of-line)
  (sit-for 0)
  (if (search-backward "\n" nil 'move) (forward-char 1)))

(let ((buffer (get-buffer-create "*testing*")))
  (pop-to-buffer buffer)
  (erase-buffer)
  (insert-char (make-char 'japanese-jisx0208 36 34) 256)
  (setq truncate-lines t)
  (end-of-line)
  (sit-for 0)
  (beginning-of-line))

(let ((buffer (get-buffer-create "*testing*")))
  (pop-to-buffer buffer)
  (erase-buffer)
  (insert-char (make-char 'japanese-jisx0208 36 34) 256)
  (setq truncate-lines t)
  (end-of-line)
  (sit-for 0)
  (goto-char (line-beginning-position)))

> In GNU Emacs 24.0.50.1 (i686-pc-linux-gnu, X toolkit, Xaw3d scroll bars)
>  of 2010-06-04 on ******
> Windowing system distributor `Fedora Project', version 11.0.10800000
> configured using `configure  '--with-x-toolkit=lucid' '--without-xim'

Thanks Fujiwara-san who also confirmed the same behavior on
NetBSD/amd64 5.0_STABLE.