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

1731 commits

Author SHA1 Message Date
Ludovic Courtès
67768115d7 doc: Fix typo in `set-record-type-printer!' doc.
* module/srfi/srfi-9/gnu.scm (set-record-type-printer!): Change the
  parameter name to `proc'.
* doc/ref/api-compound.texi (SRFI-9 Records): Update accordingly.
2012-11-17 15:34:49 +01:00
Mark H Weaver
eb55a0db5a Merge remote-tracking branch 'origin/stable-2.0' 2012-11-12 04:42:09 -05:00
Ludovic Courtès
5ec8fc2134 doc: Update argument order of SRFI-9 `set-field'.
* doc/ref/api-compound.texi (SRFI-9 Records): Change argument order for
  `set-field'.
2012-11-11 15:32:32 +01:00
Mark H Weaver
db18a252fb Merge remote-tracking branch 'origin/stable-2.0' 2012-11-10 19:17:30 -05:00
Ludovic Courtès
a144a7a846 doc: Document SRFI-9 functional setters.
* doc/ref/api-compound.texi (Functional ``Setters''): New section.
2012-11-10 22:27:28 +01:00
Ludovic Courtès
ec7e4f77ec doc: Move SRFI-9 records under "Compound Data Types".
Suggested by Mark Weaver.

* doc/ref/srfi-modules.texi (SRFI-9): Keep the node, but move contents
  to...
* doc/ref/api-compound.texi (SRFI-9 Records): ...here.
  (Record Overview): New section.
2012-11-10 22:26:02 +01:00
Mark H Weaver
fa980bcc0f Merge remote-tracking branch 'origin/stable-2.0'
Moved scm_i_struct_hash from struct.c to hash.c and made it static.

The port's alist is now a field of 'scm_t_port'.

Conflicts:
	libguile/arrays.c
	libguile/hash.c
	libguile/ports.c
	libguile/print.h
	libguile/read.c
2012-10-30 23:46:31 -04:00
Mark H Weaver
bf9eb54aab Implement SRFI-105 curly infix expressions.
* libguile/private-options.h: Add SCM_CURLY_INFIX_P macro, and increment
  SCM_N_READ_OPTIONS.

* libguile/read.c (sym_nfx, sym_bracket_list, sym_bracket_apply): New
  variables.
  (scm_read_opts): Add curly-infix reader option.  Reformat to comply
  with GNU coding standards.
  (scm_t_read_opts): Add curly_infix_p and neoteric_p fields.
  (init_read_options): Initialize new fields.
  (CHAR_IS_DELIMITER): Add '{', '}', '[', and ']' as delimiters if
  curly_infix_p is set.

  (set_port_square_brackets_p, set_port_curly_infix_p): New functions.

  (read_inner_expression): New function which contains the code that was
  previously in 'scm_read_expression'.  Handle curly braces when
  curly_infix_p is set.  If curly_infix_p is set and square_brackets_p
  is unset, follow the Kawa convention: [...] => ($bracket-list$ ...)

  (scm_read_expression): New function body to handle neoteric
  expressions where appropriate.

  (scm_read_shebang): Handle the new reader directives: '#!curly-infix'
  and the non-standard '#!curly-infix-and-bracket-lists'.

  (scm_read_sexp): Handle curly infix lists.

* module/ice-9/boot-9.scm (%cond-expand-features): Add srfi-105 feature
  identifier.

* doc/ref/srfi-modules.texi (SRFI-105): Add stub doc for SRFI-105.

* doc/ref/api-evaluation.texi (Scheme Read): Add documentation for the
  'curly-infix' read option, and the '#!curly-infix' and
  '#!curly-infix-and-bracket-lists' reader directives.

* doc/ref/api-options.texi (Runtime Options): Add 'curly-infix' to the
  list of read options.

* test-suite/Makefile.am: Add tests/srfi-105.test.

* test-suite/tests/srfi-105.test: New file.
2012-10-26 19:52:32 -04:00
Mark H Weaver
9331ffd891 Implement #!fold-case and #!no-fold-case reader directives.
* libguile/read.c (set_port_case_insensitive_p): New function.

  (scm_read_shebang): Handle #!fold-case and #!no-fold-case.

