<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">FUNNELWEB LISTING FILE
======================

Dump of mapped file "&lt;&lt;Suppressed&gt;&gt;".

MEMORY DUMP OF MAPPED FILE
==========================

+-------------------------------------------------+------------------+
| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF |
+-------------------------------------------------+------------------+
| 50 52 30 34 3A 20 54 65 73 74 20 74 68 65 20 64 | PR04: Test the d |
| 65 66 69 6E 69 74 69 6F 6E 20 6F 66 20 6F 72 64 | efinition of ord |
| 69 6E 61 72 79 20 6D 61 63 72 6F 73 2E 0A 0A 31 | inary macros...1 |
| 2E 20 54 65 73 74 20 61 6E 20 6F 72 64 69 6E 61 | . Test an ordina |
| 72 79 20 6D 61 63 72 6F 20 64 65 66 69 6E 69 74 | ry macro definit |
| 69 6F 6E 2E 0A 40 24 40 3C 4F 72 64 69 6E 61 72 | ion..@$@&lt;Ordinar |
| 79 40 3E 40 7B 54 68 65 20 74 65 78 74 20 6F 66 | y@&gt;@{The text of |
| 20 6F 72 64 69 6E 61 72 79 40 7D 0A 0A 32 2E 20 |  ordinary@}..2.  |
| 54 65 73 74 20 61 6E 20 6F 72 64 69 6E 61 72 79 | Test an ordinary |
| 20 64 65 66 69 6E 69 74 69 6F 6E 20 75 73 69 6E |  definition usin |
| 67 20 61 20 71 75 69 63 6B 6E 61 6D 65 2E 0A 40 | g a quickname..@ |
| 24 40 23 7C 40 7B 54 68 65 20 74 65 78 74 20 6F | $@#|@{The text o |
| 66 20 6F 72 64 69 6E 61 72 79 40 7D 0A 0A 33 2E | f ordinary@}..3. |
| 20 54 65 73 74 20 61 20 6E 61 6D 65 20 74 68 61 |  Test a name tha |
| 74 20 69 6E 63 6C 75 64 65 73 20 45 4F 4C 2E 0A | t includes EOL.. |
| 40 24 40 3C 54 68 69 73 20 6E 61 6D 65 20 69 73 | @$@&lt;This name is |
| 20 69 6C 6C 65 67 61 6C 20 62 65 63 61 75 73 65 |  illegal because |
| 0A 69 74 20 63 72 6F 73 73 65 73 20 61 20 6C 69 | .it crosses a li |
| 6F 6E 40 3E 40 7B 41 6E 64 20 70 65 6F 70 6C 65 | on@&gt;@{And people |
| 20 77 68 6F 20 63 72 6F 73 73 20 6C 69 6F 6E 73 |  who cross lions |
| 20 74 65 6E 64 20 74 6F 20 67 65 74 20 65 61 74 |  tend to get eat |
| 65 6E 2E 40 7D 0A 40 41 40 3C 45 72 72 6F 72 20 | en.@}.@A@&lt;Error  |
| 52 65 63 6F 76 65 72 79 20 50 6F 69 6E 74 40 3E | Recovery Point@&gt; |
| 0A 0A 34 2E 20 54 65 73 74 20 74 68 65 20 6D 69 | ..4. Test the mi |
| 6E 69 6D 75 6D 20 6C 65 6E 67 74 68 20 6E 61 6D | nimum length nam |
| 65 20 28 74 68 65 20 65 6D 70 74 79 20 6E 61 6D | e (the empty nam |
| 65 29 2E 0A 40 24 40 3C 40 3E 40 7B 54 68 65 20 | e)..@$@&lt;@&gt;@{The  |
| 65 6D 70 74 79 20 6D 61 63 72 6F 20 6E 61 6D 65 | empty macro name |
| 20 69 73 20 71 75 69 74 65 20 6C 65 67 61 6C 20 |  is quite legal  |
| 69 6E 20 46 75 6E 6E 65 6C 57 65 62 2E 40 7D 0A | in FunnelWeb.@}. |
| 0A 35 2E 20 54 65 73 74 20 61 20 6E 61 6D 65 20 | .5. Test a name  |
| 61 74 20 74 68 65 20 6D 61 78 69 6D 75 6D 20 6E | at the maximum n |
| 61 6D 65 20 6C 65 6E 67 74 68 20 6C 69 6D 69 74 | ame length limit |
| 20 28 38 30 29 2E 0A 4F 4E 6C 79 20 74 68 65 20 |  (80)..ONly the  |
| 73 65 63 6F 6E 64 20 6F 66 20 74 68 65 20 74 77 | second of the tw |
| 6F 20 6D 61 63 72 6F 73 20 73 68 6F 75 6C 64 20 | o macros should  |
| 67 65 6E 65 72 61 74 65 20 61 6E 20 65 72 72 6F | generate an erro |
| 72 2E 0A 40 70 20 6D 61 78 69 6D 75 6D 5F 69 6E | r..@p maximum_in |
| 70 75 74 5F 6C 69 6E 65 5F 6C 65 6E 67 74 68 20 | put_line_length  |
| 3D 20 31 30 30 0A 40 24 40 3C 31 32 33 34 35 36 | = 100.@$@&lt;123456 |
| 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 | 7890123456789012 |
| 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 | 3456789012345678 |
| 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 | 9012345678901234 |
| 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 | 5678901234567890 |
| 31 32 33 34 35 36 37 38 39 30 40 3E 40 7B 40 7D | 1234567890@&gt;@{@} |
| 0A 40 24 40 3C 31 32 33 34 35 36 37 38 39 30 31 | .@$@&lt;12345678901 |
| 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 | 2345678901234567 |
| 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 | 8901234567890123 |
| 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 | 4567890123456789 |
| 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 | 0123456789012345 |
| 36 37 38 39 30 31 40 3E 40 7B 40 7D 0A 40 41 40 | 678901@&gt;@{@}.@A@ |
| 3C 45 72 72 6F 72 20 52 65 63 6F 76 65 72 79 20 | &lt;Error Recovery  |
| 50 6F 69 6E 74 40 3E 0A 0A 36 2E 20 54 65 73 74 | Point@&gt;..6. Test |
| 20 6E 61 6D 65 73 20 77 69 74 68 20 61 6C 6C 20 |  names with all  |
| 6C 65 67 61 6C 20 63 68 61 72 61 63 74 65 72 73 | legal characters |
| 2E 20 54 68 65 72 65 20 73 68 6F 75 6C 64 20 62 | . There should b |
| 65 20 6E 6F 20 65 72 72 6F 72 73 2E 0A 40 24 40 | e no errors..@$@ |
| 3C 20 21 22 23 24 25 27 28 29 2A 2B 2C 2D 2E 2F | &lt; !"#$%'()*+,-./ |
| 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F | 0123456789:;&lt;=&gt;? |
| 40 3E 40 7B 40 7D 0A 40 24 40 3C 41 42 43 44 45 | @&gt;@{@}.@$@&lt;ABCDE |
| 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 | FGHIJKLMNOPQRSTU |
| 56 57 58 59 5A 5B 5C 5D 5E 5F 60 40 3E 40 7B 40 | VWXYZ[\]^_`@&gt;@{@ |
| 7D 0A 40 24 40 3C 61 62 63 64 65 66 67 68 69 6A | }.@$@&lt;abcdefghij |
| 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A | klmnopqrstuvwxyz |
| 7B 7C 7D 7E 40 3E 40 7B 40 7D 0A 0A 37 2E 20 54 | {|}~@&gt;@{@}..7. T |
| 65 73 74 20 61 20 6E 61 6D 65 20 74 68 61 74 20 | est a name that  |
| 68 61 73 20 69 6E 73 65 72 74 65 64 20 74 65 78 | has inserted tex |
| 74 20 73 65 71 75 65 6E 63 65 73 2E 0A 0A 40 24 | t sequences...@$ |
| 40 3C 40 5E 44 28 30 36 35 29 40 40 40 3E 3D 3D | @&lt;@^D(065)@@@&gt;== |
| 40 7B 40 7D 0A 0A 0A                            | @{@}...          |
+-------------------------------------------------+------------------+


=========================== Start of LINE LIST DUMP ============================

Globl Local| Text
-----------+--------------------------------------------------------------------
00001 00001| PR04: Test the definition of ordinary macros.&lt;010&gt;
00002 00002| &lt;010&gt;
00003 00003| 1. Test an ordinary macro definition.&lt;010&gt;
00004 00004| @$@&lt;Ordinary@&gt;@{The text of ordinary@}&lt;010&gt;
00005 00005| &lt;010&gt;
00006 00006| 2. Test an ordinary definition using a quickname.&lt;010&gt;
00007 00007| @$@#|@{The text of ordinary@}&lt;010&gt;
00008 00008| &lt;010&gt;
00009 00009| 3. Test a name that includes EOL.&lt;010&gt;
00010 00010| @$@&lt;This name is illegal because&lt;010&gt;
00011 00011| it crosses a lion@&gt;@{And people who cross lions tend to get eaten.@}&lt;010&gt;
00012 00012| @A@&lt;Error Recovery Point@&gt;&lt;010&gt;
00013 00013| &lt;010&gt;
00014 00014| 4. Test the minimum length name (the empty name).&lt;010&gt;
00015 00015| @$@&lt;@&gt;@{The empty macro name is quite legal in FunnelWeb.@}&lt;010&gt;
00016 00016| &lt;010&gt;
00017 00017| 5. Test a name at the maximum name length limit (80).&lt;010&gt;
00018 00018| ONly the second of the two macros should generate an error.&lt;010&gt;
00019 00019| @p maximum_input_line_length = 100&lt;010&gt;
00020 00020| @$@&lt;12345678901234567890123456789012345678901234567890123456789012345678901234567890@&gt;@{@}&lt;010&gt;
00021 00021| @$@&lt;123456789012345678901234567890123456789012345678901234567890123456789012345678901@&gt;@{@}&lt;010&gt;
00022 00022| @A@&lt;Error Recovery Point@&gt;&lt;010&gt;
00023 00023| &lt;010&gt;
00024 00024| 6. Test names with all legal characters. There should be no errors.&lt;010&gt;
00025 00025| @$@&lt; !"#$%'()*+,-./0123456789:;&lt;=&gt;?@&gt;@{@}&lt;010&gt;
00026 00026| @$@&lt;ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`@&gt;@{@}&lt;010&gt;
00027 00027| @$@&lt;abcdefghijklmnopqrstuvwxyz{|}~@&gt;@{@}&lt;010&gt;
00028 00028| &lt;010&gt;
00029 00029| 7. Test a name that has inserted text sequences.&lt;010&gt;
00030 00030| &lt;010&gt;
00031 00031| @$@&lt;@^D(065)@@@&gt;==@{@}&lt;010&gt;
00032 00032| &lt;010&gt;
00033 00033| &lt;010&gt;
00034 00034| &lt;End-Of-File&gt;&lt;010&gt;
-----------+--------------------------------------------------------------------
Globl Local| Text

