I was trying to make the WoMan buffers open as I intend to using display-buffer-alist. But that was not working.
(defun WoMan-find-buffer ()
"Switch to buffer corresponding to `woman-buffer-number' and return it.
If such a buffer does not exist then remove its association from the
alist in `woman-buffer-alist' and return nil."
(if (zerop woman-buffer-number)
(let ((buffer (get-buffer (cdr (car woman-buffer-alist)))))
(if buffer
;; (switch-to-buffer buffer) ; Edit
(display-buffer buffer) ; Edit
;; Delete alist element:
(setq woman-buffer-alist (cdr woman-buffer-alist))
nil))
(let* ((prev-ptr (nthcdr (1- woman-buffer-number) woman-buffer-alist))
(buffer (get-buffer (cdr (car (cdr prev-ptr))))))
(if buffer
;; (switch-to-buffer buffer) ; Edit
(display-buffer buffer) ; Edit
;; Delete alist element:
(setcdr prev-ptr (cdr (cdr prev-ptr)))
(if (>= woman-buffer-number (length woman-buffer-alist))
(setq woman-buffer-number 0))
nil))))
(defun woman-really-find-file (filename compressed bufname)
"Find, decompress, and decode a UN*X man page FILENAME.
If COMPRESSED is non-nil, turn on auto-compression mode to decompress
the file if necessary. Set buffer name BUFNAME and major mode.
Do not call directly!"
(let ((WoMan-current-file filename)) ; used for message logging
(if woman-use-own-frame
(select-frame
(or (and (frame-live-p woman-frame) woman-frame)
(setq woman-frame (make-frame)))))
(set-buffer (get-buffer-create bufname))
(condition-case nil
;; (switch-to-buffer (current-buffer)) ; Edit
(display-buffer (current-buffer)) ; Edit
(error (pop-to-buffer (current-buffer))))
(buffer-disable-undo)
(setq buffer-read-only nil)
(erase-buffer) ; NEEDED for reformat
(woman-insert-file-contents filename compressed)
;; Set buffer's default directory to that of the file.
(setq default-directory (file-name-directory filename))
(set (make-local-variable 'backup-inhibited) t)
(set-visited-file-name "")
(woman-process-buffer)))
The edited lines have the "; Edit" comments.
I simply replaced `switch-to-buffer' with `display-buffer' at 3 places.
If doing so does not have any unexpected bad outcomes, can that change be made in the master?
PS: Not sure if this should have been a bug report; so posted here.