* Lack of redisplay with multiple frames
@ 2003-04-30 3:37 Jason Evans
0 siblings, 0 replies; only message in thread
From: Jason Evans @ 2003-04-30 3:37 UTC (permalink / raw)
[I reported this bug back in the 21.1 days, IIRC, but I didn't have a
simple test case in hand, so the bug report didn't lead to a diagnosis or
solution.]
Summary: When the same buffer is displayed by multiple frames on the same X
server, the buffer is in many cases not redisplayed in non-focused frames
when text is typed into the buffer via the active frame.
Various events cause a redisplay, such as scrolling, saving, clicking with
the mouse, etc. However, if all commands are input via the keyboard, this
redisplay problem seems quite reproducible; I see this on a regular basis
when using emacs for development.
Configuration: I am running emacs 21.2/21.3 on an up to date Red Hat 8.0
system on x86 hardware. You will need to be able to display two 81x72
emacs frames simultaneously in order to reproduce this bug using the
following instructions.
1) Run emacs:
emacs --help
The following portion of the output is later pasted into a buffer called
foo (other data would likely work):
---------------------------------------------------------------------------
Usage: emacs [OPTION-OR-FILENAME]...
Run Emacs, the extensible, customizable, self-documenting real-time
display editor. The recommended way to start Emacs for normal editing
is with no options at all.
Run M-x info RET m emacs RET m command arguments RET inside Emacs to
read the main documentation for these command-line arguments.
Initialization options:
--batch do not do interactive display; implies -q
--debug-init enable Emacs Lisp debugger during init file
--help display this help message and exit
--multibyte, --no-unibyte run Emacs in multibyte mode
--no-init-file, -q load neither ~/.emacs nor default.el
--no-shared-memory, -nl do not use shared memory
--no-site-file do not load site-start.el
--no-windows, -nw don't communicate with X, ignoring $DISPLAY
--terminal, -t DEVICE use DEVICE for terminal I/O
--unibyte, --no-multibyte run Emacs in unibyte mode
--user, -u USER load ~USER/.emacs instead of your own
--version display version information and exit
Action options:
FILE visit FILE using find-file
+LINE FILE visit FILE using find-file, then go to line LINE
+LINE:COLUMN FILE visit FILE using find-file, then go to line LINE,
column COLUMN
--directory, -L DIR add DIR to variable load-path
--eval EXPR evaluate Emacs Lisp expression EXPR
--execute EXPR evaluate Emacs Lisp expression EXPR
--find-file FILE visit FILE
--funcall, -f FUNC call Emacs function FUNC with no arguments
--insert FILE insert contents of FILE into current buffer
--kill exit without asking for confirmation
--load, -l FILE load FILE of Emacs Lisp code using the load
function
--visit FILE visit FILE
Display options:
--background-color, -bg COLOR window background color
--border-color, -bd COLOR main border color
--border-width, -bw WIDTH width of main border
--cursor-color, -cr COLOR color of the Emacs cursor indicating point
--display, -d DISPLAY use X server DISPLAY
--font, -fn FONT default font; must be fixed-width
--foreground-color, -fg COLOR window foreground color
--geometry, -g GEOMETRY window geometry
--iconic start Emacs in iconified state
--icon-type, -i use picture of gnu for Emacs icon
--internal-border, -ib WIDTH width between text and main border
--line-spacing, -lsp PIXELS additional space to put between lines
--mouse-color, -ms COLOR mouse cursor color in Emacs window
--name NAME title of main Emacs window
--reverse-video, -r, -rv switch foreground and background
--title, -T, -wn TITLE title for Emacs windows
--vertical-scroll-bars, -vb enable vertical scroll bars
--xrm XRESOURCES set additional X resources
---------------------------------------------------------------------------
2) Make sure that emacs will use frames that are 81x72. I have the
following X resource set:
emacs.geometry: 81x72
3) Run emacs:
emacs -q foo
4) Paste the above portion of the 'emacs --help' output into buffer foo,
using the middle mouse button.
5) Create another frame:
C-x 5 2
6) Move up to line 42, using C-p only.
7) Start typing. Note that the buffer is not redisplayed in the other
frame.
These instructions are somewhat fragile. If you cause an X expose event
for the unfocused frame, resize the frame, or do much of anything outside
what these instructions stipulate, the bug may not reproduce. However,
this bug is very real, and has existed for every 21.x release I have used
(21.[1-3]). This is a regular problem for me (I typically edit with three
frames visible).
One more interesting tidbit: when I was coming up with this test case this
morning, emacs (21.2) crashed when I did something very similar to what is
described above. Sadly, I did not get a core dump, and was unable to
reproduce the crash after adjusting 'ulimit -u'.
If any additional information or testing would be helpful in chasing this
down, please let me know, and I'll be happy to put significant effort into
diagnosing the problem.
Thanks,
Jason Evans
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2003-04-30 3:37 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-04-30 3:37 Lack of redisplay with multiple frames Jason Evans
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.