Package: dash Version: 0.5.4-4 Severity: normal Tags: patch Shell quotes ' and ` are displayed wrong in dash.1 man page in Unicode environment. Explanation:
In the groff syntax a non-escaped Ascii apostrophe (') is always logical (English) right single quotation mark or apostrophe. In Unicode environment (e.g. UTF-8 terminal or Postscript) it is displayed as U+2019 RIGHT SINGLE QUOTATION MARK. In non-Unicode environment it is displayed as U+0027 APOSTROPHE. Similarly, in the groff syntax a non-escaped grave accent (`) is always logical (English) left single quotation mark. In Unicode environment it is displayed as U+2018 LEFT SINGLE QUOTATION MARK and in non-Unicode environment as U+0060 GRAVE ACCENT. When referreing to shell's single quote (') the groff character code \(aq should always be used. It displays correctly in all environments. Shell's command substitution mark (`) aka. "backtick" or "backquote" must be written as \(ga in groff code. Patch is attached to fix this in dash.1 man page. Patch file is meant to be added to debian/diff directory and should apply nicely to Debian dash package version 0.5.4-4. -- System Information: Debian Release: 4.0 APT prefers stable APT policy: (900, 'stable') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/dash Kernel: Linux 2.6.18-5-k7 Locale: LANG=fi_FI.UTF-8, LC_CTYPE=fi_FI.UTF-8 (charmap=UTF-8) Versions of packages dash depends on: ii libc6 2.3.6.ds1-13etch2 GNU C Library: Shared libraries dash recommends no packages. -- debconf information: * dash/sh: true
--- a/src/dash.1 2007-12-25 14:47:26.568071142 +0200 +++ b/src/dash.1 2007-12-25 14:35:42.000000000 +0200 @@ -294,12 +294,12 @@ meaning of all characters except dollarsign .Pq $ , backquote -.Pq ` , +.Pq \(ga , and backslash .Pq \e . The backslash inside double quotes is historically weird, and serves to quote only the following characters: -.Dl $ ` \*q \e \*[Lt]newline\*[Gt] . +.Dl $ \(ga \*q \e \*[Lt]newline\*[Gt] . Otherwise it remains literal. .Ss Reserved Words Reserved words are words that have special meaning to the @@ -979,7 +979,7 @@ version .Pc : .Pp -.Dl `command` +.Dl \(gacommand\(ga .Pp The shell expands the command substitution by executing command in a subshell environment and replacing the command substitution with the @@ -1430,7 +1430,7 @@ \\?) echo $USAGE; exit 1;; esac done -shift `expr $OPTIND - 1` +shift \(gaexpr $OPTIND - 1\(ga .Ed .Pp This code will accept any of the following as equivalent: @@ -2090,7 +2090,7 @@ .Pp List trapped signals and their corresponding action .Pp -.Dl trap '' INT QUIT tstp 30 +.Dl trap \(aq\(aq INT QUIT tstp 30 .Pp Ignore signals INT QUIT TSTP USR1 .Pp