summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcela Mašláňová <mmaslano@fedoraproject.org>2008-01-24 15:33:10 +0000
committerMarcela Mašláňová <mmaslano@fedoraproject.org>2008-01-24 15:33:10 +0000
commitce8b802af9f4ec40cc7d9d58a9a4fd636acf9028 (patch)
treeddea0b18d1e331bf2079c056990b0cdaffac08f3
parent88c2d0a7f68faea75faf962fcc906ea2059f5926 (diff)
downloadgroff-ce8b802af9f4ec40cc7d9d58a9a4fd636acf9028.tar.gz
groff-ce8b802af9f4ec40cc7d9d58a9a4fd636acf9028.tar.xz
groff-ce8b802af9f4ec40cc7d9d58a9a4fd636acf9028.zip
Nroff is now fixed for working with or without -T option.
-rw-r--r--nroff64
-rw-r--r--nroff.patch97
2 files changed, 35 insertions, 126 deletions
diff --git a/nroff b/nroff
index c65653e..8cb508f 100644
--- a/nroff
+++ b/nroff
@@ -4,6 +4,7 @@
prog="$0"
charset_in=iso-8859-1
charset_out=`locale charmap 2>/dev/null`
+# we prefer utf8
opts="-mtty-char -Tutf8"
for i
@@ -18,9 +19,10 @@ do
exit 1 ;;
-[iptSUC] | -[mrno]*)
opts="$opts $1" ;;
- -Tascii | -Tlatin1 | -Tutf8 | -Tcp1047 | -Tascii8 | -Tnippon | -Tkorean)
- T=$1 ;
- opts="-mtty-char $T";;
+ # someone wants specified -T, let's change opts from utf8
+ -Tascii | -Tlatin1 | -Tutf8 | -Tcp1047 | -Tascii8 | -Tnippon | -Tkorean)
+ T=$1 ;
+ opts="-mtty-char $T";;
-[eq] | -s* | -u* | -T*)
# ignore other devices
;;
@@ -55,44 +57,48 @@ else
TMPFILE=buf
fi
-if [ $TMPFILE = buf ]; then
- echo -n "$buf" | iconv -f utf-8 -t utf-8 &>/dev/null && charset_in=utf-8
+# if -T was set -> just run groff and quit nroff
+if [ -n "$T" ]; then
+ /usr/bin/groff -mtty-char $opts ${TMPFILE} 2>/dev/null
else
- iconv -f utf-8 -t utf-8 $TMPFILE &>/dev/null && charset_in=utf-8
-fi
+ if [ $TMPFILE = buf ]; then
+ echo -n "$buf" | iconv -f utf-8 -t utf-8 &>/dev/null && charset_in=utf-8
+ else
+ iconv -f utf-8 -t utf-8 $TMPFILE &>/dev/null && charset_in=utf-8
+ fi
-if [ $charset_in != utf-8 ]; then
- echo XXX
- echo XXX $"WARNING: old character encoding and/or character set"
- echo XXX
-fi
+ if [ $charset_in != utf-8 ]; then
+ echo XXX
+ echo XXX $"WARNING: old character encoding and/or character set"
+ echo XXX
+ fi
# en_US is chosen arbitrarily; any UTF-8 locale should work
-export LC_ALL=en_US.UTF-8
+ export LC_ALL=en_US.UTF-8
# This shell script is intended for use with man, so warnings are
# probably not wanted. Also load nroff-style character definitions.
-if [ $charset_in = utf-8 -a $charset_out = UTF-8 ]; then
- if [ $TMPFILE = buf ]; then
- echo -n "$buf" | /usr/bin/groff $opts 2>/dev/null
+ if [ $charset_in = utf-8 -a $charset_out = UTF-8 ]; then
+ if [ $TMPFILE = buf ]; then
+ echo -n "$buf" | /usr/bin/groff $opts 2>/dev/null
+ else
+ exec < $TMPFILE
+ rm -f $TMPFILE
+ exec /usr/bin/groff $opts 2>/dev/null
+ fi
else
- exec < $TMPFILE
- rm -f $TMPFILE
- exec /usr/bin/groff $opts 2>/dev/null
- fi
-else
- if [ $TMPFILE = buf ]; then
- echo -n "$buf" | \
- /usr/bin/iconv -f $charset_in -t utf-8 | \
+ if [ $TMPFILE = buf ]; then
+ echo -n "$buf" | \
+ /usr/bin/iconv -f $charset_in -t utf-8 | \
+ /usr/bin/groff $opts 2>/dev/null | \
+ /usr/bin/iconv -f utf-8 -t ${charset_out}//translit
+ else
+ /usr/bin/iconv -f $charset_in -t utf-8 $TMPFILE | \
/usr/bin/groff $opts 2>/dev/null | \
/usr/bin/iconv -f utf-8 -t ${charset_out}//translit
- else
- /usr/bin/iconv -f $charset_in -t utf-8 $TMPFILE | \
- /usr/bin/groff $opts 2>/dev/null | \
- /usr/bin/iconv -f utf-8 -t ${charset_out}//translit
rm -f $TMPFILE
+ fi
fi
fi
-
# eof
diff --git a/nroff.patch b/nroff.patch
deleted file mode 100644
index 8b36ead..0000000
--- a/nroff.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-diff -up ./nroff.old ./nroff
---- ./nroff.old 2007-08-16 16:11:35.000000000 +0200
-+++ ./nroff 2008-01-23 14:22:19.000000000 +0100
-@@ -6,51 +6,6 @@ charset_in=iso-8859-1
- charset_out=`locale charmap 2>/dev/null`
- opts="-mtty-char -Tutf8"
-
--# Default device.
--# First try the "locale charmap" command, because it's most reliable.
--# On systems where it doesn't exist, look at the environment variables.
--case "`locale charmap 2>/dev/null`" in
-- UTF-8)
-- T=-Tutf8 ;;
-- ISO-8859-1)
-- T=-Tlatin1 ;;
-- IBM-1047)
-- T=-Tcp1047 ;;
-- EUC-JP)
-- T=-Tnippon ;;
-- EUC-KR)
-- T=-Tkorean ;;
-- *)
-- case "${LC_ALL-${LC_CTYPE-${LANG}}}" in
-- *.UTF-8)
-- T=-Tutf8 ;;
-- iso_8859_1 | *.ISO-8859-1)
-- T=-Tlatin1 ;;
-- *.IBM-1047)
-- T=-Tcp1047 ;;
-- ja_JP.ujis | ja_JP.eucJP)
-- T=-Tnippon ;;
-- ko_KR.eucKR)
-- T=-Tkorean ;;
-- *)
-- case "$LESSCHARSET" in
-- utf-8)
-- T=-Tutf8 ;;
-- latin1)
-- T=-Tlatin1 ;;
-- cp1047)
-- T=-Tcp1047 ;;
-- japanese)
-- T=-Tnippon ;;
-- ko)
-- T=-Tkorean ;;
-- *)
-- T=-Tascii8 ;;
-- esac ;;
-- esac ;;
--esac
--
--
- for i
- do
- case $1 in
-@@ -58,19 +13,16 @@ do
- opts="$opts -P-c" ;;
- -h)
- opts="$opts -P-h" ;;
-- -[eq] | -s*)
-- # ignore these options
-- ;;
- -[mrnoT])
- echo $"option $1 requires an argument" >&2
- exit 1 ;;
- -[iptSUC] | -[mrno]*)
- opts="$opts $1" ;;
-- -Tascii | -Tlatin1 | -Tutf8 | -Tcp1047 | -Tascii8 | -Tnippon | -Tkorean)
-- opts=
-- T=$1 ;;
-- -T*)
-- # ignore other devices
-+ -Tascii | -Tlatin1 | -Tutf8 | -Tcp1047 | -Tascii8 | -Tnippon | -Tkorean)
-+ T=$1 ;
-+ opts="-mtty-char $T";;
-+ -[eq] | -s* | -u* | -T*)
-+ # ignore other devices
- ;;
- -v | --version)
- echo $"GNU nroff (groff) with Red Hat i18n/l10n support"
-@@ -120,7 +72,6 @@ export LC_ALL=en_US.UTF-8
-
- # This shell script is intended for use with man, so warnings are
- # probably not wanted. Also load nroff-style character definitions.
--
- if [ $charset_in = utf-8 -a $charset_out = UTF-8 ]; then
- if [ $TMPFILE = buf ]; then
- echo -n "$buf" | /usr/bin/groff $opts 2>/dev/null
-@@ -140,7 +91,7 @@ else
- /usr/bin/groff $opts 2>/dev/null | \
- /usr/bin/iconv -f utf-8 -t ${charset_out}//translit
-
-- rm -f $TMPFILE
-+ rm -f $TMPFILE
- fi
- fi
-