diff --git a/src/interp/daase.lisp.pamphlet b/src/interp/daase.lisp.pamphlet index b3ff3c4..5254256 100644 --- a/src/interp/daase.lisp.pamphlet +++ b/src/interp/daase.lisp.pamphlet @@ -869,33 +869,21 @@ database. (values only dir noexpose))) (defun processDir (dirarg thisdir) - (let (allfiles skipasos) - (system:chdir (string dirarg)) - (setq allfiles (directory "*.nrlib/*")) - (system:chdir thisdir) - (values - (mapcan #'(lambda (f) - (when (string-equal (pathname-type f) "kaf") - (list f))) - allfiles) - (mapcan #'(lambda (f) - (when (string= (pathname-type f) "asy") - (push (pathname-name f) skipasos) - (list (namestring f)))) allfiles) - (mapcan #'(lambda (f) - (when (and (string= (pathname-type f) "ao") - (not (member (pathname-name f) skipasos :test #'string=))) - (list (namestring f)))) - allfiles) - ;; At the moment we will only look for user.lib: others are taken care - ;; of by localasy and localnrlib. -#+:CCL - (mapcan #'(lambda (f) - (when (and (string= (pathname-type f) "lib") (string= (pathname-name f) "user")) - (list (namestring f)))) - allfiles) -#-:CCL nil - ))) + (unwind-protect + (progn + (system:chdir (string dirarg)) + (let* ((index-files + (directory (concatenate 'string "*.nrlib/" vmlisp:*index-filename*))) + (asy-files + (directory "*.asy")) + (aso-files + (let ((asy-names (mapcar #'pathname-name asy-files))) + (mapcan (lambda (f) + (unless (member (pathname-name f) asy-names :test #'equal) + (list f))) + (directory "*.ao"))))) + (values index-files asy-files aso-files nil))) + (system:chdir thisdir))) (defun localdatabase (filelist options &optional (make-database? nil)) "read a local filename and update the hash tables" diff --git a/src/interp/i-syscmd.boot.pamphlet b/src/interp/i-syscmd.boot.pamphlet index 3f3e57b..081be73 100644 --- a/src/interp/i-syscmd.boot.pamphlet +++ b/src/interp/i-syscmd.boot.pamphlet @@ -1277,12 +1277,15 @@ readSpad2Cmd l == fullopt := selectOptionLC(opt,'(quiet test ifthere),'optionError) fullopt = 'ifthere => ifthere := true fullopt = 'quiet => quiet := true - - ef := pathname _/EDITFILE - if pathnameTypeId(ef) = 'SPAD then - ef := makePathname(pathnameName ef,'"*",'"*") + ef := + _/EDITFILE => pathname _/EDITFILE + NIL + ef := + ef and pathnameTypeId(ef) = 'SPAD => + makePathname(pathnameName ef,'"*",'"*") + pathname "." if l then - l := mergePathnames(pathname l,ef) + l := mergePathnames(pathname l,ef) else l := ef devFTs := '("input" "INPUT" "boot" "BOOT" "lisp" "LISP") diff --git a/src/interp/sys-pkg.lisp.pamphlet b/src/interp/sys-pkg.lisp.pamphlet index a880c5b..6ac6d4f 100644 --- a/src/interp/sys-pkg.lisp.pamphlet +++ b/src/interp/sys-pkg.lisp.pamphlet @@ -88,12 +88,12 @@ idioms from prior ports (like rdefiostream and fileactq) "$FILETYPE-TABLE" "$FINDFILE" "$INFILEP" "$LIBRARY-DIRECTORY-LIST" "$LISTFILE" "$OUTFILEP" "$REPLACE" "$SCREENSIZE" "$SHOWLINE" "$SPADROOT" "$TOTAL-ELAPSED-TIME" "$TOTAL-GC-TIME" "$defaultMsgDatabaseName" - "$msgDatabaseName" "*COMP370-APPLY*" "*FILEACTQ-APPLY*" "*LISP-BIN-FILETYPE*" - "*LISP-SOURCE-FILETYPE*" "ABSVAL" "ADD1" "ADDOPTIONS" "ALLOCATE" "APPLX" - "ASSEMBLE" "ASSQ" "BFP" "BINTP" "BOOLEANP" "BPINAME" "BYE" "CALLBELOW" "CATCHALL" - "CGREATERP" "CHANGELENGTH" "CHAR2NUM" "CHARP" "CLINES" "CLOSEDFN" "COMP370" - "COMPILE-LIB-FILE" "COMPRREAD" "COMPRWRITE" "CONCAT" "CONSOLE" "CONSTANT" - "COPY" "CREATE-SBC" "CURINSTREAM" "CUROUTSTREAM" "CURRENTTIME" "CURRINDEX" + "$msgDatabaseName" "*COMP370-APPLY*" "*FILEACTQ-APPLY*" "*INDEX-FILENAME*" + "*LISP-BIN-FILETYPE*" "*LISP-SOURCE-FILETYPE*" "ABSVAL" "ADD1" "ADDOPTIONS" + "ALLOCATE" "APPLX" "ASSEMBLE" "ASSQ" "BFP" "BINTP" "BOOLEANP" "BPINAME" "BYE" + "CALLBELOW" "CATCHALL" "CGREATERP" "CHANGELENGTH" "CHAR2NUM" "CHARP" "CLINES" + "CLOSEDFN" "COMP370" "COMPILE-LIB-FILE" "COMPRREAD" "COMPRWRITE" "CONCAT" "CONSOLE" + "CONSTANT" "COPY" "CREATE-SBC" "CURINSTREAM" "CUROUTSTREAM" "CURRENTTIME" "CURRINDEX" "CVEC" "CVECP" "DCQ" "DEFENTRY" "DEFINE-FUNCTION" "DEFIOSTREAM" "DEVICE" "DIFFERENCE" "DIG2FIX" "DIGITP" "DIVIDE" "DOUBLE" "DOWNCASE" "DSETQ" "EBCDIC" "ECQ" "EFFACE" "EMBED" "EMBEDDED" "EOFP" "EQCAR" "EQQ" "EQSUBSTLIST"