Mercurial > octave
changeset 27752:e0cdaad8017d
fix execution of selected code containing quotation marks by F9 (bug #57312)
* octave-qscintilla.cc (contextmenu_run): replace quotation marks in
selected code lines by escaped ones
author | Torsten Lilge <ttl-octave@mailbox.org> |
---|---|
date | Thu, 28 Nov 2019 19:15:06 +0100 |
parents | 8ac3222bf951 |
children | dcf6569cd973 |
files | libgui/src/m-editor/octave-qscintilla.cc |
diffstat | 1 files changed, 9 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/libgui/src/m-editor/octave-qscintilla.cc Thu Nov 28 09:24:42 2019 +0100 +++ b/libgui/src/m-editor/octave-qscintilla.cc Thu Nov 28 19:15:06 2019 +0100 @@ -837,7 +837,12 @@ for (int i = 0; i < lines.count (); i++) { QString line = lines.at (i); + QString line_clean_1 = line; + line_clean_1.replace (QString ("\""), QString ("\\\"")); + line = line.replace (QString ("%"), QString ("%%")); + QString line_clean_2 = line; + line_clean_2.replace (QString ("\""), QString ("\\\"")); // Prevent output of breakpoint in temp. file for keyboard QString next_bp_quiet; @@ -851,14 +856,15 @@ } // Add codeline togetcher with call to echo/hitory function to tmp - code += QString ("%1 (%2, '%3', '%4');\n" + code += QString ("%1 (%2, \"%3\", \"%4\");\n" + next_bp_quiet - + "%4\n" + + "%5\n" + next_bp_quiet_reset + "\n") .arg (tmp_script_name) .arg (i) - .arg (lines.at (i)) + .arg (line_clean_1) + .arg (line_clean_2) .arg (line); }