* doc/ref/api-evaluation.texi (Case Sensitivity, Scheme Read): Document
  the #!fold-case and #!no-fold-case reader directives.

* test-suite/tests/reader.test ("per-port-read-options"): Add tests.
2012-10-26 17:06:55 -04:00
Ian Price
ead2496f73 Fix typo in scheme-using.texi
* doc/ref/scheme-using.texi (System Commands): Fix typo.
2012-10-18 00:12:33 -04:00
Daniel Hartwig
5f085775ab In string-split, add support for character sets and predicates.
* libguile/srfi-13.c (string-split): Add support for splitting on
  character sets and predicates, like string-index and others.
* test-suite/tests/strings.test (string-split): Add tests covering
  the new argument types.
* doc/ref/api-data.texi (string-split): Update.

Signed-off-by: Mark H Weaver <mhw@netris.org>
2012-10-12 08:15:08 -04:00
Ian Price
9855388378 Document (ice-9 curried definitions)
* doc/ref/Makefile.am (guile_TEXINFOS): Add curried.texi to list
* doc/ref/curried.texi: New file.
* doc/ref/guile.texi (Guile Modules): Add "Curried Definitions" to menu.
* doc/ref/scheme-ideas.texi (Lambda Alternatives): Refer to "Curried Definitions"
  from the `define' section.
2012-09-06 22:15:40 +01:00
Ludovic Courtès
8a84f7fb46 doc: Use scm_{to,from}_double instead of old API in example.
Fixed <http://bugs.gnu.org/12241>.
Reported by Kurt W. Gochko <kgochko@comcast.net>.

* doc/ref/tour.texi (Writing Guile Extensions): Change example to use
  scm_{to,from}_double instead of the pre-1.8 API.
2012-09-03 22:35:33 +02:00
Ian Price
d6bd182618 ISO 8601 time format specifies zero padding for hours, not blank padding.
* doc/ref/srfi-modules.texi ("SRFI-19 Date to string"): Fix iso 8601 format strings.
* module/srfi/srfi-19.scm (directives): Fix iso 8601 format strings.
2012-08-27 00:10:44 +02:00
Ludovic Courtès
7aa394b53c doc: Fix description of regexp/locale encoding interaction.
* doc/ref/api-regex.texi (Regexp Functions): Update paragraph that
  mentions locale encoding and strings-as-bytes.

* test-suite/tests/regexp.test ("nonascii locales")["match structures
  refer to char offsets, non-ASCII pattern"]: New test.
2012-08-27 00:09:30 +02:00
Andy Wingo
41a9e8829c improve documentation for structs
* doc/ref/api-compound.texi (Structures): Update to describe
  <standard-vtable>, to remove documentation for make-vtable-vtable, to
  describe meta-vtables, and to add a long example.
2012-07-28 13:03:04 +02:00
Andy Wingo
febc7d2f07 update structure documentation
* doc/ref/api-compound.texi (Records): Add a link to SRFI-9 records.
  (Structures): Add a link to Records.  Describe tail arrays as
  deprecated, and add a rationale and some details.
2012-07-28 13:03:04 +02:00
Andy Wingo
2842a17112 improve documentation for structs
* doc/ref/api-compound.texi (Structures): Update to describe
  <standard-vtable>, to remove documentation for make-vtable-vtable, to
  describe meta-vtables, and to add a long example.
2012-07-28 12:43:46 +02:00
Andy Wingo
4bfe73072b Merge remote-tracking branch 'origin/stable-2.0'
Conflicts:
	GUILE-VERSION
2012-07-24 23:22:41 +02:00
Andy Wingo
146b8f85e1 update structure documentation
* doc/ref/api-compound.texi (Records): Add a link to SRFI-9 records.
  (Structures): Add a link to Records.  Describe tail arrays as
  deprecated, and add a rationale and some details.
2012-07-24 23:18:33 +02:00
Noah Lavine
abd731fff7 Document (ice-9 and-let-star)
* doc/ref/srfi-modules.texi: note that (srfi srfi-2) is the same as
  (ice-9 and-let-star).
2012-07-11 12:42:12 +02:00
Andy Wingo
32299e49e8 add http/1.1 transfer codings to the NEWS
* doc/ref/web.texi (Transfer Codings): Add a note about modules.
* NEWS: Add NEWS for transfer codings.
2012-07-06 22:24:25 +02:00
Ian Price
64ead01db7 Document and export `declare-opaque-header!'
* module/web/http.scm (declare-opaque-header!): Add docstring. New export.
* doc/ref/web.texi (HTTP): Add documentation.
2012-07-06 22:18:13 +02:00
Ian Price
312e79f8d5 Add HTTP Chunked Encoding support to web modules.
* doc/ref/web.texi(Transfer Codings): New subsection for transfer codings.
* module/web/http.scm(make-chunked-input-port,
  make-chunked-output-port): New procedures.
