;ELC   
;;; Compiled by leavens@CMC3251632-A on Fri Aug 09 22:34:16 2002
;;; from file d:/emacs/speedbar/rpm.el
;;; in Emacs version 21.2.1
;;; with bytecomp version 2.85
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.
(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`rpm.el' was compiled for Emacs 19.29 or later"))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(require 'speedbar)
#@37 This represents the current system.
(defvar rpm-system nil (#$ . 607))
#@49 Keymap used when working with RPMs in speedbar.
(defvar rpm-speedbar-key-map nil (#$ . 684))
(byte-code "\204 \302 \303	\304\305#\210\303	\306\307#\210\303	\310\311#\210\303	\312\311#\210\302\207" [rpm-speedbar-key-map speedbar-buffers-key-map speedbar-make-specialized-keymap define-key "" speedbar-edit-line "+" speedbar-expand-line "-" speedbar-contract-line "="] 4)
#@74 Menu part in easymenu format that is used in speedbar while in rpm mode.
(defvar rpm-speedbar-menu nil (#$ . 1064))
#@48 Keywords used to highlight an RPM info buffer.
(defvar rpm-font-lock-keywords '(("^\\(/[^ \n]+\\)$" 1 font-lock-reference-face) ("\\(Name\\|Version\\|Release\\|Install date\\|Group\\|Size\\|Packager\\|Summary\\|Description\\|Distribution\\|Vendor\\|Build Date\\|Build Host\\|Source RPM\\|URL\\) *:" 0 font-lock-variable-name-face) ("^Name +: \\([^ 	]+\\)" 1 font-lock-function-name-face) ("^\\([^\n]+\\)$" 1 font-lock-comment-face)) (#$ . 1186))
#@53 View RPM PACKAGE information in the current buffer.
(defalias 'rpm-info #[(package) "\301\302!\210\303\304\305\306\305\307&\210eb\210\310 \210\311\305!\210\301\312!\207" [package toggle-read-only -1 call-process "rpm" nil t "-qil" rpm-mode set-buffer-modified-p 1] 7 (#$ . 1638) "sPackage: "])
#@45 Major mode for viewing package information.
(defalias 'rpm-mode #[nil "\303 \210\304\305\306\302!\210\307\310\311!\207" [major-mode mode-name font-lock-defaults kill-all-local-variables rpm-mode "RPM" make-local-variable ((rpm-font-lock-keywords) t t ((95 . "w") (47 . "w"))) run-hooks rpm-info-hook] 2 (#$ . 1940) nil])
#@38 Red Hat Package Management in Emacs.
(defalias 'rpm #[nil "\300\301!\210\302\303!\210\304\305!\207" [speedbar-frame-mode 1 speedbar-add-expansion-list ("rpm" rpm-speedbar-menu rpm-speedbar-key-map rpm-speedbar) speedbar-change-initial-expansion-list "rpm"] 2 (#$ . 2270) nil])
#@118 Create buttons in speedbar that represents the current rpm system.
Takes DIRECTORY and ZERO, which are both ignored.
(defalias 'rpm-speedbar #[(directory zero) "\302 \210\303\304\305	\306\307$)\207" [speedbar-tag-hierarchy-method rpm-system rpm-fetch-system (speedbar-sort-tag-hierarchy) speedbar-insert-generic-list -1 rpm-tag-expand rpm-tag-find] 5 (#$ . 2554)])
#@218 Expand a tag sublist.  Imenu will return sub-lists of specialized tag types.
Etags does not support this feature.  TEXT will be the button
string.  TOKEN will be the list, and INDENT is the current indentation
level.
(defalias 'rpm-tag-expand #[(text token indent) "\305\306\"\203! \307\310!\210\311\212\312\210\313u\210\314\315\f\316\317$\210+\2027 \305\320\"\2033 \307\321!\210\322!\210\2027 \323\324!\210\325 \207" [text inhibit-read-only speedbar-tag-hierarchy-method indent token string-match "+" speedbar-change-expand-button-char 45 t nil 1 (speedbar-sort-tag-hierarchy) speedbar-insert-generic-list rpm-tag-expand rpm-tag-find "-" 43 speedbar-delete-subblock error "Ooops... not sure what to do." speedbar-center-buffer-smartly] 5 (#$ . 2927)])
#@118 When clicking on a found tag, open that RPM file up.
TEXT is the name of the package.  TOKEN and INDENT are ignored.
(defalias 'rpm-tag-find #[(text token indent) "\306!\307	\310\"\211\203 \311\n!\210\312\313\n!!\210\2022 \203* \314\311\315	!!\210)\2022 \316!\210\317	!\210\320 \210\321!*\207" [text buff bwin dframe-power-click pop-up-frames speedbar-frame get-buffer-create get-buffer-window 0 select-window raise-frame window-frame t display-buffer dframe-select-attached-frame switch-to-buffer erase-buffer rpm-info] 4 (#$ . 3694)])
#@36 Fetch the system by executing rpm.
(defalias 'rpm-fetch-system #[nil "?\205\237 \212\305\306!q\210edU\203  \307\310!\210\311\312\313\314\313\315\316\317&\210\307\320!\210eb\210\321\322\313\314#\205\236 \323\324!\323\325!\313\326\327\n\"\210\330\323\324\n\"\"\211\204T \323\324\n\"C\211B\n\331\225\313O\326\327\n\"\203\206 \330\323\324\n\"\"\211\204z \323\324\n\"C\211AB\241\210\f)\n\331\225\313O\202Z A\203\222 A\211\202\207 	\324B\313B\241\210+\202' )\207" [rpm-system n p sl ssl get-buffer-create "*rpm output*" speedbar-message "Running rpm -qa" call-process "rpm" nil t "-qa" "--queryformat" "%{name}-%{version}-%{release} %{group}\n" "Parsing output ... " re-search-forward "^\\([^ ]+\\) \\([^\n]+\\)$" match-string 1 2 string-match "^\\([^/]+\\)\\(/\\|$\\)" assoc 0] 9 (#$ . 4245)])
(provide 'rpm)
