Mercurial > emacs
view lisp/epa-dired.el @ 111353:f2cb0d643a91
Backport fix for Bug#6571 from trunk. NOTE: May cause merge conflicts.
* src/keyboard.c (input_available_signal): Declare.
(kbd_buffer_nr_stored): New function.
(kbd_buffer_store_event_hold): If kbd_buffer_nr_stored returns
more than KBD_BUFFER_SIZE/2, stop reding input (Bug#6571).
(kbd_buffer_get_event): If input is suspended and kbd_buffer_nr_stored
returns less than KBD_BUFFER_SIZE/4, resume reding input (Bug#6571).
(tty_read_avail_input): If input is on hold, return.
Don't read more that free slots in kbd_buffer (Bug#6571).
* src/process.c (kbd_is_on_hold): New variable.
(hold_keyboard_input, unhold_keyboard_input, kbd_on_hold_p):
New functions.
(wait_reading_process_output): If kbd_on_hold_p returns non-zero,
select on empty input mask.
(init_process): Initialize kbd_is_on_hold to 0.
* src/process.h (hold_keyboard_input, unhold_keyboard_input)
(kbd_on_hold_p): Declare.
author | Jan D. <jan.h.d@swipnet.se> |
---|---|
date | Mon, 01 Nov 2010 12:30:33 +0100 |
parents | 1d1d5d9bd884 |
children | 280c8ae2476d 376148b31b5e |
line wrap: on
line source
;;; epa-dired.el --- the EasyPG Assistant, dired extension ;; Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. ;; Author: Daiki Ueno <ueno@unixuser.org> ;; Keywords: PGP, GnuPG ;; 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 3 of the License, 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. If not, see <http://www.gnu.org/licenses/>. ;;; Code: (require 'epa) (require 'dired) ;;;###autoload (defun epa-dired-do-decrypt () "Decrypt marked files." (interactive) (let ((file-list (dired-get-marked-files))) (while file-list (epa-decrypt-file (expand-file-name (car file-list))) (setq file-list (cdr file-list))) (revert-buffer))) ;;;###autoload (defun epa-dired-do-verify () "Verify marked files." (interactive) (let ((file-list (dired-get-marked-files))) (while file-list (epa-verify-file (expand-file-name (car file-list))) (setq file-list (cdr file-list))))) ;;;###autoload (defun epa-dired-do-sign () "Sign marked files." (interactive) (let ((file-list (dired-get-marked-files))) (while file-list (epa-sign-file (expand-file-name (car file-list)) (epa-select-keys (epg-make-context) "Select keys for signing. If no one is selected, default secret key is used. " nil t) (y-or-n-p "Make a detached signature? ")) (setq file-list (cdr file-list))) (revert-buffer))) ;;;###autoload (defun epa-dired-do-encrypt () "Encrypt marked files." (interactive) (let ((file-list (dired-get-marked-files))) (while file-list (epa-encrypt-file (expand-file-name (car file-list)) (epa-select-keys (epg-make-context) "Select recipents for encryption. If no one is selected, symmetric encryption will be performed. ")) (setq file-list (cdr file-list))) (revert-buffer))) (provide 'epa-dired) ;; arch-tag: 2025700b-48d0-4684-bc94-228ad1f8e9ff ;;; epa-dired.el ends here