Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm
Precedence: bulk
X-No-Archive: yes
List-Id: Zsh Workers List <zsh-workers.zsh.org>
List-Post: <mailto:zsh-workers@zsh.org>
List-Help: <mailto:zsh-workers-help@zsh.org>
X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM,
	T_DKIM_INVALID autolearn=ham autolearn_force=no version=3.4.1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20120113;
        h=mime-version:from:date:message-id:subject:to;
        bh=h1RSN2VEFm1ebNt0UyV40pzbbUAS02GfqINCNHw09Uc=;
        b=lJI5z2Vm7z9K6QzbdWfs5hq9Mma0DKdwOdUl8Gf7nEFM2wZA2BR+cCgtW7xtw28vxc
         UW9sO5OYq8anqN42QMUYCUS2xqnW9ZPZPd9f90w2w0o1OpC7o3dV/RakvW5u/noMxbBq
         za9mzQiCgeIXo+itDN7Z3BSV7jO2Ag1DnO1UvIf6FcV9Ms9nkXUK7sTnKhMViWn4g594
         2VYNjj7jzWkKskSDT9Zjp94gfB2I2uJvCOeOcmGmRgOTp2JwU7K3kqYT4Fkxp857SVs4
         XCUrnKPqukW3l3sHI0XHzNALhavx53Ma7PHWSdlq0B6VuMty0bJvYX9xNFBP/nAPPvu5
         rARA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        h=x-gm-message-state:mime-version:from:date:message-id:subject:to;
        bh=h1RSN2VEFm1ebNt0UyV40pzbbUAS02GfqINCNHw09Uc=;
        b=bLM9RlJ0fyw0H/vCEY9TE3qMRgIe4HLYjJuUF8VjRAoTKCW7FbHMkzmBpYzA49iQY7
         L4f/B9VJ/7yNpvPpRtyFdEnmzPPbHUDMxsiA4VO/Z6dSAfGoGyI3rdzJqZAMYgqdgQYA
         QSnLP0U/EiN8T2mttU4x63hRubp8EpW3YFwcgpJStULAz/qcTULNsxNV30c4Wmd+jI6J
         QcVsjtmhq44ajKzR4TM2oZuL8Ki+JlgWnsFzGA0Re5ggTjQIunB4B0Zp2WgTqmlhfIb0
         TR9yMzv3HVIRUB4fCl/NuwBtAAmzCAI0vC+YVg9QETXBBe5VC0ulHz0PPyN3xISoS6Ru
         vLRg==
X-Gm-Message-State: AOPr4FVNJfALNU1oJ52ddhmlbocB58/NNDgFW5EQn9RGaDy6hLWFyriTs6BpDdZgd3R9KPQxORTgM7UWan95Pw==
X-Received: by 10.112.133.166 with SMTP id pd6mr7043965lbb.125.1461875087154;
 Thu, 28 Apr 2016 13:24:47 -0700 (PDT)
MIME-Version: 1.0
From: Sebastian Gniazdowski <sgniazdowski@gmail.com>
Date: Thu, 28 Apr 2016 22:24:27 +0200
Message-ID: <CAKc7PVAP8DG29AJQ7OBk38njOY2qvPhkGJCtLaNnEZVq8mu8tA@mail.gmail.com>
Subject: [PATCH] Fix "default" color in zsh/curses
To: Zsh hackers list <zsh-workers@zsh.org>
Content-Type: multipart/mixed; boundary=047d7b3435a446be7905319151e4
X-Seq: zsh-workers 38354

--047d7b3435a446be7905319151e4
Content-Type: text/plain; charset=UTF-8

Hello,
a curses documentation tells:

"The first function, use_default_colors() tells the curses library to
assign terminal default foreground/background colors to color number
-1. So init_pair(x,COLOR_RED,-1) will initialize pair x as red on
default background and init_pair(x,-1,COLOR_BLUE) will initialize pair
x as default foreground on blue."

curses.c correctly has:

#ifdef HAVE_USE_DEFAULT_COLORS
    {"default", -1},
#endif

However, following function uses -1 as error code:

static short
zcurses_color(const char *color)
{
    struct zcurses_namenumberpair *zc;

    for(zc=(struct zcurses_namenumberpair *)zcurses_colors;zc->name;zc++)
        if (!strcmp(color, zc->name)) {
            return (short)zc->number;
        }

    return (short)-1;
}

The line "return (short)zc->number;" will return -1 for "default"
color and this will result in error message. All the patch does is
making -2 to be error code, so that -1 can be passed on to
curses/ncurses.

Best regards,
Sebastian Gniazdowski

--047d7b3435a446be7905319151e4
Content-Type: application/octet-stream; name="default_zcurses_fix.patch"
Content-Disposition: attachment; filename="default_zcurses_fix.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_inkqgbdv0

ZGlmZiAtLWdpdCBhL1NyYy9Nb2R1bGVzL2N1cnNlcy5jIGIvU3JjL01vZHVsZXMvY3Vyc2VzLmMK
aW5kZXggYTA0ODQxYS4uN2ZmZjg1OCAxMDA2NDQKLS0tIGEvU3JjL01vZHVsZXMvY3Vyc2VzLmMK
KysrIGIvU3JjL01vZHVsZXMvY3Vyc2VzLmMKQEAgLTMyNCw3ICszMjQsNyBAQCB6Y3Vyc2VzX2Nv
bG9yKGNvbnN0IGNoYXIgKmNvbG9yKQogCSAgICByZXR1cm4gKHNob3J0KXpjLT5udW1iZXI7CiAJ
fQogCi0gICAgcmV0dXJuIChzaG9ydCktMTsKKyAgICByZXR1cm4gKHNob3J0KS0yOwogfQogCiBz
dGF0aWMgQ29sb3JwYWlybm9kZQpAQCAtMzUzLDEwICszNTMsMTAgQEAgemN1cnNlc19jb2xvcmdl
dChjb25zdCBjaGFyICpuYW0sIGNoYXIgKmNvbG9ycGFpcikKIAlmID0gemN1cnNlc19jb2xvcihj
cCk7CiAJYiA9IHpjdXJzZXNfY29sb3IoYmcrMSk7CiAKLQlpZiAoZj09LTEgfHwgYj09LTEpIHsK
LQkgICAgaWYgKGYgPT0gLTEpCisJaWYgKGY9PS0yIHx8IGI9PS0yKSB7CisJICAgIGlmIChmID09
IC0yKQogCQl6d2Fybm5hbShuYW0sICJmb3JlZ3JvdW5kIGNvbG9yIGAlcycgbm90IGtub3duIiwg
Y3ApOwotCSAgICBpZiAoYiA9PSAtMSkKKwkgICAgaWYgKGIgPT0gLTIpCiAJCXp3YXJubmFtKG5h
bSwgImJhY2tncm91bmQgY29sb3IgYCVzJyBub3Qga25vd24iLCBiZysxKTsKIAkgICAgKmJnID0g
Jy8nOwogCSAgICB6c2ZyZWUoY3ApOwo=
--047d7b3435a446be7905319151e4--

