aboutsummaryrefslogtreecommitdiffstats
path: root/src/coding.c
diff options
context:
space:
mode:
authorPaul Eggert2018-01-09 15:29:25 -0800
committerPaul Eggert2018-01-09 15:29:25 -0800
commitddb26f79b20329ada5f5bc6e1742807d029e06c0 (patch)
tree4eb2572b11bba0c4fa7fc388dc2f65648be89b5e /src/coding.c
parent0b33768053184ceadda0ca6dc431969e664cd17e (diff)
parent7668717d6fecd610d71b54a33708038b2ede8cce (diff)
downloademacs-ddb26f79b20329ada5f5bc6e1742807d029e06c0.tar.gz
emacs-ddb26f79b20329ada5f5bc6e1742807d029e06c0.zip
Merge from origin/emacs-26
7668717d6f Merge from Gnulib 9e4d523427 * lisp/epg.el (epg-start-sign): Replace obsolete functions. 26c58f31a8 Small fix for erc-logging-enabled 34b41e3bc6 Quieten semantic normal usage e25f961e37 Avoid irrelevant hyperlink in doc string of 'epa-pinentry-... ec2636513c * doc/misc/tramp.texi (Remote processes): Mention gdb rest... 918a052a42 Query background for gnome terminal version 3.22 (Bug#29716) 1dfc27576a Make pixel-wise scrolling less laggy f92264fc2a Fix child frame placement issues (bug#29953) a5f718c4c5 ; * doc/lispref/text.texi (Change Hooks): Fix last change. e876f5f9fb Describe the precise interaction of complex primitives wit... 3a22097cf6 Fix valgrind report in call-interactively d5f1c87bfe * src/editfns.c (Fsave_excursion): Doc fix. (Bug#30001) b8d74c4578 Fix mark-defun when there's no spaces between successive d... a377c652b5 Fix Dired display and operations on file names with raw bytes d9d6e8a04c ; Comments related to src/termcap.c f8a07fa6b1 Improve documentation of 'gdb-many-windows' f82400798e Fix failures in smerge-mode on MS-Windows
Diffstat (limited to 'src/coding.c')
-rw-r--r--src/coding.c19
1 files changed, 16 insertions, 3 deletions
diff --git a/src/coding.c b/src/coding.c
index da625403441..901f806e44b 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -7437,10 +7437,23 @@ decode_coding (struct coding_system *coding)
7437 7437
7438 while (nbytes-- > 0) 7438 while (nbytes-- > 0)
7439 { 7439 {
7440 int c = *src++; 7440 int c;
7441 7441
7442 if (c & 0x80) 7442 /* Copy raw bytes in their 2-byte forms from multibyte
7443 c = BYTE8_TO_CHAR (c); 7443 text as single characters. */
7444 if (coding->src_multibyte
7445 && CHAR_BYTE8_HEAD_P (*src) && nbytes > 0)
7446 {
7447 c = STRING_CHAR_ADVANCE (src);
7448 nbytes--;
7449 }
7450 else
7451 {
7452 c = *src++;
7453
7454 if (c & 0x80)
7455 c = BYTE8_TO_CHAR (c);
7456 }
7444 coding->charbuf[coding->charbuf_used++] = c; 7457 coding->charbuf[coding->charbuf_used++] = c;
7445 } 7458 }
7446 produce_chars (coding, Qnil, 1); 7459 produce_chars (coding, Qnil, 1);