changeset 4430:d00347ec8289

Fix instantiate_method prototype This adds the additional no_fallback argument from the previous patch
author Didier Verna <didier@xemacs.org>
date Thu, 28 Feb 2008 10:29:08 +0100
parents a883e09e54f7
children dd9030354e14
files src/ChangeLog src/specifier.h
diffstat 2 files changed, 15 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Wed Feb 27 08:54:25 2008 -0800
+++ b/src/ChangeLog	Thu Feb 28 10:29:08 2008 +0100
@@ -1,3 +1,8 @@
+2008-02-28  Didier Verna  <didier@xemacs.org>
+
+	* specifier.h (struct specifier_methods): Fix instantiate_method
+	prototype to match the changes below.
+
 2008-02-26  Didier Verna  <didier@xemacs.org>
 
 	* specifier.c (CHECK_INSTANCE_ENTRY): See below.
--- a/src/specifier.h	Wed Feb 27 08:54:25 2008 -0800
+++ b/src/specifier.h	Thu Feb 28 10:29:08 2008 +0100
@@ -139,7 +139,7 @@
   void (*validate_matchspec_method) (Lisp_Object matchspec);
 
   /* Instantiate method: Return SPECIFIER instance in DOMAIN,
-     specified by INSTANTIATOR.  MATCHSPEC specifies an additional
+     specified by INSTANTIATOR.  MATCHSPEC specifies additional
      constraints on the instance value (see the docstring for
      Fspecifier_matching_instance function). MATCHSPEC is passed
      Qunbound when no matching constraints are imposed. The method is
@@ -152,6 +152,9 @@
      name specifier_instance) to avoid creating "external"
      specification loops.
 
+     NO_FALLBACK indicates that the method should not try the fallbacks
+     (and thus simply return Qunbound) in case of a failure to instantiate.
+
      This method must presume that both INSTANTIATOR and MATCHSPEC are
      already validated by the corresponding validate_* methods, and
      may abort if they are invalid.
@@ -166,7 +169,8 @@
 				     Lisp_Object matchspec,
 				     Lisp_Object domain,
 				     Lisp_Object instantiator,
-				     Lisp_Object depth);
+				     Lisp_Object depth,
+				     int no_fallback);
 
   /* Going-to-add method: Called when an instantiator is about
      to be added to a specifier.  This function can specify
@@ -343,7 +347,7 @@
   INITIALIZE_SPECIFIER_TYPE (type, obj_name, pred_sym);			\
   type##_specifier_methods->extra_data_size =				\
     sizeof (struct type##_specifier);					\
-  type##_specifier_methods->extra_description = 			\
+  type##_specifier_methods->extra_description =			\
     &type##_specifier_description_0;					\
 } while (0)
 
@@ -573,13 +577,13 @@
    font for CHARSET that matches iso10646-1, since we haven't found a font
    that matches its registry."  */
 enum font_specifier_matchspec_stages {
-  initial, 
+  initial,
   final,
-  impossible, 
+  impossible,
 };
 
 Lisp_Object define_specifier_tag(Lisp_Object tag,
-				 Lisp_Object device_predicate, 
+				 Lisp_Object device_predicate,
 				 Lisp_Object charset_predicate);
 
 #endif /* INCLUDED_specifier_h_ */