Error in character class syntax in jw

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Error in character class syntax in jw

Martin Rapavý
Hello,
it seems that there is an error in "jw", when executing (for example):
docbook2html EXAMPLE.sgml
the following error appears:
grep: character class syntax is [[:space:]], not [:space:]
grep: character class syntax is [[:space:]], not [:space:]
jw: There is no frontend called "/docbook/utils-0.6.14/frontends/docbook".
and the command fails, as grep produces nothing that sed could consume
in a satisfactory way.

I suggest that the character class syntax be changed in bin/jw.in,
perhaps like this:

diff --recursive --show-c-function '--unified=3' original/bin/jw.in
fixed/bin/jw.in
--- original/bin/jw.in 2003-04-30 18:21:49.000000000 +0200
+++ fixed/bin/jw.in 2003-04-30 18:21:49.000000000 +0200
@@ -80,9 +80,9 @@ SGML_BASE_DIR="@prefix@/share/sgml"
 SGML_CATALOGS_DIR="/etc/sgml"
 if [ -f "$SGML_CONF" ]
 then
-  RE='^[:space:]*SGML_BASE_DIR[:space:]*=[:space:]*'
+  RE='^[[:space:]]*SGML_BASE_DIR[[:space:]]*=[[:space:]]*'
   SGML_BASE_DIR=`grep $RE $SGML_CONF | sed "s/$RE//"`
-  RE='^[:space:]*SGML_CATALOGS_DIR[:space:]*=[:space:]*'
+  RE='^[[:space:]]*SGML_CATALOGS_DIR[[:space:]]*=[[:space:]]*'
   SGML_CATALOGS_DIR=`grep $RE $SGML_CONF | sed "s/$RE//"`
 fi

I hope you can make something out of my description...
What do you think of the idea? Do you also happen to get the same error?

Cheers,
Martin Rapavý