~peterpall/maxima/+git/maxima.code:rtoy-defmfun-to-defun

Last commit made on 2018-12-01
Get this branch:
git clone -b rtoy-defmfun-to-defun https://git.launchpad.net/~peterpall/maxima/+git/maxima.code

Branch merges

Branch information

Name:
rtoy-defmfun-to-defun
Repository:
lp:~peterpall/maxima/+git/maxima.code

Recent commits

d44fdc6... by Raymond Toy <email address hidden>

Replace defmfun with defun for non-user functions

Find all uses of defmfun for functions that are not user-exposed
functions (those not starting with a $), and use defun instead.

Basically done automatically with

for f in `find src -name '*.lisp'`
do
  sed -i .bak 's;(defmfun \([^$]\);(defun \1;' $f
done

But had to define a new macro named "defun-maclisp" to support some
non-user functions that use the maclisp nargs syntax. These functions
are mformat-translate-open, mformat, map1, mmapcar, and outermap1.

Testsuite passes.

2ab797e... by PeterPall

Another entry for the ChangeLog: user-visible functions now use defmfun

3c46f56... by Raymond Toy <email address hidden>

Remove commented-out stuff

These were replaced by calls to arg-count-check so we don't need the
originals anymore.

2bf57fa... by Raymond Toy <email address hidden>

Merge branch 'master' into rtoy-verbose-wna-err

46949ce... by Raymond Toy <email address hidden>

Include defmfun-check.lisp in the lisp-only (asdf) build

This is required now to get the arg checking code.

2f75729... by Wolfgang Dautermann <email address hidden>

Windows installer: TCL released a new version

(with the same name, but an different MD5 checksum...)

736effc... by Raymond Toy <email address hidden>

Handle maclisp narg syntax even for user functions

share/tensor/itensor.lisp uses the syntax

(defmfun $defcon n ...)

This means we want to use the old maclisp narg syntax, and the defmfun
macro was expecting functions that begin with $ weren't use that.
Adjust the macro so that this is supported again.

Ran the entire test suite (including share tests) and all tests
passed. (Only tested with cmucl since the tests take a long time.)

62670cc... by Raymond Toy <email address hidden>

More informative wna-err

When possible print more information out when wna-err is called. This
requires updates to oneargcheck and twoargcheck to pass more
information to wna-err.

Also added new funtion, arg-count-check, that allows specifying the
number of required arguments.

Manually updated a few places to use arg-count-check for some
functions that have more than two required args.

The error messages mostly match what defmfun would produce, except
that we don't currently have access to the function argument names, so
we just print out the function name.

9b96428... by Raymond Toy <email address hidden>

Handle maclisp narg syntax even for user functions

share/tensor/itensor.lisp uses the syntax

(defmfun $defcon n ...)

This means we want to use the old maclisp narg syntax, and the defmfun
macro was expecting functions that begin with $ weren't use that.
Adjust the macro so that this is supported again.

Ran the entire test suite (including share tests) and all tests
passed. (Only tested with cmucl since the tests take a long time.)

ddd0275... by Wolfgang Dautermann <email address hidden>

Documentation: more incorrect ===beg=== / ===end=== markers

(spaces ("=== beg ===") are not checked in the perl script)