struct scrollregion *scrollhead, *scrolltail;
#endif /* OPTIMISE_SCROLL */
- unsigned long curr_attr, save_attr;
+ unsigned long default_attr, curr_attr, save_attr;
unsigned long erase_char;
bufchain inbuf; /* terminal input buffer */
* than only the default.
*/
Config cfg;
+
+ /*
+ * from_backend calls term_out, but it can also be called from
+ * the ldisc if the ldisc is called _within_ term_out. So we
+ * have to guard against re-entrancy - if from_backend is
+ * called recursively like this, it will simply add data to the
+ * end of the buffer term_out is in the process of working
+ * through.
+ */
+ int in_term_out;
+
+ /*
+ * These are buffers used by the bidi and Arabic shaping code.
+ */
+ unsigned long *ltemp;
+ bidi_char *wcFrom, *wcTo;
+ unsigned long **pre_bidi_cache, **post_bidi_cache;
+ int bidi_cache_size;
};
#define in_utf(term) ((term)->utf || (term)->ucsdata->line_codepage==CP_UTF8)