diff --git a/ChangeLog b/ChangeLog
index a802a6a69..8b4584a9c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2013-01-29 Peter Stephenson
+
+ * Dmitry Roshchin: 31008: Completion/openSUSE/Command/_zypper,
+ Completion/openSUSE/Command/_osc: updates.
+
2013-01-26 Bart Schaefer
* 31000: Doc/Zsh/contrib.yo: fix typo in example.
@@ -471,5 +476,5 @@
*****************************************************
* This is used by the shell to define $ZSH_PATCHLEVEL
-* $Revision: 1.5790 $
+* $Revision: 1.5791 $
*****************************************************
diff --git a/Completion/openSUSE/Command/_osc b/Completion/openSUSE/Command/_osc
index a18890f5e..97263da7d 100644
--- a/Completion/openSUSE/Command/_osc
+++ b/Completion/openSUSE/Command/_osc
@@ -16,8 +16,8 @@
# version 0.2
#
-OSC_BUILD_TARGETS="openSUSE_11.2 openSUSE_11.3 openSUSE_11.4 openSUSE_12.1 openSUSE_Tumbleweed openSUSE_Factory SLE_11_SP1"
-OSC_PROJECTS="openSUSE:Factory openSUSE:Tumbleweed openSUSE:12.1 openSUSE:11.4 openSUSE:11.2 openSUSE:11.3"
+OSC_BUILD_TARGETS="openSUSE_12.1 openSUSE_12.2 openSUSE_12.3 openSUSE_Tumbleweed openSUSE_Factory SLE_11_SP2"
+OSC_PROJECTS="openSUSE:Factory openSUSE:Tumbleweed openSUSE:12.3 openSUSE:12.2 openSUSE:12.1"
# user defined variables $OSC_BUILD_TARGETS_EXTRA and
# $OSC_PROJECTS_EXTRA can add to the project/build target list
diff --git a/Completion/openSUSE/Command/_zypper b/Completion/openSUSE/Command/_zypper
index 03818eaa5..4f2477a41 100644
--- a/Completion/openSUSE/Command/_zypper
+++ b/Completion/openSUSE/Command/_zypper
@@ -28,11 +28,10 @@ _zypper() {
local hline
local -a cmdlist
local tag=0
- _call_program help-commands zypper help | while read -A hline; do
+ _call_program help-commands LANG=C zypper help | sed -e ':a;N;$!ba;s/\n\t\t\t\t/ /g' | while read -A hline; do
# start parsing with "Global Options:"
[[ $hline =~ "^Global Options:" ]] && tag=1
[[ $tag = 0 ]] && continue
- [[ $hline[1] =~ ^\t\t\t\t ]] && continue
# all commands have to start with lower case letters
[[ $hline[1] =~ ^[A-Z] ]] && continue
(( ${#hline} < 2 )) && continue
@@ -51,7 +50,7 @@ _zypper_cmd_do() {
local hline
local -a cmdlist
local tag=0
- _call_program help-commands zypper help $cmd | while read -A hline; do
+ _call_program help-commands LANG=C zypper help $cmd | while read -A hline; do
# start parsing from "Options:"
[[ $hline =~ "^Command options:" ]] && tag=1
[[ $tag = 0 ]] && continue