X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/020b9e2b4364c61a668d47c4c5405295349817d8..dc162ca6f0f2bbcb045a03df61c76e37c48d85a7:/doc/runtime.tex?ds=sidebyside diff --git a/doc/runtime.tex b/doc/runtime.tex index 75055e5..a4a15ed 100644 --- a/doc/runtime.tex +++ b/doc/runtime.tex @@ -203,8 +203,8 @@ list items of the form \end{prog} with no separation between them. For example: \begin{prog} - \#define example_KWSET(_) @\\ \\ \ind - _(int, x, 0) @\\ \\ + \#define example_KWSET(_) \macsl \\ \ind + _(int, x, 0) \macsl \\ _(const char *, y, NULL) \end{prog} @@ -328,7 +328,7 @@ keyword arguments. which expects keyword arguments, but don't supply any and forget the null pointer which terminates the (empty) list.} % If @ is a null pointer, then @ need not be a valid pointer; - otherwise, the cursor object @|* @| will be modified as the function + otherwise, the cursor object @|*@| will be modified as the function extracts successive arguments from the tail. The keyword vector is read from the vector of @|kwval| structures starting @@ -562,16 +562,16 @@ particular keyword argument. else longjmp(kw_test_jmp, 2); \-\\ \} \\+ - \#define KW_TEST(flag, set, call) do \{ @\\ \\ \ind - kw_unkhookfn *oldunk = kw_unkhook; @\\ \\ - kw_unkhook = kw_test_unknown; @\\ \\ - switch (setjmp(kw_test_jmp)) \{ @\\ \\ \ind - case 0: call; abort(); @\\ \\ - case 1: flag = 1; break; @\\ \\ - case 2: flag = 0; break; @\\ \\ - default: abort(); @\\ \-\\ - \} @\\ \\ - kw_unkhook = oldunk; @\\ \-\\ + \#define KW_TEST(flag, set, call) do \{ \macsl \\ \ind + kw_unkhookfn *oldunk = kw_unkhook; \macsl \\ + kw_unkhook = kw_test_unknown; \macsl \\ + switch (setjmp(kw_test_jmp)) \{ \macsl \\ \ind + case 0: call; abort(); \macsl \\ + case 1: flag = 1; break; \macsl \\ + case 2: flag = 0; break; \macsl \\ + default: abort(); \macsl\-\\ + \} \macsl \\ + kw_unkhook = oldunk; \macsl\-\\ \} while (0) \\+ @/* Example of use */ \\