From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: "Stefan Monnier" Newsgroups: gmane.emacs.devel Subject: Re: problem of define-minor-mode while bootstrapping Date: Fri, 20 Sep 2002 14:38:08 -0400 Sender: emacs-devel-admin@gnu.org Message-ID: <200209201838.g8KIc8t13414@rum.cs.yale.edu> References: <200209191320.WAA03733@etlken.m17n.org> <200209191346.g8JDkdq07175@rum.cs.yale.edu> <200209200006.JAA04300@etlken.m17n.org> NNTP-Posting-Host: localhost.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1032556943 15752 127.0.0.1 (20 Sep 2002 21:22:23 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Fri, 20 Sep 2002 21:22:23 +0000 (UTC) Cc: monnier+gnu/emacs@rum.cs.yale.edu, emacs-devel@gnu.org, d.love@dl.ac.uk Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 17sVEE-00045w-00 for ; Fri, 20 Sep 2002 23:22:22 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 17sVtg-00088i-00 for ; Sat, 21 Sep 2002 00:05:12 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10) id 17sVEd-00012q-00; Fri, 20 Sep 2002 17:22:47 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10) id 17sSfZ-0008Tg-00 for emacs-devel@gnu.org; Fri, 20 Sep 2002 14:38:25 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10) id 17sSfX-0008TU-00 for emacs-devel@gnu.org; Fri, 20 Sep 2002 14:38:25 -0400 Original-Received: from rum.cs.yale.edu ([128.36.229.169]) by monty-python.gnu.org with esmtp (Exim 4.10) id 17sSfX-0008TQ-00 for emacs-devel@gnu.org; Fri, 20 Sep 2002 14:38:23 -0400 Original-Received: (from monnier@localhost) by rum.cs.yale.edu (8.11.6/8.11.6) id g8KIc8t13414; Fri, 20 Sep 2002 14:38:08 -0400 X-Mailer: exmh version 2.4 06/23/2000 with nmh-1.0.4 Original-To: Kenichi Handa Errors-To: emacs-devel-admin@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.devel:8054 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:8054 > >> Here's the last few lines of define-minor-mode. > >> > >> ;; If the mode is global, call the function according to the default. > >> ,(if globalp > >> `(if (and load-file-name ,mode) > >> (eval-after-load load-file-name '(,mode 1))))))) > >> > >> Could someone please fix this problem at first? > > > Update your sandbox, I've fixed it a few days ago AFAIK, > > Do you mean this change? > > * emacs-lisp/easy-mmode.el (define-minor-mode): Add a :require arg. > Don't call the function during init if mode is on by default. > > *************** > *** 224,230 **** > (symbol-value ',keymap-sym)))) > > ;; If the mode is global, call the function according to the default. > ! ,(if globalp > `(if (and load-file-name ,mode) > (eval-after-load load-file-name '(,mode 1))))))) > > --- 227,233 ---- > (symbol-value ',keymap-sym)))) > > ;; If the mode is global, call the function according to the default. > ! ,(if (and globalp (null init-value)) > `(if (and load-file-name ,mode) > (eval-after-load load-file-name '(,mode 1))))))) > > > Could you please install it in RC too if that causes no > problem? > > But, it seems that, with this, if :init-value is t, the > function to do various settings to make the mode work is > never called. Do you mean that you'd rather see ,(if globalp `(if (and load-file-name (not (equal ,mode ,init-value))) (eval-after-load load-file-name '(,mode (if ,mode 1 -1))))) I'm not sure it's worth the trouble. The reason for this little piece of code is so as to call (foo-mode 1) when people do (setq foo-mode t) in their .emacs and then load foo-mode.el. But people shouldn't use (setq foo-mode t), they should use (foo-mode 1) instead anyway. So I'd rather use that code less often rather than more often. Stefan