~peterpall/maxima/+git/maxima.code:rtoy-defmfun-keyword-args

Last commit made on 2020-04-11
Get this branch:
git clone -b rtoy-defmfun-keyword-args https://git.launchpad.net/~peterpall/maxima/+git/maxima.code

Branch merges

Branch information

Name:
rtoy-defmfun-keyword-args
Repository:
lp:~peterpall/maxima/+git/maxima.code

Recent commits

491d71e... by Raymond Toy <email address hidden>

Convert run_testsuite to use defmfun.

Straighforward change to rename run-testsuite as $run_testsuite using
defmfun. Get rid of the original $run_testsuite which basically just
called run-testsuite anyway.

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

Use defmfun instead of defun-checked

The dlsode functions don't do anything really special, so we can just
replace defun-checked with defmfun.

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

Merge branch 'master' into rtoy-defmfun-keyword-args

78ae6da... by Raymond Toy <email address hidden>

Remove old defun-checked code

We had already commented thme out, so let's remove them now.

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

Change how functions with keywords is printed

For

(defmfun $foobar7 (a b &key (c 42) d)
  (list '(mlist) a b c d))

we now print the function out like

foobar7(a, b, c = 42, d = false)

8a84286... by Raymond Toy <email address hidden>

Better messages for bad keywords

Define defmfun-keywords that is the same as
lispify-maxima-keyword-options but the error messages include the
pretty name of the function. Makes it a little easier to tell why the
keyword arg is wrong.

13da7c7... by Raymond Toy <email address hidden>

Include keyword args when printing out function

Error messages will include the names of the keyword args. If there's
a default value, the default value is printed. Otherwise, a generic
"val<n>" is printed out. Thus, you get something like

foo(a, b, [c = 99, d = val2])

Can't think of a better way to print out d=val2. "d=" is confusing.
Maybe a short gensym? Leave it as is for now.

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

Remove the wrapper interface function

Remove the maxima wrapper and directly call the main function, which
is defined using defmfun.

7ad0ffb... by Raymond Toy <email address hidden>

Support &allow-other-keys and print more informative name

Support &allow-other-keys so that we don't throw errors if other keys
are given; they're just silently ignored.

For functions with keyword args, the pretty function name will include
the names of the keyword args. Thus,

  (defmfun $foo (a &key b c) ...)

has a printed name of

  foo(a, [b = val1, c = val2])

0280a57... by kjak

Add a change log entry for the recent log and sqrt translation fix