bugGNU nano - Bugs: bug #65516, "Missing multidata"...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #65516: "Missing multidata" error when scrolling during macro replay

Submitter:  correctmost <correctmost>
Submitted:  Tue 26 Mar 2024 05:08:18 AM UTC
   
 
Severity:  3 - Normal Status:  Fixed
Assigned to:  bens Open/Closed:  Open

Wed 27 Mar 2024 10:22:35 AM UTC, comment #3: 

Fixed in git, commit c2322f85, by immediately drawing the new magic line when there are multiline regexes (or line numbers are active), so that multidata gets allocated for it.

Thanks for reporting!

Benno Schulenberg <bens>
Group administrator
Wed 27 Mar 2024 09:55:20 AM UTC, comment #2: 

A modified recipe, requiring less typing into nano:

echo 'bind ^J "{down}a{down}b{scrolldown}" main'  >anrc
cat syntax/python.nanorc  >>anrc

src/nano --rc=anrc --syntax=python

Then type: ^J ^J ^J

When modiying the error message to print the row and line, it reveals that the error occurs when trying to draw the last, empty line in the buffer, and that thus the preceding line (the line with the last "b") lacks multidata.

After replacing the `|| waiting_keycodes() == 0)` in process_a_keystroke() with `|| TRUE`, the error does not occur any more, but I don't quite understand why, what difference does it make to inject the "b" a little earlier...

Anyway, the solution lies elsewhere.  Coming up.

Benno Schulenberg <bens>
Group administrator
Tue 26 Mar 2024 03:59:31 PM UTC, comment #1: 

Hm!  This is absurd.  How can the multidata be missing on the line that is just above the viewport when a moment ago it was still within the viewport and thus should have multidata allocated?

What's even stranger: when, after having defined the "^N a ^N b M-=" macro and having executed it a few times, if one then toggles on line numbers (with M-N), then executing the macro does not complain.  After toggling line numbers off again, executing the macro complains again.  What?!

Benno Schulenberg <bens>
Group administrator
Tue 26 Mar 2024 05:08:18 AM UTC, original submission:  

Steps to reproduce:
1 - Run `src/nano --rc=syntax/python.nanorc /tmp/foo.py`
2 - Alt + :
3 - Ctrl + n
4 - Type a
5 - Ctrl + n
6 - Type b
7 - Alt + down arrow
8 - Alt + :
9 - Alt + ;
--> You should receive a "Missing multidata" error


Observation:

I can't seem to reproduce the "missing multidata" error without using a macro to perform the required scroll and inserts.


Version: 6351dab3e6afebd7bc73edc0c21a36bdb309ae3a

correctmost <correctmost>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by bens (Posted a comment)
  • -email is unavailable- added by correctmost (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

     

    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2024-03-27 bens StatusIn Progress Fixed
    2024-03-27 bens StatusNone In Progress
        Assigned toNone bens

    Back to the top

    Powered by Savane 3.13-02a9.
    Corresponding source code