Function: gnus-registry-install-shortcuts
gnus-registry-install-shortcuts is a byte-compiled function defined in
gnus-registry.el.gz.
Signature
(gnus-registry-install-shortcuts)
Documentation
Install the keyboard shortcuts and menus for the registry.
Uses gnus-registry-marks to find what shortcuts to install.
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/gnus-registry.el.gz
;; This is ugly code, but I don't know how to do it better.
(defun gnus-registry-install-shortcuts ()
"Install the keyboard shortcuts and menus for the registry.
Uses `gnus-registry-marks' to find what shortcuts to install."
(setq gnus-registry-misc-menus nil)
(gnus-registry-do-marks
:char
(lambda (mark data)
(let ((function-format
(format "gnus-registry-%%s-article-%s-mark" mark)))
;;; The following generates these functions:
;;; (defun gnus-registry-set-article-Important-mark (&rest articles)
;;; "Apply the Important mark to process-marked ARTICLES."
;;; (interactive (gnus-summary-work-articles current-prefix-arg))
;;; (gnus-registry-set-article-mark-internal 'Important articles nil t))
;;; (defun gnus-registry-remove-article-Important-mark (&rest articles)
;;; "Apply the Important mark to process-marked ARTICLES."
;;; (interactive (gnus-summary-work-articles current-prefix-arg))
;;; (gnus-registry-set-article-mark-internal 'Important articles t t))
(dolist (remove '(t nil))
(let* ((variant-name (if remove "remove" "set"))
(function-name
(intern (format function-format variant-name)))
(shortcut (format "%c" (if remove (upcase data) data))))
(defalias function-name
(lambda (&rest articles)
(:documentation
(format
"%s the %s mark over process-marked ARTICLES."
(upcase-initials variant-name)
mark))
(interactive
(gnus-summary-work-articles current-prefix-arg))
(gnus-registry--set/remove-mark mark remove articles)))
(keymap-set gnus-summary-mark-map
(concat "M " shortcut)
function-name)
(push (vector (format "%s %s"
(upcase-initials variant-name)
(symbol-name mark))
function-name t)
gnus-registry-misc-menus)
(gnus-message 9 "Defined mark handling function %s"
function-name))))))
(add-hook 'gnus-summary-menu-hook
(lambda ()
(easy-menu-add-item
gnus-summary-misc-menu
nil
(cons "Registry Marks" gnus-registry-misc-menus)))))