-
Notifications
You must be signed in to change notification settings - Fork 15
Expand file tree
/
Copy pathload-cl.el
More file actions
96 lines (80 loc) · 2.08 KB
/
load-cl.el
File metadata and controls
96 lines (80 loc) · 2.08 KB
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
;;;; -*- emacs-lisp -*-
;;;
;;; Copyright (C) 2003, 2004 Lars Brinkhoff.
;;; Functions for loading and compiling the whole system.
;;; Loading this file also loads the system as a side effect.
(require 'cl)
(require 'cl-extra)
(require 'byte-compile "bytecomp")
(setq max-lisp-eval-depth 10000)
(setq max-specpdl-size 10000)
;;; Fake IN-PACKAGE and FIND-PACKAGE until they are defined properly
;;; in cl-packages.el.
(defmacro IN-PACKAGE (name) nil)
(defun FIND-PACKAGE (name) nil)
(unless (fboundp 'cl-mapcar-many)
(fset 'cl-mapcar-many (symbol-function 'cl--mapcar-many)))
(defvar *cl-files*
'("utils"
"func"
"cl-evaluation"
"cl-flow"
"cl-numbers"
"cl-characters"
"cl-strings"
"cl-arrays"
"cl-structures"
"cl-iteration"
"cl-symbols"
"cl-types"
"cl-environment"
"cl-files"
"interaction"
"cl-eval"
"cl-printer"
"cl-conses"
"cl-sequences"
"cl-packages"
"cl-filenames"
"cl-hash"
"cl-typep"
"cl-reader"
"cl-streams"
"cl-subtypep"
"cl-system"
"cl-loop"
"cl-format"
"cl-compile"
"cl-objects"
"cl-conditions"
"populate"))
(defun load-cl ()
(interactive)
(let ((load-path (cons (file-name-directory load-file-name) load-path))
(debug-on-error t)
(byte-compile-warnings nil))
(mapc #'load *cl-files*)
(populate-packages)
(garbage-collect)))
(defun compile-cl ()
(interactive)
(let ((byte-compile-warnings '(not cl-functions)))
(dolist (file *cl-files*)
(byte-compile-file (concat file ".el")))))
(when (string-match "^19" emacs-version)
(dolist (x '(:required :optional-rest :weakness :type :read-only
:constituent :whitespace :single-escape
:multiple-escape :terminating-macro
:non-terminating-macro :eof :special-operator
:lexical :special :macro :symbol-macro))
(set x x)))
(setq *global-environment*
(vector 'environment
;; Variable information
nil nil nil
;; Function information
nil nil nil
;; Block and tagbody information
nil nil))
(load-cl)
(IN-PACKAGE "CL-USER")