]> git.eshelyaron.com Git - emacs.git/commitdiff
pdumper.c: Minor improvements found while debugging
authorStefan Monnier <monnier@iro.umontreal.ca>
Sat, 27 Jan 2024 04:15:57 +0000 (23:15 -0500)
committerEshel Yaron <me@eshelyaron.com>
Wed, 31 Jan 2024 20:07:24 +0000 (21:07 +0100)
* src/pdumper.c (dump_hash_table_list): Remove unused return value;
and simplify with `vconcat`.
(dump_charset): Don't copy uninitialized fields.

(cherry picked from commit 08007a030e03762b888dcfcd64e84f03e5a2d54f)

src/pdumper.c

index 6b0178227bd9fa5d42a13d3e2cc40a51fb32b332..6d0abc5d83555e86dca87ced5eb9455446dc6f6d 100644 (file)
@@ -2659,13 +2659,11 @@ hash_table_contents (struct Lisp_Hash_Table *h)
   return key_and_value;
 }
 
-static dump_off
+static void
 dump_hash_table_list (struct dump_context *ctx)
 {
   if (!NILP (ctx->hash_tables))
-    return dump_object (ctx, CALLN (Fapply, Qvector, ctx->hash_tables));
-  else
-    return 0;
+    dump_object (ctx, CALLN (Fvconcat, ctx->hash_tables));
 }
 
 static hash_table_std_test_t
@@ -3222,30 +3220,33 @@ dump_charset (struct dump_context *ctx, int cs_i)
   const struct charset *cs = charset_table + cs_i;
   struct charset out;
   dump_object_start (ctx, &out, sizeof (out));
-  DUMP_FIELD_COPY (&out, cs, id);
-  dump_field_lv (ctx, &out, cs, &cs->attributes, WEIGHT_NORMAL);
-  DUMP_FIELD_COPY (&out, cs, dimension);
-  memcpy (out.code_space, &cs->code_space, sizeof (cs->code_space));
-  if (cs_i < charset_table_used && cs->code_space_mask)
-    dump_field_fixup_later (ctx, &out, cs, &cs->code_space_mask);
-  DUMP_FIELD_COPY (&out, cs, code_linear_p);
-  DUMP_FIELD_COPY (&out, cs, iso_chars_96);
-  DUMP_FIELD_COPY (&out, cs, ascii_compatible_p);
-  DUMP_FIELD_COPY (&out, cs, supplementary_p);
-  DUMP_FIELD_COPY (&out, cs, compact_codes_p);
-  DUMP_FIELD_COPY (&out, cs, unified_p);
-  DUMP_FIELD_COPY (&out, cs, iso_final);
-  DUMP_FIELD_COPY (&out, cs, iso_revision);
-  DUMP_FIELD_COPY (&out, cs, emacs_mule_id);
-  DUMP_FIELD_COPY (&out, cs, method);
-  DUMP_FIELD_COPY (&out, cs, min_code);
-  DUMP_FIELD_COPY (&out, cs, max_code);
-  DUMP_FIELD_COPY (&out, cs, char_index_offset);
-  DUMP_FIELD_COPY (&out, cs, min_char);
-  DUMP_FIELD_COPY (&out, cs, max_char);
-  DUMP_FIELD_COPY (&out, cs, invalid_code);
-  memcpy (out.fast_map, &cs->fast_map, sizeof (cs->fast_map));
-  DUMP_FIELD_COPY (&out, cs, code_offset);
+  if (cs_i < charset_table_used) /* Don't look at uninitialized data.  */
+    {
+      DUMP_FIELD_COPY (&out, cs, id);
+      dump_field_lv (ctx, &out, cs, &cs->attributes, WEIGHT_NORMAL);
+      DUMP_FIELD_COPY (&out, cs, dimension);
+      memcpy (out.code_space, &cs->code_space, sizeof (cs->code_space));
+      if (cs->code_space_mask)
+        dump_field_fixup_later (ctx, &out, cs, &cs->code_space_mask);
+      DUMP_FIELD_COPY (&out, cs, code_linear_p);
+      DUMP_FIELD_COPY (&out, cs, iso_chars_96);
+      DUMP_FIELD_COPY (&out, cs, ascii_compatible_p);
+      DUMP_FIELD_COPY (&out, cs, supplementary_p);
+      DUMP_FIELD_COPY (&out, cs, compact_codes_p);
+      DUMP_FIELD_COPY (&out, cs, unified_p);
+      DUMP_FIELD_COPY (&out, cs, iso_final);
+      DUMP_FIELD_COPY (&out, cs, iso_revision);
+      DUMP_FIELD_COPY (&out, cs, emacs_mule_id);
+      DUMP_FIELD_COPY (&out, cs, method);
+      DUMP_FIELD_COPY (&out, cs, min_code);
+      DUMP_FIELD_COPY (&out, cs, max_code);
+      DUMP_FIELD_COPY (&out, cs, char_index_offset);
+      DUMP_FIELD_COPY (&out, cs, min_char);
+      DUMP_FIELD_COPY (&out, cs, max_char);
+      DUMP_FIELD_COPY (&out, cs, invalid_code);
+      memcpy (out.fast_map, &cs->fast_map, sizeof (cs->fast_map));
+      DUMP_FIELD_COPY (&out, cs, code_offset);
+    }
   dump_off offset = dump_object_finish (ctx, &out, sizeof (out));
   if (cs_i < charset_table_used && cs->code_space_mask)
     dump_remember_cold_op (ctx, COLD_OP_CHARSET,