From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Emanuel Berg Newsgroups: gmane.emacs.help Subject: Re: Disabling M-q Date: Sat, 18 May 2013 12:26:07 +0200 Organization: Aioe.org NNTP Server Message-ID: <87ip2ga8jk.fsf@VLAN-3434.student.uu.se> References: <87txm4w97w.fsf@Aspire.decebal.nl> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1368893573 17817 80.91.229.3 (18 May 2013 16:12:53 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 18 May 2013 16:12:53 +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 18:12:56 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 1Udjkd-0007qh-9o for geh-help-gnu-emacs@m.gmane.org; Sat, 18 May 2013 18:12:55 +0200 Original-Received: from localhost ([::1]:41167 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Udjkc-0006BP-Oz for geh-help-gnu-emacs@m.gmane.org; Sat, 18 May 2013 12:12:54 -0400 Original-Path: usenet.stanford.edu!news.kjsl.com!feeder.erje.net!eu.feeder.erje.net!weretis.net!feeder4.news.weretis.net!rt.uk.eu.org!aioe.org!.POSTED!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 47 Original-NNTP-Posting-Host: SWN/nubmpQxYKwY7hPy4YA.user.speranza.aioe.org Original-X-Complaints-To: abuse@aioe.org User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2 (gnu/linux) X-Notice: Filtered by postfilter v. 0.8.2 Cancel-Lock: sha1:sR+z4YAPxkvpE1p8cFuz+eriNUI= Original-Xref: usenet.stanford.edu gnu.emacs.help:198627 X-Mailman-Approved-At: Sat, 18 May 2013 12:11:36 -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:90902 Archived-At: "B. T. Raven" writes: >> A friend asked how to disable M-q. My first thought was: >> (local-unset-key (kbd "\M-q")) >> 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 -- Emanuel Berg - programmer (hire me! CV below) computer projects: http://user.it.uu.se/~embe8573 internet activity: http://home.student.uu.se/embe8573