Gunnar Evermann writes:
Philip Aston <philipa(a)parallax.co.uk> writes:
> In XEmacs 21.0 "Pyrenean63" [Lucid] (i686-pc-cygwin32) of Thu Feb 18
> In VM, if I middle-click a MIME message or message digest object I get
> an assertion failure in the scrolling/redisplay caching code.
is that reproducable for you?
Yep.
If yes, please describe exactly what you did. I do not normally use
VM and by just playing around with a couple of MIME message I
couldn't trigger this.
OK, this is really strange now.
I've moved my .vm out of the way. Now,
xemacs -q
M-: (require 'efs)
M-x vm
Find a message digest object and middle click it.
If you don't (require 'efs), it doesn't break. Also, if I run the same
setup (binary, lisp, config files) against an X-display it doesn't break.
Could you also send Lisp/C backtraces?
See below.
> I don't grok the redisplay code, so its not immediately
obvious what's
> going on here.
In my humble opinion very few things are obvious when redisplay is
concerned.
Gunnar
Thanks for your interest,
Phil
Fatal error: assertion failed, file indent.c, line 577, elt >= 0
Fatal error (6).
Your files have been auto-saved.
Use `M-x recover-session' to recover them.
Please report this bug by running the send-pr script included
with XEmacs, or selecting `Send Bug Report' from the help menu.
As a last resort send ordinary email to `crashes(a)xemacs.org'.
*MAKE SURE* to include the information in the command
M-x describe-installation.
If at all possible, *please* try to obtain a C stack backtrace;
it will help us immensely in determining what went wrong.
To do this, locate the core file that was produced as a result
of this crash (it's usually called `core' and is located in the
directory in which you started the editor, or maybe in your home
directory), and type
gdb /usr/local/bin/xemacs-21.0-b63.exe core
then type `where' when the debugger prompt comes up.
(If you don't have GDB on your system, you might have DBX,
or XDB, or SDB. A similar procedure should work for all of
these. Ask your system administrator if you need more help.)
Lisp backtrace follows:
original-scroll-up(nil)
# (unwind-protect ...)
# bind (current-buffer selected-window window-buffer direction lines window)
scroll-window(#<window on "message from keep/10 Presentation" 0x4898>
nil 1)
# bind (lines)
scroll-up(nil)
# bind (scroll-in-place-replace-original)
byte-code("..." [nil scroll-in-place-replace-original scroll-up] 2)
# (unwind-protect ...)
# (unwind-protect ...)
# bind (next-screen-context-lines)
byte-code("..." [0 next-screen-context-lines select-window w ((byte-code
"ÀÂÀ!)À" ... 2)) nil] 2)
# (condition-case ... . ((error t)))
byte-code("..." [nil (byte-code "ÀÂ!Ä*Å" [0 next-screen-context-lines select-window w ... nil] 2) ((error t))] 3)
# (unwind-protect ...)
# (unwind-protect ...)
# bind (w)
vm-howl-if-eom()
# (unwind-protect ...)
# bind (vm-sbe-buffer)
vm-show-current-message()
# (unwind-protect ...)
# bind (vm-sbe-buffer)
vm-preview-current-message()
# bind (full-startup did-read-index-file folder-buffer first-time totals-blurb
preserve-auto-save-file)
byte-code("..." [bufferp folder nil preserve-auto-save-file totals-blurb
first-time folder-buffer did-read-index-file full-startup expand-file-name
vm-primary-inbox vm-folder-directory file file-directory-p error "%s is a
directory" vm-get-file-buffer default-directory t no-conversion
coding-system-for-read enable-local-variables inhibit-local-variables message
"Reading %s..." find-file-noselect item vm-folder-history "Reading %s...
done" buffer-file-coding-system current-load-list vm-xemacs-mule-p get-coding-system
no-conversion-unix no-conversion-dos no-conversion-mac binary buffer-modified-p omodified
buffer-read-only ((set-buffer-modified-p omodified)) encode-coding-region
set-buffer-file-coding-system decode-coding-region vm-check-for-killed-summary
vm-check-for-killed-presentation 0 vm-messages-not-on-disk major-mode vm-mode
buffer-file-name file-newer-than-file-p make-auto-save-file-name read-only default-value
vm-folder-read-only buffer-disable-undo abbrev-mode auto-fill-mode vm-mode-internal
vm-read-index-file-maybe vm-assimilate-new-messages vm-gobble-visible-header-variables
vm-gobble-bookmark vm-gobble-pop-retrieved vm-gobble-summary vm-gobble-labels
vm-start-itimers-if-needed this-command apply vm-goto-new-folder-frame-maybe (folder)
(primary-folder folder) vm-summary-buffer vm-presentation-buffer buffer-to-display
vm-display vm startup vm-raise-frame-at-startup vm-raise-frame vm-emit-totals-blurb
vm-thoughtfully-select-message vm-update-summary-and-mode-line
vm-toolbar-support-possible-p vm-use-toolbar "Initializing toolbar..."
vm-toolbar-install-toolbar "Initializing toolbar... done"
vm-toolbar-update-toolbar vm-use-menus vm-menu-support-possible-p
vm-menu-install-visited-folders-menu vm-should-generate-summary vm-summarize
vm-mutable-frames vm-frame-per-summary vm-mutable-windows switch-to-buffer vm-message-list
vm-preview-current-message run-hooks vm-visit-folder-hook substitute-command-keys
"Auto save file is newer; consider \\[recover-file]. FOLDER IS READ ONLY."
throw done vm-auto-get-new-m
ail vm-block-new-mail "Checking for new mail for %s..." buffer-name
vm-get-spooled-mail vm-startup-message-displayed vm-display-startup-message
input-pending-p] 7)
# (catch done ...)
# bind (read-only folder)
ad-Orig-vm(#<buffer "message from keep/10"> nil)
# bind (ad-return-value read-only folder)
vm(#<buffer "message from keep/10"> nil)
# bind (read-only)
vm-mode()
# (unwind-protect ...)
# bind (vm-sbe-buffer layout)
vm-mime-display-internal-message/rfc822(#<extent *(1388, 1459) H vm-mime-function
vm-mime-layout balloon-help keymap local-map 0xa79d4b8 in buffer keep Presentation>)
# (unwind-protect ...)
# bind (layout)
#<compiled-function (layout) "...(6)"
[vm-mime-display-internal-message/rfc822 layout] 2>(#<extent *(1388, 1459) H
vm-mime-function vm-mime-layout balloon-help keymap local-map 0xa79d4b8 in buffer keep
Presentation>)
# bind (e event)
vm-mouse-popup-or-select(#<buttondown-event button2>)
# bind (event)
vm-mouse-button-2(#<buttondown-event button2>)
# bind (command-debug-status)
call-interactively(vm-mouse-button-2)
# (condition-case ... . error)
# (catch top-level ...)