• Create javascript version of baja classic shell.

    From Eric Oulashin@1:103/705 to GitLab note in main/sbbs on Monday, February 27, 2023 15:00:56
    https://gitlab.synchro.net/main/sbbs/-/issues/526#note_3299

    It would be helpful to understand why classic_shell.js says this near the top://# It also serves as an example of how to not write a complex command shell//# using JavaScript. Seriously. Don't look at this.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to GitLab note in main/sbbs on Monday, February 27, 2023 15:18:12
    https://gitlab.synchro.net/main/sbbs/-/issues/526#note_3300

    The author (@Deuce) of the script in question would be the best one to clarify that comment, but from my perspective: classic_shell.js was written as an exercise it determining what it would take to write a command shell in JS that mimicked the default shell, at that moment in time, without changing anything in SBBS itself to address any deficiencies or extra difficulties one might encounter while doing so. A lot has changed in Synchronet since the time when it was written.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to GitLab note in main/sbbs on Monday, February 27, 2023 16:24:33
    https://gitlab.synchro.net/main/sbbs/-/issues/526#note_3302

    That script was written as a direct port of default.src (the Baja Default Shell) as an exercise in discovering what parts of the default shell were not available in JS... it was basically copied from default.src then rewritten line-by-line. In the corresponding position in default.src, you'll find this comment:```################################################################################ This shell is an imitation of the Version 1c command set/structure ## ## It also serves as an example of a complex command shell using the Baja ## command shell language ## ################################################################################```
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to GitLab issue in main/sbbs on Monday, February 27, 2023 16:24:38
    close https://gitlab.synchro.net/main/sbbs/-/issues/526
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to GitLab issue in main/sbbs on Monday, February 27, 2023 16:24:50
    reopen https://gitlab.synchro.net/main/sbbs/-/issues/526

    Since classic_shell.js is noted as not being suitable as a guide for writing shells, a more definitive javascript shell would be appreciated.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to GitLab note in main/sbbs on Monday, February 27, 2023 16:25:45
    https://gitlab.synchro.net/main/sbbs/-/issues/526#note_3303

    That script was written as a direct port of default.src (the Baja Default Shell) as an exercise in discovering what parts of the default shell were not available in JS... it was basically copied from default.src then rewritten line-by-line. In the corresponding position in default.src, you'll find this comment:```################################################################################ This shell is an imitation of the Version 1c command set/structure ## ## It also serves as an example of a complex command shell using the Baja ## command shell language ## ################################################################################```
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Eric Oulashin@1:103/705 to GitLab note in main/sbbs on Monday, February 27, 2023 17:58:38
    https://gitlab.synchro.net/main/sbbs/-/issues/526#note_3304

    So, should we heed the warning that this is an example of how _not_ to write a command shell in JS?
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to GitLab note in main/sbbs on Monday, February 27, 2023 18:01:03
    https://gitlab.synchro.net/main/sbbs/-/issues/526#note_3305

    Yeah, it may serve as a reference for exactly what functions will fit in where, but the organization of that code is terrible.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)