ok, I guess it goes on Stewarts to-do list :)

Cheers
Lex


On 1 April 2013 12:40, Henrik Bengtsson <[email protected]> wrote:

>
> On Mar 31, 2013 4:50 PM, "Lex Trotman" <[email protected]> wrote:
> >
> >
> >
> >
> > On 1 April 2013 05:06, Henrik Bengtsson <[email protected]>
> wrote:
> >>
> >> Hi Lex,
> >>
> >> thanks for the quick reply.
> >>
> >> On Sat, Mar 30, 2013 at 5:08 PM, Lex Trotman <[email protected]> wrote:
> >> > Hi Henrick,
> >> >
> >> > Thanks for the excellent analysis.
> >> >
> >> >
> >> > On 31 March 2013 06:17, Henrik Bengtsson <[email protected]>
> wrote:
> >> >>
> >> >> Hi,
> >> >>
> >> >> it appears that asciidoc v8.6.8 have problems encoding image files
> if they
> >> >> have commas in their names; probably an issue with 'sys3'.
> >> >>
> >> >> EXAMPLE:
> >> >>
> >> >> C:\tmp>echo "image:foo,bar.png[]" > test.txt
> >> >>
> >> >> C:\tmp>cat test.txt
> >> >> image:foo,foo.png[]
> >> >>
> >> >> C:\tmp>dir "foo,bar.png"
> >> >> 03/30/2013  12:01 PM  2,494 note,foo.png
> >> >>
> >> >> C:\tmp>asciidoc test.txt
> >> >> ## <img src="foo,bar.png" alt="foo,bar.png" />
> >> >>
> >> >> C:\tmp>asciidoc -a data-uri test.txt
> >> >> The system cannot find the file specified.
> >> >> asciidoc: WARNING: test.txt: line 1: {sys3:"C:\Python27\python.exe"
> -u -c
> >> >> "import base64,sys; base64.encode(sys.stdin,sys.stdout)" <
> >> >> "C:\tmp\foo,bar.png"}: non-zero exit status
> >> >>
> >> >> Using an image filename without a comma and things work just fine.
> >> >> (Before anyone suggests not to use commas in the first place; they
> are
> >> >>
> >> >>
> >> >> TROUBLESHOOTING:
> >> >> Making that system call at the command line does indeed work:
> >> >>
> >> >> C:\tmp>"C:\Python27\python.exe" -u -c "import base64,sys;
> >> >> base64.encode(sys.stdin,sys.stdout)" < "C:\tmp\foo,bar.png"
> >> >> iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABX[...]
> >> >> [...]yCoCXW14B8HLLvwDd67nwZIEPdgAAAABJRU5ErkJggg==
> >> >>
> >> >> Could it be that 'sys3' drops/does not pass the filename with quotes?
> >> >> Indeed, when unquoting the filename I get the same error message as
> above;
> >> >
> >> >
> >> > Yes, on NT type operating systems only, the quotes that do not
> surround a
> >> > space are dropped, the comment in the code is:
> >> >
> >> > # Remove redundant quoting -- this is not just
> >> > # cosmetic, unnecessary quoting appears to cause
> >> > # command line truncation.
> >> >
> >> > It would appear that "unnecessary" is not just "without spaces" but
> "without
> >> > spaces or commas"?  Are there other characters that require quoting?
>  I
> >> > can't find any exact version of such definition, do you know what it
> is?
> >>
> >> I've checked with the following 13 special characters " ,#$@[]^_`{}~"
> >> (=20 2c 23 24 40 5b 5d 5e 5f 60 7b 7d 7e).  Out of those, you need to
> >> quote pathnames that have " " (20) , "," (2c), and "^" (5e).
> >>
> >> Here's a patch:
> >>
> >> x:\_GITHUB\asciidoc>hg diff asciidoc.py
> >> diff -r 1ebcbfc71e2f asciidoc.py
> >> --- a/asciidoc.py       Sun Feb 17 10:37:43 2013 +1300
> >> +++ b/asciidoc.py       Sun Mar 31 11:04:09 2013 -0700
> >> @@ -815,7 +815,7 @@
> >>          # Remove redundant quoting -- this is not just
> >>          # cosmetic, unnecessary quoting appears to cause
> >>          # command line truncation.
> >> -        filter_cmd = re.sub(r'"([^ ]+?)"', r'\1', filter_cmd)
> >> +        filter_cmd = re.sub(r'"([^^ ,]+?)"', r'\1', filter_cmd)
> >
> >
> > So just to confirm, only the circumflex, space and comma needs quoting
> on windows?
>
> Correct.
>
> Henrik
>
> >
> > Cheers
> > Lex
> >
> >
> >
> >>
> >>      try:
> >>          p = subprocess.Popen(filter_cmd, shell=True,
> >>                  stdin=subprocess.PIPE, stdout=subprocess.PIPE)
> >> @@ -893,7 +893,7 @@
> >>                  # Remove redundant quoting -- this is not just
> >>                  # cosmetic, unnecessary quoting appears to cause
> >>                  # command line truncation.
> >> -                cmd = re.sub(r'"([^ ]+?)"', r'\1', cmd)
> >> +                cmd = re.sub(r'"([^^ ,]+?)"', r'\1', cmd)
> >>              message.verbose('shelling: %s' % cmd)
> >>              if os.system(cmd):
> >>                  message.warning('%s: non-zero exit status' % syntax)
> >>
> >> Cheers,
> >>
> >> Henrik
> >>
> >> >
> >> > Cheers
> >> > Lex
> >> >
> >> >
> >> >>
> >> >>
> >> >> C:\tmp>"C:\Python27\python.exe" -u -c "import base64,sys;
> >> >> base64.encode(sys.stdin,sys.stdout)" < C:\tmp\foo,bar.png
> >> >> The system cannot find the file specified.
> >> >>
> >> >> This may or may not be Windows only issue.
> >> >>
> >> >>
> >> >> SESSION INFO (Windows 7 64-bit Ultimate):
> >> >>
> >> >> > asciidoc --version
> >> >> asciidoc 8.6.8
> >> >>
> >> >> > "C:\Python27\python.exe" --version
> >> >> Python 2.7.4rc1
> >> >>
> >> >>
> >> >> Thanks,
> >> >>
> >> >> Henrik
> >> >>
> >> >> --
> >> >> You received this message because you are subscribed to the Google
> Groups
> >> >> "asciidoc" group.
> >> >> To unsubscribe from this group and stop receiving emails from it,
> send an
> >> >> email to [email protected].
> >> >> To post to this group, send email to [email protected].
> >> >> Visit this group at http://groups.google.com/group/asciidoc?hl=en.
> >> >> For more options, visit https://groups.google.com/groups/opt_out.
> >> >>
> >> >>
> >> >
> >> >
> >> > --
> >> > You received this message because you are subscribed to the Google
> Groups
> >> > "asciidoc" group.
> >> > To unsubscribe from this group and stop receiving emails from it,
> send an
> >> > email to [email protected].
> >> > To post to this group, send email to [email protected].
> >> > Visit this group at http://groups.google.com/group/asciidoc?hl=en.
> >> > For more options, visit https://groups.google.com/groups/opt_out.
> >> >
> >> >
> >>
> >> --
> >> You received this message because you are subscribed to the Google
> Groups "asciidoc" group.
> >> To unsubscribe from this group and stop receiving emails from it, send
> an email to [email protected].
> >> To post to this group, send email to [email protected].
> >> Visit this group at http://groups.google.com/group/asciidoc?hl=en.
> >> For more options, visit https://groups.google.com/groups/opt_out.
> >>
> >>
> >
> > --
> > You received this message because you are subscribed to the Google
> Groups "asciidoc" group.
> > To unsubscribe from this group and stop receiving emails from it, send
> an email to [email protected].
> > To post to this group, send email to [email protected].
> > Visit this group at http://groups.google.com/group/asciidoc?hl=en.
> > For more options, visit https://groups.google.com/groups/opt_out.
> >
> >
>
>  --
> You received this message because you are subscribed to the Google Groups
> "asciidoc" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/asciidoc?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

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


Reply via email to