aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRobin Templeton <[email protected]>2014-08-07 17:16:22 -0400
committerRobin Templeton <[email protected]>2015-04-20 00:29:02 -0400
commit76c76ee4fc92776a6383fbbaf11f0620816bb3a6 (patch)
treea7a8594941d452634a559b0adc1e9c1f9619a2aa /src
parent36cb7c1aa13982cabd5efed4e39596fb3212922a (diff)
misc changes
Diffstat (limited to 'src')
-rw-r--r--src/emacs.c6
-rw-r--r--src/lisp.h15
2 files changed, 18 insertions, 3 deletions
diff --git a/src/emacs.c b/src/emacs.c
index ca22885486..319f5efef4 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -710,6 +710,9 @@ string_from_scheme (Lisp_Object scheme_string)
nbytes);
}
+Lisp_Object xsymbol_fn;
+Lisp_Object symbol_function_fn;
+
static int main2 (void *, int, char **);
int
@@ -1198,6 +1201,9 @@ Using an Emacs configured with --with-x-toolkit=lucid does not have this problem
"lisp-string?",
scm_c_make_gsubr ("stringp", 1, 0, 0, Fstringp));
+ xsymbol_fn = scm_c_public_ref ("language elisp runtime", "symbol-desc");
+ symbol_function_fn = scm_c_public_ref ("language elisp runtime", "symbol-function");
+
init_guile ();
init_fns_once ();
init_obarray ();
diff --git a/src/lisp.h b/src/lisp.h
index edfc2aff5f..5d8956e3f3 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -1353,10 +1353,16 @@ SYMBOL_INTERNED_P (Lisp_Object sym)
return scm_is_true (scm_symbol_interned_p (sym));
}
+extern Lisp_Object Ffboundp (Lisp_Object);
+extern Lisp_Object Fmakunbound (Lisp_Object);
+extern Lisp_Object Ffmakunbound (Lisp_Object);
+extern Lisp_Object Ffset (Lisp_Object, Lisp_Object);
+extern Lisp_Object Fsymbol_function (Lisp_Object);
+
INLINE Lisp_Object
SYMBOL_FUNCTION (Lisp_Object sym)
{
- return scm_call_1 (scm_c_public_ref ("elisp-functions", "symbol-function"), sym);
+ return Fsymbol_function (sym);
}
/* Value is non-zero if symbol is considered a constant, i.e. its
@@ -4003,13 +4009,16 @@ functionp (Lisp_Object object)
Lisp_Object car = XCAR (object);
return EQ (car, Qlambda) || EQ (car, Qclosure);
}
+ else
+ return false;
}
+extern Lisp_Object xsymbol_fn;
+
INLINE sym_t
XSYMBOL (Lisp_Object a)
{
- return scm_call_1 (scm_c_public_ref ("language elisp runtime", "symbol-desc"),
- a);
+ return scm_call_1 (xsymbol_fn, a);
}
INLINE_HEADER_END