From: Jan Larres <jan@majutsushi.net>
To: zsh-workers@zsh.org
Subject: Re: Small zle_highlight regression in 5.7
Date: Fri, 1 Feb 2019 16:40:41 +1300 [thread overview]
Message-ID: <c4ddfe12-eea7-00de-93ac-7514edbdd9d2@majutsushi.net> (raw)
In-Reply-To: <7CC43B0E-687B-4C5A-9306-92F05C431406@dana.is>
Odd, I wonder where I got the idea that 'reset' was the correct thing to
use then. I think that's some old relic that I haven't really looked at
in years. I also missed the mention of 'default' somehow. Using
'default' does make it work for me though, so thanks!
-Jan
On 01/02/2019 14:46, dana wrote:
> On 31 Jan 2019, at 17:31, Jan Larres <jan@majutsushi.net> wrote:
>> In 5.6.2 I was able to use the special 'reset' foreground attribute ...
>> This doesn't work any more in 5.7: ...
>> I also can't find any mention of this attribute in the documentation any more.
>
> I don't think it was ever there — the documented way to do this is %F{default}
> or simply %f. %F{reset} only worked because unrecognised colour names would
> just fall back to the default sequence (which doesn't seem to be mentioned
> explicitly anywhere?).
>
> 5.7 did change that, though, and i'm not sure it was intended.
>
> This seems to fix it
>
> dana
>
>
> diff --git a/Src/prompt.c b/Src/prompt.c
> index 4603ffba6..f2b3f161e 100644
> --- a/Src/prompt.c
> +++ b/Src/prompt.c
> @@ -1661,10 +1661,12 @@ match_colour(const char **teststrp, int is_fg, int colour)
> colour = match_named_colour(teststrp);
> if (colour == 8) {
> /* default */
> return is_fg ? TXTNOFGCOLOUR : TXTNOBGCOLOUR;
> }
> + if (colour < 0)
> + return TXT_ERROR;
> }
> else {
> colour = (int)zstrtol(*teststrp, (char **)teststrp, 10);
> if (colour < 0 || colour >= 256)
> return TXT_ERROR;
>
> diff --git a/Test/D01prompt.ztst b/Test/D01prompt.ztst
> index 56b7c294a..7ff478e68 100644
> --- a/Test/D01prompt.ztst
> +++ b/Test/D01prompt.ztst
> @@ -221,3 +221,11 @@
> print ${(%U)Y-%(v}
> 0:Regression test for test on empty psvar
> >
> +
> +# Unrecognised colour strings should produce the default sequence
> + f=${(%):-'%f'} # Recognised
> + Fdefault=${(%):-'%F{default}'} # Recognised
> + Freset=${(%):-'%F{reset}'} # Unrecognised
> + Ffoo=${(%):-'%F{foo}'} # Unrecognised
> + [[ $f == $Fdefault && $Fdefault == $Freset && $Freset == $Ffoo ]]
> +0:Regression test for workers/44029
>
prev parent reply other threads:[~2019-02-01 3:41 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-31 23:31 Jan Larres
2019-02-01 1:46 ` dana
2019-02-01 3:40 ` Jan Larres [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=c4ddfe12-eea7-00de-93ac-7514edbdd9d2@majutsushi.net \
--to=jan@majutsushi.net \
--cc=zsh-workers@zsh.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/zsh/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).