Hi Peggy

This should fix it:
http://code.google.com/p/asciidoc/source/detail?r=512b0db32f2fac1a6abdb78321501df9e13f548f


Cheers, Stuart

BTW, you're much more likely to get a response to AsciiDoc questions if you post directly to the AsciiDoc discussion list, my inbox is deep an murky and has a low AsciiDoc priority.



On 26/01/11 22:33, Peggy Russell wrote:
Hi Stuart,

This works with your latest fix.
++++++++++++++++++++++++++++++++
= Test
:quotes.^:
:quotes.~:

1test /^$/^ test

2~test~ test
++++++++++++++++++++++++++++++++

BUT, the following causes an error. The trace follows.
++++++++++++++++++++++++++++++++++++++++++++++++++++++
= Test

:quotes.^:
:quotes.~:

1test /^$/^ test

2~test~ test
++++++++++++++++++++++++++++++++++++++++++++++++++++++

asciidoc: FAILED: test: line 6: unexpected error:
asciidoc: ------------------------------------------------------------
Traceback (most recent call last):
   File "./asciidoc.py", line 5437, in asciidoc
     document.translate(has_header) # Generate the output.
   File "./asciidoc.py", line 1499, in translate
     Section.translate_body()
   File "./asciidoc.py", line 2144, in translate_body
     next.translate()
   File "./asciidoc.py", line 2524, in translate
     body = Lex.subs(body,presubs)
   File "./asciidoc.py", line 1256, in subs
     para = Lex.subs_1(para,(o,))
   File "./asciidoc.py", line 1222, in subs_1
     result = subs_quotes(result)
   File "./asciidoc.py", line 483, in subs_quotes
     if tag[0] == '#':
IndexError: string index out of range
asciidoc: ------------------------------------------------------------

This only happens when a blank line precedes the :quotes: configuration
entries. I tried a couple other configuration entries and user attribute
entries and all seemed okay. It seems specific to :quotes:.

Thank you.
Peggy

Hi Peggy

I think I've fixed the problem, please test and report back:
http://code.google.com/p/asciidoc/source/detail?r=46174034f513e9a37d75192eef3a88b769e748e8

It is quite subtle, the problem is the loop at line 4523:

      for q in self.quotes.keys():
            :
        del self.quotes[q]

The del changes the keys during loop execution, the result is that the
dictionary item immediately following the del will not be processed. The fix is
to make a copy of the keys at the start of the loop:

      for q in self.quotes.keys()[:]:

I've cc'd this to the AsciiDoc discussion group.


Cheers, Stuart



On 25/01/11 06:49, Peggy Russell wrote:
Hi Stuart:

Welcome back.

Bottom line: Specifying both (FAQ 46) or having a blank line after the
heading but before the options causes the problem shown below

This works in 8.6.2 and lower, but breaks in 8.6.3.
++++++++++++++++++++
= Test

:quotes.^:
:quotes.~:

1test /^$/^ test

2~test~ test
++++++++++++++++++++

[Python 2.6.2]

Thank you.
Peg

Hi Peg

On 14/12/10 13:51, Peggy Russell wrote:
Hi Stuart:

I added ":quotes.^:" after the level 0 header and before a level 1 in my 
document (asciidoc FAQ. 46) and got the error below.

It happens with asciidoc-8.6.3, but not asciidoc-8.6.2, asciidoc-8.6.1, 
asciidoc-8.6.0.

Error:
++++++++++++++++++++++++++++++++++++++++++
asciidoc: FAILED: sed-1liners-explained: line 10: unexpected error:
asciidoc: ------------------------------------------------------------
Traceback (most recent call last):
     File "asciidoc.py", line 5437, in asciidoc
       document.translate(has_header) # Generate the output.
     File "asciidoc.py", line 1512, in translate
       Section.translate()
     File "asciidoc.py", line 2105, in translate
       Title.translate()
     File "asciidoc.py", line 1871, in translate
       Title.attributes['title'] = Title.dosubs(Title.attributes['title'])
     File "asciidoc.py", line 1879, in dosubs
       title = Lex.subs((title,), Title.subs)
     File "asciidoc.py", line 1256, in subs
       para = Lex.subs_1(para,(o,))
     File "asciidoc.py", line 1222, in subs_1
       result = subs_quotes(result)
     File "asciidoc.py", line 483, in subs_quotes
       if tag[0] == '#':
IndexError: string index out of range
++++++++++++++++++++++++++++++++++++++++++

I can't replicate the problem, please post a short example. This worked:

= Test
:quotes.^:


== Section 1
^Lorum^ ipsum...


Cheers, Stuart



asciidoc FAQ #46:
     
http://www.methods.co.nz/asciidoc/faq.html#_how_can_i_selectively_disable_a_quoted_text_substitution

Thank you.
Peg






--
You received this message because you are subscribed to the Google Groups 
"asciidoc" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/asciidoc?hl=en.

Reply via email to