============================ End of LINE LIST DUMP =============================


=========================== Start of TOKEN LIST DUMP ===========================

Summary: There are 85 tokens in the token list.

Line[Column]: Token Description
-------------------------------

0001[01]: Text. Text scrap[Grey]="PR04: Test the definition of ordinary macros.&lt;010&gt;
&lt;010&gt;
1. Test an ordinary macro definition.&lt;010&gt;
"
0004[01]: @$ Macro defn. 
0004[03]: @&lt; Open name. 
0004[05]: Text. Text scrap[Grey]="Ordinary"
0004[13]: @&gt; Close name. 
0004[15]: @{ Open defn. 
0004[17]: Text. Text scrap[Grey]="The text of ordinary"
0004[37]: @} Close defn. 
0004[39]: Text. Text scrap[Grey]="&lt;010&gt;
&lt;010&gt;
2. Test an ordinary definition using a quickname.&lt;010&gt;
"
0007[01]: @$ Macro defn. 
0007[03]: @# Name. Character='|'.
0007[06]: @{ Open defn. 
0007[08]: Text. Text scrap[Grey]="The text of ordinary"
0007[28]: @} Close defn. 
0007[30]: Text. Text scrap[Grey]="&lt;010&gt;
&lt;010&gt;
3. Test a name that includes EOL.&lt;010&gt;
"
0010[01]: @$ Macro defn. 
0010[03]: @&lt; Open name. 
0010[05]: Text. Text scrap[Grey]="This name is illegal because&lt;010&gt;
it crosses a lion"
0011[18]: @&gt; Close name. 
0011[20]: @{ Open defn. 
0011[22]: Text. Text scrap[Grey]="And people who cross lions tend to get eaten."
0011[67]: @} Close defn. 
0011[69]: Text. Text scrap[White]="&lt;010&gt;
"
0012[01]: @A New section (Level 1). 
0012[03]: @&lt; Open name. 
0012[05]: Text. Text scrap[Grey]="Error Recovery Point"
0012[25]: @&gt; Close name. 
0012[27]: Text. Text scrap[Grey]="&lt;010&gt;
&lt;010&gt;
4. Test the minimum length name (the empty name).&lt;010&gt;
"
0015[01]: @$ Macro defn. 
0015[03]: @&lt; Open name. 
0015[05]: @&gt; Close name. 
0015[07]: @{ Open defn. 
0015[09]: Text. Text scrap[Grey]="The empty macro name is quite legal in FunnelWeb."
0015[58]: @} Close defn. 
0015[60]: Text. Text scrap[Grey]="&lt;010&gt;
&lt;010&gt;
5. Test a name at the maximum name length limit (80).&lt;010&gt;
ONly the second of the two macros should generate an error.&lt;010&gt;
"
0020[01]: @$ Macro defn. 
0020[03]: @&lt; Open name. 
0020[05]: Text. Text scrap[Grey]="12345678901234567890123456789012345678901234567890123456789012345678901234567890"
0020[85]: @&gt; Close name. 
0020[87]: @{ Open defn. 
0020[89]: @} Close defn. 
0020[91]: Text. Text scrap[White]="&lt;010&gt;
"
0021[01]: @$ Macro defn. 
0021[03]: @&lt; Open name. 
0021[05]: Text. Text scrap[Grey]="123456789012345678901234567890123456789012345678901234567890123456789012345678901"
0021[86]: @&gt; Close name. 
0021[88]: @{ Open defn. 
0021[90]: @} Close defn. 
0021[92]: Text. Text scrap[White]="&lt;010&gt;
"
0022[01]: @A New section (Level 1). 
0022[03]: @&lt; Open name. 
0022[05]: Text. Text scrap[Grey]="Error Recovery Point"
0022[25]: @&gt; Close name. 
0022[27]: Text. Text scrap[Grey]="&lt;010&gt;
&lt;010&gt;
6. Test names with all legal characters. There should be no errors.&lt;010&gt;
"
0025[01]: @$ Macro defn. 
0025[03]: @&lt; Open name. 
0025[05]: Text. Text scrap[Grey]=" !"#$%'()*+,-./0123456789:;&lt;=&gt;?"
0025[36]: @&gt; Close name. 
0025[38]: @{ Open defn. 
0025[40]: @} Close defn. 
0025[42]: Text. Text scrap[White]="&lt;010&gt;
"
0026[01]: @$ Macro defn. 
0026[03]: @&lt; Open name. 
0026[05]: Text. Text scrap[Grey]="ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`"
0026[37]: @&gt; Close name. 
0026[39]: @{ Open defn. 
0026[41]: @} Close defn. 
0026[43]: Text. Text scrap[White]="&lt;010&gt;
"
0027[01]: @$ Macro defn. 
0027[03]: @&lt; Open name. 
0027[05]: Text. Text scrap[Grey]="abcdefghijklmnopqrstuvwxyz{|}~"
0027[35]: @&gt; Close name. 
0027[37]: @{ Open defn. 
0027[39]: @} Close defn. 
0027[41]: Text. Text scrap[Grey]="&lt;010&gt;
&lt;010&gt;
7. Test a name that has inserted text sequences.&lt;010&gt;
&lt;010&gt;
"
0031[01]: @$ Macro defn. 
0031[03]: @&lt; Open name. 
0031[05]: Text. Text scrap[Grey]="A"
0031[13]: Text. Text scrap[Grey]="@"
0031[15]: @&gt; Close name. 
0031[17]: Text. Text scrap[Grey]="=="
0031[19]: @{ Open defn. 
0031[21]: @} Close defn. 
0031[23]: Text. Text scrap[White]="&lt;010&gt;
&lt;010&gt;
&lt;010&gt;
"
0034[01]: End Of File. 
============================ End of TOKEN LIST DUMP ============================


