mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-07 08:40:21 +02:00
*** empty log message ***
This commit is contained in:
parent
bde70eddce
commit
05d44505b8
9 changed files with 42 additions and 8 deletions
|
@ -1,3 +1,8 @@
|
|||
2004-08-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
|
||||
|
||||
* gh.texi (Defining new Scheme procedures in C): remove : - note:
|
||||
causes spurious info reference.
|
||||
|
||||
2004-09-07 Kevin Ryde <user42@zip.com.au>
|
||||
|
||||
* posix.texi (System Identification): Remove software-type, it doesn't
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
2005-06-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
|
||||
|
||||
* boot-9.scm (set-module-eval-closure!): remove
|
||||
set-procedure-property! closure 'module. Setting this property
|
||||
causes un-gc-able modules.
|
||||
|
||||
2005-04-23 Kevin Ryde <user42@zip.com.au>
|
||||
|
||||
* boot-9.scm (numerator, denominator): New functions as specified by
|
||||
|
|
|
@ -258,7 +258,7 @@
|
|||
|
||||
(define (environment-module env)
|
||||
(let ((closure (and (pair? env) (car (last-pair env)))))
|
||||
(and closure (procedure-property closure 'module))))
|
||||
(and closure (eval-closure-module closure))))
|
||||
|
||||
|
||||
;;; {Records}
|
||||
|
@ -1063,10 +1063,12 @@
|
|||
(let ((setter (record-modifier module-type 'eval-closure)))
|
||||
(lambda (module closure)
|
||||
(setter module closure)
|
||||
;; Make it possible to lookup the module from the environment.
|
||||
;; This implementation is correct since an eval closure can belong
|
||||
;; to maximally one module.
|
||||
(set-procedure-property! closure 'module module))))
|
||||
|
||||
|
||||
;; do not set procedure properties on closures.
|
||||
;; since procedure properties are weak-hashes, they cannot
|
||||
;; have cyclical data, otherwise the data cannot be GC-ed.
|
||||
)))
|
||||
|
||||
(begin-deprecated
|
||||
(define (eval-in-module exp mod)
|
||||
|
|
|
@ -1,4 +1,11 @@
|
|||
2005-06-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
|
||||
2005-06-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
|
||||
|
||||
* modules.c (s_scm_eval_closure_module): new function. Return the
|
||||
module inside an eval-closure.
|
||||
|
||||
* gc.c (scm_init_storage): make scm_stand_in_procs a weak_key hash
|
||||
table. This means that procedure properties are GC'd if the
|
||||
procedure dies.
|
||||
|
||||
* guile.c (main): use pointer iso. array. This fixes compile error
|
||||
on GCC 4.
|
||||
|
|
|
@ -2827,7 +2827,7 @@ scm_init_storage ()
|
|||
#endif
|
||||
#endif
|
||||
|
||||
scm_stand_in_procs = scm_c_make_hash_table (257);
|
||||
scm_stand_in_procs = scm_make_weak_key_hash_table (SCM_MAKINUM (257));
|
||||
scm_permobjs = SCM_EOL;
|
||||
scm_protects = scm_c_make_hash_table (31);
|
||||
scm_gc_registered_roots = scm_c_make_hash_table (31);
|
||||
|
|
|
@ -340,6 +340,19 @@ SCM_DEFINE (scm_standard_eval_closure, "standard-eval-closure", 1, 0, 0,
|
|||
}
|
||||
#undef FUNC_NAME
|
||||
|
||||
|
||||
SCM_DEFINE (scm_eval_closure_module, "eval-closure-module", 1, 0, 0,
|
||||
(SCM closure),
|
||||
"Return the module for @var{closure}.")
|
||||
#define FUNC_NAME s_scm_eval_closure_module
|
||||
{
|
||||
SCM_ASSERT_TYPE(SCM_EVAL_CLOSURE_P (closure), closure, SCM_ARG1, FUNC_NAME, "eval-closure");
|
||||
return SCM_PACK (SCM_CELL_WORD_1(closure));
|
||||
}
|
||||
#undef FUNC_NAME
|
||||
|
||||
|
||||
|
||||
SCM_DEFINE (scm_standard_interface_eval_closure,
|
||||
"standard-interface-eval-closure", 1, 0, 0,
|
||||
(SCM module),
|
||||
|
|
|
@ -118,6 +118,7 @@ extern SCM scm_current_module_lookup_closure (void);
|
|||
extern SCM scm_current_module_transformer (void);
|
||||
extern SCM scm_eval_closure_lookup (SCM eclo, SCM sym, SCM definep);
|
||||
extern SCM scm_standard_eval_closure (SCM module);
|
||||
extern SCM scm_eval_closure_module (SCM closure);
|
||||
extern SCM scm_standard_interface_eval_closure (SCM module);
|
||||
extern SCM scm_get_pre_modules_obarray (void);
|
||||
extern SCM scm_lookup_closure_module (SCM proc);
|
||||
|
|
|
@ -25,7 +25,6 @@ exec ${GUILE-guile} -l $0 -c "(apply $main (cdr (command-line)))" "$@"
|
|||
;;; Author: Michael Livshin
|
||||
|
||||
;;; Code:
|
||||
|
||||
(define-module (scripts snarf-check-and-output-texi)
|
||||
:use-module (ice-9 streams)
|
||||
:use-module (ice-9 match)
|
||||
|
|
|
@ -78,3 +78,4 @@
|
|||
(gc)
|
||||
(remove-hook! after-gc-hook thunk)
|
||||
foo)))
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue