From dcb70c25df2e075fd8800164946b741831ef7f21 Mon Sep 17 00:00:00 2001 From: Kevin Day Date: Thu, 9 Jan 2025 23:30:01 -0600 Subject: [PATCH] Bugfix: Specification files need proper escaping for example code. The IKI/EKI need to be properly escaped inside the example so that when the specification file itself is processed, the examples do not get substituted. The examples that have what would be valid FSS Basic Lists also need to be escaped for the same reason. --- specifications/eki.txt | 20 ++++++++++---------- specifications/fss-000b.txt | 8 ++++---- specifications/fss-000c.txt | 6 +++--- specifications/fss-000d.txt | 6 +++--- specifications/iki.txt | 18 +++++++++--------- 5 files changed, 29 insertions(+), 29 deletions(-) diff --git a/specifications/eki.txt b/specifications/eki.txt index 2d91d01..44f4380 100644 --- a/specifications/eki.txt +++ b/specifications/eki.txt @@ -47,25 +47,25 @@ EKI Specifications: Example\: code:`# fss-000c eki-0000 - This is my sentence, anything can go here but sometimes I want to italic:"emphasize some text". + This is my sentence, anything can go here but sometimes I want to italic\:"emphasize some text". - Other times I want to render a URL with bold such as this example URL: bold:url:'http://www.example.com/url with space/'. + Other times I want to render a URL with bold such as this example URL: bold:url:\'http://www.example.com/url with space/'. - There are no comments, except for maybe the FSS:"Featureless Settings Specification" header (which would not resolve to any EKI syntax anyway). + There are no comments, except for maybe the FSS\:"Featureless Settings Specification" header (which would not resolve to any EKI syntax anyway). - Quotes may be included, such as: code:"const char *string = \"My \\\"quoted\\\" C string.\";". + Quotes may be included, such as: code\:"const char *string = \"My \\\"quoted\\\" C string.\";". - The following bold:italic\:"is escaped to not be treated as EKI data". + The following bold:italic\\:"is escaped to not be treated as EKI data". - The conditionally optional open and close brackets allow for putting a variable directly next to another word character like: [context]:"bold"this[context]:"bold". + The conditionally optional open and close brackets allow for putting a variable directly next to another word character like: [context]\:"bold"this[context]\:"bold". - Multiple Objects within a bracket is also valid, like: before[bold:context]:"important"after. + Multiple Objects within a bracket is also valid, like: before[bold:context]\:"important"after. - These are examples of escapes: one:"\" escape", two:"\\" escape", three:"\\\" escape", six:"\\\\\\" escape". + These are examples of escapes: one\:"\" escape", two\:"\\" escape", three\:"\\\" escape", six\:"\\\\\\" escape". - These are examples of non-escapes: one:"\' escape", two:"\\' escape", three:"\\\' escape", six:"\\\\\\' escape". + These are examples of non-escapes: one\:"\' escape", two\:"\\' escape", three\:"\\\' escape", six\:"\\\\\\' escape". - These slashes \ \\ \\\ are not escaped because there is now quote immediately after it.` + These slashes \ \\ \\\ are not escaped because there is now quote immediately after each of them.` Objects (also called vocabulary or variable name) would be\: 1.1) italic diff --git a/specifications/fss-000b.txt b/specifications/fss-000b.txt index 792524e..ec35bf1 100644 --- a/specifications/fss-000b.txt +++ b/specifications/fss-000b.txt @@ -27,8 +27,8 @@ Featureless Settings Specification: 000B - Simple List: Second { Nested Example. - Third: - Fourth: + Third\: + Fourth\: There is parallel to Second rather than nested within Second. } @@ -47,8 +47,8 @@ Featureless Settings Specification: 000B - Simple List: 2.1.1) Nested Example. - Third: - Fourth: + Third\: + Fourth\: There is parallel to Second rather than nested within Second. Inner Contents (depth 1) would be\: diff --git a/specifications/fss-000c.txt b/specifications/fss-000c.txt index 0c84e1e..6798727 100644 --- a/specifications/fss-000c.txt +++ b/specifications/fss-000c.txt @@ -26,17 +26,17 @@ Featureless Settings Specification: 000C - IKI Text: Example\: \# fss-000c iki-0000 - This is a italic:"formal example" utilizing the FSS and IKI headers. + This is a italic\:"formal example" utilizing the FSS and IKI headers. Example\: \# iki-0000 - This is a italic:"informal example" utilizing only the IKI headers. + This is a italic\:"informal example" utilizing only the IKI headers. Example\: \# fss-000c eki-0000 - This is a bold:italic:"informal example" utilizing the FSS and EKI headers. + This is a bold:italic\:"informal example" utilizing the FSS and EKI headers. Example\: \# fss-000c diff --git a/specifications/fss-000d.txt b/specifications/fss-000d.txt index 293ee94..92c3426 100644 --- a/specifications/fss-000d.txt +++ b/specifications/fss-000d.txt @@ -32,10 +32,10 @@ Featureless Settings Specification: 000D - Basic Rule: Example\: \# fss-000d - main: + main\: name "Boot Devices" - script: + script\: start { ip addr add 127.0.0.1/8 label lo dev lo; ip link set lo up; @@ -45,7 +45,7 @@ Featureless Settings Specification: 000D - Basic Rule: ip link set lo down; } - command: + command\: start mount -a -O no_netdev stop umount -arf -O no_netdev diff --git a/specifications/iki.txt b/specifications/iki.txt index e1877c3..851e3d5 100644 --- a/specifications/iki.txt +++ b/specifications/iki.txt @@ -74,23 +74,23 @@ IKI Specifications: Example\: code:`# fss-000c iki-0000 - This is my sentence, anything can go here but sometimes I want to italic:"emphasize some text". + This is my sentence, anything can go here but sometimes I want to italic\:"emphasize some text". - Other times I want to render a URL such as this example URL: url:'http://www.example.com/url with space/'. + Other times I want to render a URL such as this example URL: url\:'http://www.example.com/url with space/'. - There are no comments, except for maybe the FSS:"Featureless Settings Specification" header (which would not resolve to any IKI syntax anyway). + There are no comments, except for maybe the FSS\:"Featureless Settings Specification" header (which would not resolve to any IKI syntax anyway). - Quotes may be included, such as: code:"const char *string = \"My \\\"quoted\\\" C string.\";". + Quotes may be included, such as: code\:"const char *string = \"My \\\"quoted\\\" C string.\";". - The following italic\:"is escaped to not be treated as IKI Variable". + The following italic\\:"is escaped to not be treated as IKI Variable". - The conditionally optional open and close brackets allow for putting a variable directly next to another word character like: [context]:"bold"this[context]:"bold". + The conditionally optional open and close brackets allow for putting a variable directly next to another word character like: [context]\:"bold"this[context]\:"bold". - These are examples of escapes: one:"\" escape", two:"\\" escape", three:"\\\" escape", six:"\\\\\\" escape". + These are examples of escapes: one\:"\" escape", two\:"\\" escape", three\:"\\\" escape", six\:"\\\\\\" escape". - These are examples of non-escapes: one:"\' escape", two:"\\' escape", three:"\\\' escape", six:"\\\\\\' escape". + These are examples of non-escapes: one\:"\' escape", two\:"\\' escape", three\:"\\\' escape", six\:"\\\\\\' escape". - These slashes \ \\ \\\ are not escaped because there is now quote immediately after it.` + These slashes \ \\ \\\ are not escaped because there is now quote immediately after each of them.` Objects (also called vocabulary or variable name) would be\: 1.1) italic -- 1.8.3.1