Since the lack of this has caused portability issues in the past:
[sgt/puzzles] / midend.c
index 87df28a..215482d 100644 (file)
--- a/midend.c
+++ b/midend.c
@@ -1198,9 +1198,18 @@ char *midend_set_config(midend *me, int which, config_item *cfg)
     return NULL;
 }
 
+int midend_can_format_as_text_now(midend *me)
+{
+    if (me->ourgame->can_format_as_text_ever)
+       return me->ourgame->can_format_as_text_now(me->params);
+    else
+       return FALSE;
+}
+
 char *midend_text_format(midend *me)
 {
-    if (me->ourgame->can_format_as_text && me->statepos > 0)
+    if (me->ourgame->can_format_as_text_ever && me->statepos > 0 &&
+       me->ourgame->can_format_as_text_now(me->params))
        return me->ourgame->text_format(me->states[me->statepos-1].state);
     else
        return NULL;