On 9 May 2016 at 14:03, Vincent Belaïche <vincent.belai...@gmail.com> wrote: > Hello Gavin, >> >> Latest version at >> >> http://svn.savannah.gnu.org/viewvc/trunk/util/texi2dvi?revision=7147&root=texinfo&view=markup > > Ok, > > I have done the following modifications: > > 1) use sed instead of grep to test whether the filename has funny > characters > => this way tangling with LC_ALL is not needed, neither running under > round-bracketed subshell
I used LC_ALL so that [a-z] does the right thing (match 26 lower-case characters from a to z). Apparently this can break depending on locale settings. Are you saying that sed treats it differently? > 2) Choose the egroup character > => so you could have '>' in the filename > (*nix only, > is not a valid filename char in MSW) I don't think we can use the ${PARAMETER:OFFSET:LENGTH} feature of bash as it's a bash extension to the Bourne shell. References: https://wiki.ubuntu.com/DashAsBinSh http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html > 3) re-catcode only those funny characters that are actually in the > filename > > 4) use catcode 12 (other) rather than 11 (letter) for re-catcoding OK, makes sense because these characters aren't "letters". > 5) Make filename a separate argument (so MSYS translation stuff is not > jeopardized) I don't know what you mean by this. Do you mean using the "_run_tex_in_input" variable? > 6) support '%' in filename (that did not work in your update because it > was not part of the re-catcoded characters OK. > 7) support "'" in filename (no TeX tricks here, only sh escaping) Right, because the command is run with "eval". > 8) \string-prefix '^' in case of filename containing a quadrigram Is this necessary? The catcode of ^ is changed so sequences like ^^00 shouldn't get special treatment. It only gets transformed if ^ has catcode 7 (for superscript). > I guess that with all those changes, but except for the space that is a > deep tex engine limitation, only the Devil could find a valid filename > not working. > > Vincent. >