diff options
author | Po Lu <luangruo@yahoo.com> | 2021-12-15 18:39:06 +0800 |
---|---|---|
committer | Po Lu <luangruo@yahoo.com> | 2021-12-15 18:39:06 +0800 |
commit | 81d2e846a801a45befe911146469a983af8438c6 (patch) | |
tree | 3197d30635b7e6752fd2cba09b8681579bd5a7c5 /src | |
parent | 30ac6fbbed95b3e9db530a35be7d04c257076423 (diff) | |
parent | 92ed2fe6886a367f00cf04a11d39b4fbf7a44edc (diff) | |
download | emacs-81d2e846a801a45befe911146469a983af8438c6.tar.gz |
Merge remote-tracking branch 'origin/master' into feature/pgtk
Diffstat (limited to 'src')
-rw-r--r-- | src/charset.c | 2 | ||||
-rw-r--r-- | src/charset.h | 1 | ||||
-rw-r--r-- | src/pdumper.c | 4 | ||||
-rw-r--r-- | src/xterm.c | 5 |
4 files changed, 8 insertions, 4 deletions
diff --git a/src/charset.c b/src/charset.c index 7cd0fa78f04..670fd48a2d9 100644 --- a/src/charset.c +++ b/src/charset.c @@ -63,7 +63,7 @@ Lisp_Object Vcharset_hash_table; /* Table of struct charset. */ struct charset *charset_table; int charset_table_size; -static int charset_table_used; +int charset_table_used; /* Special charsets corresponding to symbols. */ int charset_ascii; diff --git a/src/charset.h b/src/charset.h index 97122d82a65..8c538234d8d 100644 --- a/src/charset.h +++ b/src/charset.h @@ -249,6 +249,7 @@ extern Lisp_Object Vcharset_hash_table; /* Table of struct charset. */ extern struct charset *charset_table; extern int charset_table_size; +extern int charset_table_used; #define CHARSET_FROM_ID(id) (charset_table + (id)) diff --git a/src/pdumper.c b/src/pdumper.c index c758bc89298..8f03684df5a 100644 --- a/src/pdumper.c +++ b/src/pdumper.c @@ -3177,7 +3177,7 @@ dump_charset (struct dump_context *ctx, int cs_i) DUMP_FIELD_COPY (&out, cs, hash_index); DUMP_FIELD_COPY (&out, cs, dimension); memcpy (out.code_space, &cs->code_space, sizeof (cs->code_space)); - if (cs->code_space_mask) + 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); @@ -3198,7 +3198,7 @@ dump_charset (struct dump_context *ctx, int cs_i) 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->code_space_mask) + if (cs_i < charset_table_used && cs->code_space_mask) dump_remember_cold_op (ctx, COLD_OP_CHARSET, Fcons (dump_off_to_lisp (cs_i), dump_off_to_lisp (offset))); diff --git a/src/xterm.c b/src/xterm.c index 1f377f838b3..646985bdc20 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -10234,7 +10234,10 @@ handle_one_xevent (struct x_display_info *dpyinfo, && xev->detail >= 4 && xev->detail <= 8 && xev->flags & XIPointerEmulated) - goto XI_OTHER; + { + *finish = X_EVENT_DROP; + goto XI_OTHER; + } #endif device = xi_device_from_id (dpyinfo, xev->deviceid); |