]> git.eshelyaron.com Git - emacs.git/commitdiff
(count-lines): Do save-match-data only when necessary.
authorRichard M. Stallman <rms@gnu.org>
Sun, 16 Oct 1994 08:20:07 +0000 (08:20 +0000)
committerRichard M. Stallman <rms@gnu.org>
Sun, 16 Oct 1994 08:20:07 +0000 (08:20 +0000)
lisp/simple.el

index b4edb5c7ed3c06d9457d509e74e5a72ba532317a..090542e3cac209ac1abe43a890c52f4f8f0546d0 100644 (file)
@@ -324,12 +324,12 @@ that uses or sets the mark."
 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 @@ and the greater of them is not at the start of a line."
              (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)."