From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Miles Bader Newsgroups: gmane.emacs.devel Subject: "C-c C-c" binding for "submission" in server edit buffers Date: Tue, 14 Apr 2009 17:00:19 +0900 Message-ID: Reply-To: Miles Bader NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1239696057 4353 80.91.229.12 (14 Apr 2009 08:00:57 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 14 Apr 2009 08:00:57 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Apr 14 10:02:13 2009 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 1Ltdao-0005r8-V6 for ged-emacs-devel@m.gmane.org; Tue, 14 Apr 2009 10:02:07 +0200 Original-Received: from localhost ([127.0.0.1]:60259 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LtdZQ-0003cJ-12 for ged-emacs-devel@m.gmane.org; Tue, 14 Apr 2009 04:00:40 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LtdZJ-0003b4-8q for emacs-devel@gnu.org; Tue, 14 Apr 2009 04:00:33 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LtdZE-0003Xs-Hn for emacs-devel@gnu.org; Tue, 14 Apr 2009 04:00:32 -0400 Original-Received: from [199.232.76.173] (port=38883 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LtdZE-0003Xl-FP for emacs-devel@gnu.org; Tue, 14 Apr 2009 04:00:28 -0400 Original-Received: from tyo201.gate.nec.co.jp ([202.32.8.193]:58685) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1LtdZC-0000PU-Dm; Tue, 14 Apr 2009 04:00:27 -0400 Original-Received: from relay31.aps.necel.com ([10.29.19.54]) by tyo201.gate.nec.co.jp (8.13.8/8.13.4) with ESMTP id n3E80Klk026313; Tue, 14 Apr 2009 17:00:20 +0900 (JST) Original-Received: from relay31.aps.necel.com ([10.29.19.16] [10.29.19.16]) by relay31.aps.necel.com with ESMTP; Tue, 14 Apr 2009 17:00:20 +0900 Original-Received: from dhlpc061 ([10.114.114.58] [10.114.114.58]) by relay31.aps.necel.com with ESMTP; Tue, 14 Apr 2009 17:00:19 +0900 Original-Received: by dhlpc061 (Postfix, from userid 31295) id E750152E200; Tue, 14 Apr 2009 17:00:19 +0900 (JST) System-Type: x86_64-unknown-linux-gnu Blat: Foop Original-Lines: 46 X-detected-operating-system: by monty-python.gnu.org: Solaris 8 (1) 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:110265 Archived-At: I'm so used to using "C-c C-c" to mean "submit" in many emacs modes, that I find myself getting a bit flummoxed when it doesn't do that in buffers created by emacsclient. The following patch seems to make things work more or less as my fingers expect them too (maybe it should automatically save the buffer first, as most uses of C-c C-c seem to do that); what do people think (of the idea anyway ... maybe the implementation has some problem)? -Miles diff --git a/lisp/server.el b/lisp/server.el index 10b08ad..e977dfe 100644 --- a/lisp/server.el +++ b/lisp/server.el @@ -194,6 +194,16 @@ in this way." (or (assq 'server-buffer-clients minor-mode-alist) (push '(server-buffer-clients " Server") minor-mode-alist)) +(defvar server-buffer-map + (let ((map (make-sparse-keymap))) + (define-key map "\C-c\C-c" 'server-done) + map) + "Local keymap for emacs-server created buffers") + +(or (assq 'server-buffer-clients minor-mode-map-alist) + (push (cons 'server-buffer-clients server-buffer-map) + minor-mode-map-alist)) + (defvar server-existing-buffer nil "Non-nil means the buffer existed before the server was asked to visit it. This means that the server should not kill the buffer when you say you @@ -1228,6 +1238,7 @@ of the form (NEXT-BUFFER KILLED). NEXT-BUFFER is another server buffer, as a suggestion for what to select next, or nil. KILLED is t if we killed BUFFER, which happens if it was created specifically for the clients and did not exist before their request for it." + (interactive) (when server-buffer-clients (if (server-temp-file-p) ;; For a temp file, save, and do make a non-numeric backup -- My books focus on timeless truths. -- Donald Knuth