    ^Symbol function]
    ;(log "type df " (type function))
    (if-let [var (ns-resolve (:*ns* @repl-env) function)]
+           #_(eval-expression (format "(doc %s)" (name function))
+                            "*doc*")
            (message-or-buffer "*doc*"
                               (trim (with-out-str
                                      (with-repl-ns

   ^Symbol function]
   ;(log "type show source" (type function))
   (if-let [var (ns-resolve (:*ns* @repl-env) function)]
           (message-or-buffer "*source*"
                              (trim (with-out-str (with-repl-ns (eval
                                                    `(clojure.repl/source ~function))))))
           (message "No such function \"%s\"." function)))

(defn make-func-completer

(defn filter-sources [amap]
  (into {} (filter #(let [k (key %)]
                         (try (with-repl-ns
                               (not= "Source not found\n"
                                     (count (clojure.repl/source-fn k))))
                              (catch Exception e
                                     false)))
                   amap)))
