Path: csiph.com!news.nrbbs.org!border-4.nntp.ord.giganews.com!nntp.giganews.com!Xl.tags.giganews.com!local-3.nntp.ord.giganews.com!news.giganews.com.POSTED!not-for-mail NNTP-Posting-Date: Fri, 28 Aug 2026 21:38:22 +0000 From: steve g Newsgroups: comp.lang.lisp Subject: Re: Resources to learn common lisp? References: <110rfqf$142ot$1@dont-email.me> <111pbk6$36pi7$1@dont-email.me> <111sb7u$3ua8h$7@dont-email.me> <8fj54lpvg7v6mhi9r9u39tpojbjage8br4@4ax.com> <87mrwdyt0t.fsf@nightsong.com> <1127cho$34rpg$3@dont-email.me> <112o4aa$cpek$2@dont-email.me> <87jyqdtumj.fsf@gmail.com> <87bjbn2nhs.fsf@safunu.org> <877bm4zgsp.fsf@safunu.org> <1150b48$3blde$3@dont-email.me> <1151bo2$3je6l$1@dont-email.me> <1j7a7l1e7vcohcb5kk6qut59g68op71fqi@4ax.com> <11548up$1cpco$1@paganini.bofh.team> <20260808104932.527@kylheku.com> <87mruuvr20.fsf@gmail.com> <115i364$tr2u$1@dont-email.me> <87jypmuaxu.fsf@gmail.com> <116h0v5$2mfl0$1@dont-email.me> Date: Fri, 28 Aug 2026 17:38:21 -0400 Message-ID: <87cxv23oz6.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Cancel-Lock: sha1:ZjLw39A7fKGsAJxsqRxQOiVVLnw= MIME-Version: 1.0 Content-Type: text/plain Lines: 50 X-Usenet-Provider: http://www.giganews.com X-Trace: sv3-K5xQRaeHVM/5eB+RUEqA3MIHgV4LecD2MPua5eHGE877PV7CJmScWrg1RZCnnjX0ldYFszysHj0j0Cf!5kTegnC72VRgK/nE456NIkqIRtEmrHHA1mhAiNM2Xa2npAg= X-Complaints-To: abuse@giganews.com X-DMCA-Notifications: http://www.giganews.com/info/dmca.html X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.40 Xref: csiph.com comp.lang.lisp:61610 tfb writes: > steve g wrote: >> >> >> I don't follow. >> > Consider (with-current-readtable (...)
): what is the current > readtable when is read? *readtable*. I actually like using start end clauses. I use this in my rule engine. (rule-file "ex1") code (rule-file :end) Like this then you do not get the extra indentation, and you can store more than one set of rules in a file. I do not like using reader-macros because. I would like to have it usually looks like this. (eval-when (:compile-toplevel :load-toplevel :execute) (defparameter *emacs-readtable* (let ((rt (copy-readtable nil))) (set-macro-character #\[ #'emacs-key-reader t rt) (set-syntax-from-char #\] #\) rt) rt)) #+excl (setf (excl:named-readtable :emacs) *emacs-readtable*)) (defmacro in-emacs-readtable () "Initialize emacs readtable" `(eval-when (:compile-toplevel :load-toplevel :execute) (setq *readtable* *emacs-readtable*))) (with-current-readtable (*emacs-readtable*) ( #[Control-x (Meta A) ] ) ) ;; now switch back to normal readtable. Yes, we all see the EXCL:named-readtable. This was a very old issue. For the sake of efficiency you don't want 96 reader macros. dig.