Function: hycontrol-window-display-buffer-with-repeats

hycontrol-window-display-buffer-with-repeats is a byte-compiled function defined in hycontrol.el.

Signature

(hycontrol-window-display-buffer-with-repeats WINDOW)

Documentation

This is no longer used since Hyperbole V8. Left here for reference.

Given a WINDOW, choose the next appropriate buffer to display therein using hycontrol-display-buffer-predicate-list. Also uses the value ofhycontrol--buffer-list as the list of buffers to distribute among the windows.

Source Code

;; Defined in ~/.emacs.d/elpa/hyperbole-20260414.325/hycontrol.el
(defun hycontrol-window-display-buffer-with-repeats (window)
  "This is no longer used since Hyperbole V8.  Left here for reference.

Given a WINDOW, choose the next appropriate buffer to display
therein using `hycontrol-display-buffer-predicate-list'.  Also
uses the value of`hycontrol--buffer-list' as the list of buffers
to distribute among the windows."
  (let ((buf (car hycontrol--buffer-list-pointer)))
    (setq hycontrol--buffer-list-pointer (cdr hycontrol--buffer-list-pointer))
    (unless buf
      ;; Now on each new pass through buffer-list, the buffer predicate tests will
      ;; be inverted to expand the list of allowed buffers because the
      ;; 1st pass did not produce a buffer for this window.
      (setq hycontrol--buffer-list-pointer hycontrol--buffer-list
	    buf (car hycontrol--buffer-list-pointer)
	    hycontrol--buffer-list-pointer (cdr hycontrol--buffer-list-pointer))
      (unless (eq hycontrol--invert-display-buffer-predicates 'ignore)
	(setq hycontrol--invert-display-buffer-predicates (not hycontrol--invert-display-buffer-predicates))))
    (while (and buf (or (= (aref (buffer-name buf) 0) ?\ )
			(and (not hycontrol--invert-display-buffer-predicates)
			     (not (eval (cons 'or (hycontrol-display-buffer-predicate-results buf)))))
			(and hycontrol--invert-display-buffer-predicates
			     (not (eq hycontrol--invert-display-buffer-predicates 'ignore))
			     (eval (cons 'or (hycontrol-display-buffer-predicate-results buf))))))
      ;; Buffer is not one to display, get the next one and test again.
      (setq buf (car hycontrol--buffer-list-pointer)
	    hycontrol--buffer-list-pointer (cdr hycontrol--buffer-list-pointer)))
    (cond (buf
	   (set-window-buffer window buf))
	  (t
	   ;; Start 2nd or greater pass through buffer list with predicates inverted.
	   (hycontrol-window-display-buffer window)))))