Bug 812934 - Background colors aren't terminated on terminal
Background colors aren't terminated on terminal
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: tree (Show other bugs)
19
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Tim Waugh
Fedora Extras Quality Assurance
: Reopened
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2012-04-16 11:39 EDT by Ben Boeckel
Modified: 2013-07-11 23:18 EDT (History)
1 user (show)

See Also:
Fixed In Version: tree-1.6.0-9.fc19
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-07-11 23:18:30 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Screenshot of issue (6.69 KB, image/png)
2012-04-18 19:06 EDT, Ben Boeckel
no flags Details

  None (edit)
Description Ben Boeckel 2012-04-16 11:39:10 EDT
Description of problem:
When a color in LS_COLORS has a background color, it is not terminated after a line and spill over until the end of the output. If the output goes through less, the colors are correct. Piping through cat does not fix it, so less is likely doing something special behind the scenes that fixes it.

Version-Release number of selected component (if applicable):
tree-1.5.3-3.fc15.x86_64
Comment 1 Tim Waugh 2012-04-17 04:36:54 EDT
Could you please attach example to demonstrate the problem?
Comment 2 Ben Boeckel 2012-04-18 19:06:39 EDT
Created attachment 578471 [details]
Screenshot of issue

The LS_COLORS entry for *.patch is: *.patch=48;5;197;38;5;232;1 (256color support assumed)
Comment 3 Ben Boeckel 2012-04-18 19:11:57 EDT
Output of tree -C | cat -A:

^[[38;5;30m.^[[38;5;254m$
M-bM-^TM-^\M-bM-^TM-^@M-bM-^TM-^@ ^[[48;5;197;38;5;232;1ma.patch^[[38;5;254m$
M-bM-^TM-^\M-bM-^TM-^@M-bM-^TM-^@ ^[[38;5;192mfoo.txt^[[38;5;254m$
M-bM-^TM-^TM-bM-^TM-^@M-bM-^TM-^@ ^[[38;5;68;1mtree-colors.png^[[38;5;254m$
$
0 directories, 3 files$

Output of ls --color | cat -A:

^[[0m^[[38;5;254m^[[m^[[48;5;197;38;5;232;1ma.patch^[[0m$
^[[38;5;254m^[[m^[[38;5;192mfoo.txt^[[0m$
^[[38;5;254m^[[m^[[38;5;68;1mtree-colors.png^[[0m$

The only entries in LS_COLORS which have "38;5;254" are "no" and a few chunked rar extensions. Is tree trying to be too smart instead of just resetting all colors?
Comment 4 Fedora End Of Life 2012-08-07 15:09:19 EDT
This message is a notice that Fedora 15 is now at end of life. Fedora
has stopped maintaining and issuing updates for Fedora 15. It is
Fedora's policy to close all bug reports from releases that are no
longer maintained. At this time, all open bugs with a Fedora 'version'
of '15' have been closed as WONTFIX.

(Please note: Our normal process is to give advanced warning of this
occurring, but we forgot to do that. A thousand apologies.)

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, feel free to reopen
this bug and simply change the 'version' to a later Fedora version.

Bug Reporter: Thank you for reporting this issue and we are sorry that
we were unable to fix it before Fedora 15 reached end of life. If you
would still like to see this bug fixed and are able to reproduce it
against a later version of Fedora, you are encouraged to click on
"Clone This Bug" (top right of this page) and open it against that
version of Fedora.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.

The process we are following is described here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping
Comment 5 Ben Boeckel 2012-08-08 11:28:08 EDT
Still happens with

tree-1.6.0-4.fc17.x86_64
Comment 6 Ben Boeckel 2013-06-12 23:45:48 EDT
And still on Rawhide.

tree-1.6.0-7.fc20.x86_64
Comment 7 Tim Waugh 2013-07-04 07:48:14 EDT
export LS_COLORS="$LS_COLORS:*.patch=48;5;197;38;5;232;1"
tree -C

...looks fine, in the Fedora tree git repository.

tree -C | cat -A

...shows lines like:

|-- ^[[48;5;197;38;5;232;1mtree-args.patch^[[00m$
|-- ^[[48;5;197;38;5;232;1mtree-fixbufsiz.patch^[[00m$
|-- ^[[48;5;197;38;5;232;1mtree-no-color-by-default.patch^[[00m$
|-- ^[[48;5;197;38;5;232;1mtree-no-strip.patch^[[00m$
|-- ^[[48;5;197;38;5;232;1mtree-preserve-timestamps.patch^[[00m$

Tested with:
tree-1.6.0-8.fc19.x86_64

Please attach a complete example that demonstrates the problem.
Comment 8 Ben Boeckel 2013-07-04 14:13:08 EDT
% echo $LS_COLORS
bd=38;5;68:ca=38;5;17:cd=38;5;113;1:di=38;5;30:do=38;5;127:ex=38;5;166;1:pi=38;5;126:fi=38;5;253:ln=target:mh=38;5;220;1:no=38;5;254:or=48;5;196;38;5;232;1:ow=38;5;33;1:sg=38;5;137;1:su=38;5;137:so=38;5;197:st=48;5;235;38;5;118;1:tw=48;5;235;38;5;139;1:*.BAT=38;5;108:*.PL=38;5;160:*.asm=38;5;240;1:*.awk=38;5;148;1:*.bash=38;5;173:*.bat=38;5;108:*.c=38;5;110:*.cc=38;5;24;1:*.C=38;5;24;1:*.cfg=1:*.coffee=38;5;94;1:*.conf=1:*.cpp=38;5;24;1:*.cxx=38;5;24;1:*.cs=38;5;74;1:*.css=38;5;91:*.csv=38;5;78:*.ctp=38;5;95:*.diff=48;5;197;38;5;232:*.enc=38;5;192;3:*.eps=38;5;192:*.etx=38;5;172:*.ex=38;5;148;1:*.example=38;5;225;1:*.git=38;5;197:*.gitignore=38;5;240:*.go=38;5;36;1:*.h=38;5;81:*.hs=38;5;155;1:*.hsc=38;5;155;1:*.htm=38;5;125;1:*.html=38;5;125;1:*.info=38;5;101:*.ini=38;5;122:*.java=38;5;142;1:*.jhtm=38;5;125;1:*.js=38;5;42:*.jsm=38;5;42:*.jsm=38;5;42:*.json=38;5;199:*.jsp=38;5;45:*.lisp=38;5;204;1:*.log=38;5;190:*.lua=38;5;34;1:*.map=38;5;58;3:*.markdown=38;5;184:*.md=38;5;184:*.mf=38;5;220;3:*.mfasl=38;5;73:*.mi=38;5;124:*.mkd=38;5;184:*.mtx=38;5;36;3:*.nfo=38;5;220:*.o=38;5;240:*.pacnew=38;5;33:*.patch=48;5;197;38;5;232;1:*.pc=38;5;100:*.pfa=38;5;43:*.php=38;5;93:*.pid=38;5;160:*.pl=38;5;214:*.pm=38;5;197;1:*.pod=38;5;172;1:*.py=38;5;41:*.rb=38;5;192:*.rdf=38;5;144:*.rst=38;5;67:*.ru=38;5;142:*.sed=38;5;130;1:*.sfv=38;5;197:*.sh=38;5;113:*.signature=38;5;206:*.sql=38;5;222:*.srt=38;5;116:*.sty=38;5;58:*.sug=38;5;44:*.t=38;5;28;1:*.tcl=38;5;64;1:*.tdy=38;5;214:*.tex=38;5;172:*.textile=38;5;106:*.tfm=38;5;64:*.tfnt=38;5;140:*.theme=38;5;109:*.txt=38;5;192:*.urlview=38;5;85:*.vim=1:*.viminfo=38;5;240;1:*.xml=38;5;199:*.yml=38;5;208:*.zsh=38;5;173:*.1=38;5;196;1:*.1p=38;5;160:*.3p=38;5;160:*.am=38;5;242:*.in=38;5;242:*.old=38;5;242:*.out=38;5;46;1:*.bmp=38;5;62:*.cdr=38;5;59:*.gif=38;5;72:*.ico=38;5;73:*.jpeg=38;5;66:*.jpg=38;5;66:*.JPG=38;5;66:*.png=38;5;68;1:*.svg=38;5;24;1:*.xpm=38;5;36:*.32x=38;5;137:*.A64=38;5;82:*.a00=38;5;11:*.a52=38;5;112:*.a64=38;5;82:*.a78=38;5;112:*.adf=38;5;35:*.atr=38;5;213:*.cdi=38;5;124:*.fm2=38;5;35:*.gb=38;5;203:*.gba=38;5;205:*.gbc=38;5;204:*.gel=38;5;83:*.gg=38;5;138:*.ggl=38;5;83:*.j64=38;5;102:*.nds=38;5;193:*.nes=38;5;160:*.rom=38;5;59;1:*.sav=38;5;220:*.sms=38;5;33:*.st=38;5;208;1:*.iso=38;5;124:*.nrg=38;5;124:*.qcow=38;5;141:*.MOV=38;5;42:*.avi=38;5;114:*.flv=38;5;131:*.mkv=38;5;202:*.mov=38;5;42:*.mp4=38;5;124:*.mpg=38;5;38:*.mpeg=38;5;38:*.ogm=38;5;97:*.ogv=38;5;94:*.rmvb=38;5;112:*.sample=38;5;130;1:*.ts=38;5;39:*.webm=38;5;132:*.wmv=38;5;113:*.S3M=38;5;71;1:*.cue=38;5;112:*.dat=38;5;165:*.fcm=38;5;41:*.flac=38;5;166;1:*.m3u=38;5;172:*.m4=38;5;196;3:*.m4a=38;5;137;1:*.mid=38;5;102:*.midi=38;5;102:*.mod=38;5;72:*.mp3=38;5;191:*.oga=38;5;95:*.ogg=38;5;96:*.s3m=38;5;71;1:*.sid=38;5;69;1:*.spl=38;5;173:*.wv=38;5;149:*.wvc=38;5;149:*.afm=38;5;58:*.pfb=38;5;58:*.pfm=38;5;58:*.ttf=48;5;1:*.pcf=38;5;65:*.psf=38;5;64:*.bak=38;5;41;1:*.bin=38;5;249:*.swo=38;5;236:*.swp=38;5;241:*.tmp=38;5;244:*.un~=38;5;240:*.zcompdump=38;5;240:*.zwc=38;5;240:*.db=38;5;60:*.dump=38;5;119:*.sqlite=38;5;60:*.typelib=38;5;60:*.7z=38;5;40:*.a=38;5;46:*.arj=38;5;41:*.bz2=38;5;44:*.ipk=38;5;117:*.jad=38;5;50:*.jar=38;5;51:*.part=38;5;240;1:*.r00=38;5;235:*.r01=38;5;235:*.r02=38;5;235:*.r03=38;5;236:*.r04=38;5;237:*.r05=38;5;238:*.r06=38;5;239:*.r07=38;5;240:*.r08=38;5;241:*.r09=38;5;242:*.r10=38;5;243:*.r100=38;5;244:*.r101=38;5;240:*.r102=38;5;241:*.r103=38;5;242:*.r104=38;5;243:*.r105=38;5;244:*.r106=38;5;245:*.r107=38;5;246:*.r108=38;5;247:*.r109=38;5;248:*.r11=38;5;244:*.r110=38;5;249:*.r111=38;5;250:*.r112=38;5;251:*.r113=38;5;252:*.r114=38;5;253:*.r115=38;5;254:*.r116=38;5;255:*.r12=38;5;245:*.r13=38;5;246:*.r14=38;5;247:*.r15=38;5;248:*.r16=38;5;249:*.r17=38;5;250:*.r18=38;5;251:*.r19=38;5;252:*.r20=38;5;253:*.r21=38;5;254:*.r22=38;5;255:*.r25=38;5;255:*.r26=38;5;254:*.r27=38;5;253:*.r28=38;5;252:*.r29=38;5;251:*.r30=38;5;250:*.r31=38;5;249:*.r32=38;5;248:*.r33=38;5;247:*.r34=38;5;246:*.r35=38;5;245:*.r36=38;5;244:*.r37=38;5;243:*.r38=38;5;242:*.r39=38;5;241:*.r40=38;5;240:*.r41=38;5;239:*.r42=38;5;238:*.r43=38;5;237:*.r44=38;5;236:*.r45=38;5;235:*.r46=38;5;235:*.r47=38;5;235:*.r48=38;5;235:*.r49=38;5;235:*.r50=38;5;236:*.r51=38;5;237:*.r52=38;5;238:*.r53=38;5;239:*.r54=38;5;240:*.r55=38;5;241:*.r56=38;5;242:*.r57=38;5;243:*.r58=38;5;244:*.r59=38;5;245:*.r60=38;5;246:*.r61=38;5;247:*.r62=38;5;248:*.r63=38;5;249:*.r64=38;5;250:*.r65=38;5;251:*.r66=38;5;252:*.r67=38;5;253:*.r68=38;5;254:*.r69=38;5;255:*.r69=38;5;255:*.r70=38;5;254:*.r71=38;5;253:*.r72=38;5;252:*.r73=38;5;251:*.r74=38;5;250:*.r75=38;5;249:*.r76=38;5;248:*.r77=38;5;247:*.r78=38;5;246:*.r79=38;5;245:*.r80=38;5;244:*.r81=38;5;243:*.r82=38;5;242:*.r83=38;5;241:*.r84=38;5;240:*.r85=38;5;239:*.r86=38;5;238:*.r87=38;5;237:*.r88=38;5;236:*.r89=38;5;235:*.r90=38;5;235:*.r91=38;5;235:*.r92=38;5;236:*.r93=38;5;237:*.r94=38;5;238:*.r95=38;5;239:*.r96=38;5;240:*.r97=38;5;241:*.r98=38;5;242:*.r99=38;5;243:*.rar=38;5;106;1:*.tar=38;5;118:*.tar.gz=38;5;34:*.tgz=38;5;35;1:*.xz=38;5;118:*.zip=38;5;41:*.pdf=38;5;203:*.djvu=38;5;141:*.cbr=38;5;140:*.cbz=38;5;140:*.chm=38;5;144:*.odt=38;5;111:*.ods=38;5;112:*.odp=38;5;166:*.odb=38;5;161:*.allow=38;5;112:*.deny=38;5;196:*.SKIP=38;5;244:*.def=38;5;136:*.directory=38;5;83:*.err=38;5;160;1:*.error=38;5;160;1:*.pi=38;5;126:*.properties=38;5;197;1:*.torrent=38;5;58:*.gp3=38;5;114:*.gp4=38;5;115:*.tg=38;5;99:
% tree -C | cat -A
^[[38;5;30m.^[[38;5;254m$
M-bM-^TM-^\M-bM-^TM-^@M-bM-^TM-^@ sources$
M-bM-^TM-^\M-bM-^TM-^@M-bM-^TM-^@ ^[[48;5;197;38;5;232;1mtree-args.patch^[[38;5;254m$
M-bM-^TM-^\M-bM-^TM-^@M-bM-^TM-^@ ^[[48;5;197;38;5;232;1mtree-fixbufsiz.patch^[[38;5;254m$
M-bM-^TM-^\M-bM-^TM-^@M-bM-^TM-^@ ^[[48;5;197;38;5;232;1mtree-no-color-by-default.patch^[[38;5;254m$
M-bM-^TM-^\M-bM-^TM-^@M-bM-^TM-^@ ^[[48;5;197;38;5;232;1mtree-no-strip.patch^[[38;5;254m$
M-bM-^TM-^\M-bM-^TM-^@M-bM-^TM-^@ ^[[48;5;197;38;5;232;1mtree-preserve-timestamps.patch^[[38;5;254m$
M-bM-^TM-^TM-bM-^TM-^@M-bM-^TM-^@ tree.spec$
$
0 directories, 7 files$
% ls --color | cat -A
^[[0m^[[38;5;254m^[[m^[[38;5;253msources^[[0m$
^[[38;5;254m^[[m^[[48;5;197;38;5;232;1mtree-args.patch^[[0m$
^[[38;5;254m^[[m^[[48;5;197;38;5;232;1mtree-fixbufsiz.patch^[[0m$
^[[38;5;254m^[[m^[[48;5;197;38;5;232;1mtree-no-color-by-default.patch^[[0m$
^[[38;5;254m^[[m^[[48;5;197;38;5;232;1mtree-no-strip.patch^[[0m$
^[[38;5;254m^[[m^[[48;5;197;38;5;232;1mtree-preserve-timestamps.patch^[[0m$
^[[38;5;254m^[[m^[[38;5;253mtree.spec^[[0m$

Looking closer, it seems that the problem is "no" in LS_COLORS. `tree -C` puts it at the end of a line while ls puts it before any text. "\e[0m" should be put after any colored text and "no" before printing a filename.
Comment 9 Fedora Update System 2013-07-09 09:47:44 EDT
tree-1.6.0-9.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/FEDORA-2013-12329/tree-1.6.0-9.fc19
Comment 10 Fedora Update System 2013-07-09 21:24:32 EDT
Package tree-1.6.0-9.fc19:
* should fix your issue,
* was pushed to the Fedora 19 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing tree-1.6.0-9.fc19'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-12329/tree-1.6.0-9.fc19
then log in and leave karma (feedback).
Comment 11 Fedora Update System 2013-07-11 23:18:30 EDT
tree-1.6.0-9.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.