From 4eb436826bd7912925634624beaf4173546dad49 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Sat, 10 May 2014 23:48:15 -0400 Subject: [PATCH] * lisp/emacs-lisp/lisp-mode.el (preceding-sexp): Exclude leading "," which are a hindrance for C-x C-e. --- lisp/ChangeLog | 5 +++++ lisp/emacs-lisp/lisp-mode.el | 26 ++++++++++---------------- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index b7a0f49bded..a44ba6dc000 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2014-05-11 Stefan Monnier + + * emacs-lisp/lisp-mode.el (preceding-sexp): Exclude leading "," which + are a hindrance for C-x C-e. + 2014-05-11 Leo Liu * net/rcirc.el (rcirc-sentinel): Fix last change. diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el index 690aa3d7460..21529894fed 100644 --- a/lisp/emacs-lisp/lisp-mode.el +++ b/lisp/emacs-lisp/lisp-mode.el @@ -1017,26 +1017,20 @@ If CHAR is not a character, return nil." (forward-sexp -1)))) (save-restriction - ;; vladimir@cs.ualberta.ca 30-Jul-1997: skip ` in - ;; `variable' so that the value is returned, not the - ;; name - (if (and ignore-quotes - (eq (following-char) ?`)) + (if (and ignore-quotes (eq (following-char) ?`)) + ;; vladimir@cs.ualberta.ca 30-Jul-1997: Skip ` in `variable' so + ;; that the value is returned, not the name. (forward-char)) + (when (looking-at ",@?") (goto-char (match-end 0))) (narrow-to-region (point-min) opoint) (setq expr (read (current-buffer))) - ;; If it's an (interactive ...) form, it's more - ;; useful to show how an interactive call would - ;; use it. - (and (consp expr) - (eq (car expr) 'interactive) + ;; If it's an (interactive ...) form, it's more useful to show how an + ;; interactive call would use it. + ;; FIXME: Is it really the right place for this? + (when (eq (car-safe expr) 'interactive) (setq expr - (list 'call-interactively - (list 'quote - (list 'lambda - '(&rest args) - expr - 'args))))) + `(call-interactively + (lambda (&rest args) ,expr args)))) expr))))) -- 2.39.5