1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-01 20:30:28 +02:00
Commit graph

34 commits

Author SHA1 Message Date
Marius Vollmer
92205699d0 The FSF has a new address. 2005-05-23 19:57:22 +00:00
Marius Vollmer
ac5d303b6c * boot-9.scm (app, %app): Renamed former to the latter.
Previously, 'app' was reserved in every module.  Now '%app' is
reserved, which is slightly better.  The real fix is to not use
'local-ref' etc to find modules.  Changed all uses.
* syncase.scm: Changed 'app' to '%app'.
2004-12-01 00:02:24 +00:00
Marius Vollmer
73be1d9e8e Changed license terms to the plain LGPL thru-out. 2003-04-05 19:15:35 +00:00
Mikael Djurfeldt
d57da08b6d * srfi-13.scm: Mark replacements.
* srfi-17.scm: Mark replacements.

* boot-9.scm (module-make-local-var!): Use module-add!.
(module-primitive-add!): New function.
(resolve-interface): Use
(call-with-deferred-observers, module-call-observers): New
functions.
(module-defer-observers, module-defer-observers-mute,
module-defer-observers-table): New variables.
(process-define-module, process-use-modules, export, re-export):
Use call-with-deferred-observers.

* syncase.scm (eval): Mark as replacement.

* boot-9.scm (defmacro-public): Use export-syntax instead of export.
2003-03-12 14:11:42 +00:00
Mikael Djurfeldt
e963ac2c54 * syncase.scm (guile-macro): Strip syntactic information from
expression before trying to treat it as a Guile macro call.
(Thanks to Kevin Ryde.)
2003-01-27 08:46:18 +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
Mikael Djurfeldt
cf743aeae6 * boot-9.scm (use-syntax): Return *unspecified*.
* syncase.scm: (syncase): Set expansion-eval-closure.
2003-01-15 20:35:25 +00:00
Mikael Djurfeldt
7906d57d02 * syncase.scm: Set expansion-eval-closure to
the-syncase-eval-closure during booting so that variables are
created in the correct module;
(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).
2003-01-15 17:29:09 +00:00
Dirk Herrmann
c55bcb3297 * syncase.scm (define-syntax, eval-when, fluid-let-syntax,
identifier-syntax, let-syntax, letrec-syntax, syntax, syntax-case,
syntax-rules, with-syntax, include):  Changed definitions to form
'real' macro definitions.
2002-11-16 16:01:06 +00:00
Marius Vollmer
719fb3f321 Set the module transformer of the-syncase-module so
that we can use define-syntax.
(define-syntax-public): New and exported.
2002-09-05 17:51:58 +00:00
Marius Vollmer
db3f1c7e61 (expansion-eval-closure, env->eval-closure): New.
(sc-macro): Set the expansion-eval-closure expanding the form.
(putprop, getprop): Use the expansion-eval-closure to find
variables instead of the current module.
2002-09-04 21:33:33 +00:00
Marius Vollmer
5f1bde674f Use (ice-9 threads) so that with-mutex is defined. 2002-05-06 18:45:24 +00:00
Rob Browning
56fd1933cc * syncase.scm: fix bad let.
(gensym): fix failure on non-threaded
2002-03-12 21:53:56 +00:00
Rob Browning
51a317b3b0 * syncase.scm (gensym): redefine locally so we can control it's
properties.  This is in preparation for changing the future public
gensym to produce unreadable symbols.
2002-02-25 05:49:05 +00:00
Mikael Djurfeldt
1a179b03b0 * lib.scm: Move module the system directives `export',
`export-syntax', `re-export' and `re-export-syntax' into the
  `define-module' form.  This is the recommended way of exporting
  bindings.

* srfi-2.scm, srfi-4.scm, srfi-8.scm, srfi-9.scm, srfi-10.scm,
srfi-11.scm, srfi-14.scm, srfi-16.scm: Move module the system
directives `export', `export-syntax', `re-export' and
`re-export-syntax' into the `define-module' form.  This is the
recommended way of exporting bindings.

* goops.scm, goops/active-slot.scm, goops/compile.scm,
goops/composite-slot.scm, goops/describe.scm, goops/dispatch.scm,
goops/old-define-method.scm, goops/save.scm, goops/util.scm: Move
module the system directives `export', `export-syntax',
`re-export' and `re-export-syntax' into the `define-module' form.
This is the recommended way of exporting bindings.

