From c4cdebc78783f337cb504b6fea71295cfcaaa516 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Mon, 15 Aug 2016 11:34:57 -0700 Subject: [PATCH] Fix core dump with unibyte substitute-command-keys Backport from master (Bug#24206). * src/doc.c (Fsubstitute_command_keys): Convert string to multibyte first, but return the original if there is no substitution. --- src/doc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/doc.c b/src/doc.c index 7cdb0d0..4f5f7a4 100644 --- a/src/doc.c +++ b/src/doc.c @@ -763,6 +763,8 @@ Otherwise, return a new string. */) enum text_quoting_style quoting_style = text_quoting_style (); + Lisp_Object orig_string = string; + string = Fstring_make_multibyte (string); multibyte = STRING_MULTIBYTE (string); nchars = 0; @@ -1024,7 +1026,7 @@ Otherwise, return a new string. */) } } else - tem = string; + tem = orig_string; xfree (buf); return tem; } -- 2.7.4