summaryrefslogtreecommitdiff
path: root/doc
AgeCommit message (Collapse)AuthorFilesLines
2020-03-22Interpret dynamic library name as literal file name first.Isaac Jurado1-5/+8
Fixes <https://bugs.gnu.org/21076>. * libguile/dynl.c (sysdep_dyn_link): Try plain lt_dlopen first, to interpret fname as a literal path. * doc/ref/api-foreign.texi: Update explanation to describe the new behavior. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2020-03-11doc: Fix typo in api-debug.texi.Jan Synacek1-1/+1
* doc/ref/api-debug.texi (Debugging): Fix typo. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-02-11Reintroduce 'SCM_MEMORY_ERROR' in terms of 'scm_report_out_of_memory'.Ludovic Courtès1-1/+1
Suggested by Dale P. Smith <dsmich@roadrunner.com>. * libguile/deprecated.h (SCM_MEMORY_ERROR): New macro. * doc/ref/api-control.texi (Dynamic Wind): Use 'scm_report_out_of_memory'.
2020-02-10Remove traces of 'scm_memory_error'.Ludovic Courtès2-3/+1
'scm_memory_error' was deprecated in 2014 in commit c2247b782a9234bb9aedee5204c30daf1d01a510 and removed in 2017 in commit c248ea10beb2afa4c113dbc6dc707bed5dbfc92e. This is a followup. * libguile/error.h (SCM_MEMORY_ERROR): Remove. * doc/guile-api.alist: Remove 'scm_memory_error'. * doc/ref/api-control.texi (Handling Errors): Likewise. (Dynamic Wind): Use 'scm_misc_error' instead of 'scm_memory_error'.
2020-01-29texinfo: Add '*line-width*' fluid to control line wrapping.Ludovic Courtès1-1/+7
* module/texinfo/plain-text.scm (*line-width*): New variable. (wrap*): Honor it. * doc/ref/texinfo.texi (texinfo plain-text): Document it. * test-suite/tests/texinfo.plain-text.test: New file. * test-suite/Makefile.am (SCM_TESTS): Add it.
2020-01-24Clarify open-input-pipe example in docDaniel Llorens1-1/+1
2020-01-20doc: Use gender-neutral language in Prefaceshack@muto.ca1-1/+1
* doc/ref/preface.texi: Avoid gendered pronoun. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-01-15Update release.orgAndy Wingo1-15/+15
* doc/release.org: Update for 3.0
2020-01-13Wording tweak to history.texiAndy Wingo1-1/+1
* doc/ref/history.texi (A Scheme of Many Maintainers): Fix wording.
2020-01-13Mention Mark Weaver in Guile history sectionAndy Wingo1-5/+8
* doc/ref/history.texi (A Scheme of Many Maintainers): Credit to Mark for co-maintaining Guile for more than 5 years. Thanks!!
2020-01-13web: 'open-socket-for-uri' can verify the server's X.509 certificate.Ludovic Courtès1-2/+65
This is largely based on Guix commit bc3c41ce36349ed4ec758c70b48a7059e363043a and subsequent changes to that code. * module/web/client.scm (x509-certificate-directory): New variable. (set-certificate-credentials-x509-trust-file!*) (make-credendials-with-ca-trust-files, peer-certificate) (assert-valid-server-certificate, print-tls-certificate-error): New procedures. <top level>: Add call to 'set-exception-printer!'. (tls-wrap): Add #:verify-certificate? parameter. When it is true, call 'make-credendials-with-ca-trust-files', pass it to 'set-session-credentials!', and call 'assert-valid-server-certificate'. (open-socket-for-uri): Add #:verify-certificate? parameter and pass it to 'tls-wrap'. (http-request): Add #:verify-certificate? parameter and pass it to 'open-socket-for-uri'. (define-http-verb): Add #:verify-certificate? parameter and pass it to 'http-request'. * doc/ref/web.texi (Web Client): Update documentation of 'open-socket-for-uri' and 'http-request'. Document 'x509-certificate-directory'.
2020-01-13web: Add 'current-https-proxy' and honor $https_proxy.Ludovic Courtès1-3/+4
* module/web/client.scm (current-https-proxy): New variable. (setup-http-tunnel): New procedure. (open-socket-for-uri): Move 'http-proxy', 'uri', and 'addresses' inside 'open-socket'. Remove 'with-https-proxy' macro. Add call to 'setup-http-tunnel'. Honor 'current-https-proxy' in 'open-socket'. * doc/ref/web.texi (Web Client): Document 'current-https-proxy'. * doc/ref/guile.texi: Update copyright years. Based on Guix commit 9bc8175cfa6b23c31f6c43531377d266456e430e. Co-authored-by: Sou Bunnbu (宋文武) <iyzsong@gmail.com>
2020-01-13Bump manual year, and fix NEWS typoAndy Wingo1-1/+1
* NEWS: Fix a typo. * doc/ref/guile.texi: Bump copyright year.
2020-01-12Optionally allow duplicate field names in core recordsAndy Wingo1-8/+16
* NEWS: Update. * doc/ref/api-data.texi (Records): Update docs. * module/ice-9/boot-9.scm (make-record-type): Add #:allow-duplicate-field-names? keyword argument. (record-accessor, record-modifier): Allow passing indexes to identify fields. * module/rnrs/records/procedural.scm (make-record-type-descriptor): Allow duplicate field names. Fixes #38611.
2020-01-06Mention WebAssembly in status sectionAndy Wingo1-6/+14
* doc/ref/history.texi (Status): Add mention of WebAssembly.
2020-01-06Update compiler.texi and history.texiAndy Wingo2-17/+12
* doc/ref/compiler.texi (Extending the Compiler): * doc/ref/history.texi (A Timeline of Selected Guile Releases): (Status): Update. Thanks to Mikael Djurfeldt for the bug report.
2020-01-06New function string-replace-substring in (ice-9 string-fun)Daniel Llorens1-0/+16
By A. Wingo in https://lists.gnu.org/archive/html/guile-devel/2014-03/msg00058.html. * module/ice-9/string-fun.scm (string-replace-substring): As stated. * doc/ref/api-data.texi: Document the new function. * test-suite/tests/strings.test: Test.
2019-12-11Document JIT environment variablesAndy Wingo2-18/+35
* doc/ref/guile-invoke.texi (Environment Variables): Remove GUILE_STACK_SIZE which is no longer needed, and document some JIT debugging environment variables. * doc/ref/vm.texi (Why a VM?, Just-In-Time Native Code): Update and link to environment variables documentation.
2019-12-02Add --r6rs and --r7rs options to "guild compile"Andy Wingo1-0/+6
* module/scripts/compile.scm (%options, compile): Add --r6rs and --r7rs options. * doc/ref/api-evaluation.texi (Compilation): Add docs.
2019-12-02Add guile-3, r6rs, r7rs cond-expand featuresAndy Wingo1-3/+7
* module/ice-9/boot-9.scm (%cond-expand-features): Add new features. * doc/ref/srfi-modules.texi (SRFI-0): Document new features.
2019-11-29Associate #:replace info with modules, not variablesAndy Wingo1-0/+5
* doc/ref/api-modules.texi (Creating Guile Modules): Document #:re-export-and-replace. * module/ice-9/boot-9.scm (module-replacements): New module field. (make-module, make-autoload-interface): Initialize replacements to an empty hash table. (resolve-interface): Propagate replacement info when making custom interfaces. (define-module): Parse a #:re-export-and-replace keyword arg. (define-module*): Handle #:re-export-and-replace. (module-export!, module-re-export!): Add a keyword arg to indicate whether to replace or not. (module-replace!): Call module-export! with #:replace? #t. (duplicate-handlers): Update replace duplicate handler to look for replacement info on the interfaces. * module/srfi/srfi-18.scm (srfi): * module/srfi/srfi-34.scm (srfi): Update to #:re-export-and-replace raise-continuable as raise.
2019-11-25Fix port-position documentationAndy Wingo1-2/+2
* doc/ref/r6rs.texi (rnrs io ports): Update the translation for port-position.
2019-11-22Fix texinfo in r7rs.texiAndy Wingo1-2/+2
* doc/ref/r7rs.texi (R7RS Standard Libraries): Fix syntax.
2019-11-21Install exception converters and printers from boot-9Andy Wingo1-1/+1
* doc/ref/intro.texi (Guile and Scheme): Fix a date. * module/ice-9/boot-9.scm: Load (ice-9 exceptions).
2019-11-17Add R7RS documentation and --r7rs command-line optionwip-r7rsAndy Wingo7-28/+195
* doc/ref/Makefile.am: Add r7rs.texi. * doc/ref/guile-invoke.texi (Command-line Options): Document --r7rs. * doc/ref/guile.texi (Guile Modules): Link to R7RS. * doc/ref/intro.texi (Guile and Scheme): Update for R7RS support. * doc/ref/r7rs.texi: New file. * doc/ref/scheme-intro.texi (Guile Scheme): Update for R7RS. * module/ice-9/command-line.scm (*usage*, compile-shell-switches): Add --r7rs option.
2019-11-14Update NEWS for records and exceptions workwip-exceptionsAndy Wingo1-2/+2
* NEWS: Update. * doc/ref/api-data.texi (Records): Fix a typo.
2019-11-13Update documentation for with-exception-handler et alAndy Wingo5-596/+631
* doc/ref/api-control.texi (Prompt Primitives): Reference the newer exception facilities. (Exceptions): Rewrite to use the new exception primitives. (Exception Terminology): Remove superfluous section. (Exception Objects): New section. (Raising and Handling Exceptions): New section. (Throw and Catch): New section, coalescing the previous catch, with-throw-handler, and throw sections. (Exceptions and C): New section, for miscellaneous procedures. (Handling Errors): Mention the transitional period regarding exception handling. * doc/ref/api-debug.texi (Catching Exceptions): Rewrite to use newer exception facilities. (Capturing Stacks): Remove, as it's not really recommendable any more. (Pre-Unwind Debugging): Rewrite to use the new primitives. (Standard Error Handling): Add note about transitional status. (Stack Overflow): Reference new exception section. * doc/ref/api-scheduling.texi (Mutexes and Condition Variables): Reference new exception section. * doc/ref/r6rs.texi (rnrs exceptions, rnrs conditions): Update to mention compatibility with SRFI-34/35 and to relate to core exceptions. * doc/ref/srfi-modules.texi (SRFI-34): Document.
2019-10-28Add support for immutable fields in core recordsAndy Wingo1-2/+9
* module/ice-9/boot-9.scm (make-record-type): Allow (mutable NAME) or (immutable NAME) as a field name, and record field mutability in a bitfield. (record-modifier): Throw an error if the field isn't mutable. * test-suite/tests/records.test ("records"): Add tests. * doc/ref/api-data.texi (Records): Update.
2019-10-27Rename final? record type flag; add support for opaque?Andy Wingo1-5/+14
* module/ice-9/boot-9.scm (record-type-extensible?): Rename from record-type-final?, with the opposite sense. (record-type-opaque?): New accessor. (make-record-type): Change #:final? to #:extensible?, with the opposite meaning. Add #:opaque? arg. * test-suite/tests/records.test ("records"): Add opaque tests; update extensible tests. * doc/ref/api-data.texi (Records): Update. * module/srfi/srfi-35.scm (&condition, make-condition-type): Update for make-record-type API change.
2019-10-27Guile `make-record-type' supports non-generative definitionAndy Wingo1-1/+13
* module/ice-9/boot-9.scm (prefab-record-types): New definition. (make-record-type): Add #:uid keyword. * test-suite/tests/records.test ("records"): Add tests. * doc/ref/api-data.texi (Records): Document #:uid
2019-10-22Record accessors respect subtypingAndy Wingo1-11/+17
* module/ice-9/boot-9.scm (make-record-type): Don't allow subtyping of final types. (%record-type-error): Remove helper. (record-accessor, record-modifier): Use computed record type predicate, to allow for subtyping. (define-record-type): Adapt to %record-type-error going away; these types are final so no accessor adaptation is needed. * test-suite/tests/records.test: Add tests. * doc/ref/api-data.texi (Records): Update.
2019-09-27Fix doc syntax errorAndy Wingo1-1/+1
* doc/ref/r6rs.texi (R6RS Incompatibilities): Fix syntax error.
2019-09-27Better R6RS compatibilityAndy Wingo1-0/+5
* module/ice-9/boot-9.scm (install-r6rs!): Also enable `hungry-eol-escapes'. * doc/ref/r6rs.texi (R6RS Incompatibilities): Document lack of unicode escapes in symbols.
2019-09-25Add --r6rs command-line optionAndy Wingo2-2/+11
* doc/ref/guile-invoke.texi (Command-line Options): Document --r6rs. * doc/ref/r6rs.texi (R6RS Incompatibilities): Mention that --r6rs calls install-r6rs!. * module/ice-9/command-line.scm (*usage*, compile-shell-switches): Implement --r6rs.
2019-09-25New function: install-r6rs!Andy Wingo1-0/+13
* doc/ref/r6rs.texi (R6RS Incompatibilities): Document install-r6rs!. * module/ice-9/boot-9.scm (install-r6rs!): New function.
2019-09-19Add documentation for else, =>, _, ... aux syntaxAndy Wingo1-0/+20
* doc/ref/api-macros.texi (Syntax Rules): Document aux syntax.
2019-09-12Use "G_" as the conventional alias for gettextAndy Wingo1-7/+12
Since the change in 2.2 noted in the NEWS as "Fix literal matching for module-bound literals", defining `_' makes `syntax-rules' and `match' fail to recognize `_' as the catch-all literal. This change adapts the recommendations to current practice in 2.2, as users have had to adapt to this change. * doc/ref/api-i18n.texi (Gettext Support): Update documentation. * module/language/tree-il/analyze.scm (proc-ref?, gettext?): G_ is the conventional abbreviation, not _. * test-suite/tests/tree-il.test: Adapt. * module/ice-9/command-line.scm: Use G_ instead of _.
2019-08-25Update documentation for mixed definitions and expressionsAndy Wingo2-23/+42
* NEWS: Update. * doc/ref/api-binding.texi (Internal Definitions): Update to mention that mixed definitions and expressions are allowed. * doc/ref/scheme-ideas.texi (Creating a Procedure): (Lambda Alternatives): Update documentation to avoid implying that bodies are only expressions.
2019-08-25Letrectify only on -O2; update docsAndy Wingo2-5/+90
* doc/ref/api-evaluation.texi (Compilation): Document the -O options. * doc/ref/api-modules.texi (Using Guile Modules): @@ docs refer to declarative modules. (Creating Guile Modules): Use when for 1-armed if. (Declarative Modules): Make implications of declarative bindings more explicit, and explicitly document ways to disable the optimization. * module/language/tree-il/optimize.scm (tree-il-optimizations): Punt letrectification to -O2.
2019-08-18Add notion of declarative modulesAndy Wingo1-1/+65
* doc/ref/api-modules.texi (Declarative Modules): New subsection. * module/ice-9/boot-9.scm (module): Change eval-closure slot, which was deprecated and unused, to be a "declarative?" slot, indicating that definitions from the module are declarative. (user-modules-declarative?): New parameter. (make-fresh-user-module): Set declarative according to parameter. (define-module*, define-module): Add #:declarative? keyword argument, defaulting to the value of user-modules-declarative? parameter when the module was expanded. (guile-user): This module is not declarative. * module/language/tree-il/letrectify.scm (compute-declarative-toplevels): Use the new declarative? module flag.
2019-08-02Merge from stable-2.2Andy Wingo1-2/+8
2019-08-02Merge from stable-2.2Andy Wingo2-3/+3
2019-08-02Merge from stable-2.2Andy Wingo2-27/+3
2019-08-02Merge from stable-2.2Andy Wingo1-4/+17
2019-08-02Merge from stable-2.2Andy Wingo1-1/+9
2019-06-30doc: Document optional parameter of 'stat'.Ludovic Courtès1-2/+8
Fixes <https://bugs.gnu.org/34860>. Reported by Tim Gesthuizen <tim.gesthuizen@yahoo.de>. * doc/ref/posix.texi (File System): Document 'exception_on_error' parameter of 'stat'.
2019-06-24doc: Fix argument list in match-lambda docsPaul Morris1-2/+2
* doc/ref/match.texi: Fix argument list for match-lambda. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-06-24doc: Fix minor typo in the HTTP headers documentation.Arun Isaac1-1/+1
* doc/ref/web.texi (HTTP Headers): Fix minor typo. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-06-24Remove references to 'inet-ntoa' and 'inet-aton'.Ludovic Courtès2-27/+3
These procedures were removed in Guile 2.2 by commit fc7bd367ab4b5027a7f80686b1e229c62e43c90b (May 2011). * libguile/socket.h (scm_inet_aton, scm_inet_ntoa): Remove. * module/system/repl/server.scm (make-tcp-server-socket): Use 'inet-pton' instead of 'inet-aton'. * doc/ref/web.texi (HTTP): Likewise in 'declare-header!' example. * doc/ref/posix.texi (Network Address Conversion): Remove documentation of 'inet-ntoa' and 'inet-aton'.
2019-06-18Fix documentation of R6RS 'binary-port?' to reflect reality.Mark H Weaver1-4/+17
* doc/ref/r6rs.texi (rnrs io ports): Improve the descriptions of 'binary-port?' and 'textual-port?'. * module/rnrs/io/ports.scm (binary-port?, textual-port?): Update the docstrings.