Subject: Re: bug#21732: 25.0.50; intermittent failure using windmove when in doc-view buffer

From: martin rudalics <[email-masked]>
Date: Sat, 24 Oct 2015 09:58:37 +0200

> Sorry for the confusion. I do have `windmove-wrap-around' set to t, and this is
 > with the frame split; i.e. when there is a different window to wrap around
 > to. In that case (sorry for not being specific), other windows on the right side
 > of the frame were wrapping around correctly, but the window viewing the doc-view
 > buffer was not. Again, an intermittent error, so I'll try to provide a backtrace
 > when it happens again.

Alternatively, you could try to add the function ‘window-in-direction’
(in window.el) temporarily to your .emacs.  There replace the line

	   ((let ((posn-cons (nth 2 (posn-at-point (window-point window) window))))

by a form like

	   ((let ((posn-cons (nth 2 (posn-at-point (window-point window) window))))
               (let ((my-value (cdr posn-cons)))
                 (when (or (not my-value) (< my-value 0))
                   (setq my-variable
                         (cons
                          (format "window: %s direction : %s sign: %s wrap: %s mini: %s posn-cons: %s"
                                  window direction sign wrap mini posn-cons)
                          my-variable))))

and also add a definition like

(defvar my-variable nil)

to your .emacs.  When now a "No window right from selected window" error
triggers, look at the value of ‘my-variable’.  If it's non-nil, we might
have a clue.

Obviously you can make the above mentioned change also in-place, i.e. in
window.el, but don't forget to remake the emacs executable afterwards.

martin