Thanks Dmitry,

This bug is closed in the latest Debian version of dict: 1.9.15-1

For the record, the patch is:
------------------------------ 8< ------------------------------
--- dictl.in.orig       2004-02-07 07:34:32.000000000 -0500
+++ dictl.in    2005-01-13 14:03:09.000000000 -0500
@@ -93,8 +93,10 @@
            DICTL_PAGER=$2
            shift;;
        *)
-           p=`echo "$1" | charset2charset $DICTL_CHARSET $DICTL_SERVER_CHARSET`
-           params="$params '$p'"
+           p=`echo "$1" | \
+              charset2charset $DICTL_CHARSET $DICTL_SERVER_CHARSET | \
+              sed -e 's/\\([\$\`\"\\]\\)/\\\\\\1/g'`
+           params="$params \"$p\""
 
            # ...to be comatible with dict
            if echo $1 |
------------------------------ >8 ------------------------------

So, before the eval, the string from konwert is passed through sed to
backslash all characters whose literal value is not preserved by
double quotes: $ ` " \

Note that sed sees:  s/\([$`"\]\)/\\\1/g

The argument in the string to be passed to eval is then double quoted.

Kirk


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to