From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Robert Thorpe" Newsgroups: gmane.emacs.help Subject: Re: c++ and c common mode Date: 13 Dec 2006 08:28:31 -0800 Organization: http://groups.google.com Message-ID: <1166027311.376131.238890@t46g2000cwa.googlegroups.com> References: <1166023965.520675.81860@f1g2000cwa.googlegroups.com> <8cmz5rvm8a.fsf@gmail.com> <1166024855.502791.285810@j44g2000cwa.googlegroups.com> NNTP-Posting-Host: dough.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" X-Trace: sea.gmane.org 1166028193 9112 80.91.229.10 (13 Dec 2006 16:43:13 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Wed, 13 Dec 2006 16:43:13 +0000 (UTC) Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Wed Dec 13 17:43:11 2006 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by dough.gmane.org with esmtp (Exim 4.50) id 1GuXCE-0003Hk-OO for geh-help-gnu-emacs@m.gmane.org; Wed, 13 Dec 2006 17:43:07 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GuXCE-0000R1-66 for geh-help-gnu-emacs@m.gmane.org; Wed, 13 Dec 2006 11:43:06 -0500 Original-Path: shelby.stanford.edu!newsfeed.stanford.edu!postnews.google.com!t46g2000cwa.googlegroups.com!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 60 Original-NNTP-Posting-Host: 213.94.228.210 Original-X-Trace: posting.google.com 1166027317 22252 127.0.0.1 (13 Dec 2006 16:28:37 GMT) Original-X-Complaints-To: groups-abuse@google.com Original-NNTP-Posting-Date: Wed, 13 Dec 2006 16:28:37 +0000 (UTC) In-Reply-To: User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6,gzip(gfe),gzip(gfe) X-HTTP-Via: 1.0 EMF3ASPROXY03 Complaints-To: groups-abuse@google.com Injection-Info: t46g2000cwa.googlegroups.com; posting-host=213.94.228.210; posting-account=hWoAPxMAAAAnBKSBz1ZivwUPPjEuve7bvVCHZQ8rhrluPfwcBJd92w Original-Xref: shelby.stanford.edu gnu.emacs.help:143912 Original-To: help-gnu-emacs@gnu.org X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:39516 Archived-At: Hadron Quark wrote: > "Robert Thorpe" writes: > > Hadron Quark wrote: > >> "Robert Thorpe" writes: > >> > Hadron Quark wrote: > >> >> Leo writes: > >> >> > >> >> > * [2006.12.13 03:43 +0100] Hadron Quark wrote: > >> >> > ^^^^^^^^^^^^ > >> >> >> I am duplicating hook additions e.g > >> >> >> > >> >> >> (add-hook 'c-mode-common-hook 'my-c-init) > >> >> > > >> >> > I think this line is sufficient. > >> >> > >> >> The one line I *did* have to duplicate was the define-key to add to both > >> >> keyboard maps: > >> >> > >> >> > >> >> ,---- > >> >> | (let ((dl '( > >> >> | ([f1] . jump-man-page) > >> >> | ([backtab] . semantic-ia-complete-symbol) > >> >> | ([f5] . find-tag-noconfirm) > >> >> | ([f6] . find-tag-repeat) > >> >> | ([f7] . pop-tag-mark) > >> >> | ([f2] . gdb-restore-windows) > >> >> | ([f10] . compile) > >> >> | ([f11] . next-error) > >> >> | ([f12] . gdba)))) > >> >> | (dolist (i dl) > >> >> | (define-key c-mode-map (car i) (cdr i)) > >> >> | (define-key c++-mode-map (car i) (cdr i)) > >> >> | )) > >> >> `---- > >> >> > >> >> is there a better way? Some common "subset" for "c like" files? > >> > > >> > Add-hook just adds a function, so why not put the above in a function? > >> > > >> > >> It is : it was just an extract to show the duplication of the define-key lines. > > > > Ah, I'm with yer now. You could do:- > > > > (defun define-key-c-and-c++-map (key x) > > (define-key c-mode-map key x) > > (define-key c++-mode-map key y)) > > > > Thanks, but I realise that - not much of a saving IMO and more > cluttering up of name space. I guess I was asking if there is a "base > key map" shared by all "c like" file modes so I only have to define-key > once. Inside CC-mode there is such a beast, it's called c-mode-base-map. It would be generally useful if it were possible to change it in Emacs configuration. Try asking the CC-mode maintainer if they would consider making it a variable users can set.