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#11519: "Wrong type argument: characterp" building custom-deps while boostrapping Date: Mon, 21 May 2012 16:39:56 -0400 Message-ID: References: <83d360yw48.fsf@gnu.org> <834nrazrtl.fsf@gnu.org> <831umez1p7.fsf@gnu.org> <83vcjpxw18.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1337632900 3464 80.91.229.3 (21 May 2012 20:41:40 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 21 May 2012 20:41:40 +0000 (UTC) Cc: lekktu@gmail.com, Andreas Schwab , 11519@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon May 21 22:41:38 2012 Return-path: Envelope-to: geb-bug-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 1SWZQ0-0000w2-RS for geb-bug-gnu-emacs@m.gmane.org; Mon, 21 May 2012 22:41:28 +0200 Original-Received: from localhost ([::1]:42479 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SWZQ0-0006DT-CM for geb-bug-gnu-emacs@m.gmane.org; Mon, 21 May 2012 16:41:28 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:60631) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SWZPx-00067h-9q for bug-gnu-emacs@gnu.org; Mon, 21 May 2012 16:41:26 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SWZPv-0001dA-A6 for bug-gnu-emacs@gnu.org; Mon, 21 May 2012 16:41:24 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:56355) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SWZPv-0001d2-6P for bug-gnu-emacs@gnu.org; Mon, 21 May 2012 16:41:23 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1SWZQY-0000g9-7f for bug-gnu-emacs@gnu.org; Mon, 21 May 2012 16:42:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Stefan Monnier Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 21 May 2012 20:42:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 11519 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 11519-submit@debbugs.gnu.org id=B11519.13376328632531 (code B ref 11519); Mon, 21 May 2012 20:42:02 +0000 Original-Received: (at 11519) by debbugs.gnu.org; 21 May 2012 20:41:03 +0000 Original-Received: from localhost ([127.0.0.1]:37666 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SWZPa-0000ek-Fs for submit@debbugs.gnu.org; Mon, 21 May 2012 16:41:02 -0400 Original-Received: from ironport-out.teksavvy.com ([206.248.143.162]:14656) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SWZPF-0000dx-RU for 11519@debbugs.gnu.org; Mon, 21 May 2012 16:41:00 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av0EAOMAh0/O+K+j/2dsb2JhbAA3o0KBCIF1AQEEAVYjBQsLNBIUGA0kiBOiEYt2DBUICzoMA4M+A4NwBKNjhFg X-IronPort-AV: E=Sophos;i="4.73,1,1325480400"; d="scan'208";a="181653192" Original-Received: from 206-248-175-163.dsl.teksavvy.com (HELO pastel.home) ([206.248.175.163]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 21 May 2012 16:39:56 -0400 Original-Received: by pastel.home (Postfix, from userid 20848) id 13F8C597A9; Mon, 21 May 2012 16:39:56 -0400 (EDT) In-Reply-To: <83vcjpxw18.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 21 May 2012 20:51:15 +0300") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1.50 (gnu/linux) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 140.186.70.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-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:60269 Archived-At: > So I think that what happened is that something, probably the > translation through a char-table, caused allocation of a large chunk > of memory, which in turn relocated the text of the current buffer > behind regex.c's back, which still uses C pointers to the old location > of the buffer text. Here's how search.c calls re_search_2: > p1 = BEGV_ADDR; > s1 = GPT_BYTE - BEGV_BYTE; > p2 = GAP_END_ADDR; > s2 = ZV_BYTE - GPT_BYTE; > if (s1 < 0) > { > p2 = p1; > s2 = ZV_BYTE - BEGV_BYTE; > s1 = 0; > } > if (s2 < 0) > { > s1 = ZV_BYTE - BEGV_BYTE; > s2 = 0; > } > re_match_object = Qnil; > while (n < 0) > { > EMACS_INT val; > val = re_search_2 (bufp, (char *) p1, s1, (char *) p2, s2, > pos_byte - BEGV_BYTE, lim_byte - pos_byte, > (NILP (Vinhibit_changing_match_data) > ? &search_regs : &search_regs_1), > /* Don't allow match past current point */ > pos_byte - BEGV_BYTE); > We pass s1 and s2, which are pointers to buffer text, so if buffer > text is relocated, we are screwed. > Does this explanation sound reasonable? If so, any ideas how to fix > this? I suggest you let-bind some witness variable is re_search_2 and then in the buffer-relocation code, you test this var and abort if it's non-nil. That should let us catch the offender red-handed, after which we will know better how to fix the problem. Stefan