Mercurial > emacs
view lisp/pcmpl-linux.el @ 32988:c3435dc00ed7
* lisp.h (KEYMAPP): New macro.
(get_keymap): Remove.
(get_keymap_1): Rename get_keymap.
* keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
* xterm.c (note_mode_line_highlight): Use KEYMAPP.
* xmenu.c (single_submenu): Use KEYMAPP.
(Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
Use KEYMAPP rather than Fkeymapp.
* w32term.c (note_mode_line_highlight): Use KEYMAPP.
* w32menu.c (True, False): Remove (use TRUE and FALSE instead).
(Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
Use KEYMAPP rather than Fkeymapp.
(single_submenu): Use KEYMAPP.
(w32_menu_show, w32_dialog_show): Use TRUE.
* minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
* keymap.c (KEYMAPP): Remove (moved to lisp.h).
(Fkeymapp): Use KEYMAPP.
(get_keymap): Rename from get_keymap_1. Remove old def.
Return t when autoload=0 and error=0 and the keymap needs autoloading.
(Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
(Fminor_mode_key_binding): Don't raise an error if the binding
is not a keymap.
(Fuse_global_map, Fuse_local_map): Allow autoloading.
(Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
* keyboard.c (read_char): get_keymap_1 -> get_keymap.
Allow Vspecial_event_map to be autoloaded.
(menu_bar_items): Fetch the keymap rather than using keymapp.
(menu_bar_one_keymap): No need to follow func-indirect any more.
(parse_menu_item): get_keymap_1 -> get_keymap.
(tool_bar_items): Fetch the keymap rather than using keymapp.
(read_key_sequence): Use KEYMAPP.
* intervals.c (get_local_map): Use get_keymap rather than following
function-indirections explicitly.
* doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Fri, 27 Oct 2000 22:20:19 +0000 |
parents | d4e54e70814f |
children | f14950ae9715 |
line wrap: on
line source
;;; pcmpl-linux --- functions for dealing with cvs completions ;; Copyright (C) 1999, 2000 Free Software Foundation ;; 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., 59 Temple Place - Suite 330, ;; Boston, MA 02111-1307, 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)))))) ;;; pcmpl-linux.el ends here