Subject: bug#13594: Planning Emacs-24.4

From: martin rudalics <[email-masked]>
Date: Mon, 18 Nov 2013 14:19:22 +0100

> t was just a value to stop display-buffer searching down the action
 > list. this seems enough to manage display-buffer via
 > display-buffer-alist or the like.

It is not.  Returning t when calling `display-buffer' without may-fail
set doesn't improve anything.  And if my-fail is set, we can return nil
because the caller is prepared for it.  And you still don't handle the
case where a user doesn't want to see the buffer in the first place.

So please

(1) Provide two actions designators may-fail and do-fail, say.

(2) When may-fail is set and no window is found, return nil.  When
     may-fail is not set, return the most suitable window.

(3) When may-fail and do-fail are both set, break the

	(while (and functions (not window))
	  (setq window (funcall (car functions) buffer alist)
	  	functions (cdr functions)))

     loop in `display-buffer' (for example, by having the function called
     return 'fail) and return nil.

martin