1. 10 May, 2019 1 commit
  2. 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.
      88f1bd7c
  3. 24 Mar, 2019 1 commit
  4. 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.
      6c67e00a
    • Samuel Newbold's avatar
      Don't assume ––init-file flag in rwshrc · f76d94db
      Samuel Newbold authored
      This makes #! less surprising and more useful
      Also
        * 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.
      f76d94db
  5. 09 Mar, 2019 1 commit
    • Samuel Newbold's avatar
      Semicolon divides statements outside of argfunctions · f692d832
      Samuel Newbold authored
      Also,
       *  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.
      f692d832
  6. 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
      eebd9138
  7. 16 Jan, 2019 1 commit
    • Samuel Newbold's avatar
      Argfunctions are part of prototypes · 7308a143
      Samuel Newbold authored
      Also,
       * 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.
      7308a143
  8. 13 Jan, 2019 1 commit
  9. 12 Jan, 2019 1 commit
  10. 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
      ec8c0cb0
    • Samuel Newbold's avatar
      a thrown exception triggers .failed_substitution · da07be75
      Samuel Newbold authored
      Also:
      * 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
        useful.
      * 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
        code.
      * .fork returns exit_code rather than dollar_question
      * removing several more -1 returns.
      da07be75
  11. 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
      class.
      c843b411
  12. 17 Dec, 2018 1 commit
  13. 14 Dec, 2018 1 commit
  14. 16 Nov, 2018 1 commit
  15. 14 Nov, 2018 1 commit
  16. 07 Nov, 2018 1 commit
  17. 05 Nov, 2018 1 commit
  18. 02 Nov, 2018 1 commit
  19. 31 Oct, 2018 1 commit
    • Samuel Newbold's avatar
      Prototype almost all functions, deprecate non-prototype · eb2042c2
      Samuel Newbold authored
      Also:
         * 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).
      eb2042c2
  20. 31 Jul, 2018 1 commit
    • Samuel Newbold's avatar
      Raise exceptions in .cd .which_path .function .exec .ls · c776e510
      Samuel Newbold authored
      Function not found - if the meaning of “Executable not found” is confusing to
      me, there's no reason why anybody else should understand it:
          s/rwsh.executable_not_found/rwsh.function_not_found/g
      
      Oh, and stop printing trailing whitespace in exception handlers
      c776e510
  21. 27 Jul, 2018 1 commit
  22. 23 Jul, 2018 1 commit
  23. 21 Jul, 2018 1 commit
  24. 19 Jul, 2018 1 commit
  25. 03 Jul, 2018 1 commit
  26. 28 Jun, 2018 1 commit
  27. 16 Jun, 2018 1 commit
  28. 31 Dec, 2017 1 commit
  29. 21 Dec, 2016 1 commit
  30. 14 May, 2016 1 commit
  31. 09 Apr, 2016 1 commit
  32. 06 Apr, 2016 1 commit
  33. 30 Mar, 2016 1 commit
  34. 24 Mar, 2016 1 commit
  35. 17 Mar, 2016 2 commits
  36. 06 Mar, 2016 1 commit
  37. 29 Feb, 2016 1 commit