# HG changeset patch
# User Jason Rumney <jasonr@gnu.org>
# Date 959721579 0
# Node ID 2ffc1fff111abd64862095e38e0cd7bdf1d282ec
# Parent  7f49fb2648f1a3e7a670f5ced43e7750d38a100e
(ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
[WINDOWSNT]: Add extern for Vw32_system_coding_system.

diff -r 7f49fb2648f1 -r 2ffc1fff111a src/coding.h
--- a/src/coding.h	Tue May 30 21:14:28 2000 +0000
+++ b/src/coding.h	Tue May 30 21:19:39 2000 +0000
@@ -591,6 +591,24 @@
       ? code_convert_string_norecord (name, Vdefault_file_name_coding_system, 0) \
       : name))
 
+#ifdef WINDOWSNT
+/* Encode the string STR using the specified coding system
+   for w32 system functions, if any.  */
+#define ENCODE_SYSTEM(str)						   \
+  (! NILP (Vw32_system_coding_system)					   \
+   && XFASTINT (Vw32_system_coding_system) != 0				   \
+   ? code_convert_string_norecord (str, Vw32_system_coding_system, 1)	   \
+   : str)
+
+/* Decode the string STR using the specified coding system
+   for w32 system functions, if any.  */
+#define DECODE_SYSTEM(name)						   \
+  (! NILP (Vw32_system_coding_system)					   \
+   && XFASTINT (Vw32_system_coding_system) != 0				   \
+   ? code_convert_string_norecord (str, Vw32_system_coding_system, 0)	   \
+   : str)
+#endif
+
 /* Extern declarations.  */
 extern int decode_coding P_ ((struct coding_system *, unsigned char *,
 			      unsigned char *, int, int));
@@ -681,6 +699,11 @@
 /* Coding system for file names used only when
    Vfile_name_coding_system is nil.  */
 extern Lisp_Object Vdefault_file_name_coding_system;
+
+#ifdef WINDOWSNT
+/* Coding system for w32 system strings, or nil if none.  */
+extern Lisp_Object Vw32_system_coding_system;
+#endif
 #endif
 
 #endif /* _CODING_H */