diff options
author | Eli Zaretskii <eliz@gnu.org> | 2004-09-04 12:56:54 +0000 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2004-09-04 12:56:54 +0000 |
commit | de6d64b22a279f0f74462bf12c78d429d85a3573 (patch) | |
tree | 084251c40700f755c9893bad1309199f0b14a4e2 /lisp/emacs-lisp/lisp.el | |
parent | 0ad10447917c7c709046b5b0a7d6a4208be3115e (diff) | |
download | emacs-de6d64b22a279f0f74462bf12c78d429d85a3573.tar.gz emacs-de6d64b22a279f0f74462bf12c78d429d85a3573.tar.bz2 emacs-de6d64b22a279f0f74462bf12c78d429d85a3573.zip |
(kill-backward-up-list): New function.
Diffstat (limited to 'lisp/emacs-lisp/lisp.el')
-rw-r--r-- | lisp/emacs-lisp/lisp.el | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/lisp/emacs-lisp/lisp.el b/lisp/emacs-lisp/lisp.el index 46d3d2625a1..63d9f759ceb 100644 --- a/lisp/emacs-lisp/lisp.el +++ b/lisp/emacs-lisp/lisp.el @@ -149,6 +149,20 @@ With ARG, kill that many sexps before the cursor. Negative arg -N means kill N sexps after the cursor." (interactive "p") (kill-sexp (- (or arg 1)))) + +;; After Zmacs: +(defun kill-backward-up-list (&optional arg) + "Kill the form containing the current sexp, leaving the sexp itself. +A prefix argument ARG causes the relevant number of surrounding +forms to be removed." + (interactive "*p") + (let ((current-sexp (thing-at-point 'sexp))) + (if current-sexp + (save-excursion + (backward-up-list arg) + (kill-sexp) + (insert current-sexp)) + (error "Not at a sexp")))) (defvar beginning-of-defun-function nil "If non-nil, function for `beginning-of-defun-raw' to call. |