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: Sun, 22 Sep 2002 18:54:07 -0400 Sender: emacs-devel-admin@gnu.org Message-ID: <200209222254.g8MMs8I26785@rum.cs.yale.edu> References: <200209210157.KAA05776@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 1032736738 2691 127.0.0.1 (22 Sep 2002 23:18:58 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Sun, 22 Sep 2002 23:18:58 +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 17tG09-0000hH-00 for ; Mon, 23 Sep 2002 01:18:57 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 17tGgA-00051W-00 for ; Mon, 23 Sep 2002 02:02:22 +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 17tG0A-0000HW-00; Sun, 22 Sep 2002 19:18:58 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10) id 17tFxq-00007W-00 for emacs-devel@gnu.org; Sun, 22 Sep 2002 19:16:34 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10) id 17tFxo-000079-00 for emacs-devel@gnu.org; Sun, 22 Sep 2002 19:16:34 -0400 Original-Received: from rum.cs.yale.edu ([128.36.229.169]) by monty-python.gnu.org with esmtp (Exim 4.10) id 17tFxo-000073-00 for emacs-devel@gnu.org; Sun, 22 Sep 2002 19:16:32 -0400 Original-Received: (from monnier@localhost) by rum.cs.yale.edu (8.11.6/8.11.6) id g8MMs8I26785; Sun, 22 Sep 2002 18:54: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:8102 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:8102 > > 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))))) > No. Good ;-) > > 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. > > What I want is to make this work well at bootstrapping time > because now ucs-tables.el is preloaded. Does it not work right now ? > (define-minor-mode unify-8859-on-encoding-mode > "..." > :group 'mule > :global t > :init-value t > (if unify-8859-on-encoding-mode > (ucs-unify-8859 t) > (ucs-fragment-8859 t))) > > When use-tables.el is loaded and this code run, it must run > (if ...) after setting the variable > unify-8859-on-encoding-mode to t. Otherwise, the value of > unify-8859-on-encoding-mode doesn't synchronize with the > acutual status of the mode. Sure. That was the problem: unification was ON but unify-8859-on-encoding-mode was still nil. So I fixed the init value to reflect reality. > After your change, define-minor-mode never run (if ...), > which is worse. Why is it worse ? It's the programmer's responsability to make sure that the init-value is consistent with the state of Emacs when the file is loaded. If you want it to be automatic, then what's wrong with the code suggested above to which you said "No" ? Stefan