]> code.delx.au - gnu-emacs/blobdiff - src/coding.h
(Fskip_chars_forward): Fix doc typo.
[gnu-emacs] / src / coding.h
index ef464caeadc9e7a7572acb983573e67972cf64ec..544dd44bb93d2ad1738ada72cfb72e51e70518d1 100644 (file)
@@ -1,8 +1,8 @@
 /* Header for coding system handler.
    Copyright (C) 2001, 2002, 2003, 2004, 2005,
 /* Header for coding system handler.
    Copyright (C) 2001, 2002, 2003, 2004, 2005,
-                 2006, 2007  Free Software Foundation, Inc.
+                 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
    Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
    Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-     2005, 2006, 2007
+     2005, 2006, 2007, 2008, 2009
      National Institute of Advanced Industrial Science and Technology (AIST)
      Registration Number H14PRO021
    Copyright (C) 2003
      National Institute of Advanced Industrial Science and Technology (AIST)
      Registration Number H14PRO021
    Copyright (C) 2003
 
 This file is part of GNU Emacs.
 
 
 This file is part of GNU Emacs.
 
-GNU Emacs is free software; you can redistribute it and/or modify
+GNU Emacs is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3, or (at your option)
-any later version.
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
 
 GNU Emacs is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 
 GNU Emacs is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -22,9 +22,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
 GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
-along with GNU Emacs; see the file COPYING.  If not, write to
-the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
+along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef EMACS_CODING_H
 #define EMACS_CODING_H
 
 #ifndef EMACS_CODING_H
 #define EMACS_CODING_H
@@ -58,6 +56,12 @@ enum define_coding_iso2022_arg_index
     coding_arg_iso2022_max
   };
 
     coding_arg_iso2022_max
   };
 
+enum define_coding_utf8_arg_index
+  {
+    coding_arg_utf8_bom = coding_arg_max,
+    coding_arg_utf8_max
+  };
+
 enum define_coding_utf16_arg_index
   {
     coding_arg_utf16_bom = coding_arg_max,
 enum define_coding_utf16_arg_index
   {
     coding_arg_utf16_bom = coding_arg_max,
@@ -150,7 +154,7 @@ enum coding_attr_index
     coding_attr_iso_request,
     coding_attr_iso_flags,
 
     coding_attr_iso_request,
     coding_attr_iso_flags,
 
-    coding_attr_utf_16_bom,
+    coding_attr_utf_bom,
     coding_attr_utf_16_endian,
 
     coding_attr_emacs_mule_full,
     coding_attr_utf_16_endian,
 
     coding_attr_emacs_mule_full,
@@ -241,7 +245,7 @@ enum coding_attr_index
        spec = CODING_SYSTEM_SPEC (x);                  \
       }                                                        \
     if (NILP (spec))                                   \
        spec = CODING_SYSTEM_SPEC (x);                  \
       }                                                        \
     if (NILP (spec))                                   \
-      x = wrong_type_argument (Qcoding_system_p, (x)); \
+      wrong_type_argument (Qcoding_system_p, (x));     \
   } while (0)
 
 
   } while (0)
 
 
@@ -258,7 +262,7 @@ enum coding_attr_index
          id = CODING_SYSTEM_ID (x);                            \
        }                                                       \
       if (id < 0)                                              \
          id = CODING_SYSTEM_ID (x);                            \
        }                                                       \
       if (id < 0)                                              \
-       x = wrong_type_argument (Qcoding_system_p, (x));        \
+       wrong_type_argument (Qcoding_system_p, (x));    \
     } while (0)
 
 
     } while (0)
 
 
@@ -327,11 +331,11 @@ struct iso_2022_spec
 
 struct ccl_spec;
 
 
 struct ccl_spec;
 
-enum utf_16_bom_type
+enum utf_bom_type
   {
   {
-    utf_16_detect_bom,
-    utf_16_without_bom,
-    utf_16_with_bom
+    utf_detect_bom,
+    utf_without_bom,
+    utf_with_bom
   };
 
 enum utf_16_endian_type
   };
 
 enum utf_16_endian_type
@@ -342,7 +346,7 @@ enum utf_16_endian_type
 
 struct utf_16_spec
 {
 
 struct utf_16_spec
 {
-  enum utf_16_bom_type bom;
+  enum utf_bom_type bom;
   enum utf_16_endian_type endian;
   int surrogate;
 };
   enum utf_16_endian_type endian;
   int surrogate;
 };
@@ -382,6 +386,7 @@ struct coding_system
       struct iso_2022_spec iso_2022;
       struct ccl_spec *ccl;    /* Defined in ccl.h.  */
       struct utf_16_spec utf_16;
       struct iso_2022_spec iso_2022;
       struct ccl_spec *ccl;    /* Defined in ccl.h.  */
       struct utf_16_spec utf_16;
+      enum utf_bom_type utf_8_bom;
       int emacs_mule_full_support;
     } spec;
 
       int emacs_mule_full_support;
     } spec;
 
@@ -645,6 +650,7 @@ extern int decoding_buffer_size P_ ((struct coding_system *, int));
 extern int encoding_buffer_size P_ ((struct coding_system *, int));
 extern void setup_coding_system P_ ((Lisp_Object, struct coding_system *));
 extern Lisp_Object coding_charset_list P_ ((struct coding_system *));
 extern int encoding_buffer_size P_ ((struct coding_system *, int));
 extern void setup_coding_system P_ ((Lisp_Object, struct coding_system *));
 extern Lisp_Object coding_charset_list P_ ((struct coding_system *));
+extern Lisp_Object coding_system_charset_list P_ ((Lisp_Object));
 extern void detect_coding P_ ((struct coding_system *));
 extern Lisp_Object code_convert_region P_ ((Lisp_Object, Lisp_Object,
                                            Lisp_Object, Lisp_Object,
 extern void detect_coding P_ ((struct coding_system *));
 extern Lisp_Object code_convert_region P_ ((Lisp_Object, Lisp_Object,
                                            Lisp_Object, Lisp_Object,