Version 16 released today.

25 views
Skip to first unread message

Greg Field

unread,
Nov 1, 2016, 8:43:54 AM11/1/16
to Open/ed
Rev 16.mm.dd was released today.
It should be considered a beta test version for now.

Here are the changes for Rev 16.

Program options

The -m -macro program flag splits into 3 concepts :
        begin macros, batch macros or xecute string.

Rename program flag -m -macro to -beg -begin.

Add -bat -batch program flag for batch macros.
        Batch macros no longer need a QUIT command.
        Any macro executed by -bat, QUITs when done.

Add program flag  ned -x -xecute  to execute "String of Open/ed commands".

Add   ned -eoline { lf/unix | crlf/windows def/default }   program options.

Add program flag  ned -print version.string  and variable %version.string%.
        This is the version in YY.MM.DD format with dots.


Commands :

Deprecate BACK command.

Deprecate BRIEF and VERIFY. Still working in OLDED mode.

Add CUB CUBEFORE.  Cut Before command.

Enhance DO to not index past a stop value
        and to not change index variable at all if first step would exceed limit.

DO; ... ; ENDO  is an infinite loop.

Add DOBEFORE command, which is DOV to line above.

DONEXT command renamed DOVER, abbreviation DOV.

Change EXIT command to use %ERCODE% constants rather than unique command argument constants.

Add FLASH command.
        Like the BEEP command but only does anything in screen mode.

Add STOP command which terminates a running macro regardless of subroutine level.
        STOP in a subroutine terminates the entire macro.

Change SYmbol command to SYMbol.
        (Abbreviation change).

Modes

MODE COUNT command supports hex and octal numbered arguments.

MODE COUNT allows ,,,, (commas) for skipping changes to required arguments.

Rework MODE ENTER as
    MODE LINE_RETURN and SCREEN_RETURN to say how <return> key is actioned.
    Synonyms of LR and SR can be used only as tty commands, not in a macro.

Add MODE ESCAPE which executes key_escape.ned macro.

Add MODE TAB MACRO sub-command which executes macro key_tab.ned


Functions

Add bitwise functions BITAND(), BITOR(), BITXOR(), BITLS(), BITRS(), BITCOMP(),
being bit and, or, xor, left shift, right shift, and compliment.

Add CAT() and SPLAT() functions.
    These read and write a file from/to a string.

Add ETIME() function, elapsed time as a string.

Add key arg of 'a' to EXTRACT() function.

Add FGETS() as a string function.

Add FLOCK() and FUNLOCK() functions to do file locking.
     Can be mixed with FOPEN() 'l' flag.

Swap the position of the two arguments to FMTTIME().

Add 'l' lock flag to FOPEN(). Can be mixed with LOCK()/FUNLOCK().

Add FSAME() function, logical inverse of FDIFF().

Add GETCHAR () function to accept a single character in screen mode.

Add Open/ed TAB functions.
        ISTAB(n), TABSET(0/1,n), NEXTTAB(), TABDIFF().

Add functions TOINT() and TOSTR() to convert numeric string to int and vica versa.

The order of arguments change in functions CHAR(), CHMOD(), TRUNCATE(), SUBSTR(),
        and L.H.S. functions CHAR() and SUBSTR().

Rename some string functions. CHANG()E->STRCHANGE(),  OVERLAY()->STROVER().

Rename LENGTH() to STRLEN().

Changes to function names. More Unix like.
        Rename DIROPEN->OPENDIR,   DIRREAD->READDIR().
        Rename COMMAND->STRCMD,    COMPARE->STRCMP,     EQUAL->STREQ().

Add new integer function NOW().
        Returns the number of seconds since the epoch (00:00 1 Jan 1970).

Add READDIR() string function.

Add L.H.S. LEFT() and RIGHT() functions.
        Warning : strictly consider these to have a beta testing status.
        Functionality and/or arguments may change.

SUBSTRING() function becomes only SUBSTR().


Maths operators

% can be used as a remainder operator.

<< and >> are operators for bit shifting.


Symbols

Add SYMBOL LABEL which defaults to ':'.


Macros

Add public macro  catl.ned  to demo lock functions.

Add cpuload.ned and kernload.ned as public macros to demo int functions CPULOAD() KERNLOAD().