========================== Start of MACRO TABLE DUMP ===========================


------------------- Start of Macro Dump --------------------
Macro Name  : ""
Defined?    : Yes.
Parameters  : 0
Additive?   : No.
Zero Calls? : No.
Many Calls? : No.
Output File?: No.
Automatic Line Directive Macro?: No.
Call list   :
Macro body  :

--Start of List of Body Parts--
This macro has 1 body part.
Body part 1: Seqnum=3, Pos(L,C)=(15,3), Expression follows:

---- Start of Expression ----

----- Start Text Element -----
Text scrap[Grey]="The empty macro name is quite legal in FunnelWeb."
------ End Text Element ------

----- End of Expression -----

---End of List of Body Parts---

-------------------- End of Macro Dump ---------------------



------------------- Start of Macro Dump --------------------
Macro Name  : " !"#$%'()*+,-./0123456789:;&lt;=&gt;?"
Defined?    : Yes.
Parameters  : 0
Additive?   : No.
Zero Calls? : No.
Many Calls? : No.
Output File?: No.
Automatic Line Directive Macro?: No.
Call list   :
Macro body  :

--Start of List of Body Parts--
This macro has 1 body part.
Body part 1: Seqnum=5, Pos(L,C)=(25,3), Expression follows:

---- Start of Expression ----
----- End of Expression -----

