[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug-readline] Issue with colored-stats option with readline-6.3-rc1 on
From: |
Martin Wesdorp |
Subject: |
[Bug-readline] Issue with colored-stats option with readline-6.3-rc1 on Ubuntu 10.04.4LTS |
Date: |
Tue, 10 Dec 2013 22:39:31 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130330 Thunderbird/17.0.5 |
Hi,
I am doing some tests with the new colored-stats feature in
readline-6.3-rc1 on an Ubuntu 10.04 LTS system. The new feature is
enabled by adding "set colored-stats on" in the inputrc file. When
readline() is then called from my app (sqsh) and initalizes, it throws
an error:
readline: LS_COLORS: unrecognized prefix: hl
readline: unparsable value for LS_COLORS environment variable
When I use filename completion then, the output is garbled with some
strange control characters after the printed filenames. The problem is
that my system uses the prefix "hl" for hardlinked files in LS_COLORS
instead of "mh". The output of dircolors shows:
LS_COLORS='rs=0:di=01;34:ln=01;36:hl=44;37:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:';
export LS_COLORS
So the fourth entry specifies the "hl" prefix for hardlinked files that
should be shown as white on blue. However, readline-6.3-rc1 expects the
prefix "mh" for hardlinked filenames. When I modify the $LS_COLORS
environment variable and change "hl" to "mh", then readline works great,
but then 'ls' starts to complain that it doesn't understand the "mh"
prefix. When I modify the code of readline and change the occurences of
"mh" to "hl" in the appropriate places then everything works fine again.
But on some of my other systems like Cygwin and CentOS the "mh" prefix
is correct and "hl" is unknown. So probably the best solution would be
to add an additional "hl" entry to the _rl_color_indicator[] array and
indicator_name[] lists.
The reason that I get garbage data when I use filename completion after
_rl_parse_colors() fails, is due to the fact that this function frees
the _rl_color_ext_list of $LS_COLORS entries when it runs into an
unknown entry, but does not disable the feature by setting
_rl_colored_stats to 0. In file complete.c the function print_filename()
still makes calls to colored_stat_start() and colored_stat_end() then
and does not print the correct LEFT and RIGHT combination of colorcode
control characters, I think. Wouldn't it be better by the way for
_rl_parse_colors() to just ignore an unknown entry in $LS_COLORS instead
of discarding all?
Thanks in advance for considering a fix for this issue.
Best regards,
Martin Wesdorp.
- [Bug-readline] Issue with colored-stats option with readline-6.3-rc1 on Ubuntu 10.04.4LTS,
Martin Wesdorp <=