add line_count/2 built-in
This commit is contained in:
parent
120d6ff19a
commit
5d5ac22834
@ -998,13 +998,13 @@ static Int p_file_name(USES_REGS1) {
|
|||||||
return Yap_unify_constant(ARG2, tout);
|
return Yap_unify_constant(ARG2, tout);
|
||||||
}
|
}
|
||||||
|
|
||||||
static Int p_cur_line_no(USES_REGS1) { /* '$current_line_number'(+Stream,-N) */
|
static Int line_count(USES_REGS1) { /* '$current_line_number'(+Stream,-N) */
|
||||||
Term tout;
|
Term tout;
|
||||||
int sno =
|
int sno =
|
||||||
Yap_CheckStream(ARG1, Input_Stream_f | Output_Stream_f | Append_Stream_f,
|
Yap_CheckStream(ARG1, Input_Stream_f | Output_Stream_f | Append_Stream_f,
|
||||||
"current_line_number/2");
|
"current_line_number/2");
|
||||||
if (sno < 0)
|
if (sno < 0)
|
||||||
return (FALSE);
|
return (false);
|
||||||
/* one has to be somewhat more careful because of terminals */
|
/* one has to be somewhat more careful because of terminals */
|
||||||
if (GLOBAL_Stream[sno].status & Tty_Stream_f) {
|
if (GLOBAL_Stream[sno].status & Tty_Stream_f) {
|
||||||
Int no = 1;
|
Int no = 1;
|
||||||
@ -1396,8 +1396,6 @@ void Yap_InitIOStreams(void) {
|
|||||||
SafePredFlag | SyncPredFlag | HiddenPredFlag);
|
SafePredFlag | SyncPredFlag | HiddenPredFlag);
|
||||||
Yap_InitCPred("$check_stream", 1, p_check_if_stream,
|
Yap_InitCPred("$check_stream", 1, p_check_if_stream,
|
||||||
SafePredFlag | SyncPredFlag | HiddenPredFlag | HiddenPredFlag);
|
SafePredFlag | SyncPredFlag | HiddenPredFlag | HiddenPredFlag);
|
||||||
Yap_InitCPred("$current_line_number", 2, p_cur_line_no,
|
|
||||||
SafePredFlag | SyncPredFlag | HiddenPredFlag);
|
|
||||||
Yap_InitCPred("$line_position", 2, p_line_position,
|
Yap_InitCPred("$line_position", 2, p_line_position,
|
||||||
SafePredFlag | SyncPredFlag | HiddenPredFlag);
|
SafePredFlag | SyncPredFlag | HiddenPredFlag);
|
||||||
Yap_InitCPred("$character_count", 2, p_character_count,
|
Yap_InitCPred("$character_count", 2, p_character_count,
|
||||||
@ -1418,6 +1416,8 @@ void Yap_InitIOStreams(void) {
|
|||||||
Yap_InitCPred("stream_select", 3, p_stream_select,
|
Yap_InitCPred("stream_select", 3, p_stream_select,
|
||||||
SafePredFlag | SyncPredFlag);
|
SafePredFlag | SyncPredFlag);
|
||||||
#endif
|
#endif
|
||||||
|
Yap_InitCPred("line_count", 2, line_count,
|
||||||
|
SafePredFlag | SyncPredFlag );
|
||||||
Yap_InitCPred("$show_stream_position", 2, p_show_stream_position,
|
Yap_InitCPred("$show_stream_position", 2, p_show_stream_position,
|
||||||
SafePredFlag | SyncPredFlag | HiddenPredFlag);
|
SafePredFlag | SyncPredFlag | HiddenPredFlag);
|
||||||
Yap_InitCPred("set_stream_position", 2, set_stream_position,
|
Yap_InitCPred("set_stream_position", 2, set_stream_position,
|
||||||
|
Reference in New Issue
Block a user