summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorErik Naggum <erik@naggum.no>1996-10-08 23:13:39 +0000
committerErik Naggum <erik@naggum.no>1996-10-08 23:13:39 +0000
commite3ac26cbb8f0bbc87bb3074f840001426d8b4a74 (patch)
treebea72e148e1583926280a9042d8048062b785679 /lisp/emacs-lisp
parentdc81e1664f0d89beb046242a896912b3fc9bee37 (diff)
downloademacs-e3ac26cbb8f0bbc87bb3074f840001426d8b4a74.tar.gz
emacs-e3ac26cbb8f0bbc87bb3074f840001426d8b4a74.tar.bz2
emacs-e3ac26cbb8f0bbc87bb3074f840001426d8b4a74.zip
(narrow-to-defun): Narrow to the same defun that `mark-defun' would make
the region. (insert-parentheses): Let a negative argument enclose preceding sexps.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/lisp.el12
1 files changed, 8 insertions, 4 deletions
diff --git a/lisp/emacs-lisp/lisp.el b/lisp/emacs-lisp/lisp.el
index a62fe926e8b..fb9443e0788 100644
--- a/lisp/emacs-lisp/lisp.el
+++ b/lisp/emacs-lisp/lisp.el
@@ -215,18 +215,22 @@ The defun visible is the one that contains point or follows point."
(interactive)
(save-excursion
(widen)
- (beginning-of-defun)
- (narrow-to-region (point) (progn (end-of-defun) (point)))))
+ (end-of-defun)
+ (let ((end (point)))
+ (beginning-of-defun)
+ (narrow-to-region (point) end))))
(defun insert-parentheses (arg)
- "Put parentheses around next ARG sexps. Leave point after open-paren.
+ "Enclose following ARG sexps in parentheses. Leave point after open-paren.
+A negative ARG encloses the preceding ARG sexps instead.
No argument is equivalent to zero: just insert `()' and leave point between.
If `parens-require-spaces' is non-nil, this command also inserts a space
before and after, depending on the surrounding characters."
(interactive "P")
(if arg (setq arg (prefix-numeric-value arg))
(setq arg 0))
- (or (eq arg 0) (skip-chars-forward " \t"))
+ (cond ((> arg 0) (skip-chars-forward " \t"))
+ ((< arg 0) (forward-sexp arg) (setq arg (- arg))))
(and parens-require-spaces
(not (bobp))
(memq (char-syntax (preceding-char)) '(?w ?_ ?\) ))