From ca59be500904f84f5b138257cc152e1ec6764819 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Wed, 18 Aug 2021 06:51:44 -0700 Subject: New ecase macros. Even prior to discovering the recent defect in deffi, which was caused by a missing case in caseql, combined with poor testing, I was already thinking about adding ecase macros. The introduction of must-match and must-match-case also shows my motivation. That deffi bug convinced me to take action and implement these. * eval.c (case_error_s) New symbol variable. (me_ecase): New static function. (eval_init): Register new intrinsic macros ecaseq, ecaseql, ecasequal, ecaseq*, ecaseql* and ecasequal*. Intern case-error and initialize case_error_s. * txr.1: Documented. Also updated Exception Hierarchy diagram with match-error and case-error. * stdlib/doc-syms.tl: Updated. --- stdlib/doc-syms.tl | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'stdlib/doc-syms.tl') diff --git a/stdlib/doc-syms.tl b/stdlib/doc-syms.tl index d111995d..48eb6624 100644 --- a/stdlib/doc-syms.tl +++ b/stdlib/doc-syms.tl @@ -540,6 +540,12 @@ ("ebadmsg" "N-036B1BDB") ("ebusy" "N-036B1BDB") ("ecanceled" "N-036B1BDB") + ("ecaseq" "N-03F13774") + ("ecaseq*" "N-03F13774") + ("ecaseql" "N-03F13774") + ("ecaseql*" "N-03F13774") + ("ecasequal" "N-03F13774") + ("ecasequal*" "N-03F13774") ("echild" "N-036B1BDB") ("echo" "N-0072FF5E") ("echoctl" "N-0072FF5E") -- cgit v1.2.3