LogoopenSUSE Build Service > Projects
Sign Up | Log In

View File sbclrc.sample of Package sbcl (Project devel:languages:misc)

;;; sample sbclrc
(ignore-errors (require 'sb-aclrepl))

(when (find-package 'sb-aclrepl)
              (push :aclrepl cl:*features*))
#+aclrepl
(progn
   (setq sb-aclrepl:*max-history* 100)
        (setf (sb-aclrepl:alias "asdc")
              #'(lambda (sys) (asdf:operate 'asdf:compile-op sys)))
(sb-aclrepl:alias "l" (sys) (asdf:operate 'asdf:load-op sys))
(sb-aclrepl:alias "t" (sys) (asdf:operate 'asdf:test-op sys))
   ;; The 1 below means that two characaters ("up") are required
(sb-aclrepl:alias ("up" 1 "Use package") (package) (use-package package))
   ;; The 0 below means only the first letter ("r") is required,
   ;; such as ":r base64"
(sb-aclrepl:alias ("require" 0 "Require module") (sys) (require sys))
(setq cl:*features* (delete :aclrepl cl:*features*)))


;;
;;
;; The following snippet handles fasl recompilation automatically for
;; ASDF-based systems (for more details see the sbcl info 2.3.2 FASL

(require :asdf)

;;; If a fasl was stale, try to recompile and load (once).
(defmethod asdf:perform :around ((o asdf:load-op)
                                 (c asdf:cl-source-file))
  (handler-case (call-next-method o c)
    ;; If a fasl was stale, try to recompile and load (once).
    (sb-ext:invalid-fasl ()
      (asdf:perform (make-instance 'asdf:compile-op) c)
      (call-next-method))))