summary refs log tree commit diff
path: root/tools
diff options
context:
space:
mode:
authorNamhyung Kim <namhyung@kernel.org>2012-10-03 00:21:32 +0900
committerArnaldo Carvalho de Melo <acme@redhat.com>2012-10-02 18:36:42 -0300
commita1d668c3ffd38d611f8446615e8f797dcfdfc397 (patch)
treea9a40bf0f2ae0cfc2ec494f8d30ed27c546d6b28 /tools
parent002439e84ed67cbb33cab4057fcd6a4146c0f815 (diff)
downloadlinux-a1d668c3ffd38d611f8446615e8f797dcfdfc397.tar.gz
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@kernel.org>
Acked-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/1349191294-6926-2-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/perf/bash_completion15
1 files changed, 13 insertions, 2 deletions
diff --git a/tools/perf/bash_completion b/tools/perf/bash_completion
index 1958fa539d0f..3d48cee1b5e5 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]}