quickload and system-apropos extension

42 views
Skip to first unread message

Kaïraba Cissé

unread,
Apr 30, 2012, 3:11:44 PM4/30/12
to Quicklisp
It can be painful to quickload a lot of
systems.
So, I added the following code in my init files.
Is it an interresting extension to replace
quickload ?

(in-package #:quicklisp-client)
(defun system-apropos* (term)
(let (result)
(dolist (system (provided-systems t))
(when (or (search term (name system))
(search term (name (release system))))
(push system result)))
(nreverse result)))

(defun quickload* (systems &key verbose prompt)
(unless (consp systems)
(setf systems (list systems)))
(dolist (system systems)
(if (typep system 'system)
(ql:quickload (name system) :verbose verbose :prompt prompt)
(ql:quickload system :verbose verbose :prompt prompt))))

(export 'system-apropos* 'quicklisp-client)
(export 'quickload* 'quicklisp-client)


;; example :
;; we can load all lispbuilder systems
(ql:quickload* (ql:system-apropos* "lispbuilder-"))

Zach Beane

unread,
Apr 30, 2012, 3:19:35 PM4/30/12
to quic...@googlegroups.com
Kaïraba Cissé <ckai...@gmail.com> writes:

> It can be painful to quickload a lot of
> systems.
> So, I added the following code in my init files.
> Is it an interresting extension to replace
> quickload ?

QUICKLOAD already takes a list as its first argument. I'll look into
passing a system object as a designator, though.

> (in-package #:quicklisp-client)
> (defun system-apropos* (term)
> (let (result)
> (dolist (system (provided-systems t))
> (when (or (search term (name system))
> (search term (name (release system))))
> (push system result)))
> (nreverse result)))

I think I'd call it something like SYSTEM-APROPOS-LIST.

Zach
Reply all
Reply to author
Forward
0 new messages