(Vw32_system_coding_system) [WINDOWSNT]: Remove.
[bpt/emacs.git] / src / coding.h
index cdb6ff2..69b5c69 100644 (file)
@@ -133,7 +133,7 @@ enum iso_code_class_type
    on output.  */
 #define CODING_FLAG_ISO_DESIGNATE_AT_BOL 0x0400
 
-/* If set, do not encode unsafe charactes on output.  */
+/* If set, do not encode unsafe characters on output.  */
 #define CODING_FLAG_ISO_SAFE           0x0800
 
 /* If set, extra latin codes (128..159) are accepted as a valid code
@@ -241,7 +241,7 @@ enum coding_type
     coding_type_ccl,           /* The coding system of which decoder
                                   and encoder are written in CCL.  */
     coding_type_raw_text       /* A coding system for a text
-                                  containing ramdom 8-bit code which
+                                  containing random 8-bit code which
                                   does not require code conversion
                                   except for end-of-line format. */
   };
@@ -274,11 +274,11 @@ enum coding_type
    The encoder stores the information in this structure when it meets
    ESC sequences for composition while encoding codes, then, after all
    text codes are encoded, puts `composition' properties on the text
-   by refering the structure.
+   by referring to the structure.
 
    The decoder at first stores the information of a text to be
    decoded, then, while decoding codes, generates ESC sequences for
-   composition at proper places by refering the structure.  */
+   composition at proper places by referring to the structure.  */
 
 struct composition_data
 {
@@ -296,7 +296,7 @@ struct composition_data
        START and END are starting and ending character positions of
        the composition relative to `char_offset'.
 
-       METHOD is one of `enum cmposing_status' specifying the way of
+       METHOD is one of `enum composing_status' specifying the way of
        composition.
 
        COMPONENT is a character or an encoded composition rule.  */
@@ -307,8 +307,8 @@ struct composition_data
 
   /* Pointers to the previous and next structures.  When `data' is
      filled up, another structure is allocated and linked in `next'.
-     The new struture has backward link to this struture in `prev'.
-     The number of chaind structures depends on how many compositions
+     The new structure has backward link to this structure in `prev'.
+     The number of chained structures depends on how many compositions
      the text being encoded or decoded contains.  */
   struct composition_data *prev, *next;
 };
@@ -330,7 +330,7 @@ struct composition_data
 
 /* If set, the decoding/encoding routines treat the current data as
    the last block of the whole text to be converted, and do
-   appropriate fisishing job.  */
+   appropriate finishing job.  */
 #define CODING_MODE_LAST_BLOCK                 0x02
 
 /* If set, it means that the current source text is in a buffer which
@@ -412,6 +412,9 @@ struct coding_system
      CODING_FINISH_XXXX.  */
   int result;
 
+  /* If nonzero, suppress error notification.  */
+  int suppress_error;
+
   /* The following members are all Lisp symbols.  We don't have to
      protect them from GC because the current garbage collection
      doesn't relocate Lisp symbols.  But, when it is changed, we must
@@ -587,19 +590,25 @@ struct coding_system
 /* 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)     \
+  (! NILP (Vlocale_coding_system)                                         \
+   && XFASTINT (Vlocale_coding_system) != 0                               \
+   ? code_convert_string_norecord (str, Vlocale_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)     \
+  (! NILP (Vlocale_coding_system)                                         \
+   && XFASTINT (Vlocale_coding_system) != 0                               \
+   ? code_convert_string_norecord (str, Vlocale_coding_system, 0)         \
    : str)
-#endif
+
+#else /* WINDOWSNT */
+
+#define ENCODE_SYSTEM(str) string_make_unibyte(str)
+#define DECODE_SYSTEM(name) name
+
+#endif /* !WINDOWSNT */
 
 /* Extern declarations.  */
 extern int decode_coding P_ ((struct coding_system *, unsigned char *,
@@ -624,6 +633,8 @@ extern void detect_eol P_ ((struct coding_system *, unsigned char *, int));
 extern int setup_coding_system P_ ((Lisp_Object, struct coding_system *));
 extern Lisp_Object code_convert_string P_ ((Lisp_Object,
                                            struct coding_system *, int, int));
+extern Lisp_Object code_convert_string1 P_ ((Lisp_Object, Lisp_Object,
+                                            Lisp_Object, int));
 extern Lisp_Object code_convert_string_norecord P_ ((Lisp_Object, Lisp_Object,
                                                     int));
 extern void setup_raw_text_coding_system P_ ((struct coding_system *));
@@ -648,6 +659,7 @@ extern Lisp_Object eol_mnemonic_undecided;
 extern Lisp_Object Qfile_coding_system;
 extern Lisp_Object Qcall_process, Qcall_process_region, Qprocess_argument;
 extern Lisp_Object Qstart_process, Qopen_network_stream;
+extern Lisp_Object Qwrite_region;
 
 extern char *emacs_strerror P_ ((int));
 
@@ -684,7 +696,7 @@ extern struct coding_system default_buffer_file_coding;
 /* Default coding systems used for process I/O.  */
 extern Lisp_Object Vdefault_process_coding_system;
 
-/* Function to call to force a user to force select a propert coding
+/* Function to call to force a user to force select a proper coding
    system.  */
 extern Lisp_Object Vselect_safe_coding_system_function;
 
@@ -695,10 +707,9 @@ extern Lisp_Object Vfile_name_coding_system;
    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
 
+/* Error signaled when there's a problem with detecting coding system */
+extern Lisp_Object Qcoding_system_error;
+
 #endif /* EMACS_CODING_H */