Subject: Re: bug#11519: "Wrong type argument: characterp" building custom-deps while boostrapping

From: Kenichi Handa <[email-masked]>
Date: Tue, 22 May 2012 23:38:34 +0900

In article <[email-masked]>, Eli Zaretskii <[email-masked]> writes:

> 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.

The function char_table_translate may allocate some amount
of memory.  But that's only when the char-table is one of a
"unicode character property table" loaded via the function
uniprop_table.  When char_table_translate is called from
re_search_2 (via the macro RE_TRANSLATE), the char-table to
lookup is one of a case-related table (equiv? canon?) which
is not a unicode property table.

The function that acutally allocates memory via.
char_table_translate is uniprop_table_uncompress.

---
Kenichi Handa
[email-masked]