From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Hadron Quark Newsgroups: gmane.emacs.help Subject: Re: c++ and c common mode Date: Thu, 14 Dec 2006 19:28:59 +0100 Message-ID: References: <1166023965.520675.81860@f1g2000cwa.googlegroups.com> <8cmz5rvm8a.fsf@gmail.com> <1166024855.502791.285810@j44g2000cwa.googlegroups.com> <1166027311.376131.238890@t46g2000cwa.googlegroups.com> NNTP-Posting-Host: dough.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1166121660 20904 80.91.229.10 (14 Dec 2006 18:41:00 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 14 Dec 2006 18:41:00 +0000 (UTC) Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Thu Dec 14 19:40:58 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 1GuvVp-0003Rd-4W for geh-help-gnu-emacs@m.gmane.org; Thu, 14 Dec 2006 19:40:57 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GuvVp-00052u-2V for geh-help-gnu-emacs@m.gmane.org; Thu, 14 Dec 2006 13:40:57 -0500 Original-Path: shelby.stanford.edu!newsfeed.stanford.edu!postnews.google.com!news3.google.com!news.glorb.com!newsgate.cistron.nl!xs4all!amsnews11.chello.com!border1.nntp.ams.giganews.com!nntp.giganews.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 66 Original-X-Trace: individual.net PpRublyr9d5VeFN3N0on9wVLl4gMl6rgnhz9k9TLY751A+NzSW X-Orig-Path: news.individual.net!news X-Face: 2h#||Cd#d%F*NCm59[_6/{1a@jy%; |j>{D~4^gKg(^i%7j0IK?+,/GmW&:CD5fEKb_! User-Agent: Gnus Cancel-Lock: sha1:NtP8dR7ZAQNAO8iuAWqs/r90HXE= Original-Xref: shelby.stanford.edu gnu.emacs.help:143936 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:39540 Archived-At: "Robert Thorpe" writes: > 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. > It was changeable! Thanks for your help. --