ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/rxvtperl.xs
(Generate patch)

Comparing rxvt-unicode/src/rxvtperl.xs (file contents):
Revision 1.18 by root, Tue Jan 3 19:10:54 2006 UTC vs.
Revision 1.22 by root, Wed Jan 4 03:16:15 2006 UTC

501 501
502PROTOTYPES: ENABLE 502PROTOTYPES: ENABLE
503 503
504BOOT: 504BOOT:
505{ 505{
506# define set_hookname(sym) av_store (hookname, PP_CONCAT(HOOK_, sym), newSVpv (PP_STRINGIFY(sym), 0))
507# define export_const(name) newCONSTSUB (gv_stashpv ("urxvt", 1), #name, newSViv (name)); 506# define export_const(name) newCONSTSUB (gv_stashpv ("urxvt", 1), # name, newSViv (name));
508 AV *hookname = get_av ("urxvt::HOOKNAME", 1); 507 AV *hookname = get_av ("urxvt::HOOKNAME", 1);
509 set_hookname (INIT); 508# define def(sym) av_store (hookname, HOOK_ ## sym, newSVpv (# sym, 0));
510 set_hookname (RESET); 509# include "hookinc.h"
511 set_hookname (START); 510# undef def
512 set_hookname (DESTROY);
513 set_hookname (SEL_BEGIN);
514 set_hookname (SEL_EXTEND);
515 set_hookname (SEL_MAKE);
516 set_hookname (SEL_GRAB);
517 set_hookname (FOCUS_IN);
518 set_hookname (FOCUS_OUT);
519 set_hookname (VIEW_CHANGE);
520 set_hookname (SCROLL_BACK);
521 set_hookname (TTY_ACTIVITY);
522 set_hookname (REFRESH_BEGIN);
523 set_hookname (REFRESH_END);
524 set_hookname (KEYBOARD_COMMAND);
525 511
526 export_const (DEFAULT_RSTYLE); 512 export_const (DEFAULT_RSTYLE);
527 export_const (OVERLAY_RSTYLE); 513 export_const (OVERLAY_RSTYLE);
528 export_const (RS_Bold); 514 export_const (RS_Bold);
529 export_const (RS_Italic); 515 export_const (RS_Italic);
704void 690void
705rxvt_term::ROW_t (int row_number, SV *new_text = 0, int start_col = 0) 691rxvt_term::ROW_t (int row_number, SV *new_text = 0, int start_col = 0)
706 PPCODE: 692 PPCODE:
707{ 693{
708 if (!IN_RANGE_EXC (row_number, -THIS->nsaved, THIS->nrow)) 694 if (!IN_RANGE_EXC (row_number, -THIS->nsaved, THIS->nrow))
709 croak ("row_number number of out range"); 695 XSRETURN_EMPTY;
710 696
711 line_t &l = ROW(row_number); 697 line_t &l = ROW(row_number);
712 698
713 if (GIMME_V != G_VOID) 699 if (GIMME_V != G_VOID)
714 { 700 {
751void 737void
752rxvt_term::ROW_r (int row_number, SV *new_rend = 0, int start_col = 0) 738rxvt_term::ROW_r (int row_number, SV *new_rend = 0, int start_col = 0)
753 PPCODE: 739 PPCODE:
754{ 740{
755 if (!IN_RANGE_EXC (row_number, -THIS->nsaved, THIS->nrow)) 741 if (!IN_RANGE_EXC (row_number, -THIS->nsaved, THIS->nrow))
756 croak ("row_number number of out range"); 742 XSRETURN_EMPTY;
757 743
758 line_t &l = ROW(row_number); 744 line_t &l = ROW(row_number);
759 745
760 if (GIMME_V != G_VOID) 746 if (GIMME_V != G_VOID)
761 { 747 {
791int 777int
792rxvt_term::ROW_l (int row_number, int new_length = -2) 778rxvt_term::ROW_l (int row_number, int new_length = -2)
793 CODE: 779 CODE:
794{ 780{
795 if (!IN_RANGE_EXC (row_number, -THIS->nsaved, THIS->nrow)) 781 if (!IN_RANGE_EXC (row_number, -THIS->nsaved, THIS->nrow))
796 croak ("row_number number of out range"); 782 XSRETURN_EMPTY;
797 783
798 line_t &l = ROW(row_number); 784 line_t &l = ROW(row_number);
799 RETVAL = l.l; 785 RETVAL = l.l < 0 ? THIS->ncol : l.l;
800 786
801 if (new_length >= -1) 787 if (new_length >= -1)
802 l.l = new_length; 788 l.l = new_length;
803} 789}
804 OUTPUT: 790 OUTPUT:
805 RETVAL 791 RETVAL
806 792
793bool
794rxvt_term::ROW_is_longer (int row_number)
795 CODE:
796{
797 if (!IN_RANGE_EXC (row_number, -THIS->nsaved, THIS->nrow))
798 XSRETURN_EMPTY;
799
800 line_t &l = ROW(row_number);
801 RETVAL = l.l < 0;
802}
803 OUTPUT:
804 RETVAL
805
807SV * 806SV *
808rxvt_term::special_encode (SV *str) 807rxvt_term::special_encode (SV *str)
809 CODE: 808 CODE:
810 abort ();//TODO 809 abort ();//TODO
811 810
817void 816void
818rxvt_term::_resource (char *name, int index, SV *newval = 0) 817rxvt_term::_resource (char *name, int index, SV *newval = 0)
819 PPCODE: 818 PPCODE:
820{ 819{
821 struct resval { const char *name; int value; } rslist [] = { 820 struct resval { const char *name; int value; } rslist [] = {
822# define Rs_def(name) { # name, Rs_ ## name }, 821# define def(name) { # name, Rs_ ## name },
823# define Rs_reserve(name,count) 822# define reserve(name,count)
824# include "rsinc.h" 823# include "rsinc.h"
825# undef Rs_def 824# undef def
826# undef Rs_reserve 825# undef reserve
827 }; 826 };
828 827
829 struct resval *rs = rslist + sizeof (rslist) / sizeof (rslist [0]); 828 struct resval *rs = rslist + sizeof (rslist) / sizeof (rslist [0]);
830 829
831 do { 830 do {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines