6 Commits 3bfadba5ba ... 145e31ebac

Author SHA1 Message Date
  Eric Bavier 145e31ebac dist: Release version 1.0.1. 4 years ago
  Eric Bavier 51eee0ff19 dist: Fix distcheck with V=1. 4 years ago
  Eric Bavier f64b4108ca dist: doc: Ensure fdl texi is distributed. 4 years ago
  Eric Bavier e56df32eda doc: Fix compilation with recent texinfo. 4 years ago
  Eric Bavier af536c36e1 build: Remove generated tests/package.m4 from version control. 4 years ago
  Eric Bavier 0d61cd5c17 joy: Minor adjustments to support Guile 3.x. 4 years ago
10 changed files with 62 additions and 30 deletions
  1. 1 0
      .gitignore
  2. 27 0
      ChangeLog
  3. 3 3
      Makefile.am
  4. 6 0
      NEWS
  5. 3 5
      README
  6. 5 6
      configure.ac
  7. 2 1
      doc.am
  8. 11 12
      doc/joy.texi
  9. 4 3
      language/joy/compile-tree-il.scm
  10. 0 0
      tests.am

+ 1 - 0
.gitignore

@@ -10,3 +10,4 @@ testsuite
 doc/joy.info
 doc/version.texi
 doc/stamp-vti
+tests/package.m4

+ 27 - 0
ChangeLog

@@ -1,3 +1,30 @@
+2020-03-19  Eric Bavier  <bavier@member.fsf.org>
+
+	dist: Fix distcheck with V=1.
+	* Makefile.am (.scm.go)[AM_V_P]: Fix stdout redirection.
+
+	dist: Ensure fdl texi is distributed.
+	* doc.am (doc_joy_TEXINFOS): New variable.
+
+	doc: Fix compilation with recent texinfo.
+	* doc/joy.texi (Primitives)<exit>: Remove "bottom" indication, which
+	is intended to signify a sort of "null" result, but does not render
+	well in either .texi or .tex.
+	(Forth Aliases)<within, within?>: Use '@leq' and '<' rather than
+	@math.
+
+	build: Remove generated tests/package.m4 from version control.
+	* tests/package.m4: Delete file.
+	* .gitignore: Add it.
+	* tests.am (EXTRA_DIST): Remove it
+	(testsuite): Add dependency on package.m4
+
+	joy: Minor adjustments to support Guile 3.x.
+	* configure.ac: Add "3.0" to arguments for GUILE_PKG.  Adjust error
+	message for missing "guild".  Remove unnecessary AC_CONFIG_MACRO_DIR.
+	* language/joy/compile-tree-il.scm (call): Adjust version check to
+	achieve a true ">= 2.2".
+
 2018-02-10  Eric Bavier  <bavier@member.fsf.org>
 
 	joy: Support concatenating scripts and stack initialization.

+ 3 - 3
Makefile.am

@@ -1,5 +1,5 @@
 # Joy -- implementation of the Joy programming language
-# Copyright © 2016, 2017 Eric Bavier <bavier@member.fsf.org>
+# Copyright © 2016, 2017, 2020 Eric Bavier <bavier@member.fsf.org>
 #
 # Joy is free software; you can redistribute it and/or modify it under
 # the terms of the GNU General Public License as published by the Free
@@ -48,12 +48,12 @@ GUILD_COMPILE_FLAGS =				\
 .scm.go:
 	$(AM_V_GUILEC)$(MKDIR_P) `dirname $@`;				\
 	unset GUILE_LOAD_COMPILED_PATH ;				\
-	$(AM_V_P) && stdout="&1" || stdout="/dev/null";			\
+	$(AM_V_P) || exec >/dev/null;					\
 	LC_ALL=C							\
 	$(top_builddir)/pre-inst-env					\
 	$(GUILD) compile -L "$(top_builddir)" -L "$(top_srcdir)"	\
 	  $(GUILD_COMPILE_FLAGS) --target="$(host)"			\
-	  -o "$@" "$<" >$$stdout
+	  -o "$@" "$<"
 
 SUFFIXES = .go
 

+ 6 - 0
NEWS

@@ -1,3 +1,9 @@
+# News for version 1.0.1
+
+This release contains a couple fixes to support use with Guile 3.0,
+and a few other minor bug-fixes.
+
+
 # News for version 1.0.0
 
 First official release!

+ 3 - 5
README

@@ -2,14 +2,12 @@ Joy is an implementation of the purely functional, concatenative
 programming language originally invented by Manfred Thun.  It is
 implemented using Guile’s multi-language support.
 
-Requirements
-------------
+## Requirements
 
-  - GNU Guile 2.2.x or 2.0.x
+  - GNU Guile 2.0.x or later
   - GNU Make
 
-Installation
-------------
+## Installation
 
 See `INSTALL` for installation instructions.  Joy follows the GNU
 Coding Standards.

+ 5 - 6
configure.ac

@@ -1,5 +1,5 @@
 # Joy -- implementation of the Joy programming language
-# Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
+# Copyright © 2016, 2020 Eric Bavier <bavier@member.fsf.org>
 #
 # Joy is free software; you can redistribute it and/or modify it under
 # the terms of the GNU General Public License as published by the Free
@@ -15,8 +15,8 @@
 # along with Joy.  If not, see <http://www.gnu.org/licenses/>.
 
 AC_PREREQ(2.68)
