--- rxvt-unicode/src/rxvt.h 2006/01/06 18:33:30 1.188 +++ rxvt-unicode/src/rxvt.h 2006/01/07 19:29:17 1.190 @@ -21,6 +21,8 @@ #include "iom.h" #include "salloc.h" +#include "rxvtperl.h" + #if ENABLE_FRILLS # define ENABLE_XEMBED 1 # define ENABLE_EWMH 1 @@ -922,9 +924,14 @@ # define COMPOSE_HI 0x400fffffUL # define IS_COMPOSE(n) ((int32_t)(n) >= COMPOSE_LO) #else -# define COMPOSE_LO 0xd800UL -# define COMPOSE_HI 0xf8ffUL // dfff should be safer, but... -# define IS_COMPOSE(n) (COMPOSE_LO <= (n) && (n) <= COMPOSE_HI) +# if ENABLE_PERL +# define COMPOSE_LO 0xe000UL // our _own_ routiens don't like (illegal) surrogates +# define COMPOSE_HI 0xf8ffUL // in utf-8, so use private use area only +# else +# define COMPOSE_LO 0xd800UL +# define COMPOSE_HI 0xf8ffUL +# endif +# define IS_COMPOSE(n) IN_RANGE_INC ((n), COMPOSE_LO, COMPOSE_HI) #endif #if ENABLE_COMBINING @@ -961,11 +968,11 @@ #endif struct rxvt_term : zero_initialized, rxvt_vars { - log_callback *log_hook; // log error messages through this hook, if != 0 + log_callback *log_hook; // log error messages through this hook, if != 0 getfd_callback *getfd_hook; // convert remote to local fd, if != 0 #if ENABLE_PERL - void *self; // perl's $self + rxvt_perl_term perl; #endif struct mbstate mbstate; // current input multibyte state