Mercurial > emacs
view lisp/epa-dired.el @ 109678:14830418f9fc
Change `select-active-region' mechanics.
Save region text prior to buffer modification.
Set window selection lazily, during `deactivate-mark' or after each
command when the region is temporarily active.
* lisp/cus-start.el: Add custom declaration for select-active-regions.
* lisp/mouse.el (mouse-drag-track): Remove hacks to deal with old
select-active-regions implementation.
(mouse-yank-at-click): Doc fix.
* lisp/simple.el (select-active-regions): Move to keyboard.c.
(deactivate-mark): Used saved-region-selection.
(select-active-region): Function removed.
(activate-mark, set-mark, push-mark-command)
(handle-shift-selection): Don't call it.
(keyboard-quit): Avoid adding the region to the window selection.
* src/insdel.c (prepare_to_modify_buffer): Save active region text to
Vsaved_region_selection.
* src/keyboard.c (Vselect_active_regions): Move from simple.el.
(Vsaved_region_selection, Qx_set_selection, QPRIMARY, Qlazy): New
vars.
(command_loop_1): Set window selection prior to deactivating the
mark.
* src/xselect.c (QPRIMARY): Move to keyboard.c.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Sat, 07 Aug 2010 15:39:04 -0400 |
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