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

1820 commits

Author SHA1 Message Date
Ludovic Courtès
8071964943 Allow overlapping regions to be passed to `bytevector-copy!'.
Reported by Dmitry Chestnykh <dmitry@codingrobots.com>.
Fixes <http://debbugs.gnu.org/10070>.

* libguile/bytevectors.c (scm_bytevector_copy_x): Use `memmove', not
  `memcpy'.

* test-suite/tests/bytevectors.test ("2.2 General
  Operations")["bytevector-copy! overlapping"]: New test.

* doc/ref/api-data.texi (Bytevector Manipulation): Mention possible
  overlapping.
2011-11-20 01:10:58 +01:00
Andy Wingo
4b4b1e0b70 fix urls in docs
* doc/ref/intro.texi (Introduction):
* doc/ref/scheme-reading.texi (Further Reading):
* doc/ref/srfi-modules.texi (SRFI Support): Fix some urls.  Thanks to
  Henrik Sandklef for the report.
2011-11-16 23:21:59 +01:00
Andy Wingo
654ef4cf54 fix web.texi typo
* doc/ref/web.texi (HTTP Headers): Fix a typo.  Thanks to Brian Gough
  for the report.
2011-11-16 23:17:51 +01:00
Andy Wingo
880e794812 inline dynwind guards for normal control flow
* module/language/tree-il.scm (<tree-il>): Add `pre' and `post' fields
  to <dynwind>, so that we can inline the guard bodies in the normal
  control-flow case.  It also avoids duplicating code in compile-glil,
  which probably hides more bugs in 2.0.
  (parse-tree-il, unparse-tree-il, tree-il->scheme, tree-il-fold)
  (make-tree-il-folder, post-order!, pre-order!): Update.

* module/language/tree-il/analyze.scm (analyze-lexicals): Update.

* module/language/tree-il/compile-glil.scm (flatten-lambda-case): Update
  to use `pre' and `post' instead of compiling code twice.

* module/language/tree-il/debug.scm (verify-tree-il): Update.

* module/language/tree-il/peval.scm (peval): Update.  Instead of doing
  complicated things in <dynwind>, handle 'dynamic-wind primcalls.

* module/language/tree-il/primitives.scm (*primitive-expand-table*):
  Remove 'dynamic-wind mess.  Adapt '@dynamic-wind.

* test-suite/tests/tree-il.test ("partial evaluation"): Update tests.
2011-11-09 19:38:44 +01:00
Andy Wingo
4938d3cb74 Merge remote-tracking branch 'origin/stable-2.0'
Conflicts:
	GUILE-VERSION
	libguile/deprecated.c
	libguile/gc-malloc.c
	module/language/tree-il/peval.scm
2011-10-27 13:45:04 +02:00
Ludovic Courtès
fe4ea6859e doc: Document the sitedir' and extensiondir' pkg-config variables.
* doc/ref/libguile-parallel.texi (Parallel Installations): Document the
  `sitedir' and `extensiondir' pkg-config variables.  This fixes
  <https://savannah.gnu.org/bugs/index.php?32515>, reported by
  Dale. P. Smith.
2011-10-22 16:11:01 +02:00
Ludovic Courtès
9cbbb400f4 doc: Add `libguile-parallel.texi' to the distribution.
This is a followup to d32df1325d ("manual:
reorganize autoconf, pkg-config info").

* doc/ref/Makefile.am (guile_TEXINFOS): Add `libguile-parallel.texi'.
2011-10-18 18:47:09 +02:00
Ludovic Courtès
98518c96fd doc: Complete renaming of `autoconf.texi'.
This is a followup to d32df1325d ("manual:
reorganize autoconf, pkg-config info").

* doc/ref/Makefile.am: Replace references to `autoconf.texi' by
  `libguile-autoconf.texi'.
2011-10-16 21:55:29 +02:00
Ludovic Courtès
43e53d64ca doc: Mention the partial evaluator next to `define-inlinable'.
* doc/ref/api-procedures.texi (Inlinable Procedures): Mention inlining
  performed by the partial evaluator.
2011-10-15 17:36:41 +02:00
Andy Wingo
24cc7832a6 add "Installing Site Packages"
* doc/ref/scheme-using.texi (Installing Site Packages): Add a new
  section about where to install .scm, .go, and .so files.

* doc/ref/tour.texi: Reference it here.
* doc/ref/guile.texi: Add new section.
2011-10-12 17:12:34 +02:00
Andy Wingo
067df233c4 update tour.texi for site modules and extensions
* doc/ref/tour.texi (Putting Extensions into Modules)
  (Writing new Modules): In the examples, show the files as being in the
  "site" dirs.
