mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-19 02:00:26 +02:00
remove @apply memoizer
* libguile/memoize.c (memoize): Recognize a primcall to 'apply as SCM_M_APPLY. (@apply): Remove @apply memoizer. (unmemoize): Unmemoize using "apply", not "@apply". * libguile/memoize.h: * libguile/expand.c (scm_sym_atapply): Remove. * module/ice-9/boot-9.scm (apply): Re-implement using apply primcall. Use case-lambda, so as to give an appropriate minimum arity. * module/language/tree-il/compile-glil.scm (flatten-lambda-case): Compile a primcall of "apply" specially, not "@apply". * module/language/tree-il/peval.scm (peval): Match primcalls to "apply", not "@apply". Residualize "apply" primcalls. * module/language/tree-il/primitives.scm (*interesting-primitive-names*): (*multiply-valued-primitives*): Remove @apply, and apply primitive expander. * test-suite/tests/peval.test: * test-suite/tests/tree-il.test: Update tests to expect residualized "apply". * test-suite/tests/procprop.test ("procedure-arity"): Update test for better apply arity. * test-suite/tests/strings.test ("string"): Update expected error.
This commit is contained in:
parent
1773bc7dd5
commit
39caffe79b
11 changed files with 46 additions and 79 deletions
|
@ -2,7 +2,7 @@
|
|||
;;;; Jim Blandy <jimb@red-bean.com> --- August 1999
|
||||
;;;;
|
||||
;;;; Copyright (C) 1999, 2001, 2004, 2005, 2006, 2008, 2009, 2010,
|
||||
;;;; 2011 Free Software Foundation, Inc.
|
||||
;;;; 2011, 2013 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
|
||||
|
@ -546,10 +546,10 @@
|
|||
(with-test-prefix "string"
|
||||
|
||||
(pass-if-exception "convert circular list to string"
|
||||
exception:wrong-type-arg
|
||||
(let ((foo (list #\a #\b #\c)))
|
||||
(set-cdr! (cddr foo) (cdr foo))
|
||||
(apply string foo))))
|
||||
'(wrong-type-arg . "Apply to non-list")
|
||||
(let ((foo (list #\a #\b #\c)))
|
||||
(set-cdr! (cddr foo) (cdr foo))
|
||||
(apply string foo))))
|
||||
|
||||
(with-test-prefix "string-split"
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue