Package: crawl Version: 2:0.2.7-1 Severity: normal I have built xterm with 256 colour support from upstream xterm-227 source. Now when I run crawl in that, with TERM=xterm-256color, everything that should have a light foreground colour instead gets displayed in bold with the corresponding dark foreground colour. Most importantly, things that should be dark grey become black and thus invisible. This affects for instance those parts of the map that are not in sight.
The cause appears to be this xterm vs. xterm-256color difference in terminfo: setaf: '\E[3%p1%dm', '\E[38;5;%p1%dm'. If I run printf "\033[0;30;1ma\033[0;38;5;0;1mb\033[mc\n", then the "a" is dark grey but the "b" is black. Apparently, the boldColors resource of xterm affects only SGR values 30 to 37, and not colours set with the 38;5 syntax. Possible fixes: (a) Change Crawl to detect that the terminal directly supports 16 or more colours, and then use those colours via the setaf capability, instead of assuming that the bold attribute also changes the colour. (b) Change Crawl to send "\E[30m" for black if the terminfo indicates "\E[38;5;0m". Not a good idea: I normally run things in Screen, which would map the "\E[30m" to "\E[38;5;0m" anyway. (c) Change xterm to respect the boldColors resource also when the foreground colour is set with SGR 38;5. I think boldColors is really a hack and its effects should not be extended like this. I could try patching Crawl for solution (a) in a few weeks, but it would be nice if you could first comment on whether you consider that a reasonable way to fix the problem. -- System Information: Debian Release: testing/unstable APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.21-1-k7 Locale: LANG=fi_FI.UTF-8, LC_CTYPE=fi_FI.UTF-8 (charmap=UTF-8) Versions of packages crawl depends on: ii libc6 2.3.6-7 GNU C Library: Shared libraries ii libgcc1 1:4.1.2-4 GCC support library ii libncurses5 5.5-2 Shared libraries for terminal hand ii libstdc++6 4.1.2-4 The GNU Standard C++ Library v3 crawl recommends no packages. -- no debconf information
pgpk9ncNbJkwq.pgp
Description: PGP signature