eliot@phoenix.Princeton.EDU (Eliot Handelman) (11/27/90)
Some people will remember this from a previous discussion: (defvar test-read-table (copy-readtable)) (set-macro-character #\: #'(lambda (stream char) :colon) nil test-read-table) (defun s (string) (let ((words '()) (index 0) (*readtable* test-read-table)) (loop (multiple-value-bind (word next-index) (read-from-string string nil nil :start index) (setq index next-index) (cond (word (push word words)) (t (return (nreverse words))))))))) In KCl, (s "x:x") returns the error "There is no package named X." I believe the correct behavior would be to return (X :COLON X). Suggestions, workarounds? --eliot