From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Leo Newsgroups: gmane.emacs.devel Subject: Re: [patch] convert footnote.el to use define-minor-mode Date: Fri, 02 Jan 2009 18:21:24 +0000 Organization: University of Cambridge Message-ID: References: <86d4fx82jd.fsf@nirvana.pusto.de> <8663lnprjt.fsf@nirvana.pusto.de> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1230920522 11194 80.91.229.12 (2 Jan 2009 18:22:02 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 2 Jan 2009 18:22:02 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jan 02 19:23:10 2009 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1LIofg-0006mW-Rw for ged-emacs-devel@m.gmane.org; Fri, 02 Jan 2009 19:22:57 +0100 Original-Received: from localhost ([127.0.0.1]:51952 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LIoeS-0003Sr-3u for ged-emacs-devel@m.gmane.org; Fri, 02 Jan 2009 13:21:40 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LIoeO-0003Qu-6p for emacs-devel@gnu.org; Fri, 02 Jan 2009 13:21:36 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LIoeN-0003PG-9I for emacs-devel@gnu.org; Fri, 02 Jan 2009 13:21:35 -0500 Original-Received: from [199.232.76.173] (port=47724 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LIoeN-0003P6-7V for emacs-devel@gnu.org; Fri, 02 Jan 2009 13:21:35 -0500 Original-Received: from main.gmane.org ([80.91.229.2]:49317 helo=ciao.gmane.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1LIoeM-0006Qc-9F for emacs-devel@gnu.org; Fri, 02 Jan 2009 13:21:34 -0500 Original-Received: from list by ciao.gmane.org with local (Exim 4.43) id 1LIoeK-0007kK-32 for emacs-devel@gnu.org; Fri, 02 Jan 2009 18:21:32 +0000 Original-Received: from smaug.linux.pwf.cam.ac.uk ([193.60.95.72]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 02 Jan 2009 18:21:32 +0000 Original-Received: from sdl.web by smaug.linux.pwf.cam.ac.uk with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 02 Jan 2009 18:21:32 +0000 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 151 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: smaug.linux.pwf.cam.ac.uk User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) Cancel-Lock: sha1:trQqcVgJQ+JMBprkMRcmBMnPTc8= X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:107533 Archived-At: On 2008-12-13 23:46 +0000, Eduard Wiebe wrote: > Stefan Monnier writes: > >>> * mail/footnote.el (footnote-mode): Use define-minor-mode >>> (footnote-prefix): Use defcustom >> >> Looks very good, thank you. Except you've renamed footnote-prefix to >> footnote-mode-prefix, which doesn't seem to be worth the trouble (of >> and ChangeLog text should end with "."). > > Stefan, thank you for comments. I'd very much like the following patch to be applied. Could one of the maintainers express their comments? Thanks. > > 2008-12-14 Eduard Wiebe > > * mail/footnote.el (footnote-mode): Use define-minor-mode. > (footnote-prefix): Use defcustom. > > diff --git a/lisp/mail/footnote.el b/lisp/mail/footnote.el > index 506f6e7..a7b372b 100644 > --- a/lisp/mail/footnote.el > +++ b/lisp/mail/footnote.el > @@ -45,15 +45,6 @@ > :version "21.1" > :group 'message) > > -(defcustom footnote-mode-line-string " FN" > - "String to display in modes section of the mode-line." > - :group 'footnote) > - > -(defcustom footnote-mode-hook nil > - "Hook functions run when footnote-mode is activated." > - :type 'hook > - :group 'footnote) > - > (defcustom footnote-narrow-to-footnotes-when-editing nil > "If non-nil, narrow to footnote text body while editing a footnote." > :type 'boolean > @@ -84,8 +75,12 @@ displaying footnotes." > :type 'integer > :group 'footnote) > > -(defvar footnote-prefix [(control ?c) ?!] > - "*When not using `message-mode', the prefix to bind in `mode-specific-map'") > +(defcustom footnote-prefix "\C-c!" > + "Prefix key to use for Footnote command in Footnote minor mode. > +The value of this variable is checked as part of loading Footnote mode. > +After that, changing the prefix key requires manipulating keymaps." > + :type 'string > + :group 'footnote) > > ;;; Interface variables that probably shouldn't be changed > > @@ -143,10 +138,6 @@ has no effect on buffers already displaying footnotes." > (defvar footnote-mouse-highlight 'highlight > "Text property name to enable mouse over highlight.") > > -(defvar footnote-mode nil > - "Variable indicating whether footnote minor mode is active.") > -(make-variable-buffer-local 'footnote-mode) > - > ;;; Default styles > ;;; NUMERIC > (defconst footnote-numeric-regexp "[0-9]+" > @@ -743,47 +734,31 @@ being set it is automatically widened." > (widen)) > (goto-char (cadr (assq note footnote-pointer-marker-alist)))))) > > -(defvar footnote-mode-map nil > - "Keymap used for footnote minor mode.") > - > -;; Set up our keys > -(unless footnote-mode-map > - (setq footnote-mode-map (make-sparse-keymap)) > - (define-key footnote-mode-map "a" 'Footnote-add-footnote) > - (define-key footnote-mode-map "b" 'Footnote-back-to-message) > - (define-key footnote-mode-map "c" 'Footnote-cycle-style) > - (define-key footnote-mode-map "d" 'Footnote-delete-footnote) > - (define-key footnote-mode-map "g" 'Footnote-goto-footnote) > - (define-key footnote-mode-map "r" 'Footnote-renumber-footnotes) > - (define-key footnote-mode-map "s" 'Footnote-set-style)) > - > -(defvar footnote-minor-mode-map nil > - "Keymap used for binding footnote minor mode.") > - > -(unless footnote-minor-mode-map > - (define-key global-map footnote-prefix footnote-mode-map)) > +(defvar footnote-mode-map > + (let ((map (make-sparse-keymap)) > + (prefix-map (make-sparse-keymap))) > + (define-key map footnote-prefix prefix-map) > + (define-key prefix-map "a" 'Footnote-add-footnote) > + (define-key prefix-map "b" 'Footnote-back-to-message) > + (define-key prefix-map "c" 'Footnote-cycle-style) > + (define-key prefix-map "d" 'Footnote-delete-footnote) > + (define-key prefix-map "g" 'Footnote-goto-footnote) > + (define-key prefix-map "r" 'Footnote-renumber-footnotes) > + (define-key prefix-map "s" 'Footnote-set-style) > + map)) > > ;;;###autoload > -(defun footnote-mode (&optional arg) > +(define-minor-mode footnote-mode > "Toggle footnote minor mode. > -\\ > This minor mode provides footnote support for `message-mode'. To get > started, play around with the following keys: > -key binding > ---- ------- > -\\[Footnote-add-footnote] Footnote-add-footnote > -\\[Footnote-back-to-message] Footnote-back-to-message > -\\[Footnote-delete-footnote] Footnote-delete-footnote > -\\[Footnote-goto-footnote] Footnote-goto-footnote > -\\[Footnote-renumber-footnotes] Footnote-renumber-footnotes > -\\[Footnote-cycle-style] Footnote-cycle-style > -\\[Footnote-set-style] Footnote-set-style > +\\{footnote-mode-map} > " > - (interactive "*P") > + :init-value nil > + :lighter " FN" > + :keymap footnote-mode-map > + :group 'footnote > ;; (filladapt-mode t) > - (setq footnote-mode > - (if (null arg) (not footnote-mode) > - (> (prefix-numeric-value arg) 0))) > (when footnote-mode > ;; (Footnote-setup-keybindings) > (make-local-variable 'footnote-style) > @@ -808,14 +783,7 @@ key binding > (unless (assoc bullet-regexp filladapt-token-table) > (setq filladapt-token-table > (append filladapt-token-table > - (list (list bullet-regexp 'bullet))))))) > - > - (run-hooks 'footnote-mode-hook))) > - > -(unless (assq 'footnote-mode minor-mode-alist) > - (setq minor-mode-alist > - (cons '(footnote-mode footnote-mode-line-string) > - minor-mode-alist))) > + (list (list bullet-regexp 'bullet))))))))) > > (provide 'footnote) -- .: Leo :. [ sdl.web AT gmail.com ] .: I use Emacs :.