Subject: 26.0.50; assertion failed: !NILP (Vpurify_flag) during temacs bootstrap
From: [email-masked]
To: [email-masked]
Date: Thu, 06 Apr 2017 20:39:20 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

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);

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)

Breakpoint 1, terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:363
363	  signal (sig, SIG_DFL);
(gdb) bt
#0  0x0000000000579826 in terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:363
#1  0x000000000060ec33 in die (msg=0x7678e2 "!NILP (Vpurify_flag)", file=0x766a68 "lread.c", line=3914) at alloc.c:7352
#2  0x000000000066db40 in intern_c_string_1 (str=0x7520e0 "titlecase", len=9) at lread.c:3914
#3  0x0000000000576884 in intern_c_string (str=0x7520e0 "titlecase") at lisp.h:3790
#4  0x00000000005dc84f in prepare_casing_context (ctx=0x7fffffffceb0, flag=CASE_CAPITALIZE, inbuffer=false) at casefiddle.c:69
#5  0x00000000005dd37f in casify_object (flag=CASE_CAPITALIZE, obj=...) at casefiddle.c:311
#6  0x00000000005dd47f in Fcapitalize (obj=...) at casefiddle.c:356
#7  0x00000000006325ac in eval_sub (form=...) at eval.c:2219
#8  0x0000000000632368 in eval_sub (form=...) at eval.c:2184
#9  0x000000000063446c in apply_lambda (fun=..., args=..., count=37) at eval.c:2875
#10 0x00000000006329af in eval_sub (form=...) at eval.c:2294
#11 0x000000000062d462 in Fprogn (body=...) at eval.c:449
#12 0x000000000062d4cf in prog_ignore (body=...) at eval.c:461
#13 0x000000000062f19c in Fwhile (args=...) at eval.c:982
#14 0x00000000006321f4 in eval_sub (form=...) at eval.c:2172
#15 0x000000000062d462 in Fprogn (body=...) at eval.c:449
#16 0x000000000062f0c4 in Flet (args=...) at eval.c:963
#17 0x00000000006321f4 in eval_sub (form=...) at eval.c:2172
#18 0x0000000000632963 in eval_sub (form=...) at eval.c:2290
#19 0x000000000062d462 in Fprogn (body=...) at eval.c:449
#20 0x000000000062f0c4 in Flet (args=...) at eval.c:963
#21 0x00000000006321f4 in eval_sub (form=...) at eval.c:2172
#22 0x0000000000668caa in readevalloop (readcharfun=..., stream=0xe5dea0 <bss_sbrk_buffer+374592>, sourcename=..., printflag=false, unibyte=..., readfun=..., start=..., end=...) at lread.c:1927
#23 0x0000000000667253 in Fload (file=..., noerror=..., nomessage=..., nosuffix=..., must_suffix=...) at lread.c:1332
#24 0x0000000000632683 in eval_sub (form=...) at eval.c:2233
#25 0x0000000000668caa in readevalloop (readcharfun=..., stream=0xe5cc60 <bss_sbrk_buffer+369920>, sourcename=..., printflag=false, unibyte=..., readfun=..., start=..., end=...) at lread.c:1927
#26 0x0000000000667253 in Fload (file=..., noerror=..., nomessage=..., nosuffix=..., must_suffix=...) at lread.c:1332
#27 0x0000000000632683 in eval_sub (form=...) at eval.c:2233
#28 0x0000000000631be5 in Feval (form=..., lexical=...) at eval.c:2041
#29 0x000000000057e1af in top_level_2 () at keyboard.c:1121
#30 0x000000000062ffc7 in internal_condition_case (bfun=0x57e192 <top_level_2>, handlers=..., hfun=0x57dbc0 <cmd_error>)
    at eval.c:1324
#31 0x000000000057e1f0 in top_level_1 (ignore=...) at keyboard.c:1129
#32 0x000000000062f51e in internal_catch (tag=..., func=0x57e1b1 <top_level_1>, arg=...) at eval.c:1091
#33 0x000000000057e0ea in command_loop () at keyboard.c:1090
#34 0x000000000057d6d5 in recursive_edit_1 () at keyboard.c:697
#35 0x000000000057d8b4 in Frecursive_edit () at keyboard.c:768
#36 0x000000000057b55b in main (argc=5, argv=0x7fffffffe958) at emacs.c:1687

Lisp Backtrace:
"capitalize" (0xffffcf70)
"format" (0xffffd130)
"define-charset" (0xffffd370)
"while" (0xffffd560)
"let" (0xffffd7c0)
"dolist" (0xffffd910)
"let" (0xffffdb70)
"load" (0xffffdfe0)
"load" (0xffffe4a0)