---End of List of Body Parts---

-------------------- End of Macro Dump ---------------------



------------------- Start of Macro Dump --------------------
Macro Name  : "#file"
Defined?    : Yes.
Parameters  : 0
Additive?   : No.
Zero Calls? : Yes.
Many Calls? : Yes.
Output File?: No.
Automatic Line Directive Macro?: No.
Call list   :
Macro body  :

--Start of List of Body Parts--
This macro has 1 body part.
Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows:

---- Start of Expression ----

--- Start Special Function ---
---- End Special Function ----

----- End of Expression -----

---End of List of Body Parts---

-------------------- End of Macro Dump ---------------------



------------------- Start of Macro Dump --------------------
Macro Name  : "#line"
Defined?    : Yes.
Parameters  : 0
Additive?   : No.
Zero Calls? : Yes.
Many Calls? : Yes.
Output File?: No.
Automatic Line Directive Macro?: No.
Call list   :
Macro body  :

--Start of List of Body Parts--
This macro has 1 body part.
Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows:

---- Start of Expression ----

--- Start Special Function ---
---- End Special Function ----

----- End of Expression -----

---End of List of Body Parts---

-------------------- End of Macro Dump ---------------------



------------------- Start of Macro Dump --------------------
Macro Name  : "#timestamp"
Defined?    : Yes.
Parameters  : 0
Additive?   : No.
Zero Calls? : Yes.
Many Calls? : Yes.
Output File?: No.
Automatic Line Directive Macro?: No.
Call list   :
Macro body  :

