From c3afc208b538c0a1de0890514e9d362c840c2930 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Mon, 20 Jul 2026 23:35:57 -0500 Subject: fix(comments): render padded dividers at LENGTH exactly available-width omitted the doubled semicolon and the space after comment-start that the emit path adds, so dividers rendered LENGTH+2 (elisp) or LENGTH+1 wide. The budget now mirrors every term min-length already counts. --- modules/custom-comments.el | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'modules/custom-comments.el') diff --git a/modules/custom-comments.el b/modules/custom-comments.el index 73d29b0c..7f66424c 100644 --- a/modules/custom-comments.el +++ b/modules/custom-comments.el @@ -200,8 +200,13 @@ PADDING is the number of spaces before the text." (if (string-empty-p cmt-end) 0 (1+ (length cmt-end)))))) (when (< length min-length) (error "Length %d is too small to generate comment (minimum %d)" length min-length)) + ;; Mirror every term the emit path adds: the prologue also inserts a + ;; doubled semicolon (elisp) and a trailing space that this budget used + ;; to omit, rendering dividers LENGTH+2 (elisp) or LENGTH+1 wide. (let* ((available-width (- length current-column-pos (length cmt-start) + (if (equal cmt-start ";") 1 0) ; doubled semicolon + 1 ; space after comment-start (if (string-empty-p cmt-end) 0 (1+ (length cmt-end))))) (line (make-string available-width (string-to-char decoration-char)))) ;; Top line -- cgit v1.2.3