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}