summaryrefslogtreecommitdiff
path: root/libguile/vm-i-system.c
diff options
context:
space:
mode:
authorDaniel Kraft <d@domob.eu>2009-06-29 13:16:27 +0200
committerDaniel Kraft <d@domob.eu>2009-06-29 13:16:27 +0200
commit4530432e0160fd677fb19078a8d139677e88fb91 (patch)
tree1f0371e9189b9221808b169cd762863f2c4a2777 /libguile/vm-i-system.c
parent46abd569d545d07a05e0bdbbe16750c31dd7140e (diff)
downloadguile-4530432e0160fd677fb19078a8d139677e88fb91.tar.gz
Added make-nil instruction to VM and use it for Emacs' nil in the compiler.
* doc/ref/vm.texi: Document new instruction. * libguile/vm-i-system.c: Add it to the VM. * module/language/assembly.scm: Compile (const %nil) to (make-nil) assembly. * module/language/glil/decompile-assembly.scm: Handle (make-nil) * module/language/elisp/compile-tree-il.scm: Use (const %nil) for nil.
Diffstat (limited to 'libguile/vm-i-system.c')
-rw-r--r--libguile/vm-i-system.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libguile/vm-i-system.c b/libguile/vm-i-system.c
index d55d6e218..03d0c1711 100644
--- a/libguile/vm-i-system.c
+++ b/libguile/vm-i-system.c
@@ -107,6 +107,12 @@ VM_DEFINE_INSTRUCTION (8, make_false, "make-false", 0, 0, 1)
NEXT;
}
+VM_DEFINE_INSTRUCTION (57, make_nil, "make-nil", 0, 0, 1)
+{
+ PUSH (SCM_ELISP_NIL);
+ NEXT;
+}
+
VM_DEFINE_INSTRUCTION (9, make_eol, "make-eol", 0, 0, 1)
{
PUSH (SCM_EOL);