summaryrefslogtreecommitdiff
path: root/lisp/longlines.el
diff options
context:
space:
mode:
authorChong Yidong <cyd@stupidchicken.com>2005-12-19 14:30:56 +0000
committerChong Yidong <cyd@stupidchicken.com>2005-12-19 14:30:56 +0000
commiteb0d286432b963396f7ce7c02bacfde2ce1623e0 (patch)
tree3616bc46438451920a5ffc6ac36bcf31549aa084 /lisp/longlines.el
parentfaef8681cb65537b35429d2d611e45512b81f052 (diff)
downloademacs-eb0d286432b963396f7ce7c02bacfde2ce1623e0.tar.gz
* longlines.el (longlines-mode): Wrap while widened.
(longlines-decode-region, longlines-encode-region): Compute max just once.
Diffstat (limited to 'lisp/longlines.el')
-rw-r--r--lisp/longlines.el20
1 files changed, 11 insertions, 9 deletions
diff --git a/lisp/longlines.el b/lisp/longlines.el
index a3912a26ca7..5ec2f0d8db6 100644
--- a/lisp/longlines.el
+++ b/lisp/longlines.el
@@ -1,6 +1,6 @@
;;; longlines.el --- automatically wrap long lines
-;; Copyright (C) 2000, 2001, 2005 Free Software Foundation, Inc.
+;; Copyright (C) 2000, 2001, 2004, 2005 Free Software Foundation, Inc.
;; Authors: Kai Grossjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
;; Alex Schroeder <alex@gnu.org>
@@ -127,8 +127,8 @@ are indicated with a symbol."
;; longlines-wrap-lines that we'll never encounter from here
(save-restriction
(widen)
- (longlines-decode-buffer))
- (longlines-wrap-region (point-min) (point-max))
+ (longlines-decode-buffer)
+ (longlines-wrap-region (point-min) (point-max)))
(set-buffer-modified-p mod))
(when (and longlines-show-hard-newlines
(not longlines-showing))
@@ -327,10 +327,11 @@ If BEG and END are nil, the point and mark are used."
(if (null beg) (setq beg (point)))
(if (null end) (setq end (mark t)))
(save-excursion
- (goto-char (min beg end))
- (while (search-forward "\n" (max beg end) t)
- (set-hard-newline-properties
- (match-beginning 0) (match-end 0)))))
+ (let ((reg-max (max beg end)))
+ (goto-char (min beg end))
+ (while (search-forward "\n" reg-max t)
+ (set-hard-newline-properties
+ (match-beginning 0) (match-end 0))))))
(defun longlines-decode-buffer ()
"Turn all newlines in the buffer into hard newlines."
@@ -341,9 +342,10 @@ If BEG and END are nil, the point and mark are used."
Hard newlines are left intact. The optional argument BUFFER exists for
compatibility with `format-alist', and is ignored."
(save-excursion
- (let ((mod (buffer-modified-p)))
+ (let ((reg-max (max beg end))
+ (mod (buffer-modified-p)))
(goto-char (min beg end))
- (while (search-forward "\n" (max (max beg end)) t)
+ (while (search-forward "\n" reg-max t)
(unless (get-text-property (match-beginning 0) 'hard)
(replace-match " ")))
(set-buffer-modified-p mod)