emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] master 7f38383 05/13: Don't expand in strings or comments


From: Artur Malabarba
Subject: [elpa] master 7f38383 05/13: Don't expand in strings or comments
Date: Wed, 05 Aug 2015 21:54:10 +0000

branch: master
commit 7f3838330bcba0277fe571125155150db0f8ca16
Author: Artur Malabarba <address@hidden>
Commit: Artur Malabarba <address@hidden>

    Don't expand in strings or comments
---
 sotlisp.el |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/sotlisp.el b/sotlisp.el
index dbdd03b..d093f0c 100644
--- a/sotlisp.el
+++ b/sotlisp.el
@@ -109,6 +109,14 @@ Specially, avoids matching inside argument lists."
       (forward-char -2)
       (looking-at-p "#'"))))
 
+(defun sotlisp--code-p ()
+  (save-excursion
+    (let ((r (point)))
+      (beginning-of-defun)
+      (let ((pps (parse-partial-sexp (point) r)))
+        (not (or (elt pps 3)
+                 (elt pps 4)))))))
+
 (defun sotlisp--function-p ()
   "Non-nil if point is at reasonable place for a function name.
 Returns non-nil if, after moving backwards by a sexp, either
@@ -117,8 +125,9 @@ non-nil."
   (save-excursion
     (ignore-errors
       (skip-chars-backward (rx alnum))
-      (or (sotlisp--function-form-p)
-          (sotlisp--function-quote-p)))))
+      (and (sotlisp--code-p)
+           (or (sotlisp--function-form-p)
+               (sotlisp--function-quote-p))))))
 
 (defun sotlisp--whitespace-p ()
   "Non-nil if current `self-insert'ed char is whitespace."



reply via email to

[Prev in Thread] Current Thread [Next in Thread]