diff options
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/byte-opt.el | 2 | ||||
-rw-r--r-- | lisp/emacs-lisp/lisp-mode.el | 10 | ||||
-rw-r--r-- | lisp/emacs-lisp/lisp.el | 8 |
3 files changed, 12 insertions, 8 deletions
diff --git a/lisp/emacs-lisp/byte-opt.el b/lisp/emacs-lisp/byte-opt.el index 825df2526c0..18913893642 100644 --- a/lisp/emacs-lisp/byte-opt.el +++ b/lisp/emacs-lisp/byte-opt.el @@ -1152,7 +1152,7 @@ of FORM by signalling the error at compile-time." (numberp (nth 1 form))) (list 'forward-word (eval (- (nth 1 form))))) ((= 1 (safe-length form)) - '(forward-char -1)) + '(forward-word -1)) (t form))) (put 'char-before 'byte-optimizer 'byte-optimize-char-before) diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el index 700fc5f80a8..f4364c38e8d 100644 --- a/lisp/emacs-lisp/lisp-mode.el +++ b/lisp/emacs-lisp/lisp-mode.el @@ -1,6 +1,7 @@ ;;; lisp-mode.el --- Lisp mode, and its idiosyncratic commands -;; Copyright (C) 1985,86,1999,2000,01,03,2004 Free Software Foundation, Inc. +;; Copyright (C) 1985, 1986, 1999, 2000, 2001, 2003, 2004 +;; Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: lisp, languages @@ -1153,7 +1154,8 @@ paragraph of it that point is in, preserving the comment's indentation and initial semicolons." (interactive "P") (or (fill-comment-paragraph justify) - ;; Point is on a program line (a line no comment); we are interested + ;; Since fill-comment-paragraph returned nil, that means we're not in + ;; a comment: Point is on a program line; we are interested ;; particularly in docstring lines. ;; ;; We bind `paragraph-start' and `paragraph-separate' temporarily. They @@ -1182,7 +1184,7 @@ and initial semicolons." ;; The `fill-column' is temporarily bound to ;; `emacs-lisp-docstring-fill-column' if that value is an integer. (let ((paragraph-start (concat paragraph-start - "\\|\\s-*\\([\(;:\"]\\|`\(\\)")) + "\\|\\s-*\\([(;:\"]\\|`(\\|#'(\\)")) (paragraph-separate (concat paragraph-separate "\\|\\s-*\".*[,\\.]$")) (fill-column (if (integerp emacs-lisp-docstring-fill-column) @@ -1227,5 +1229,5 @@ means don't indent that line." (provide 'lisp-mode) -;;; arch-tag: 414c7f93-c245-4b77-8ed5-ed05ef7ff1bf +;; arch-tag: 414c7f93-c245-4b77-8ed5-ed05ef7ff1bf ;;; lisp-mode.el ends here diff --git a/lisp/emacs-lisp/lisp.el b/lisp/emacs-lisp/lisp.el index 63d9f759ceb..87b3fcff96c 100644 --- a/lisp/emacs-lisp/lisp.el +++ b/lisp/emacs-lisp/lisp.el @@ -75,17 +75,19 @@ The place mark goes is the same place \\[forward-sexp] would move to with the same argument. If this command is repeated, it marks the next ARG sexps after the ones already marked." - (interactive "p") + (interactive "P") (cond ((and (eq last-command this-command) (mark t)) + (setq arg (if arg (prefix-numeric-value arg) + (if (> (mark) (point)) 1 -1))) (set-mark (save-excursion (goto-char (mark)) - (forward-sexp (or arg 1)) + (forward-sexp arg) (point)))) (t (push-mark (save-excursion - (forward-sexp (or arg 1)) + (forward-sexp (prefix-numeric-value arg)) (point)) nil t)))) |