Subject: bug#49598: 28.0.50; [Feature Request] Support slurping and barfing operations in lisp-mode

From: Liang-Jie Lee <[email-masked]>
Date: Sat, 17 Jul 2021 00:04:39 +0800

Slurping is the operation to expand current S-expression by pulling in
the next outer S-expression, for example (| is cursor):

(foo (bar |baz) abc efg) -> (foo (bar |baz abc) efg)

Barfing is the opposite, contracting the S-expression by pushing out
it's last-most form, for example:

(foo (bar |baz abc) efg) -> (foo (bar |baz) abc efg)

These operations are provided by many third party packages like paredit,
smartparen, lispy, etc. Many people find it useful (especially when
you want to wrap several expressions into a `let` form), so I propose to
have these operations built in.