1. 16 Nov, 2019 1 commit
  2. 14 Nov, 2019 2 commits
    • Robert Dodier's avatar
    • Kris Katterjohn's avatar
      Remove the special variable *PRIN1* · 4ec2c86a
      Kris Katterjohn authored
      In Maclisp and Lisp Machine Lisp there was a variable named PRIN1
      which, if non-NIL, specified a function for the toplevel REPL to call
      instead of PRIN1.  This variable did not affect the output from other
      functions that would call PRIN1 (like PRINT).
      
      When non-NIL, the value of PRIN1 was explicitly called by Macsyma for
      just one specific thing: printing trace output when the lisp_print
      trace option was set.
      
      Some time before Maxima 5.0 a PRIN1 variable was defined in commac.
      Earmuffs were put on in commit ad12e542 in 2004.
      
      Since the value of *PRIN1* has not been used by the underlying lisp
      and its value has still only been used in this one very specific
      place, I'm just removing it altogether.
      
      No problems with the test suite or share test suite.
      4ec2c86a
  3. 13 Nov, 2019 1 commit
  4. 11 Nov, 2019 1 commit
  5. 09 Nov, 2019 3 commits
    • Kris Katterjohn's avatar
      Remove unreachable code in TRANSLATE · d7cfc421
      Kris Katterjohn authored
      The final clause in a COND form was unreachable because the previous
      clauses covered the cases of FORM being either an atom or a cons.
      
      In PDP-10 Maclisp and Franz Lisp that corresponding clause was
      reachable because their hunks are neither atoms nor conses.
      
      No functional changes.
      d7cfc421
    • Kris Katterjohn's avatar
      Remove the now-unused function PUSH-AUTOLOAD-DEF · c3b1ce68
      Kris Katterjohn authored
      After commit f6fb5fb9 PUSH-AUTOLOAD-DEF is unused.  See that commit
      message for more about this function.
      
      No problems with the test suite or share test suite.
      c3b1ce68
    • Kris Katterjohn's avatar
      Remove obsolete calls to PUSH-AUTOLOAD-DEF · f6fb5fb9
      Kris Katterjohn authored
      If FOO had the AUTOLOAD property then something like
      
        (PUSH-AUTOLOAD-DEF 'FOO '(BAR BAZ ...))
      
      would construct a form to give BAR, BAZ, etc. the same AUTOLOAD
      property and it would push this form onto *PRE-TRANSL-FORMS*.
      (If FOO did not have the AUTOLOAD property anymore at the time
      the constructed form got evaluated, then the AUTOLOAD property
      on BAR, BAZ, etc. was just T instead.)
      
      The calls we've actually had to PUSH-AUTOLOAD-DEF haven't done
      anything useful because none of these symbols have the AUTOLOAD
      property anymore: MARRAYREF, MARRAYSET, $APPLY1, $APPLYB1,
      $APPLYB2, $CF and $SCANMAP.  All of these symbols did have the
      AUTOLOAD property at one time (on at least PDP-10 Macsyma).
      
      (Side note: since PUSH-AUTOLOAD-DEF was called for $APPLY1,
      $APPLYB2 and $APPLYB2, I find it strange that it was not called
      for $APPLY2.)
      
      Since none of those symbols have had the AUTOLOAD property, the
      calls to PUSH-AUTOLOAD-DEF would just return NIL without doing
      anything else.
      
      No functional changes.
      f6fb5fb9
  6. 08 Nov, 2019 1 commit
    • Kris Katterjohn's avatar
      Fix bogus translations of apply2 and applyb2 · e108f3d4
      Kris Katterjohn authored
      apply2 and applyb2 used to use a special variable *RULELIST to pass
      data to APPLY2 and APPLY2HACK, respectively.  Commit 23d46f5a from
      2013 attempted to eliminate this special variable by passing an
      extra argument to APPLY2 and APPLY2HACK instead; however, the
      translations of apply2 and applyb2 were never updated.
      
      A translated apply2 would still bind *RULELIST and then call APPLY2
      with the wrong number of arguments.
      
      A translated applyb2 would also still bind *RULELIST and then call
      APPLY2HACK with the wrong number of arguments -- but that's not all.
      APPLY2HACK returns a cons whose car is the value to return from
      applyb2 and whose cdr is an integer (the value APPLY2HACK compares
      to maxapplyheight).  A translated applyb2 would actually just return
      the cons itself, and various parts of Maxima (like SIMPLIFYA) would
      choke on this.
      
      Besides trivial downcasing and whitespace changes, the translations
      of apply2 and applyb2 haven't changed in decades.  So while the
      translation of apply2 has only been broken since 2013, it appears
      that the translation of applyb2 has always been broken.  I can't find
      any evidence that applyb2 was ever translated correctly before now.
      e108f3d4
  7. 06 Nov, 2019 1 commit
    • Kris Katterjohn's avatar
      Remove a superfluous test in ALIAS · ea087895
      Kris Katterjohn authored
      After commit 270ba62c in 2009, which fixed bug #464, there was a
      superfluous test before signalling an error.  The (NOT (EQ X Y))
      test was always true at that point because (EQ X Y) is the test
      form for the previous COND clause.
      
      I noticed this, but Stavros Macrakis actually mentioned this in
      his initial report of bug #464 in 2003.
      
      No functional changes.
      ea087895
  8. 02 Nov, 2019 3 commits
  9. 01 Nov, 2019 2 commits
  10. 29 Oct, 2019 2 commits
  11. 28 Oct, 2019 2 commits
  12. 27 Oct, 2019 8 commits
  13. 26 Oct, 2019 6 commits
    • Kris Katterjohn's avatar
      Remove the BAK-TOP-FORM macro · 1e780bf7
      Kris Katterjohn authored
      The BAK-TOP-FORM macro seemed to first appear in Maxima 5.4beta1
      (circa 1998).  It's just an identity macro and that's only used
      a couple of times in src/mdebug.lisp.
      
      No functional changes.
      
      No problems with the test suite or share test suite.
      1e780bf7
    • Kris Katterjohn's avatar
      Remove the special variable *BAKTRCL* and the function bt · 39f9232a
      Kris Katterjohn authored
      BAKTRCL (now *BAKTRCL*) was originally a (lisp) list that kept some
      backtrace information in Macsyma.  Its default value was NIL and it
      was bound in MEVAL* and MEVAL1.  When DEBUG (now *MDEBUG*) was set
      to all, MEVAL1 would push certain forms it was evaluating onto
      BAKTRCL.  In ERRBREAK, which was an ERRSET handler, a variable named
      backtrace was set to a (Maxima) list containing the elements of
      BAKTRCL.
      
      This remained the same through Maxima 5.2 (circa 1995).  In Maxima
      5.4beta1 (circa 1998) src/mdebug.lisp appeared.  A function named bt
      was present which could be used to print some backtrace information
      held in BAKTRCL, although it seemed to be a work in progress.  Either
      way, the code in MEVAL1 to push onto BAKTRCL was also commented out
      and so BAKTRCL was always NIL anyway.
      
      The commented-out code in MEVAL1 was removed in commit 66a62cf7 in
      2007 and BAKTRCL was renamed *BAKTRCL* in commit f4931e42 in 2009.
      Since then, *BAKTRCL* still gets bound in MEVAL* and MEVAL1 but it
      is always NIL.
      
      The function bt is undocumented and unused in src and share.  It
      always just returns NIL since *BAKTRCL* is always NIL.
      
      No problems with the test suite or share test suite.
      39f9232a
    • Robert Dodier's avatar
    • Robert Dodier's avatar
      In simplify_sum, avoid double-counting -min_ni term in to_hypergeometric. · 0e34c4bb
      Robert Dodier authored
      Fixes SF bug report #3521: "simplify_sum(sum(binomial(1,n),n,0,inf)) gives 3 instead of 2"
      0e34c4bb
    • Kris Katterjohn's avatar
      Remove the function LISP-FCN-TYPEP and use GET instead · f9c56df1
      Kris Katterjohn authored
      This function just calls GET with its arguments.  There used to be
      a read-time conditional to implement this function differently on
      Lisp Machines.  The conditional was removed in commit d72823ee in
      2007.
      
      No functional changes.
      f9c56df1
    • Kris Katterjohn's avatar
      Rewrite TRANSLATE-AND-EVAL-MACSYMA-EXPRESSION for clarity · ef452f15
      Kris Katterjohn authored
      The comment stated that the code was written the way it was so that
      TRANSLATOR-EVAL and TRANSLATE-MACEXPR-TOPLEVEL could still be traced
      when PURE was set to NIL.  PURE was a (PDP-10 only) Maclisp variable
      which was related to read-only memory and UUO links.  See commit
      47dcc8a0 for a little more on UUO links and how they're related to
      tracing.
      
      Also fix an incorrect comment in this function.
      
      No functional changes.
      ef452f15
  14. 24 Oct, 2019 1 commit
  15. 23 Oct, 2019 1 commit
  16. 22 Oct, 2019 2 commits
  17. 20 Oct, 2019 3 commits