* module/web/response.scm (read-response-body): Handle chunked responses.
* test-suite/tests/web-response.test: Add test.
* test-suite/tests/web-http.test: Add tests.

afd
2012-07-06 22:18:12 +02:00
Andy Wingo
a38da400d7 Merge remote-tracking branch 'origin/stable-2.0'
This anticipates deprecation of make-vtable-vtable in stable-2.0, which
hasn't happened yet.

Conflicts:
	libguile/deprecated.c
	libguile/deprecated.h
	libguile/print.c
	libguile/struct.c
2012-07-06 19:28:06 +02:00
Andy Wingo
d192791373 deprecate struct-vtable-tag
* libguile/deprecated.c:
* libguile/deprecated.h:
* libguile/struct.c:
* libguile/struct.h:
* doc/ref/api-compound.texi: Deprecate struct-vtable-tag.
2012-07-06 18:12:59 +02:00
Andy Wingo
2aed2667fc Merge remote-tracking branch 'origin/stable-2.0'
Conflicts:
	libguile/expand.c
	libguile/hashtab.c
	libguile/ports.c
	libguile/vectors.c
	libguile/weaks.c
	module/language/ecmascript/compile-tree-il.scm
	module/language/tree-il/effects.scm
	module/language/tree-il/fix-letrec.scm
	module/language/tree-il/peval.scm
	test-suite/tests/peval.test
2012-07-06 16:52:54 +02:00
Andy Wingo
d540a1d648 fix typo in web.texi
* doc/ref/web.texi (HTTP Headers): Fix typo in example.  Fixes
  http://bugs.gnu.org/10890.
2012-07-06 12:23:39 +02:00
Andy Wingo
e1c80e6b30 add scm_c_nvalues with docs; also, docs for scm_c_values
* libguile/values.h:
* libguile/values.c (scm_c_nvalues): New function.

* doc/ref/api-control.texi (Multiple Values): Add docs for scm_c_values
  and scm_c_nvalues.

Fixes http://bugs.gnu.org/11764.
2012-07-04 17:49:37 +02:00
Andy Wingo
467be245cb add scm_{to,from}_pointer docs
* doc/ref/api-foreign.texi: Add documentation for scm_to_pointer and
  scm_from_pointer.
2012-07-04 17:43:53 +02:00
Andy Wingo
b5f2625933 remove docs for smob-call instruction
* doc/ref/vm.texi (Trampoline Instructions): Remove docs for smob-call.
2012-07-02 23:02:20 +02:00
Andy Wingo
98aa6f5bde typo fix in web.texi
* doc/ref/web.texi (URIs): Fix a typo/thinko.
2012-07-02 23:02:20 +02:00
Ludovic Courtès
bd5dea489b doc: Remove reference to `closure?', now deprecated.
Fixed <http://bugs.gnu.org/11611>.

* doc/ref/api-procedures.texi (Procedure Properties): Remove reference
  to `closure?'.  Suggested by David Jaquay <djaquay@gmail.com>.
2012-07-02 11:00:13 +02:00
Andy Wingo
b8bc86bce1 instead of our custom .go format, use elf
* libguile/objcodes.c: Change to expect objcode on disk to be embedded
  in ELF instead of having the funky cookie.

  (to_native_order): Use already existing SCM_BYTE_ORDER style byte
  order instead of chars.
  (bytecode_to_objcode): No need for word_size arg.
  (scm_bytecode_to_objcode, scm_objcode_to_bytecode): Take optional
  endianness arg instead of sometimes using target-endianness.
  (scm_load_objcode, scm_write_objcode, scm_bytecode_to_native_objcode):
  Remove.

