Function: kotl-mode:fill-cell
kotl-mode:fill-cell is an interactive and byte-compiled function
defined in kotl-mode.el.
Signature
(kotl-mode:fill-cell &optional JUSTIFY IGNORE-COLLAPSED-P)
Documentation
Fill current cell within current view if it lacks a non-nil no-fill attribute.
With optional JUSTIFY, justify cell as well. IGNORE-COLLAPSED-P is used when caller has already expanded cell, indicating it is not collapsed.
Key Bindings
Source Code
;; Defined in ~/.emacs.d/elpa/hyperbole-20260414.325/kotl/kotl-mode.el
(defun kotl-mode:fill-cell (&optional justify ignore-collapsed-p)
"Fill current cell within current view if it lacks a non-nil `no-fill' attribute.
With optional JUSTIFY, justify cell as well.
IGNORE-COLLAPSED-P is used when caller has already expanded cell, indicating
it is not collapsed."
(interactive "*P")
(cond ((kotl-mode:skip-filling-p (called-interactively-p 'interactive)))
((string-match "\\`[ \t\n\r]*\\'" (kcell-view:contents))
;; Cell content is all whitespace.
nil)
(t (let* ((indent (kcell-view:indent))
(opoint (set-marker (make-marker) (point)))
(start (set-marker (make-marker) (kcell-view:start)))
(end (set-marker (make-marker) (kcell-view:end-contents)))
(collapsed-p)
temp-prefix prev-point)
(goto-char start)
;; Expand cell if collapsed so that filling is done properly.
(when (and (not ignore-collapsed-p)
(kcell-view:collapsed-p start))
(setq collapsed-p (kview:get-cells-status kotl-kview start end))
(outline-flag-region start end nil))
(goto-char start)
;; Add a temporary fill-prefix for first labeled line, so is
;; filled properly.
(insert (setq temp-prefix
(concat "\n\n" (make-string indent ?\ ))))
(while (progn (if (fboundp 'fill-paragraph-and-align)
(fill-paragraph-and-align justify)
(fill-paragraph justify))
(setq prev-point (point))
(forward-paragraph)
(and (not (eq (point) prev-point))
(< (point) (kcell-view:end-contents))
(if (or (= (preceding-char) ?\n) (outline-invisible-p (1- (point))))
(not (or (= (following-char) ?\n) (outline-invisible-p)))
t))))
;; Delete temporary fill prefix.
(goto-char start)
(when (looking-at temp-prefix)
(replace-match "" t t))
;; Return to original point.
(set-marker end nil)
(setq end (kcell-view:end-contents))
(goto-char (min opoint end))
;;
;; If cell was collapsed before filling, restore its status.
(when (remq 0 collapsed-p)
(kview:set-cells-status kotl-kview start end collapsed-p))
;;
;; Remove markers.
(set-marker start nil)
(set-marker opoint nil))
;; Move to editable point if need be.
(kotl-mode:to-valid-position))))