static int j_textbox(JUMPARGS) { *offset_add = 4; return dialog_textbox(t, av[1], numeric_arg(av, 2), numeric_arg(av, 3)); }
static int j_infobox(JUMPARGS) { *offset_add = 4; return dialog_msgbox(t, av[1], numeric_arg(av, 2), numeric_arg(av, 3), 0); }
static int j_fselect(JUMPARGS) { *offset_add = arg_rest(av); return show_result(dialog_fselect(t, av[1], numeric_arg(av, 2), numeric_arg(av, 3))); }
static int j_yesno(JUMPARGS) { *offset_add = 4; return dialog_yesno(t, av[1], numeric_arg(av, 2), numeric_arg(av, 3), defaultno); }
static int j_tailboxbg(JUMPARGS) { *offset_add = 4; return dialog_tailbox(t, av[1], numeric_arg(av, 2), numeric_arg(av, 3), TRUE); }
static int j_gauge(JUMPARGS) { *offset_add = arg_rest(av); return dialog_gauge(t, av[1], numeric_arg(av, 2), numeric_arg(av, 3), optional_num(av, 4, 0)); }
static int j_passwordbox(JUMPARGS) { *offset_add = arg_rest(av); return show_result(dialog_inputbox(t, av[1], numeric_arg(av, 2), numeric_arg(av, 3), optional_str(av, 4, 0), 1)); }
static int j_radiolist(JUMPARGS) { int tags = howmany_tags(av + 5, CHECKBOX_TAGS); *offset_add = 5 + tags * CHECKBOX_TAGS; return dialog_checklist(t, av[1], numeric_arg(av, 2), numeric_arg(av, 3), numeric_arg(av, 4), tags, av + 5, FLAG_RADIO, dialog_vars.separate_output); }
static int j_calendar(JUMPARGS) { *offset_add = arg_rest(av); return show_result(dialog_calendar(t, av[1], numeric_arg(av, 2), numeric_arg(av, 3), numeric_arg(av, 4), numeric_arg(av, 5), numeric_arg(av, 6))); }
static int j_timebox(JUMPARGS) { *offset_add = arg_rest(av); return show_result(dialog_timebox(t, av[1], numeric_arg(av, 2), numeric_arg(av, 3), optional_num(av, 4, -1), optional_num(av, 5, -1), optional_num(av, 6, -1))); }
int kill_to_end_of_line( void ) { int nd; int count = arg; bool merge = last_proc == kill_to_end_of_line; if( cur_exec != 0 && cur_exec->p_nargs > 0 ) count = count * numeric_arg (1); do { arg = 1; nd = dot; end_of_line (); nd = dot - nd; if( nd <= 0 ) nd = -1; if( !merge ) replace_to_buf (-nd, kill_buffer_str); else append_to_buf (-nd, kill_buffer_str); merge = true; count--; } while( count > 0 ); return 0; }
static int optional_num(char **av, int n, int dft) { int ret = dft; if (arg_rest(av) > n) ret = numeric_arg(av, n); return ret; }
static int j_menu(JUMPARGS) { int ret; int tags = howmany_tags(av + 5, MENUBOX_TAGS); *offset_add = 5 + tags * MENUBOX_TAGS; ret = dialog_menu(t, av[1], numeric_arg(av, 2), numeric_arg(av, 3), numeric_arg(av, 4), tags, av + 5); if (ret >= 0) { fprintf(dialog_vars.output, av[5 + ret * MENUBOX_TAGS]); return 0; } else if (ret == -2) return 1; /* CANCEL */ return ret; /* ESC pressed, ret == -1 */ }
int previous_line( void ) { int count = arg; if( cur_exec != 0 && cur_exec->p_nargs > 0 ) count = count * numeric_arg (1); line_move( 1, count ); return 0; }
// // Compare two chars according to case-fold // int char_compare_command( void ) { if( check_args( 2, 2 ) ) return 0; int a = numeric_arg( 1 ); int b = numeric_arg( 2 ); if( a < 0 || b < 0 ) { error( "c= expects its arguments to be character values" ); return 0; } if( bf_cur->b_mode.md_foldcase ) ml_value = unicode_casefold( a ) == unicode_casefold( b ); else ml_value = a == b; return 0; }
int yank_from_kill_buffer( void ) { int count = arg; int i; if( input_mode == 1 ) gui_input_mode_before_insert(); if( cur_exec != 0 && cur_exec->p_nargs > 0 ) count = count * numeric_arg( 1 ); for( i=1; i<=count ; ++i ) insert_buffer( kill_buffer_str ); return 0; }
int delete_previous_character( void ) { int count = arg; if( input_mode == 1 && gui_input_mode_before_delete() ) return 0; if( cur_exec != 0 && cur_exec->p_nargs > 0 ) count = count * numeric_arg (1); del_chars_in_buffer (dot, count, 0); dot_left (count); return 0; }
int backward_character( void ) { int count = arg; if( cur_exec != 0 && cur_exec->p_nargs > 0 ) count = count * numeric_arg (1); dot_left (count); if( dot < bf_cur->first_character() ) { set_dot( bf_cur->first_character() ); error( "You are at the beginning of the buffer"); } return 0; }
int forward_character( void ) { int count = arg; if( cur_exec != 0 && cur_exec->p_nargs > 0 ) count = count * numeric_arg (1); dot_right (count); if( dot > bf_cur->num_characters() + 1 ) { set_dot (bf_cur->num_characters() + 1); error( "You are at the end of the buffer."); } return 0; }
int delete_next_character( void ) { int repeat_count; int count = arg; if( input_mode == 1 && gui_input_mode_before_delete() ) return 0; if( cur_exec != 0 && cur_exec->p_nargs > 0 ) count = count * numeric_arg (1); if( (repeat_count = del_chars_in_buffer (dot, count, 1)) != 0 ) dot_right (repeat_count); return 0; }
int set_mark_command( void ) { bool gui_input_mode = false; ProgramNode *p = cur_exec; if( p != NULL && p->p_nargs == 1 ) gui_input_mode = numeric_arg( 1 ) != 0; bf_cur->set_mark( dot, 0, gui_input_mode ); if( gui_input_mode ) gui_input_shift_state( true ); if( interactive() ) message( "Mark set." ); cant_1line_opt = 1; return 0; }
NODE *lshowturtle(NODE *args) { - prepare_to_draw; + prepare_to_draw2(UNBOUND); if (!turtle_shown) { turtle_shown = TRUE; draw_turtle(); @@ -545,7 +545,7 @@ NODE *lshowturtle(NODE *args) { } NODE *lhideturtle(NODE *args) { - prepare_to_draw; + prepare_to_draw2(UNBOUND); if (turtle_shown) { draw_turtle(); turtle_shown = FALSE; @@ -874,7 +874,7 @@ NODE *llabel(NODE *arg) { *print_stringptr = '\0'; if (NOT_THROWING) { - prepare_to_draw; + prepare_to_draw2(UNBOUND); draw_turtle(); theLength = strlen(textbuf); #ifdef mac @@ -983,7 +983,7 @@ NODE *lsetpencolor(NODE *arg) { NODE *val = pos_int_arg(arg); if (NOT_THROWING) { - prepare_to_draw; + prepare_to_draw2(UNBOUND); set_pen_color(getint(val)); save_color(); done_drawing; @@ -995,7 +995,7 @@ NODE *lsetbackground(NODE *arg) { NODE *val = pos_int_arg(arg); if (NOT_THROWING) { - prepare_to_draw; + prepare_to_draw2(UNBOUND); set_back_ground(getint(val)); done_drawing; } @@ -1008,7 +1008,7 @@ NODE *lsetpalette(NODE *args) { int slotnum = (int)getint(slot); if (NOT_THROWING && (slotnum > 7)) { - prepare_to_draw; + prepare_to_draw2(UNBOUND); set_palette(slotnum, (unsigned int)getint(car(arg)), (unsigned int)getint(cadr(arg)), @@ -1057,7 +1057,7 @@ NODE *lsetpensize(NODE *args) { NODE *arg = pos_int_vector_arg(args); if (NOT_THROWING) { - prepare_to_draw; + prepare_to_draw2(UNBOUND); set_pen_width((int)getint(car(arg))); set_pen_height((int)getint(cadr(arg))); save_size(); @@ -1074,7 +1074,7 @@ NODE *lsetpenpattern(NODE *args) { arg = err_logo(BAD_DATA, arg); if (NOT_THROWING) { - prepare_to_draw; + prepare_to_draw2(UNBOUND); set_list_pen_pattern(arg); save_pattern(); done_drawing; @@ -1090,7 +1090,7 @@ NODE *lsetscrunch(NODE *args) { ynode = numeric_arg(cdr(args)); if (NOT_THROWING) { - prepare_to_draw; + prepare_to_draw2(UNBOUND); draw_turtle(); x_scale = (nodetype(xnode) == FLOATT) ? getfloat(xnode) : (FLONUM)getint(xnode); @@ -1227,7 +1227,7 @@ NODE *larc(NODE *arg) { else radius = getfloat(val2); - prepare_to_draw; + prepare_to_draw2(UNBOUND); draw_turtle(); /* save and force turtle state */ @@ -1582,7 +1582,7 @@ NODE *lloadpict(NODE *args) { lopenread(args); #endif if (NOT_THROWING) { - prepare_to_draw; + prepare_to_draw2(UNBOUND); fp = (FILE *)file_list->n_obj; restore_palette(fp); fread(&record_index, sizeof(FIXNUM), 1, fp);