From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Lennart Borgman (gmail)" Newsgroups: gmane.emacs.devel Subject: Re: Specifying mode in file variables trouble Date: Tue, 23 Sep 2008 22:26:33 +0200 Message-ID: <48D950F9.6030401@gmail.com> References: <48D44761.6000809@gmail.com> <87ljxny6n8.fsf@catnip.gol.com> <48D44C79.9020004@gmail.com> <48D63F30.8060102@gmail.com> <48D6E8FB.4070108@gmail.com> <48D79A25.7050000@gmail.com> <48D8BD92.5080403@gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1222201629 19347 80.91.229.12 (23 Sep 2008 20:27:09 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 23 Sep 2008 20:27:09 +0000 (UTC) Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org To: rms@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Sep 23 22:28:06 2008 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 1KiEUB-0002bS-AP for ged-emacs-devel@m.gmane.org; Tue, 23 Sep 2008 22:27:51 +0200 Original-Received: from localhost ([127.0.0.1]:51996 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KiET9-00081x-Cn for ged-emacs-devel@m.gmane.org; Tue, 23 Sep 2008 16:26:47 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KiET3-0007xT-Ge for emacs-devel@gnu.org; Tue, 23 Sep 2008 16:26:41 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KiET2-0007w5-LI for emacs-devel@gnu.org; Tue, 23 Sep 2008 16:26:40 -0400 Original-Received: from [199.232.76.173] (port=60799 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KiET2-0007vx-I1 for emacs-devel@gnu.org; Tue, 23 Sep 2008 16:26:40 -0400 Original-Received: from ch-smtp01.sth.basefarm.net ([80.76.149.212]:42046) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1KiET1-000118-8O; Tue, 23 Sep 2008 16:26:39 -0400 Original-Received: from c83-254-151-87.bredband.comhem.se ([83.254.151.87]:60827 helo=[127.0.0.1]) by ch-smtp01.sth.basefarm.net with esmtp (Exim 4.68) (envelope-from ) id 1KiESy-0005JJ-5w; Tue, 23 Sep 2008 22:26:37 +0200 User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9) Gecko/20071031 Thunderbird/2.0.0.9 Mnenhy/0.7.5.666 In-Reply-To: X-Enigmail-Version: 0.95.7 X-Antivirus: avast! (VPS 080923-0, 2008-09-23), Outbound message X-Antivirus-Status: Clean X-Originating-IP: 83.254.151.87 X-Scan-Result: No virus found in message 1KiESy-0005JJ-5w. X-Scan-Signature: ch-smtp01.sth.basefarm.net 1KiESy-0005JJ-5w 0bd528aa15e6183c92a5a6f8d22e9460 X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6? (barebone, rare!) 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:104077 Archived-At: Richard M. Stallman wrote: > How about the solutin I sent with mumamo-save-buffer-locals and dito > restore? I suggested something like this > > That is a proposed _mechanism_. Mm. Yes. It is clearly not the whole solution. > Another mechanism which might be to put properties on the variables > that control minor modes. Or perhaps just on per-buffer minor modes > (the ones that are not normally global). There are three main scopes (maybe there are more) for minor modes: - Global - Per buffer - Per major mode Global minor modes are not a problem here. I have suggested long ago using the existing mechanism for distinguishing between local variables that are per buffer and those that are per major mode. In other words: the minor modes that are per buffer should use (put 'PER-BUFFER-VARIABLE 'permanent-local t) on their buffer local variables. (I do that now in mumamo.el for some of the most important.) > By scanning buffer-local-variables and checking for that property, > you could find all the minor modes that are set in a given buffer. I believe I can see what you mean. It might however be better to do it the other way round: mark those buffer local variables that are not used by the type of minor modes we are talking about here. The advantage is of course that minor mode authors most often will not have to know about this. I have implemented such a list in mumamo.el now. This is the variable mumamo-buffer-locals-dont-set. > The mechanism is just part of this. We also need an interface. There > are lots of minor mode definitions, and we want them to be simple and > clean. > > So please propose a change in minor mode definitions so as to do the > job. Then we can evaluate it and maybe propose better alternatives. I think the suggestions above may be sufficient, but that might be just because of lack of imagination/knowledge of Emacs ;-) > I have no idea what > delayed-mode-hooks is used for so I do not know if setting > delay-mode-hooks to nil may cause problems here. > > Please read the doc of the macro `delay-mode-hooks' to learn what this > does. Thanks. I did that after Stefan's reply. I think the doc strings for delay-mode-hooks and the variable delayed-mode-hooks need a bit enhancements, at least pointers to the macro.