From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Christoph Scholtes Newsgroups: gmane.emacs.devel Subject: Re: completion-list-mode-map Date: Tue, 05 Jul 2011 19:37:30 -0600 Message-ID: <4E13BC5A.2070007@gmail.com> References: <4DEA3F21.2020302@gmail.com> <4E07B9F0.3080102@gmail.com> <4E0F40A1.3020503@gmail.com> <4E0FB543.9040608@gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1309916285 8715 80.91.229.12 (6 Jul 2011 01:38:05 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 6 Jul 2011 01:38:05 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Jul 06 03:38:01 2011 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1QeH3x-0003Ab-7T for ged-emacs-devel@m.gmane.org; Wed, 06 Jul 2011 03:38:01 +0200 Original-Received: from localhost ([::1]:54564 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QeH3w-0007ff-6E for ged-emacs-devel@m.gmane.org; Tue, 05 Jul 2011 21:38:00 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:54458) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QeH3a-0007f7-Uu for emacs-devel@gnu.org; Tue, 05 Jul 2011 21:37:39 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QeH3Z-0005xN-4M for emacs-devel@gnu.org; Tue, 05 Jul 2011 21:37:38 -0400 Original-Received: from mail-iy0-f169.google.com ([209.85.210.169]:55531) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QeH3Y-0005xJ-Nz for emacs-devel@gnu.org; Tue, 05 Jul 2011 21:37:36 -0400 Original-Received: by iyl8 with SMTP id 8so7167382iyl.0 for ; Tue, 05 Jul 2011 18:37:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=9CfN/bBfQ7a4yPma0JR7sBNCExB+ISTFrT/84zHADww=; b=qu24JVPfd/NlrAF1MLnHrtvkLi9UvFoYqhhKdPkVz/H7I0DUNt86m3j1NOVnIDeTXY BGrNp6xAo6ZsdvYsj7l/45coBcrlMUAhM1FaZe/KcyGhCO2XpHGNz0PdnndMrS8MHLrN yJnW1vZAu8y4A4yQMWVHTu349Lr9HQp7LIz30= Original-Received: by 10.231.206.72 with SMTP id ft8mr1891446ibb.95.1309916255622; Tue, 05 Jul 2011 18:37:35 -0700 (PDT) Original-Received: from [192.168.1.2] (70-59-8-12.hlrn.qwest.net [70.59.8.12]) by mx.google.com with ESMTPS id b6sm1810425ibg.65.2011.07.05.18.37.34 (version=SSLv3 cipher=OTHER); Tue, 05 Jul 2011 18:37:35 -0700 (PDT) User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20110624 Thunderbird/5.0 In-Reply-To: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 209.85.210.169 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:141632 Archived-At: On 7/2/2011 11:38 PM, Stefan Monnier wrote: >> or is there implicit inheritance of the keymap when deriving from >> special mode? > > Yes, that inheritance is implicit (it's set up when the mode is > activated) unless the keymap already has a parent. Thanks. I started looking into this and it looks like it is more complicated than I thought. I grepped for `'mode-class 'special' and got a pageful of hits. Some of these modes are already derived from special modes, some are not. Looking at the ones that are not, I am wondering if they should be. For example: - arc-mode's mode-class is special. However, arc-mode is not derived from special-mode. Should it be? - comint-mode is derived from fundamental-mode, but it's mode-class is also special. Should it be derived from special-mode instead? In other cases modes derive from special-mode already, but the key map parent is not set to special-mode map. For example, tar-mode. Should the key map parent always be special-mode-map? What prompted me to look into this in the first place was the inconsistent behavior of `q'/`z' when trying to quit/kill buffers. special-mode map defines `q' as quit-window and `z' as kill-this-buffer, but some keymaps define `q' as, for example, thumbs-kill-buffer. How do we handle these cases? Thanks, Christoph