--- /dev/null
+(in-package #:nothing)
+
+(defun hello-world (a b c)
+ (progn
+ (with-open-file (str "increasinglylongfilenamesfailme.dat" :direction :input :if-does-not-exist :create)
+ (when
+ (read-line str)
+ (format t "This file had some things in int, yay!~%")))))
+
+(in-package #:something)
+
+(defun hello-world (a b c)
+ (progn
+ (with-open-file (str "increasinglylongfilenamesfailme.dat" :direction :input :if-does-not-exist :create)
+ (when
+ (read-line str)
+ (format t "This file had some things in int, yay!~%")))))
; * in-package must be first line in file unless file is package.lisp
; - No whitespace only lines
; - No empty lines at end of file
+; * Only one in-package per file
;
; Some thoughts
; - form starting reader macros will have to be hand added to this code
(lambda ()
(set-state :normal) nil))
(defevaluator :begin ".*"
- (lambda ()
- "Must begin with in-package form"))
+ (constantly "Must begin with in-package form"))
+ (defevaluator :normal "\\( *in-package "
+ (constantly "Only one in-package per file"))
(defevaluator :normal "\\n"
(lambda ()
(incf *line-no*)
(lambda ()
(let
((form (pop *form-stack*)))
- (when
- (< 50 (- *line-no* (car form)))
- "Forms can't be over 50 lines long"))))
+ (cond
+ ((not form) "Unmatched ending paren")
+ ((< 50 (- *line-no* (car form))) "Forms can't be over 50 lines long")))))
(defevaluator :normal "." (constantly nil))
)