From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27018 invoked from network); 26 Jan 2009 21:17:41 -0000 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.2.5 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by ns1.primenet.com.au with SMTP; 26 Jan 2009 21:17:41 -0000 Received-SPF: none (ns1.primenet.com.au: domain at sunsite.dk does not designate permitted sender hosts) Received: (qmail 914 invoked from network); 26 Jan 2009 21:17:29 -0000 Received: from sunsite.dk (130.225.247.90) by a.mx.sunsite.dk with SMTP; 26 Jan 2009 21:17:29 -0000 Received: (qmail 15779 invoked by alias); 26 Jan 2009 21:17:19 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 26453 Received: (qmail 15695 invoked from network); 26 Jan 2009 21:17:16 -0000 Received: from bifrost.dotsrc.org (130.225.254.106) by sunsite.dk with SMTP; 26 Jan 2009 21:17:16 -0000 Received: from uucp.gnuu.de (uucp.gnuu.de [83.246.114.63]) by bifrost.dotsrc.org (Postfix) with ESMTP id D0E02802720F for ; Mon, 26 Jan 2009 22:17:03 +0100 (CET) Received: by uucp.gnuu.de (Postfix, from userid 10) id 1A079EC064; Mon, 26 Jan 2009 22:17:02 +0100 (CET) X-DKIM: Sendmail DKIM Filter v2.5.2 uucp.gnuu.de 1A079EC064 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=gnuu.de; s=banki; t=1233004623; i=@alea.gnuu.de; bh=kLbCtaQzWJb7B3obTgQnzKKaTv8pIQNHX PTbPMX9uw8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To: References; b=EHz2hPthjrNoy5rbm9bMB77VhQqoZ+B4nafF4VAcRar0pHw2BM27 Dn0XeKwQugRLRW9wuf4chUn9Zw+nlDNI+o44cd0LOJ0uHWoPtqMYHXjC/Dtow8L2One 3in3faEvyZ/lL5S+xr0BhEBdwAexqutXJdg/UICVHuDnHm8WozLY= Received: from ibook.localnet ([192.168.0.5] helo=alea.gnuu.de) by alea.gnuu.de with esmtp (Exim 4.69) (envelope-from ) id 1LRYjK-00024B-9D for zsh-workers@sunsite.dk; Mon, 26 Jan 2009 22:10:50 +0100 Received: from joerg by alea.gnuu.de with local (Exim 4.69) (envelope-from ) id 1LRYjJ-0006Fh-1H; Mon, 26 Jan 2009 22:10:49 +0100 From: =?utf-8?q?J=C3=B6rg=20Sommer?= To: zsh-workers@sunsite.dk Cc: =?utf-8?q?J=C3=B6rg=20Sommer?= Subject: [PATCH 3/3] modinfo: Add option -k for different kernel version Date: Mon, 26 Jan 2009 22:10:48 +0100 Message-Id: <1233004248-24000-3-git-send-email-joerg@alea.gnuu.de> X-Mailer: git-send-email 1.6.0.6 In-Reply-To: <1233004248-24000-2-git-send-email-joerg@alea.gnuu.de> References: <1233004248-24000-1-git-send-email-joerg@alea.gnuu.de> <1233004248-24000-2-git-send-email-joerg@alea.gnuu.de> X-Virus-Scanned: ClamAV 0.92.1/8905/Mon Jan 26 18:29:36 2009 on bifrost X-Virus-Status: Clean The option -k makes modinfo looks in a different master directory below /lib/modules for the module. This way informations about a module for a different kernel version can get extracted. --- Completion/Linux/Command/_modutils | 12 +++++++++++- 1 files changed, 11 insertions(+), 1 deletions(-) diff --git a/Completion/Linux/Command/_modutils b/Completion/Linux/Command/_modutils index fe1b58e..c0ac8eb 100644 --- a/Completion/Linux/Command/_modutils +++ b/Completion/Linux/Command/_modutils @@ -1,6 +1,7 @@ #compdef lsmod modinfo modprobe rmmod insmod local curcontext="$curcontext" expl state line modules ign args ret=1 +local -r modules_dir=/lib/modules args=( '(-)'{-V,--version}'[print version]' @@ -19,6 +20,8 @@ case "$service" in '(-)'{-p,--parameters}'[display the typed parameters that a module may support]' \ '(-)'{-F,--field}"[display only selected module's information]:module_field:( alias author depends description filename license parm)" \ + '(-)-k[use modules from a different kernel version]:kernel_version:( + $(echo $modules_dir/*(/\:t)))' \ '1:module file:->all_modules' && ret=0 ;; @@ -77,7 +80,14 @@ case "$state" in ;& all_modules) - modules=( /lib/modules/$(uname -r)/(*~source)/**/*(.:t:r) ) + local kver + integer kver_idx + if (( kver_idx=${words[(I)-k]} )); then + kver=${words[kver_idx+1]} + else + kver=$(uname -r) + fi + modules=( $modules_dir/$kver/(*~source)/**/*(.:t:r) ) if [[ $state = loadable_modules ]]; then modules=( ${modules:#(${(j:|:)~${=loaded_modules//_/-}})} ) -- 1.6.0.6