[tip:perf/urgent] perf tools: Check existence of _get_comp_words_by_ref when bash completing

From: tip-bot for Namhyung Kim
Date: Fri Oct 05 2012 - 04:52:46 EST


Commit-ID: a1d668c3ffd38d611f8446615e8f797dcfdfc397
Gitweb: http://git.kernel.org/tip/a1d668c3ffd38d611f8446615e8f797dcfdfc397
Author: Namhyung Kim <namhyung@xxxxxxxxxx>
AuthorDate: Wed, 3 Oct 2012 00:21:32 +0900
Committer: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
CommitDate: Tue, 2 Oct 2012 18:36:42 -0300

perf tools: Check existence of _get_comp_words_by_ref when bash completing

The '_get_comp_words_by_ref' function is available from the bash
completion v1.2 so that earlier version emits following warning:

$ perf re<TAB>_get_comp_words_by_ref: command not found

Use older '_get_cword' method when the above function doesn't exist.

Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
Acked-by: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/1349191294-6926-2-git-send-email-namhyung@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
---
tools/perf/bash_completion | 15 +++++++++++++--
1 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/tools/perf/bash_completion b/tools/perf/bash_completion
index 1958fa5..3d48cee 100644
--- a/tools/perf/bash_completion
+++ b/tools/perf/bash_completion
@@ -1,12 +1,23 @@
# perf completion

+function_exists()
+{
+ declare -F $1 > /dev/null
+ return $?
+}
+
have perf &&
_perf()
{
- local cur cmd
+ local cur prev cmd

COMPREPLY=()
- _get_comp_words_by_ref cur prev
+ if function_exists _get_comp_words_by_ref; then
+ _get_comp_words_by_ref cur prev
+ else
+ cur=$(_get_cword)
+ prev=${COMP_WORDS[COMP_CWORD-1]}
+ fi

cmd=${COMP_WORDS[0]}

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/