Subject: Re: bug#26388: 26.0.50; assertion failed: !NILP (Vpurify_flag) during temacs bootstrap

From: Michal Nazarewicz <[email-masked]>
Date: Fri, 07 Apr 2017 03:48:35 +0200

On Thu, Apr 06 2017, [email-masked] wrote:
> The patch below seems to fix it.  According to the backtrace, I guess
> it's related to the recent casing changes.
>
> diff --git i/src/casefiddle.c w/src/casefiddle.c
> index 3b550470bf..b7782a83c3 100644
> --- i/src/casefiddle.c
> +++ w/src/casefiddle.c
> @@ -66,16 +66,16 @@ prepare_casing_context (struct casing_context *ctx,
>    ctx->inword = false;
>    ctx->titlecase_char_table
>      = (flag < CASE_CAPITALIZE ? Qnil
> -       : uniprop_table (intern_c_string ("titlecase")));
> +       : uniprop_table (Qtitlecase));
>    ctx->specialcase_char_tables[CASE_UP]
>      = (flag == CASE_DOWN ? Qnil
> -       : uniprop_table (intern_c_string ("special-uppercase")));
> +       : uniprop_table (Qspecial_uppercase));
>    ctx->specialcase_char_tables[CASE_DOWN]
>      = (flag == CASE_UP ? Qnil
> -       : uniprop_table (intern_c_string ("special-lowercase")));
> +       : uniprop_table (Qspecial_lowercase));
>    ctx->specialcase_char_tables[CASE_CAPITALIZE]
>      = (flag < CASE_CAPITALIZE ? Qnil
> -       : uniprop_table (intern_c_string ("special-titlecase")));
> +       : uniprop_table (Qspecial_titlecase));
>  
>    /* If the case table is flagged as modified, rescan it.  */
>    if (NILP (XCHAR_TABLE (BVAR (current_buffer, downcase_table))->extras[1]))
> @@ -644,6 +644,11 @@ DEFUN ("capitalize-word", Fcapitalize_word, Scapitalize_word, 1, 1, "p",
>  syms_of_casefiddle (void)
>  {
>    DEFSYM (Qidentity, "identity");
> +  DEFSYM (Qtitlecase, "titlecase");
> +  DEFSYM (Qspecial_uppercase, "special-uppercase");
> +  DEFSYM (Qspecial_lowercase, "special-lowercase");
> +  DEFSYM (Qspecial_titlecase, "special-titlecase");
> +
>    defsubr (&Supcase);
>    defsubr (&Sdowncase);
>    defsubr (&Scapitalize);

Thanks, pushed.

> Starting program: /home/npostavs/src/emacs/emacs-bootstrapping/src/temacs --batch --load loadup bootstrap
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/usr/lib/libthread_db.so.1".
> Loading loadup.el (source)...
> Using load-path (/home/npostavs/src/emacs/emacs-bootstrapping/lisp /home/npostavs/src/emacs/emacs-bootstrapping/lisp/emacs-lisp /home/npostavs/src/emacs/emacs-bootstrapping/lisp/language /home/npostavs/src/emacs/emacs-bootstrapping/lisp/international /home/npostavs/src/emacs/emacs-bootstrapping/lisp/textmodes /home/npostavs/src/emacs/emacs-bootstrapping/lisp/vc)
> Loading emacs-lisp/byte-run (source)...
> Loading emacs-lisp/backquote (source)...
> Loading subr (source)...
> Loading version (source)...
> Loading widget (source)...
> Loading custom (source)...
> Loading emacs-lisp/map-ynp (source)...
> Loading international/mule (source)...
> Loading international/mule-conf (source)...
>
> lread.c:3914: Emacs fatal error: assertion failed: !NILP (Vpurify_flag)

I’m wondering what I’m doing differently since I’ve never seen this… ;/

-- 
Best regards
ミハウ “𝓶𝓲𝓷𝓪86” ナザレヴイツ
«If at first you don’t succeed, give up skydiving»