Variables

New date variables :

        Variable :      %date.us%
        Result :        Date in form MM-DD-YY

        Variable :      %date.mil%
        Result :        Date in form YY-ddd being day of the year.

        Variable :      %date.tag%
        Result :        Date in form CCYYMmmDD

        Variable :      %date.time%
        Result :        Date and time in format "Wed Mar 30 21:42:06 2016"

        Variable :      %date.dd%
        Result :        Day of the month, 1 to 31, 2 digits with leading zero.

        Variable :      %date.mm%
        Result :        Month in year, 1 to 12, 2 digits with leading zero.

        Variable :      %date.yy%
        Result :        Year in century, 00 to 99, 2 digits with leading zero.

        Variable :      %date.yyyy%
        Result :        Year in full with century, 4 digits with leading zero.

        Variable :      %date.dow%
        Result :        Day of the week 1 to 7, 1 digit with leading zero.

New time variables :

        Variable :      %time.ampm%
        Result :        Time in 12 hour form HH:MM:SS AM/PM

        Variable :      %time.zone%
        Result :        Time zone name if available.

        Variable :      %ampm%
        Result :        Either AM or PM as appropriate.

        Variable :      %time.ss%
        Result :        Seconds in current time. Two digits with leading zero.

        Variable :      %time.mm%
        Result :        Minutes in current time. Two digits with leading zero.

        Variable :      %time.hh%
        Result :        Hours in 24 hour time. Two digits with leading zero.

        Variable :      %time.dst%
        Result :        0 or 1 to indicate if daylight saving is in effect.

Add variables %session.start% and %work.start%.

    Variable :      %session.start%
    Result :        The time that the Open/ed session started.

    Variable :      %work.start%
    Result :        The time that the current work file was loaded.

Add %count.xxxxx% variables.

Add %load.count% variable, the number of lines in last LOAD,D/UNLOAD,COPY,DUP.

Add variable %tty% to give the tty device file.


Constants

Add %ERCODE% constants.
        See the HELP constants page for a full list.

Add %ERR% constant, returned by GETCHAR().

Flip constant names %MAX_INT% %MIN_INT%  to  %INT_MAX% %INT_MIN%.



Other

Add ESCAPE-<capitol> control characters. ^G ^H etc.

Add ^[, ^\, ^], ^^, ^_, ^? control characters. Note ^^ is impossible

Screen mode .null. lines are italic which is supported on _LNX_.
       When not supported (_OSX_), they are dim.

Marc Simpson

unread,
Nov 28, 2016, 1:00:53 PM11/28/16
to Open/ed
Hi Greg,

Thanks for Open/ed.

Re: the new release, it seems that http://users.tpg.com.au/x86dude/OpenEd_OSX_161113.tar (listed on the versions page) is yielding a 404.

Best,
Marc

Greg Field

unread,
Nov 28, 2016, 9:01:52 PM11/28/16
to Open/ed

G'day Marc.

Thank you for letting me know.

The scripts that build the HTML and ftp upload the tar files are a bit clunky.
So problems like that will happen.

I have uploaded and downloaded OSX 161129. See how that goes.

I will append a little more details in the new features post.

-Greg.

Greg Field

unread,
Nov 28, 2016, 9:27:25 PM11/28/16
to Open/ed
Post Rev 16 FCS.
--------------------------

Add FLINK () function to follow a symbolic link.

GETCHAR () now also works in line mode.

FMTTIME () function renamed TIMESTR ().

Fix ETIME () so neagtive time printed correctly.

Add %HOUR%, %DAY%, %WEEK% "time" constants.

Rename FDTM () -> FDTMOD(), Add FDTACC(), FDTCRE().
    DTM and time last accessed and time created.

Add all TIMESTR() args to documentation : User's Guide Appendix T.

Add MATCH () function for wildcard pattern matching.
Add FNMATCH () function for wildcard pathname matching.

Reverse arg order to BEFORE () and AFTER ().
Add BEFOREFIRST (), BEFORELAST () , AFTERFIRST () , AFTERLAST ().

Tidy supplied macros that can use the amended functions.

Add KBINT() function to format integers in KiloBytes etc.
Reply all
Reply to author
Forward
0 new messages