-AC_INIT([Joy], [1.0.0], [bavier@member.fsf.org], [joy],
-  [http://www.nahne.info/joy])
+AC_INIT([Joy], [1.0.1], [bavier@member.fsf.org], [joy],
+  [http://notabug.org/bavier/joy-in-the-morning])
 AC_CONFIG_AUX_DIR([build-aux])
 
 dnl Use -Wno-portability for custom silent rules
@@ -26,17 +26,16 @@ AM_INIT_AUTOMAKE([1.12 gnu silent-rules subdir-objects \
 # Enable silent rules by default.
 AM_SILENT_RULES([yes])
 
-AC_CONFIG_MACRO_DIR([m4])
 AC_CONFIG_TESTDIR([tests],[scripts])
 
 AC_CANONICAL_HOST
 
 dnl Search for 'guile' and 'guild'.  This macro defines
 dnl 'GUILE_EFFECTIVE_VERSION'.
-GUILE_PKG([2.2 2.0])
+GUILE_PKG([3.0 2.2 2.0])
 GUILE_PROGS
 if test "x$GUILD" = "x"; then
-   AC_MSG_ERROR(['guild' binary not found; please check your guile-2.x installation.])
+   AC_MSG_ERROR(['guild' binary not found; please check your guile installation.])
 fi
 dnl Installation directories for .scm and .go files.
 guilemoduledir="${datarootdir}/guile/site/$GUILE_EFFECTIVE_VERSION"

+ 2 - 1
doc.am

@@ -1,5 +1,5 @@
 # Joy -- implementation of the Joy programming language
-# Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
+# Copyright © 2016, 2020 Eric Bavier <bavier@member.fsf.org>
 #
 # Joy is free software; you can redistribute it and/or modify it under
 # the terms of the GNU General Public License as published by the Free
@@ -15,3 +15,4 @@
 # along with Joy.  If not, see <http://www.gnu.org/licenses/>.
 
 info_TEXINFOS = doc/joy.texi
+doc_joy_TEXINFOS = doc/fdl-1.3.texi

+ 11 - 12
doc/joy.texi

@@ -10,7 +10,7 @@
 @include version.texi
 
 @copying
-Copyright @copyright{} 2016, 2017, 2018 Eric Bavier
+Copyright @copyright{} 2016, 2017, 2018, 2020 Eric Bavier
 
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -70,11 +70,10 @@ mostly compatible, except for the notable lack of support for ``sets''.
 @node Installation
 @chapter Installation
 
-Joy is available for download from its website at
-@url{http://nahne.info/joy}.  Building Joy from source uses the same
-build procedure as that for GNU software.  See the files @file{README}
-and @file{INSTALL} in the source tree for additional details.  It
-requires @url{http://gnu.org/software/guile/, GNU Guile}.
+Installing Joy from source uses the same build procedure as that for GNU
+software.  See the files @file{README} and @file{INSTALL} in the source
+tree for additional details.  It requires
+@url{http://gnu.org/software/guile/, GNU Guile}.
 
 After building Joy successfully, it is a good idea to run the test
 suite.  Reporting any failures is a good way to help improve the
@@ -410,14 +409,14 @@ found, this file will be compiled and executed.  Typically files
 included with this operator contain only operator definitions.
 @end deffn
 
-@deffn {Joy Operator} exit A @result{} @math{\perp}
+@deffn {Joy Operator} exit A @result{}
 This operator expects an integer as the topmost stack element.
 Immediately stops execution and exits with the integer status at the
 top of the stack.
 
 @example
 [1 2 >] ["success" putchars] [1 exit] ifte .
-@result{} @math{\perp}
+@result{}
 @end example
 @end deffn
 
@@ -718,13 +717,13 @@ This is an alias for @code{divmod}.
 @end deffn
 
 @deffn {Joy Operator} within X Y Z @result{} t/f
-Pushes @code{true} onto the stack if the integer inequality @math{Y
-\le X \lt Z} holds, otherwise @code{false}.
+Pushes @code{true} onto the stack if the integer inequality @var{Y}
+@leq{} @var{X} < @var{Z} holds, otherwise @code{false}.
 @end deffn
 
 @deffn {Joy Operator} within? X Y Z @result{} t/f
-Pushes @code{true} onto the stack if the integer inequality @math{Y
-\le X \le Z} holds, otherwise @code{false}.
+Pushes @code{true} onto the stack if the integer inequality @var{Y}
+@leq{} @var{X} @leq{} @var{Z} holds, otherwise @code{false}.
 @end deffn
 
 @deffn {Joy Operator} cr A @result{} A

+ 4 - 3
language/joy/compile-tree-il.scm

@@ -1,5 +1,5 @@
 ;;; compile-tree-il.scm -- compile Joy to tree-il.
-;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2016, 2020 Eric Bavier <bavier@member.fsf.org>
 ;;;
 ;;; Joy is free software; you can redistribute it and/or modify it under
 ;;; the terms of the GNU General Public License as published by the Free
@@ -23,8 +23,9 @@
 ;;; Guile 2.2 changed the external representation for a procedure call
 ;;; from 'apply' to 'call'.
 (define call
-  (if (and (>= (string->number (major-version)) 2)
-           (>= (string->number (minor-version)) 2))
+  (if (or (> (string->number (major-version)) 2)
+          (and (= (string->number (major-version)) 2)
+               (>= (string->number (minor-version)) 2)))
       'call
       'apply))
 

+ 0 - 0
tests.am


Some files were not shown because too many files changed in this diff