2011-10-12 17:12:34 +02:00
Andy Wingo
d32df1325d manual: reorganize autoconf, pkg-config info
* doc/ref/libguile-parallel.texi: New file, documenting parallel
  installation and the use of pkg-config.

* doc/ref/libguile-linking.texi: Adapt.

* doc/ref/libguile-autoconf.texi: Rename from autoconf.texi.  Lower
  sections, and integrate in the "Programming in C" chapter.

* doc/ref/guile.texi: Adapt.
2011-10-12 17:12:29 +02:00
Andy Wingo
b09179d0eb remove documentation on autofrisk foo
* doc/ref/autoconf.texi: Remove documentation on autofrisk facility,
  given that we do not ship those macros, and to my knowledge, never
  have.
2011-10-12 11:51:33 +02:00
Andy Wingo
ec81143964 add (web client) docs
* doc/ref/web.texi (Web Client): New doc section.
2011-10-12 11:24:58 +02:00
Andy Wingo
d62dd76685 add ,expand and ,optimize
* module/system/repl/command.scm (*command-table*, expand, optimize):
  New meta-commands.
* module/system/repl/common.scm (repl-expand, repl-optimize): New
  helpers.

* doc/ref/scheme-using.texi (Compile Commands): Document.
2011-10-10 17:01:11 +02:00
Andy Wingo
a215c15913 Merge remote-tracking branch 'origin/stable-2.0'
Does not include psyntax regeneration.

Conflicts:
	module/ice-9/psyntax-pp.scm
	module/language/tree-il/peval.scm
	test-suite/tests/tree-il.test
2011-10-10 16:20:08 +02:00
Mike Gran
022dda6901 New functions scm_is_exact and scm_is_inexact
* doc/ref/api-data.texi (Exact and Inexact Numbers): doc for scm_is_exact
  and scm_is_inexact
* libguile/numbers.c (scm_is_exact, scm_is_inexact): new functions
* libguile/numbers.h: declarations for scm_is_exact and scm_is_inexact
* test/suite/standalone/test-conversion.c (test_is_exact, test_is_inexact):
  new tests
2011-10-09 20:54:37 -07:00
Mike Gran
b2c4c3e5e3 Document SCM_ASSERT_TYPE and SCM_ASRTGO macros
* doc/ref/api-control.texi (Signalling Type Errors): document macros
2011-10-08 17:12:12 -07:00
Andy Wingo
ca12824581 Merge remote-tracking branch 'origin/stable-2.0'
This was a pretty big merge involving a fair amount of porting,
especially to peval and its tests.  I did not update psyntax-pp.scm,
that comes in the next commit.

Conflicts:
	module/ice-9/boot-9.scm
	module/ice-9/psyntax-pp.scm
	module/language/ecmascript/compile-tree-il.scm
	module/language/tree-il.scm
	module/language/tree-il/analyze.scm
	module/language/tree-il/inline.scm
	test-suite/tests/tree-il.test
2011-09-29 18:02:28 +02:00
Ludovic Courtès
58b5a2d4e1 doc: (ice-9 match) doesn't have `__1'.
* doc/ref/match.texi (Pattern Matching): Remove `__1', which doesn't
  exist.  Thanks to Chris K. Jester-Young.
2011-09-27 18:00:20 +02:00
Ludovic Courtès
7a1e193710 doc: Update (ice-9 match) reference.
* doc/ref/match.texi (Pattern Matching): Document `***', `..1', and
  `__1'; remove `..k' and `__k'.  Reported by Chris K. Jester-Young.
2011-09-27 13:46:35 +02:00
Ludovic Courtès
7af1ba2f6c doc: Fix typesetting of function definitions in "Accessing Modules from C".
* doc/ref/api-modules.texi (Accessing Modules from C): Use the phrase "C
  Function" instead of "C Procedure".  Enclose multiple-word type names
  in braces.  Reported by Dale P. Smith.
2011-09-27 13:41:21 +02:00
Ludovic Courtès
d5f7691782 doc: Fix typo regarding vhashes.
* doc/ref/api-compound.texi (VHashes): s/vlist-/alist-/.
2011-09-11 00:43:23 +02:00
Ludovic Courtès
cf14f3011b doc: Use fashionable terminology for macros.
* doc/ref/api-macros.texi (Macros): Mention EDSLs.
2011-09-09 00:05:43 +02:00
Ludovic Courtès
c8286111e0 Clarify --debug' vs. --no-debug'.
* module/ice-9/command-line.scm (*usage*): Attempt to suggest that
  `--no-debug' doesn't inhibit debugging support.

* doc/ref/guile-invoke.texi (Command-line Options): Make it clear that
  `--no-debug' doesn't inhibit debugging support.  Reported by Manuel
  Serrano.
