1. 09 May, 2019 1 commit
    • Samuel Newbold's avatar
      Selection_read outputs files in sorted order · 88f1bd7c
      Samuel Newbold authored
      ... which is almost what should happen. Better will be to output them in
      the order specified on the command line, but glob in sorted order.
      Previously the output was the order that readdir returned.
  2. 24 Mar, 2019 1 commit
  3. 17 Mar, 2019 2 commits
    • Samuel Newbold's avatar
      s/.function_all_flags/.function/g · 6c67e00a
      Samuel Newbold authored
      Almost 4 years after prototypes were introduced, and four and a half
      months after non-prototyped functions were deprecated.
    • Samuel Newbold's avatar
      Don't assume ––init-file flag in rwshrc · f76d94db
      Samuel Newbold authored
      This makes #! less surprising and more useful
        * removing the last two non-prototyped functions
        * .test_not_empty returns true when zero strings are passed and false
        when multiple strings are passed, in addition to true when the string
        is empty, and false when it has nonzero length.
  4. 09 Mar, 2019 1 commit
    • Samuel Newbold's avatar
      Semicolon divides statements outside of argfunctions · f692d832
      Samuel Newbold authored
       *  Separate errors for unclosed_brace and unclosed_parenthesis
       *  .source uses the – [argv ...] prototype
       *  command lines are no longer used as arguments to interpret
          themselves. This was a cute feature that got used several
          times in the test suite, and never anywhere else.
  5. 06 Feb, 2019 1 commit
    • Samuel Newbold's avatar
      Builtins have prototypes-> s/.bad_argc/.bad_args/g · eebd9138
      Samuel Newbold authored
      * Improved error handling while deleting 17% of builtin.cc and removing
        three quarters of the C++ throw statements.
      * (A +- B) != A iff B != 0 and (A */ B) != A iff A != 0 and B != 1
        otherwise an .epsilon exception is thrown
      * Also, added .var_multiply and * function
      * A first version of a validating ln function
  6. 16 Jan, 2019 1 commit
    • Samuel Newbold's avatar
      Argfunctions are part of prototypes · 7308a143
      Samuel Newbold authored
       * give an error for the currently unsupported fixed arguments
         (not useful until you can use them to distinguish multi-bodied
         functions and .scopes)
       * handle errors in prototype instantiation in parallel so I don't
         lose functionality in the next step.
  7. 12 Jan, 2019 1 commit
  8. 10 Jan, 2019 2 commits
    • Samuel Newbold's avatar
      Statements print output and return control flow · ec8c0cb0
      Samuel Newbold authored
      * Removed .return
      * Replaced fixed $? handling with something configurable and more useful
      * executables have void prototypes
      * fixed a bunch of out-of-date or simply incorrect comments
    • Samuel Newbold's avatar
      a thrown exception triggers .failed_substitution · da07be75
      Samuel Newbold authored
      * fixing a recently introduced bug where the statement that contained a failed
        substitution would still run.
      * the intentionally broken .failed_substitution handler is tested only where
      * test and false functions wrap /usr/bin/test and /bin/false, and throw .false
        exceptions for their return codes so that they can be used for control flow.
      * replacing the excessively precise but deprecated usleep() with the even more
        excessively precise nanosleep.
      * .store_output identifies error by a thrown exception rather than a return
      * .fork returns exit_code rather than dollar_question
      * removing several more -1 returns.
  9. 04 Jan, 2019 1 commit
    • Samuel Newbold's avatar
      if and else must be in same block · c843b411
      Samuel Newbold authored
      Also, exit handled as an exception and includes the return value for the
      shell, exceptions don't need to return -1, zero returns are not printed
      in the test suite, static members of executable moved to new call_stack
  10. 17 Dec, 2018 1 commit
  11. 14 Dec, 2018 1 commit
  12. 16 Nov, 2018 1 commit
  13. 14 Nov, 2018 1 commit
  14. 05 Nov, 2018 1 commit
  15. 02 Nov, 2018 1 commit
  16. 31 Oct, 2018 1 commit
    • Samuel Newbold's avatar
      Prototype almost all functions, deprecate non-prototype · eb2042c2
      Samuel Newbold authored
         * FIGNORE ignore patterns now start to exempt more-specific requested
           patterns: for example, if a .* is an ignore pattern @.* will still
           return all files beginning with a period. If *~ is an ignore pattern,
           then @*c~ will return all files ending with c~, but if *c~ is an ignore
           pattern, then @*~ will return all files ending with ~ that don't end
           with c~.
         * .binary is necessary to add binaries to the executable map/hash table
         * .error to write to stderror
         * .rm_executable to remove something from the hash table rather than
           defining a function without a body
         * .test_in like the "in" test in awk
         * .which_path has special handling for ./ and ../ at the beginning of the
           executable name
         * Polish Arithmetic, including a - function for subtraction and a
           / function for division
         * Numerical variables (while they last) don't ignore trailing
           non-numerical characters (e.g. $1a is different from $1)
         * More exceptions can be thrown in parallel
         * And, of course, it isn't a significant commit if there isn't a tweak
           to the internals of if-else handling. This time it was handling
           if-else calls within the condition, (specifically in an autofunction
           implicitly called by a condition).
  17. 31 Dec, 2017 1 commit
  18. 21 Dec, 2016 1 commit