1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-02 04:40:29 +02:00
Commit graph

19 commits

Author SHA1 Message Date
Marius Vollmer
92205699d0 The FSF has a new address. 2005-05-23 19:57:22 +00:00
Marius Vollmer
73be1d9e8e Changed license terms to the plain LGPL thru-out. 2003-04-05 19:15:35 +00:00
Mikael Djurfeldt
93f26b7bcc * evalext.c, evalext.h (scm_self_evaluating_p): New function.
* psyntax.ss (self-evaluating?): Removed.  Guile now provides this
operator as a primitive procedure.
(build-data): Quote vectors (psyntax.ss requires this).
2003-01-20 10:12:39 +00:00
Mikael Djurfeldt
9889e923c6 * psyntax.ss (self-evaluating?): Allow procedures implanted in
source.  (Guile uses this internally.)
2003-01-19 17:47:01 +00:00
Mikael Djurfeldt
80f225df0e * psyntax.ss (build-data): Don't quote self-evaluating expressions
in output.  (We normally *would* like also these expressions to be
quoted, but until Guile's native macros and syncase cooperates
better, it is less destructive not to quote.)
(self-evaluating?): Removed null? (In Guile, the empty list is not
self-evaluating).
(sc-chi): Export chi as sc-chi.
(external-macro): New syntax type.

* psyntax.pp: Regenerated.

* compile-psyntax.scm: Set expansion-eval-closure.

* syncase.scm: Set expansion-eval-closure to
the-syncase-eval-closure during booting so that variables are
created in the correct module.
(syncase): Set expansion-eval-closure.
(define-syntax define-syntax-public eval-when fluid-let-syntax
identifier-syntax let-syntax letrec-syntax syntax syntax-case
syntax-rules with-syntax include): Removed definitions (these are
created from within psyntax.pp).
Enable expansion of Guile macros during a syntax-case
transformation.
2003-01-16 11:48:14 +00:00
Marius Vollmer
1f463efc1c (datum->syntax-object): Removed assertion in datum->syntax-object that
checked if the first argument, a syntax-object, is an identifier.
This was a unconvenient and unnecessary restriction.  Thanks to Dorai
Sitaram!
2002-01-14 20:41:30 +00:00
Marius Vollmer
a482f2cc7b Added exception notice to all files.
(module-export!): Revert 2001-06-02 change.  It
caused more problems than it solved by accidentally re-exporting
importing bindings once in a while.
2001-06-03 23:29:45 +00:00
Marius Vollmer
872bd19470 * psyntax.ss (build-lexical-var): Use gensym instead of gentemp.
* match.scm: Likewise.
* expect.scm: Likewise.
* psyntax.pp: Regenerated.
2001-05-19 01:31:33 +00:00
Rob Browning
677cd590ad * psyntax.ss: make sure emacs knows it's scheme code. 2001-05-06 03:29:52 +00:00
Mikael Djurfeldt
86b96c166b * psyntax.ss: Added FSF copyright notice. Added a notice of
changes in order to comply with paragraph 2a of the GPL.
2001-03-08 18:05:39 +00:00
Mikael Djurfeldt
2a6ba08d36 * psyntax.ss (build-lexical-var): Use gentemp instead of gensym;
Convert first argument to a string.
2000-09-12 06:03:22 +00:00
Mikael Djurfeldt
fde75b7c8e * psyntax.ss (set!): Added generalized set! support to core syntax
form set!.
2000-08-24 00:16:17 +00:00
Mikael Djurfeldt
eaa6f703ea * psyntax.ss (top-level-eval-hook, local-eval-hook): Pass
`(interaction-environment)' as second arg to `eval'.  This is
completely equivalent with the state before the change to eval of
2000-08-11, but we should extend psyntax.ss to be module aware.
(Thanks to Ian Bicking.)
2000-08-13 19:21:04 +00:00
Jim Blandy
a63812a2fe Talked to Stallman. Actually, the syntax-case copyright is no
problem.  Duh.
* Makefile.am (ice9_sources): Revert last change.
* syncase.scm, psyntax.pp, psyntax.ss: Added again.
* Makefile.in: Regeneretade.
1998-10-19 15:38:05 +00:00
Jim Blandy
9d1a28471c We can't include Kent Dybvig's syntax-case macro expander in the
core Guile distribution, because we don't have copyright
assignments for this code.  We can certainly distribute them as a
separate package, but Guile should be FSF code.
* syncase.scm, psyntax.pp, psyntax.ss: Removed.
* Makefile.am (ice9_sources): Removed syncase.scm, psyntax.pp, and
psyntax.ss.
* Makefile.in: Regenerated.
* Makefile.am (ice9_sources): Add getopt-gnu-style.scm.
* Makefile.in: Regenerated.
1998-10-19 13:43:50 +00:00
Mikael Djurfeldt
7a0ff2f807 * * boot-9.scm (primitive-macro?): New procedure.
* slib.scm: Added hack which transfers syntactic information from
	the builtin variable `define' to the slib version if module (ice-9
	syncase) has been loaded.  This is necessary to get correct
	expansion inside the slib module.

	* psyntax.ss (build-let, build-named-let): New output
	constructors.
	(build-lexical-var): Seed gensym with symbolic name.
	(self-evaluating?): Add keywords among self-evaluating types.
	(let): New core form.
	(if): Removed from core language.
	(or, and, let, cond): Removed syntactic definitions.
	(sc-expand3): New procedure: Expander which takes optional mode
	and eval-syntactic-expanders-when arguments.

	* syncase.scm (psyncomp): New procedure: Recompiles psyntax.pp.
	Should be used inside the (ice-9 syncase) module with (use-syntax
	syncase) and with the current directory containing the psyntax.ss
	source.
	Added hack to transfer syntactic information from the builtin
	variable `define' to the slib version if module (ice-9 slib) has
	been loaded.
1997-09-10 20:07:04 +00:00
Mikael Djurfeldt
e9b7bb80d7 * psyntax.ss: Updated.
psyntax.pp: Bugfix: Previous version had some leading "t":s cut
off!
1997-09-03 19:32:26 +00:00
Mikael Djurfeldt
ae11ddaef4 psyntax.pp, psyntax.ss (quasiquote): Changed fx= --> =. 1997-08-19 01:32:26 +00:00
Mikael Djurfeldt
230c435383 * syncase.scm: New file: Guile-adaption for syntax-case macros.
psyntax.pp, psyntax.ss: Syntax-case macros, portable version 2 by
R. Kent Dybvig, Oscar Waddell, Bob Hieb and Carl Bruggeman
1997-08-19 01:28:50 +00:00