summaryrefslogtreecommitdiff
path: root/src/print.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2012-08-19 03:23:03 -0600
committerTom Tromey <tromey@redhat.com>2012-08-19 03:23:03 -0600
commit5651640d578fa2efa40be4789d9fa61813ccb1fa (patch)
treea59e33464016e88cb3f0501d6c47baf8aa5e07aa /src/print.c
parentee1464eab19311ab7708b135bdb6eb989909e4cc (diff)
downloademacs-5651640d578fa2efa40be4789d9fa61813ccb1fa.tar.gz
condition variables
This implements condition variables for elisp. This needs more tests.
Diffstat (limited to 'src/print.c')
-rw-r--r--src/print.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/print.c b/src/print.c
index b14a769dc74..78a0707627c 100644
--- a/src/print.c
+++ b/src/print.c
@@ -1967,6 +1967,18 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag
}
PRINTCHAR ('>');
}
+ else if (CONDVARP (obj))
+ {
+ strout ("#<condvar ", -1, -1, printcharfun);
+ if (STRINGP (XCONDVAR (obj)->name))
+ print_string (XCONDVAR (obj)->name, printcharfun);
+ else
+ {
+ int len = sprintf (buf, "%p", XCONDVAR (obj));
+ strout (buf, len, len, printcharfun);
+ }
+ PRINTCHAR ('>');
+ }
else
{
ptrdiff_t size = ASIZE (obj);