Major step forward: equal is now working, and consequently so is assoc.
This commit is contained in:
parent
271b7da46a
commit
5e64a33965
11 changed files with 168 additions and 137 deletions
|
|
@ -28,8 +28,17 @@
|
|||
*/
|
||||
struct pso_pointer privileged_keyword_bootstrap;
|
||||
|
||||
/**
|
||||
* documentation metadate for functions and special forms (and possibly other
|
||||
* things)
|
||||
*/
|
||||
struct pso_pointer privileged_keyword_documentation;
|
||||
|
||||
/**
|
||||
* key for layer metadata for functions and special forms
|
||||
*/
|
||||
struct pso_pointer privileged_keyword_layer;
|
||||
|
||||
/**
|
||||
* location metadata for exceptions (and possibly location in other contexts).
|
||||
*/
|
||||
|
|
@ -40,6 +49,16 @@ struct pso_pointer privileged_keyword_location;
|
|||
*/
|
||||
struct pso_pointer privileged_keyword_name;
|
||||
|
||||
/**
|
||||
* layer metadata for functions that users shouldn't be able to override.
|
||||
*/
|
||||
struct pso_pointer privileged_keyword_system;
|
||||
|
||||
/**
|
||||
* layer metadata for functions written by users.
|
||||
*/
|
||||
struct pso_pointer privileged_keyword_user;
|
||||
|
||||
|
||||
#define load_and_lock(var,val)(var = lock_object(c_string_to_lisp_keyword(frame_pointer, val)))
|
||||
|
||||
|
|
@ -47,6 +66,9 @@ struct pso_pointer privileged_keyword_name;
|
|||
struct pso_pointer initialise_privileged_keywords(struct pso_pointer frame_pointer) {
|
||||
load_and_lock(privileged_keyword_bootstrap, PK_BOOTSTRAP);
|
||||
load_and_lock(privileged_keyword_documentation, PK_DOCUMENTATION);
|
||||
load_and_lock(privileged_keyword_layer, PK_LAYER);
|
||||
load_and_lock(privileged_keyword_location, PK_LOCATION);
|
||||
load_and_lock( privileged_keyword_name, PK_NAME);
|
||||
load_and_lock(privileged_keyword_system, PK_SYSTEM);
|
||||
load_and_lock(privileged_keyword_user, PK_USER);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue