Bug 812934 - Background colors aren't terminated on terminal
Summary: Background colors aren't terminated on terminal
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: tree
Version: 19
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Tim Waugh
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-04-16 15:39 UTC by Ben Boeckel
Modified: 2013-07-12 03:18 UTC (History)
1 user (show)

Fixed In Version: tree-1.6.0-9.fc19
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-07-12 03:18:30 UTC
Type: Bug
Embargoed:


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

Description Ben Boeckel 2012-04-16 15:39:10 UTC
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 08:36:54 UTC
Could you please attach example to demonstrate the problem?

Comment 2 Ben Boeckel 2012-04-18 23:06:39 UTC
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 23:11:57 UTC
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 19:09:19 UTC
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 15:28:08 UTC
Still happens with

tree-1.6.0-4.fc17.x86_64

Comment 6 Ben Boeckel 2013-06-13 03:45:48 UTC
And still on Rawhide.

tree-1.6.0-7.fc20.x86_64

Comment 7 Tim Waugh 2013-07-04 11:48:14 UTC
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 18:13:08 UTC
% 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 13:47:44 UTC
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-10 01:24:32 UTC
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-12 03:18:30 UTC
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.