--- parse.c.orig Thu Jul 6 14:00:56 2000 +++ parse.c Thu Jul 6 14:01:19 2000 @@ -510,9 +510,11 @@ void add_user_end (char *from, char **ArgList) { + char * copy; const char * channel; - channel = next_arg(ArgList[0], &ArgList[0]); + copy = LOCAL_COPY(ArgList[0]); + channel = next_arg(copy, ©); channel_not_waiting(channel, from_server); } --- input.c.orig Thu Jul 6 15:26:16 2000 +++ input.c Thu Jul 6 15:26:19 2000 @@ -614,7 +614,11 @@ * screen. If there is a character in the input buffer that * is out in that position, we need to find it and display it. */ - pos = INPUT_ONSCREEN + last_input_screen->co - 1; + if (INPUT_ONSCREEN == 0) /* UGH! */ + pos = last_input_screen->co - INPUT_PROMPT_LEN - 1; + else + pos = INPUT_ONSCREEN + last_input_screen->co - 1; + if (pos < strlen(INPUT_BUFFER)) { term_move_cursor(last_input_screen->co - 1, INPUT_LINE);