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

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

overlay's string-after not wrapped when overlay-end is at eol


From: David O Shea
Subject: overlay's string-after not wrapped when overlay-end is at eol
Date: 28 Mar 2001 17:50:53 -0800

I'm running GNU Emacs 20.7.1 (sparc-sun-solaris2.5.1, X toolkit) of Tue Aug  1 
2000 on ultra

I can't tell you how it was built, but I reproduced the bug on GNU Emacs 20.7.1 
(i386-*-nt5.0.2195) of Tue Jun 13 2000 on buffy

The problem is that an overlay, which ends at the end of the line (not 
including the carriage return, but including the last visible character on the 
line), using a string-after property long enough to cause the visible line to 
be longer than the width of the frame, sometimes does not get wrapped.  I would 
expect to see a "\" character in the right-most column of the screen and have 
the remainder of the string-after string displayed on the next line, but this 
does not always happen with emacs 20.7.1.  It works under 19.34 with the same 
test case.  With this test case, I find that if I go to the bottom of the 
buffer, then use the up-arrow to move to the previous line, it skips the line 
under the line with the overlay, so I can't get to that line from below.  
Sometimes when I then cursor forward on the line with the overlay, the line 
below it gets duplicated: it appears twice, one line under the other.

I started emacs with the --no-init-file parameter.

The following function creates a buffer and inserts text that will reproduce 
the bug:

(defun reprod-after-string-bug () (interactive)
  (message "Make sure your frame is around 80 characters wide")
  (switch-to-buffer "*reprod-after-string-bug*")
  (insert "\t.............\n")
  (insert "\t    ...........................\n")
  (let ((overlay (make-overlay 2 15)))
    (overlay-put overlay 'after-string
                 " 
[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx?)]")
    (overlay-put overlay 'face '(background-color . "Cyan"))
    ))

Let me know if you want any gdb-ing or backtraces of something, but this seems 
to be deeper within emacs than I know how to get to.

Regards,
David

--
Find the best deals on the web at AltaVista Shopping!
http://www.shopping.altavista.com



reply via email to

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