;;; pcmpl-rpm.el --- functions for dealing with rpm completions
-;; Copyright (C) 1999-2012 Free Software Foundation, Inc.
+;; Copyright (C) 1999-2016 Free Software Foundation, Inc.
;; Package: pcomplete
(if (search-forward "--nosignature " nil t)
(push "--nosignature" opts))))
opts)
- "List of extra options to add to an rpm query command."
- :version "24.2"
- :type '(repeat string)
+ "String, or list of strings, with extra options for an rpm query command."
+ :version "24.3"
+ :type '(choice (const :tag "No options" nil)
+ (string :tag "Single option")
+ (repeat :tag "List of options" string))
:group 'pcmpl-rpm)
(defcustom pcmpl-rpm-cache t
"Whether to cache the list of installed packages."
- :version "24.2"
+ :version "24.3"
:type 'boolean
:group 'pcmpl-rpm)
;; Functions:
-;; This can be slow, so:
-;; Consider printing an explanatory message before running -qa.
(defun pcmpl-rpm-packages ()
"Return a list of all installed rpm packages."
(if (and pcmpl-rpm-cache
(let ((mtime (nth 5 (file-attributes pcmpl-rpm-cache-stamp-file))))
(and mtime (not (time-less-p pcmpl-rpm-cache-time mtime)))))
pcmpl-rpm-packages
+ (message "Getting list of installed rpms...")
(setq pcmpl-rpm-cache-time (current-time)
pcmpl-rpm-packages
(split-string (apply 'pcomplete-process-result "rpm"
(append '("-q" "-a")
- pcmpl-rpm-query-options))))))
+ (if (stringp pcmpl-rpm-query-options)
+ (list pcmpl-rpm-query-options)
+ pcmpl-rpm-query-options)))))
+ (message "Getting list of installed rpms...done")
+ pcmpl-rpm-packages))
;; Should this use pcmpl-rpm-query-options?
;; I don't think it would speed it up at all (?).