changeset 135:e1b5a59d0f91

*** empty log message ***
author Richard M. Stallman <rms@gnu.org>
date Mon, 10 Dec 1990 18:52:37 +0000
parents 93491679e7e9
children 4d8caa5e2cba
files lisp/sort.el
diffstat 1 files changed, 9 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/sort.el	Mon Dec 10 05:14:16 1990 +0000
+++ b/lisp/sort.el	Mon Dec 10 18:52:37 1990 +0000
@@ -48,7 +48,8 @@
 STARTKEYFUN may moves from the start of the record to the start of the key.
 It may return either return a non-nil value to be used as the key, or
 else the key will be the substring between the values of point after
-STARTKEYFUNC and ENDKEYFUN are called.
+STARTKEYFUN and ENDKEYFUN are called.  If STARTKEYFUN is nil, the key
+starts at the beginning of the record.
 
 ENDKEYFUN moves from the start of the sort key to the end of the sort key.
 ENDKEYFUN may be nil if STARTKEYFUN returns a value or if it would be the
@@ -65,20 +66,15 @@
 	(setq sort-lists
 	      (if (fboundp 'sortcar)
 		  (sortcar sort-lists
-			   (cond ((floatp (car (car sort-lists)))
-				  'f<)
-				 ((numberp (car (car sort-lists)))
+			   (cond ((numberp (car (car sort-lists)))
+				  ;; This handles both ints and floats.
 				  '<)
 				 ((consp (car (car sort-lists)))
 				  'buffer-substring-lessp)
 				 (t
 				  'string<)))
 		  (sort sort-lists
-			(cond ((floatp (car (car sort-lists)))
-			       (function
-				(lambda (a b)
-				  (f< (car a) (car b)))))
-			      ((numberp (car (car sort-lists)))
+			(cond ((numberp (car (car sort-lists)))
 			       (function
 				(lambda (a b)
 				  (< (car a) (car b)))))
@@ -135,8 +131,8 @@
 					  (equal (car key) start-rec)
 					  (equal (cdr key) (point)))
 				     (cons key key)
-				     (list key start-rec (point)))
-				sort-lists)))
+				   (cons key (cons start-rec (point))))
+				 sort-lists)))
       (and (not done) nextrecfun (funcall nextrecfun)))
     sort-lists))
 
@@ -158,8 +154,8 @@
       (goto-char (point-max))
       (insert-buffer-substring (current-buffer)
 			       (nth 1 (car sort-lists))
-			       (nth 2 (car sort-lists)))
-      (setq last (nth 2 (car old))
+			       (cdr (cdr (car sort-lists))))
+      (setq last (cdr (cdr (car old)))
 	    sort-lists (cdr sort-lists)
 	    old (cdr old)))
     (goto-char (point-max))