* libguile/objcodes.h: Adapt.

* libguile/vm.c (scm_load_compiled_with_vm): Use
  scm_load_thunk_from_file.
  (make_boot_program): Adapt to use scm_bytecode_to_objcode with
  endianness arg.

* module/Makefile.am (OBJCODE_LANG_SOURCES): Add (language objcode
  elf).
* module/language/objcode/elf.scm: New module, embeds objcode in ELF.

* module/language/bytecode/spec.scm (compile-objcode):
  (decompile-objcode): Use (target-endianness).

* module/language/objcode/spec.scm: use (language objcode elf) for
  write-objcode.

* module/scripts/disassemble.scm (disassemble):
* module/system/repl/command.scm (disassemble-file): Use
  load-thunk-from-file.

* module/system/vm/objcode.scm: Remove load-objcode and write-objcode.

* test-suite/tests/asm-to-bytecode.test (test-target): Adapt to the new
  ELF world.
2012-06-22 13:40:50 +02:00
Andy Wingo
0dd7c54075 Merge remote-tracking branch 'origin/stable-2.0'
Conflicts:
	libguile/deprecated.c
	libguile/ports.c
	libguile/ports.h
	libguile/strports.c
	test-suite/tests/cse.test
2012-06-22 13:18:02 +02:00
Ludovic Courtès
b22e94db7c Add the `%default-port-conversion-strategy' fluid.
Fixes <http://bugs.gnu.org/11468>.

* libguile/ports.c (scm_conversion_strategy): Remove.
  (default_conversion_strategy_var, sym_error, sym_substitute,
  sym_escape): New variables.
  (scm_i_get_conversion_strategy, scm_i_set_conversion_strategy_x):
  Remove.
  (scm_i_default_port_conversion_handler,
  scm_i_set_default_port_conversion_handler): New functions.
  (scm_port_conversion_strategy): Use
  `scm_i_default_port_conversion_handler' when PORT is #f.
  (scm_set_port_conversion_strategy_x): Use SYM_ERROR, SYM_SUBSTITUTE,
  and SYM_ESCAPE.  Use `scm_i_set_default_port_conversion_handler' when
  PORT is #f.
  (scm_init_ports): Initialize DEFAULT_CONVERSION_STRATEGY_VAR.

* libguile/ports.h: Update declarations accordingly.

* libguile/foreign.c: Change
  `scm_i_get_conversion_strategy (SCM_BOOL_F)' to
  `scm_i_default_port_conversion_handler ()'.
* libguile/strings.c: Likewise.

* test-suite/tests/ports.test ("%default-port-conversion-strategy"): New
  test prefix.

* test-suite/tests/foreign.test ("pointer<->string")["%default-port-conversion-strategy
  is error", "%default-port-conversion-strategy is soft"]: New tests.

* test-suite/test-suite/lib.scm (exception:encoding-error): Allow the
  regexp to match `scm_to_stringn' error messages.

* doc/ref/api-io.texi (Ports): Document `%default-port-conversion-strategy'.
2012-05-31 00:50:36 +02:00
Andy Wingo
747747ee06 Merge remote-tracking branch 'origin/stable-2.0'
This commit removes code that was newly deprecated in stable-2.0.

Conflicts:
	libguile/deprecated.c
	libguile/deprecated.h
	libguile/modules.c
	module/ice-9/boot-9.scm
	module/ice-9/deprecated.scm
2012-05-23 12:38:56 +02:00
Andy Wingo
62e15979b5 deprecate scm_sym2var
* libguile/deprecated.h:
* libguile/deprecated.c (scm_sym2var): Deprecate this function.

* libguile/modules.h:
* libguile/modules.c (scm_module_ensure_local_variable): New public
  function, replacing scm_sym2var with a true definep, without going
  through eval closures (which are deprecated).
  (scm_current_module): Rework to do something sensible before modules
  are booted.
  (scm_module_lookup, scm_lookup): Refactor to use scm_module_variable.
  (scm_module_define, scm_define): Refactor to use
  scm_module_ensure_local_variable.

* libguile/vm-i-system.c (define!): Use scm_define.

* libguile/vm.c (resolve_variable): Use scm_module_lookup.

* libguile/macros.c (scm_make_syntax_transformer): Use
  scm_module_variable.

* libguile/gdbint.c (gdb_binding): Use scm_define.

* doc/ref/api-modules.texi (Accessing Modules from C): Add docs for
  scm_module_ensure_local_variable.
2012-05-23 11:49:16 +02:00
Andy Wingo
e7501d4a68 Merge commit 'd10f7b572c'
Conflicts:
	libguile/smob.c
	libguile/smob.h
	test-suite/tests/tree-il.test
2012-04-26 22:17:47 +02:00
Ludovic Courtès
fd07759b7d Fix and clarify documentation of `sorted?'.
Fixed <http://bugs.gnu.org/11262>.
Reported by Alexei Matveev <alexei.matveev@gmail.com>.

