X-Git-Url: https://git.hcoop.net/bpt/guile.git/blobdiff_plain/108e18b18abc066b2709a09283751e9138ccc935..refs/heads/wip:/libguile/srcprop.h diff --git a/libguile/srcprop.h b/libguile/srcprop.h index 89063bed4..0252e54a1 100644 --- a/libguile/srcprop.h +++ b/libguile/srcprop.h @@ -3,7 +3,8 @@ #ifndef SCM_SRCPROP_H #define SCM_SRCPROP_H -/* Copyright (C) 1995,1996,2000,2001, 2006, 2008 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996, 2000, 2001, 2006, 2008, 2009, 2010, + * 2011, 2012 Free Software Foundation, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -27,27 +28,6 @@ -/* {The old whash table interface} - * *fixme* This is a temporary solution until weak hash table access - * has been optimized for speed (which is quite necessary, if they are - * used for recording of source code positions...) - */ - -#define scm_whash_handle SCM - -#define scm_whash_get_handle(whash, key) scm_hash_fn_get_handle (whash, key, scm_ihashq, scm_sloppy_assq, 0) -#define SCM_WHASHFOUNDP(h) (scm_is_true (h)) -#define SCM_WHASHREF(whash, handle) SCM_CDR (handle) -#define SCM_WHASHSET(whash, handle, obj) SCM_SETCDR (handle, obj) -#define scm_whash_create_handle(whash, key) scm_hash_fn_create_handle_x (whash, key, SCM_UNSPECIFIED, scm_ihashq, scm_sloppy_assq, 0) -#define scm_whash_lookup(whash, obj) scm_hash_fn_ref (whash, obj, SCM_BOOL_F, scm_ihashq, scm_sloppy_assq, 0) -#define scm_whash_insert(whash, key, obj) \ -do { \ - register SCM w = (whash); \ - SCM_WHASHSET (w, scm_whash_create_handle (w, key), obj); \ -} while (0) - - /* {Source properties} */ #define SCM_PROCTRACEP(x) (scm_is_true (scm_procedure_property (x, scm_sym_trace))) @@ -59,21 +39,21 @@ SCM_API SCM scm_sym_filename; SCM_API SCM scm_sym_copy; SCM_API SCM scm_sym_line; SCM_API SCM scm_sym_column; -SCM_API SCM scm_sym_breakpoint; -SCM_API int scm_c_source_property_breakpoint_p (SCM form); +SCM_API SCM scm_supports_source_properties_p (SCM obj); SCM_API SCM scm_make_srcprops (long line, int col, SCM fname, SCM copy, SCM plist); SCM_API SCM scm_source_property (SCM obj, SCM key); SCM_API SCM scm_set_source_property_x (SCM obj, SCM key, SCM datum); SCM_API SCM scm_source_properties (SCM obj); SCM_API SCM scm_set_source_properties_x (SCM obj, SCM props); +SCM_INTERNAL int scm_i_has_source_properties (SCM obj); +SCM_INTERNAL void scm_i_set_source_properties_x (SCM obj, long line, int col, + SCM fname); +SCM_API SCM scm_cons_source (SCM xorig, SCM x, SCM y); SCM_INTERNAL void scm_init_srcprop (void); -#if SCM_ENABLE_DEPRECATED == 1 -#define SRCBRKP(x) (scm_source_property_breakpoint_p (x)) -#endif #endif /* SCM_SRCPROP_H */