emacs-pretest-bug
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

M-x term and fringe problem


From: Mark Plaksin
Subject: M-x term and fringe problem
Date: Sat, 03 Apr 2004 17:13:56 -0500
User-agent: Gnus/5.110002 (No Gnus v0.2) Emacs/21.3.50 (gnu/linux)

With CVS Emacs from today in Debian unstable (and with other OSes, I
assume), M-x term gets confused by the fringe.  When typing at a shell
prompt and the cursor gets close to the fringe, term doesn't move to the
next line like it should.

To reproduce:
- emacs -q
- M-x term
- RET ; to accept bash as the shell
- Type characters until there is space for one character between the
cursor and the fringe.
- Type one more character and the cursor moves to the beginning of the line.

A workaround:
- emacs -q
- M-: (setq overflow-newline-into-fringe nil)
- M-x term
- RET ; to accept bash as the shell
- Type characters until there is space for one character between the
cursor and the fringe.
- Type one more character and the cursor moves to the beginning of the
*next* line like it should.
- This also leaves one empty space between the last character on the
first line and the fringe.  I can't tell if this empty space is supposed
to be there or not but it's much better than what happens when
overflow-newline-into-fringe is t.

The problem shows up when term-vertical-motion is called in this part
of term.el:
                        ((eq char ?\r)
                            ;; Optimize CRLF at end of buffer:
                            (cond ((and (< (setq temp (1+ i)) str-length)
                                        (eq (aref str temp) ?\n)
                                        (= (point) (point-max))
                                        (not (or term-pager-count
                                                 term-kill-echo-list
                                                 term-scroll-with-delete)))
                                   (insert ?\n)
                                   (term-adjust-current-row-cache 1)
                                   (setq term-start-line-column 0)
                                   (setq term-current-column 0)
                                   (setq i temp))
                                  (t ;; Not followed by LF or can't optimize:
                                   (term-vertical-motion 0)
                                   (setq term-current-column 
term-start-line-column))))

I keep trying to understand term.el but I don't have enough of a clue
yet to go beyond this :)

Should overflow-newline-into-fringe be buffer-local and nil in all
terms?  Or is there a better fix?

Thanks!

------------------------------------------------------------------------------
In GNU Emacs 21.3.50.2 (i686-pc-linux-gnu, GTK+ Version 2.2.4)
 of 2004-04-03 on plakistan
configured using `configure '--with-gtk''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: C
  locale-coding-system: nil
  default-enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  tool-bar-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  unify-8859-on-encoding-mode: t
  line-number-mode: t

Recent input:
<escape> x r e p <tab> o <tab> e <backspace> - e <tab> 
<backspace> <backspace> <tab> r <tab> <return>

Recent messages:
Loading mwheel...done
(src/emacs -q)
Loading tool-bar...done
Loading image...done
Loading tooltip...done
Making completion list...
Loading help-mode...done
Making completion list... [2 times]
Loading emacsbug...done





reply via email to

[Prev in Thread] Current Thread [Next in Thread]