/* FIXME: locking needed ? */
        if (tty->read_head == tty->canon_head) {
-               /* echo_char_raw('\a', tty); */ /* what do you think? */
+               /* process_output('\a', tty); */ /* what do you think? */
                return;
        }
        if (c == ERASE_CHAR(tty))
                parmrk = (c == (unsigned char) '\377' && I_PARMRK(tty)) ? 1 : 0;
                if (tty->read_cnt >= (N_TTY_BUF_SIZE - parmrk - 1)) {
                        /* beep if no space */
-                       if (L_ECHO(tty)) {
-                               echo_char_raw('\a', tty);
-                               process_echoes(tty);
-                       }
+                       if (L_ECHO(tty))
+                               process_output('\a', tty);
                        return;
                }
                if (L_ECHO(tty)) {
                }
                if (c == '\n') {
                        if (tty->read_cnt >= N_TTY_BUF_SIZE) {
-                               if (L_ECHO(tty)) {
-                                       echo_char_raw('\a', tty);
-                                       process_echoes(tty);
-                               }
+                               if (L_ECHO(tty))
+                                       process_output('\a', tty);
                                return;
                        }
                        if (L_ECHO(tty) || L_ECHONL(tty)) {
                        parmrk = (c == (unsigned char) '\377' && I_PARMRK(tty))
                                 ? 1 : 0;
                        if (tty->read_cnt >= (N_TTY_BUF_SIZE - parmrk)) {
-                               if (L_ECHO(tty)) {
-                                       echo_char_raw('\a', tty);
-                                       process_echoes(tty);
-                               }
+                               if (L_ECHO(tty))
+                                       process_output('\a', tty);
                                return;
                        }
                        /*
        parmrk = (c == (unsigned char) '\377' && I_PARMRK(tty)) ? 1 : 0;
        if (tty->read_cnt >= (N_TTY_BUF_SIZE - parmrk - 1)) {
                /* beep if no space */
-               if (L_ECHO(tty)) {
-                       echo_char_raw('\a', tty);
-                       process_echoes(tty);
-               }
+               if (L_ECHO(tty))
+                       process_output('\a', tty);
                return;
        }
        if (L_ECHO(tty)) {