XEmacs 21.5 and dired-gets-current-buffer-wrong bug
Adrian Aichner
adrian at xemacs.org
Sat May 27 21:17:03 EDT 2006
Mats Lidell <matsl at xemacs.org> writes:
>>>>>> Aidan wrote:
>
> Aidan> C-x 4 F lazy-lock-pre-idle-fontify-windows RET , then copy the
> Aidan> function into *scratch*, and put in a (message ) just after the
> Aidan> "(while t " that says which frame is being fontified and
> Aidan> whether the current buffer is the initial (current-buffer).
>
> After doing that I went down the callstack and changed
>
> (defun lazy-lock-maybe-fontify-frame (frame)
> ;; Fontify the given frame if we need to. We first check the
> ;; appropriate frame-modified-tick to avoid changing global state.
> ;(dp "fontify-frame %s" frame)
> (let ((tick (frame-modified-tick frame))
> (buf (current-buffer)) <--
> (buf-name (buffer-name))) <--
> ;(dp tick)
> (unless (eq tick (gethash frame lazy-lock-frame-modiff-cache))
> (puthash frame tick lazy-lock-frame-modiff-cache)
> ;; We have to select the frame due to a bug in walk-windows in XEmacs
> ;; 21.4.
> (with-selected-frame frame
> (walk-windows #'lazy-lock-fontify-window 'no-minibuf frame))
> (if (not (eq (current-buffer) buf)) (debug-print (concat "Lazy-lock-maybe:" (frame-name) " Expected buf = " buf-name " but got " (buffer-name)))) <--
> )))
>
> By inserting the lines marked with '<--' and using debug-print instead
> of message. So now I can see things like:
>
> Lazy-lock-maybe:XEmacs Expected buf = <BUFFER-NAME> but got <NOT-SAME-BUFFER-NAME>
Hi Mats,
why don't you post a sample log if you don't mind.
Including a timestamp would provide useful information too.
I use this to report loading of my init file:
(defun apa-loading-message (where)
"Print message including filename, user-defined string, and time
during loading.
The message is of the form:
Loading of FILE WHERE
at TIME-STRING TIME TIME-ZONE"
(if load-in-progress
(message "Loading of %s %s\nat %s %+.4d (%s)"
load-file-name
where
(current-time-string)
(/
(nth 0
(current-time-zone))
36)
(nth 1
(current-time-zone)))))
>
> Conclusion: After walk-windows the buffer is changed. Now what!?
>
> Yours
--
Adrian Aichner
mailto:adrian at xemacs.org
http://www.xemacs.org/
More information about the XEmacs-Beta
mailing list