From: David Kastrup <dak@gnu.org>
To: Matthieu Moy <Matthieu.Moy@grenoble-inp.fr>
Cc: git@vger.kernel.org
Subject: Re: git rebase -i error message interprets \t in commit message
Date: Tue, 06 Aug 2013 19:07:08 +0200 [thread overview]
Message-ID: <87fvum694z.fsf@fencepost.gnu.org> (raw)
In-Reply-To: <vpqli4ekdni.fsf@anie.imag.fr> (Matthieu Moy's message of "Tue, 06 Aug 2013 18:05:53 +0200")
Matthieu Moy <Matthieu.Moy@grenoble-inp.fr> writes:
> David Kastrup <dak@gnu.org> writes:
>
>> Could not apply 16de9d2... Make tempo range empo 20~30 be input as
>> empo 20-30 instead
>
> Indeed. The source of the problem is that our "die" shell function
> interprets \t (because it uses "echo").
>
> A simple fix would be this:
>
> diff --git a/git-sh-setup.sh b/git-sh-setup.sh
> index 7a964ad..97258d5 100644
> --- a/git-sh-setup.sh
> +++ b/git-sh-setup.sh
> @@ -53,7 +53,7 @@ die () {
> die_with_status () {
> status=$1
> shift
> - echo >&2 "$*"
> + printf >&2 "%s\n" "$*"
> exit "$status"
> }
>
> It does not sound crazy as the shell function "say" right below uses the
> same printf "%s\n" "$*",
Sounds reasonable, though I don't know off-hand (not having the source
here) whether using "say" inside of die_with_status (and thus not having
two different places to maintain) might not be feasible instead. It's
not like die_with_status is going to be called often enough to become a
performance hog.
> but I'm wondering whether this could have other bad implications
> (e.g. if there are escape sequences in the commit message, aren't we
> going to screw up the terminal?).
One person's escape sequences are another's multibyte characters. Less
cheesy, it would seem that the above change is a strict improvement and
requires little thought to implement.
Not interpreting escape sequences is orthogonal from output
sanitization.
--
David Kastrup
next prev parent reply other threads:[~2013-08-06 17:07 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-06 15:44 git rebase -i error message interprets \t in commit message David Kastrup
2013-08-06 16:01 ` Ramkumar Ramachandra
2013-08-06 17:47 ` Junio C Hamano
2013-08-06 16:05 ` Matthieu Moy
2013-08-06 17:07 ` David Kastrup [this message]
2013-08-06 17:19 ` Matthieu Moy
2013-08-06 19:23 ` David Kastrup
2013-08-06 19:35 ` Junio C Hamano
2013-08-06 17:52 ` Junio C Hamano
2013-08-06 18:26 ` [PATCH] die_with_status: use "printf '%s\n'", not "echo" Matthieu Moy
2013-08-07 8:58 ` Thomas Rast
2013-08-07 9:23 ` Matthieu Moy
2013-08-07 9:26 ` [PATCH v2] " Matthieu Moy
2013-08-07 9:48 ` [PATCH] " Thomas Rast
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=87fvum694z.fsf@fencepost.gnu.org \
--to=dak@gnu.org \
--cc=Matthieu.Moy@grenoble-inp.fr \
--cc=git@vger.kernel.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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.