home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #6 / amigamamagazinepolishissue1998.iso / coders / jËzyki_programowania / logo / powerlogo / whats-new.text < prev    next >
Text File  |  1992-11-10  |  9KB  |  300 lines

  1.  
  2.    Power LOGO
  3.    Release 1.3
  4.    Copyright 1992
  5.    by  Gary Teachout
  6.  
  7.  
  8. Whats new to release 1.3, November 1992
  9.  
  10. Bugs fixed:
  11.  
  12.    Conflicts between the "word" primitive and the garbage collector, could
  13.    trash the workspace. This would add garbage to the end of an existing
  14.    list. And a related problem would set the high order bit in one of the
  15.    system interupt vectors.
  16.  
  17.    The "clean" primitive now works in all draw modes (before it would just
  18.    make a mess if the window was in compliment mode).
  19.  
  20.    Tabs are now converted to spaces when loading or reading files.
  21.  
  22.    Another bug in the garbage collector could corrupt the spelling and the
  23.    contents of words. This would happen with large programs, or when a lot
  24.    of words were defined.
  25.  
  26.    The "word" primitive would add an extra quote to quoted words, and an
  27.    extra colon to dotted words.
  28.  
  29.    Primitive, keyword, and buried names are no longer allowed as names of
  30.    local variables.
  31.  
  32.    Files created with the 'save', or 'fprintout' primitives would sometimes
  33.    contain lines longer than 1000 characteres. Such files were not
  34.    compatible with the 'load' primitive.
  35.  
  36.    The 'new' primitive would not close turtles properly, which would lead
  37.    to a system crash.
  38.  
  39.    An instruction with too many optional inputs would sometimes give the
  40.    wrong error message.
  41.  
  42.    Random numbers are much more random.
  43.  
  44. New primitives:
  45.  
  46.    >>                number number number ( number ... )
  47.       Output true if the rest of the inputs are between the first two.
  48.  
  49.    >>=               number number number ( number ... )
  50.       Output true if the rest of the inputs are between or equal to
  51.       the first two.
  52.  
  53.    acos              cosine
  54.       Inverse cosine, output angle of cosine.
  55.  
  56.    allocchip         bytes ( pred )
  57.       Allocate chip memory, output pointer, for sound waveform data, etc.
  58.       'pred' indicates whether you want LOGO to deallocate it
  59.       automatically.
  60.  
  61.    allocmem          bytes ( pred )
  62.       Allocate memory, output pointer, for messages, arrays, etc.
  63.       'pred' indicates whether you want LOGO to deallocate it
  64.       automatically.
  65.  
  66.    allocstring       object ( pred )
  67.       Create an ARexx argstring, output pointer.
  68.       'pred' indicates whether you want LOGO to deallocate it
  69.       automatically.
  70.  
  71.    asin              sine
  72.       Inverse sine, output angle of sine.
  73.  
  74.    break
  75.       Jump out of looping primitives ("repeat", "while", and "dowhile").
  76.  
  77.    closepalette      pred
  78.       Close the palette tool.
  79.  
  80.    continue
  81.       Skip to next pass in looping primitives.
  82.  
  83.    convertstring     string
  84.       Output list of contents from an argstring.
  85.  
  86.    dec               name
  87.       Decrement variable.
  88.  
  89.    ellipse           window x y w h
  90.       Draw ellipse.
  91.  
  92.    findport          port-name
  93.       Output pointer to the message port if it exists. Output null pointer
  94.       (@0) if the port does not exist.
  95.  
  96.    freemem           pointer ( pred )
  97.       Deallocate memory allocated by "allocchip", "allocmem", or
  98.       "allocstring". 'pred' indicates whether this is from LOGOs
  99.       user memory list.
  100.  
  101.    getmessage
  102.       Output pointer to next message at the host port, wait if its empty.
  103.  
  104.    getreply
  105.       Output pointer to next message at the reply port, wait if its empty.
  106.  
  107.    hostport          ( port-name )
  108.       Without an input, outputs the name of the host port.
  109.       With an input, changes the name of the host port.
  110.  
  111.    inc               name
  112.       Increment variable.
  113.  
  114.    intuition
  115.                      12 window
  116.       Make window, the active window.
  117.                      13 window menu item subitem
  118.       Set menu checkmark.
  119.                      14 window menu item subitem
  120.       Clear menu checkmark.
  121.  
  122.    launch            run-list
  123.       Add run-list to a queue to be executed once prior to
  124.       returning to top level.
  125.  
  126.    messagep
  127.       Output true if the host port is not empty. 
  128.  
  129.    movecommand       screen ( left top width height )
  130.       Move the LOGO command window to another screen.
  131.  
  132.    openpalette       pred screen ( le te )
  133.       Open the palette tool, output window pointer.
  134.  
  135.    palettep          ( window )
  136.       Test to see if the palette tool is open, or wait for it to be
  137.       closed, and or output how it was closed.
  138.  
  139.    replymessage      message
  140.       Return a message received at the host port.
  141.  
  142.    replyp
  143.       Output true if the reply port is not empty. 
  144.  
  145.    sendmessage       port-name message ( pred )
  146.       Send a message to the specified message port. 'pred' indicates
  147.       whether or not you want a reply.
  148.  
  149.    system
  150.                      15
  151.       Output a real pointer to the command window.
  152.                      16
  153.       Output a real pointer to the workbench screen.
  154.                      17
  155.       Output launch list.
  156.                      18
  157.       Output char demon list.
  158.                      19
  159.       Output close demon list.
  160.                      20
  161.       Output menu demon list.
  162.                      21
  163.       Output mouse demon list.
  164.                      22
  165.       Output host port demon list.
  166.                      23
  167.       Output reply port demon list.
  168.  
  169.    whenmessage       run-list
  170.       Set demon to respond when the host port is not empty.
  171.  
  172.    whenreply         run-list
  173.       Set demon to respond when the reply port is not empty.
  174.  
  175.  
  176. Other changes:
  177.  
  178.    LOGO should now recognize PAL, or NTSC systems, and adjust the defaults
  179.    for screen size, and turtle aspect ratio.
  180.  
  181.    Menus have been cleaned up, and may be any color.
  182.  
  183.    The "peek", and "poke" primitives, now accept an offset as an optional
  184.    input. "poke" no longer accepts multiple numbers.
  185.  
  186.    Most primitives that expect integer inputs now truncate (round toward
  187.    zero) all nonintegers. Previously 'item', 'repitem', 'represt',
  188.    and 'restof' would round up for lists and down for words. 'psum' and
  189.    'random' would give strange results with nonintegers.
  190.  
  191.  
  192. Whats new to release 1.2, February 1992
  193.  
  194. Bugs fixed:
  195.  
  196.    After using "erase" in a large program LOGO would sometimes erase most
  197.    of the variables in the workspace.
  198.  
  199.    Some primitives that output lists (tpos, cursor...) would sometimes
  200.    output something LOGO could not recognize. When this happend you would
  201.    get some error, the words "bad lnode", and some numbers.
  202.  
  203.    A word contaning just a period (.) is no longer converted to the number
  204.    zero (0).
  205.  
  206.    The garbage collector would sometimes set the high order bit in one of
  207.    the system interupt vectors.
  208.  
  209.    The "closeturtle" primitive would sometimes close more turtles than
  210.    specified, or cause LOGO to lock up.
  211.  
  212.    The "sleep" primitive would not work following any command window text
  213.    output (print, printout, type, ect.).
  214.  
  215.  
  216. New primitives:
  217.  
  218.    floodpc           window X Y
  219.       Flood fill pixel color. Recolor in all directions from X, Y all
  220.       adjacent pixels the same color as X, Y.
  221.  
  222.    sound             sound-list sound-list sound-list sound-list
  223.       Play sounds and music on all four of the Amiga audio channels.
  224.  
  225.  
  226. Other changes:
  227.  
  228.    The "floodol" primitive is many times faster than it was.
  229.  
  230.    All arithmetic now uses the Amiga "mathieeedoubbas.library", this
  231.    includes automatic support for 6888x.
  232.  
  233.    The "fprint" primitive used to write one word from a list at a time, it
  234.    now writes in larger blocks. This makes output to the SPEAK: device
  235.    much smoother.
  236.  
  237.    You may now open turtles with their sense of left and right reversed.
  238.  
  239.    The "copyrect" primitive now accepts a minterm input, allowing
  240.    complement and other effects.
  241.  
  242.    The "rgb", and "setrgb" primitives now recognize the null pointer (@0)
  243.    as the workbench screen.
  244.  
  245.  
  246. Whats new to release 1.1, December 1990
  247.  
  248. Bugs fixed:
  249.  
  250.    Some primitives used to crash if LOGO ran out of memory.
  251.  
  252.    Some primitive operations could trash the workspace. This is the one
  253.    that mysteriously replaced parts of lists with garbage from other lists.
  254.  
  255.    Local variables were not always popped on exit from a procedure.
  256.  
  257.    The "filelist", "screenlist", "turtlelist", and "windowlist" primitives
  258.    used to output references to LOGO internal lists. This could cause a
  259.    problem when LOGO changed one of these lists after the user had an
  260.    external reference to it. They now output copies of these lists.
  261.  
  262.  
  263. New primitives:
  264.  
  265.    argslist
  266.       Output list of startup arguments (Workbench or CLI).
  267.  
  268.    cd                ( path )
  269.       Set or output the current directory.
  270.  
  271.    dir               ( path )
  272.       Output list of contents of the specified directory or the current
  273.       directory.
  274.  
  275.    freadbyte         file
  276.       Output one byte number read from file, Output the empty list if end
  277.       of file.
  278.  
  279.    fwritebyte        file number ( number ... )
  280.       Write one byte numbers to file.
  281.  
  282.    saveicon          file-name ( default-tool tool-types )
  283.       Attach icon to file.
  284.  
  285.  
  286. Other changes:
  287.  
  288.    Infinite lists (circularly defined lists) can cause some primitives to
  289.    get stuck in a loop, the break key (Control-G) will now abort these.
  290.  
  291.    The "asave" primitive has been eliminated.
  292.  
  293.    The "erase" primitive will no longer erase buried names.
  294.  
  295.    The "freadlist" primitive now outputs the empty word if at end of file.
  296.  
  297.    The "save" primitive now saves the file with a project icon.
  298.  
  299.  
  300.