Commit c91ba17a authored by Francois-Rene Rideau's avatar Francois-Rene Rideau
Browse files

Fix bug in UIOP/PACKAGE:PACKAGE-DEFINITION-FORM: don't use destructive SORT

without COPY-LIST on shared data structures. Bug found by drmeister.
parent d13a2918
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -148,7 +148,7 @@ this function tries to locate the Windows FOLDER for one of
    "Map the VALIDATOR across the .conf files in DIRECTORY, the TAG will
    "Map the VALIDATOR across the .conf files in DIRECTORY, the TAG will
be applied to the results to yield a configuration form.  Current
be applied to the results to yield a configuration form.  Current
values of TAG include :source-registry and :output-translations."
values of TAG include :source-registry and :output-translations."
    (let ((files (sort (ignore-errors
    (let ((files (sort (ignore-errors ;; SORT w/o COPY-LIST is OK: DIRECTORY returns a fresh list
                        (remove-if
                        (remove-if
                         'hidden-pathname-p
                         'hidden-pathname-p
                         (directory* (make-pathname :name *wild* :type "conf" :defaults directory))))
                         (directory* (make-pathname :name *wild* :type "conf" :defaults directory))))
+1 −1
Original line number Original line Diff line number Diff line
@@ -317,7 +317,7 @@ or when loading the package is optional."
                       (imported)
                       (imported)
                       (t (push name intern)))))))
                       (t (push name intern)))))))
        (labels ((sort-names (names)
        (labels ((sort-names (names)
                   (sort names #'string<))
                   (sort (copy-list names) #'string<))
                 (table-keys (table)
                 (table-keys (table)
                   (loop :for k :being :the :hash-keys :of table :collect k))
                   (loop :for k :being :the :hash-keys :of table :collect k))
                 (when-relevant (key value)
                 (when-relevant (key value)