================================================================
Dear Bug Team!
I am running Mac OS X 10.4.6 on a PowerPC G4 (1GHz).
I recently reported a crash in a separate email, and I understand
that's unlikely to be worked on
in the near future. However, in the ensuing discussion Stephen
Turnbull requested that I also file a report detailing the slowness I
have observed in this version of XEmacs. I can not tell whether this
slowness is specfic to the Carbon port, as I currently have no other
hardware to test it on.
Anyhow, here are the details. My .xemacs/init.el file contains the
following and I have no other customization files (no .emacs or
custom.el):
------ CUT HERE -----
(setq minibuffer-frame-plist
(list 'top (- (device-pixel-height) 80) 'left 1 'width 80
'height 3)) ;; note 'top -80 did not work!
(set-face-font 'default "Courier:13")
(set-face-background 'default "white")
(set-face-foreground 'default "black")
(setq initial-frame-plist '(minibuffer nil background-mode light))
(setq default-frame-plist '(minibuffer nil background-mode light
width 80))
(setq bar-cursor 2)
(setq column-number-mode nil) ;; added in hope of alleviating slowness
(setq frame-background-mode 'light)
(set-specifier default-toolbar-visible-p nil 'global)
------- CUT HERE-----
If I now start a fresh XEmacs when I have nothing else (except for a
terminal program with a shell and standard system processes) running
on the machine, split the screen on the frame that comes up into 2
windows, visit any file (for example, the above init file) in one
window, and then switch to the other window which has the *scratch*
buffer, I can now easily type too fast for XEmacs to keep up. That is
to say, if I type a sentence quickly, then at the moment I stop
typing, the last three to four characters have not yet appeared on
the screen and only show up one at a time thereafter as I watch. This
is unusably slow -- the practical consequence is that I sometimes
lose track of where I am in a series of rapid edits, look at the
screen to check how things stand, and then return to typing -- only
discover later that I did some of the edits twice because they had
not yet showed up when I checked that first time, but were "in the
works." Thus my file ends up in a mangled state.
By way of comparison, I have been unable to get ahead Emacs CVS
22.0.50 20060616 compiled for Carbon no matter how fast I type. Thus,
I am using FSF Emacs for now, but would switch back to XEmacs if
speed (and crashes) were not an issue.
Note I am not some sort of typing god, just a below-median touch
typist, maybe 40 WPM or so.
I include my init.el because as far as I can tell, the speed seems
better without it, although since I have used a separate minibuffer
since Epoch, I have not used XEmacs much without any init.el. Also
sometimes the speed seems OK, sometimes not, on the very first window/
buffer/file, that's why I mentioned splitting the screen and visiting
a file. It appears reliable to me that at that level of "complexity"
of what XEmacs is displaying, I can easily type ahead of it.
Generally speaking, it appears to me that the more complex the
display (more windows, frames, etc.) the easier it is to type ahead
of XEmacs.
Anyhow, I'm not expecting any specific resolution at any specific
date on this issue; I'm just sending this report on Mr. Turnbull's
request and in the hopes it may provide some help in honing XEmacs --
I have gotten a great deal of valuable use out of it in the past and
hope to again in the future, it's just not usable right now.
Sincerely yours,
Glen Whitney
Note the following information is copied from my previous crash
report, so that you have the build/system information handy here.
System Info to help track down your bug:
---------------------------------------
uname -a: Darwin chickadee.local 8.6.0 Darwin Kernel Version 8.6.0:
Tue Mar 7 16:58:48 PST 2006; root:xnu-792.6.70.obj~1/RELEASE_PPC
Power Macintosh powerpc PowerBook3,5 Darwin
./configure '--without-kkcc' '--without-mc-alloc' '--with-carbon'
'--
with-mule' '--without-ldap' '--enable-error-checking=none'
'--with-
optimization' '--with-cflags-optimization=-O2' '--prefix=/sw/src/
xemacs-21.5.26/carbon/XEmacs.app/Contents/Resources'
XEmacs 21.5-b26 "endive" configured for `powerpc-apple-darwin8.6.0'.
Compilation Environment and Installation Defaults:
Source code location: /sw/src/xemacs-21.5.26
Installation prefix: /sw/src/xemacs-21.5.26/carbon/
XEmacs.app/Contents/Resources
Operating system description file: `s/darwin.h'
Machine description file: `m/powerpc.h'
Compiler version: powerpc-apple-darwin8-gcc-4.0.1
(GCC) 4.0.1 (Apple Computer, Inc. build 5341)
- GCC specs file: specs.
- Compiler command: gcc -I/sw/src/xemacs-21.5.26/
carbon/xpm -Wall -Wno-switch -Wundef -Wsign-compare -Wno-char-
subscripts -Wpacked -Wpointer-arith -Wunused-parameter -g -O2
libc version:
Relocating allocator for buffers: no
GNU version of malloc: no
- The GNU allocators don't work with this system configuration.
Window System:
Compiling in support for Mac OS X Carbon.
Using Lucid menubars.
Using Lucid scrollbars.
Compiling in support for Drag'n'Drop (EXPERIMENTAL).
- Drag'n'Drop prototype: Carbon.
TTY:
Compiling in support for ncurses.
Images:
Compiling in support for GIF images (builtin).
Compiling in support for XPM images.
WARNING: -----------------------------------------------------------
WARNING: Compiling without PNG image support.
WARNING: You should strongly consider installing the PNG libraries.
WARNING: Otherwise certain images and glyphs may not display.
WARNING: (a copy may be found in
ftp://ftp.xemacs.org/pub/xemacs/aux)
WARNING: -----------------------------------------------------------
Sound:
Databases:
Compiling in support for Berkeley database.
Compiling in support for DBM.
Internationalization:
Compiling in support for Mule (multi-lingual Emacs).
Mail:
Compiling in support for "file" mail spool file locking method.
Other Features:
Inhibiting IPv6 canonicalization at startup.
Compiling in support for dynamic shared object modules.
Using the new portable dumper.
Dumping into executable.
Compiling in support for extra debugging code.
Load-Path Lisp Shadows:
nil