2011-09-09 00:05:42 +02:00
Ludovic Courtès
8568067836 doc: Augment "Pattern Matching" section.
* doc/ref/match.texi (Pattern Matching): Mention records.  Add an
  example showing record matching and the `=' pattern.  Point users to
  `match.upstream.scm'.
2011-09-03 22:18:02 +02:00
Ludovic Courtès
d9241a37e8 Remove Front-Cover and Back-Cover text from the manual.
* doc/ref/guile.texi: Remove Front-Cover and Back-Cover text.
2011-09-03 22:18:02 +02:00
Andy Wingo
cd4171d012 document define-syntax-rule
* doc/ref/api-macros.texi (Syntax Rules): Add define-syntax-rule.
2011-09-02 11:42:44 +02:00
Andy Wingo
8b66aa8f54 Merge remote-tracking branch 'origin/stable-2.0'
Conflicts:
	libguile/bytevectors.c
	libguile/bytevectors.h
	libguile/objcodes.c
	libguile/r6rs-ports.c
	libguile/strings.c
	libguile/vm.c
2011-08-31 09:34:54 +02:00
Andy Wingo
5261e74281 reword open-file docs
* doc/ref/api-io.texi (File Ports): Refactor open-file docs.  Thanks to
  Bake Timmons for the report.
2011-08-18 11:13:34 +02:00
Andy Wingo
ab4bc85398 Merge remote-tracking branch 'origin/stable-2.0'
Conflicts:
	GUILE-VERSION
	test-suite/tests/srfi-4.test
2011-07-25 18:26:37 +02:00
Ludovic Courtès
8698e81007 doc: Remove redundant footnote about the former name of `guild'.
* doc/ref/scheme-using.texi (Using Guile Tools): Remove redundant
  footnote introduced in e108c961fe.
  Mention the version where the new name was introduced.
2011-07-23 22:43:38 +02:00
Ludovic Courtès
21b6df302f doc: Fix `merge-generics' example.
* doc/ref/goops.texi (Merging Generics): Change (my-module) example to
  use (oop goops) and use the right syntax for #:duplicates.  Reported
  by David Pirotte <david@altosw.be>.
2011-07-06 18:21:07 +02:00
Ludovic Courtès
ea5c9ddceb Add `guile-invoke.texi' to the distribution.
* doc/ref/Makefile.am (guile_TEXINFOS): Add `guile-invoke.texi'.
2011-06-30 16:36:03 +02:00
Andy Wingo
8a562c697b Merge remote-tracking branch 'local-2.0/stable-2.0'
Conflicts:
	libguile/deprecated.c
	module/ice-9/psyntax-pp.scm
2011-06-30 13:47:46 +02:00
Mark Harig
94906b7541 better invocation documentation
* doc/ref/guile.texi (Programming in Scheme):
* doc/ref/scheme-scripts.texi (Guile Scripting): Moved "Invoking Guile"
  to its own file.

* doc/ref/guile-invoke.texi (Invoking Guile): Initial revision. This
  file contains the former section "Invoking Guile" that was included in
  the chapter "Programming in Scheme" as a subsection named
  "Command-line Options." It also includes a new subsection "Environment
  Variables," which describes those variables that can be set in the
  operating system before Guile is started and which affect Guile's
  run-time behavior.
2011-06-30 13:19:04 +02:00
Andy Wingo
99cc1092a8 Merge remote-tracking branch 'local-2.0/stable-2.0' 2011-06-16 20:01:56 +02:00
Andy Wingo
7b0a2576c1 add docs for shift and reset
* doc/ref/api-control.texi (Prompt Primitives): Break call-with-prompt
  and abort-to-prompt out into a subsubsection.
  (Shift and Reset): New subsubsection.
2011-06-16 13:01:43 +02:00
Ludovic Courtès
e108c961fe doc: Mention the former name of `guild'.
* doc/ref/scheme-using.texi (Using Guile Tools): Add a footnote
  mentioning that `guild' used to be `guile-tools'.

* doc/ref/tools.texi (Executable Modules): Nitpicks.
2011-06-08 23:19:37 +02:00
Andy Wingo
46da7909e1 Merge remote-tracking branch 'local-2.0/stable-2.0'
Conflicts:
	meta/Makefile.am
2011-06-02 22:49:33 +02:00
Andy Wingo
a881a4ae3b add <primcall> to tree-il
* libguile/expand.c:
* libguile/expand.h (SCM_EXPANDED_PRIMCALL_TYPE_NAME):
  (SCM_EXPANDED_PRIMCALL_FIELD_NAMES):
  (SCM_EXPANDED_PRIMCALL_SRC):
  (SCM_EXPANDED_PRIMCALL_NAME):
  (SCM_EXPANDED_PRIMCALL_ARGS):
  (SCM_MAKE_EXPANDED_PRIMCALL): Add "primcall" Tree-IL type.

