Opened 5 years ago

Closed 4 years ago

#335 closed usability (Fixed)

Xorg-server-devel @1.7.99.2 on 10.5.8 cuts away text in GNU Emacs 23.1.[59]0

Reported by: Peter_Dyballa@… Owned by: jeremyhu@…
Priority: Important Milestone: 2.5.0
Component: xserver Version: dev (xorg-server-1.7-apple)
Keywords: 1.8 fb Cc:

Description (last modified by jeremyhu@…)

An "ancient" version of GNU Emacs 23.1.50 showed this effect first, could be because compiled when on Tiger last month, but the freshly compiled GNU Emacs 23.1.90 shows it even in more extreme: just a few mm of text are shown (the remainder cut off to the right at some pixels). In 23.1.50 it could have been the same amount in cm, see the attached screenshot.

There the lower window in the 23.1.90 (tool) frame shows text that was previously selected to copy it to GNU Emacs 22.3 (which works fine). Then the selection high-lighting was removed and a bit more text, as in 23.1.50, was shown.

With the previously used xorg-server-devel @1.7.99.1 all worked fine...

GNU Emacs 23.1.90 uses these shared libraries:

        /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 34.0.0)
        /opt/local/lib/libICE.6.dylib (compatibility version 10.0.0, current version 10.0.0)                    xorg-libice         @1.0.6
        /opt/local/lib/libORBit-2.0.dylib (compatibility version 2.0.0, current version 2.0.0)                  orbit2              @2.14.17
        /opt/local/lib/libSM.6.dylib (compatibility version 7.0.0, current version 7.1.0)                       xorg-libsm          @1.1.1
        /opt/local/lib/libX11.6.dylib (compatibility version 10.0.0, current version 10.0.0)                    xorg-libX11         @1.3.2
        /opt/local/lib/libXau.6.dylib (compatibility version 7.0.0, current version 7.0.0)                      xorg-libXau         @1.0.5
        /opt/local/lib/libXdmcp.6.dylib (compatibility version 7.0.0, current version 7.0.0)                    xorg-libXdmcp       @1.0.3
        /opt/local/lib/libXft.2.dylib (compatibility version 4.0.0, current version 4.13.0)                     Xft2                @2.1.14
        /opt/local/lib/libXpm.4.dylib (compatibility version 16.0.0, current version 16.0.0)                    xpm                 @3.5.8
        /opt/local/lib/libXrender.1.dylib (compatibility version 5.0.0, current version 5.0.0)                  xrender             @0.9.5
        /opt/local/lib/libatk-1.0.0.dylib (compatibility version 2610.0.0, current version 2610.1.0)            atk                 @1.26.0
        /opt/local/lib/libcairo.2.dylib (compatibility version 10803.0.0, current version 10803.8.0)            cairo               @1.8.8
        /opt/local/lib/libdbus-1.3.dylib (compatibility version 8.0.0, current version 8.0.0)                   dbus                @1.2.16
        /opt/local/lib/libexpat.1.dylib (compatibility version 7.0.0, current version 7.2.0)                    expat               @2.0.1
        /opt/local/lib/libfontconfig.1.dylib (compatibility version 6.0.0, current version 6.4.0)               fontconfig          @2.8.0
        /opt/local/lib/libfreetype.6.dylib (compatibility version 10.0.0, current version 10.22.0)              freetype            @2.3.11
        /opt/local/lib/libgconf-2.4.dylib (compatibility version 6.0.0, current version 6.5.0)                  gconf               @2.26.2
        /opt/local/lib/libgdk-x11-2.0.0.dylib (compatibility version 1801.0.0, current version 1801.5.0)        
        /opt/local/lib/libgdk_pixbuf-2.0.0.dylib (compatibility version 1801.0.0, current version 1801.5.0)     gdk-pixbuf          @0.22.0
        /opt/local/lib/libgif.4.dylib (compatibility version 6.0.0, current version 6.6.0)                      giflib              @4.1.6
        /opt/local/lib/libgio-2.0.0.dylib (compatibility version 2201.0.0, current version 2201.3.0)            
        /opt/local/lib/libglib-2.0.0.dylib (compatibility version 2201.0.0, current version 2201.3.0)           glib2               @2.22.3
        /opt/local/lib/libgmodule-2.0.0.dylib (compatibility version 2201.0.0, current version 2201.3.0)        
        /opt/local/lib/libgobject-2.0.0.dylib (compatibility version 2201.0.0, current version 2201.3.0)        
        /opt/local/lib/libgthread-2.0.0.dylib (compatibility version 2201.0.0, current version 2201.3.0)        
        /opt/local/lib/libgtk-x11-2.0.0.dylib (compatibility version 1801.0.0, current version 1801.5.0)        
        /opt/local/lib/libiconv.2.dylib (compatibility version 8.0.0, current version 8.0.0)                    libiconv            @1.13
        /opt/local/lib/libintl.8.dylib (compatibility version 9.0.0, current version 9.2.0)                     
        /opt/local/lib/libjpeg.7.dylib (compatibility version 8.0.0, current version 8.0.0)                     jpeg                @7
        /opt/local/lib/libncurses.5.dylib (compatibility version 5.0.0, current version 5.0.0)                  ncurses             @5.7
        /opt/local/lib/libotf.0.dylib (compatibility version 1.0.0, current version 1.0.0)                      libotf              @0.9.5
        /opt/local/lib/libpango-1.0.0.dylib (compatibility version 2401.0.0, current version 2401.5.0)          pango               @1.24.5
        /opt/local/lib/libpangocairo-1.0.0.dylib (compatibility version 2401.0.0, current version 2401.5.0)     
        /opt/local/lib/libpangoft2-1.0.0.dylib (compatibility version 2401.0.0, current version 2401.5.0)       
        /opt/local/lib/libpixman-1.0.dylib (compatibility version 17.0.0, current version 17.4.0)               libpixman           @0.16.4
        /opt/local/lib/libpng12.0.dylib (compatibility version 42.0.0, current version 42.0.0)                  libpng              @1.2.41
        /opt/local/lib/librsvg-2.2.dylib (compatibility version 29.0.0, current version 29.0.0)                 librsvg             @2.26.0
        /opt/local/lib/libtiff.3.dylib (compatibility version 13.0.0, current version 13.2.0)                   tiff                @3.9.2
        /opt/local/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3)                        zlib                @1.2.3
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.4)                       
        /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)                          

