emacs-diffs
[Top][All Lists]
Advanced

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

scratch/lexspaces 610552d 10/17: Add SYMBOL_FUNC_LEXSPACE


From: Andrea Corallo
Subject: scratch/lexspaces 610552d 10/17: Add SYMBOL_FUNC_LEXSPACE
Date: Fri, 8 May 2020 16:43:08 -0400 (EDT)

branch: scratch/lexspaces
commit 610552d7d9e71e7821323b188ef9cc2e96bd2653
Author: Andrea Corallo <address@hidden>
Commit: Andrea Corallo <address@hidden>

    Add SYMBOL_FUNC_LEXSPACE
---
 src/lisp.h | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/src/lisp.h b/src/lisp.h
index 9e941cb..7cbbe44 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -2252,6 +2252,23 @@ SYMBOL_FUNCTION (struct Lisp_Symbol *sym)
   return tmp;
 }
 
+INLINE Lisp_Object
+SYMBOL_FUNC_LEXSPACE (struct Lisp_Symbol *sym)
+{
+  Lisp_Object tmp = symbol_function_1 (sym);
+
+  if (CONSP (tmp)
+      && CONSP (XCDR (tmp))
+      && EQ (XCAR (XCDR (tmp)), Qclosure))
+    {
+      /* Remove the lexspace number in case (n closure () ...) is
+        found.  */
+      eassert (FIXNUMP (XCAR (tmp)));
+      return XCAR (tmp);
+    }
+  return Qnil;
+}
+
 INLINE struct Lisp_Symbol *
 SYMBOL_ALIAS (struct Lisp_Symbol *sym)
 {



reply via email to

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