--Start of List of Body Parts--
This macro has 1 body part.
Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows:

---- Start of Expression ----

--- Start Special Function ---
---- End Special Function ----

----- End of Expression -----

---End of List of Body Parts---

-------------------- End of Macro Dump ---------------------



------------------- Start of Macro Dump --------------------
Macro Name  : "12345678901234567890123456789012345678901234567890123456789012345678901234567890"
Defined?    : Yes.
Parameters  : 0
Additive?   : No.
Zero Calls? : No.
Many Calls? : No.
Output File?: No.
Automatic Line Directive Macro?: No.
Call list   :
Macro body  :

--Start of List of Body Parts--
This macro has 1 body part.
Body part 1: Seqnum=4, Pos(L,C)=(20,3), Expression follows:

---- Start of Expression ----
----- End of Expression -----

---End of List of Body Parts---

-------------------- End of Macro Dump ---------------------



------------------- Start of Macro Dump --------------------
Macro Name  : "A@"
Defined?    : Yes.
Parameters  : 0
Additive?   : No.
Zero Calls? : No.
Many Calls? : No.
Output File?: No.
Automatic Line Directive Macro?: No.
Call list   :
Macro body  :

--Start of List of Body Parts--
This macro has 1 body part.
Body part 1: Seqnum=8, Pos(L,C)=(31,3), Expression follows:

