=== modified file 'src/ChangeLog' --- src/ChangeLog 2011-11-18 12:41:36 +0000 +++ src/ChangeLog 2011-11-18 14:02:15 +0000 @@ -1,3 +1,9 @@ +2011-11-18 Dmitry Antipov + + * keymap.c (Fwhere_is_internal): Add missing RETURN_UNGCPROs. + + * fileio.c (Finsert_file_contents): Use inner_gcpro. + 2011-11-18 Eli Zaretskii * dispnew.c (swap_glyph_pointers): Swap the used[] arrays and the === modified file 'src/fileio.c' --- src/fileio.c 2011-09-30 20:22:01 +0000 +++ src/fileio.c 2011-11-18 13:58:04 +0000 @@ -3686,6 +3686,7 @@ int this_count = SPECPDL_INDEX (); int multibyte = ! NILP (BVAR (current_buffer, enable_multibyte_characters)); Lisp_Object conversion_buffer; + struct gcpro inner_gcpro1; conversion_buffer = code_conversion_save (1, multibyte); @@ -3701,7 +3702,7 @@ inserted = 0; /* Bytes put into CONVERSION_BUFFER so far. */ unprocessed = 0; /* Bytes not processed in previous loop. */ - GCPRO1 (conversion_buffer); + GCPRO1_VAR (conversion_buffer, inner_gcpro); while (how_much < total) { /* We read one bunch by one (READ_BUF_SIZE bytes) to allow @@ -3729,7 +3730,7 @@ if (coding.carryover_bytes > 0) memcpy (read_buf, coding.carryover, unprocessed); } - UNGCPRO; + UNGCPRO_VAR (inner_gcpro); emacs_close (fd); /* We should remove the unwind_protect calling === modified file 'src/keymap.c' --- src/keymap.c 2011-11-17 17:40:48 +0000 +++ src/keymap.c 2011-11-18 13:50:01 +0000 @@ -2624,11 +2624,11 @@ /* We have a list of advertised bindings. */ while (CONSP (tem)) if (EQ (shadow_lookup (keymaps, XCAR (tem), Qnil, 0), definition)) - return XCAR (tem); + RETURN_UNGCPRO (XCAR (tem)); else tem = XCDR (tem); if (EQ (shadow_lookup (keymaps, tem, Qnil, 0), definition)) - return tem; + RETURN_UNGCPRO (tem); } sequences = Freverse (where_is_internal (definition, keymaps,