From 3311d1c27f57fcc757b5c4f2c9c814008f6cb003 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Mon, 2 Aug 2010 12:25:27 +0200 Subject: [PATCH] * lisp/textmodes/fill.el (justify-current-line): Don't add 1 to nspaces when justifying. It seems useless and harmful for ncols=1. Fixes: debbugs:6738 --- lisp/ChangeLog | 3 +++ lisp/textmodes/fill.el | 22 ++++++++++------------ 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 4837023ba3b..e475a152e38 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2010-08-02 Stefan Monnier + * textmodes/fill.el (justify-current-line): Don't add 1 to nspaces + when justifying. It seems useless and harmful for ncols=1 (bug#6738). + * emacs-lisp/timer.el (timer-event-handler): Protect against timers that change current buffer. diff --git a/lisp/textmodes/fill.el b/lisp/textmodes/fill.el index 605f3f8c101..a9eb45939b2 100644 --- a/lisp/textmodes/fill.el +++ b/lisp/textmodes/fill.el @@ -1289,18 +1289,16 @@ otherwise it is made canonical." (skip-chars-backward " ")) (setq ncols (- fc endcol)) ;; Ncols is number of additional space chars needed - (if (and (> ncols 0) (> nspaces 0) (not eop)) - (progn - (setq curr-fracspace (+ ncols (/ (1+ nspaces) 2)) - count nspaces) - (while (> count 0) - (skip-chars-forward " ") - (insert-and-inherit - (make-string (/ curr-fracspace nspaces) ?\s)) - (search-forward " " nil t) - (setq count (1- count) - curr-fracspace - (+ (% curr-fracspace nspaces) ncols))))))) + (when (and (> ncols 0) (> nspaces 0) (not eop)) + (setq curr-fracspace (+ ncols (/ nspaces 2)) + count nspaces) + (while (> count 0) + (skip-chars-forward " ") + (insert-char ?\s (/ curr-fracspace nspaces) t) + (search-forward " " nil t) + (setq count (1- count) + curr-fracspace + (+ (% curr-fracspace nspaces) ncols)))))) (t (error "Unknown justification value")))) (goto-char pos) (move-marker pos nil))) -- 2.39.2