When deleting a block from the session log, only text content is removed, while the lines themselves remain
Describe the issue you are having
The IDE allows removal of parts of the session log using <DK> and RIDE advertises a <DK> too, but it only removes the content of each line, leaving behind an equal amount of empty lines. It also seems to activate the first line after the "removed" lines.
Did you connect to an already running interpreter or start the interpreter from RIDE?
Start an interpreter
How do you reproduce the issue?
- Execute
⍪⍳10 - Select from
1to5and press <DK> - The lines are emptied, but
6moves up and becomes active. - Attempting to execute anything else at the bottom of the session also moves
6down and runs it, while the "deleted" lines remain.
Paste the contents of Help → About (Shift+F1)
IDE:
Version: 4.4.3653
Platform: Win32
Date: 2021-11-03 07:08:06 +0100
Git commit: 882ba6e8017c8ebddb775c9d7d0bff59918851a9
Preferences:{
"autoCloseBrackets":"0",
"autoPW":"1",
"colourScheme":"Dracula",
"confirmations":"{\"SaveFileOptionsExtension:.apln\":100,\"SaveFileOptionsExtension:.dyalog\":100,\"\":100}",
"indentOnOpen":"0",
"kbdLocale":"en_GB",
"keys":"{\"BK\":[\"Alt-Up\",\"Ctrl-Shift-Backspace\"],\"DK\":[\"Ctrl-Shift-D\"],\"FD\":[\"Alt-Down\",\"Ctrl-Shift-Enter\"],\"FX\":[\"Ctrl-S\"],\"QCP\":[\"Ctrl-Shift-P\"],\"ZM\":[\"Ctrl-Shift-Up\"],\"PF11\":[\"F11\"]}",
"lbarOrder":"← +-×÷*⍟⌹!? |⌊⊥⊤⊣⊢ =≠≤<>≥≡≢ ∨∧⍲⍱ ↓⊂⊃⊆⌷⍋⍒ ⍳⍸∊⍷∪∩~ /\\⌿⍀ ,⍪⍴⌽⊖⍉ ¨⍨⍣.∘⍤⍥@ ⍞⎕⍠⌸⌺⌶⍎⍕ ⋄⍝→⍵⍺∇& ¯⍬ ↑○⌈ ",
"menu":"# see below for syntax\n\nDyalog {mac}\n About Dyalog =ABT\n -\n Preferences... =PRF\n - \n &Quit =QIT\n&File {!browser}\n &Open... =OWS {local}\n &New Session =NEW\n &Connect... =CNC\n - {!mac}\n &Quit =QIT {!mac}\n&Edit\n Undo =UND {!browser}\n Redo =RDO {!browser}\n - {!browser}\n Cut =CT {!browser}\n Copy =CP {!browser}\n Paste =PT {!browser}\n Select All =SA {mac}\n - {!mac&&!browser}\n Find\n &Find =SC\n &Replace =RP\n Preferences... =PRF {!mac}\n&View\n Show Language Bar =LBR\n Show Status Bar =SBR\n Show Workspace Explorer =WSE\n Show Debug =DBG\n Line Wrapping in Session =WRP\n - {!browser}\n Stops =TVB\n Line Numbers =LN\n Outline =TVO\n - {!browser}\n Increase Font Size =ZMI {!browser}\n Decrease Font Size =ZMO {!browser}\n Reset Font Size =ZMR {!browser}\n - {!browser}\n Toggle Full Screen {!browser}\n&Window\n Close All Windows =CAW\n&Action\n Edit =ED\n Trace =TC\n -\n Clear all trace/stop/monitor =CAM\n Weak Interrupt =WI\n Strong Interrupt =SI\n&Threads {rp21}\n Pause on Error =POE\n Pause all Threads =PAT\n Resume all Threads =RSU\n Restart all Threads =MA\n&Help\n Getting &Started =https://dyalog.com/introduction.htm\n -\n Dyalog &Help =DHI\n &Language Elements =LEL\n &Documentation Centre =DOX\n -\n Dyalog &Website =https://dyalog.com/\n &Email Dyalog =EMD\n -\n Latest &Enhancements =ENH\n Read &Me =RME\n &Third Party Licences =TPL\n &About =ABT {!mac}\n\n# Syntax:\n# &x access key, alt+x\n# =CMD command code; some are special:\n# LBR WRP WSE render as checkboxes\n# =http://example.com/ open a URL\n# {} conditional display, a boolean expression\n# operators: && || ! ( )\n# variables: local browser mac win\n# - separator (when alone)\n# # comment\n\n# The =PRF (\"Preferences...\") menu item must be present.",
"pfkeys":"[\"\",\"\",\"\",\"\",\"<LL>(<RL>)\",\"<DB>\",\"\",\"\",\"\",\"\",\"\",\"<LL>(<RL>)\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\"]",
"selectedExe":"C:\\Program Files\\Dyalog\\Dyalog APL-64 18.2 Unicode\\dyalog.exe",
"zoom":"5"
}
Interpreter:
Version: 18.2.44766
Platform: Windows-64
Edition: Unicode/64
Date: Nov 12 2021 at 11:46:07
Hi. It not possible to permanently delete lines from the session log in RIDE since the log comes from the interpreter. In order to do that there have to be changes to the protocol.
What we can do is implement a proper way to delete lines, but they will reappear in RIDE's session log when RIDE is restarted.
I am inclined to say that magically reappearing lines is going to be very confusing.
I think that arranging for an enhancement to the protocol is the best way forward.
I agree.
I'll put this issue on hold.
Fixed issue with deleted lines disappearing from session in 5210388aaf4f41d208810c3812dbbda2772032ff To permanently delete lines from session one should use the DK command (delete block) which isn't implemented properly in RIDE yet as it requires an extension to the RIDE protocol (logged with Dyalog as RFE20011).
Duplicate of #33, I will close that one.