summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog12
-rw-r--r--eval.c2
-rw-r--r--lib.c41
-rw-r--r--lib.h4
-rw-r--r--tl.vim224
-rw-r--r--txr.132
-rw-r--r--txr.vim224
7 files changed, 317 insertions, 222 deletions
diff --git a/ChangeLog b/ChangeLog
index 177a667c..ba169bf5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,17 @@
2014-11-27 Kaz Kylheku <kaz@kylheku.com>
+ * eval.c (eval_init): Register lequal and gequal.
+
+ * lib.c (lequal, gequal, lequalv, gequalv): New functions.
+
+ * lib.h (lequal, gequal, lequalv, gequalv): Declared.
+
+ * txr.1: Documented lequal and gequal.
+
+ * txr.vim, tl.vim: Regenerated.
+
+2014-11-27 Kaz Kylheku <kaz@kylheku.com>
+
* eval.c (eval_init): Register less and greater to
the lessv and greaterv functions instead of less and greater.
diff --git a/eval.c b/eval.c
index b11a87eb..435a6f4e 100644
--- a/eval.c
+++ b/eval.c
@@ -3874,6 +3874,8 @@ void eval_init(void)
reg_fun(intern(lit("toint"), user_package), func_n2o(toint, 1));
reg_fun(intern(lit("less"), user_package), func_n1v(lessv));
reg_fun(intern(lit("greater"), user_package), func_n1v(greaterv));
+ reg_fun(intern(lit("lequal"), user_package), func_n1v(lequalv));
+ reg_fun(intern(lit("gequal"), user_package), func_n1v(gequalv));
reg_fun(intern(lit("chrp"), user_package), func_n1(chrp));
reg_fun(intern(lit("chr-isalnum"), user_package), func_n1(chr_isalnum));
reg_fun(intern(lit("chr-isalpha"), user_package), func_n1(chr_isalpha));
diff --git a/lib.c b/lib.c
index 7fe39f0a..aba04b39 100644
--- a/lib.c
+++ b/lib.c
@@ -3209,6 +3209,18 @@ val greater(val left, val right)
return less(right, left);
}
+val lequal(val left, val right)
+{
+ uses_or2;
+ return or2(equal(left, right), less(left, right));
+}
+
+val gequal(val left, val right)
+{
+ uses_or2;
+ return or2(equal(left, right), less(right, left));
+}
+
val lessv(val first, val rest)
{
val iter;
@@ -3237,6 +3249,35 @@ val greaterv(val first, val rest)
return t;
}
+val lequalv(val first, val rest)
+{
+ val iter;
+
+ for (iter = rest; iter; iter = cdr(iter)) {
+ val elem = car(iter);
+ if (!equal(first, elem) && !less(first, elem))
+ return nil;
+ first = elem;
+ }
+
+ return t;
+}
+
+val gequalv(val first, val rest)
+{
+ val iter;
+
+ for (iter = rest; iter; iter = cdr(iter)) {
+ val elem = car(iter);
+ if (!equal(first, elem) && !less(elem, first))
+ return nil;
+ first = elem;
+ }
+
+ return t;
+}
+
+
val chrp(val chr)
{
return (is_chr(chr)) ? t : nil;
diff --git a/lib.h b/lib.h
index 8278521c..ab5e61ed 100644
--- a/lib.h
+++ b/lib.h
@@ -638,8 +638,12 @@ val int_flo(val f);
val flo_int(val i);
val less(val left, val right);
val greater(val left, val right);
+val lequal(val left, val right);
+val gequal(val left, val right);
val lessv(val first, val rest);
val greaterv(val first, val rest);
+val lequalv(val first, val rest);
+val gequalv(val first, val rest);
val chrp(val chr);
wchar_t c_chr(val chr);
val chr_isalnum(val ch);
diff --git a/tl.vim b/tl.vim
index 331121c4..aa72d5fa 100644
--- a/tl.vim
+++ b/tl.vim
@@ -66,121 +66,123 @@ syn keyword txl_keyword contained flo-int flo-str floatp floor
syn keyword txl_keyword contained flush-stream for for* force
syn keyword txl_keyword contained format fourth fun func-get-env
syn keyword txl_keyword contained func-get-form func-set-env functionp gcd
-syn keyword txl_keyword contained gen generate gensym get-byte
-syn keyword txl_keyword contained get-char get-hash-userdata get-line get-lines
-syn keyword txl_keyword contained get-list-from-stream get-sig-handler get-string get-string-from-stream
-syn keyword txl_keyword contained gethash getitimer getpid getppid
-syn keyword txl_keyword contained giterate greater group-by gun
-syn keyword txl_keyword contained hash hash-alist hash-construct hash-count
-syn keyword txl_keyword contained hash-diff hash-eql hash-equal hash-isec
-syn keyword txl_keyword contained hash-keys hash-pairs hash-uni hash-update
-syn keyword txl_keyword contained hash-update-1 hash-values hashp html-decode
-syn keyword txl_keyword contained html-encode iapply identity ido
-syn keyword txl_keyword contained if iff iffi inc
-syn keyword txl_keyword contained inhash int-flo int-str integerp
-syn keyword txl_keyword contained intern interp-fun-p interpose ip
-syn keyword txl_keyword contained ipf isqrt itimer-prov itimer-real
-syn keyword txl_keyword contained itimer-virtual juxt keep-if keep-if*
-syn keyword txl_keyword contained keywordp kill labels lambda
-syn keyword txl_keyword contained last lazy-str lazy-str-force lazy-str-force-upto
-syn keyword txl_keyword contained lazy-str-get-trailing-list lazy-stream-cons lazy-stringp lbind
-syn keyword txl_keyword contained lcm lcons-fun lconsp ldiff
-syn keyword txl_keyword contained length length-list length-str length-str-<
-syn keyword txl_keyword contained length-str-<= length-str-> length-str->= length-vec
-syn keyword txl_keyword contained less let let* 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 mkdir mknod mkstring
-syn keyword txl_keyword contained mod multi multi-sort n-choose-k
-syn keyword txl_keyword contained n-perm-k nconc nilf none
-syn keyword txl_keyword contained not notf nreverse null
-syn keyword txl_keyword contained nullify num-chr num-str numberp
-syn keyword txl_keyword contained oand oddp op open-command
-syn keyword txl_keyword contained open-directory open-file open-files open-files*
-syn keyword txl_keyword contained open-pipe open-process open-tail openlog
-syn keyword txl_keyword contained opip or orf packagep
-syn keyword txl_keyword contained partition partition* partition-by perm
-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 pprinl pprint pprof prinl
-syn keyword txl_keyword contained print prof prog1 progn
-syn keyword txl_keyword contained prop proper-listp push pushhash
-syn keyword txl_keyword contained put-byte put-char put-line put-lines
-syn keyword txl_keyword contained put-string put-strings pwd qquote
-syn keyword txl_keyword contained quasi quasilist quote rand
-syn keyword txl_keyword contained random random-fixnum random-state-p range
-syn keyword txl_keyword contained range* range-regex rcomb read
-syn keyword txl_keyword contained readlink real-time-stream-p reduce-left reduce-right
-syn keyword txl_keyword contained ref refset regex-compile regex-parse
-syn keyword txl_keyword contained regexp regsub rehome-sym remhash
-syn keyword txl_keyword contained remove-if remove-if* remove-path remq
-syn keyword txl_keyword contained remq* remql remql* remqual
-syn keyword txl_keyword contained remqual* rename-path repeat replace
-syn keyword txl_keyword contained replace-list replace-str replace-vec rest
-syn keyword txl_keyword contained ret retf return return-from
-syn keyword txl_keyword contained reverse rlcp rperm rplaca
-syn keyword txl_keyword contained rplacd run s-ifblk s-ifchr
-syn keyword txl_keyword contained s-ifdir s-ififo s-iflnk s-ifmt
-syn keyword txl_keyword contained s-ifreg s-ifsock s-irgrp s-iroth
-syn keyword txl_keyword contained s-irusr s-irwxg s-irwxo s-irwxu
-syn keyword txl_keyword contained s-isgid s-isuid s-isvtx s-iwgrp
-syn keyword txl_keyword contained s-iwoth s-iwusr s-ixgrp s-ixoth
-syn keyword txl_keyword contained s-ixusr search search-regex search-str
-syn keyword txl_keyword contained search-str-tree second seek-stream select
-syn keyword txl_keyword contained seqp set set-diff set-hash-userdata
-syn keyword txl_keyword contained set-sig-handler sethash setitimer setlogmask
-syn keyword txl_keyword contained sh sig-abrt sig-alrm sig-bus
-syn keyword txl_keyword contained sig-check sig-chld sig-cont sig-fpe
-syn keyword txl_keyword contained sig-hup sig-ill sig-int sig-io
-syn keyword txl_keyword contained sig-iot sig-kill sig-lost sig-pipe
-syn keyword txl_keyword contained sig-poll sig-prof sig-pwr sig-quit
-syn keyword txl_keyword contained sig-segv sig-stkflt sig-stop sig-sys
-syn keyword txl_keyword contained sig-term sig-trap sig-tstp sig-ttin
-syn keyword txl_keyword contained sig-ttou sig-urg sig-usr1 sig-usr2
-syn keyword txl_keyword contained sig-vtalrm sig-winch sig-xcpu sig-xfsz
-syn keyword txl_keyword contained sin sixth size-vec some
-syn keyword txl_keyword contained sort source-loc source-loc-str span-str
-syn keyword txl_keyword contained splice split-str split-str-set sqrt
+syn keyword txl_keyword contained gen generate gensym gequal
+syn keyword txl_keyword contained get-byte get-char get-hash-userdata get-line
+syn keyword txl_keyword contained get-lines get-list-from-stream get-sig-handler get-string
+syn keyword txl_keyword contained get-string-from-stream gethash getitimer getpid
+syn keyword txl_keyword contained getppid giterate greater group-by
+syn keyword txl_keyword contained gun hash hash-alist hash-construct
+syn keyword txl_keyword contained hash-count hash-diff hash-eql hash-equal
+syn keyword txl_keyword contained hash-isec hash-keys hash-pairs hash-uni
+syn keyword txl_keyword contained hash-update hash-update-1 hash-values hashp
+syn keyword txl_keyword contained html-decode html-encode iapply identity
+syn keyword txl_keyword contained ido if iff iffi
+syn keyword txl_keyword contained inc inhash int-flo int-str
+syn keyword txl_keyword contained integerp intern interp-fun-p interpose
+syn keyword txl_keyword contained ip ipf isqrt itimer-prov
+syn keyword txl_keyword contained itimer-real itimer-virtual juxt keep-if
+syn keyword txl_keyword contained keep-if* keywordp kill labels
+syn keyword txl_keyword contained lambda last lazy-str lazy-str-force
+syn keyword txl_keyword contained lazy-str-force-upto lazy-str-get-trailing-list lazy-stream-cons lazy-stringp
+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 mkdir
+syn keyword txl_keyword contained mknod mkstring mod multi
+syn keyword txl_keyword contained multi-sort n-choose-k n-perm-k nconc
+syn keyword txl_keyword contained nilf none not notf
+syn keyword txl_keyword contained nreverse null nullify num-chr
+syn keyword txl_keyword contained num-str numberp oand oddp
+syn keyword txl_keyword contained op open-command open-directory open-file
+syn keyword txl_keyword contained open-files open-files* open-pipe open-process
+syn keyword txl_keyword contained open-tail openlog opip or
+syn keyword txl_keyword contained orf packagep partition partition*
+syn keyword txl_keyword contained partition-by perm 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 symacrolet symbol-function symbol-name
-syn keyword txl_keyword contained symbol-package symbol-value symbolp symlink
-syn keyword txl_keyword contained sys-qquote sys-splice sys-unquote syslog
-syn keyword txl_keyword contained tan tb tc tf
-syn keyword txl_keyword contained third throw throwf time
-syn keyword txl_keyword contained time-fields-local time-fields-utc time-string-local time-string-utc
-syn keyword txl_keyword contained time-usec tofloat toint tok-str
-syn keyword txl_keyword contained tok-where tostring tostringp transpose
-syn keyword txl_keyword contained tree-bind tree-case tree-find trie-add
-syn keyword txl_keyword contained trie-compress trie-lookup-begin trie-lookup-feed-char trie-value-at
-syn keyword txl_keyword contained trim-str true trunc tuples
-syn keyword txl_keyword contained txr-case txr-if txr-when typeof
-syn keyword txl_keyword contained unget-byte unget-char uniq 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 zerop
-syn keyword txl_keyword contained zip
+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 unless unquote until upcase-str
+syn keyword txl_keyword contained update url-decode url-encode usleep
+syn keyword txl_keyword contained uw-protect vec vec-push vec-set-length
+syn keyword txl_keyword contained vecref vector vector-list vectorp
+syn keyword txl_keyword contained when where while with-saved-vars
+syn keyword txl_keyword contained wrap wrap* zerop zip
syn match txr_metanum "@[0-9]\+"
syn match txr_nested_error "[^\t `]\+" contained
diff --git a/txr.1 b/txr.1
index dc87d2a7..d0b533f7 100644
--- a/txr.1
+++ b/txr.1
@@ -17647,6 +17647,38 @@ and
.code find-max
functions.
+.coNP Functions @ lequal and @ gequal
+.synb
+.mets (lequal < obj << obj *)
+.mets (gequal < obj << obj *)
+.syne
+.desc
+The functions
+.code lequal
+and
+.code gequal
+are similar to
+.code less
+and
+.code greater
+respectively, but differ in the following respect:
+when called with two arguments which compare true under the
+.code equal
+function, the
+.code lequal
+and
+.code gequal
+functions return
+.codn t .
+
+When called with only one argument, both functions return
+.code t
+and both functions generalize to three or more arguments
+in the same way as do
+.code less
+and
+.codn greater .
+
.coNP Function @ sort
.synb
.mets (sort < sequence >> [ lessfun <> [ keyfun ]])
diff --git a/txr.vim b/txr.vim
index b5a924a1..795b9518 100644
--- a/txr.vim
+++ b/txr.vim
@@ -66,121 +66,123 @@ syn keyword txl_keyword contained flo-int flo-str floatp floor
syn keyword txl_keyword contained flush-stream for for* force
syn keyword txl_keyword contained format fourth fun func-get-env
syn keyword txl_keyword contained func-get-form func-set-env functionp gcd
-syn keyword txl_keyword contained gen generate gensym get-byte
-syn keyword txl_keyword contained get-char get-hash-userdata get-line get-lines
-syn keyword txl_keyword contained get-list-from-stream get-sig-handler get-string get-string-from-stream
-syn keyword txl_keyword contained gethash getitimer getpid getppid
-syn keyword txl_keyword contained giterate greater group-by gun
-syn keyword txl_keyword contained hash hash-alist hash-construct hash-count
-syn keyword txl_keyword contained hash-diff hash-eql hash-equal hash-isec
-syn keyword txl_keyword contained hash-keys hash-pairs hash-uni hash-update
-syn keyword txl_keyword contained hash-update-1 hash-values hashp html-decode
-syn keyword txl_keyword contained html-encode iapply identity ido
-syn keyword txl_keyword contained if iff iffi inc
-syn keyword txl_keyword contained inhash int-flo int-str integerp
-syn keyword txl_keyword contained intern interp-fun-p interpose ip
-syn keyword txl_keyword contained ipf isqrt itimer-prov itimer-real
-syn keyword txl_keyword contained itimer-virtual juxt keep-if keep-if*
-syn keyword txl_keyword contained keywordp kill labels lambda
-syn keyword txl_keyword contained last lazy-str lazy-str-force lazy-str-force-upto
-syn keyword txl_keyword contained lazy-str-get-trailing-list lazy-stream-cons lazy-stringp lbind
-syn keyword txl_keyword contained lcm lcons-fun lconsp ldiff
-syn keyword txl_keyword contained length length-list length-str length-str-<
-syn keyword txl_keyword contained length-str-<= length-str-> length-str->= length-vec
-syn keyword txl_keyword contained less let let* 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 mkdir mknod mkstring
-syn keyword txl_keyword contained mod multi multi-sort n-choose-k
-syn keyword txl_keyword contained n-perm-k nconc nilf none
-syn keyword txl_keyword contained not notf nreverse null
-syn keyword txl_keyword contained nullify num-chr num-str numberp
-syn keyword txl_keyword contained oand oddp op open-command
-syn keyword txl_keyword contained open-directory open-file open-files open-files*
-syn keyword txl_keyword contained open-pipe open-process open-tail openlog
-syn keyword txl_keyword contained opip or orf packagep
-syn keyword txl_keyword contained partition partition* partition-by perm
-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 pprinl pprint pprof prinl
-syn keyword txl_keyword contained print prof prog1 progn
-syn keyword txl_keyword contained prop proper-listp push pushhash
-syn keyword txl_keyword contained put-byte put-char put-line put-lines
-syn keyword txl_keyword contained put-string put-strings pwd qquote
-syn keyword txl_keyword contained quasi quasilist quote rand
-syn keyword txl_keyword contained random random-fixnum random-state-p range
-syn keyword txl_keyword contained range* range-regex rcomb read
-syn keyword txl_keyword contained readlink real-time-stream-p reduce-left reduce-right
-syn keyword txl_keyword contained ref refset regex-compile regex-parse
-syn keyword txl_keyword contained regexp regsub rehome-sym remhash
-syn keyword txl_keyword contained remove-if remove-if* remove-path remq
-syn keyword txl_keyword contained remq* remql remql* remqual
-syn keyword txl_keyword contained remqual* rename-path repeat replace
-syn keyword txl_keyword contained replace-list replace-str replace-vec rest
-syn keyword txl_keyword contained ret retf return return-from
-syn keyword txl_keyword contained reverse rlcp rperm rplaca
-syn keyword txl_keyword contained rplacd run s-ifblk s-ifchr
-syn keyword txl_keyword contained s-ifdir s-ififo s-iflnk s-ifmt
-syn keyword txl_keyword contained s-ifreg s-ifsock s-irgrp s-iroth
-syn keyword txl_keyword contained s-irusr s-irwxg s-irwxo s-irwxu
-syn keyword txl_keyword contained s-isgid s-isuid s-isvtx s-iwgrp
-syn keyword txl_keyword contained s-iwoth s-iwusr s-ixgrp s-ixoth
-syn keyword txl_keyword contained s-ixusr search search-regex search-str
-syn keyword txl_keyword contained search-str-tree second seek-stream select
-syn keyword txl_keyword contained seqp set set-diff set-hash-userdata
-syn keyword txl_keyword contained set-sig-handler sethash setitimer setlogmask
-syn keyword txl_keyword contained sh sig-abrt sig-alrm sig-bus
-syn keyword txl_keyword contained sig-check sig-chld sig-cont sig-fpe
-syn keyword txl_keyword contained sig-hup sig-ill sig-int sig-io
-syn keyword txl_keyword contained sig-iot sig-kill sig-lost sig-pipe
-syn keyword txl_keyword contained sig-poll sig-prof sig-pwr sig-quit
-syn keyword txl_keyword contained sig-segv sig-stkflt sig-stop sig-sys
-syn keyword txl_keyword contained sig-term sig-trap sig-tstp sig-ttin
-syn keyword txl_keyword contained sig-ttou sig-urg sig-usr1 sig-usr2
-syn keyword txl_keyword contained sig-vtalrm sig-winch sig-xcpu sig-xfsz
-syn keyword txl_keyword contained sin sixth size-vec some
-syn keyword txl_keyword contained sort source-loc source-loc-str span-str
-syn keyword txl_keyword contained splice split-str split-str-set sqrt
+syn keyword txl_keyword contained gen generate gensym gequal
+syn keyword txl_keyword contained get-byte get-char get-hash-userdata get-line
+syn keyword txl_keyword contained get-lines get-list-from-stream get-sig-handler get-string
+syn keyword txl_keyword contained get-string-from-stream gethash getitimer getpid
+syn keyword txl_keyword contained getppid giterate greater group-by
+syn keyword txl_keyword contained gun hash hash-alist hash-construct
+syn keyword txl_keyword contained hash-count hash-diff hash-eql hash-equal
+syn keyword txl_keyword contained hash-isec hash-keys hash-pairs hash-uni
+syn keyword txl_keyword contained hash-update hash-update-1 hash-values hashp
+syn keyword txl_keyword contained html-decode html-encode iapply identity
+syn keyword txl_keyword contained ido if iff iffi
+syn keyword txl_keyword contained inc inhash int-flo int-str
+syn keyword txl_keyword contained integerp intern interp-fun-p interpose
+syn keyword txl_keyword contained ip ipf isqrt itimer-prov
+syn keyword txl_keyword contained itimer-real itimer-virtual juxt keep-if
+syn keyword txl_keyword contained keep-if* keywordp kill labels
+syn keyword txl_keyword contained lambda last lazy-str lazy-str-force
+syn keyword txl_keyword contained lazy-str-force-upto lazy-str-get-trailing-list lazy-stream-cons lazy-stringp
+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 mkdir
+syn keyword txl_keyword contained mknod mkstring mod multi
+syn keyword txl_keyword contained multi-sort n-choose-k n-perm-k nconc
+syn keyword txl_keyword contained nilf none not notf
+syn keyword txl_keyword contained nreverse null nullify num-chr
+syn keyword txl_keyword contained num-str numberp oand oddp
+syn keyword txl_keyword contained op open-command open-directory open-file
+syn keyword txl_keyword contained open-files open-files* open-pipe open-process
+syn keyword txl_keyword contained open-tail openlog opip or
+syn keyword txl_keyword contained orf packagep partition partition*
+syn keyword txl_keyword contained partition-by perm 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 symacrolet symbol-function symbol-name
-syn keyword txl_keyword contained symbol-package symbol-value symbolp symlink
-syn keyword txl_keyword contained sys-qquote sys-splice sys-unquote syslog
-syn keyword txl_keyword contained tan tb tc tf
-syn keyword txl_keyword contained third throw throwf time
-syn keyword txl_keyword contained time-fields-local time-fields-utc time-string-local time-string-utc
-syn keyword txl_keyword contained time-usec tofloat toint tok-str
-syn keyword txl_keyword contained tok-where tostring tostringp transpose
-syn keyword txl_keyword contained tree-bind tree-case tree-find trie-add
-syn keyword txl_keyword contained trie-compress trie-lookup-begin trie-lookup-feed-char trie-value-at
-syn keyword txl_keyword contained trim-str true trunc tuples
-syn keyword txl_keyword contained txr-case txr-if txr-when typeof
-syn keyword txl_keyword contained unget-byte unget-char uniq 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 zerop
-syn keyword txl_keyword contained zip
+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 unless unquote until upcase-str
+syn keyword txl_keyword contained update url-decode url-encode usleep
+syn keyword txl_keyword contained uw-protect vec vec-push vec-set-length
+syn keyword txl_keyword contained vecref vector vector-list vectorp
+syn keyword txl_keyword contained when where while with-saved-vars
+syn keyword txl_keyword contained wrap wrap* zerop zip
syn keyword txr_keyword contained accept all and assert
syn keyword txr_keyword contained bind block cases cat