DIFFerences for TPUVI V5 -> V4 conversion
Gregg Wonderly
gregg at a.cs.okstate.edu
Sat Nov 26 10:10:43 AEST 1988
These are differences between my last VMS V4.7 TPUVI and the current
VMS V5 TPUVI. These diffs should help you to convert the most recent
VMS V5 TPUVI to work under V4.x. Some of the changes are for bug
fixes and enhancements, while others are the changes made to make
TPUVI work under V5 TPU. To help you out a little, below is some
background on the changes. VI.OUT;635 is the V5 version, VI_V4.OUT;2
is the old V4 version.
-----------------------------------------------------------------------
Anything dealing with a pattern string should be converted back because
V4 TPU has many things wrong with the pattern searching routines, and
the patterns I used attempt to get around most of those problems.
I changed MOVE_HORIZONTAL (-CURRENT_OFFSET) to POSITION (LINE_BEGIN)
during conversion to V5 TPU.
I also changed MOVE_HORIZONTAL (LENGTH (CURRENT_LINE)-CURRENT_OFFSET) to
POSITION (LINE_END) during conversion to V5 TPU.
Occurances of STR (KEY_NAME (blah)) where changed to STR (INT (KEY_NAME (blah)))
during conversion to VMS V5.
In V4 of TPU, a SEARCH in the REVERSE direction would automatically
MOVE_HORIZONTAL (-1) for you before starting. In V5 TPU, this 'feature'
was removed to make SEARCH orthoginal in behavior.
The V4 compiler missed several checks on parameter usage and variable
declarations. Several of the changes made to go to V5 TPU involved
variable renaming. These changes should still work under V4 of TPU.
If you have any questions about whether or not something should be included,
include it, and if it breaks the editor, then take it out!
Gregg Wonderly UUCP: {cbosgd, ihnp4, rutgers}!okstate!gregg
Domain: gregg at A.CS.OKSTATE.EDU
-----------------------------------------------------------------------------
************
File VI$ROOT:[000000]VI.OUT;635
13 ! Version number 2, edit 634, 25-NOV-1988 16:29:57.38
14 !
******
File VI$ROOT:[SRC]VI_V4.OUT;2
13 ! Version number 1, edit 611, 22-MAY-1988 10:57:29.38
14 !
************
************
File VI$ROOT:[000000]VI.OUT;635
29 vi$find_rng := 0;
30 vi$_version := "VAX/TPU -- VI Version 2, Edit 636";
31 message_buffer := 0;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
29 vi$_version := "VAX/TPU -- VI Version 1, Edit 611";
30 message_buffer := 0;
************
************
File VI$ROOT:[000000]VI.OUT;635
132 vi$para_str := "P ";
133 vi$para_pat := LINE_BEGIN & ((".P")|LINE_END);
134 vi$sect_str := "CHHLPG+c";
135 vi$sect_pat := LINE_BEGIN & ((".CH"| ".HL"| ".PG"| "{")|LINE_END);
136 vi$last_cmd := 0;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
131 vi$next_blank := "" & LINE_BEGIN & LINE_END;
132 vi$para_str := "P ";
133 vi$para_pat := "" & LINE_BEGIN & (".P");
134 vi$sect_str := "CHHLPG+c";
135 vi$sect_pat := "" & LINE_BEGIN & (".CH"| ".HL"| ".PG"| "{");
136 vi$last_cmd := 0;
************
************
File VI$ROOT:[000000]VI.OUT;635
703 POSITION (LINE_BEGIN);
704 bol := MARK (NONE);
705 repos := 0;
706 IF (GET_INFO (vi$undo_line_mark, "TYPE") = MARKER) THEN
707 POSITION (vi$undo_line_mark);
708 POSITION (LINE_BEGIN);
709 IF (bol <> MARK (NONE)) THEN
******
File VI$ROOT:[SRC]VI_V4.OUT;2
703 MOVE_HORIZONTAL (-CURRENT_OFFSET);
704 bol := MARK (NONE);
705 repos := 0;
706 IF (GET_INFO (vi$undo_line_mark, "TYPE") = MARKER) THEN
707 POSITION (vi$undo_line_mark);
708 MOVE_HORIZONTAL (-CURRENT_OFFSET);
709 IF (bol <> MARK (NONE)) THEN
************
************
File VI$ROOT:[000000]VI.OUT;635
813 IF (save_buffer AND (NOT old_global)) THEN
814 vi$save_for_undo (CURRENT_BUFFER, VI$LINE_MODE, 1);
815 vi$in_global := 1;
816 ENDIF;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
813 vi$in_global := 0;
814 IF (save_buffer AND (NOT old_global)) THEN
815 vi$save_for_undo (CURRENT_BUFFER, VI$LINE_MODE, 1);
816 vi$in_global := 1;
817 ELSE
818 IF old_global THEN
819 vi$in_global := 1;
820 ENDIF;
821 ENDIF;
************
************
File VI$ROOT:[000000]VI.OUT;635
828 prog := LOOKUP_KEY (key, PROGRAM, vi$cmd_keys);
830 ! If prog = 0 then key is undefined, so ignore it.
******
File VI$ROOT:[SRC]VI_V4.OUT;2
833 prog := LOOKUP_KEY (KEY_NAME (key), PROGRAM, vi$cmd_keys);
835 ! If prog = 0 then key is undefined, so ignore it.
************
************
File VI$ROOT:[000000]VI.OUT;635
956 POSITION (LINE_BEGIN);
957 npos := MARK (NONE);
958 repos := 1;
959 IF (GET_INFO (vi$undo_line_mark, "TYPE") = MARKER) THEN
960 POSITION (vi$undo_line_mark);
961 POSITION (LINE_BEGIN);
962 IF (npos <> MARK (NONE)) THEN
******
File VI$ROOT:[SRC]VI_V4.OUT;2
961 MOVE_HORIZONTAL (-CURRENT_OFFSET);
962 npos := MARK (NONE);
963 repos := 1;
964 IF (GET_INFO (vi$undo_line_mark, "TYPE") = MARKER) THEN
965 POSITION (vi$undo_line_mark);
966 MOVE_HORIZONTAL (-CURRENT_OFFSET);
967 IF (npos <> MARK (NONE)) THEN
************
************
File VI$ROOT:[000000]VI.OUT;635
1218 POSITION (LINE_BEGIN);
1219 IF (SCROLL (CURRENT_WINDOW, n_lines) <> n_lines) THEN
******
File VI$ROOT:[SRC]VI_V4.OUT;2
1223 MOVE_HORIZONTAL (-CURRENT_OFFSET);
1224 IF (SCROLL (CURRENT_WINDOW, n_lines) <> n_lines) THEN
************
************
File VI$ROOT:[000000]VI.OUT;635
1237 vi$beep_position (vi$to_column, 0, 1);
1238 ENDPROCEDURE;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
1242 vi$position (vi$to_column, 0);
1243 ENDPROCEDURE;
************
************
File VI$ROOT:[000000]VI.OUT;635
1418 SET (OUTPUT_FILE, CURRENT_BUFFER, new_output);
1419 vi$status_lines (CURRENT_BUFFER);
******
File VI$ROOT:[SRC]VI_V4.OUT;2
1423 SET (OUTPUT, CURRENT_BUFFER, new_output);
1424 vi$status_lines (CURRENT_BUFFER);
************
************
File VI$ROOT:[000000]VI.OUT;635
1444 vi$beep_position (vi$find_str (vi$search_string, 0, 0), 1, 1);
1445 ENDIF;
1446 ELSE
1447 vi$beep_position (vi$to_line (INT (new_lineno)), 1, 1);
1448 ENDIF;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
1449 vi$position (vi$find_str (vi$search_string, 0, 0), 1);
1450 ENDIF;
1451 ELSE
1452 vi$position (vi$to_line (INT (new_lineno)), 1);
1453 ENDIF;
************
************
File VI$ROOT:[000000]VI.OUT;635
1681 POSITION (LINE_END);
1682 max_mark := MARK(NONE);
******
File VI$ROOT:[SRC]VI_V4.OUT;2
1686 MOVE_HORIZONTAL (LENGTH (CURRENT_LINE) - CURRENT_OFFSET);
1687 max_mark := MARK(NONE);
************
************
File VI$ROOT:[000000]VI.OUT;635
1835 POSITION (LINE_BEGIN);
1836 start_line := MARK (NONE);
1837 POSITION (vi$start_pos);
1839 IF (vi$endpos <> 0) THEN
1840 POSITION (vi$endpos);
1841 POSITION (LINE_BEGIN);
1842 end_line := MARK (NONE);
******
File VI$ROOT:[SRC]VI_V4.OUT;2
1840 MOVE_HORIZONTAL (-CURRENT_OFFSET);
1841 start_line := MARK (NONE);
1842 POSITION (vi$start_pos);
1844 IF (vi$endpos <> 0) THEN
1845 POSITION (vi$endpos);
1846 MOVE_HORIZONTAL (-CURRENT_OFFSET);
1847 end_line := MARK (NONE);
************
************
File VI$ROOT:[000000]VI.OUT;635
1991 MESSAGE ("");
1992 RETURN (vi$retpos (pos));
******
File VI$ROOT:[SRC]VI_V4.OUT;2
1996 RETURN (vi$retpos (pos));
************
************
File VI$ROOT:[000000]VI.OUT;635
2010 tend,
2011 pos;
2013 POSITION (LINE_BEGIN);
2015 IF (MARK (NONE) <> BEGINNING_OF (CURRENT_BUFFER)) THEN
******
File VI$ROOT:[SRC]VI_V4.OUT;2
2014 end,
2015 pos;
2017 MOVE_HORIZONTAL (-CURRENT_OFFSET);
2019 IF (MARK (NONE) <> BEGINNING_OF (CURRENT_BUFFER)) THEN
************
************
File VI$ROOT:[000000]VI.OUT;635
2030 POSITION (LINE_END);
2031 MOVE_HORIZONTAL (-1);
2032 ENDIF;
2034 tend := MARK (NONE);
2035 rng := CREATE_RANGE (start, tend, NONE);
2036 POSITION (start);
******
File VI$ROOT:[SRC]VI_V4.OUT;2
2034 MOVE_HORIZONTAL (LENGTH (vi$current_line) - 1);
2035 ENDIF;
2037 end := MARK (NONE);
2038 rng := CREATE_RANGE (start, end, NONE);
2039 POSITION (start);
************
************
File VI$ROOT:[000000]VI.OUT;635
2632 POSITION (LINE_BEGIN);
2633 vi$start_pos := MARK (NONE);
******
File VI$ROOT:[SRC]VI_V4.OUT;2
2635 MOVE_HORIZONTAL (-CURRENT_OFFSET);
2636 vi$start_pos := MARK (NONE);
************
************
File VI$ROOT:[000000]VI.OUT;635
2643 POSITION (LINE_BEGIN);
2644 IF (vi$new_offset = 1) THEN
******
File VI$ROOT:[SRC]VI_V4.OUT;2
2646 MOVE_HORIZONTAL (-CURRENT_OFFSET);
2647 IF (vi$new_offset = 1) THEN
************
************
File VI$ROOT:[000000]VI.OUT;635
2770 POSITION (LINE_END);
2771 vi$new_endpos := MARK(NONE);
******
File VI$ROOT:[SRC]VI_V4.OUT;2
2773 MOVE_HORIZONTAL (-CURRENT_OFFSET);
2774 MOVE_HORIZONTAL (LENGTH(vi$current_line) + 1);
2775 vi$new_endpos := MARK(NONE);
************
************
File VI$ROOT:[000000]VI.OUT;635
2783 POSITION (LINE_BEGIN);
2785 IF vi$new_offset = 1 THEN
******
File VI$ROOT:[SRC]VI_V4.OUT;2
2787 MOVE_HORIZONTAL (-CURRENT_OFFSET);
2789 IF vi$new_offset = 1 THEN
************
************
File VI$ROOT:[000000]VI.OUT;635
2948 ELSE
2949 POSITION (BEGINNING_OF (where));
2950 bpos := MARK (NONE);
2951 POSITION (END_OF (where));
2952 vi$find_rng := CREATE_RANGE (bpos, MARK(NONE), BOLD);
2953 ENDIF;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
2952 ENDIF;
************
************
File VI$ROOT:[000000]VI.OUT;635
3030 POSITION (BEGINNING_OF (where));
3031 bpos := MARK (NONE);
3032 POSITION (END_OF (where));
3033 vi$find_rng := CREATE_RANGE (bpos, MARK(NONE), BOLD);
3034 ENDIF;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
3029 MESSAGE ("");
3030 ENDIF;
************
************
File VI$ROOT:[000000]VI.OUT;635
3073 vi$info ("Search wrapped past buffer boundry!");
3074 where := SEARCH (vi$_find_pat, CURRENT_DIRECTION, vi$ignore_case);
******
File VI$ROOT:[SRC]VI_V4.OUT;2
3069 where := SEARCH (vi$_find_pat, CURRENT_DIRECTION, vi$ignore_case);
************
************
File VI$ROOT:[000000]VI.OUT;635
3194 cur_pat, ! The current pattern to be extracted
3195 cur_char, ! The current character in the regular
3196 ! expression being examined
******
File VI$ROOT:[SRC]VI_V4.OUT;2
3189 cur_pat, ! The current pattern to be extracted
3190 cur_char, ! The current character in the regular
3191 ! expression being examined
************
************
File VI$ROOT:[000000]VI.OUT;635
3230 IF (cur_char = "$") AND (pos = LENGTH (pat)) THEN
3231 cur_pat := "line_end";
3232 ELSE
******
File VI$ROOT:[SRC]VI_V4.OUT;2
3225 IF (cur_char = "^") THEN
3226 vi$info ("^ found in the middle of a line, use \ to escape it!");
3227 RETURN (0);
3228 ENDIF;
3230 IF (cur_char = "$") THEN
3231 IF (pos >= LENGTH (pat)) THEN
3232 cur_pat := "line_end";
3233 ELSE
3234 vi$info ("$ found before end of string");
3235 RETURN (0);
3236 ENDIF;
3237 ELSE
************
************
File VI$ROOT:[000000]VI.OUT;635
3317 EXITIF (cur_char = "[") OR
3318 ((cur_char = "$") AND (pos = LENGTH (pat)));
3319 EXITIF (pos > LENGTH (pat));
******
File VI$ROOT:[SRC]VI_V4.OUT;2
3322 EXITIF (cur_char = "^") OR (cur_char = "[") OR
3323 (cur_char = "$");
3324 EXITIF (pos > LENGTH (pat));
************
************
File VI$ROOT:[000000]VI.OUT;635
3391 cur_pat := "span(vi$pch)";
3392 ELSE
3393 cur_pat := "span('"+cur_char+"')";
3394 ENDIF;
3395 tstr := tstr+'"&'+cur_pat+'&"';
3396 haveany := 0;
3397 ELSE
3398 IF (LENGTH (cur_char) > 1) THEN
3399 IF (haveany) THEN
3400 tstr := tstr +'"&'+"arb(1)"+'&"';
3401 haveany := 0;
3402 ELSE
3403 IF (LENGTH (tstr)>0) and (tstr <> '"') THEN
3404 tstr := tstr +'"&'+"arb(1)"+'&"';
3405 ELSE
3406 tstr := "arb(1)"+'&"';
3407 ENDIF
******
File VI$ROOT:[SRC]VI_V4.OUT;2
3396 cur_pat := "''&(span(vi$pch)|'')";
3397 ELSE
3398 cur_pat := "(span('"+cur_char+"')|"""")";
3399 ENDIF;
3400 tstr := tstr+'"'+"&"+cur_pat+"&"+'"';
3401 haveany := 0;
3402 ELSE
3403 IF (LENGTH (cur_char) > 1) THEN
3404 IF (haveany) THEN
3405 tstr := tstr +'"'+"&"+"arb(1)"+"&"+'"';
3406 haveany := 0;
3407 ELSE
3408 IF (LENGTH (tstr)>0) and (tstr <> '"') THEN
3409 tstr := tstr +'"'+"&"+"arb(1)"+"&"+'"';
3410 ELSE
3411 tstr := "arb(1)"+"&"+'"';
3412 ENDIF
************
************
File VI$ROOT:[000000]VI.OUT;635
3458 vi$beep_position (vi$match_brackets, 1, 1);
3459 ENDPROCEDURE;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
3463 vi$position (vi$match_brackets, 1);
3464 ENDPROCEDURE;
************
************
File VI$ROOT:[000000]VI.OUT;635
3556 ELSE
3557 MOVE_HORIZONTAL (-1);
3558 ENDIF;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
3561 ENDIF;
************
************
File VI$ROOT:[000000]VI.OUT;635
3600 ELSE
3601 MOVE_HORIZONTAL (-1);
3602 ENDIF;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
3603 ENDIF;
************
************
File VI$ROOT:[000000]VI.OUT;635
3718 POSITION (LINE_BEGIN);
3719 cnt := vi$active_count;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
3719 MOVE_HORIZONTAL (-CURRENT_OFFSET);
3720 cnt := vi$active_count;
************
************
File VI$ROOT:[000000]VI.OUT;635
3728 POSITION (LINE_END);
3729 vi$check_rmarg;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
3729 MOVE_HORIZONTAL (LENGTH (vi$current_line));
3730 vi$check_rmarg;
************
************
File VI$ROOT:[000000]VI.OUT;635
3744 vi$beep_position (vi$first_no_space (use_cur_active), 0, 1);
3745 ENDPROCEDURE;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
3745 vi$position (vi$first_no_space (use_cur_active), 0);
3746 ENDPROCEDURE;
************
************
File VI$ROOT:[000000]VI.OUT;635
3755 POSITION (LINE_BEGIN);
3756 vi$yank_mode := VI$IN_LINE_MODE;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
3756 MOVE_HORIZONTAL (-CURRENT_OFFSET);
3757 vi$yank_mode := VI$IN_LINE_MODE;
************
************
File VI$ROOT:[000000]VI.OUT;635
3772 IF (vi$beep_position (pos, 1, 0) <> 0) THEN
3773 POSITION (opos);
******
File VI$ROOT:[SRC]VI_V4.OUT;2
3773 IF (vi$position (pos, 1) <> 0) THEN
3774 POSITION (opos);
************
************
File VI$ROOT:[000000]VI.OUT;635
3789 IF (vi$beep_position (pos, 1, 0) <> 0) THEN
3790 POSITION (opos);
******
File VI$ROOT:[SRC]VI_V4.OUT;2
3790 IF (vi$position (pos, 1) <> 0) THEN
3791 POSITION (opos);
************
************
File VI$ROOT:[000000]VI.OUT;635
3799 vi$beep_position (vi$repeat_torf_back, 0, 1);
3800 ENDPROCEDURE
3802 !
3803 ! Repeat the last 't' or 'f' command.
3804 !
3805 PROCEDURE vi$_repeat_torf
3806 vi$beep_position (vi$repeat_torf, 0, 1);
3807 ENDPROCEDURE
******
File VI$ROOT:[SRC]VI_V4.OUT;2
3800 vi$position (vi$repeat_torf_back, 0);
3801 ENDPROCEDURE
3803 !
3804 ! Repeat the last 't' or 'f' command.
3805 !
3806 PROCEDURE vi$_repeat_torf
3807 vi$position (vi$repeat_torf, 0);
3808 ENDPROCEDURE
************
************
File VI$ROOT:[000000]VI.OUT;635
3820 RETURN (0);
******
File VI$ROOT:[SRC]VI_V4.OUT;2
3821 vi$beep;
3822 RETURN (0);
************
************
File VI$ROOT:[000000]VI.OUT;635
3979 IF (INT(ch) <= INT(KEY_NAME (ASCII (31)))) AND
3980 (INT (ch) >= INT(CTRL_A_KEY)) THEN
3981 IF ch = TAB_KEY THEN
3982 addch := 9;
3983 COPY_TEXT (ASCII(addch));
3984 ELSE
3985 addch := ((INT(ch) - INT(CTRL_A_KEY)) / 256) + 1;
3986 COPY_TEXT ("^");
******
File VI$ROOT:[SRC]VI_V4.OUT;2
3980 IF (ch <= KEY_NAME (ASCII (31))) AND (ch >= CTRL_A_KEY) THEN
3981 IF ch = TAB_KEY THEN
3982 addch := 9;
3983 COPY_TEXT (ASCII(addch));
3984 ELSE
3985 addch := ((ch - CTRL_A_KEY) / 256) + 1;
3986 COPY_TEXT ("^");
************
************
File VI$ROOT:[000000]VI.OUT;635
4056 POSITION (LINE_BEGIN);
4057 LOOP
******
File VI$ROOT:[SRC]VI_V4.OUT;2
4056 MOVE_HORIZONTAL (-CURRENT_OFFSET);
4057 LOOP
************
************
File VI$ROOT:[000000]VI.OUT;635
4065 POSITION (LINE_END);
4066 RETURN;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
4065 MOVE_HORIZONTAL (LENGTH (CURRENT_LINE));
4066 RETURN;
************
************
File VI$ROOT:[000000]VI.OUT;635
4136 spos,
******
File VI$ROOT:[SRC]VI_V4.OUT;2
4136 pos,
4137 spos,
************
************
File VI$ROOT:[000000]VI.OUT;635
4417 vi$info ("Unrecognized command! ("+cmd+")");
4418 RETURN (1);
******
File VI$ROOT:[SRC]VI_V4.OUT;2
4418 vi$info ("Unrecognized command! ("+token_1+")");
4419 RETURN (1);
************
************
File VI$ROOT:[000000]VI.OUT;635
4466 learn_seq,
4467 key,
******
File VI$ROOT:[SRC]VI_V4.OUT;2
4467 key,
************
************
File VI$ROOT:[000000]VI.OUT;635
4479 learn_seq := LEARN_END;
4480 vi$info ("Press key to bind sequence to: ");
******
File VI$ROOT:[SRC]VI_V4.OUT;2
4479 vi$info ("Press key to bind sequence to: ");
************
************
File VI$ROOT:[000000]VI.OUT;635
4497 vi$global_var := learn_seq;
4498 EXECUTE (COMPILE (key+":=vi$global_var"));
4499 vi$in_learn := 0;
4500 DEFINE_KEY ("vi$play_back("+key+")", keyn, "learn_sequence", vi$cmd_keys);
4501 vi$info ("Sequence bound to key");
4502 RETURN (1);
4503 ENDPROCEDURE;
4505 !
4506 ! Play back the program sequence for a learned set of keystrokes.
4507 !
4508 PROCEDURE vi$play_back (prog)
4509 LOCAL
4510 cnt,
4511 old_play_back,
4512 old_global;
4514 IF (vi$m_level > 30) THEN
4515 vi$info ("Infinite loop in key macro sequence (repeated > 30)!");
4516 RETURN;
4517 ENDIF;
4518 vi$m_level := vi$m_level + 1;
4520 MESSAGE ("undomap: "+str(vi$undo_map)+", global: "+str(vi$in_global));
4521 IF vi$undo_map THEN
4522 old_global := vi$in_global;
4523 IF (NOT old_global) THEN
4524 vi$save_for_undo (CURRENT_BUFFER, VI$LINE_MODE, 1);
4525 vi$in_global := 1;
4526 MESSAGE ("saved changes "+str(old_global)+" "+str (vi$in_global));
4527 ENDIF;
4528 ENDIF;
4530 cnt := vi$cur_active_count;
4532 old_play_back := vi$playing_back;
4533 vi$playing_back := 1;
4535 LOOP
4536 EXITIF (cnt = 0);
4537 EXECUTE (prog);
4538 cnt := cnt - 1;
4539 ENDLOOP;
4540 vi$playing_back := old_play_back;
4541 vi$m_level := vi$m_level - 1;
4543 vi$in_global := old_global;
4544 IF (NOT vi$in_global) THEN
4545 vi$undo_start := BEGINNING_OF (CURRENT_BUFFER);
4546 vi$undo_end := END_OF (CURRENT_BUFFER);
4547 ENDIF;
4548 ENDPROCEDURE;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
4496 EXECUTE (COMPILE (key+":=LEARN_END"));
4497 vi$in_learn := 0;
4498 DEFINE_KEY ("vi$play_back("+key+")", keyn, "learn_sequence", vi$cmd_keys);
4499 vi$info ("Sequence bound to key");
4500 RETURN (1);
4501 ENDPROCEDURE;
4503 !
4504 !
4505 !
4506 PROCEDURE vi$play_back (prog)
4507 LOCAL
4508 old_play_back,
4509 old_global;
4511 IF (vi$m_level > 30) THEN
4512 vi$info ("Infinite loop detected in key macro sequence!");
4513 RETURN;
4514 ENDIF;
4515 vi$m_level := vi$m_level + 1;
4517 IF vi$undo_map THEN
4518 old_global := vi$in_global;
4519 vi$in_global := 0;
4520 IF (NOT old_global) THEN
4521 vi$save_for_undo (CURRENT_BUFFER, VI$LINE_MODE, 1);
4522 vi$in_global := 1;
4523 ENDIF;
4524 ENDIF;
4526 old_play_back := vi$playing_back;
4527 vi$playing_back := 1;
4528 EXECUTE (prog);
4529 vi$playing_back := old_play_back;
4530 vi$m_level := vi$m_level - 1;
4532 vi$in_global := old_global;
4533 ENDPROCEDURE;
************
************
File VI$ROOT:[000000]VI.OUT;635
4817 POSITION (LINE_BEGIN);
4818 MOVE_VERTICAL (1);
******
File VI$ROOT:[SRC]VI_V4.OUT;2
4802 MOVE_HORIZONTAL (-CURRENT_OFFSET);
4803 MOVE_VERTICAL (1);
************
************
File VI$ROOT:[000000]VI.OUT;635
4837 POSITION (LINE_BEGIN);
4838 fpos := MARK (NONE);
******
File VI$ROOT:[SRC]VI_V4.OUT;2
4822 MOVE_HORIZONTAL (-CURRENT_OFFSET);
4823 fpos := MARK (NONE);
************
************
File VI$ROOT:[000000]VI.OUT;635
4848 POSITION (LINE_BEGIN);
4849 MOVE_VERTICAL (1);
******
File VI$ROOT:[SRC]VI_V4.OUT;2
4833 MOVE_HORIZONTAL (-CURRENT_OFFSET);
4834 MOVE_VERTICAL (1);
************
************
File VI$ROOT:[000000]VI.OUT;635
4921 POSITION (LINE_BEGIN);
4922 SCROLL (CURRENT_WINDOW, endl-startl);
******
File VI$ROOT:[SRC]VI_V4.OUT;2
4906 MOVE_HORIZONTAL (-CURRENT_OFFSET);
4907 SCROLL (CURRENT_WINDOW, endl-startl);
************
************
File VI$ROOT:[000000]VI.OUT;635
5369 MESSAGE ("");
5370 ELSE
5371 vi$fill_region (token_1, token_2, whole_range);
5372 ENDIF;
5374 vi$info ("Fill complete!");
5375 sleep (1);
5376 vi$check_length (olen);
******
File VI$ROOT:[SRC]VI_V4.OUT;2
5354 ELSE
5355 vi$fill_region (token_1, token_2, whole_range);
5356 ENDIF;
5358 vi$check_length (olen);
************
************
File VI$ROOT:[000000]VI.OUT;635
5614 POSITION (LINE_BEGIN);
5615 vi$move_vertical (1);
******
File VI$ROOT:[SRC]VI_V4.OUT;2
5596 MOVE_HORIZONTAL (-CURRENT_OFFSET);
5597 vi$move_vertical (1);
************
************
File VI$ROOT:[000000]VI.OUT;635
5643 POSITION (LINE_BEGIN);
5644 IF (MARK (NONE) = END_OF (CURRENT_BUFFER)) THEN
******
File VI$ROOT:[SRC]VI_V4.OUT;2
5625 MOVE_HORIZONTAL (-CURRENT_OFFSET);
5626 IF (MARK (NONE) = END_OF (CURRENT_BUFFER)) THEN
************
************
File VI$ROOT:[000000]VI.OUT;635
5859 vi$beep_position (num, 1, 1);
5860 vi$pos_in_middle (MARK (NONE));
******
File VI$ROOT:[SRC]VI_V4.OUT;2
5841 vi$position (num, 1);
5842 vi$pos_in_middle (MARK (NONE));
************
************
File VI$ROOT:[000000]VI.OUT;635
6051 MESSAGE ("");
6052 ELSE
******
File VI$ROOT:[SRC]VI_V4.OUT;2
6033 ELSE
************
************
File VI$ROOT:[000000]VI.OUT;635
6231 tend,
6232 spos,
******
File VI$ROOT:[SRC]VI_V4.OUT;2
6212 end,
6213 spos,
************
************
File VI$ROOT:[000000]VI.OUT;635
6253 tend := MARK (NONE);
6254 rng := CREATE_RANGE (beg, tend, NONE);
6255 POSITION (BEGINNING_OF (rng));
******
File VI$ROOT:[SRC]VI_V4.OUT;2
6234 end := MARK (NONE);
6235 rng := CREATE_RANGE (beg, end, NONE);
6236 POSITION (BEGINNING_OF (rng));
************
************
File VI$ROOT:[000000]VI.OUT;635
6338 key := INT (key);
6339 IF (key < 32) THEN
6340 key := ((INT(CTRL_B_KEY) - INT(CTRL_A_KEY)) *
6341 (key - 1)) + INT(CTRL_A_KEY);
6342 ENDIF;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
6319 IF (key < 32) THEN
6320 key := ((CTRL_B_KEY - CTRL_A_KEY) * (key - 1)) + CTRL_A_KEY;
6321 ENDIF;
************
************
File VI$ROOT:[000000]VI.OUT;635
6434 COPY_TEXT (STR (INT (KEY_NAME (SUBSTR (cmd, i, 1)))));
6435 SPLIT_LINE;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
6413 COPY_TEXT (STR (KEY_NAME (SUBSTR (cmd, i, 1))));
6414 SPLIT_LINE;
************
************
File VI$ROOT:[000000]VI.OUT;635
6447 map_type + ")', KEY_NAME(" + STR(key) + "), 'active_macro', vi$edit_keys);"));
6448 ELSE
6449 EXECUTE (COMPILE ("DEFINE_KEY ('vi$do_macro (vi$$key_map_buf_" + keyn +
6450 map_type + ", 1)', KEY_NAME(" + STR(key) +
6451 "), 'active_macro', vi$cmd_keys);"));
6452 ENDIF;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
6426 map_type + ")', " + STR(key) + ", 'active_macro', vi$edit_keys);"));
6427 ELSE
6428 EXECUTE (COMPILE ("DEFINE_KEY ('vi$do_macro (vi$$key_map_buf_" + keyn +
6429 map_type + ", 1)', " + STR(key) +
6430 ", 'active_macro', vi$cmd_keys);"));
6431 ENDIF;
************
************
File VI$ROOT:[000000]VI.OUT;635
6493 key := INT (key);
6494 IF (key < 32) THEN
6495 key := ((INT(CTRL_B_KEY) - INT(CTRL_A_KEY)) *
6496 (key - 1)) + INT(CTRL_A_KEY);
6497 ENDIF;
6499 keyn := vi$key_map_name (key);
******
File VI$ROOT:[SRC]VI_V4.OUT;2
6472 keyn := vi$key_map_name (key);
************
************
File VI$ROOT:[000000]VI.OUT;635
6606 LOCAL
6607 k;
6609 k := key;
6610 IF (GET_INFO (key, "TYPE") = KEYWORD) THEN
6611 k := INT (key);
6612 ENDIF;
6613 RETURN (SUBSTR(FAO("!XL", k),1,6));
6614 ENDPROCEDURE;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
6579 RETURN (SUBSTR(FAO("!XL", key),1,6));
6580 ENDPROCEDURE;
************
************
File VI$ROOT:[000000]VI.OUT;635
6836 doglobal,
6837 replace,
6838 separ;
6840 idx := 1;
6842 separ := vi$next_char (cmd, idx);
6844 source := "";
6845 dest := "";
6846 doglobal := 0;
6847 query := 0;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
6802 global,
6803 replace,
6804 separ;
6806 idx := 1;
6808 separ := vi$next_char (cmd, idx);
6810 source := "";
6811 dest := "";
6812 global := 0;
6813 query := 0;
************
************
File VI$ROOT:[000000]VI.OUT;635
6878 doglobal := 1;
6879 ELSE
******
File VI$ROOT:[SRC]VI_V4.OUT;2
6844 global := 1;
6845 ELSE
************
************
File VI$ROOT:[000000]VI.OUT;635
6891 scount, doglobal, query);
6892 nsubs := nsubs + scount;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
6857 scount, global, query);
6858 nsubs := nsubs + scount;
************
************
File VI$ROOT:[000000]VI.OUT;635
6916 doglobal,
6917 replace,
******
File VI$ROOT:[SRC]VI_V4.OUT;2
6882 global,
6883 replace,
************
************
File VI$ROOT:[000000]VI.OUT;635
6930 doglobal := 0;
6931 query := 0;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
6896 global := 0;
6897 query := 0;
************
************
File VI$ROOT:[000000]VI.OUT;635
6962 doglobal := 1;
6963 ELSE
******
File VI$ROOT:[SRC]VI_V4.OUT;2
6928 global := 1;
6929 ELSE
************
************
File VI$ROOT:[000000]VI.OUT;635
6986 scount := 0;
6987 lpos := vi$perform_subs (source, dest, end_line, scount, doglobal, query);
6989 IF (scount = 0) THEN
******
File VI$ROOT:[SRC]VI_V4.OUT;2
6952 lpos := vi$perform_subs (source, dest, end_line, scount, global, query);
6954 IF (scount = 0) THEN
************
************
File VI$ROOT:[000000]VI.OUT;635
7017 doglobal,
7018 query,
******
File VI$ROOT:[SRC]VI_V4.OUT;2
6982 global,
6983 query,
************
************
File VI$ROOT:[000000]VI.OUT;635
7030 doglobal := 0;
7031 query := 0;
7032 here := vi$cur_line_no;
7033 vi$save_for_undo (CURRENT_LINE, VI$LINE_MODE, 1);
7035 pos := MARK (NONE);
7036 POSITION (LINE_BEGIN);
7038 spos := vi$get_undo_start;
7040 POSITION (LINE_END);
7041 IF (LENGTH (CURRENT_LINE) > 0) THEN
7042 MOVE_HORIZONTAL (-1);
7043 ENDIF;
7044 epos := MARK (NONE);
7045 POSITION (pos);
7047 lpos := vi$perform_subs (vi$replace_source, vi$replace_dest,
7048 here, scount, doglobal, query);
7050 IF (scount = 0) THEN
******
File VI$ROOT:[SRC]VI_V4.OUT;2
6995 global := 0;
6996 query := 0;
6997 here := vi$cur_line_no;
6998 vi$save_for_undo (CURRENT_LINE, VI$LINE_MODE, 1);
7000 pos := MARK (NONE);
7001 MOVE_HORIZONTAL (-CURRENT_OFFSET);
7003 spos := vi$get_undo_start;
7005 MOVE_HORIZONTAL (LENGTH (CURRENT_LINE));
7006 IF (LENGTH (CURRENT_LINE) > 0) THEN
7007 MOVE_HORIZONTAL (-1);
7008 ENDIF;
7009 epos := MARK (NONE);
7010 POSITION (pos);
7012 lpos := vi$perform_subs (vi$replace_source, vi$replace_dest,
7013 here, scount, global, query);
7015 IF (scount = 0) THEN
************
************
File VI$ROOT:[000000]VI.OUT;635
7070 PROCEDURE vi$perform_subs (source, dest, end_line, scount, doglobal, query)
7072 LOCAL
******
File VI$ROOT:[SRC]VI_V4.OUT;2
7035 PROCEDURE vi$perform_subs (source, dest, end_line, scount, global, query)
7037 LOCAL
************
************
File VI$ROOT:[000000]VI.OUT;635
7150 IF NOT doglobal THEN
7151 POSITION (LINE_BEGIN);
7152 EXITIF MARK (NONE) = END_OF (CURRENT_BUFFER);
******
File VI$ROOT:[SRC]VI_V4.OUT;2
7115 IF NOT global THEN
7116 MOVE_HORIZONTAL (-CURRENT_OFFSET);
7117 EXITIF MARK (NONE) = END_OF (CURRENT_BUFFER);
************
************
File VI$ROOT:[000000]VI.OUT;635
7538 IF (token_1 = "sections") OR (token_1 = "sect") THEN
7539 pstr := "LINE_BEGIN&((";
7540 use_fortran := 0;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
7503 vi$para_str := "P p ";
7504 vi$para_pat := line_begin & (
7505 (".P" | ".p") |
7506 (LINE_END));
7507 IF (token_1 = "sections") OR (token_1 = "sect") THEN
7508 pstr := "LINE_BEGIN&(";
7509 use_fortran := 0;
************
************
File VI$ROOT:[000000]VI.OUT;635
7569 pstr := '("FUNCTION"|"SUBROUTINE")|('+ pstr + "))|LINE_END)";
7570 ENDIF;
7571 EXECUTE (COMPILE ("vi$sect_pat:="+pstr+";"));
7572 RETURN (0);
7573 ENDIF;
7575 IF (token_1 = "paragraphs") OR (token_1 = "para") THEN
7576 pstr := 'LINE_BEGIN&((';
7577 vi$para_str := "";
******
File VI$ROOT:[SRC]VI_V4.OUT;2
7538 pstr := '""&(("FUNCTION"|"SUBROUTINE")|('+ pstr + "))";
7539 ELSE
7540 pstr := '""&'+pstr;
7541 ENDIF;
7542 EXECUTE (COMPILE ("vi$sect_pat:="+pstr+";"));
7543 RETURN (0);
7544 ENDIF;
7546 IF (token_1 = "paragraphs") OR (token_1 = "para") THEN
7547 pstr := '""&LINE_BEGIN&(';
7548 vi$para_str := "";
************
************
File VI$ROOT:[000000]VI.OUT;635
7590 pstr := pstr + ")|LINE_END)";
7591 EXECUTE (COMPILE ("vi$para_pat:="+pstr+";"));
******
File VI$ROOT:[SRC]VI_V4.OUT;2
7561 pstr := pstr + ")";
7562 EXECUTE (COMPILE ("vi$para_pat:="+pstr+";"));
************
************
File VI$ROOT:[000000]VI.OUT;635
7879 vi$beep_position (vi$to_char (char_val), 0, 1);
7880 ENDPROCEDURE;
7882 !
7883 ! Function performing task for 't'.
7884 !
7885 PROCEDURE vi$to_char (ch_to_find)
7887 LOCAL
7888 char_to_find,
7889 act_count,
7890 pos,
7891 found;
7893 char_to_find := ch_to_find;
7894 IF char_to_find = 0 THEN
******
File VI$ROOT:[SRC]VI_V4.OUT;2
7850 vi$position (vi$to_char (char_val), 0);
7851 ENDPROCEDURE;
7853 !
7854 ! Function performing task for 't'.
7855 !
7856 PROCEDURE vi$to_char (char_to_find)
7858 LOCAL
7859 act_count,
7860 pos,
7861 found;
7863 IF char_to_find = 0 THEN
************
************
File VI$ROOT:[000000]VI.OUT;635
7946 vi$beep_position (vi$back_to_char (char_val), 0, 1);
7947 ENDPROCEDURE;
7949 !
7950 ! Function performing task for 'T'.
7951 !
7952 PROCEDURE vi$back_to_char (ch_to_find)
7954 LOCAL
7955 char_to_find,
7956 act_count,
7957 pos,
7958 found;
7960 char_to_find := ch_to_find;
7961 IF char_to_find = 0 THEN
******
File VI$ROOT:[SRC]VI_V4.OUT;2
7915 vi$position (vi$back_to_char (char_val), 0);
7916 ENDPROCEDURE;
7918 !
7919 ! Function performing task for 'T'.
7920 !
7921 PROCEDURE vi$back_to_char (char_to_find)
7923 LOCAL
7924 act_count,
7925 pos,
7926 found;
7928 IF char_to_find = 0 THEN
************
************
File VI$ROOT:[000000]VI.OUT;635
8015 vi$beep_position (vi$find_char (char_val), 0, 1);
8016 ENDPROCEDURE;
8018 !
8019 ! Function performing task for 'f'.
8020 !
8021 PROCEDURE vi$find_char (ch_to_find)
8023 LOCAL
8024 char_to_find,
8025 act_count,
8026 pos,
8027 found;
8029 char_to_find := ch_to_find;
8030 IF char_to_find = 0 THEN
******
File VI$ROOT:[SRC]VI_V4.OUT;2
7982 vi$position (vi$find_char (char_val), 0);
7983 ENDPROCEDURE;
7985 !
7986 ! Function performing task for 'f'.
7987 !
7988 PROCEDURE vi$find_char (char_to_find)
7990 LOCAL
7991 act_count,
7992 pos,
7993 found;
7995 IF char_to_find = 0 THEN
************
************
File VI$ROOT:[000000]VI.OUT;635
8074 vi$beep_position (vi$back_find_char (char_val), 0, 1);
8075 ENDPROCEDURE;
8077 !
8078 ! Function performing task for 'F'.
8079 !
8080 PROCEDURE vi$back_find_char (ch_to_find)
8082 LOCAL
8083 char_to_find,
8084 act_count,
8085 pos,
8086 found;
8088 char_to_find := ch_to_find;
8089 IF char_to_find = 0 THEN
******
File VI$ROOT:[SRC]VI_V4.OUT;2
8039 vi$position (vi$back_find_char (char_val), 0);
8040 ENDPROCEDURE;
8042 !
8043 ! Function performing task for 'F'.
8044 !
8045 PROCEDURE vi$back_find_char (char_to_find)
8047 LOCAL
8048 act_count,
8049 pos,
8050 found;
8052 IF char_to_find = 0 THEN
************
************
File VI$ROOT:[000000]VI.OUT;635
8154 IF (vi$beep_position (vi$to_line (vi$active_count), 1, 1) <> 0) THEN
8155 pos := MARK (NONE);
******
File VI$ROOT:[SRC]VI_V4.OUT;2
8117 IF (vi$position (vi$to_line (vi$active_count), 1) <> 0) THEN
8118 pos := MARK (NONE);
************
************
File VI$ROOT:[000000]VI.OUT;635
8182 POSITION (LINE_BEGIN);
8183 vi$start_pos := MARK (NONE);
******
File VI$ROOT:[SRC]VI_V4.OUT;2
8145 MOVE_HORIZONTAL (-CURRENT_OFFSET);
8146 vi$start_pos := MARK (NONE);
************
************
File VI$ROOT:[000000]VI.OUT;635
8248 IF (vi$beep_position (vi$to_marker, 1, 1) <> 0) THEN
8249 pos := MARK (NONE);
******
File VI$ROOT:[SRC]VI_V4.OUT;2
8211 IF (vi$position (vi$to_marker, 1) <> 0) THEN
8212 pos := MARK (NONE);
************
************
File VI$ROOT:[000000]VI.OUT;635
8310 POSITION (LINE_BEGIN);
8311 POSITION (vi$first_no_space (0));
******
File VI$ROOT:[SRC]VI_V4.OUT;2
8273 MOVE_HORIZONTAL (-CURRENT_OFFSET);
8274 POSITION (vi$first_no_space (0));
************
************
File VI$ROOT:[000000]VI.OUT;635
8333 IF vi$active_count = 0 THEN
8334 vi$active_count := INT (ASCII (KEY_NAME (vi$last_key)));
8335 IF vi$active_count = 0 THEN
8336 vi$beep_position (vi$fol, 0, 1);
8337 ENDIF;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
8296 IF VI$ACTIVE_COUNT = 0 THEN
8297 vi$active_count := INT (ASCII (KEY_NAME (vi$last_key)));
8298 IF vi$active_count = 0 THEN
8299 vi$position (vi$fol, 0);
8300 ENDIF;
************
************
File VI$ROOT:[000000]VI.OUT;635
8365 POSITION (LINE_BEGIN);
8366 POSITION (vi$first_no_space (0));
******
File VI$ROOT:[SRC]VI_V4.OUT;2
8328 MOVE_HORIZONTAL (-CURRENT_OFFSET);
8329 POSITION (vi$first_no_space (0));
************
************
File VI$ROOT:[000000]VI.OUT;635
8395 POSITION (LINE_BEGIN);
8397 IF (LENGTH (CURRENT_LINE) > 0) THEN
******
File VI$ROOT:[SRC]VI_V4.OUT;2
8358 MOVE_HORIZONTAL (- CURRENT_OFFSET);
8360 IF (LENGTH (CURRENT_LINE) > 0) THEN
************
************
File VI$ROOT:[000000]VI.OUT;635
8432 vi$beep_position (vi$section (dir), 1, 1);
8433 ELSE
******
File VI$ROOT:[SRC]VI_V4.OUT;2
8395 vi$position (vi$section (dir), 1);
8396 ELSE
************
************
File VI$ROOT:[000000]VI.OUT;635
8452 ln := vi$current_line;
8453 SET (BELL, ALL, ON);
******
File VI$ROOT:[SRC]VI_V4.OUT;2
8415 ln := CURRENT_LINE;
8416 SET (BELL, ALL, ON);
************
************
File VI$ROOT:[000000]VI.OUT;635
8464 vi$beep_position (vi$paragraph(dir), 1, 1);
8465 ENDPROCEDURE;
8467 !
8468 ! Mapped to ( moves backward a sentence
8469 !
8470 PROCEDURE vi$_begin_sentence
8471 vi$beep_position (vi$begin_sentence, 1, 1);
8472 ENDPROCEDURE;
8474 !
8475 ! Mapped to ) moves forward a sentence
8476 !
8477 PROCEDURE vi$_end_sentence
8478 vi$beep_position (vi$end_sentence, 1, 1);
8479 ENDPROCEDURE;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
8427 vi$position (vi$paragraph(dir), 1);
8428 ENDPROCEDURE;
8430 !
8431 ! Mapped to ( moves backward a sentence
8432 !
8433 PROCEDURE vi$_begin_sentence
8434 vi$position (vi$begin_sentence, 1);
8435 ENDPROCEDURE;
8437 !
8438 ! Mapped to ) moves forward a sentence
8439 !
8440 PROCEDURE vi$_end_sentence
8441 vi$position (vi$end_sentence, 1);
8442 ENDPROCEDURE;
************
************
File VI$ROOT:[000000]VI.OUT;635
8556 loc := SEARCH (pat, direct, NO_EXACT);
8558 IF (loc <> 0) THEN
8559 RETURN (BEGINNING_OF (loc));
8560 ENDIF;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
8519 SET (TIMER, ON, "Searching...");
8520 loc := SEARCH (pat, direct, NO_EXACT);
8521 SET (TIMER, OFF);
8523 IF (loc <> 0) THEN
8524 RETURN (BEGINNING_OF (loc));
8525 ELSE
8526 SET (TIMER, ON, "Searching...");
8527 loc := SEARCH (vi$next_blank, direct, NO_EXACT);
8528 SET (TIMER, OFF);
8529 IF (loc <> 0) THEN
8530 RETURN (BEGINNING_OF (loc));
8531 ENDIF;
8532 ENDIF;
************
************
File VI$ROOT:[000000]VI.OUT;635
8715 POSITION (LINE_BEGIN);
8716 ENDIF;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
8687 MOVE_HORIZONTAL (-CURRENT_OFFSET);
8688 ENDIF;
************
************
File VI$ROOT:[000000]VI.OUT;635
8729 POSITION (LINE_BEGIN);
8730 ENDIF;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
8701 MOVE_HORIZONTAL (-CURRENT_OFFSET);
8702 ENDIF;
************
************
File VI$ROOT:[000000]VI.OUT;635
8783 POSITION (LINE_BEGIN);
8785 IF (MARK (NONE) <> BEGINNING_OF (CURRENT_BUFFER)) THEN
******
File VI$ROOT:[SRC]VI_V4.OUT;2
8755 MOVE_HORIZONTAL (- CURRENT_OFFSET);
8757 IF (MARK (NONE) <> BEGINNING_OF (CURRENT_BUFFER)) THEN
************
************
File VI$ROOT:[000000]VI.OUT;635
8843 vi$beep_position (vi$left, 0, 1);
8844 ENDPROCEDURE;
8846 !
8847 ! The function mapped to 'l'.
8848 !
8849 PROCEDURE vi$move_right
8850 vi$beep_position (vi$right, 0, 1);
8851 ENDPROCEDURE;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
8815 vi$position (vi$left, 0);
8816 ENDPROCEDURE;
8818 !
8819 ! The function mapped to 'l'.
8820 !
8821 PROCEDURE vi$move_right
8822 vi$position (vi$right, 0);
8823 ENDPROCEDURE;
************
************
File VI$ROOT:[000000]VI.OUT;635
8866 vi$beep_position (vi$downline (0), save_mark, 1);
8867 ENDPROCEDURE;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
8838 vi$position (vi$downline (0), save_mark);
8839 ENDPROCEDURE;
************
************
File VI$ROOT:[000000]VI.OUT;635
8882 vi$beep_position (vi$upline, save_mark, 1);
8883 ENDPROCEDURE;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
8854 vi$position (vi$upline, save_mark);
8855 ENDPROCEDURE;
************
************
File VI$ROOT:[000000]VI.OUT;635
8970 POSITION (LINE_BEGIN);
8971 vi$_bol (0);
******
File VI$ROOT:[SRC]VI_V4.OUT;2
8942 MOVE_HORIZONTAL (- CURRENT_OFFSET);
8943 vi$_bol (0);
************
************
File VI$ROOT:[000000]VI.OUT;635
8982 cline,
8983 coff;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
8954 cline;
8955 coff;
************
************
File VI$ROOT:[000000]VI.OUT;635
9276 in_char := INT (in_char);
9277 IF (in_char <= INT(CTRL_Z_KEY)) AND
9278 (in_char >= INT(CTRL_A_KEY)) THEN
9279 in_char := (in_char - INT(CTRL_A_KEY)) /
9280 (INT(CTRL_B_KEY) - INT(CTRL_A_KEY)) + 1;
9281 ENDIF;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
9248 IF (in_char <= CTRL_Z_KEY) AND (in_char >= CTRL_A_KEY) THEN
9249 in_char := (in_char - CTRL_A_KEY) /
9250 (CTRL_B_KEY - CTRL_A_KEY) + 1;
9251 ENDIF;
************
************
File VI$ROOT:[000000]VI.OUT;635
9560 POSITION (LINE_BEGIN);
9561 COPY_TEXT (istr);
******
File VI$ROOT:[SRC]VI_V4.OUT;2
9530 MOVE_HORIZONTAL (-CURRENT_OFFSET);
9531 COPY_TEXT (istr);
************
************
File VI$ROOT:[000000]VI.OUT;635
9738 key := key_n;
9739 IF (GET_INFO (key, "TYPE") = KEYWORD) THEN
9740 key := INT (key);
9741 ENDIF;
9742 key := (key - INT(CTRL_A_KEY)) / (INT(CTRL_B_KEY) - INT(CTRL_A_KEY));
9743 IF (key > 31) OR (key < 0) THEN
******
File VI$ROOT:[SRC]VI_V4.OUT;2
9708 key := (key_n - CTRL_A_KEY) / (CTRL_B_KEY - CTRL_A_KEY);
9709 IF (key > 31) OR (key < 0) THEN
************
************
File VI$ROOT:[000000]VI.OUT;635
9784 vi$beep_position (vi$first_no_space(0), 0, 1);
9785 ENDPROCEDURE;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
9750 vi$position (vi$first_no_space(0), 0);
9751 ENDPROCEDURE;
************
************
File VI$ROOT:[000000]VI.OUT;635
9797 vi$beep_position (vi$first_no_space(0), 0, 1);
9798 ENDPROCEDURE;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
9763 vi$position (vi$first_no_space(0), 0);
9764 ENDPROCEDURE;
************
************
File VI$ROOT:[000000]VI.OUT;635
9855 POSITION (LINE_BEGIN);
9857 old_scroll_top := GET_INFO (scroll_window, "SCROLL_TOP");
******
File VI$ROOT:[SRC]VI_V4.OUT;2
9821 MOVE_HORIZONTAL (-CURRENT_OFFSET);
9823 old_scroll_top := GET_INFO (scroll_window, "SCROLL_TOP");
************
************
File VI$ROOT:[000000]VI.OUT;635
9880 vi$beep_position (vi$word_move (1), 0, 1);
9881 ENDPROCEDURE;
9883 !
9884 ! Move backward logical words
9885 !
9886 PROCEDURE vi$_word_back
9887 vi$beep_position (vi$word_move(-1), 0, 1);
9888 ENDPROCEDURE;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
9846 vi$position (vi$word_move (1), 0);
9847 ENDPROCEDURE;
9849 !
9850 ! Move backward logical words
9851 !
9852 PROCEDURE vi$_word_back
9853 vi$position (vi$word_move(-1), 0);
9854 ENDPROCEDURE;
************
************
File VI$ROOT:[000000]VI.OUT;635
9920 vi$beep_position (vi$word_end, 0, 1);
9921 ENDPROCEDURE;
9923 !
9924 ! Move to end of physical word
9925 !
9926 PROCEDURE vi$_full_word_end
9927 vi$beep_position (vi$full_word_end, 0, 1);
9928 ENDPROCEDURE;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
9886 vi$position (vi$word_end, 0);
9887 ENDPROCEDURE;
9889 !
9890 ! Move to end of physical word
9891 !
9892 PROCEDURE vi$_full_word_end
9893 vi$position (vi$full_word_end, 0);
9894 ENDPROCEDURE;
************
************
File VI$ROOT:[000000]VI.OUT;635
9987 vi$beep_position (vi$full_word_move (1), 0, 1);
9988 ENDPROCEDURE;
9990 !
9991 !
9992 ! Move backward by ONE white-space delimited word
9993 !
9994 PROCEDURE vi$_full_word_back
9995 vi$beep_position (vi$full_word_move (-1), 0, 1);
9996 ENDPROCEDURE;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
9953 vi$position (vi$full_word_move (1), 0);
9954 ENDPROCEDURE;
9956 !
9957 !
9958 ! Move backward by ONE white-space delimited word
9959 !
9960 PROCEDURE vi$_full_word_back
9961 vi$position (vi$full_word_move (-1), 0);
9962 ENDPROCEDURE;
************
************
File VI$ROOT:[000000]VI.OUT;635
10313 POSITION (LINE_BEGIN);
10315 cnt := 0;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
10279 MOVE_HORIZONTAL (- CURRENT_OFFSET);
10281 cnt := 0;
************
************
File VI$ROOT:[000000]VI.OUT;635
10375 PROCEDURE vi$beep_position (pos, save_pos, dobeep)
10376 IF (pos <> 0) THEN
10377 IF save_pos THEN
10378 vi$old_place := MARK (NONE);
10379 ENDIF;
10380 POSITION (pos);
10381 ELSE
10382 IF dobeep THEN
10383 vi$beep;
10384 ENDIF;
10385 RETURN (vi$abort (0));
******
File VI$ROOT:[SRC]VI_V4.OUT;2
10341 PROCEDURE vi$position (pos, save_pos)
10342 IF (pos <> 0) THEN
10343 IF save_pos THEN
10344 vi$old_place := MARK (NONE);
10345 ENDIF;
10346 POSITION (pos);
10347 ELSE
10348 vi$beep;
10349 RETURN (vi$abort (0));
************
************
File VI$ROOT:[000000]VI.OUT;635
10402 spos,
******
File VI$ROOT:[SRC]VI_V4.OUT;2
10366 end,
10367 spos,
************
************
File VI$ROOT:[000000]VI.OUT;635
10414 POSITION (LINE_BEGIN);
10415 pos := MARK (NONE);
******
File VI$ROOT:[SRC]VI_V4.OUT;2
10379 MOVE_HORIZONTAL (-CURRENT_OFFSET);
10380 pos := MARK (NONE);
************
************
File VI$ROOT:[000000]VI.OUT;635
10433 POSITION (LINE_END);
10435 LOOP
******
File VI$ROOT:[SRC]VI_V4.OUT;2
10398 MOVE_HORIZONTAL (LENGTH (vi$current_line));
10400 LOOP
************
************
File VI$ROOT:[000000]VI.OUT;635
10461 POSITION (LINE_BEGIN);
10462 vi$undo_start := MARK (NONE);
10463 POSITION (LINE_END);
10464 vi$undo_end := MARK (NONE);
******
File VI$ROOT:[SRC]VI_V4.OUT;2
10426 MOVE_HORIZONTAL (-CURRENT_OFFSET);
10427 vi$undo_start := MARK (NONE);
10428 MOVE_HORIZONTAL (LENGTH (vi$current_line));
10429 vi$undo_end := MARK (NONE);
************
************
File VI$ROOT:[000000]VI.OUT;635
10498 POSITION (LINE_BEGIN);
10499 vi$endpos := MARK (NONE);
10500 POSITION (vi$start_pos);
10501 POSITION (LINE_BEGIN);
10503 IF (MARK (NONE) = vi$endpos) THEN
******
File VI$ROOT:[SRC]VI_V4.OUT;2
10463 MOVE_HORIZONTAL (-CURRENT_OFFSET);
10464 vi$endpos := MARK (NONE);
10465 POSITION (vi$start_pos);
10466 MOVE_HORIZONTAL (-CURRENT_OFFSET);
10468 IF (MARK (NONE) = vi$endpos) THEN
************
************
File VI$ROOT:[000000]VI.OUT;635
10520 POSITION (LINE_BEGIN);
10522 orig_pos := vi$get_undo_start;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
10485 MOVE_HORIZONTAL (- CURRENT_OFFSET);
10487 orig_pos := vi$get_undo_start;
************
************
File VI$ROOT:[000000]VI.OUT;635
10657 IF (ERROR = TPU$_ENDOFBUF) AND (state = 2) THEN
10658 exitnow := 1;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
10622 IF (ERROR = TPU$_ENDOFBUF) AND (state := 2) THEN
10623 exitnow := 1;
************
************
File VI$ROOT:[000000]VI.OUT;635
10687 POSITION (LINE_BEGIN);
10688 nline := vi$abs (vi$cur_line_no - oline);
10689 vi$endpos := MARK (NONE);
10690 POSITION (vi$start_pos);
10691 POSITION (LINE_BEGIN);
10693 IF (MARK (NONE) = vi$endpos) THEN
******
File VI$ROOT:[SRC]VI_V4.OUT;2
10652 MOVE_HORIZONTAL (-CURRENT_OFFSET);
10653 nline := vi$abs (vi$cur_line_no - oline);
10654 vi$endpos := MARK (NONE);
10655 POSITION (vi$start_pos);
10656 MOVE_HORIZONTAL (-CURRENT_OFFSET);
10658 IF (MARK (NONE) = vi$endpos) THEN
************
************
File VI$ROOT:[000000]VI.OUT;635
10710 POSITION (LINE_BEGIN);
10712 orig_pos := vi$get_undo_start;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
10675 MOVE_HORIZONTAL (- CURRENT_OFFSET);
10677 orig_pos := vi$get_undo_start;
************
************
File VI$ROOT:[000000]VI.OUT;635
10760 POSITION (LINE_BEGIN);
10761 ENDLOOP;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
10725 MOVE_HORIZONTAL (- CURRENT_OFFSET);
10726 ENDLOOP;
************
************
File VI$ROOT:[000000]VI.OUT;635
10939 COPY_TEXT (STR (INT (KEY_NAME (SUBSTR (tstring, idx, 1)))));
10941 ! Move to EOB so next COPY_TEXT will insert a new line.
******
File VI$ROOT:[SRC]VI_V4.OUT;2
10904 COPY_TEXT (STR (KEY_NAME (SUBSTR (tstring, idx, 1))));
10906 ! Move to EOB so next COPY_TEXT will insert a new line.
************
************
File VI$ROOT:[000000]VI.OUT;635
10965 COPY_TEXT (STR (INT (ch)));
10966 MOVE_HORIZONTAL (1);
******
File VI$ROOT:[SRC]VI_V4.OUT;2
10930 COPY_TEXT (STR (ch));
10931 MOVE_HORIZONTAL (1);
************
************
File VI$ROOT:[000000]VI.OUT;635
11100 ENDIF;
11101 ENDIF;
11103 ch := KEY_NAME (ch);
11105 ! If a key was read from the keyboard, then push it back.
******
File VI$ROOT:[SRC]VI_V4.OUT;2
11065 ELSE
11066 ch := KEY_NAME (ch);
11067 ENDIF;
11068 ENDIF;
11070 ! If a key was read from the keyboard, then push it back.
************
************
File VI$ROOT:[000000]VI.OUT;635
11810 found_a_buffer; ! True if buffer found with same exact name
11812 found_a_buffer := 0;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
11775 found_a_buffer, ! True if buffer found with same exact name
11776 how_many_buffers; ! Number of buffers listed in possible_names
11778 found_a_buffer := 0;
************
************
File VI$ROOT:[000000]VI.OUT;635
12358 IF (len < 3) THEN
12359 vi$info ("Can't split window");
12360 RETURN(1);
12361 ENDIF;
12362 row := top + (len/2) - 1;
12363 ENDIF;
******
File VI$ROOT:[SRC]VI_V4.OUT;2
12324 ! Check to see if the cursor can not be placed in the middle because
12325 ! the buffer does not have enough lines.
12327 IF ((GET_INFO (CURRENT_BUFFER, "RECORD_COUNT") >= len/2) AND
12328 (spos <> BEGINNING_OF (CURRENT_BUFFER)) AND
12329 (spos <> END_OF (CURRENT_BUFFER))) THEN
12330 vi$pos_in_middle (spos);
12331 UPDATE (CURRENT_WINDOW);
12332 row := GET_INFO (SCREEN, "CURRENT_ROW");
12333 ELSE
12334 ! Not enough lines, so estimate the middle.
12335 row := top+(len/2)-1;
12336 ENDIF;
12338 ! Check limits again.
12340 IF (row - top < 1) OR (top + len - row < 3) THEN
12341 vi$info ("Can't split window");
12342 RETURN(1);
12343 ENDIF;
12344 ENDIF;
************
Number of difference sections found: 125
Number of difference records found: 453
DIFFERENCES /IGNORE=(BLANK_LINES)/MATCH=7/MERGED=1-
VI$ROOT:[000000]VI.OUT;635-
VI$ROOT:[SRC]VI_V4.OUT;2
More information about the Comp.sources.bugs
mailing list