From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.bugs Subject: bug#7496: 23.2; copy recursive keymap cause crash Date: Fri, 26 Nov 2010 22:01:28 -0500 Message-ID: References: <871v67o9ns.fsf@nagi.lyrical.homelinux.net> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1290827752 17499 80.91.229.12 (27 Nov 2010 03:15:52 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sat, 27 Nov 2010 03:15:52 +0000 (UTC) Cc: 7496@debbugs.gnu.org To: ARISAWA Akihiro Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Nov 27 04:15:47 2010 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1PMBG8-0005wi-UJ for geb-bug-gnu-emacs@m.gmane.org; Sat, 27 Nov 2010 04:15:46 +0100 Original-Received: from localhost ([127.0.0.1]:58734 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PMBG8-000274-7J for geb-bug-gnu-emacs@m.gmane.org; Fri, 26 Nov 2010 22:15:32 -0500 Original-Received: from [140.186.70.92] (port=38815 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PMBFb-0001qJ-7D for bug-gnu-emacs@gnu.org; Fri, 26 Nov 2010 22:15:00 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PMBFa-0005Wh-7p for bug-gnu-emacs@gnu.org; Fri, 26 Nov 2010 22:14:59 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:58999) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PMBFa-0005Wd-66 for bug-gnu-emacs@gnu.org; Fri, 26 Nov 2010 22:14:58 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1PMAyE-0008DO-GA; Fri, 26 Nov 2010 21:57:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Stefan Monnier Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 27 Nov 2010 02:57:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 7496 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 7496-submit@debbugs.gnu.org id=B7496.129082656831504 (code B ref 7496); Sat, 27 Nov 2010 02:57:02 +0000 Original-Received: (at 7496) by debbugs.gnu.org; 27 Nov 2010 02:56:08 +0000 Original-Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1PMAxM-0008C4-Ig for submit@debbugs.gnu.org; Fri, 26 Nov 2010 21:56:08 -0500 Original-Received: from ironport2-out.teksavvy.com ([206.248.154.181] helo=ironport2-out.pppoe.ca) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1PMAxF-0008BX-Iw for 7496@debbugs.gnu.org; Fri, 26 Nov 2010 21:56:07 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AiQKADsD8ExFxKB0/2dsb2JhbACiEXtyvw6FRwSEXI1t X-IronPort-AV: E=Sophos;i="4.59,264,1288584000"; d="scan'208";a="83844718" Original-Received: from 69-196-160-116.dsl.teksavvy.com (HELO ceviche.home) ([69.196.160.116]) by ironport2-out.pppoe.ca with ESMTP/TLS/ADH-AES256-SHA; 26 Nov 2010 22:01:28 -0500 Original-Received: by ceviche.home (Postfix, from userid 20848) id 3C72D660DC; Fri, 26 Nov 2010 22:01:28 -0500 (EST) In-Reply-To: <871v67o9ns.fsf@nagi.lyrical.homelinux.net> (ARISAWA Akihiro's message of "Sat, 27 Nov 2010 10:08:39 +0900") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list Resent-Date: Fri, 26 Nov 2010 21:57:02 -0500 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) 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: , Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:41912 Archived-At: > When I call `copy-keymap' with a keymap which contains recursive binding, > the emacs crashed. > I can reproduce it by following sexp. > (let ((map (make-sparse-keymap))) > (define-key map " " map) > (copy-keymap map)) I'm not surprised. There are many ways to address it: - try and make sure we better handle the "using up all memory" case rather than crashing. This is very difficult. We already try to do it, but clearly it's not working that well. - try and detect such cycles and either signal an error or reproduce the same cycle in the copy. We have added such things in several other cases, so we should probably do that. - don't use cyclic keymaps and especially don't copy them. - don't use copy-keymap, instead: inherit. Stefan