From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Alexander Shukaev Newsgroups: gmane.emacs.bugs Subject: bug#25187: Initialization of `shell-mode-map' is not safe Date: Tue, 13 Dec 2016 00:08:07 +0100 Message-ID: <49c53840-659f-5e60-a1d9-161a7e1d8004@Alexander.Shukaev.name> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: blaine.gmane.org 1481586880 32240 195.159.176.226 (12 Dec 2016 23:54:40 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 12 Dec 2016 23:54:40 +0000 (UTC) To: 25187@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Dec 13 00:54:37 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cGaQS-0007Ci-Lg for geb-bug-gnu-emacs@m.gmane.org; Tue, 13 Dec 2016 00:54:32 +0100 Original-Received: from localhost ([::1]:34311 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cGaQW-0004tZ-UG for geb-bug-gnu-emacs@m.gmane.org; Mon, 12 Dec 2016 18:54:37 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:48760) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cGZmL-0002d3-6B for bug-gnu-emacs@gnu.org; Mon, 12 Dec 2016 18:13:06 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cGZmI-00039p-0J for bug-gnu-emacs@gnu.org; Mon, 12 Dec 2016 18:13:05 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:52565) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cGZmH-00039l-Sq for bug-gnu-emacs@gnu.org; Mon, 12 Dec 2016 18:13:01 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1cGZmH-00068a-O6 for bug-gnu-emacs@gnu.org; Mon, 12 Dec 2016 18:13:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Alexander Shukaev Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 12 Dec 2016 23:13:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 25187 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.148158435423560 (code B ref -1); Mon, 12 Dec 2016 23:13:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 12 Dec 2016 23:12:34 +0000 Original-Received: from localhost ([127.0.0.1]:39731 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cGZlq-00067w-C2 for submit@debbugs.gnu.org; Mon, 12 Dec 2016 18:12:34 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:56930) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cGZi6-00062H-7r for submit@debbugs.gnu.org; Mon, 12 Dec 2016 18:08:42 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cGZi0-0001yg-6l for submit@debbugs.gnu.org; Mon, 12 Dec 2016 18:08:37 -0500 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:34742) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cGZi0-0001yc-35 for submit@debbugs.gnu.org; Mon, 12 Dec 2016 18:08:36 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:47896) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cGZhy-0006wx-V6 for bug-gnu-emacs@gnu.org; Mon, 12 Dec 2016 18:08:35 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cGZhv-0001xm-Pi for bug-gnu-emacs@gnu.org; Mon, 12 Dec 2016 18:08:34 -0500 Original-Received: from relay7-d.mail.gandi.net ([217.70.183.200]:56565) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cGZhv-0001xT-K3 for bug-gnu-emacs@gnu.org; Mon, 12 Dec 2016 18:08:31 -0500 Original-Received: from mfilter36-d.gandi.net (mfilter36-d.gandi.net [217.70.178.167]) by relay7-d.mail.gandi.net (Postfix) with ESMTP id 47CE4B82 for ; Tue, 13 Dec 2016 00:08:28 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at mfilter36-d.gandi.net Original-Received: from relay7-d.mail.gandi.net ([IPv6:::ffff:217.70.183.200]) by mfilter36-d.gandi.net (mfilter36-d.gandi.net [::ffff:10.0.15.180]) (amavisd-new, port 10024) with ESMTP id xLoW0a4sDkc7 for ; Tue, 13 Dec 2016 00:08:26 +0100 (CET) X-Originating-IP: 88.68.181.111 Original-Received: from [192.168.3.110] (dslb-088-068-181-111.088.068.pools.vodafone-ip.de [88.68.181.111]) (Authenticated sender: forum@alexander.shukaev.name) by relay7-d.mail.gandi.net (Postfix) with ESMTPSA id D1D88298 for ; Tue, 13 Dec 2016 00:08:25 +0100 (CET) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Mailman-Approved-At: Mon, 12 Dec 2016 18:12:33 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:126939 Archived-At: Hi, consider (defvar shell-mode-map (let ((map (nconc (make-sparse-keymap) comint-mode-map))) (define-key map "\C-c\C-f" 'shell-forward-command) (define-key map "\C-c\C-b" 'shell-backward-command) (define-key map "\t" 'completion-at-point) (define-key map (kbd "M-RET") 'shell-resync-dirs) (define-key map "\M-?" 'comint-dynamic-list-filename-completions) (define-key map [menu-bar completion] (cons "Complete" (copy-keymap (lookup-key comint-mode-map [menu-bar completion])))) (define-key-after (lookup-key map [menu-bar completion]) [complete-env-variable] '("Complete Env. Variable Name" . shell-dynamic-complete-environment-variable) 'complete-file) (define-key-after (lookup-key map [menu-bar completion]) [expand-directory] '("Expand Directory Reference" . shell-replace-by-expanded-directory) 'complete-expand) map)) from 'shell.el'. When somebody decides to customize `comint-mode-map' by, for example, first wiping it out and then filling it again, (with-eval-after-load 'comint ;; Wipe `comint-mode-map': (setcdr comint-mode-map nil) ;; Fill `comint-mode-map': ...) then when the `shell' feature is loaded, it will inevitably fail because `(lookup-key comint-mode-map [menu-bar completion])' may no longer return a keymap but rather nil or a number. Looking forward for fix. Regards, Alexander