;;; -*- Mode:Lisp; Readtable:ZL; Package:USER; Base:8; Patch-File:T -*-
;;; Patch file for System version 121.46
;;; Reason:
;;;  Fixed SUB-APROPOS so that is correctly deals with APROPOS-NO-DUPLICATES.
;;; Written 10-Mar-87 13:39:36 by naha at site LMI Cambridge
;;; while running on Love from band 2
;;; with Experimental System 121.36, Experimental Lambda-Diag 15.0, Experimental ZMail 70.2, Experimental KERMIT 32.0, Experimental Unix-Interface 10.0, Experimental Local-File 72.0, Experimental FILE-Server 21.0, Experimental Tape 13.0, microcode 1733, SDU Boot Tape 3.13, SDU ROM 102, 121.35.



; From file DJ: L.SYS; QMISC.LISP#729 at 10-Mar-87 13:39:37
#8R SYSTEM-INTERNALS#: 
(COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "SYSTEM-INTERNALS")))
  (COMPILER::PATCH-SOURCE-FILE "SYS: SYS; QMISC  "

(DEFUN SUB-APROPOS (SUBSTRING STARTING-LIST &KEY PREDICATE BOUNDP FBOUNDP DONT-PRINT (no-duplicates t))
  "Find all symbols in STARTING-LIST whose names contain SUBSTRING, or
containing each string in it, if SUBSTRING is a list of strings.
IF PREDICATE is supplied, it should be a function of one arg;
only symbols for which the predicate returns non-NIL are included.
If BOUNDP is non-NIL, then only bound symbols are included. Similarly with FBOUNDP.
The symbols are printed unless DONT-PRINT is non-NIL.
A list of the symbols found is returned."
  (LET (RETURN-LIST
	(APROPOS-PREDICATE PREDICATE)
	(APROPOS-SUBSTRING SUBSTRING)
	(APROPOS-BOUNDP BOUNDP)
	(APROPOS-FBOUNDP FBOUNDP)
	(APROPOS-DONT-PRINT DONT-PRINT)
	(apropos-no-duplicates no-duplicates))
    (DECLARE (SPECIAL RETURN-LIST APROPOS-PREDICATE APROPOS-BOUNDP APROPOS-FBOUNDP
		      APROPOS-SUBSTRING APROPOS-DONT-PRINT apropos-no-duplicates))
    (MAPC #'APROPOS-1 STARTING-LIST)
    RETURN-LIST))

))
