summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2006-12-12 02:36:38 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2006-12-12 02:36:38 +0000
commit0e6c966c96290f53f281016c6e40c7404daf759b (patch)
treefee23a62f8d1e8284fe82719229884218e5f9250 /lisp
parent53d45a176b430c806b821ce93872f2f1ef6cf38f (diff)
downloademacs-0e6c966c96290f53f281016c6e40c7404daf759b.tar.gz
(syntax-ppss-toplevel-pos): New fun.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog4
-rw-r--r--lisp/emacs-lisp/syntax.el8
2 files changed, 12 insertions, 0 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 0b5cdc4a2fe..a75bfaf9191 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,7 @@
+2006-12-12 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/syntax.el (syntax-ppss-toplevel-pos): New fun.
+
2006-12-11 Juanma Barranquero <lekktu@gmail.com>
* subr.el (unread-command-char): Reformat obsolescence info.
diff --git a/lisp/emacs-lisp/syntax.el b/lisp/emacs-lisp/syntax.el
index 695d7877b38..f290db42c04 100644
--- a/lisp/emacs-lisp/syntax.el
+++ b/lisp/emacs-lisp/syntax.el
@@ -52,6 +52,14 @@
(defsubst syntax-ppss-depth (ppss)
(nth 0 ppss))
+(defun syntax-ppss-toplevel-pos (ppss)
+ "Return the last preceding position at toplevel.
+\"At toplevel\" means that it is outside of any syntactic entity:
+outside of any parentheses, or comments, or strings.
+Returns nil iff PPSS itself corresponds to a toplevel position."
+ (or (car (nth 9 ppss))
+ (nth 8 ppss)))
+
(defsubst syntax-ppss-context (ppss)
(cond
((nth 3 ppss) 'string)