Mercurial > emacs
view lisp/pcmpl-linux.el @ 81778:cd3e38bb3dc7
Merge from emacs--rel--22
Patches applied:
* emacs--rel--22 (patch 51-54)
- Update from CVS
- Merge from gnus--rel--5.10
* gnus--rel--5.10 (patch 233-234)
- Merge from emacs--devo--0
- Update from CVS
2007-07-08 Katsumi Yamaoka <yamaoka@jpl.org>
* lisp/cus-start.el (file-coding-system-alist): Fix custom type.
2007-07-08 Chong Yidong <cyd@stupidchicken.com>
* lisp/longlines.el (longlines-wrap-region): Avoid marking buffer as
modified.
(longlines-auto-wrap, longlines-window-change-function): Remove
unnecessary calls to set-buffer-modified-p.
2007-07-03 Dan Nicolaescu <dann@ics.uci.edu>
* lisp/progmodes/gud.el (auto-mode-alist): Match more valid gdb init
file names.
2007-07-01 Richard Stallman <rms@gnu.org>
* lisp/files.el (find-file-visit-truename): Fix safe-local-variable value.
2007-07-04 Katsumi Yamaoka <yamaoka@jpl.org>
* lisp/gnus/gnus-sum.el (gnus-summary-catchup): Don't recognize cached
articles as unfetched articles.
2007-07-02 Reiner Steib <Reiner.Steib@gmx.de>
* lisp/gnus/gnus-start.el (gnus-level-unsubscribed): Improve doc string.
2007-06-26 Katsumi Yamaoka <yamaoka@jpl.org>
* lisp/gnus/gnus-art.el (gnus-article-summary-command-nosave)
(gnus-article-read-summary-keys): Don't set the 3rd arg of
pop-to-buffer for XEmacs.
2007-07-02 Reiner Steib <Reiner.Steib@gmx.de>
* man/gnus-faq.texi ([3.2]): Fix locating of environment variables in the
Control Panel.
* man/gnus.texi (Misc Article): Add index entry for
gnus-single-article-buffer.
2007-06-27 Andreas Seltenreich <andreas@gate450.dyndns.org>
* man/gnus.texi (Starting Up): Fix typo.
2007-06-25 Katsumi Yamaoka <yamaoka@jpl.org>
* man/gnus.texi (Asynchronous Fetching): Fix typo.
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-806
author | Miles Bader <miles@gnu.org> |
---|---|
date | Tue, 10 Jul 2007 02:02:35 +0000 |
parents | e3694f1cb928 |
children | 9355f9b7bbff 95d0cdf160ea |
line wrap: on
line source
;;; pcmpl-linux.el --- functions for dealing with GNU/Linux completions ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, ;; 2005, 2006, 2007 Free Software Foundation, Inc. ;; This file is part of GNU Emacs. ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to the ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ;; Boston, MA 02110-1301, USA. ;;; Commentary: ;; These functions are for use with GNU/Linux. Since they depend on a ;; certain knowledge of the layout of such systems, they probably ;; won't work very well on other operating systems. ;;; Code: (provide 'pcmpl-linux) (require 'pcomplete) (defgroup pcmpl-linux nil "Functions for dealing with GNU/Linux completions." :group 'pcomplete) ;; Functions: ;;;###autoload (defun pcomplete/kill () "Completion for GNU/Linux `kill', using /proc filesystem." (if (pcomplete-match "^-\\(.*\\)" 0) (pcomplete-here (pcomplete-uniqify-list (split-string (pcomplete-process-result "kill" "-l"))) (pcomplete-match-string 1 0))) (while (pcomplete-here (if (file-directory-p "/proc") (let ((default-directory "/proc/")) (mapcar 'directory-file-name (pcomplete-entries "[0-9]+/$")))) nil 'identity))) ;;;###autoload (defun pcomplete/umount () "Completion for GNU/Linux `umount'." (pcomplete-opt "hVafrnvt(pcmpl-linux-fs-types)") (while (pcomplete-here (pcmpl-linux-mounted-directories) nil 'identity))) ;;;###autoload (defun pcomplete/mount () "Completion for GNU/Linux `mount'." (pcomplete-opt "hVanfFrsvwt(pcmpl-linux-fs-types)o?L?U?") (while (pcomplete-here (pcomplete-entries) nil 'identity))) (defun pcmpl-linux-fs-types () "Return a list of available fs modules on GNU/Linux systems." (let ((kernel-ver (pcomplete-process-result "uname" "-r"))) (mapcar (function (lambda (fsobj) (substring fsobj 0 (- (length fsobj) 2)))) (let ((default-directory (concat "/lib/modules/" kernel-ver "/fs/"))) (pcomplete-entries "\\.o$"))))) (defun pcmpl-linux-mounted-directories () "Return a list of mounted directory names." (let (points) (when (file-readable-p "/etc/mtab") (with-temp-buffer (insert-file-contents-literally "/etc/mtab") (while (not (eobp)) (let* ((line (buffer-substring (point) (line-end-position))) (args (split-string line " "))) (setq points (cons (nth 1 args) points))) (forward-line))) (pcomplete-uniqify-list points)))) (defun pcmpl-linux-mountable-directories () "Return a list of mountable directory names." (let (points) (when (file-readable-p "/etc/fstab") (with-temp-buffer (insert-file-contents-literally "/etc/fstab") (while (not (eobp)) (let* ((line (buffer-substring (point) (line-end-position))) (args (split-string line "\\s-+"))) (setq points (cons (nth 1 args) points))) (forward-line))) (pcomplete-pare-list (pcomplete-uniqify-list points) (cons "swap" (pcmpl-linux-mounted-directories)))))) ;;; arch-tag: bb0961a6-a623-463d-92c6-497c317293b1 ;;; pcmpl-linux.el ends here