* libguile/sort.c (scm_sorted_p): Fix and clarify docstring.
* doc/ref/api-utility.texi (Sorting): Update accordingly.
2012-04-22 14:52:43 +02:00
Andy Wingo
bc61280992 Merge remote-tracking branch 'local-2.0/stable-2.0'
Conflicts:
	configure.ac
	libguile/finalizers.c
	libguile/finalizers.h
	libguile/gc.c
	libguile/gc.h
	libguile/inline.c
	libguile/inline.h
	libguile/ports.c
	libguile/smob.c
	libguile/smob.h
	module/ice-9/deprecated.scm
	module/ice-9/r4rs.scm
2012-03-08 13:22:09 +01:00
Andy Wingo
283ab48d3f faster (make-prompt-tag); default-prompt-tag is a parameter
* module/ice-9/boot-9.scm (default-prompt-tag): Once parameters have
  booted, redefine as a parameter.
  (make-prompt-tag): Change from a gensym to a list.  Thanks to Mark
  Weaver for the suggestion.

* doc/ref/api-control.texi (Prompt Primitives): Update docs.
2012-03-07 19:02:00 +01:00
Mark H Weaver
07bc8e7c33 Remove documentation of internal static string comparison functions
* doc/ref/api-data.texi (String Comparison): Remove documentation for
  scm_i_string{,_ci}_{equal,less,leq,gr,geq}_p, which are not only
  internal functions but static, and thus unusable by external code.
2012-03-04 22:12:48 -05:00
Andy Wingo
58565208bd Merge remote-tracking branch 'local-2.0/stable-2.0'
Conflicts:
	libguile/read.c
	libguile/srcprop.c
	module/ice-9/psyntax-pp.scm
2012-02-17 10:21:50 +01:00
Mark H Weaver
38f190749d Add support for source properties on non-immediate numbers
* libguile/read.c (scm_read_number): Set source properties on
  non-immediate numbers if the 'positions' reader option is set.

* doc/ref/api-debug.texi (Source Properties): Update manual.
2012-02-15 11:47:31 -05:00
Mark H Weaver
76b9bac565 Add 'supports-source-properties?' predicate
* libguile/srcprop.c (scm_supports_source_properties_p): New procedure.
  (supports_source_props): New static C function.

* libguile/srcprop.h (scm_supports_source_properties_p): Add prototype.

* doc/ref/api-debug.texi (Source Properties): Add documentation.
2012-02-15 11:23:27 -05:00
Andy Wingo
df65503101 Merge remote-tracking branch 'origin/stable-2.0' 2012-02-15 11:43:32 +01:00
Mark H Weaver
7cc8ef6235 Fix manual: scm_foreign_to_bytevector to scm_pointer_to_bytevector
* doc/ref/api-foreign.texi (Void Pointers and Byte Access): Fix outdated
  function name: scm_foreign_to_bytevector to scm_pointer_to_bytevector.
2012-02-12 17:05:28 -05:00
Andy Wingo
12087939ed Merge remote-tracking branch 'origin/stable-2.0' 2012-02-12 13:32:56 +01:00
Andy Wingo
164a78b355 web server: do not provide a response body where it is not permitted
* module/web/response.scm (response-must-not-include-body?): New
  function.

* doc/ref/web.texi: Doc the function.

* module/web/server.scm (sanitize-response): Error if we have a body,
  but the response type does not permit a body.  If we are responding to
  a HEAD request, silently drop the body.
2012-02-12 13:29:19 +01:00