doc/list-exports.lisp: Strip duplicate exports.
authorMark Wooding <mdw@distorted.org.uk>
Sun, 30 Aug 2015 09:58:38 +0000 (10:58 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Sun, 13 Sep 2015 23:04:15 +0000 (00:04 +0100)
They can happen legitimately because of automatic exporting.

doc/list-exports.lisp

index ef10b00..0c809ee 100644 (file)
 (defun categorize-symbols (paths package)
   (mapcar (lambda (assoc)
            (let ((home (car assoc))
-                 (symbols (sort (mapcan (lambda (sym)
-                                          (multiple-value-bind
-                                              (symbol foundp)
-                                              (find-symbol (symbol-name sym)
-                                                           package)
-                                            (and foundp (list symbol))))
-                                        (cdr assoc))
-                                #'string< :key #'symbol-name)))
+                 (symbols (delete-duplicates
+                           (sort (mapcan (lambda (sym)
+                                           (multiple-value-bind
+                                               (symbol foundp)
+                                               (find-symbol
+                                                (symbol-name sym)
+                                                package)
+                                             (and foundp (list symbol))))
+                                         (cdr assoc))
+                                 #'string< :key #'symbol-name))))
              (cons home (mapcar (lambda (symbol)
                                   (cons symbol (categorize symbol)))
                                 symbols))))