# HG changeset patch # User Stefan Monnier # Date 1280744727 -7200 # Node ID e20f769083f943d1ce9ce9edfa2f0dd6487fb5ad # Parent faf7d069c51791e75f8368bc7c2907dc4546df6c * lisp/textmodes/fill.el (justify-current-line): Don't add 1 to nspaces when justifying. It seems useless and harmful for ncols=1. diff -r faf7d069c517 -r e20f769083f9 lisp/ChangeLog --- a/lisp/ChangeLog Mon Aug 02 11:00:46 2010 +0200 +++ b/lisp/ChangeLog Mon Aug 02 12:25:27 2010 +0200 @@ -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 -r faf7d069c517 -r e20f769083f9 lisp/textmodes/fill.el --- a/lisp/textmodes/fill.el Mon Aug 02 11:00:46 2010 +0200 +++ b/lisp/textmodes/fill.el Mon Aug 02 12:25:27 2010 +0200 @@ -1289,18 +1289,16 @@ (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)))