I noticed that Slurp Sexp Forward regards the preprocessor discard reader macro (#_) as an sexp. So starting with
(do)
#_(def a :a)
(def b :b)
by doing Slurp Sexp Forward, I can get
(do
#_)(def a :a)
(def b :b)
Is this a (minor) bug? (video in thread)Here's an approach that I liked better, it treats ignored sexps as if they are sexps
I prefer the 2nd - "treats ignored sexps like sexps"
There's a relatively easy fix for this that I put into the issue. It completely ignores the sexp following the discard reader macro. What do you think about the behavior? I was thinking that the ignored sexp would still be treated as an sexp, but now I'm not sure.
Note that this may be a somewhat desirable behavior with navigation or selection (although that may be up for debate - it was the navigation that was annoying me at first)
The video shows • Slurp Sexp Forward • navigation • selection
I second the notion that slurp and barf should not separate the ignore blot from its charge I am not certain how I feel about selection and motion...
What got me for navigation/motion and selection is that they are supposed to be forwardSexp (move cursor forward sexp/form) and selectForwardSexp (select forward sexp). I don't think the discard reader symbol is either an sexp or a form. I'll file a bug soon, unless someone objects.
Hopefully it won't break that "evaluate current form" at either #_|42 or #_42| produces 42
More moving pieces!
It’s complicated. 😀