<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi<div><br></div><div>I created a new macro-character #\: to check and disallow access to not external symbols as follows:</div><div><br></div><div><div>(defun check-columns (stream char)</div><div>  (let ((ch (peek-char nil stream t nil t)))</div><div>    (if (eql ch #\:)</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>(error "<b>access to internal symbols not allowed</b>")</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>(progn</div><div><span class="Apple-tab-span" style="white-space:pre">       </span>  (unread-char #\: stream)</div><div><span class="Apple-tab-span" style="white-space:pre">      </span>  (set-macro-character #\: nil)</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>  (let ((res (read stream t nil t)))</div><div><span class="Apple-tab-span" style="white-space:pre">    </span>    (set-macro-character #\: #'check-columns)</div><div><span class="Apple-tab-span" style="white-space:pre">      </span>    res)</div><div><span class="Apple-tab-span" style="white-space:pre">   </span>  ))))</div><div><br></div><div>(set-macro-character #\: #'check-columns)</div><div><br></div><div>Note: according to the book ANSI Common Lisp by Paul Graham, unread-char cannot be done</div><div>after a peek-char. But in my tests ccl did not complain.</div><div><br></div><div>Now I would like to restore the standard readtable but failed. I tried the following:</div><div><br></div><div>(set-macro-character #\: nil)</div><div><br></div><div>Even if I quit ccl and launch a new image I still get the following message when I try to access a symbol using ::</div><div><br></div><div><br></div><div>? (make-package 'test)</div><div><div>? (setq test::x 1)</div><div><br></div><div>> Error: <b>access to internal symbols not allowed</b></div><div>> While executing: MB::CHECK-COLUMNS, in process listener(1).</div><div>> Type :POP to abort, :R for a list of available restarts.</div><div>> Type :? for other options.</div><div>1 > </div><div><br></div><div><br></div><div>How do I restore the standard readtable</div><div><br></div><div>Kind regards</div><div><br></div><div>-Taoufik</div></div></div></body></html>