summaryrefslogtreecommitdiff
blob: 23642b16ffee31054273ea6578efd557f899ba2c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
;;; -*- Mode: LISP; Package: CL-USER -*-
;;;
;;; Copyright Peter Van Eynde, 2001
;;;
;;; License: LGPL v2
;;;
(in-package "COMMON-LISP-USER")

(unless (ignore-errors
          (load "/usr/share/common-lisp/source/common-lisp-controller/common-lisp-controller.lisp"))
  (unix:unix-exit 1))

;; (unless (ignore-errors
          (common-lisp-controller:init-common-lisp-controller 
           "/usr/lib/common-lisp/cmucl/"
           :version 3)
;;           t)
;;   (format t "~%Error during init of common-lisp-controller~%")
;;   (unix:unix-exit 1))

(in-package :common-lisp-controller)

(defun send-clc-command (command package)
  (let ((process
         (ext:run-program "/usr/bin/clc-send-command"
                          (list
                           (ecase command
                             (:recompile "recompile")
                             (:remove "remove"))
                           (format nil "~A" package)
			   "cmucl"
                           "--quiet")
                          :wait t)))
    (if (= (ext:process-exit-code process)
           0)
        ;; no error
        (values)
        (error "An error happend during ~A of ~A for ~A~%Please see /usr/share/doc/common-lisp-controller/REPORTING-BUGS.gz"
               (ecase command
                 (:recompile "recompilation")
                 (:remove "removal"))
               package
	       "cmucl"))))

(in-package "COMMON-LISP-USER")

(unless (ignore-errors
          ;; it loaded, configure it for common-lisp-controller use:
          (format t "~%Saving to new-lisp.core...")
          (ext:gc :full t)       
          (setf ext:*batch-mode* nil)
          (ext:save-lisp "new-lisp.core" 
                         :purify t))
  (unix:unix-exit 1))