Your message dated Wed, 30 Nov 2011 10:01:54 +0100
with message-id <[email protected]>
and subject line Re: bash: man page: pipe character ("|") erroneously replaced
/ garbled in some places
has caused the Debian Bug report #603805,
regarding bash: man page: pipe character ("|") erroneously replaced / garbled
in some places
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
603805: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=603805
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: bash
Version: 4.1-3
Severity: normal
Tags: upstream patch
Overview
--------
In the upstream manual page,
- the pipe character has been erroneously replaced with a 'CURLY
BRACKET EXTENSION' (U+23AA) in some places, and
- the replaced occurrences are not rendered correctly in most places.
In the Lenny release of bash (3.2.39(1)-release), the man page is
still okay.
Details
-------
In places where the ordinary pipe character ("|", 0x7c) is the correct
character, it has been erroneously replaced with 0xe28eaa, e. g. here:
00003A00 20 20 20 41 20 20 6C 69 73 74 20 20 69 73 20 61 A list is a
00003A10 20 73 65 71 75 65 6E 63 65 20 6F 66 20 6F 6E 65 sequence of one
00003A20 20 6F 72 20 6D 6F 72 65 20 70 69 70 65 6C 69 6E or more pipelin
00003A30 65 73 20 73 65 70 61 72 61 74 65 64 20 62 79 20 es separated by
00003A40 6F 6E 65 20 6F 66 20 74 68 65 0A 20 20 20 20 20 one of the.
00003A50 20 20 6F 70 65 72 61 74 6F 72 73 20 3B 2C 20 26 operators ;, &
00003A60 2C 20 26 26 2C 20 6F 72 20 E2 8E AA E2 8E AA 2C , &&, or ......,
^^^^^^^^^^^^^^^^^^
Although this is the wrong character here, it should at least be
rendered correctly in "uxterm", but instead, it shows dotted boxes
instead (attachment "bash-manpage.png"). Interestingly enough, there
seems to be only one place in the manpage where this Unicode character
gets correctly rendered in a uxterm as a large vertical bar:
00003340 20 20 20 20 20 5B 74 69 6D 65 20 5B 2D 70 5D 5D [time [-p]]
00003350 20 5B 20 21 20 5D 20 63 6F 6D 6D 61 6E 64 20 5B [ ! ] command [
00003360 20 5B 7C E2 8E AA 7C 26 5D 20 63 6F 6D 6D 61 6E [|...|&] comman
^^^^^^^^^
Source code:
-------- bash.1 --------
.RS
.PP
[\fBtime\fP [\fB\-p\fP]] [ ! ] \fIcommand\fP [ [\fB|\fP\(bv\fB|&\fP]
\fIcommand2\fP ... ]
.RE
.PP
------------------------
Ironically, this is also the only place where the replacement was
(maybe questionable, but) correct. I don't know if that is a bug in
the manpage roff source code or in *roff itself.
Patch
-----
The attached patch, created with
diff -u bash-4.1/bash-4.1/doc/bash.1{.orig,} > bash-4.1.patch
fixes the wrong replacements (and leaves the sole correct replacement
untouched).
-- System Information:
Debian Release: squeeze/sid
APT prefers testing
APT policy: (500, 'testing'), (50, 'unstable'), (10, 'experimental')
Architecture: i386 (i686)
Kernel: Linux 2.6.32-5-686 (SMP w/1 CPU core)
Locale: LANG=en_US.iso885915, LC_CTYPE=en_US.iso885915 (charmap=ISO-8859-15)
Shell: /bin/sh linked to /bin/bash
Versions of packages bash depends on:
ii base-files 5.9 Debian base system miscellaneous f
ii dash 0.5.5.1-7.2 POSIX-compliant shell
ii debianutils 3.4 Miscellaneous utilities specific t
ii libc6 2.11.2-7 Embedded GNU C Library: Shared lib
ii libncurses5 5.7+20100313-4 shared libraries for terminal hand
Versions of packages bash recommends:
ii bash-completion 1:1.2-2 programmable completion for the ba
Versions of packages bash suggests:
pn bash-doc <none> (no description available)
-- no debconf information
--- bash-4.1/bash-4.1/doc/bash.1.orig 2009-12-30 19:01:31.000000000 +0100
+++ bash-4.1/bash-4.1/doc/bash.1 2010-11-17 14:08:19.000000000 +0100
@@ -478,7 +478,7 @@
symbols:
.RS
.PP
-.if t \fB\(bv\(bv & && ; ;; ( ) | |& <newline>\fP
+.if t \fB|| & && ; ;; ( ) | |& <newline>\fP
.if n \fB|| & && ; ;; ( ) | |& <newline>\fP
.RE
.PD
@@ -577,7 +577,7 @@
.BR & ,
.BR && ,
or
-.BR \(bv\(bv ,
+.BR || ,
and optionally terminated by one of
.BR ; ,
.BR & ,
@@ -587,7 +587,7 @@
Of these list operators,
.B &&
and
-.B \(bv\(bv
+.B ||
have equal precedence, followed by
.B ;
and
@@ -608,7 +608,7 @@
exit status of the last command executed.
.PP
AND and OR lists are sequences of one of more pipelines separated by the
-\fB&&\fP and \fB\(bv\(bv\fP control operators, respectively.
+\fB&&\fP and \fB||\fP control operators, respectively.
AND and OR lists are executed with left associativity.
An AND list has the form
.RS
@@ -624,7 +624,7 @@
An OR list has the form
.RS
.PP
-\fIcommand1\fP \fB\(bv\(bv\fP \fIcommand2\fP
+\fIcommand1\fP \fB||\fP \fIcommand2\fP
.PP
.RE
.PP
@@ -754,8 +754,7 @@
.I expression2
are true.
.TP
-.if t \fIexpression1\fP \fB\(bv\(bv\fP \fIexpression2\fP
-.if n \fIexpression1\fP \fB||\fP \fIexpression2\fP
+\fIexpression1\fP \fB||\fP \fIexpression2\fP
True if either
.I expression1
or
@@ -764,8 +763,7 @@
.PD
.LP
The \fB&&\fP and
-.if t \fB\(bv\(bv\fP
-.if n \fB||\fP
+\fB||\fP
operators do not evaluate \fIexpression2\fP if the value of
\fIexpression1\fP is sufficient to determine the return value of
the entire conditional expression.
@@ -8318,8 +8316,8 @@
reserved words, part of any command executed in a
.B &&
or
-.B \(bv\(bv
-list except the command following the final \fB&&\fP or \fB\(bv\(bv\fP,
+.B ||
+list except the command following the final \fB&&\fP or \fB||\fP,
any command in a pipeline but the last,
or if the command's return value is
being inverted with
@@ -9217,7 +9215,7 @@
statement, part of a command executed in a
.B &&
or
-.B \(bv\(bv
+.B ||
list, or if the command's return value is
being inverted via
.BR ! .
--- End Message ---
--- Begin Message ---
Version: 4.2-1~exp1
Fixed in 4.2-1~exp1.
--- End Message ---