Hi Jens,

I reported some weeks ago a problem with a plus sign in a path usign
l2h 98.1.pl1

Jens> > (-> 
/home/luc/sources/c++/libmarmottes-5_6/doc/marmottes-mathematique/marmottes-mathematique/l2h8185/image445)
 
Jens> > <tex.pro><special.pro><color.pro>[438] 
Jens> > 
//home/luc/sources/c++/libmarmottes-5_6/doc/marmottes-mathematique/marmottes-mathematique/l2h8185//:
 nested *?+ in regexp at /usr/local/share/latex2html/pstoimg line 544.
Jens> > 
Jens> > Error while converting image: No such file or directory
Jens>   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jens> Do have some funny .ps or .eps files lying around near /home/luc/sources/c++?
Jens> In this case you triggered a bug of dvips that misinterpretes an input file
Jens> name containing dots and digits. It looks like this is also impacted by plus
Jens> signs. In this case you might want to upgrade dvips.

I investigated further only recently, and found this was not the
famous dot and digit bug, it is really a pstoimg bug.

---------- extract from pstoimg (lines 542 to 549) ----------
# LaTeX2HTML may supply a directory: .../tmp/<pid>/
if ($TMP =~ /$dd\w*\d+$dd$/) {
    $BASE =~ s/$TMP//;
    $DESTDIR = &getcwd;
    $DESTDIR .= $dd;
    print STDERR "\ncurrent directory is $DESTDIR ...\n" if $DEBUG;
    print STDERR "\ntemp directory is $TMP ...\n" if $DEBUG;
} else { $BASE =~ s/^(${dd}tmp)$dd/$TMP=$1;''/e }
-------------------------------------------------------------

The problem lies in the "$BASE =~ s/$TMP//;" line. My path contains
*two* '+' signs in row, and '+' is a special character meaning 'one or
more'. Since the $TMP is in the first part of a substitute command the
specials characters are interprated, and the second signs triggers the
message "nested *?+ in regexp" from perl interpreter.

I suggest to quote the special characters within the path using "\Q"
like this :

    $BASE =~ s/\Q$TMP//;

Regards,
    Luc

-- 
------------------------------------------------------------------------------
 Luc Maisonobe - DGA/T/TI/MS/AM      |  Tel  : (33) 05-61-28-26-31
            CNES                     |  Fax  : (33) 05-61-27-35-40
     18 avenue E. Belin              |
 31401 Toulouse CEDEX 4 - FRANCE     |  Email: [EMAIL PROTECTED]
------------------------------------------------------------------------------

Reply via email to