From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "B. T. Raven" Newsgroups: gmane.emacs.help Subject: Re: Disabling M-q Date: Sat, 18 May 2013 12:44:13 -0500 Organization: NewsGuy - Unlimited Usenet $23.95 Message-ID: References: <87txm4w97w.fsf@Aspire.decebal.nl> <87ip2ga8jk.fsf@VLAN-3434.student.uu.se> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1368907937 16883 80.91.229.3 (18 May 2013 20:12:17 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 18 May 2013 20:12:17 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sat May 18 22:12:17 2013 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1UdnUH-0003dl-8j for geh-help-gnu-emacs@m.gmane.org; Sat, 18 May 2013 22:12:17 +0200 Original-Received: from localhost ([::1]:44879 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UdnUG-0002XK-Op for geh-help-gnu-emacs@m.gmane.org; Sat, 18 May 2013 16:12:16 -0400 Original-Path: usenet.stanford.edu!news.glorb.com!npeer03.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!spln!extra.newsguy.com!newsp.newsguy.com!news1 Original-Newsgroups: gnu.emacs.help Original-Lines: 57 Original-NNTP-Posting-Host: p7ed00048bf908896cffb11b02e8e2cf9cdfd67910f4097c1.newsdawg.com User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20120907 Thunderbird/15.0.1 In-Reply-To: <87ip2ga8jk.fsf@VLAN-3434.student.uu.se> X-Received-Bytes: 2732 Original-Xref: usenet.stanford.edu gnu.emacs.help:198640 X-Mailman-Approved-At: Sat, 18 May 2013 16:12:02 -0400 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:90910 Archived-At: > "B. T. Raven" writes: > >>> A friend asked how to disable M-q. My first thought was: >>> (local-unset-key (kbd "\M-q")) This was the original question. Should M be escaped in a string here? Did you try the vector description of "M-q"? I notice that (kbd ... returns a specific vector but the vector [(meta q)] just evaluates to itself. Have you tried: (define-key (current-local-map) [(meta q)] nil) ?? >>> or >>> (local-set-key (kbd "M-q") nil) >>> >>> But both did not work. I am now using: >>> (local-set-key (kbd "M-q") "") >>> >>> and this works. Is this the best way, or is there a better way? >> >> How about either >> >> (global-unset-key [(meta q)] >> >> or >> >> (local-unset-key [(meta q)] > > I wrote a couple of lines you can experiment with. Use `C-h w' for the > functions and `C-x C-e' to change keybinding. > > The local binding will shadow the global. If the global is shadowed, > it won't report any key on `C-h w'. But, as soon as you unset the > local, or set it to the nils, the global is back on. When the local is > set to the empty string, the shadow is on (i.e., the global is off) > only this "shadow" doesn't do anything. > > Like I said, play around with it. > > (defun test-message-local () (interactive) (message "local check")) > (defun test-message-global () (interactive) (message "global check")) > (global-unset-key (kbd "C-M-w")) ; either unset both > (local-unset-key (kbd "C-M-w")) > (global-set-key (kbd "C-M-w") 'test-message-global) ; test C-h w here > (local-set-key (kbd "C-M-w") 'test-message-local) ; shadows global > (local-set-key (kbd "C-M-w") nil) ; these four - global *on* > (local-set-key (kbd "C-M-w") 'nil) > (local-set-key (kbd "C-M-w") ()) > (local-set-key (kbd "C-M-w") '()) > (local-set-key (kbd "C-M-w") "") ; this - local "nothing" shadow >