* doc/ref/compiler.texi (Tree-IL): Update docs.

* libguile/memoize.c (memoize): Memoizer for primcalls.

* module/ice-9/psyntax.scm: Build primcalls, sometimes.  Also change
  build-primref to just make a primitive-ref.

* module/language/tree-il.scm: Add primcall to the exports, parsers,
  serializers, etc.

* module/language/tree-il/analyze.scm:
* module/language/tree-il/compile-glil.scm:
* module/language/tree-il/fix-letrec.scm:
* module/language/tree-il/inline.scm:
* module/language/tree-il/primitives.scm:
* module/language/elisp/compile-tree-il.scm: Add primcall support.

* test-suite/tests/tree-il.test: Use primcalls sometimes.
2011-06-02 17:45:58 +02:00
Andy Wingo
7081d4f981 rename <application> to <call>
* doc/ref/compiler.texi (The Scheme Compiler): Update docs.

* libguile/expand.h:
* libguile/expand.c:
* module/language/tree-il.scm: Rename <application> to <call>.  Change
  the external representation from (apply proc arg ...) to (call proc
  arg ...).

* libguile/memoize.c:
* module/ice-9/psyntax-pp.scm:
* module/ice-9/psyntax.scm:
* module/language/brainfuck/compile-tree-il.scm:
* module/language/ecmascript/compile-tree-il.scm:
* module/language/elisp/compile-tree-il.scm:
* module/language/tree-il/analyze.scm:
* module/language/tree-il/compile-glil.scm:
* module/language/tree-il/fix-letrec.scm:
* module/language/tree-il/inline.scm:
* module/language/tree-il/primitives.scm:
* test-suite/tests/tree-il.test: Update all callers.
2011-06-02 13:42:55 +02:00
Andy Wingo
715146aa15 add guild docs
* doc/ref/scheme-using.texi (Using Guile Tools): Add some optimistic
  guild docs.
2011-05-31 22:36:52 +02:00
Andy Wingo
b8b0659879 rename guile-tools' to guild'
* configure.ac: Look for ln -s.  Write out `guild' instead of
  `guile-tools'.

* meta/Makefile.am (install-data-hook): Link the installed `guild' to
  the backward-compatible `guile-tools' name.
  (bin_SCRIPTS, EXTRA_DIST): Fix up for guild change.

* meta/guild.in: Moved here from `guile-tools.in'.

* doc/ref/Makefile.am (autoconf-macros.texi):
* doc/ref/api-evaluation.texi (Compilation):
* doc/ref/autoconf.texi (Autofrisk, Using Autofrisk):
* doc/ref/mod-getopt-long.texi (getopt-long Reference):
* doc/ref/tools.texi (Miscellaneous Tools, Executable Modules): Minimal
  doc update.

* .gitignore:
* am/guilec (.scm.go):
* libguile/Makefile.am (snarf2checkedtexi):
* module/Makefile.am (ice-9/psyntax-pp.go): Update makefiles, etc.

* module/scripts/README:
* module/scripts/lint.scm:
* module/scripts/list.scm: Update commentaries.
2011-05-31 22:01:47 +02:00
Andy Wingo
d31d703fd4 Merge remote-tracking branch 'origin/stable-2.0' 2011-05-30 11:50:38 +02:00
Neil Jerram
c382f58943 Doc for getopt-long's new stop-at-first-non-option option
* doc/ref/mod-getopt-long.texi (getopt-long): Mention optional keyword
  parameters.

  (getopt-long Reference): Document #:stop-at-first-non-option.
2011-05-26 22:02:16 +01:00
Neil Jerram
7a582ca155 Remove unused script-getopt.texi
* doc/ref/Makefile.am (guile_TEXINFOS): Remove script-getopt.texi.

* doc/ref/script-getopt.texi: Deleted.  This file wasn't included in
  the manual, and its content is now duplicated identically in
  scheme-scripts.texi.
2011-05-26 21:30:05 +01:00
Andy Wingo
ebc16e6a76 Merge remote-tracking branch 'local-2.0/stable-2.0' 2011-05-26 17:03:23 +02:00
Mark H Weaver
f567a43cf0 Clarify docs for SCM_UNSPECIFIED: used sometimes but not always
* doc/ref/data-rep.texi (Immediate objects): Clarify the description
  of SCM_UNSPECIFIED.  It is returned by some (but not all) expressions
  whose value is unspecified by the Scheme standard.
2011-05-25 12:40:55 -04:00
Andy Wingo
a099c8d971 Merge remote-tracking branch 'origin/stable-2.0'
Conflicts:
	libguile/procprop.c
2011-05-25 10:32:19 +02:00