>From ece4a944b77d91f657622adbef9d62cfbfb365b1 Mon Sep 17 00:00:00 2001
From: Olof-Joachim Frahm <olof@macrolet.net>
Date: Mon, 8 Aug 2016 23:02:37 +0200
Subject: [PATCH 2/5] Add EXTERNAL-ONLY option to APROPOS.

---
 src/org/armedbear/lisp/apropos.lisp | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/src/org/armedbear/lisp/apropos.lisp b/src/org/armedbear/lisp/apropos.lisp
index 849923c..50c9658 100644
--- a/src/org/armedbear/lisp/apropos.lisp
+++ b/src/org/armedbear/lisp/apropos.lisp
@@ -34,7 +34,8 @@
 (in-package #:system)
 
 
-(defun apropos-list (string-designator &optional package-designator)
+(defun apropos-list (string-designator &optional package-designator
+                                                 external-only)
   (if package-designator
       (let ((package (find-package package-designator))
             (string (string string-designator))
@@ -43,18 +44,20 @@ (defun apropos-list (string-designator &optional package-designator)
           (declare (type symbol symbol))
           (when (search string (symbol-name symbol) :test #'char-equal)
             (push symbol result)))
-        (dolist (symbol (package-internal-symbols package))
-          (declare (type symbol symbol))
-          (when (search string (symbol-name symbol) :test #'char-equal)
-            (push symbol result)))
+        (unless external-only
+          (dolist (symbol (package-internal-symbols package))
+            (declare (type symbol symbol))
+            (when (search string (symbol-name symbol) :test #'char-equal)
+              (push symbol result))))
         result)
       (mapcan (lambda (package)
-                (apropos-list string-designator package))
+                (apropos-list string-designator package external-only))
               (list-all-packages))))
 
-(defun apropos (string-designator &optional package-designator)
+(defun apropos (string-designator &optional package-designator external-only)
   (dolist (symbol (remove-duplicates (apropos-list string-designator
-                                                   package-designator)))
+                                                   package-designator
+                                                   external-only)))
     (fresh-line)
     (prin1 symbol)
     (when (boundp symbol)
-- 
2.8.1

