From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.devel Subject: Two more overlay display bugs Date: Sun, 21 Oct 2007 03:27:11 -0400 Message-ID: Reply-To: rms@gnu.org NNTP-Posting-Host: lo.gmane.org Content-Type: text/plain; charset=ISO-8859-15 X-Trace: ger.gmane.org 1192952392 23123 80.91.229.12 (21 Oct 2007 07:39:52 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 21 Oct 2007 07:39:52 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Oct 21 09:39:53 2007 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1IjVPc-00065i-Jq for ged-emacs-devel@m.gmane.org; Sun, 21 Oct 2007 09:39:52 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IjVPV-0007w0-2e for ged-emacs-devel@m.gmane.org; Sun, 21 Oct 2007 03:39:45 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1IjVNn-0006hc-W6 for emacs-devel@gnu.org; Sun, 21 Oct 2007 03:38:00 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1IjVNj-0006eC-E8 for emacs-devel@gnu.org; Sun, 21 Oct 2007 03:37:56 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IjVNi-0006e4-Gq for emacs-devel@gnu.org; Sun, 21 Oct 2007 03:37:55 -0400 Original-Received: from fencepost.gnu.org ([140.186.70.10]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1IjVNi-0005Li-46 for emacs-devel@gnu.org; Sun, 21 Oct 2007 03:37:54 -0400 Original-Received: from rms by fencepost.gnu.org with local (Exim 4.60) (envelope-from ) id 1IjVDL-00018n-0P; Sun, 21 Oct 2007 03:27:11 -0400 X-detected-kernel: by monty-python.gnu.org: Linux 2.6, seldom 2.4 (older, 4) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:81347 Archived-At: Would someone please fix these, then ack? To: bug-gnu-emacs@gnu.org From: Joe Wells Date: Sat, 20 Oct 2007 06:32:19 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Subject: two display bugs involving interactions between after-string and display properties of adjacent overlays Here are two more display bugs I found while trying to improve the code in tex-fold.el in AUCTeX. These bugs involve interactions between after-string and display properties of adjacent overlays. I'm assuming this macro in my reproduction code below: (defmacro test-in-fresh-buffer-and-window (&rest body) `(progn (delete-other-windows) (kill-buffer (get-buffer-create "xyzzy")) (let ((xyzzy-buf (get-buffer-create "xyzzy"))) (set-buffer xyzzy-buf) (display-buffer xyzzy-buf) ,@body ))) BUG #1: An overlay's after-string property that would appear at the end of the buffer is not displayed, if the same overlay also has a display property and an immediately preceding overlay also has an after-string property. (Putting extra characters at the end of the buffer works around this bug.) Reproduce with this expression: (test-in-fresh-buffer-and-window (insert "AB") (let ((o1 (make-overlay 1 2)) (o2 (make-overlay 2 3))) (overlay-put o1 'after-string "1") (overlay-put o2 'after-string "2") (overlay-put o2 'display "b") )) The above expression should display ?A1b2?. The above expression wrongly actually displays ?A1b?. BUG #2: An overlay's display property and after-string property are not displayed if an immediately following overlay shares the same Lisp string as its display property. (Using two distinct display strings with identical contents works around the bug.) Reproduce with this expression: (test-in-fresh-buffer-and-window (insert "ABCD") (let ((o1 (make-overlay 2 3)) (o2 (make-overlay 3 4)) (s #1=" ")) (overlay-put o1 'after-string "1") (overlay-put o1 'display #1#) (overlay-put o2 'display #1#))) The above expression should display ?A 1 D?. The above expression wrongly actually displays ?A D?. I hope these bug reports are helpful. Joe ====================================================================== In GNU Emacs 22.1.1 (i686-pc-linux-gnu, GTK+ Version 2.8.20) of 2007-06-27 on artemis Windowing system distributor `The X.Org Foundation', version 11.0.70000000 configured using `configure '--prefix=/home/jbw/local2' '--enable-debug' '--disable-nls' '--with-x-toolkit=gtk' 'CFLAGS=-O0 -g3 -ggdb'' Important settings: value of $LC_ALL: nil value of $LC_COLLATE: nil value of $LC_CTYPE: en_US.UTF-8 value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: jbw value of $LANG: nil locale-coding-system: utf-8 default-enable-multibyte-characters: t Minor modes in effect: TeX-source-specials-mode: t outline-minor-mode: t desktop-save-mode: t url-handler-mode: t tooltip-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t unify-8859-on-encoding-mode: t utf-translate-cjk-mode: t auto-compression-mode: t temp-buffer-resize-mode: t size-indication-mode: t line-number-mode: t transient-mark-mode: t