Theodor Thornhill writes: > Hi there! > > Attached is a patch that enables transpose-sexps for tree-sitter enabled > modes. > > This function will swap the node _before_ node-at-point with the node > _after_, so it would do something like: > > foo a|nd bar => bar and foo| > > or > foo(a + 4,| y + c * b, b, d); => foo(y + c * b, a + 4|, b, d); > > It will _not_ try to swap things that are not siblings. I think that > makes sense in the case of non-lisp languages, since _most_ places you > can transpose-sexps you will end up with broken code. > from 'transpose-subr-1': (if (> (cdr pos1) (car pos2)) (error "Don't have two things to transpose")) I added this hack into the function in the patch, but I think that triggering an error is too much. ;; Hack to trigger the error message in `transpose-subr-1' when we ;; don't have siblings to swap. (list (cons 0 1) (cons 0 1)))) I guess I could just follow suit in my function and do like in the following patch: Theo