File tree Expand file tree Collapse file tree 10 files changed +63
-45
lines changed Expand file tree Collapse file tree 10 files changed +63
-45
lines changed Original file line number Diff line number Diff line change 1+ # language: emacs-lisp
2+ dist : xenial
3+ sudo : required
4+ env :
5+ - EMACS=emacs24
6+ # - EMACS=emacs25
7+ # - EMACS=emacs-snapshot
8+ install :
9+ - lsb_release -a
10+ - sudo add-apt-repository -y ppa:ubuntu-elisp
11+ - sudo apt-get update -y
12+ - sudo apt-get install $EMACS
13+ script : make -C src EMACS=$EMACS
14+ notifications :
15+
Original file line number Diff line number Diff line change @@ -9,7 +9,7 @@ EMACS = emacs20
99EMACSEN = emacs20 emacs21 xemacs21 # ../emacs-19.34/src/emacs
1010
1111all :
12- $(EMACS ) -batch -l load-cl.el -f compile-cl
12+ $(EMACS ) -Q - batch -l load-cl.el -f compile-cl
1313
1414# install:
1515
Original file line number Diff line number Diff line change 9393 (MULTIPLE-VALUE-BIND (body decls) (parse-body forms)
9494 (eval-body body new-env))))
9595
96- (defun lexical-variable-p (var env )
96+ (defun emacs-cl-- lexical-variable-p (var env )
9797 (eq (nth-value 0 (variable-information var env)) :lexical ))
9898
99- (defun special-variable-p (var env )
100- (not (lexical-variable-p var env)))
99+ (defun emacs-cl-- special-variable-p (var env )
100+ (not (emacs-cl-- lexical-variable-p var env)))
101101
102102; ;; TODO: let* bindings shouldn't be evaluated in an environment where
103103; ;; succeeding bindings exist.
113113 (eval-with-env
114114 (second binding)
115115 (or old-env new-env))))
116- (if (lexical-variable-p var new-env)
116+ (if (emacs-cl-- lexical-variable-p var new-env)
117117 (setf (lexical-value var new-env) val)
118118 (progn
119119 (push (if (boundp var) (symbol-value var) unbound) oldvals)
123123 (setq oldvals (nreverse oldvals))
124124 (dolist (binding bindings)
125125 (let ((var (if (symbolp binding) binding (first binding))))
126- (unless (lexical-variable-p var new-env)
126+ (unless (emacs-cl-- lexical-variable-p var new-env)
127127 (let ((val (pop oldvals)))
128128 (if (eq val unbound)
129129 (makunbound var)
461461 (t
462462 (type-error fn 'FUNCTION ))))
463463
464- (defsetf function-name set-function-name)
465-
466464(DEFSETF function-name set-function-name)
467465
468466(defun set-function-name (fn name )
Original file line number Diff line number Diff line change 5050 (BLOCK ,(function-block-name name)
5151 ,@body ))))))
5252
53+ (eval-and-compile
54+ (defsetf FDEFINITION (name) (fn)
55+ `(cond
56+ ((symbolp , name )
57+ (setf (SYMBOL-FUNCTION , name ) , fn ))
58+ ((setf-name-p , name )
59+ (puthash (second , name ) , fn *setf-definitions*))
60+ (t
61+ (not-function-name-error , name )))))
62+
63+ (defsetf function-name set-function-name)
64+
5365(defun set-fun (name fn )
5466 (setf (FDEFINITION name) fn)
5567 (setf (function-name fn) name)
8092 (t
8193 (not-function-name-error name))))
8294
83- (defsetf FDEFINITION (name) (fn)
84- `(cond
85- ((symbolp , name )
86- (setf (SYMBOL-FUNCTION , name ) , fn ))
87- ((setf-name-p , name )
88- (puthash (second , name ) , fn *setf-definitions*))
89- (t
90- (not-function-name-error , name ))))
91-
9295(defun FBOUNDP (name )
9396 (cond
9497 ((symbolp name)
Original file line number Diff line number Diff line change 734734; ;; TODO:
735735(set-fun '(SETF DOCUMENTATION) (lambda (value object type ) value))
736736
737- (cl:defmethod MAKE-LOAD-FORM ((object T) &OPTIONAL env)
738- (built-in-make-load-form object env))
739- (cl:defmethod MAKE-LOAD-FORM ((object STANDARD-OBJECT) &OPTIONAL env)
740- (ERROR (QUOTE ERROR)))
741- (cl:defmethod MAKE-LOAD-FORM ((object STRUCTURE-OBJECT) &OPTIONAL env)
742- (ERROR (QUOTE ERROR)))
743- (cl:defmethod MAKE-LOAD-FORM ((object STRUCTURE-OBJECT) &OPTIONAL env)
744- (BACKQUOTE (FIND-CLASS (QUOTE (COMMA (CLASS-NAME object))))))
745-
746- (cl:defmethod PRINT-OBJECT ((object T) stream)
747- (built-in-print-object object stream))
748-
749- (cl:defmethod DOCUMENTATION ((object FUNCTION) type)
750- (WHEN (> (length object) 4 )
751- (aref object 4 )))
737+ ; ; (cl:defmethod MAKE-LOAD-FORM ((object T) &OPTIONAL env)
738+ ; ; (built-in-make-load-form object env))
739+ ; ; (cl:defmethod MAKE-LOAD-FORM ((object STANDARD-OBJECT) &OPTIONAL env)
740+ ; ; (ERROR (QUOTE ERROR)))
741+ ; ; (cl:defmethod MAKE-LOAD-FORM ((object STRUCTURE-OBJECT) &OPTIONAL env)
742+ ; ; (ERROR (QUOTE ERROR)))
743+ ; ; (cl:defmethod MAKE-LOAD-FORM ((object STRUCTURE-OBJECT) &OPTIONAL env)
744+ ; ; (BACKQUOTE (FIND-CLASS (QUOTE (COMMA (CLASS-NAME object))))))
745+
746+ ; ; (cl:defmethod PRINT-OBJECT ((object T) stream)
747+ ; ; (built-in-print-object object stream))
748+
749+ ; ; (cl:defmethod DOCUMENTATION ((object FUNCTION) type)
750+ ; ; (WHEN (> (length object) 4)
751+ ; ; (aref object 4)))
Original file line number Diff line number Diff line change 227227 (if position
228228 ; ; TODO: implement setting position
229229 (progn
230- (setf (STREAM-position stream))
230+ (setf (STREAM-position stream) position )
231231 T)
232232 (STREAM-position stream)))
233233
Original file line number Diff line number Diff line change 138138 (&REST
139139 (push `(, var , rest-sym ) bindings))
140140 (&KEY
141- (push `(, var ', unbound ) bindings)
141+ ; ;(push `(,var ',unbound) bindings)
142+ (push `(, var nil ) bindings)
142143 (when supp
143144 (push `(, supp nil ) bindings)))
144145 (&AUX
Original file line number Diff line number Diff line change 55; ;; Loading this file also loads the system as a side effect.
66
77(require 'cl )
8+ (require 'cl-extra )
89(require 'byte-compile " bytecomp" )
910
1011(setq max-lisp-eval-depth 10000 )
2526 " cl-evaluation"
2627 " cl-flow"
2728 " cl-numbers"
28- " cl-conses"
2929 " cl-characters"
3030 " cl-strings"
3131 " cl-arrays"
32- " cl-sequences"
3332 " cl-structures"
3433 " cl-iteration"
3534
3635 " cl-symbols"
37- " cl-packages"
3836
3937 " cl-types"
40- " cl-typep"
41- " cl-subtypep"
4238
43- " cl-hash"
44- " cl-streams"
45- " cl-reader"
46- " cl-printer"
4739 " cl-environment"
48- " cl-filenames"
4940 " cl-files"
5041 " interaction"
5142 " cl-eval"
43+ " cl-printer"
44+ " cl-conses"
45+ " cl-sequences"
46+ " cl-packages"
47+ " cl-filenames"
48+ " cl-hash"
49+ " cl-typep"
50+ " cl-reader"
51+ " cl-streams"
52+ " cl-subtypep"
5253 " cl-system"
5354
5455 " cl-loop"
Original file line number Diff line number Diff line change 2222
2323(defun symcat (&rest string-designators )
2424 (let ((sym (intern (apply #'strcat string-designators))))
25- (when (fboundp 'SYMBOL-PACKAGE )
25+ (when nil ; (fboundp 'SYMBOL-PACKAGE)
2626 (setf (SYMBOL-PACKAGE sym) *PACKAGE*))
2727 sym))
2828
You can’t perform that action at this time.
0 commit comments