[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)
{
- scratch/lexspaces 67e28d9 02/17: Adding binding pseudovector, (continued)
- scratch/lexspaces 67e28d9 02/17: Adding binding pseudovector, Andrea Corallo, 2020/05/08
- scratch/lexspaces 2d1e916 01/17: Add lexspaces.c, Andrea Corallo, 2020/05/08
- scratch/lexspaces 64e442b 04/17: Add SYMBOL_FUNCTION accessor function, Andrea Corallo, 2020/05/08
- scratch/lexspaces 02d8ef2 05/17: Move symbol value into separate binding, Andrea Corallo, 2020/05/08
- scratch/lexspaces 3a57250 06/17: Add lexspace-make-from, Andrea Corallo, 2020/05/08
- scratch/lexspaces 7fecbf5 08/17: Add lexspace redirection, Andrea Corallo, 2020/05/08
- scratch/lexspaces 09821e3 03/17: Store symbol value into the binding, Andrea Corallo, 2020/05/08
- scratch/lexspaces 04ac507 14/17: Remove unnecessary assertion, Andrea Corallo, 2020/05/08
- scratch/lexspaces 00108a5 15/17: Fix sweep_symbols, Andrea Corallo, 2020/05/08
- scratch/lexspaces 295ac3d 07/17: Make in-lexspace do something, Andrea Corallo, 2020/05/08
- scratch/lexspaces 610552d 10/17: Add SYMBOL_FUNC_LEXSPACE,
Andrea Corallo <=
- scratch/lexspaces 9091913 13/17: Rename lexspace-make-from -> lexspace-make, Andrea Corallo, 2020/05/08
- scratch/lexspaces e2f183c 17/17: Shallow setters by default are not a good idea, Andrea Corallo, 2020/05/08
- scratch/lexspaces 73363e9 09/17: Store lexspace in closures, Andrea Corallo, 2020/05/08
- scratch/lexspaces b46c504 12/17: Add lexspace-import-symbol, Andrea Corallo, 2020/05/08
- scratch/lexspaces c578c72 11/17: Add function lexspace contex mechanism, Andrea Corallo, 2020/05/08
- scratch/lexspaces 0b0098a 16/17: Rename in-lexspace -> lexspace-in, Andrea Corallo, 2020/05/08