Re: asciidoc 7--8 compatibility (was Re: pull-fetch-param.txt)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Stefan

Stefan Richter wrote:
Stuart Rackham wrote:
From the AsciiDoc User Guide
(http://www.methods.co.nz/asciidoc/userguide.html#X53):

If you want to disable unconstrained quotes, the new alternative
constrained quotes syntax and the new index entry syntax then you can
define the attribute asciidoc7compatible (for example by using the -a
asciidoc7compatible command-line option).

Stuart,

the actual issues were:

1.) Input which works with asciidoc 7 fails to build with asciidoc 8
(after the intermediary XML step). This pair of tildes broke (but other
occurences of tilde did not):

| * A suffix '~<n>' to a revision parameter means the commit
|   object that is the <n>th generation grand-parent of the named
|   commit object, following only the first parent.  I.e. rev~3 is

I've conditionally redefined subscript (tilde) and superscripting so they use the old replacements mechanism when asciidoc7compatible is defined rather than the asciidoc 8 default unconstrained quoting (patch for affected files attached).



2.) Asciidoc 8 silently swallows characters from input which works with
asciidoc 7. The two pluses in the following line vanished (but instances
of single pluses per input line did not vanish):

| 	`+?<src>:<dst>`; that is, an optional plus `+`, followed

Fixed by asciidoc7compatible.



I wonder:

 - Are tilde and plus new special characters in asciidoc 8, or were they
already special characters in asciidoc 7?
       [ A pair of single pluses encloses monospaced text in asciidoc 8.
         A pair of single tildes encloses subscripts. ]

 - If they were already special characters in asciidoc 7, what is the
canonical way to escape them in asciidoc 7, 8, and hopefully 9?
       [ If they weren't special characters in asciidoc 7, then we need
         to use the asciidoc7compatible attribute. ]

 - Does asciidoc 7 accept the asciidoc7compatible attribute?

No.



Thanks.


PS:

Junio, Stuart, here is another inconsistency between asciidoc 7 and 8.
Please have a look at
http://www.kernel.org/pub/software/scm/git/docs/git-rev-parse.html .
See the ASCII art above "SPECIFYING RANGES". The input
       \  |  / \
        \ | /   |
produced
   \  |  /         \ | /   |
I.e. backslash-newline was interpreted by asciidoc 7 (or whatever you
use to generate what is put online) as an escaped thus swallowed
newline. But the output that I got here from asciidoc 8 (manpage as well
as the html file) still has backslash and newline printed out.


Cheers, Stuart
Index: asciidoc.conf
===================================================================
--- asciidoc.conf	(revision 53)
+++ asciidoc.conf	(working copy)
@@ -62,9 +62,9 @@
 __=#emphasis
 ++=#monospaced
 \##=#unquoted
-endif::asciidoc7compatible[]
 ^=#superscript
 ~=#subscript
+endif::asciidoc7compatible[]
 
 [specialwords]
 emphasizedwords=
Index: xhtml11.conf
===================================================================
--- xhtml11.conf	(revision 53)
+++ xhtml11.conf	(working copy)
@@ -22,6 +22,12 @@
 \$=\$
 `=\`
 endif::asciimath[]
+ifdef::asciidoc7compatible[]
+# Superscripts.
+\^(.+?)\^=<sup>\1</sup>
+# Subscripts.
+~(.+?)~=<sub>\1</sub>
+endif::asciidoc7compatible[]
 
 [ruler-blockmacro]
 <hr />
Index: docbook.conf
===================================================================
--- docbook.conf	(revision 53)
+++ docbook.conf	(working copy)
@@ -18,6 +18,12 @@
 [replacements]
 # Line break markup is dropped (there is no DocBook line break tag).
 (?m)^(.*)\s\+$=\1
+ifdef::asciidoc7compatible[]
+# Superscripts.
+\^(.+?)\^=<superscript>\1</superscript>
+# Subscripts.
+~(.+?)~=<subscript>\1</subscript>
+endif::asciidoc7compatible[]
 
 [ruler-blockmacro]
 # Only applies to HTML so don't output anything.
Index: html4.conf
===================================================================
--- html4.conf	(revision 53)
+++ html4.conf	(working copy)
@@ -18,6 +18,12 @@
 [replacements]
 # Line break.
 (?m)^(.*)\s\+$=\1<br />
+ifdef::asciidoc7compatible[]
+# Superscripts.
+\^(.+?)\^=<sup>\1</sup>
+# Subscripts.
+~(.+?)~=<sub>\1</sub>
+endif::asciidoc7compatible[]
 
 [ruler-blockmacro]
 <hr />

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]