X-Git-Url: https://git.hcoop.net/bpt/emacs.git/blobdiff_plain/28cd4910e87726f19c87b3f35f62742b60aff019..54a72868e6b4d3001918d57884c8cf74ec8f9b8b:/src/composite.h diff --git a/src/composite.h b/src/composite.h index 75a336d664..8ff6416990 100644 --- a/src/composite.h +++ b/src/composite.h @@ -1,6 +1,9 @@ /* Header for composite sequence handler. - Copyright (C) 1999 Electrotechnical Laboratory, JAPAN. - Licensed to the Free Software Foundation. + Copyright (C) 2001, 2002, 2003, 2004, 2005, + 2006, 2007 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 + National Institute of Advanced Industrial Science and Technology (AIST) + Registration Number H14PRO021 This file is part of GNU Emacs. @@ -16,8 +19,8 @@ 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., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +Boston, MA 02110-1301, USA. */ #ifndef EMACS_COMPOSITE_H #define EMACS_COMPOSITE_H @@ -75,7 +78,7 @@ extern Lisp_Object composition_temp; #define COMPOSITION_MODIFICATION_FUNC(prop) \ (COMPOSITION_REGISTERD_P (prop) \ ? XCDR (XCDR (XCDR (prop))) \ - : XCDR (prop)) + : CONSP (prop) ? XCDR (prop) : Qnil) /* Return the method of composition. */ #define COMPOSITION_METHOD(prop) \ @@ -90,17 +93,20 @@ extern Lisp_Object composition_temp; /* Return 1 iff the composition is valid. It is valid if length of the composition equals to (END - START). */ -#define COMPOSITION_VALID_P(start, end, prop) \ - (CONSP (prop) \ - && (COMPOSITION_REGISTERD_P (prop) \ - ? (COMPOSITION_ID (prop) >= 0 \ - && COMPOSITION_ID (prop) <= n_compositions \ - && CONSP (XCDR (prop))) \ - : (composition_temp = XCAR (prop), \ - (CONSP (composition_temp) \ - && (composition_temp = XCDR (composition_temp), \ - (NILP (composition_temp) || STRINGP (composition_temp) \ - || VECTORP (composition_temp) || CONSP (composition_temp))))))\ +#define COMPOSITION_VALID_P(start, end, prop) \ + (CONSP (prop) \ + && (COMPOSITION_REGISTERD_P (prop) \ + ? (COMPOSITION_ID (prop) >= 0 \ + && COMPOSITION_ID (prop) <= n_compositions \ + && CONSP (XCDR (prop))) \ + : (composition_temp = XCAR (prop), \ + (CONSP (composition_temp) \ + && (composition_temp = XCDR (composition_temp), \ + (NILP (composition_temp) \ + || STRINGP (composition_temp) \ + || VECTORP (composition_temp) \ + || INTEGERP (composition_temp) \ + || CONSP (composition_temp)))))) \ && (end - start) == COMPOSITION_LENGTH (prop)) /* Return the Nth glyph of composition specified by CMP. CMP is a @@ -143,7 +149,7 @@ extern Lisp_Object composition_temp; When a composition is assigned an ID number (by get_composition_id), this structure is allocated for the - composition and linked in composition_table[ID]. + composition and linked in composition_table[ID]. Identical compositions appearing at different places have the same ID, and thus share the same instance of this structure. */ @@ -202,9 +208,11 @@ extern void update_compositions P_ ((int, int, int)); extern void make_composition_value_copy P_ ((Lisp_Object)); extern void compose_region P_ ((int, int, Lisp_Object, Lisp_Object, Lisp_Object)); -extern void syms_of_composition P_ ((void)); +extern void syms_of_composite P_ ((void)); extern void compose_text P_ ((int, int, Lisp_Object, Lisp_Object, Lisp_Object)); -extern void compose_chars_in_text P_ ((int, int, Lisp_Object)); #endif /* not EMACS_COMPOSITE_H */ + +/* arch-tag: 59524d89-c645-47bd-b5e6-65e861690118 + (do not change this comment) */