putty : [G] GUITERM NONSSH WINSSH W_BE_ALL WINMISC winx11 putty.res LIBS
puttytel : [G] GUITERM NONSSH W_BE_NOSSH WINMISC puttytel.res nogss LIBS
plink : [C] winplink wincons NONSSH WINSSH W_BE_ALL logging WINMISC
- + winx11 plink.res winnojmp LIBS
+ + winx11 plink.res winnojmp noterm LIBS
pscp : [C] pscp winsftp wincons WINSSH BE_SSH SFTP wildcard WINMISC
+ pscp.res winnojmp LIBS
psftp : [C] psftp winsftp wincons WINSSH BE_SSH SFTP wildcard WINMISC
+ nogss
plink : [U] uxplink uxcons NONSSH UXSSH U_BE_ALL logging UXMISC uxsignal
- + ux_x11
+ + ux_x11 noterm
puttygen : [U] cmdgen sshrsag sshdssg sshprime sshdes sshbn sshmd5 version
+ sshrand uxnoise sshsha misc sshrsa sshdss uxcons uxstore uxmisc
*/
frontend_keypress(ldisc->frontend);
+ if (interactive && ldisc->term) {
+ /*
+ * Interrupt a paste from the clipboard, if one was in
+ * progress when the user pressed a key. This is easier than
+ * buffering the current piece of data and saving it until the
+ * terminal has finished pasting, and has the potential side
+ * benefit of permitting a user to cancel an accidental huge
+ * paste.
+ */
+ term_nopaste(ldisc->term);
+ }
+
/*
* Less than zero means null terminated special string.
*/
--- /dev/null
+/*
+ * Stubs of functions in terminal.c, for use in programs that don't
+ * have a terminal.
+ */
+
+#include "putty.h"
+#include "terminal.h"
+
+void term_nopaste(Terminal *term)
+{
+}
return DefWindowProc(hwnd, message, wParam, lParam);
if (len != 0) {
- /*
- * Interrupt an ongoing paste. I'm not sure
- * this is sensible, but for the moment it's
- * preferable to having to faff about buffering
- * things.
- */
- term_nopaste(term);
-
/*
* We need not bother about stdin backlogs
* here, because in GUI PuTTY we can't do
if (r > 0) {
WCHAR keybuf;
- /*
- * Interrupt an ongoing paste. I'm not sure this is
- * sensible, but for the moment it's preferable to
- * having to faff about buffering things.
- */
- term_nopaste(term);
-
p = output;
for (i = 0; i < r; i++) {
wchar_t wch = keys_unicode[i];