The version of quartz-wm is @1.0.3 from MacPorts.

Attachments (1)

Xorg devel and GNU Emacs 23.1.x.png (39.1 KB) - added by Peter_Dyballa@… 5 years ago.
Screen-shot showing cut away text

Download all attachments as: .zip

Change History (8)

Changed 5 years ago by Peter_Dyballa@…

Screen-shot showing cut away text

comment:1 Changed 5 years ago by jeremyhu@…

  • Description modified (diff)
  • Milestone set to 3.0

comment:2 follow-up: Changed 5 years ago by jeremyhu@…

  • Status changed from new to assigned

Also, where did you get your build of emacs, or can you tell me how you built it, so I can reproduce the problem.

comment:3 in reply to: ↑ 2 Changed 5 years ago by Peter_Dyballa@…

Replying to jeremyhu@…:

Also, where did you get your build of emacs, or can you tell me how you built it, so I can reproduce the problem.

CVS check-out ('round midnight UTC) and compilation with Apple's GCC 4.2 (just a try, earlier GNU Emacs code had problems). Anyway, I'll check the configuration and compilation and shall retry with GCC 4.0! There is also another check necessary to see whether the code compiles in Fink.

With "standard" XQuartz 2.5.0 (xorg-server 1.7.2) both Emacsen work fine... (and I think it'll be easy to activate this or that X server)

comment:4 Changed 5 years ago by jeremyhu@…

Please just try with the 23.1.90 tarball, and tell me what your configure options are. There are many configuration permutations for emacs.

Can you even just send me a root to install? It looks like most of your dependencies are from MacPorts.

sudo make install DESTDIR=/tmp/for_jeremy
cd /tmp
sudo tar cjf for_jeremy.tar.bz2 for_jeremy

Then email me for_jeremy.tar.bz2

comment:5 in reply to: ↑ description Changed 5 years ago by Peter_Dyballa@…

Hello!

Following Jeremy Huddleston's advise I performed the bisecting and and invoke a "good" command when the compile X server was working OK and "bad" when it cut away text:

pete 230 /\ git bisect good
Bisecting: 38 revisions left to test after this (roughly 5 steps)
[955b9f23a34cc79a5cd9676b45b3df4ffcc7302b] EXA: ModifyPixmapHeader_mixed fixes.
pete 231 /\ git bisect good
Bisecting: 19 revisions left to test after this (roughly 4 steps)
[00a7252fe3e519e3e4d62cdd8746833ca59bce77] Fix dtrace object builds of libos to link with SHA1_LIBS
pete 232 /\ git bisect bad
Bisecting: 8 revisions left to test after this (roughly 3 steps)
[d3e054ac07dae12a82ad764b0622fddbef4b9ec5] Merge remote branch 'jeremyhu/master'
pete 233 /\ git bisect good
Bisecting: 4 revisions left to test after this (roughly 2 steps)
[61335052972a78d67c0ba74f902273b34c63a198] Revert "Fix clipping when windows are used as sources"
pete 234 /\ git bisect good
Bisecting: 2 revisions left to test after this (roughly 1 steps)
[a72c65e9176c51de95db2fdbf4c5d946a4911695] fb: Adjust transform or composite coordinates for pixman operations
pete 238 /\ git bisect bad
Bisecting: 0 revisions left to test after this (roughly 0 steps)
[bd567061c8b84b268d9bbb01bc4d8981feefb862] Split fbGetDrawable into fbGetDrawablePixmap and fbGetPixmapBitsData
pete 239 /\ git bisect good
a72c65e9176c51de95db2fdbf4c5d946a4911695 is the first bad commit
commit a72c65e9176c51de95db2fdbf4c5d946a4911695
Author: Keith Packard <keithp@…>
Date: Wed Dec 2 08:37:20 2009 -0800


fb: Adjust transform or composite coordinates for pixman operations


Windows (or even pixmaps, in some cases) may not sit at the origin of
the containing pixmap, so any coordinates relative to the drawable
must be adjusted. For destinations and untransformed sources, the
operation coordinates are adjusted. For transformed sources, the
transform matrix is adjusted.


Signed-off-by: Keith Packard <keithp@…>
Acked-by: Soeren Sandmann <sandmann@…>


:040000 040000 41b3bb0dfe42bb68a703fb71ea3887bfcaad9159 72836515ae5a3dece4eb25b63b92f9eda99a3e57 M fb
pete 240 /\ git bisect good
a72c65e9176c51de95db2fdbf4c5d946a4911695 is the first bad commit
commit a72c65e9176c51de95db2fdbf4c5d946a4911695
Author: Keith Packard <keithp@…>
Date: Wed Dec 2 08:37:20 2009 -0800


fb: Adjust transform or composite coordinates for pixman operations


Windows (or even pixmaps, in some cases) may not sit at the origin of
the containing pixmap, so any coordinates relative to the drawable
must be adjusted. For destinations and untransformed sources, the
operation coordinates are adjusted. For transformed sources, the
transform matrix is adjusted.


Signed-off-by: Keith Packard <keithp@…>
Acked-by: Soeren Sandmann <sandmann@…>


:040000 040000 41b3bb0dfe42bb68a703fb71ea3887bfcaad9159 72836515ae5a3dece4eb25b63b92f9eda99a3e57 M fb


pete 241 /\ git checkout -f master
Previous HEAD position was bd56706... Split fbGetDrawable into fbGetDrawablePixmap and fbGetPixmapBitsData
Switched to branch 'master'
pete 242 /\ git pull --rebase
remote: Counting objects: 211, done.
remote: Compressing objects: 100% (121/121), done.
Receiving objects: 100% (121/121), 19.38 KiB, done.
remote: Total 121 (delta 102), reused 0 (delta 0)
Resolving deltas: 100% (102/102), completed with 59 local objects.
From git://anongit.freedesktop.org/xorg/xserver

9fad8f0..8d53d84 master -> origin/master
d1320f4..8661189 server-1.7-nominations -> origin/server-1.7-nominations

First, rewinding head to replay your work on top of it...
Fast-forwarded master to 8d53d84485fdce8ea9686e6f300a69f7ddebd467.
pete 243 /\ git revert a72c65e9176c51de95db2fdbf4c5d946a4911695
Finished one revert.
error: Terminal is dumb, but EDITOR unset
Please supply the message using either -m or -F option.
Exit 1
pete 244 /\ setenv EDITOR emacsclient
pete 245 /\ git revert a72c65e9176c51de95db2fdbf4c5d946a4911695
fatal: Dirty index: cannot revert
Exit 128
pete 246 /\ git checkout -f master
Already on 'master'
pete 247 /\ git pull --rebase
Current branch master is up to date.
pete 248 /\ git revert a72c65e9176c51de95db2fdbf4c5d946a4911695
Finished one revert.
Waiting for Emacs...
[master 8d7b130] Revert "fb: Adjust transform or composite coordinates for pixman operations"

3 files changed, 26 insertions(+), 58 deletions(-)

The last command created a buffer .git/COMMIT_EDITMSG with this contents:

Revert "fb: Adjust transform or composite coordinates for pixman operations"


This reverts commit a72c65e9176c51de95db2fdbf4c5d946a4911695.


# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# Committer: Peter Dyballa <Peter_Dyballa@…>
#
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: fb/fb.h
# modified: fb/fbpict.c
# modified: fb/fbtrap.c
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# compile.sh
# hw/xquartz/bundle/Info.plist

The X server compiled at this state works OK. So it seems that modifications to these three files broke the server. At least on Mac OS X 10.5.8 and big-endian PPC hardware and ATI RV360M11 graphics chip at AGP.

comment:6 Changed 5 years ago by jeremyhu@…

  • Keywords 1.8 fb added

comment:7 Changed 4 years ago by jeremyhu@…

  • Milestone changed from later to 2.5.0
  • Resolution set to fixed
  • Status changed from assigned to closed

This is "fixed" in 2.5.0 by reverting that change from our server. I'll track the issue upstream and hopefully get a real fix eventually.

Note: See TracTickets for help on using tickets.