---- Start of Expression ----
----- End of Expression -----

---End of List of Body Parts---

-------------------- End of Macro Dump ---------------------



------------------- Start of Macro Dump --------------------
Macro Name  : "ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`"
Defined?    : Yes.
Parameters  : 0
Additive?   : No.
Zero Calls? : No.
Many Calls? : No.
Output File?: No.
Automatic Line Directive Macro?: No.
Call list   :
Macro body  :

--Start of List of Body Parts--
This macro has 1 body part.
Body part 1: Seqnum=6, Pos(L,C)=(26,3), Expression follows:

---- Start of Expression ----
----- End of Expression -----

---End of List of Body Parts---

-------------------- End of Macro Dump ---------------------



------------------- Start of Macro Dump --------------------
Macro Name  : "Ordinary"
Defined?    : Yes.
Parameters  : 0
Additive?   : No.
Zero Calls? : No.
Many Calls? : No.
Output File?: No.
Automatic Line Directive Macro?: No.
Call list   :
Macro body  :

--Start of List of Body Parts--
This macro has 1 body part.
Body part 1: Seqnum=1, Pos(L,C)=(4,3), Expression follows:

---- Start of Expression ----

----- Start Text Element -----
Text scrap[Grey]="The text of ordinary"
------ End Text Element ------

----- End of Expression -----

---End of List of Body Parts---

-------------------- End of Macro Dump ---------------------



------------------- Start of Macro Dump --------------------
Macro Name  : "abcdefghijklmnopqrstuvwxyz{|}~"
Defined?    : Yes.
Parameters  : 0
Additive?   : No.
Zero Calls? : No.
Many Calls? : No.
Output File?: No.
Automatic Line Directive Macro?: No.
Call list   :
Macro body  :

--Start of List of Body Parts--
This macro has 1 body part.
Body part 1: Seqnum=7, Pos(L,C)=(27,3), Expression follows:

---- Start of Expression ----
----- End of Expression -----

---End of List of Body Parts---

-------------------- End of Macro Dump ---------------------



