On Mon, Oct 31, 2022 at 05:28:08PM +0100, Omar Polo wrote: > On 2022/10/31 11:54:10 -0400, Norvell Spearman <norvell.spear...@gmail.com> > wrote: > > There seems to be a problem between neofetch and bash in snapshots. > > neofetch displays the ASCII logo for the OS and most of the expected > > information about the system it's running on, but stops then shows the > > next command prompt in the middle of the logo, leaving out the usual > > colored blocks. With 7.2-release and earlier I got behavior as seen in > > expected.png. With 7.2-current I get behavior as seen in current.png. > > Running "neofetch -v" shows the following error: > > > > /usr/local/bin/neofetch: line 3802: bad substitution: no closing `}' in > > ${block_spaces// /${blocks}nl} > > > > 7.2-release uses bash-5.1.16 while -current uses bash-5.2.2 (with the > > same version of neofetch in both), so I'm guessing that something > > changed with bash between the two versions. I don't know much about > > shell scripting, so all apologies for not being more helpful. > > > > To show the expected behavior, I downloaded the -release version of bash > > (5.1.16), renamed its binary, and told a copy of -current's neofetch to > > use the renamed bash for execution. > > > > Let me know if you need more information. I did check marc.info to see > > whether anybody else had already reported this, so apologies in advance > > if I missed something. > > There's an issue about this opened on github: > https://github.com/dylanaraps/neofetch/issues/2209 > > This is a bit out of my comfort zone, I don't really know what the > bash // parameter substitution does, but as was hinted by a user in > that issue escaping the [ fixes it, at least in my brief testing. > > (no idea how the raw escape in the diff will end up in the mail) > > Index: Makefile > =================================================================== > RCS file: /home/cvs/ports/sysutils/neofetch/Makefile,v > retrieving revision 1.11 > diff -u -p -r1.11 Makefile > --- Makefile 11 Mar 2022 19:57:43 -0000 1.11 > +++ Makefile 31 Oct 2022 16:21:37 -0000 > @@ -4,7 +4,7 @@ CATEGORIES = sysutils misc > GH_ACCOUNT = dylanaraps > GH_PROJECT = neofetch > GH_TAGNAME = 7.1.0 > -REVISION = 0 > +REVISION = 1 > > # MIT > PERMIT_PACKAGE = Yes > Index: patches/patch-neofetch > =================================================================== > RCS file: /home/cvs/ports/sysutils/neofetch/patches/patch-neofetch,v > retrieving revision 1.8 > diff -u -p -r1.8 patch-neofetch > --- patches/patch-neofetch 11 Mar 2022 19:57:43 -0000 1.8 > +++ patches/patch-neofetch 31 Oct 2022 16:21:31 -0000 > @@ -1,4 +1,5 @@ > From https://github.com/dylanaraps/neofetch/pull/1494 > +and add needed escape to please bash. > > Index: neofetch > --- neofetch.orig > @@ -22,3 +23,14 @@ Index: neofetch > gpu="${gpu/OpenGL renderer string: }" > ;; > esac > +@@ -3800,8 +3799,8 @@ get_cols() { > + printf -v block_spaces "%${block_height}s" > + > + # Convert the spaces into rows of blocks. > +- [[ "$blocks" ]] && cols+="${block_spaces// /${blocks}[mnl}" > +- [[ "$blocks2" ]] && cols+="${block_spaces// /${blocks2}[mnl}" > ++ [[ "$blocks" ]] && cols+="${block_spaces// /${blocks}\[mnl}" > ++ [[ "$blocks2" ]] && cols+="${block_spaces// /${blocks2}\[mnl}" > + > + # Add newlines to the string. > + cols=${cols%%nl} >
That fixed it. Thanks very much. -- Norvell Spearman