diff options
| author | Paul Eggert | 2018-01-09 15:29:25 -0800 |
|---|---|---|
| committer | Paul Eggert | 2018-01-09 15:29:25 -0800 |
| commit | ddb26f79b20329ada5f5bc6e1742807d029e06c0 (patch) | |
| tree | 4eb2572b11bba0c4fa7fc388dc2f65648be89b5e /src/coding.c | |
| parent | 0b33768053184ceadda0ca6dc431969e664cd17e (diff) | |
| parent | 7668717d6fecd610d71b54a33708038b2ede8cce (diff) | |
| download | emacs-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.c | 19 |
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); |