From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: storm@cua.dk (Kim F. Storm) Newsgroups: gmane.emacs.devel Subject: Re: Enhancements to "minor-mode-map-alist" functionality. Date: 01 May 2002 19:37:00 +0200 Sender: emacs-devel-admin@gnu.org Message-ID: <5xy9f3epmr.fsf@kfs2.cua.dk> References: <5xbscpg7zl.fsf@kfs2.cua.dk> <200204112243.g3BMhmI01190@rum.cs.yale.edu> <5xd6x5i7ps.fsf@kfs2.cua.dk> <5x4rih12b2.fsf@kfs2.cua.dk> <200204121846.g3CIkZY16909@rum.cs.yale.edu> <5xofgoobzr.fsf@kfs2.cua.dk> <200204122021.g3CKLh217680@rum.cs.yale.edu> <5xu1qd29od.fsf@kfs2.cua.dk> <200204162018.g3GKI3S24358@aztec.santafe.edu> <5x662rxog2.fsf@kfs2.cua.dk> <200204181846.g3IIk2K00596@aztec.santafe.edu> <5xk7r4mwqs.fsf@kfs2.cua.dk> <200204191842.g3JIgnV01056@aztec.santafe.edu> <5x8z7juyxf.fsf@kfs2.cua.dk> <200204201727.g3KHRvu01477@aztec.santafe.edu> <5xwuv11f7v.fsf@kfs2.cua.dk> <200204222236.g3MMamv02091@aztec.santafe.edu> <5xbscahe51.fsf@kfs2.cua.dk> <200204241755.g3OHtBZ03352@aztec.santafe.edu> <5xlmbaefru.fsf@kfs2.cua.dk> <200204272241.g3RMfNd05496@aztec.santafe.edu> <200204300518.g3U5ILu06523@aztec.santafe.edu> <5xn0vkx4jw.fsf@kfs2.cua.dk> <200205010714.g417EZV07395@aztec.santafe.edu> NNTP-Posting-Host: localhost.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1020271160 8497 127.0.0.1 (1 May 2002 16:39:20 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Wed, 1 May 2002 16:39:20 +0000 (UTC) Cc: Kai.Grossjohann@CS.Uni-Dortmund.DE, emacs-devel@gnu.org Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.33 #1 (Debian)) id 172x8S-0002Cw-00 for ; Wed, 01 May 2002 18:39:20 +0200 Original-Received: from fencepost.gnu.org ([199.232.76.164]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 172xDG-0008HH-00 for ; Wed, 01 May 2002 18:44:18 +0200 Original-Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) by fencepost.gnu.org with esmtp (Exim 3.34 #1 (Debian)) id 172x8D-0003EB-00; Wed, 01 May 2002 12:39:05 -0400 Original-Received: from mail.filanet.dk ([195.215.206.179]) by fencepost.gnu.org with smtp (Exim 3.34 #1 (Debian)) id 172x5Y-0002ni-00; Wed, 01 May 2002 12:36:20 -0400 Original-Received: from kfs2.cua.dk.cua.dk (unknown [10.1.82.3]) by mail.filanet.dk (Postfix) with SMTP id B8AA47C035; Wed, 1 May 2002 16:36:12 +0000 (GMT) Original-To: rms@gnu.org In-Reply-To: <200205010714.g417EZV07395@aztec.santafe.edu> Original-Lines: 52 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2.50 Errors-To: emacs-devel-admin@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.0.9 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.devel:3485 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:3485 Richard Stallman writes: > It is a list of alists with the same format and interpretation as > minor-mode-map-alist. > > Would a single added alist do the job? I think a package should be able to create its own alist and link it into the -map-alists list. Then packages like cua and viper don't need to worry about each other... Having one extra alist or a list of alists doesn't make much difference for the implementation - but it makes a big difference at the lisp level. > > Alternatively, an element may look like (lambda . FORM) where FORM is > evaluated and should return either nil or a cons (SYMBOL . KEYMAP); > > That seems kludgy and ugly. I fully agree. > I would rather allow replacing VARIABLE > with a boolean expression. Wouldn't that be enough? So would I, but what symbol should describe-bindings show in case of a boolean expression? E.g. `cua--ena-cua-keys-keymap' Minor Mode Bindings: Maybe it could just be nil - in which case describe-bindings would print a heading with no specific symbol, e.g. Misc. Emulation Mode Bindings: > > I think this is the sort of area where it is better to make smaller > extensions, not larger ones. I don't think I'm advocating for large extensions here. The functionality is confined to adding one new variable, and modifying one or two functions at the C level. But I need to take care of the [potential] memory allocation problems in current_minor_maps. Either by explicitly defining (and evalling) a specific set of functions which may be used in the expression, or by inhibiting evaluation of the boolean expressions if we have run out of memory. -- Kim F. Storm http://www.cua.dk