------------------- Start of Macro Dump --------------------
Macro Name  : "|"
Defined?    : Yes.
Parameters  : 0
Additive?   : No.
Zero Calls? : No.
Many Calls? : No.
Output File?: No.
Automatic Line Directive Macro?: No.
Call list   :
Macro body  :

--Start of List of Body Parts--
This macro has 1 body part.
Body part 1: Seqnum=2, Pos(L,C)=(7,3), Expression follows:

---- Start of Expression ----

----- Start Text Element -----
Text scrap[Grey]="The text of ordinary"
------ End Text Element ------

----- End of Expression -----

---End of List of Body Parts---

-------------------- End of Macro Dump ---------------------



=========================== End of MACRO TABLE DUMP ============================


========================= Start of DOCUMENT LIST DUMP ==========================


TEXT COMPONENT: Pos(L,C)=(1,1). 

-- Start of Text Scrap List --
Text scrap[Grey]="PR04: Test the definition of ordinary macros.&lt;010&gt;
&lt;010&gt;
1. Test an ordinary macro definition.&lt;010&gt;
"
--- End of Text Scrap List ---


MACRO DEFINITION COMPONENT: Pos(L,C)=(4,1). 
Part 1 of macro @&lt;Ordinary@&gt;.

TEXT COMPONENT: Pos(L,C)=(4,39). 

-- Start of Text Scrap List --
Text scrap[Grey]="&lt;010&gt;
&lt;010&gt;
2. Test an ordinary definition using a quickname.&lt;010&gt;
"
--- End of Text Scrap List ---


MACRO DEFINITION COMPONENT: Pos(L,C)=(7,1). 
Part 1 of macro @&lt;|@&gt;.

TEXT COMPONENT: Pos(L,C)=(7,30). 

-- Start of Text Scrap List --
Text scrap[Grey]="&lt;010&gt;
&lt;010&gt;
3. Test a name that includes EOL.&lt;010&gt;
"
--- End of Text Scrap List ---


TYPESETTER DIRECTIVE COMPONENT: 
   Section "1", Section name="Error Recovery Point".

TEXT COMPONENT: Pos(L,C)=(12,27). 

-- Start of Text Scrap List --
Text scrap[Grey]="&lt;010&gt;
&lt;010&gt;
4. Test the minimum length name (the empty name).&lt;010&gt;
"
--- End of Text Scrap List ---


MACRO DEFINITION COMPONENT: Pos(L,C)=(15,1). 
Part 1 of macro @&lt;@&gt;.

TEXT COMPONENT: Pos(L,C)=(15,60). 

-- Start of Text Scrap List --
Text scrap[Grey]="&lt;010&gt;
&lt;010&gt;
5. Test a name at the maximum name length limit (80).&lt;010&gt;
ONly the second of the two macros should generate an error.&lt;010&gt;
"
--- End of Text Scrap List ---


MACRO DEFINITION COMPONENT: Pos(L,C)=(20,1). 
Part 1 of macro @&lt;12345678901234567890123456789012345678901234567890123456789012345678901234567890@&gt;.

TEXT COMPONENT: Pos(L,C)=(20,91). 

-- Start of Text Scrap List --
Text scrap[White]="&lt;010&gt;
"
--- End of Text Scrap List ---


TYPESETTER DIRECTIVE COMPONENT: 
   Section "2", Section name="Error Recovery Point".

TEXT COMPONENT: Pos(L,C)=(22,27). 

-- Start of Text Scrap List --
Text scrap[Grey]="&lt;010&gt;
&lt;010&gt;
6. Test names with all legal characters. There should be no errors.&lt;010&gt;
"
--- End of Text Scrap List ---


MACRO DEFINITION COMPONENT: Pos(L,C)=(25,1). 
Part 1 of macro @&lt; !"#$%'()*+,-./0123456789:;&lt;=&gt;?@&gt;.

