From: Kamil Dudka <kdudka@redhat.com>
To: zsh-workers@zsh.org
Cc: Peter Stephenson <p.stephenson@samsung.com>
Subject: Re: [PATCH] enable number argument for transpose-words
Date: Fri, 12 Aug 2016 12:25:55 +0200 [thread overview]
Message-ID: <1516997.6itNjt3W91@kdudka-nb> (raw)
In-Reply-To: <20160812102918.5ad0f649@pwslap01u.europe.root.pri>
On Friday, August 12, 2016 10:29:18 Peter Stephenson wrote:
> On Fri, 12 Aug 2016 10:54:02 +0800
>
> Han Pingtian <hanpt@linux.vnet.ibm.com> wrote:
> > Any suggestions to this one, please? Thanks in advance.
>
> Thanks, I've committed that. This describes what it does.
>
> pws
>
> diff --git a/Doc/Zsh/zle.yo b/Doc/Zsh/zle.yo
> index eaca1b3..aa219dc 100644
> --- a/Doc/Zsh/zle.yo
> +++ b/Doc/Zsh/zle.yo
> @@ -1948,6 +1948,12 @@ to the left.
> tindex(transpose-words)
> item(tt(transpose-words) (tt(ESC-T ESC-t)) (unbound) (unbound))(
> Exchange the current word with the one before it.
> +
> +With a positive numeric argument em(N), the word before the cursor is
> +transposed with the following em(N) words.
> +
> +With a negative numeric argument em(-N), the word after the cursor
> +is transposed with the preceding em(N) words.
> )
> tindex(vi-unindent)
> item(tt(vi-unindent) (unbound) (tt(<)) (unbound))(
Is the body of 'while (n--)' loop guaranteed to be executed at least once?
Otherwise p1 and p2 may be used uninitialized by code following after the
loop. I would suggest to initialize explicitly or add assert for the value
of 'n'. The following warnings started to be reported after this commit:
Error: CLANG_WARNING:
Src/Zle/zle_word.c:747:43: warning: The right operand of '-' is a garbage value
# pp = temp = (ZLE_STRING_T)zhalloc((p4 - p1)*ZLE_CHAR_SIZE);
# ^ ~~
# 745| }
# 746|
# 747|-> pp = temp = (ZLE_STRING_T)zhalloc((p4 - p1)*ZLE_CHAR_SIZE);
# 748| len = p4 - p3;
# 749| ZS_memcpy(pp, zleline + p3, len);
Error: COMPILER_WARNING:
Src/Zle/zle_word.c:747:43: warning: ‘p1’ may be used uninitialized in this function [-Wuninitialized]
# 745| }
# 746|
# 747|-> pp = temp = (ZLE_STRING_T)zhalloc((p4 - p1)*ZLE_CHAR_SIZE);
# 748| len = p4 - p3;
# 749| ZS_memcpy(pp, zleline + p3, len);
Error: COMPILER_WARNING:
Src/Zle/zle_word.c: scope_hint: In function ‘transposewords’
Src/Zle/zle_word.c:751:9: warning: ‘p2’ may be used uninitialized in this function [-Wuninitialized]
# 749| ZS_memcpy(pp, zleline + p3, len);
# 750| pp += len;
# 751|-> len = p3 - p2;
# 752| ZS_memcpy(pp, zleline + p2, len);
# 753| pp += len;
Full build log at: https://travis-ci.org/kdudka/csbuild-zsh/builds/151747546
Kamil
next prev parent reply other threads:[~2016-08-12 10:33 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-01 10:32 Han Pingtian
2016-08-12 2:54 ` Han Pingtian
2016-08-12 9:29 ` Peter Stephenson
2016-08-12 10:25 ` Kamil Dudka [this message]
2016-08-12 10:41 ` Peter Stephenson
2016-08-12 13:10 ` Kamil Dudka
2016-08-15 2:22 ` Han Pingtian
2016-08-15 8:39 ` Peter Stephenson
2016-08-15 9:01 ` Peter Stephenson
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=1516997.6itNjt3W91@kdudka-nb \
--to=kdudka@redhat.com \
--cc=p.stephenson@samsung.com \
--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).