Skip to content

Scroll event forwarding and ultra-scroll (and max eval depth) #789

@jdtsmith

Description

@jdtsmith

The default event prompter (embark-keymap-prompter) hard-codes command recognition for various scrolling commands, so e.g. the help indicator popup buffer can be scrolled. Users of ultra-scroll receive errors, because the relevant commands (ultra-scroll and ultra-scroll-mac) are not recognized. It would be good to add those to the list.

Another slightly better option is to look at the event itself and forward if it's a scroll event:

 (guard (let ((sym (event-basic-type last-command-event)))
                     (and (symbolp sym)
                          (string-prefix-p "wheel-" (symbol-name sym)))))

But note, the way the prompter works is problematic for scrolling events. It recursively calls itself! Smooth scrolling can generate a hundred events per second or more, so it takes very little scrolling to reach max-lisp-eval-depth. Perhaps another solution can be found that allows the buffers to be scrolled without needing to intercept and forward events to their handlers?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions