[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 265d525: More validatation of coding system in 'wri
From: |
Eli Zaretskii |
Subject: |
[Emacs-diffs] master 265d525: More validatation of coding system in 'write-region' |
Date: |
Sat, 03 Oct 2015 11:51:05 +0000 |
branch: master
commit 265d525a5ef9f59a6c26d40cd560ae43c3ae1d2c
Author: Eli Zaretskii <address@hidden>
Commit: Eli Zaretskii <address@hidden>
More validatation of coding system in 'write-region'
* src/coding.c (choose_write_coding_system): More validation of
coding-system from various sources. Suggested by Andreas Schwab
<address@hidden>. (Bug#21602)
---
src/fileio.c | 23 ++++++++++++++++-------
1 files changed, 16 insertions(+), 7 deletions(-)
diff --git a/src/fileio.c b/src/fileio.c
index 65aaf57..15bebdf 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -4593,17 +4593,26 @@ choose_write_coding_system (Lisp_Object start,
Lisp_Object end, Lisp_Object file
if (!force_raw_text
&& !NILP (Ffboundp (Vselect_safe_coding_system_function)))
- /* Confirm that VAL can surely encode the current region. */
- val = call5 (Vselect_safe_coding_system_function,
- start, end, val, Qnil, filename);
+ {
+ /* Confirm that VAL can surely encode the current region. */
+ val = call5 (Vselect_safe_coding_system_function,
+ start, end, val, Qnil, filename);
+ CHECK_CODING_SYSTEM (val);
+ }
/* If the decided coding-system doesn't specify end-of-line
format, we use that of
`default-buffer-file-coding-system'. */
- if (! using_default_coding
- && ! NILP (BVAR (&buffer_defaults, buffer_file_coding_system)))
- val = (coding_inherit_eol_type
- (val, BVAR (&buffer_defaults, buffer_file_coding_system)));
+ if (! using_default_coding)
+ {
+ Lisp_Object dflt = BVAR (&buffer_defaults, buffer_file_coding_system);
+
+ if (! NILP (dflt))
+ {
+ CHECK_CODING_SYSTEM (dflt);
+ val = (coding_inherit_eol_type (val, dflt));
+ }
+ }
/* If we decide not to encode text, use `raw-text' or one of its
subsidiaries. */
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master 265d525: More validatation of coding system in 'write-region',
Eli Zaretskii <=