* slib.scm (array-indexes): New procedure.
(*features*): Extend.  (Probably some of these options should be
set elsewhere.)  (Thanks to Aubrey Jaffer.)

* and-let-star-compat.scm, and-let-star.scm, calling.scm,
  channel.scm, common-list.scm, debug.scm, debugger.scm,
  expect.scm, hcons.scm, lineio.scm, ls.scm, mapping.scm,
  null.scm, optargs.scm, poe.scm, popen.scm, pretty-print.scm,
  q.scm, r5rs.scm, rdelim.scm, regex.scm, runq.scm, safe-r5rs.scm,
  safe.scm, session.scm, slib.scm, streams.scm, string-fun.scm,
  syncase.scm, threads.scm: Move module the system directives
  `export', `export-syntax', `re-export' and `re-export-syntax'
  into the `define-module' form.  This is the recommended way of
  exporting bindings.
2001-10-21 09:49:19 +00:00
Marius Vollmer
9d198c1b17 * syncase.scm (psyncomp): Removed, it is now in compile-psyntax.scm.
* Makefile.am (psyntax.pp): Enable rule for psyntax.pp only in
maintainer mode.  Use compile-psyntax.scm for actual compilation.
Make sure the uninstalled guile is used.
(EXTRA_DIST): Distribute compile-psyntax.scm
* compile-psyntax.scm: New file.
2001-07-23 22:09:42 +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
Dirk Herrmann
f304437e70 * string=? requires a string argument. Thanks to Dale P. Smith. 2000-11-01 09:37:30 +00:00
Dirk Herrmann
a5b265e3f9 * Eliminate use of low-level symbol property function. 2000-09-12 10:34:09 +00:00
Mikael Djurfeldt
4be092bcf9 Commentary fix 2000-08-13 20:26:49 +00:00
Mikael Djurfeldt
6232c3dd69 * syncase.scm (eval): Add second arg both in definition and use. 2000-08-11 08:46:14 +00:00
Greg J. Badros
8641dd9e73 * boot-9.scm expect.scm, syncase.scm: Switch to new style
`simple-format' message strings: substitute ~A for %s, and ~S for
%S.

* boot-9.scm:  Added (define format simple-format) to expose that
primitive via the simpler name until format.scm is loaded.
2000-01-11 18:52:25 +00:00
Jim Blandy
c6e23ea25f Update FSF address in copyright notices. 1999-08-06 07:26:07 +00:00
Mikael Djurfeldt
f086d19d77 * syncase.scm (values, call-with-values): Moved to boot-9.scm. 1998-11-10 14:41:40 +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
d43f8c9708 * emacs.scm (emacs-load): Added new parameter `module'.
* syncase.scm (putprop, getprop): Modified to use the object
properties of the variable object corresponding to the symbol;
This way we can ride on the mechanisms of the module system.
Changed `builtin-variable' calls to `define-public' calls.
Setup the hooks sc-expand and sc-interface.

* boot-9.scm (sc-interface, sc-expand): New builtin variables.
(set-current-module): Switch to and from sc-expand as
scm:eval-transformer when going into and out of modules using
syncase macros.
(module-use!): Set scm:eval-transformer to sc-expand when adding
the syncase interface.
1997-09-05 01:21:02 +00:00
Mikael Djurfeldt
1f355b4f35 * syncase.scm (putprop): Temporary fix which publishes new syntax
globally (the old behaviour was complex and connected to the inner
workings of the current module system).
1997-09-04 13:02:10 +00:00
Mikael Djurfeldt
b0a0bd4533 *** empty log message *** 1997-08-25 20:03:49 +00:00
Mikael Djurfeldt
6a546cd710 * syncase.scm: Also turn off debugging evaluator and recording of
procedure names during loading of psyntax.pp.
1997-08-20 11:23:22 +00:00
Mikael Djurfeldt
a48930c687 * syncase.scm: Don't tamper with debug mode setting when enabling
macros.  Instead cut the stack with start-stack.
	Load psyntax.pp with recording of positions turned off.
1997-08-19 21:58:29 +00:00
Mikael Djurfeldt
19ef2a9bdb * syncase.scm: Don't tamper with debug mode setting when enabling
macros.  Instead cut the stack with start-stack.
1997-08-19 20:51:42 +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