Diff
Not logged in

Differences From Artifact [73a4a8f6a3]:

To Artifact [c635fda5be]:


141
142
143
144
145
146
147




148
149
150
151
152
153
154
                TclReadlineDataAvailableHandler, (ClientData) NULL);

        while (!line_complete) {
            Tcl_DoOneEvent (0);
        }

        Tcl_DeleteFileHandler (0);





        status = history_expand (line, &expansion);
        if (status == 1)
            printf ("%s\n", expansion);
        else if (status == -1)
            Tcl_AppendResult (interp, "error in history expansion\n",
                    (char *) NULL);







>
>
>
>







141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
                TclReadlineDataAvailableHandler, (ClientData) NULL);

        while (!line_complete) {
            Tcl_DoOneEvent (0);
        }

        Tcl_DeleteFileHandler (0);

	if (line_complete < 0) {
	    Tcl_Eval(interp, "exit");
	}

        status = history_expand (line, &expansion);
        if (status == 1)
            printf ("%s\n", expansion);
        else if (status == -1)
            Tcl_AppendResult (interp, "error in history expansion\n",
                    (char *) NULL);
210
211
212
213
214
215
216
217



218
219
220
221
222
223
224
{
    if (mask & TCL_READABLE)
        rl_callback_read_char ();
}

void TclReadlineLineCompleteHandler (char *ptr)
{
    if (ptr && *ptr) {



        line_complete = 1;
        rl_callback_handler_remove ();
        line = ptr;
    }
}









|
>
>
>







214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
{
    if (mask & TCL_READABLE)
        rl_callback_read_char ();
}

void TclReadlineLineCompleteHandler (char *ptr)
{
    if (!ptr) {
        line_complete = -1;
        rl_callback_handler_remove ();
    } else if (*ptr) {
        line_complete = 1;
        rl_callback_handler_remove ();
        line = ptr;
    }
}