diff options
-rw-r--r-- | src/coding.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/coding.c b/src/coding.c index e285e1c27f3..952fc1408f5 100644 --- a/src/coding.c +++ b/src/coding.c @@ -6878,6 +6878,13 @@ usage: (find-operation-coding-system OPERATION ARGUMENTS ...) */) if (nargs < 1 + XINT (target_idx)) error ("Too few arguments for operation: %s", SDATA (SYMBOL_NAME (operation))); + /* For write-region, if the 6th argument (i.e. VISIT, the 5th + argument to write-region) is string, it must be treated as a + target file name. */ + if (EQ (operation, Qwrite_region) + && nargs > 5 + && STRINGP (args[5])) + target_idx = 4; target = args[XINT (target_idx) + 1]; if (!(STRINGP (target) || (EQ (operation, Qopen_network_stream) && INTEGERP (target)))) |