TEXT COMPONENT: Pos(L,C)=(25,42). 

-- Start of Text Scrap List --
Text scrap[White]="&lt;010&gt;
"
--- End of Text Scrap List ---


MACRO DEFINITION COMPONENT: Pos(L,C)=(26,1). 
Part 1 of macro @&lt;ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`@&gt;.

TEXT COMPONENT: Pos(L,C)=(26,43). 

-- Start of Text Scrap List --
Text scrap[White]="&lt;010&gt;
"
--- End of Text Scrap List ---


MACRO DEFINITION COMPONENT: Pos(L,C)=(27,1). 
Part 1 of macro @&lt;abcdefghijklmnopqrstuvwxyz{|}~@&gt;.

TEXT COMPONENT: Pos(L,C)=(27,41). 

-- Start of Text Scrap List --
Text scrap[Grey]="&lt;010&gt;
&lt;010&gt;
7. Test a name that has inserted text sequences.&lt;010&gt;
&lt;010&gt;
"
--- End of Text Scrap List ---


MACRO DEFINITION COMPONENT: Pos(L,C)=(31,1). 
Part 1 of macro @&lt;A@@&gt;.

TEXT COMPONENT: Pos(L,C)=(31,23). 

-- Start of Text Scrap List --
Text scrap[White]="&lt;010&gt;
&lt;010&gt;
&lt;010&gt;
"
--- End of Text Scrap List ---


========================== End of DOCUMENT LIST DUMP ===========================


Global Local| Input File
------------+-------------------------------------------------------------------
     1     1| PR04: Test the definition of ordinary macros.
     2     2| 
     3     3| 1. Test an ordinary macro definition.
     4     4| @$@&lt;Ordinary@&gt;@{The text of ordinary@}
     5     5| 
     6     6| 2. Test an ordinary definition using a quickname.
     7     7| @$@#|@{The text of ordinary@}
     8     8| 
     9     9| 3. Test a name that includes EOL.
    10    10| @$@&lt;This name is illegal because
       Error|.....^Names cannot cross lines.
            |.....^Skipping after error to the next major construct...
    11    11| it crosses a lion@&gt;@{And people who cross lions tend to get eaten.@}
    12    12| @A@&lt;Error Recovery Point@&gt;
            |.^...skipped to here after the error.
    13    13| 
    14    14| 4. Test the minimum length name (the empty name).
    15    15| @$@&lt;@&gt;@{The empty macro name is quite legal in FunnelWeb.@}
    16    16| 
    17    17| 5. Test a name at the maximum name length limit (80).
    18    18| ONly the second of the two macros should generate an error.
    19    19| @p maximum_input_line_length = 100
    20    20| @$@&lt;12345678901234567890123456789012345678901234567890123456789012345678901234567890@&gt;@{@}
    21    21| @$@&lt;123456789012345678901234567890123456789012345678901234567890123456789012345678901@&gt;@{@}
       Error|.....^Name is too long.
            |.....^The maximum length of a legal name is 80 characters.
            |.....^Skipping after error to the next major construct...
    22    22| @A@&lt;Error Recovery Point@&gt;
            |.^...skipped to here after the error.
    23    23| 
    24    24| 6. Test names with all legal characters. There should be no errors.
    25    25| @$@&lt; !"#$%'()*+,-./0123456789:;&lt;=&gt;?@&gt;@{@}
    26    26| @$@&lt;ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`@&gt;@{@}
    27    27| @$@&lt;abcdefghijklmnopqrstuvwxyz{|}~@&gt;@{@}
    28    28| 
    29    29| 7. Test a name that has inserted text sequences.
    30    30| 
    31    31| @$@&lt;@^D(065)@@@&gt;==@{@}
    32    32| 
    33    33| 
            | &lt;End-Of-File&gt;
------------+-------------------------------------------------------------------

There were 2 Errors.
</pre></body></html>