From: Erik Naggum Date: Tue, 8 Oct 1996 23:13:39 +0000 (+0000) Subject: (narrow-to-defun): Narrow to the same defun that `mark-defun' would make X-Git-Tag: emacs-20.1~3534 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=e3ac26cbb8f0bbc87bb3074f840001426d8b4a74;p=emacs.git (narrow-to-defun): Narrow to the same defun that `mark-defun' would make the region. (insert-parentheses): Let a negative argument enclose preceding sexps. --- 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 ?_ ?\) ))