;;; pcmpl-rpm.el --- functions for dealing with rpm completions
-;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
-;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2011 Free Software Foundation, Inc.
+
+;; Package: pcomplete
;; This file is part of GNU Emacs.
;;; Commentary:
-;; These functions provide completion rules for RedHat's `rpm' tool.
+;; These functions provide completion rules for the `rpm' command.
;;; Code:
-(provide 'pcmpl-rpm)
-
(require 'pcomplete)
-(defgroup pcmpl-rpm nil
- "Functions for dealing with CVS completions."
- :group 'pcomplete)
-
;; Functions:
(defsubst pcmpl-rpm-packages ()
;;;###autoload
(defun pcomplete/rpm ()
- "Completion for RedHat's `rpm' command.
-These rules were taken from the output of `rpm --help' on a RedHat 6.1
-system. They follow my interpretation of what followed, but since I'm
-not a major rpm user/builder, please send me any corrections you find.
-You can use \\[eshell-report-bug] to do so."
+ "Completion for the `rpm' command."
+ ;; Originally taken from the output of `rpm --help' on a Red Hat 6.1 system.
(let (mode)
(while (<= pcomplete-index pcomplete-last)
(unless mode
(pcmpl-rpm-all-query "--requires")))))
(if (pcomplete-match "^-" 0)
(pcomplete-opt "af.p(pcmpl-rpm-files)ilsdcvR")
- (pcomplete-here (pcmpl-rpm-packages)))))
+ (if (pcomplete-test "-[^-]*p" 'first 1)
+ (pcomplete-here (pcmpl-rpm-files))
+ (pcomplete-here (pcmpl-rpm-packages))))))
((pcomplete-test "--pipe")
(pcomplete-here* (funcall pcomplete-command-completion-function)))
((pcomplete-test "--rmsource")
(if (pcomplete-match "^-" 0)
(pcomplete-opt "v")
(pcomplete-here
- (if (eq mode 'test)
- (pcomplete-dirs-or-entries "\\.tar\\'")
- (pcomplete-dirs-or-entries "\\.spec\\'"))))))
+ (pcomplete-dirs-or-entries (if (eq mode 'test)
+ "\\.tar\\'"
+ "\\.spec\\'"))))))
(t
(error "You must select a mode: -q, -i, -U, --verify, etc"))))))
-;; arch-tag: 4e64b490-fecf-430e-b2b9-70a8ad64b8c1
+(provide 'pcmpl-rpm)
+
;;; pcmpl-rpm.el ends here