version 1.31, 2017/01/12 20:32:01 |
version 1.32, 2019/09/03 23:08:42 |
|
|
#include "position.h" |
#include "position.h" |
|
|
extern int erase_char, erase2_char, kill_char; |
extern int erase_char, erase2_char, kill_char; |
extern volatile sig_atomic_t sigs; |
|
extern int quit_if_one_screen; |
extern int quit_if_one_screen; |
extern int less_is_more; |
extern int less_is_more; |
extern int squished; |
extern int squished; |
|
|
curr_len = ch_length(); |
curr_len = ch_length(); |
highest_hilite = until_hilite ? curr_len : -1; |
highest_hilite = until_hilite ? curr_len : -1; |
ignore_eoi = 1; |
ignore_eoi = 1; |
while (!sigs) { |
while (!any_sigs()) { |
if (until_hilite && highest_hilite > curr_len) { |
if (until_hilite && highest_hilite > curr_len) { |
ring_bell(); |
ring_bell(); |
break; |
break; |
|
|
* This gets us back in "F mode" after processing |
* This gets us back in "F mode" after processing |
* a non-abort signal (e.g. window-change). |
* a non-abort signal (e.g. window-change). |
*/ |
*/ |
if (sigs && !ABORT_SIGS()) |
if (any_sigs() && !abort_sigs()) |
return (until_hilite ? A_F_UNTIL_HILITE : A_F_FOREVER); |
return (until_hilite ? A_F_UNTIL_HILITE : A_F_FOREVER); |
|
|
return (A_NOACTION); |
return (A_NOACTION); |
|
|
/* |
/* |
* See if any signals need processing. |
* See if any signals need processing. |
*/ |
*/ |
if (sigs) { |
if (any_sigs()) { |
psignals(); |
psignals(); |
if (quitting) |
if (quitting) |
quit(QUIT_SAVED_STATUS); |
quit(QUIT_SAVED_STATUS); |
|
|
*/ |
*/ |
cmd_reset(); |
cmd_reset(); |
prompt(); |
prompt(); |
if (sigs) |
if (any_sigs()) |
continue; |
continue; |
if (newaction == A_NOACTION) |
if (newaction == A_NOACTION) |
c = getcc(); |
c = getcc(); |
|
|
again: |
again: |
if (sigs) |
if (any_sigs()) |
continue; |
continue; |
|
|
if (newaction != A_NOACTION) { |
if (newaction != A_NOACTION) { |