diff --git a/config.c b/config.c index 702cc6eb..fe143003 100644 --- a/config.c +++ b/config.c @@ -1992,7 +1992,7 @@ void setup_config_box(struct controlbox *b, int midsession, ccd = (struct charclass_data *) ctrl_alloc(b, sizeof(struct charclass_data)); ccd->listbox = ctrl_listbox(s, "Character classes:", 'e', - HELPCTX(selection_charclasses), + HELPCTX(copy_charclasses), charclass_handler, P(ccd)); ccd->listbox->listbox.multisel = 1; ccd->listbox->listbox.ncols = 4; @@ -2003,11 +2003,11 @@ void setup_config_box(struct controlbox *b, int midsession, ccd->listbox->listbox.percentages[3] = 40; ctrl_columns(s, 2, 67, 33); ccd->editbox = ctrl_editbox(s, "Set to class", 't', 50, - HELPCTX(selection_charclasses), + HELPCTX(copy_charclasses), charclass_handler, P(ccd), P(NULL)); ccd->editbox->generic.column = 0; ccd->button = ctrl_pushbutton(s, "Set", 's', - HELPCTX(selection_charclasses), + HELPCTX(copy_charclasses), charclass_handler, P(ccd)); ccd->button->generic.column = 1; ctrl_columns(s, 1, 100); diff --git a/doc/config.but b/doc/config.but index f22a9667..767c1274 100644 --- a/doc/config.but +++ b/doc/config.but @@ -1386,20 +1386,6 @@ Unicode always. The Selection panel allows you to control the way \i{copy and paste} work in the PuTTY window. -\S{config-rtfpaste} Pasting in \i{Rich Text Format} - -\cfg{winhelp-topic}{selection.rtf} - -If you enable \q{Paste to clipboard in RTF as well as plain text}, -PuTTY will write formatting information to the clipboard as well as -the actual text you copy. The effect of this is -that if you paste into (say) a word processor, the text will appear -in the word processor in the same \i{font}, \i{colour}, and style -(e.g. bold, underline) PuTTY was using to display it. - -This option can easily be inconvenient, so by default it is -disabled. - \S{config-mouse} Changing the actions of the mouse buttons \cfg{winhelp-topic}{selection.buttons} @@ -1544,15 +1530,37 @@ be to invent a clipboard name yourself, to create a special clipboard shared \e{only} between instances of PuTTY, or between just instances configured in that particular way. -\H{config-selection-words} The Words panel +\S{config-paste-ctrl-char} \q{Permit control characters in pasted text} -PuTTY will \I{word-by-word selection}select a word at a time in the -terminal window if you \i{double-click} to begin the drag. This panel -allows you to control precisely what is considered to be a word. +\cfg{winhelp-topic}{selection.pastectrl} + +It is possible for the clipboard to contain not just text (with +newlines and tabs) but also control characters such as ESC which could +have surprising effects if pasted into a terminal session, depending +on what program is running on the server side. Copying text from a +mischievous web page could put such characters onto the clipboard. + +By default, PuTTY filters out the more unusual control characters, +only letting through the more obvious text-formatting characters +(newlines, tab, backspace, and DEL). + +Setting this option stops this filtering; on paste, any character on +the clipboard is sent to the session uncensored. This might be useful +if you are deliberately using control character pasting as a simple +form of scripting, for instance. + +\H{config-selection-copy} The Copy panel + +The Copy configuration panel controls behaviour specifically related to +copying from the terminal window to the clipboard. \S{config-charclasses} Character classes -\cfg{winhelp-topic}{selection.charclasses} +\cfg{winhelp-topic}{copy.charclasses} + +PuTTY will \I{word-by-word selection}select a word at a time in the +terminal window if you \i{double-click} to begin the drag. This section +allows you to control precisely what is considered to be a word. Each character is given a \e{class}, which is a small number (typically 0, 1 or 2). PuTTY considers a single word to be any @@ -1588,6 +1596,20 @@ terminal (see \k{reset-terminal}). However, if you modify this option in mid-session using \q{Change Settings}, it will take effect immediately. +\S{config-rtfcopy} Copying in \i{Rich Text Format} + +\cfg{winhelp-topic}{copy.rtf} + +If you enable \q{Copy to clipboard in RTF as well as plain text}, +PuTTY will write formatting information to the clipboard as well as +the actual text you copy. The effect of this is +that if you paste into (say) a word processor, the text will appear +in the word processor in the same \i{font}, \i{colour}, and style +(e.g. bold, underline) PuTTY was using to display it. + +This option can easily be inconvenient, so by default it is +disabled. + \H{config-colours} The Colours panel The Colours panel allows you to control PuTTY's use of \i{colour}. diff --git a/windows/wincfg.c b/windows/wincfg.c index f66b1fe8..950cef11 100644 --- a/windows/wincfg.c +++ b/windows/wincfg.c @@ -271,7 +271,7 @@ void win_setup_config_box(struct controlbox *b, HWND *hwndp, int has_help, s = ctrl_getset(b, "Window/Selection/Copy", "format", "Formatting of copied characters"); ctrl_checkbox(s, "Copy to clipboard in RTF as well as plain text", 'f', - HELPCTX(selection_rtf), + HELPCTX(copy_rtf), conf_checkbox_handler, I(CONF_rtf_paste)); /* diff --git a/windows/winhelp.h b/windows/winhelp.h index 56f06d78..7d6653b9 100644 --- a/windows/winhelp.h +++ b/windows/winhelp.h @@ -120,11 +120,12 @@ #define WINHELP_CTX_selection_buttons "selection.buttons:config-mouse" #define WINHELP_CTX_selection_shiftdrag "selection.shiftdrag:config-mouseshift" #define WINHELP_CTX_selection_rect "selection.rect:config-rectselect" -#define WINHELP_CTX_selection_charclasses "selection.charclasses:config-charclasses" #define WINHELP_CTX_selection_linedraw "selection.linedraw:config-linedrawpaste" -#define WINHELP_CTX_selection_rtf "selection.rtf:config-rtfpaste" #define WINHELP_CTX_selection_autocopy "selection.autocopy:config-selection-autocopy" #define WINHELP_CTX_selection_clipactions "selection.clipactions:config-selection-clipactions" +#define WINHELP_CTX_selection_pastectrl "selection.pastectrl:config-selection-paste-ctrl-char" +#define WINHELP_CTX_copy_charclasses "copy.charclasses:config-charclasses" +#define WINHELP_CTX_copy_rtf "copy.rtf:config-rtfcopy" #define WINHELP_CTX_colours_ansi "colours.ansi:config-ansicolour" #define WINHELP_CTX_colours_xterm256 "colours.xterm256:config-xtermcolour" #define WINHELP_CTX_colours_truecolour "colours.truecolour:config-truecolour"