diff options
-rw-r--r-- | ChangeLog | 12 | ||||
-rw-r--r-- | eval.c | 36 | ||||
-rw-r--r-- | tl.vim | 193 | ||||
-rw-r--r-- | txr.1 | 63 | ||||
-rw-r--r-- | txr.vim | 193 |
5 files changed, 305 insertions, 192 deletions
@@ -1,3 +1,15 @@ +2015-01-21 Kaz Kylheku <kaz@kylheku.com> + + Allow macros to tell what symbols have lexical function + or variable bindings. + + * eval.c (lexical_var_p, lexical_fun_p): New local functions. + (eval_init): Registered as intrinsics. + + * txr.1: Documented lexical-var-p and lexical-fun-p. + + * tl.vim, txr.vim: Updated. + 2015-01-13 Kaz Kylheku <kaz@kylheku.com> Version 102 @@ -273,6 +273,40 @@ static val lookup_symac(val menv, val sym) } } +static val lexical_var_p(val menv, val sym) +{ + if (nilp(menv)) { + return nil; + } else { + type_check(menv, ENV); + + { + val binding = assoc(sym, menv->e.vbindings); + + if (binding) /* special_s: see make_var_shadowing_env */ + return c_true(cdr(binding) == special_s); + return lexical_var_p(menv->e.up_env, sym); + } + } +} + +static val lexical_fun_p(val menv, val sym) +{ + if (nilp(menv)) { + return nil; + } else { + type_check(menv, ENV); + + { + val binding = assoc(sym, menv->e.fbindings); + + if (binding) /* special_s: see make_var_shadowing_env */ + return c_true(cdr(binding) == special_s); + return lexical_fun_p(menv->e.up_env, sym); + } + } +} + static void mark_special(val sym) { sethash(special, sym, t); @@ -3815,6 +3849,8 @@ void eval_init(void) reg_fun(intern(lit("make-env"), user_package), func_n3o(make_env_intrinsic, 0)); reg_fun(intern(lit("env-fbind"), user_package), func_n3(env_fbind)); reg_fun(intern(lit("env-vbind"), user_package), func_n3(env_vbind)); + reg_fun(intern(lit("lexical-var-p"), user_package), func_n2(lexical_var_p)); + reg_fun(intern(lit("lexical-fun-p"), user_package), func_n2(lexical_fun_p)); reg_fun(chain_s, func_n0v(chainv)); reg_fun(chand_s, func_n0v(chandv)); reg_fun(intern(lit("juxt"), user_package), func_n0v(juxtv)); @@ -92,102 +92,103 @@ syn keyword txl_keyword contained lbind lcm lcons-fun lconsp syn keyword txl_keyword contained ldiff length length-list length-str syn keyword txl_keyword contained length-str-< length-str-<= length-str-> length-str->= syn keyword txl_keyword contained length-vec lequal less let -syn keyword txl_keyword contained let* link lisp-parse list -syn keyword txl_keyword contained list* list-str list-vector listp -syn keyword txl_keyword contained log log-alert log-auth log-authpriv -syn keyword txl_keyword contained log-cons log-crit log-daemon log-debug -syn keyword txl_keyword contained log-emerg log-err log-info log-ndelay -syn keyword txl_keyword contained log-notice log-nowait log-odelay log-perror -syn keyword txl_keyword contained log-pid log-user log-warning log10 -syn keyword txl_keyword contained log2 logand logior lognot -syn keyword txl_keyword contained logtest logtrunc logxor macro-form-p -syn keyword txl_keyword contained macro-time macroexpand macroexpand-1 macrolet -syn keyword txl_keyword contained major make-catenated-stream make-env make-hash -syn keyword txl_keyword contained make-lazy-cons make-like make-package make-random-state -syn keyword txl_keyword contained make-similar-hash make-string-byte-input-stream make-string-input-stream make-string-output-stream -syn keyword txl_keyword contained make-strlist-output-stream make-sym make-time make-time-utc -syn keyword txl_keyword contained make-trie makedev mapcar mapcar* -syn keyword txl_keyword contained mapdo maphash mappend mappend* -syn keyword txl_keyword contained mask match-fun match-regex match-regex-right -syn keyword txl_keyword contained match-str match-str-tree max member -syn keyword txl_keyword contained member-if memq memql memqual -syn keyword txl_keyword contained merge min minor minusp -syn keyword txl_keyword contained mkdir mknod mkstring mod -syn keyword txl_keyword contained multi multi-sort n-choose-k n-perm-k -syn keyword txl_keyword contained nconc nilf none not -syn keyword txl_keyword contained notf nreverse null nullify -syn keyword txl_keyword contained num-chr num-str numberp oand -syn keyword txl_keyword contained oddp op open-command open-directory -syn keyword txl_keyword contained open-file open-files open-files* open-pipe -syn keyword txl_keyword contained open-process open-tail openlog opip -syn keyword txl_keyword contained or orf packagep partition -syn keyword txl_keyword contained partition* partition-by perm plusp -syn keyword txl_keyword contained pop pos pos-if pos-max -syn keyword txl_keyword contained pos-min posq posql posqual -syn keyword txl_keyword contained pppred ppred pprinl pprint -syn keyword txl_keyword contained pprof pred prinl print -syn keyword txl_keyword contained prof prog1 progn prop -syn keyword txl_keyword contained proper-listp push pushhash put-byte -syn keyword txl_keyword contained put-char put-line put-lines put-string -syn keyword txl_keyword contained put-strings pwd qquote quasi -syn keyword txl_keyword contained quasilist quote rand random -syn keyword txl_keyword contained random-fixnum random-state-p range range* -syn keyword txl_keyword contained range-regex rcomb read readlink -syn keyword txl_keyword contained real-time-stream-p reduce-left reduce-right ref -syn keyword txl_keyword contained refset regex-compile regex-parse regexp -syn keyword txl_keyword contained regsub rehome-sym remhash remove-if -syn keyword txl_keyword contained remove-if* remove-path remq remq* -syn keyword txl_keyword contained remql remql* remqual remqual* -syn keyword txl_keyword contained rename-path repeat replace replace-list -syn keyword txl_keyword contained replace-str replace-vec rest ret -syn keyword txl_keyword contained retf return return-from reverse -syn keyword txl_keyword contained rlcp rperm rplaca rplacd -syn keyword txl_keyword contained run s-ifblk s-ifchr s-ifdir -syn keyword txl_keyword contained s-ififo s-iflnk s-ifmt s-ifreg -syn keyword txl_keyword contained s-ifsock s-irgrp s-iroth s-irusr -syn keyword txl_keyword contained s-irwxg s-irwxo s-irwxu s-isgid -syn keyword txl_keyword contained s-isuid s-isvtx s-iwgrp s-iwoth -syn keyword txl_keyword contained s-iwusr s-ixgrp s-ixoth s-ixusr -syn keyword txl_keyword contained search search-regex search-str search-str-tree -syn keyword txl_keyword contained second seek-stream select seqp -syn keyword txl_keyword contained set set-diff set-hash-userdata set-sig-handler -syn keyword txl_keyword contained sethash setitimer setlogmask sh -syn keyword txl_keyword contained sig-abrt sig-alrm sig-bus sig-check -syn keyword txl_keyword contained sig-chld sig-cont sig-fpe sig-hup -syn keyword txl_keyword contained sig-ill sig-int sig-io sig-iot -syn keyword txl_keyword contained sig-kill sig-lost sig-pipe sig-poll -syn keyword txl_keyword contained sig-prof sig-pwr sig-quit sig-segv -syn keyword txl_keyword contained sig-stkflt sig-stop sig-sys sig-term -syn keyword txl_keyword contained sig-trap sig-tstp sig-ttin sig-ttou -syn keyword txl_keyword contained sig-urg sig-usr1 sig-usr2 sig-vtalrm -syn keyword txl_keyword contained sig-winch sig-xcpu sig-xfsz sin -syn keyword txl_keyword contained sixth size-vec some sort -syn keyword txl_keyword contained sort-group source-loc source-loc-str span-str -syn keyword txl_keyword contained splice split-str split-str-set sqrt -syn keyword txl_keyword contained sssucc ssucc stat stdlib -syn keyword txl_keyword contained str< str<= str= str> -syn keyword txl_keyword contained str>= stream-get-prop stream-set-prop streamp -syn keyword txl_keyword contained string-extend string-lt stringp sub -syn keyword txl_keyword contained sub-list sub-str sub-vec succ -syn keyword txl_keyword contained symacrolet symbol-function symbol-name symbol-package -syn keyword txl_keyword contained symbol-value symbolp symlink sys-qquote -syn keyword txl_keyword contained sys-splice sys-unquote syslog tan -syn keyword txl_keyword contained tb tc tf third -syn keyword txl_keyword contained throw throwf time time-fields-local -syn keyword txl_keyword contained time-fields-utc time-string-local time-string-utc time-usec -syn keyword txl_keyword contained tofloat toint tok-str tok-where -syn keyword txl_keyword contained tostring tostringp transpose tree-bind -syn keyword txl_keyword contained tree-case tree-find trie-add trie-compress -syn keyword txl_keyword contained trie-lookup-begin trie-lookup-feed-char trie-value-at trim-str -syn keyword txl_keyword contained true trunc tuples txr-case -syn keyword txl_keyword contained txr-if txr-when typeof unget-byte -syn keyword txl_keyword contained unget-char uniq unique unless -syn keyword txl_keyword contained unquote until upcase-str update -syn keyword txl_keyword contained url-decode url-encode usleep uw-protect -syn keyword txl_keyword contained vec vec-push vec-set-length vecref -syn keyword txl_keyword contained vector vector-list vectorp when -syn keyword txl_keyword contained where while with-saved-vars wrap -syn keyword txl_keyword contained wrap* zerop zip +syn keyword txl_keyword contained let* lexical-fun-p lexical-var-p link +syn keyword txl_keyword contained lisp-parse list list* list-str +syn keyword txl_keyword contained list-vector listp log log-alert +syn keyword txl_keyword contained log-auth log-authpriv log-cons log-crit +syn keyword txl_keyword contained log-daemon log-debug log-emerg log-err +syn keyword txl_keyword contained log-info log-ndelay log-notice log-nowait +syn keyword txl_keyword contained log-odelay log-perror log-pid log-user +syn keyword txl_keyword contained log-warning log10 log2 logand +syn keyword txl_keyword contained logior lognot logtest logtrunc +syn keyword txl_keyword contained logxor macro-form-p macro-time macroexpand +syn keyword txl_keyword contained macroexpand-1 macrolet major make-catenated-stream +syn keyword txl_keyword contained make-env make-hash make-lazy-cons make-like +syn keyword txl_keyword contained make-package make-random-state make-similar-hash make-string-byte-input-stream +syn keyword txl_keyword contained make-string-input-stream make-string-output-stream make-strlist-output-stream make-sym +syn keyword txl_keyword contained make-time make-time-utc make-trie makedev +syn keyword txl_keyword contained mapcar mapcar* mapdo maphash +syn keyword txl_keyword contained mappend mappend* mask match-fun +syn keyword txl_keyword contained match-regex match-regex-right match-str match-str-tree +syn keyword txl_keyword contained max member member-if memq +syn keyword txl_keyword contained memql memqual merge min +syn keyword txl_keyword contained minor minusp mkdir mknod +syn keyword txl_keyword contained mkstring mod multi multi-sort +syn keyword txl_keyword contained n-choose-k n-perm-k nconc nilf +syn keyword txl_keyword contained none not notf nreverse +syn keyword txl_keyword contained null nullify num-chr num-str +syn keyword txl_keyword contained numberp oand oddp op +syn keyword txl_keyword contained open-command open-directory open-file open-files +syn keyword txl_keyword contained open-files* open-pipe open-process open-tail +syn keyword txl_keyword contained openlog opip or orf +syn keyword txl_keyword contained packagep partition partition* partition-by +syn keyword txl_keyword contained perm plusp pop pos +syn keyword txl_keyword contained pos-if pos-max pos-min posq +syn keyword txl_keyword contained posql posqual pppred ppred +syn keyword txl_keyword contained pprinl pprint pprof pred +syn keyword txl_keyword contained prinl print prof prog1 +syn keyword txl_keyword contained progn prop proper-listp push +syn keyword txl_keyword contained pushhash put-byte put-char put-line +syn keyword txl_keyword contained put-lines put-string put-strings pwd +syn keyword txl_keyword contained qquote quasi quasilist quote +syn keyword txl_keyword contained rand random random-fixnum random-state-p +syn keyword txl_keyword contained range range* range-regex rcomb +syn keyword txl_keyword contained read readlink real-time-stream-p reduce-left +syn keyword txl_keyword contained reduce-right ref refset regex-compile +syn keyword txl_keyword contained regex-parse regexp regsub rehome-sym +syn keyword txl_keyword contained remhash remove-if remove-if* remove-path +syn keyword txl_keyword contained remq remq* remql remql* +syn keyword txl_keyword contained remqual remqual* rename-path repeat +syn keyword txl_keyword contained replace replace-list replace-str replace-vec +syn keyword txl_keyword contained rest ret retf return +syn keyword txl_keyword contained return-from reverse rlcp rperm +syn keyword txl_keyword contained rplaca rplacd run s-ifblk +syn keyword txl_keyword contained s-ifchr s-ifdir s-ififo s-iflnk +syn keyword txl_keyword contained s-ifmt s-ifreg s-ifsock s-irgrp +syn keyword txl_keyword contained s-iroth s-irusr s-irwxg s-irwxo +syn keyword txl_keyword contained s-irwxu s-isgid s-isuid s-isvtx +syn keyword txl_keyword contained s-iwgrp s-iwoth s-iwusr s-ixgrp +syn keyword txl_keyword contained s-ixoth s-ixusr search search-regex +syn keyword txl_keyword contained search-str search-str-tree second seek-stream +syn keyword txl_keyword contained select seqp set set-diff +syn keyword txl_keyword contained set-hash-userdata set-sig-handler sethash setitimer +syn keyword txl_keyword contained setlogmask sh sig-abrt sig-alrm +syn keyword txl_keyword contained sig-bus sig-check sig-chld sig-cont +syn keyword txl_keyword contained sig-fpe sig-hup sig-ill sig-int +syn keyword txl_keyword contained sig-io sig-iot sig-kill sig-lost +syn keyword txl_keyword contained sig-pipe sig-poll sig-prof sig-pwr +syn keyword txl_keyword contained sig-quit sig-segv sig-stkflt sig-stop +syn keyword txl_keyword contained sig-sys sig-term sig-trap sig-tstp +syn keyword txl_keyword contained sig-ttin sig-ttou sig-urg sig-usr1 +syn keyword txl_keyword contained sig-usr2 sig-vtalrm sig-winch sig-xcpu +syn keyword txl_keyword contained sig-xfsz sin sixth size-vec +syn keyword txl_keyword contained some sort sort-group source-loc +syn keyword txl_keyword contained source-loc-str span-str splice split-str +syn keyword txl_keyword contained split-str-set sqrt sssucc ssucc +syn keyword txl_keyword contained stat stdlib str< str<= +syn keyword txl_keyword contained str= str> str>= stream-get-prop +syn keyword txl_keyword contained stream-set-prop streamp string-extend string-lt +syn keyword txl_keyword contained stringp sub sub-list sub-str +syn keyword txl_keyword contained sub-vec succ symacrolet symbol-function +syn keyword txl_keyword contained symbol-name symbol-package symbol-value symbolp +syn keyword txl_keyword contained symlink sys-qquote sys-splice sys-unquote +syn keyword txl_keyword contained syslog tan tb tc +syn keyword txl_keyword contained tf third throw throwf +syn keyword txl_keyword contained time time-fields-local time-fields-utc time-string-local +syn keyword txl_keyword contained time-string-utc time-usec tofloat toint +syn keyword txl_keyword contained tok-str tok-where tostring tostringp +syn keyword txl_keyword contained transpose tree-bind tree-case tree-find +syn keyword txl_keyword contained trie-add trie-compress trie-lookup-begin trie-lookup-feed-char +syn keyword txl_keyword contained trie-value-at trim-str true trunc +syn keyword txl_keyword contained tuples txr-case txr-if txr-when +syn keyword txl_keyword contained typeof unget-byte unget-char uniq +syn keyword txl_keyword contained unique unless unquote until +syn keyword txl_keyword contained upcase-str update url-decode url-encode +syn keyword txl_keyword contained usleep uw-protect vec vec-push +syn keyword txl_keyword contained vec-set-length vecref vector vector-list +syn keyword txl_keyword contained vectorp when where while +syn keyword txl_keyword contained with-saved-vars wrap wrap* zerop +syn keyword txl_keyword contained zip syn match txr_metanum "@[0-9]\+" syn match txr_nested_error "[^\t `]\+" contained @@ -25772,6 +25772,69 @@ and .code a respectively. +.coNP Functions @ lexical-var-p and @ lexical-fun-p +.synb +.mets (lexical-var-p < env << form) +.mets (lexical-fun-p < env << form) +.syne +.desc +These two functions are useful to macro writers. They are intended +to be called from the bodies of macro expanders, such as the bodies of +.code defmacro +or +.code macrolet +forms. The +.meta env +argument is a macro-time environment, which is available to macros +via the special +.code :env +parameter. Using these functions, a macro can enquire whether +a given +.meta form +is a symbol which has a variable binding or a function binding +in the lexical environment. +This information is known during macro expansion. The macro expander +recognizes lexical function and variable bindings, because these +bindings can shadow macros. + +.TP* Example: + +.cblk + ;; + ;; this macro replaces itself with :lexical-var if its + ;; argument is a lexical variable, :lexical-fun if + ;; its argument is a lexical function, or with + ;; :not-lex-fun-var if neither is the case. + ;; + (defmacro classify (sym :env e) + (cond + ((lexical-var-p e expr) :lexical-var) + ((lexical-fun-p e expr) :lexical-fun) + (t :not-lex-fun-var))) + + ;; + ;; This returns: + ;; + ;; (:lexical-var :not-lex-fun-var :lexical-fun) + ;; + (let ((x 1) (y 2)) + (symacrolet ((y x)) + (flet ((f () (+ 2 2))) + (list (classify x) (classify y) (classify z))))) +.cble + +.TP* Note: + +These functions do not call +.code macroexpand +on the form. In most cases, it is necessary for the macro writers +to do so. Not that in the above example, symbol +.code y +is classified as neither a lexical function nor variable. +However, it can be macro-expanded to +.code x +which is a lexical variable. + .coNP Operator @ defsymacro .synb .mets (defsymacro < sym << form ) @@ -92,102 +92,103 @@ syn keyword txl_keyword contained lbind lcm lcons-fun lconsp syn keyword txl_keyword contained ldiff length length-list length-str syn keyword txl_keyword contained length-str-< length-str-<= length-str-> length-str->= syn keyword txl_keyword contained length-vec lequal less let -syn keyword txl_keyword contained let* link lisp-parse list -syn keyword txl_keyword contained list* list-str list-vector listp -syn keyword txl_keyword contained log log-alert log-auth log-authpriv -syn keyword txl_keyword contained log-cons log-crit log-daemon log-debug -syn keyword txl_keyword contained log-emerg log-err log-info log-ndelay -syn keyword txl_keyword contained log-notice log-nowait log-odelay log-perror -syn keyword txl_keyword contained log-pid log-user log-warning log10 -syn keyword txl_keyword contained log2 logand logior lognot -syn keyword txl_keyword contained logtest logtrunc logxor macro-form-p -syn keyword txl_keyword contained macro-time macroexpand macroexpand-1 macrolet -syn keyword txl_keyword contained major make-catenated-stream make-env make-hash -syn keyword txl_keyword contained make-lazy-cons make-like make-package make-random-state -syn keyword txl_keyword contained make-similar-hash make-string-byte-input-stream make-string-input-stream make-string-output-stream -syn keyword txl_keyword contained make-strlist-output-stream make-sym make-time make-time-utc -syn keyword txl_keyword contained make-trie makedev mapcar mapcar* -syn keyword txl_keyword contained mapdo maphash mappend mappend* -syn keyword txl_keyword contained mask match-fun match-regex match-regex-right -syn keyword txl_keyword contained match-str match-str-tree max member -syn keyword txl_keyword contained member-if memq memql memqual -syn keyword txl_keyword contained merge min minor minusp -syn keyword txl_keyword contained mkdir mknod mkstring mod -syn keyword txl_keyword contained multi multi-sort n-choose-k n-perm-k -syn keyword txl_keyword contained nconc nilf none not -syn keyword txl_keyword contained notf nreverse null nullify -syn keyword txl_keyword contained num-chr num-str numberp oand -syn keyword txl_keyword contained oddp op open-command open-directory -syn keyword txl_keyword contained open-file open-files open-files* open-pipe -syn keyword txl_keyword contained open-process open-tail openlog opip -syn keyword txl_keyword contained or orf packagep partition -syn keyword txl_keyword contained partition* partition-by perm plusp -syn keyword txl_keyword contained pop pos pos-if pos-max -syn keyword txl_keyword contained pos-min posq posql posqual -syn keyword txl_keyword contained pppred ppred pprinl pprint -syn keyword txl_keyword contained pprof pred prinl print -syn keyword txl_keyword contained prof prog1 progn prop -syn keyword txl_keyword contained proper-listp push pushhash put-byte -syn keyword txl_keyword contained put-char put-line put-lines put-string -syn keyword txl_keyword contained put-strings pwd qquote quasi -syn keyword txl_keyword contained quasilist quote rand random -syn keyword txl_keyword contained random-fixnum random-state-p range range* -syn keyword txl_keyword contained range-regex rcomb read readlink -syn keyword txl_keyword contained real-time-stream-p reduce-left reduce-right ref -syn keyword txl_keyword contained refset regex-compile regex-parse regexp -syn keyword txl_keyword contained regsub rehome-sym remhash remove-if -syn keyword txl_keyword contained remove-if* remove-path remq remq* -syn keyword txl_keyword contained remql remql* remqual remqual* -syn keyword txl_keyword contained rename-path repeat replace replace-list -syn keyword txl_keyword contained replace-str replace-vec rest ret -syn keyword txl_keyword contained retf return return-from reverse -syn keyword txl_keyword contained rlcp rperm rplaca rplacd -syn keyword txl_keyword contained run s-ifblk s-ifchr s-ifdir -syn keyword txl_keyword contained s-ififo s-iflnk s-ifmt s-ifreg -syn keyword txl_keyword contained s-ifsock s-irgrp s-iroth s-irusr -syn keyword txl_keyword contained s-irwxg s-irwxo s-irwxu s-isgid -syn keyword txl_keyword contained s-isuid s-isvtx s-iwgrp s-iwoth -syn keyword txl_keyword contained s-iwusr s-ixgrp s-ixoth s-ixusr -syn keyword txl_keyword contained search search-regex search-str search-str-tree -syn keyword txl_keyword contained second seek-stream select seqp -syn keyword txl_keyword contained set set-diff set-hash-userdata set-sig-handler -syn keyword txl_keyword contained sethash setitimer setlogmask sh -syn keyword txl_keyword contained sig-abrt sig-alrm sig-bus sig-check -syn keyword txl_keyword contained sig-chld sig-cont sig-fpe sig-hup -syn keyword txl_keyword contained sig-ill sig-int sig-io sig-iot -syn keyword txl_keyword contained sig-kill sig-lost sig-pipe sig-poll -syn keyword txl_keyword contained sig-prof sig-pwr sig-quit sig-segv -syn keyword txl_keyword contained sig-stkflt sig-stop sig-sys sig-term -syn keyword txl_keyword contained sig-trap sig-tstp sig-ttin sig-ttou -syn keyword txl_keyword contained sig-urg sig-usr1 sig-usr2 sig-vtalrm -syn keyword txl_keyword contained sig-winch sig-xcpu sig-xfsz sin -syn keyword txl_keyword contained sixth size-vec some sort -syn keyword txl_keyword contained sort-group source-loc source-loc-str span-str -syn keyword txl_keyword contained splice split-str split-str-set sqrt -syn keyword txl_keyword contained sssucc ssucc stat stdlib -syn keyword txl_keyword contained str< str<= str= str> -syn keyword txl_keyword contained str>= stream-get-prop stream-set-prop streamp -syn keyword txl_keyword contained string-extend string-lt stringp sub -syn keyword txl_keyword contained sub-list sub-str sub-vec succ -syn keyword txl_keyword contained symacrolet symbol-function symbol-name symbol-package -syn keyword txl_keyword contained symbol-value symbolp symlink sys-qquote -syn keyword txl_keyword contained sys-splice sys-unquote syslog tan -syn keyword txl_keyword contained tb tc tf third -syn keyword txl_keyword contained throw throwf time time-fields-local -syn keyword txl_keyword contained time-fields-utc time-string-local time-string-utc time-usec -syn keyword txl_keyword contained tofloat toint tok-str tok-where -syn keyword txl_keyword contained tostring tostringp transpose tree-bind -syn keyword txl_keyword contained tree-case tree-find trie-add trie-compress -syn keyword txl_keyword contained trie-lookup-begin trie-lookup-feed-char trie-value-at trim-str -syn keyword txl_keyword contained true trunc tuples txr-case -syn keyword txl_keyword contained txr-if txr-when typeof unget-byte -syn keyword txl_keyword contained unget-char uniq unique unless -syn keyword txl_keyword contained unquote until upcase-str update -syn keyword txl_keyword contained url-decode url-encode usleep uw-protect -syn keyword txl_keyword contained vec vec-push vec-set-length vecref -syn keyword txl_keyword contained vector vector-list vectorp when -syn keyword txl_keyword contained where while with-saved-vars wrap -syn keyword txl_keyword contained wrap* zerop zip +syn keyword txl_keyword contained let* lexical-fun-p lexical-var-p link +syn keyword txl_keyword contained lisp-parse list list* list-str +syn keyword txl_keyword contained list-vector listp log log-alert +syn keyword txl_keyword contained log-auth log-authpriv log-cons log-crit +syn keyword txl_keyword contained log-daemon log-debug log-emerg log-err +syn keyword txl_keyword contained log-info log-ndelay log-notice log-nowait +syn keyword txl_keyword contained log-odelay log-perror log-pid log-user +syn keyword txl_keyword contained log-warning log10 log2 logand +syn keyword txl_keyword contained logior lognot logtest logtrunc +syn keyword txl_keyword contained logxor macro-form-p macro-time macroexpand +syn keyword txl_keyword contained macroexpand-1 macrolet major make-catenated-stream +syn keyword txl_keyword contained make-env make-hash make-lazy-cons make-like +syn keyword txl_keyword contained make-package make-random-state make-similar-hash make-string-byte-input-stream +syn keyword txl_keyword contained make-string-input-stream make-string-output-stream make-strlist-output-stream make-sym +syn keyword txl_keyword contained make-time make-time-utc make-trie makedev +syn keyword txl_keyword contained mapcar mapcar* mapdo maphash +syn keyword txl_keyword contained mappend mappend* mask match-fun +syn keyword txl_keyword contained match-regex match-regex-right match-str match-str-tree +syn keyword txl_keyword contained max member member-if memq +syn keyword txl_keyword contained memql memqual merge min +syn keyword txl_keyword contained minor minusp mkdir mknod +syn keyword txl_keyword contained mkstring mod multi multi-sort +syn keyword txl_keyword contained n-choose-k n-perm-k nconc nilf +syn keyword txl_keyword contained none not notf nreverse +syn keyword txl_keyword contained null nullify num-chr num-str +syn keyword txl_keyword contained numberp oand oddp op +syn keyword txl_keyword contained open-command open-directory open-file open-files +syn keyword txl_keyword contained open-files* open-pipe open-process open-tail +syn keyword txl_keyword contained openlog opip or orf +syn keyword txl_keyword contained packagep partition partition* partition-by +syn keyword txl_keyword contained perm plusp pop pos +syn keyword txl_keyword contained pos-if pos-max pos-min posq +syn keyword txl_keyword contained posql posqual pppred ppred +syn keyword txl_keyword contained pprinl pprint pprof pred +syn keyword txl_keyword contained prinl print prof prog1 +syn keyword txl_keyword contained progn prop proper-listp push +syn keyword txl_keyword contained pushhash put-byte put-char put-line +syn keyword txl_keyword contained put-lines put-string put-strings pwd +syn keyword txl_keyword contained qquote quasi quasilist quote +syn keyword txl_keyword contained rand random random-fixnum random-state-p +syn keyword txl_keyword contained range range* range-regex rcomb +syn keyword txl_keyword contained read readlink real-time-stream-p reduce-left +syn keyword txl_keyword contained reduce-right ref refset regex-compile +syn keyword txl_keyword contained regex-parse regexp regsub rehome-sym +syn keyword txl_keyword contained remhash remove-if remove-if* remove-path +syn keyword txl_keyword contained remq remq* remql remql* +syn keyword txl_keyword contained remqual remqual* rename-path repeat +syn keyword txl_keyword contained replace replace-list replace-str replace-vec +syn keyword txl_keyword contained rest ret retf return +syn keyword txl_keyword contained return-from reverse rlcp rperm +syn keyword txl_keyword contained rplaca rplacd run s-ifblk +syn keyword txl_keyword contained s-ifchr s-ifdir s-ififo s-iflnk +syn keyword txl_keyword contained s-ifmt s-ifreg s-ifsock s-irgrp +syn keyword txl_keyword contained s-iroth s-irusr s-irwxg s-irwxo +syn keyword txl_keyword contained s-irwxu s-isgid s-isuid s-isvtx +syn keyword txl_keyword contained s-iwgrp s-iwoth s-iwusr s-ixgrp +syn keyword txl_keyword contained s-ixoth s-ixusr search search-regex +syn keyword txl_keyword contained search-str search-str-tree second seek-stream +syn keyword txl_keyword contained select seqp set set-diff +syn keyword txl_keyword contained set-hash-userdata set-sig-handler sethash setitimer +syn keyword txl_keyword contained setlogmask sh sig-abrt sig-alrm +syn keyword txl_keyword contained sig-bus sig-check sig-chld sig-cont +syn keyword txl_keyword contained sig-fpe sig-hup sig-ill sig-int +syn keyword txl_keyword contained sig-io sig-iot sig-kill sig-lost +syn keyword txl_keyword contained sig-pipe sig-poll sig-prof sig-pwr +syn keyword txl_keyword contained sig-quit sig-segv sig-stkflt sig-stop +syn keyword txl_keyword contained sig-sys sig-term sig-trap sig-tstp +syn keyword txl_keyword contained sig-ttin sig-ttou sig-urg sig-usr1 +syn keyword txl_keyword contained sig-usr2 sig-vtalrm sig-winch sig-xcpu +syn keyword txl_keyword contained sig-xfsz sin sixth size-vec +syn keyword txl_keyword contained some sort sort-group source-loc +syn keyword txl_keyword contained source-loc-str span-str splice split-str +syn keyword txl_keyword contained split-str-set sqrt sssucc ssucc +syn keyword txl_keyword contained stat stdlib str< str<= +syn keyword txl_keyword contained str= str> str>= stream-get-prop +syn keyword txl_keyword contained stream-set-prop streamp string-extend string-lt +syn keyword txl_keyword contained stringp sub sub-list sub-str +syn keyword txl_keyword contained sub-vec succ symacrolet symbol-function +syn keyword txl_keyword contained symbol-name symbol-package symbol-value symbolp +syn keyword txl_keyword contained symlink sys-qquote sys-splice sys-unquote +syn keyword txl_keyword contained syslog tan tb tc +syn keyword txl_keyword contained tf third throw throwf +syn keyword txl_keyword contained time time-fields-local time-fields-utc time-string-local +syn keyword txl_keyword contained time-string-utc time-usec tofloat toint +syn keyword txl_keyword contained tok-str tok-where tostring tostringp +syn keyword txl_keyword contained transpose tree-bind tree-case tree-find +syn keyword txl_keyword contained trie-add trie-compress trie-lookup-begin trie-lookup-feed-char +syn keyword txl_keyword contained trie-value-at trim-str true trunc +syn keyword txl_keyword contained tuples txr-case txr-if txr-when +syn keyword txl_keyword contained typeof unget-byte unget-char uniq +syn keyword txl_keyword contained unique unless unquote until +syn keyword txl_keyword contained upcase-str update url-decode url-encode +syn keyword txl_keyword contained usleep uw-protect vec vec-push +syn keyword txl_keyword contained vec-set-length vecref vector vector-list +syn keyword txl_keyword contained vectorp when where while +syn keyword txl_keyword contained with-saved-vars wrap wrap* zerop +syn keyword txl_keyword contained zip syn keyword txr_keyword contained accept all and assert syn keyword txr_keyword contained bind block cases cat |