Function: hui:menu-multi-line

hui:menu-multi-line is a byte-compiled function defined in hui-mini.el.

Signature

(hui:menu-multi-line MENU-ALIST)

Documentation

Return the formatted text for a multi-line minibuffer window popup menu.

The menu is a menu of commands from MENU-ALIST.

Source Code

;; Defined in ~/.emacs.d/elpa/hyperbole-20260414.325/hui-mini.el
(defun hui:menu-multi-line (menu-alist)
  "Return the formatted text for a multi-line minibuffer window popup menu.
The menu is a menu of commands from MENU-ALIST."
  (let* ((items-in-line 0)
	 (item-start 0)
	 (menu-strings (mapcar #'car menu-alist))
	 (max-item-len
	  (when menu-strings (+ 1 (apply 'max (mapcar #'length menu-strings))))))
    (unless menu-strings
      (error "(hui:menu-multi-line): Invalid menu specified, '%s'" menu-alist))
    (with-temp-buffer
      (let (indent-tabs-mode)
	(mapc
	 (lambda (s)
	   (setq item-start (* max-item-len items-in-line))
	   (if (or (>= item-start (frame-width))
		   (>= (+ item-start max-item-len) (frame-width)))
	       (progn
		 (setq items-in-line 0)
		 (insert "\n" s))
	     (move-to-column item-start t)
	     (insert s))
	   (setq items-in-line (1+ items-in-line)))
	 menu-strings)
	(buffer-string)))))