changeset 9554:d3f3f3db986d

(count-lines): Do save-match-data only when necessary.
author Richard M. Stallman <rms@gnu.org>
date Sun, 16 Oct 1994 08:20:07 +0000
parents 6cf77973c97f
children 0fac2c0a026d
files lisp/simple.el
diffstat 1 files changed, 8 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/simple.el	Sun Oct 16 06:17:57 1994 +0000
+++ b/lisp/simple.el	Sun Oct 16 08:20:07 1994 +0000
@@ -324,12 +324,12 @@
 This is usually the number of newlines between them,
 but can be one more if START is not equal to END
 and the greater of them is not at the start of a line."
-  (save-match-data
-    (save-excursion
-      (save-restriction
-	(narrow-to-region start end)
-	(goto-char (point-min))
-	(if (eq selective-display t)
+  (save-excursion
+    (save-restriction
+      (narrow-to-region start end)
+      (goto-char (point-min))
+      (if (eq selective-display t)
+	  (save-match-data
 	    (let ((done 0))
 	      (while (re-search-forward "[\n\C-m]" nil t 40)
 		(setq done (+ 40 done)))
@@ -339,8 +339,8 @@
 	      (if (and (/= start end)
 		       (not (bolp)))
 		  (1+ done)
-		done))
-	  (- (buffer-size) (forward-line (buffer-size))))))))
+		done)))
+	(- (buffer-size) (forward-line (buffer-size)))))))
 
 (defun what-cursor-position ()
   "Print info on cursor position (on screen and within buffer)."