File: "hist-009.txt" (newer changes in "history.txt")


October 29, 2002   [V. 0.09 release]

  AltF4's patches

  purewireprj, highwire.prj:
    - dependencies updated.

October 27, 2002

  AltF4's patches

  highwire.h,
  highwire.rsc, highwire.hrd, highwire.rso, highwire.rsm, highwire.rsd
    - updated for new encoder entries.

  global.h:
    - line 45:  new global variable for debugging purpose.

  config.c:
    - line 95.. (read_config):  new keywords:
      - LOCAL_WEB: directory for offline reading (see Location.c),
      - LOGGING:   =1 enables console logging,
      - NO_IMAGE:  =1 suppresses image loading.

  Location.c:
    - line 24:  replaced define LOCAL_WEB by a char* which can be
      modified with an entry in the highwire.cfg file.
    - line 162 + 172 + 208 (new_location):  adapted to new local_web
      variable.

  encoding.c
    - line 204 (utf16_to_bics):  overworked to avoid useless checks.
    - line 357 (utf16_to_atari) + 420 (encoder_word)
      + 550 (utf16_to_8bit) + 589 (encoder_char):  new encoders.

  Rainer patches (of October 9, 2002)

  global.h:
    - line 71:  new functions menu_logging(), menu_alt_text().

  encoding.c
    - line 204 (utf16_to_bics) + 408 (encoder_word):  new encoder.

  keyinput:
    - line 79 + 82 (key_pressed):  make use of functions instead of
      direct variable access.
    - line 154:  new shortcuts ^F vor ISO Latin-15 and ^M for Macintosh
      Roman.

  AEI.c:
    - line 395:  new functions menu_logging(), menu_alt_text().
    - line 411 (handle_menu) + 429 (update_menu):  new cases for
      ENCODING_ISO8859_15, _UTF16, _UTF16LE, _MACINTOSH, _ATARINVDI.

October 26, 2002

  AltF4's patches

  defs.h:
    - line 132:  changed definition to also allow nobreak space for the
      system font.

  fontbase.h:
    - line 19:  removed attribute ChrShft, was never used.

  fontbase.c
    - line 16 (font_base):  added check for zero font id.
    - line 32:  removed ChrShft.
    - line 140 (font_byType):  corrected calculation of ascend/descend
      for system/bitmap fonts.

  scanner.h:
    - line 36 + 59 + 79:  extended argument lists of scan_namedchar(),
      scan_string_to_16bit() and encoder_word().
    - line 92:  changed unicode_to_bics() to unicode_to_wchar() and
      unicode_to_atari() to unicode_to_8bit().

  scanner.c:
    - line 366 + 382 + 410 + 412 + 425 (scan_namedchar) + 596 + 598
      + 618 (scan_string_to_16bit):  additional argument mapping for the
      encoder function and to avoid hard coded character codes.

  en_atari.h:
    - line 29:  replaced literal space by defined symbol for 0x00A0.
    - line 121:  added missing entries for 0x301D, 0x301E, 0x301F.

  en_bics.h:
    - line 287:  added missing entries for 0x301D, 0x301E, 0x301F.

  encoding.c:
    - line 273..: all functions renamed from the scheme .._to_atari()
      to .._to_8bit().
    - line 241..: new functions uni_2_atari() ... atari_to_atari() to
      16-bit system/bitmap font.
    - 248.. (encoder_word):  overworked to handle system/bitmap font.
    - 263:  new function unicode_to_wchar() replaces unicode_to_bics().

  Form.c:
    - line 93 (form_radio) + 134 + 147 +164 (new_input):  modified to
      replace hard coded space characters.
    - line 148 (new_input):  use encoder instead of simple copying.

  render.c:
    - line 183 (render_TITLE_tag):  additional argument for
      scan_namedchar() call.
    - line 960.. (render_Q_tag) + 1797.. (list_marker):  overworked to
      replace hard coded BICS codes by encoder function.
    - line 1112 + 1142 (render_IMG_tag) + 1457 (render_BLOCKQUOTE_tag):
      adapted to changed scan_string_to_16bit().
    - line 2432 + 2455 + 2496 + 2508 (parse_html) + 2626
      + 2641 (parse_text):  adapted to changed encoder_word().
    - line 2518 (parse_html):  adapted to changed scan_namedchar().

October 25, 2002

  AltF4's patches

  hw-types.h:
    - line 68:  enum ENCODING enhanced by ENCODING_UTF16 and
      ENCODING_UTF16LE (by Rainer).
    - line 77:  moved ofer definition for min()/max() from defs.h,
      looks more logical if this is located here.

  defs.h:
    - line 126:  replaced definition of Space_Code by definitions for
      every font type that will be supported in future.
    - line 135:  removed declaration of min()/max(), is in hw-types.h()
      now.

  Loader.c:
    - line 24:  removed include of macros.h, the necessary definitions
      are in hw-types.h now.

  global.h:
    - line 104:  added declaration of launch_viewer().

  AEI.c:
    - line 471: removed declaration of launch_viewer(), this is in
      hw-types.h now.

  fontbase.h:
    - line 39:  added two short hands for accessing of a font's space
      and figure/nobrake space codes.

  fontbase.c:
    - line 10:  removed defines for font type dependent space and
      nobreak codes, this is in defs.h now.

  en_bics.h, en_atari.h, en_uni.h:
    - new file to take over the translation tables of encoding.c which
      will grow rapidly soon.  Rainer started this idea already by
      introducing the uni_bics.h file but this way the scheme is more
      logical.

  encoding.c:
    - all arrays are located now in the en_bics/_atari/_uni.h files.
    - all occurences of Space_Code replaced by SPACE_BICS.

  W_Struct.c:
    - line 10:  extended struct fixed to have it working for different
      font types.
    - line 20 (destroy_word_structure) + 79 (new_word):  adapted
      deleting to extended struct fixed.
    - line 101 (word_store):  modified to take care for different font
      types.

  Paragrph.c:
    - line 594 (content_minimum):  modified to take care for different
      font types.

  render.c:
    - line 933 (render_A_tag) + 1113 + 1142 (render_IMG_tag)
      + 1457 (render_BLOCKQUOTE_tag) + 2133 (list_marker)
      + 2527 + 2542 + 2563 + 2575 (parse_html) + 2650 + 2672
      + 2684 (parse_text):  modified to take care for different font
      types.

  Redraws.c:
    - line 512 + 589 (draw_paragraph):  modified to take care for
      different font types.

  purewire.prj:
    - line 35:  added option 'no string merging' to entry of scanner.c
      to avoid a possible compiler bug.

October 23, 2002

  AltF4's patches

  hw-types.h:
    - line 31:  copied the MAP_.. definitions from gem.h, will be
      needed for font stuff soon.

  defs.h:
    - line 95:  new forward declaration.
    - line 382:  in struct word_item, new attribute font.

  global.h:
    - line 10:  removed include of highwire.h, this should only be done
      by the files which really need it.

  schedule.c:
    - line 10 replaced include of defs.h by hw-types.h, makes compiling
      a little bit faster.

  AEI.c:
    - line 22:  added include of highwire.h.

  W_Struct.c:
    - line 56 + 66 (new_word):  preset font attribute.

  fontbase.h, fontbase.c:
    - new files to take over VDI font attribute aspects.

  Form.c:
    - line 176 + 189 (new_input):  adapted to new font_byType()
      function.

  render.c:
    - line 79:  removed map(), not longer needed.
    - line 1803 (long2decimal) + 1815 (long2alpha)
      + 1827.. (list_marker):  overworked to reduce the number of
      literally BICS codes.
    - line 1154 (render_IMG_tag) + 1467 (render_BLOCKQUOTE_tag) + 2468
      + 2480 + 2451 (parse_html) + 2682 + 2690 (parse_text):  adapted
      to new font_byType() function.

  Redraws.c
    - line 405 (draw_image):  marked argument as unused to keep PureC
      quiet.
    - line 473 + 526.. (draw_paragraph):  adapted to new font_switch()
      function.

  HighWire.c:
    - line 18:  added include of highwire.h.
    - line 156 (main):  removed VDI font setting calls, will be done in
      fontbase.c.

  Makefile, purewireprj, highwire.prj:
    - updated, special the dependencies should be complete now.

October 18, 2002

  AltF4's patches

  color.c:
    - removed typedef CHAR, this is already in hw-types.h.

  defs.h:
    - line 12[19] + 14[21] + 129[143] + 147[169] + 281[315]:
      definitions moved to hw-types.h.
    - line [167] moved the define for vdi_handle to global.h where it
      is placed better.
    - line 304[338] + 320[354]:  removed no longer used #ifdef.
    - line 473[516] + 494[538]:  in struct frame_item, new attributes
      Language and quot_lang.

  Frame.c:
    - line 24[25] +50 [52] (new_frame):  new attributes Language and
      quot_lang.

  global.h:
    - line 28[25]:  made vdi_handle, planes, ignore_colours macros to
      access vdi_dev instead.

  HighWire.c:
    - line 61 + 178[187] (main):  modified to open more than one window
      if started with ore than one file.
    - line 114[129]:  changed usage of ignore_colours.

  hw-types.h:
    - new file to take over the main type definitions used in HighWire.

  image.c:
    - line 6[8]:  removed no longer used #define.

  Redraws.c:
    - line 7:  removed no longer used #define.

  render.c:
    - line 967[1023].. (render_Q_tag):  overworked to avoid a static
      variable in the function.
    - line 1111 + 1140 (render_IMG_tag) + 1475 (render_BLOCKQUOTE_tag):
      additional space_code argument for scan_string_to_16bit() calls.
    - line 2162[2225] (render_LI_tag):  additional check if the BRK
      flag can be set to previous word item avoid crashes on NULL
      pointer access.

  scanner.c:
    - line 19:  include hw-types.h instead of defs.h to avoid some
      strange compiler bug in Pure C 1.0.
    - line 597[610] + 619[632] (scan_string_to_16bit):  additional
      argument space_code.

  scanner.h:
    - line 58:  changed declaration of scan_string_to_16bit().

  Variable.c:
    - line 46 + 56:  removed globals ignore_colours and vdi_handle,
      since these are macros now.

  Rainer's patches (October 9, 2002)

  HighWire.c:
    - line 37 + 56:  removed declaration and usage of planes and
      vwork_out[].

  image.c:
    - line 99 (new_image):  changed type UWORD to WCHAR.

  render.c:
    - line 146 (render_HTML_tag):  added support forLANG attribute.

October 14, 2002

  AltF4's patches

  hwWind.c:
    - line 400.. (wnd_hdlr):  overworked to fix the newly implemented
      flickering bug of pages with non-loadable images;  reduced calls
      to graf_mouse() where possible because check_mouse_position does
      this already.

  Logging.h:
    - line 5:  added gcc extension to have the argument lists of
      errprintf() and logprintf() checked.

  Mouse_R.c:
    - line 288 + 306 + 333 (check_mouse_position):  modified to avoid
      useless actions on iconified windows;  displays now the text of
      the link where the mouse is over (if any).

  render.c:
    - line 2603[2686]:  avoids empty word items if a blank appears just
      behind a tag that already produced an new word_item.

  Rainer's patches (October 9, 2002)

  Logging.c:
    - line 56 (logprintf):  changed type of color to short.
    - line 71:  corrected output handle to stdout.

October 13, 2002

  AltF4's patches

  AEI.c:
    - line [5]:  reverted Rainer's delete of includes for other
      compilers than PureC.
    - line 510[708] (process_messages):  changed case AV_OPENWIND to
      have it always opening a new window.

  Containr.h:
    - line 28:  added missing enum values for images begin/end loading.

  encoding.c:
    - line [86] (utf8_to_unicode) + [591] (iso8859_15_to_bics)
      + [842] (iso8859_15_to_atari):  additional braces to avoid
      compiler warnings.

  http.c:
    - line [66] + [121] + [143] (http_charset) + [145] (content_type)
      + [244] (http_header):  reverted Rainer's changes of cset and
      type because this don't work with gcc this way.
    - line 112[116] (http_charset):  uses function macro.

  http.h:
    - line 10:  corrected default value of Encoding (this must not be
      negative in gcc due to enum!).

  hwWind.c:
    - line 21 + 382 + 72 (new_hwWind):  function wnd_hdlr() taken over
      from AEI.c, added handling of HW_SetTitle, HW_ImgBegLoad,
      HW_ImgEndLoad.
    - line 256:  function hwWind_scroll() taken over from AEI.c.

  hwWind.h
    - line 30:  function hwWind_scroll() taken over from AEI.c.

  image.c:
    - line 346[348] + 418[420] (image_job):  uses enum values now.

  inet.c:
    - line 50 + 56 (find_drivers):  added type casts to avoid warnings.

  keyinput.c:
    - line 86 + 93 + 99 + 105 + 111 + 117 + 121 + 125 (key_pressed):
      adapted wind_scroll() calls.

  Loader.c:
    - line 24:  more includes for gcc to have min() available.
    - line 282[308] + 520[598] (loader_job):  uses function macro.

  Loader.h:
    - line [32] + 31[36]:  function macros for major and minor type of
      MIME, that's better than having a bitmask in the enum.

  Mouse_R.c:
    - line 104 + 170 +189 + 254 (button_clicked):  adapted
      wind_scroll() calls.

  render.c:
    - line 21[94]:  cast to WCHAR.
    - line 170[196] (render_TITLE_tag):  always initialize buffer.

  Rainer's patches (October 9, 2002)

  AEI.c:
    - line 26 (appl_xgetinfo):  added support for WINX.
    - line 52:  wind_scoll() and wind_handler() moved over to window
      file.
    - line 74:  moved vastart() to here.
    - line 78 (vastart):  implemented reply message.
    - line 146:  additional GS_.. defines.
    - line 237 (doGSCommand):  [RS] Updated to GEMScript 1.2.  Added
      CheckCommand, Close, GetAllCommands.
    - line 437 + 442 (handle_menu) + 447 (update_menu):  menutree is
      located now in HighWire.c.
    - line 555 (process_messages):  added cases for AV_PROTOKOLL,
      VA_PROTOSTATUS, AV_SENDKEY, AV_OPENWIN.
    - line 562:  [RS] case GS_REQUEST updated to GEMScript 1.2 and
      optimized.
    - line 603:  case AP_DRAGDROP added, always rejecting yet.

  av_comm.h:
    - line 92:  corrected bit mask.

  av_prot.c:
    - line 51 (get_avserver):  added check for "CAT".
    - line 58 (Send_AV):  changed type of argument to_ap_id to short,
      added case for VA_PROTOSTATUS, improved the code, [RS] Changed
      the warning supression for Pure C to an official way.
    - line 103 (Receive_AV):  additional argument msg, added cases for
      VA_PROTOSTATUS and VA_PROTOSTATUS.

  Containr.c:
    - line 815 (containr_redraw):  removed faulty wind_update() call.

  Containr.h:
    - line 29:  new value HW_SetInfo

  defs.h:
    - line 16:  [RS] Added several encodings and languages to enum.

  encoding.c:
    - line 16 (utf8_to_unicode):  overworked.
    - line 61 + 668 (iso8859_2_to_atari):  overworked to make use of
      ISO8859_2_to_Unicode[].
    - line 61 + 494:  new encoder macintosh_to_bics().
    - line 495:  new encoder iso8859_15_to_bics().
    - line 507 (encoder_word) + 751 (encoder_char):  added cases
      ENCODING_ISO8859_15 and ENCODING_MACINTOSH.
    - line 701:  new encoders iso8859_15_to_atari() and
      macintosh_to_atari().

  global.h:
    - line 60:  moved process_messages() down.
    - line 170:  changed arguments of Send_AV() and Receive_AV().

  HighWire.c:
    - line removed extern xaccname, gsanswer instead.
    - line 91 (main):  changed allocating of global memory.
    - line 135:  shortend aximum window title length to 127.
    - line 163 + 187:  removed old code.

  http.c:
    - line 11:  [RS] Added include for token.h and scanner.h.
    - line 19 (http_charset):  changed type of len argument.
    - line 117:  [RS] Now uses scan_encoding().

  http.h:
    - line 19:  changed declaration of http_charset().

  inet.c:
    - line 42 + 57 (find_drivers) + 64 (init_stick):  changed return
      type.
    -line 95 (inet_host_addr) + 126 (inet_connect) + 146 (inet_send)
      + 205 (inet_recv):  [RS] Added several '(void)parameter' to
      supress warnings from Pure C without USE_INET defined..

  Loader.c:
    - line 84 (parser_job):  [RS] Skip HTML comment before check for an
      HTML file.
    - line 128:  added extensions "jpeg" and "mpg".
    - line 475 (new_loader_job):  [RS] about: check for NULL pointer
      returned by inet_info().
    - line 905 (identify_AES):  additional comments for cookie values.

  Loader.h
    - line 10:  new value MIME_Unknown.

  O_Struct.c:
    - line 136 (new_url_link):  preset of encoding.

  render.c:
    - line 82:  changed type UWORD to WCHAR.
    - line 217 (render_TITLE_tag):  replaced useless strlen().
    - line 623 (render_BASEFONT_tag):  added support for font colour.
    - line 916 (render_A_tag):  make use of scan_encoding().
    - line 974 (render_Q_tag):  overworked for better language support.
    - line 1040 (render_IOD_tag):  [RS] Using container_notify() to set
      window info.  AES needs static memory!
    - line 1323 (render_P_tag):  [RS] Ignore a paragraph start just
      behind a <LI> tag.
    - line 1511 + 1514 (render_PRE_tag):  support for WIDTH attribute,
      set text condensed for more than 80 characters.
    - line 1781 (list_marker):  changed type UWORD to WCHAR.
    - line 2432 (parse_html):  use define instead of number.

  scanner.h, scanner.c:
    - line 62/629: new function scan_encoding().

  token.h:
    - line 122 + 132 + 143 + 157:  updated comments.

October 10, 2002

  AltF4's patches

  defs.h:
    - line 110:  declaration for WCHAR in case that gemx.h get not also
      included.

  hwWind.c:
    - line 22 + 136:  new static set_size(), used in
      line 159 (hwWind_resize) + 178 (hwWind_full).
    - line 302 (hwWind_redraw):  added code to have content of an
      iconified window drawn.

  Rainer's patches (October 9, 2002)

  Containr.c:
    - line 44:  added missing delete_containr().

  Containr.h:
    - some comments corrected, no changes in code.

  defs.h:
    - line 48:  Added several encodings and languages to enum.
    - line 150 + 160 + 187 + 199 + 203..:  corrected and added
      structure member names of VDI_Workstation.
    - line 218 + 221..:  corrected types in struct xattr.
    - line 382 + 462:  changed type UWORD to WCHAR in.

  encoding.c:
    - line 8 +
      line 13 (utf8_to_unicode) + 79 + 82 (windows1252_to_bics) + 99
      + 110 + 113 (iso8859_2_to_bics) + 133 + 147 + 150 (atari_to_bics)
      + 8 + 177 + 450 + 458 (unicode_to_bics) + 476
      + 479 (utf8_to_bics) + 9 + 527 + 629 + 635 (unicode_to_atari)
      + 655 (windows1252_to_atari):  changed type UWORD to WCHAR.

  Frame.c:
    - line 169 + 171 + 202 + 222 (frame_calculate)
      + 241 (frame_slider):  [RS] Added several unary plus signs to
      force Pure C to calculate +(...) as first step and prevent the
      compiler from arithmetic changes.  (Pure C, Apendix F, p. 247)

  Redraws.c:
    - line 497 (draw_paragraph):  changed type UWORD to WCHAR.
    - line 595:  made strike through line more thick.

  render.c:
    - line 664 + 743:  new render_DEL_tag() and render_INS_tag().

  scanner.c:
    - line 257 + 373 + 409 + 422 + 445:  comments corrected.
    - line 264 + 371 + 410 + 415 (scan_namedchar)
      + 597 (scan_string_to_16bit):  changed type UWORD to WCHAR.
    - line 613 + 616 (scan_string_to_16bit):  reordered cases.

  scanner.h:
    - line 41 + 47 + 54 + 72 + 75:  comments corrected.
    - line 58 + 70 + 84:  changed type UWORD to WCHAR.

  token.h
    - line 32 + 49:  new tags DEL and INS.
    - line 131..:  some comments corrected.

  W_Struct.c:
    - line 9:  changed type UWORD to WCHAR.

October 8, 2002

  AltF4's patches

  AEI.c:
    - line 52 + 99 + 313:  removed old code.
   	- line 139 + 151 + 157 (wind_handler):  replaced
      number_of_frames_left_to_load by wind->isBusy.
    - line 211 (vastart):  added mouse position and shift key states.
    - line 448 (menu_info) + 509 (menu_reload) + 610 + 638
      + 647 (rpopup_open): replaced access to active_keyboard_frame.
    - line 659 + 671 (process_messages):  added mouse coordinate
      argument.

  defs.h:
    - line 240:  added declaration for struct PXY.

  global.h:
    - line 30..: removed global variables window_handle, win_status,
      pre_status, number_of_frames_left_to_load, active_keyboard_frame,
      these are stored in hwWind structure now.
    - line 67:  added mouse coordinate argument to process_messages().
    - line 70:  removed wind_redraw(), replaced by hwWind_redraw().

  HighWire.c:
    - line 202 (main):  added mouse coordinate to process_messages().

  hwWind.h, hwWind.c:
    - new structure members isBusy and Active.

  keyinput.c:
    - line 68 + 71 + 86 + 93 + 99 + 105 + 111 + 117 + 121 + 125 + 129
      + 136 (key_pressed):  replaced active_keyboard_frame access by
      top window.
    - line 170:  added shortcuts ^W (window cicle), ^U (window close).

  Loader.c:
    - line 97 (parser_job):  remove setting of the active frame, will
      be done by window_handler().
    - line 840 (page_load):  load new page to the top window.

  Mouse_R.c:
    - line 34 (button_clicked):  store the active frame in the window
      structure instead global.
    - line 104:  corrected scroll direction.

  Variable.c:
    - line 57..: removed global variables window_handle, win_status,
      pre_status, number_of_frames_left_to_load, active_keyboard_frame.

October 6, 2002

  AltF4's patches

  AEI.c:
    - line 21:  include hwWind.h.
    - line 124 (wind_handler) + 214 + 226 (vastart) + 290 (doGSCommand)
      + 801 (process_messages):  overworked to make use of hwWind
      functions.

  HighWire.c:
    - line 161 + 184 (main):  replaced init_load() by new_hwWind().

  hwWind.h, hwWind.c:
    - new files for window handling.

  keyinput.c:
    - line 17:  include hwWind.h.
    - line 85 + 92 + 98 + 104 + 110 + 116 + 120 + 124 (key_pressed):
      replaced window_handle by hwWind_Top->Handle.

  Loader.c:
    - line 745:  outommented init_load().

  Makefile, purewire.prj, highwire.prj:
    - updated

  Mouse_R.c:
    - line 11:  include hwWind.h.
    - line 21 + 102 + 168 + 177 + 187 + 191 + 204
      + 244 (button_clicked) + 268 + 277 + 316
      + 330 (check_mouse_position):  overworked to make use of hwWind
      functions.

  Paragrph.c:
    - 374 (paragrph_word) + 892 (content_paragraph):  corrected
      boundary check.

  render.c:
    - line 20:  include hwWind.h.
    - line 1045 (render_IOD_tag):  replaced wind_set by the hwWind
      function.

October 5, 2002

  AltF4's patches

  render.c:
    - line 257 + 334 (render_FRAMESET_tag):  moved the search for data
      end to the bottom of the function where it belongs.

October 3, 2002

  AltF4's patches

  Containr.c:
    - line 27 + 32 (new_containr):  preset Base and HighLight.
    - line 230:  new function containr_highlight() to store link
      highlighting at a per-container base, necessarry for multi window
      support.
    - line 708 + 715 + 741 (containr_redraw) + 788 + 799 + 845
      + 851 (containr_scroll):  additional argument highlight.

  Containr.h:
    - line 45:  new struct members Base and HighLight.
    - line 107:  new function containr_highlight().

  defs.h:
    - line 20:  value PAR_FORM removed, useless.
    - line 46:  forward decls FORM and FRMSTACK removed.
    - line 361:  in struct WORDLINE back refference and vertical offset
      added.
    - line 390:  in struct paragraph_item Form removed.
    - line 440:  in struct frame_item FormStack removed, type of
      FormList changed, form to substructure current added.
    - line 485:  in struct url_link type of start changed to word_item
      pointer.

  Form.h, Form.c:
    - new function new_form(), old code removed.

  Frame.c:
    - line 41 + 49 (new_frame):  preset of FormList and current->form.

  global.h:
    - line 39:  current_highlighted_link removed, not longer needed.
    - line 83 + 86:  additional argument highlight for frame_draw() and
      draw_contents().
    - line 131:  additional argument WORDITEM for new_url_link().
    - line 171:  new function word_offset().

  Mouse_R.c:
    - line 170 (button_clicked):  handles clicks on form buttons.
    - line 261.. (check_mouse_position):  overworked to make use of the
      highlighting information stored by the container instead of
      current_highlighted_link.

  O_Struct.c:
    - line 129 + 135 (new_url_link):  additional argument to store the
      word_item where this link began.

  Paragrph.c:
    - line 135 + 286 (paragraph_calc):  set new WORDLINE attributes.
    - line 348 (paragrph_word):  overworked to take advantage of the
      improved WORDLINE structure.
    - line 423 (paragraph_extend):  made it more robust against
      unexpected conditions.

  Redraws.c
    - line 15 + 82 (frame_draw) + 381 (draw_image)
      + 470 (draw_paragraph) + 544 + 561 (draw_paragraph) + 622 + 672
      + 675 (draw_contents):  additional argument highlight.

  render.c:
    - line 133..:  replaced all #ifdef __PUREC__ by a macro define.
    - line 933 + 949 (render_A_tag):  additional argument for
      new_url_link() call.
    - line 2431:  new function render_FORM_tag().
    - line 2504 (parse_html):  removed old code.

  Table.h / Table.c:
    - line 73 / 899 + 934 (table_draw):  additional argument highlight.

  token.h:
    - line 109 + 134 + 145:  new keys ACTION and METHOD for form tags.

  Variable.c:
    - line 64:  removed current_highlighted_link, not longer needed.

  W_Struct.c:
    - line 203:  new function word_offset() to calculate the vertical
      distance of a word to its paragraph's top.

October 1, 2002

  AltF4's patches

  Containr.h, Containr.c:
    - line 450 (containr_Element):  added identification for form input
      elements.

  defs.h:
    - line 253:  removed struct clipping_area because this is the same
      as struct GRECT and nowhere used anymore.

  Form.h, Form.c:
    - line 215:  new function input_isEdit().

  Frame.c:
    - line 79 (delete_frame):  removed clearing of
      current_highlighted_link_.. pointers.

  global.h, Variable.c:
    - line 38 / 63:  replaced current_highlighted_link_area and
      current_highlighted_link_frame by the one url_link pointer
      current_highlighted_link.

  Location.c:
    - line 99 (new_location):  added forgotten trailing '\0' to the
      base path string.

  Mouse_R.c:
    - line 241 + 500:  removed old code.
    - check_mouse_position():  overworked to handle form input elements
      and to avoid false highlighting if the mose pointer is over an
      overlapping window.

  Redraws.c:
    - line 544 (draw_paragraph):  replaced word->link comparsion with
      current_highlighted_link_area.

September 29, 2002

  AltF4's patches

  AEI.c:
    - line 353 (iconify_window) + 368 (uniconify_window) + 712 + 719
      + 723 + 733 + 756 (process_messages):  frame->clip adapted to
      GRECT struct.

  Containr.h, Containr.c:
    - line 370 (containr_relocate)  + 509 + 522 (containr_shift) + 626
      + 692 702 (containr_scroll):  frame->clip adapted to GRECT
      struct.
    - line 349:  new function containr_Element();

  defs.h:
    - line 378 (struct word_item):  new attribute line.
    - line 441 (struct frame_item):  type of clip changed to GRECT.
    - line 491 (struct url_link):  new attribute start.
    - line 485:  moved struct word_line befor struct word_item.

  Frame.c:
    - line 34 (new_frame) + 97 + 99 + 103 + 106 + 113 + 119 + 122 + 136
      + 139 + 142 + 145 + 147 + 149 + 170 180 + 187 + 198 + 200 + 217
      + 225 + 229 (frame_calculate):  frame->clip adapted to GRECT
      struct.
    - line 267:  new function frame_paragraph().

  global.h:
    - new functions set_mouse_watch(), frame_paragraph(),
      paragrph_word(), paragraph_extend(), content_paragraph().

  HighWire.c:
    - line 211:  new function set_mouse_watch() to modify the mouse
      pointer movement watching rectangle.

  image.c:
    - line 406 (image_job):  frame->clip adapted to GRECT struct.

  keyinput.c:
    - line 105 + 117 (key_pressed):  frame->clip adapted to GRECT
      struct.

  Loader.c:
    - line 786 (init_load):  activate mouse pointer watching after
   	  window opend.

  Mouse_R.c:
    - button_clicked() and check_mouse_position() overworked to make
      use of the new containr_Element() function and also to extend the
      functionality of user actions.

  O_Struct.c:
    - line 134 (new_url_link):  preset link->start.

  Paragrph.c:
    - line 173 + 252 + 281 + 287 + 303 + 306(paragraph_calc):  modified
      to set the lines start attribute.
    - line 367: new functions paragrph_word(), paragraph_extend().
    - line 704: new function content_paragraph().
    - line 123: content_setup(), content_destroy() moved behind
      paragraph_extend().

  Redraws.c:
    - line 19 + 68 + 80 (frame_draw) + 91 + 93 + 102 + 180 (draw_vbar)
      + 211 + 213 + 222 + 296 (draw_hbar):  frame->clip adapted to
      GRECT struct.

  Table.h, Table.c:
    - new function table_content().

September 23, 2002

  AltF4's patches

  defs.h:
    - line 25:  made ALN_NO_FLT a #define to avoid Lattice C warnings.
    - line 79:  added (provisionally void) pointer for form input to
      struct word_item.

  Form.h, Form.c
    - new functions new_input() and input_draw().

  render.c:
    - line 18:  added include of Form.h.
    - line 1160 (render_IMG_tag):  corrected clearing of SPACE flag.
    - line 2434:  new function render_INPUT_tag().

  Redraws.c:
    - line 9:  added include of Form.h.
    - line 579 (draw_paragraph):  added call to input_draw().

  Table.c:
    - line 309 (table_cell):  added missing setting for 'align=left' to
      allow overriding of a previous '<tr align=..>'.

  token.h:
	- line 116 + 132:  new keys CHECKED and MAXLENGTH.

  W_Struct.c:
    - line 26 (destroy_word_structure):  prepared for deleting of form
      input struct, outcommented yet.
    - line 79 (new_word):  preset input pointer.

September 20, 2002

  AltF4's patches

  Location.c:
    - line 194 (new_location):  fixed logprintf() call.

  render.c:
    - completely restructured order of functions.  all  parse_<tagname>
      and  parse_<tagname>_tag  functions called by parse_html are
      renamed to  render_<TAGNAME>_tag  and sorted by meaning of HTML.
    - parse_html():  replaced the giant switch() statement of tags by a
      function table (automatical created fro token.h).  this makes
      rendering of complex pages up to 10% faster.

September 17, 2002

  AltF4's patches

  defs.h:
    - line 318:  in TEXTATTR struct, new attribute for condensed text.
    - line 327:  defines for asking of changed text attributes.
    - line 334:  macro defines for condensed text.

  render.c:
    - line 1983 (parse_html):  set condensed for TAG_CODE.
    - line 2054:  overworked TAG_LISTING because this must create a new
      paragraph.  also uses condensed text now.
    - line 2224..:  overworked to calculate condensed text.

  Redraws.c:
    - line 524..538 (draw_paragraph):  overworked to draw condensed
      text.
    - line 583:  decreased line height of strike through, looks better.

September 16, 2002

  AltF4's patches

  defs.h:
    - line 441:  in struct word_item, new attribute prev_wrd that holds
      the previous word_item just before the actual to store <br> line
      breaks.

  Paragrph.c:
    - line 116 (add_paragraph):  reset attribute prev_wrd.
    - line 589 (content_calc):  re-inserted (again) accidently removed
      setting of Y.

  render.c
    - line 769 (parse_BR_tag):  removed stored_word argument.
    - line 782:  changed to make use of current->prev_wrd instead of
      stored_word.
    - line 1520 + 1555..1583 (parse_img_tag):  overworked to have a fix
      font size and face for ALT texts.
    - line 1881 + 1913 + 1952 + 2013..2020 + 2033..2037 (parse_html):
      removed stored_word variable, replaced by current->prev_wrd.

  Table.c:
    - line 324 (table_cell):  restricted nonsens set values for cell
      height and width.

  W_Struct.c:
    - line 50 (new_word):  preset attribute prev_wrd.

September 15, 2002

  AltF4's patches

  Paragrph.c:
    - line 590 + 654 (content_calc):  removed multiple setting of Y.
    - line 655:  re-inserted accidently removed stuff for alignment of
      paragraphs without floating.

  render.c:
    - line 122 (get_align):  removed check for WorkCell->DummyFor, this
      is fixed now in Table.c.

  Table.c:
    - line 58 + 107 (table_start) + 229 + 380 (table_cell):  changed
      return type to void.
    - line 381 (table_cell):  restore values of WorkCell and NumCells
      to avoid WorkCell pointing to a useless Dummy cell.

  Table.h:
    - line 67 + 69:  changed return types to void.

September 14, 2002

  AltF4's patches

  defs.h:
    - line 4:  set version minor to 9.
    - line 24:  changed enum H_ALIGN.
    - line 393:  added attribute floating to struct PARAGRPH to store
      if following paragraphs shall float around.
    - line 468:  moved struct blocking_area to Paragrph.c because its
      only used there.

  image.c:
    - line 328 + 375 (image_job):  added check if par->min_width needs
      to be changed.

  Paragrph.c:
    - line 11 () + 175 (paragraph_calc) + 353 (punch)
      + 373 + 392 (content_minimum):  removed typedef TEXTWORD, make
      use of WORDITEM instead.
    - line 11:  changed struct blocking_area to have two seperate
      bottoms for both left and right.
    - line 159.. (paragraph_calc):  overworked to dial with two
      seperate bottoms for both left and right.
    - line 561 (content_calc):  overworked to dial with two seperate
      bottoms for both left and right and simplyfied by merging common
      code parts.

  render.c:
    - line 782 (parse_BR_tag):  added check for <br clear> as found in
      some older HTML files.
    - line 1525.. (parse_img_tag):  floating around an image is stored
      now in paragraph->floating.

  Table.c:
    - line 73 (table_start) + 435 (free_stack):  removed SavedAlign,
      not needed anymore.
    - line 85 (table_start):  floating around a table is stored now in
      par->floating.

  Table.h:
    - line 21:  removed SavedAlign attribute.

September 11, 2002

  AltF4's patches

  defs.h:
    - line 24:  changed order of enum H_ALIGN for easier comparsion.

  Paragrph.c:
    - line 145 (content_destroy):  enabled freeing of tables.
    - line 610 +722 (content_calc):  included justified alignment into
      checking.

  Table.c:
    - line 28:  added forgotten delete_table() function.
    - line 55 (table_start):  removed useless check for ALN_JUSTIFY.

  Table.h:
    - line 69:  declaration for delete_table().

September 10, 2002

  AltF4's patches

  color.c:
    - line 9:  new struct SRGB to also store the saturation of colours.
    - line 12:  new function to calculate the saturation.  this is
      simply the difference between the highest and the lowest
      componente of a colour. eg. for pure bright red/green/blue it is
      255 and for all black/gray/white it is 0.
    - line 19 (remap_color):  overworked to include saturation into
      comparsion.
    - line 78:  removed old stuff.

  Form.c:
    - line 12:  inserted #include "Form.h" to make it working with gcc.

  Makefile:
    - changed line ends to LF only (unix style).  else 'make' refuses
      to process it.

  parser.c:
    - line 252..284 (parse_tag):  overworked to avoid double checking
      of quotation marks.

August 30, 2002

  Baldrick's patches (actually a few patches after a week of bug hunt)

  Parser.c
    These are some modifications I'm not 100% happy about.  They deal
    with some sites using a ' instead of " in the key area of tags

    - line 260-263 added if else pair to intercept ' and parse it
    - line 283 catch ' at end and handle advance

  Render.c
    - line 116 added a check for page and para being centered in get_align
      this gets rid of one of the remaining problems with centering
    - line 122 get_align() check if TableCell is a DummyFor if it is
      then get the data from the DummyFor pointer (DummyFor cells are
      blank cells coverd by ROWSPAN or COLSPAN) Thanks to Rainer
      for helping me track this one down.
    - line 556 parse_header_tag() added short cur_color to track the
      current font_step color
    - line 580 parse_header_tag() extract the current color
    - line 592 parse_header_tag() if color is -1 use the cur_color value
    - parse_p_tag() removed excess indents no code change

  Table.c
    - line 309,311,313 added setting of cell->Content.Backgnd to line

August 21, 2002

  Baldrick's patches

  Form.c, Form.h
    - New files for FORM functions

  Highwire.PRJ, PureWire.PRJ and Makefile updated

  defs.h
    - added defines for FRMSTACK and FORM
    - added FRMSTACK FormStack to frame_item struct
    - added include for Form.h for PureC
    - added FORM_METHOD enum
    - updated HIGHWIRE_VERSION to 0.09
    - added FORM Form to paragraph_item struct

  Render.c
    - line 1996: call form_start() and form_finish() as appropriate

August 20, 2002

  Baldrick's patches

  AEI.C
    - reworked process_messages again to eliminate the possibility
      of scroll by line operating by page

  Defs.H
    - line 20: added PAR_FORM to PARAGRAPH_CODE enum

  Render.C
    - line 1995: grab out FORM tag, do nothing with it yet
    - line 2028: grab out INPUT tag, do nothing with it yet
    - line 2097: grab out SELECT tag, do nothing with it yet

  Token.h
    - line 41 new tag FORM
    - line 49 new tag INPUT
    - line 58 new tag OPTION
    - line 66 new tag SELECT

August 19, 2002

  Baldrick's patches

  AEI.C
    - reworked process_messages to handle all WM_ARROWED message types
      this allows realtime scrolling with programs like MWheel.  I put
      in full support even though MWheel doesn't seem to send them all
      but that could be a limitation of my IBM scroll point mouse.
      Scrolling is based on frame under Mouse pointer.

August 15, 2002

  Baldrick's patches

  AEI.C
    - line 699 initial support for WM_ARROWED message

August 14, 2002  (HW 0.0.8a released code)

  AltF4's patches

  cache.c:
    - line 24 + 39 (cache_insert):  changed argument to take over the
      new cache object (to avoid further use of non-const pointer).
    - line 71 (cache_lookup):  corrected return value.
    - line 79 (cache_bound):  changed return type.

  cache.h:
    - line 4 + 7:  changed declarations.

  defs.h:
    - line 264 + 281:  moved over forground and background colour to
      struct s_img_data.
    - line 265 + 271:  renamed pointer type for caching types..
    - line 404 + 417 + 420:  removed outcommented stuff.

  image.c:
    - line 19..35:  changed return types of image reader functions.
    - line 54:  added rasterizer function pointer.
    - line 156 + 186 (new_image) + 199 + 205 + 208 (delete_image)
      + 228 + 236 + 239 (image_calculate) + 277 + 280..301 + 330
      (image_job):  adapted to changed pointer types.
    - line 152 + 176 (new_image):  moved setting of display size.
    - line 169:  improved size calculation if the image was found in
      cache to get reasonable values for percentage sized images.
    - line 219:  new function img_scale().
    - line 246 (image_calculate):  improved size calculation if the
      image was found in cache to get reasonable values if some size
      value wasn't given.
    - line 264 (image_job):  simplified code.
    - line 365:  moved over scaling to img_scale().
    - line 837 (read_gif):  overworked due to changed RASTERINFO.

  keyinput.c:
    - line 135 (key_pressed):  on HELP key pressed, open the related
      page in the main frame.  this is much more logical.

  Location.c:
    - line 166..167 + 184 (new_location):  these both lines were
      toggled by accident.  fixing this makes the fix below needless.

  Paragrph.c:
    - line 411 (content_minimum):  corrected minimum value for images
      with percentage width.

  Redraws.c:
     - line 400 + 405 + 434 (draw_image):  adapted to changed IMGDATA.

  render.c:
    - line 1995 + 2182 (parse_html):  moved the the 'case FRAMESET'
      just befor the 'case HTML' to avoid crashes due to rubbish html
      code.

August 13, 2002

  Baldrick's patches

  Containr.c
    - line 164 set frame->scroll from cont->scroll

  Containr.h
    - line 55 added SCROLL_CODE scroll to s_containr struct

  Defs.h
    - line 37 new enum SCROLL_CODE - handles Frame scrolling value
    - line 417 added SCROLL_CODE scroll to frame item struct

  Frame.c
    - line 30 init frame->scroll to SCROLL_AUTO
    - frame_calculate() over worked to handle new SCROLL_CODE values

  Redraws.c
    - line 45 put scroller drawing inside if not SCROLL_NEVER test

  Render.c
    - line 1741 added output
    - line 1748-54 handle key SCROLLING

  Token.h
    - line 133 added new key item SCROLLING

August 12, 2002

  Baldrick's patches

  Redraws.c
    - 152 changed + 1 to +2 to get rid of ghost line
    - many notes added to draw_vbar() for reference

August 11, 2002

  AltF4's patches

  AEI.c:
    - line 603 (rpopup_open):  changed int to WORD of HW_form_do()
      declaration.
    - line 607:  moved the popup 2 pixels up/left to make it more easy
      to catsh it with the mouse.
    - line 610 + 620:  placed wind_update() calls to get exvlousive
      access of mouse clicks.

  cache.c:
    - line 15:  added anonymous destructor function attribute.
    - line 24 + 30 (cache_insert):  added anonymous destructor argument
      to make it possible to remove not longer refferenced objects
      without any knowledge about their structure.
    - line 77 + 83 (cache_bound):  added argument to share the cache's
      location.  this saves a bit of mamory and makes cache hits of
      percentage scaled images faster.
    - line 94 + 104 (cache_release):  added argument to determine if an
      object shall be removed immediately (in case that it isn't used
      any longer).
    - line 127:  new function cache_clear().
    - line 130 (cache_info):  added argument to return a list of
      detailed cache information.

  cache.h:
    - extended some declarations and added new.

  image.c:
    - line 100 +139 (new_image):  moved some settings below, else these
      case a crash if loading an image directly.
    - line 165:  set display width and height to the original image
      size.
    - line 168:  extended cache_bound() call.
    - line 194 (delete_image) + 225 (image_calculate):  extended
      cache_release() call.
    - line 251 (image_job):  corrected hash value, fixed redrawing.

  inet.h, inet.c:
    - line 228:  new function inet_info() to return the interface type.

  Loader.c:
    - line 381 + 455 (new_loader_job):  moved free_location() to the
      end of the function.
    - line 388:  overworked "about:" stuff, it understands now also
      "about:cache".
    - line 411 + 423 + 432 + 440 + 449 + 453:  replaced
      loader->Location by local variable loc.

  Widget.c:
    - line 28..33 (HW_form_do):  changed int to WORD, else gcc uses

August 9, 2002

  Baldrick's patches

  Makefile, purewire.prj, highwire.prj:
    - updated.

  AEI.C
    - line 584 added routine rpopup_open()

  Global.h
    - line 74 added proto for rpopup_open()

  Highwire.rsc
    - updated for right popup

  Highwire.C
    - line 34 added OBJECT *rpopup
    - line 150 added rsrc_gaddr for RPOPUP

  Loader.c
    - line 347 new routine launch_viewer()  - launches "viewer"
      on system if one defined, shows the src code for the current
      file.  For comparisons and to help identify problems.

  Location.c
    - line 184 added test for loc_proto == 1 (about:) otherwise
      we had the proto overwritten and could not display about:

  Widget.c
    - new file for handling HighWires Widgets and their operation
      not much there yet.

August 8, 2002

  AltF4's patches

  Makefile, purewire.prj, highwire.prj:
    - updated.

  cache.h, cache.c:
    - new files for memory caching functions.

  image.c:
    - line 96 (new_img):  lookup if the image is already in cache.
    - line 108 + 98:  moved initialization part to the beginning.
    - line 155:  if the image is already in memory and scaling matches
      share it.
    - line 165:  avoid reloading a found image.
    - line 178 (delete_image) + 199 (image_calculate):  uses
      cache_release() now.
    - line 217..285 (image_job):  only load image if not found in
      cache.

  Location.c:
    - line 242 (location_equal):  corrected comparsion.

  Location.h:
    - line 25:  changed return type of location_equal() to BOOL.

  Paragrph.c:
    - line 251 + 260 + 272 (paragraph_calc):  corrected offsets for
      clickable areas, named locations and images.

  render.c:
    - line 223..275 (parse_anchor):  replaced p_frame->current by local
      current variable.
    - line 261:  corrected offset argument for new_named_location().

August 7, 2002

  Baldrick's patches

  Global.h
    - line 69 changed prototype for button_clicked()

  Highwire.c
    - line 42 modified mouse entries in EVMULTI_IN struct
       I left the old values in a rem since I'm not certain
       about what I've added and if everything is there that's
       needed.
    - line 199 added out.emo_mbutton to button_clicked() call

  Mouse_R.c
    - line 17 added WORD button parameter to button_clicked() routine
    - reworked button_clicked() routine to handle left and
      right mouse button operation

  AltF4's patches

  color.c:
    - line 3:  inserted #include <stddef.h> for size_t declaration.

  defs.h:
    - line 68:  new forward declaration for struct word_item.
    - line 247:  new structure IMGDATA that can be shared by different
      IMAGE structures.
      this must be enclosed in a #ifdef block else Pure C 1.0 produces
      corrupted binaries !!!
    - line 248..255 (struct s_image):  several attributes are located
      in IMGDATA now.
    - line 347 + 355 + 414:  replaced struct word_item * by WORDITEM.

  image.c:
    - line 5:  #define to avoid compilerbug in PureC 1.0
    - line 116 (new_image):  removed setting of no longer existing
      img->fd_.. attributes, set img->data instead.
    - line 184 (delete_image) + 204 (image_calculate)
      + 231 (image_job) + 302 + 328 + 339 (setup)
      + 889 + 925 (read_gif):  adapted to IMGDATA structure.

  Redraws.c:
    - line 6:  #define to avoid compilerbug in PureC 1.0
    - line 396 (draw_image):  adapted to IMGDATA structure.

  Variable.c
    - line 3:  inserted #include <stddef.h> for size_t declaration.

August 6, 2002

  AltF4's patches

  AEI.c:
    - line 120 (wind_handler):  changed pointer argument type to const.
    - line 437 + 472 (menu_info):  changed pointer types to const,
      avoid usage of location->FullName.

  Containr.c:
    - line 717 (containr_notify):  changed pointer argument type to
      const.

  Containr.h:
    - line 31 + 174:  changed pointer argument type to const.

  http.c:
    - line 265 (http_header):  avoid usage of location->FullName.

  Loader.c:
    - line 277 (loader_job):  added old location argument for servers
      returning invalid (not absolute) redirects like atari-source.com
      does.
    - line 674 (init_load):  changed pointer argument type to const.

  Location.c:
    - line 40 (_alloc):  extended to copy path and file into a newly
      created structure.
    - line 62 (new_location):  removed variables *p, path_ln, file_ln,
      merge, is_tos, uses dir instead.
    - line 68:  moved LOCAL_WEB stuff below.
    - line 83:  creating of __base location adapted to new dir_entry().
    - line 175:  creating of __local_web adapted to new dir_entry().
    - line 183:  removed the parsing of the path.  this is done now by
      the new dir_entry() function.
    - line 256 (free_location):  additional check to not free the
      __local_web structure.
    - line 274:  new location_Path() to return the path (without the
      file name) of a location.
    - line 275:  new location_equal() to check if two locations reffers
      the same object (will be needed for caching).
    - line 360:  new function dir_entry() to parse and merge the path
      part of a URL.

  Location.h:
    - line 11:  new anonymous attribute Dir.
    - line 12:  removed attribute isTos, not longer used.
    - line 24:  new declarations location_Path() and location_equal().

  render.c:
    - line 2294 (parese_html) + 2415 (parse_text):  avoid usage of
      location->FullName.

August 5, 2002

  AltF4's patches

  defs.h:
    - line 20:  rearanged order of enum PARAGRAPH_CODE to have the
      highest values for the items which need the most exceptions.
    - line 32:  changed values of enum L_BRK.  now they can be handled
      a bit easier by using and/or operations.
    - line 38:  removed enum direction.
    - line 332:  in struct word_item, added length attribute to store
      the number of 16bit characters.

  Paragrph.c:
    - line 174 (paragraph_calc):  simplified the code a bit by using
      word->space_width and word->length to determine spaces.
    - line 394 (content_minimum):  removed if() branch.
    - line 403:  simplified if() branch for empty words, line breaks
      are now simply or'ed together.
    - line 427:  if a word item contains no Space_Code clear the
      space_width.
    - line 472:  line breaks are now simply or'ed together.

  Redraws.c:
    - line 560 (draw_paragraph):  removed increment of space_width.

  render.c:
    - line 193 (parse_blockquote_tag) + 1889 + 2196 (parse_html)
      + 2333 (parse_text):  corrected value for word->space_width.
    - line 764 (parse_BR_tag) + 2023 (parse_html) + 2367 (parse_text):
      replaced BRK_NONE by BRK_LN, this makes the cood looking a bit
      more clear.

  W_Struct.c:
    - line 7:  static field for word_items with no or only Space_Code
      content.
    - line 12 (destroy_word_structure):  changed if() to not free the
      static field above, a null pointer can't occure anymore.
    - line 64 (new_word):  always initialize word item with the Empty
      field.  this makes the code a bit more robust.
    - line 79 (word_store):  if there is no content to store the word
      item stays untouched because it already is set to the Empty
      field.  if there is only one Space_Code to store it will be set
      to the Space field and word_width is exactly space_width.  Else
      the function behaves as befor.  this saves a bit of processing
      time due to less malloc/free calls.

August 2, 2002

  AltF4's patches

  AEI.C
    - line 491 (menu_reload):  set bit 7 of the encoding to force the
      parser to use it.

  http.c:
    - line 113 (http_charset):  fixed start of scanning, else it tryed
      to interprete the ';'.

  Paragrph.c:
    - line 161 (paragraph_calc):  overworked to get correct line breaks
      (only at a blank or <br> tag).
    - line 361:  new function punch() to remove one or more word_items
      from the linked list.
    - line 374 (content_minimum):  inserted code to calculate the
      correct minimum width of paragraphs, regarding blanks.  this code
      also filters out invalid/empty/useless word_item.
    - line 404 (content_maximum):  removed wor_item check, already done
      in content_minimum().

  render.c:
    - line 262 (parse_anchor):  changed storing method of <a name=..>
      anchors.
    - line 265:  removed check for link type, not necessary anymore.
    - line 1858 + 1872 + 2026 (parse_html):  determine if the frame's
      encoding was set by an user action (if bit 7 is set) to prevent
      if from geting overwritten by a meta tag.
    - line 2295 (parse_text):  masks out the force_cset bit.

  Table.c:
    - line 94 (table_row):  inserted word_store() call to avoid invalid
      word_items.
    - line 210 + 269 (table_cell):  moved up word_store() call.

  token.h:
    - line 106...:  added several comments about wich key is used by
      which tag.

  W_Struct.c:
    - line 58 (new_word):  removed check for link type, not necessary
      anymore.
    - line 82 (word_store):  removed setting of paragraph minimum, this
      will be done in content_minimum() instead.

July 26, 2002

  AltF4's patches

  AEI.c:
    - line 375... new/renamed functions:
      - menu_about() was previous do_info_dialog() from HighWire.c.
      - new menu_open() for entering an URL and/or opening the file
        selector.
      - new menu_info() to give some basic information about the active
        frame.
      - new menu_reload().
      - new menu_fontsize() to change the displayed font size.
      - handle_menu() moved over from HighWire.c.
      - new update_menu():  to set the charset entry checked depending
        to the active frame.
    - line 462 (process_messages):  extended handle_menu() call.

  defs.h:
    - line 4 + 7:  updated version.

  global.h:
    - line 70:  extended process_messages() declaration.
    - line 73:  new functions update_menu(), menu_open(), menu_info(),
      menu_quit(), menu_reload(), menu_fontsize().  These are used by
      both menu bar selection and keyboard hot keys.
    - line 96:  removed handle_menu() declaration, is now static in
      AEI.c.
    - line 101:  removed do_info_dialog() declaration, is now static
      function menu_about() in AEI.c.

  HighWire.c:
    - line 193 (main):  extended process_messages() argument list.
    - line 224...:  moved do_info_dialog() and handle_menu() over to
      AEI.c.

  highwire.rsc, highwire.h, highwire.rso:
    - extended, generated by resource editor.

  keyinput.c:
    - line 14 (key_pressed):  corrected argument 'state' to type UWORD
      because this is a bit mask.
    - line 68:  added update_menu() to set the actual charset entry
      checked.
    - line 72 + 166 + 172 + 178 + 184 + 190:  replaced new_loader_job()
      calls by menu_reload().
    - line 85..120:  reformatted for better readability.
    - line 130:  corrected margins to default values.
    - line 140 + 152:  replaced code by menu_reload() call.
    - line 197..212:  replaced calls by menu_...() calls.

  Loader.c:
    - line 97 (parser_job):  added update_menu() to set the actual
      charset entry checked.
    - line 644:  removed unused translate_address().

  Mouse_R.c:
    - line 165 (button_clicked):  added update_menu() to set the actual
      charset entry checked.

  render.c:
    - line 526 (parse_font_tag):  added a check if the word is a link
      to avoid wrong colours of anchors.

July 24, 2002 (v0.0.7 alpha)

  AltF4's patches

  Paragrph.c:
    - line 576 + 580 (content_calc):  added left margin width.

  Redraws.c:
     - line 604 (draw_contents):  added a check if the background needs
       to be drawn at all.

  render.c:
    - line 1486 (parse_hr_tag):  corrected colour setting for size=1
      and noshade.

  W_Struct.c:
    - line 90 (word_store):  uses the slightly faster vqt_f_extent16n()
      if gemlib 0.42.2 is installed.

July 23, 2002

  Baldrick's patches

  Defs.h
    - added H_ALIGN ALN_FLEFT for forced left alignments on floating
      objects (starting with tables)

  Paragrph.c
    - line 518 removed line
    - line 531 removed line
    - reworked table section of content_calc() initial table wrapping
      work in place

  Table.c
    - line 57 added parsing and setting of align left = ALN_FLEFT

  New HTML file TEXTWRAP.HTM to test text wrapping and br clear=x

  Matthias Jaap's patches

  Render.C
    - line 670 new routine parse_iod4_tag()
       - only supported attribute is SHOUT
    - line 2006 added parsing of TAG_IOD
    - line 2021 added code for TAG_LISTING
    - line 2153 added code for TAG_XMP

  token.h
    - line 48 added new tag <IOD4> - supported by the browser of the
      same name
    - line 51: added tag <LISTING>
    - line 79: added tag <XMP>
    - line 133 added key SHOUT attribute (for IOD4)

  AltF4's patches

  Containr.c
    - line 28 (new_containr):  set the base container's name to '_top'.
    - line 249 (containr_byName):  recognizes special target names.

  defs.h
    - line 15:  removed ENCODING_BICS because this can never be a
      source encoding, added ENCODING_Unknown.
    - line 380:  in struct frame_item, added attribute Encoding.

  encoding.c
    - line 510 (encoder_word) + 755 (encoder_char):  removed not longer
      existing case ENCODING_BICS.

  Frame.c
    - line 18 (new_frame):  extended argument list for setting of
      encoding and margin width/height.

  global.h
    - line 90:  extended new_frame() argument list.

  Highwire.htm
    - updated to illustrate margins

  http.c
    - line 18 (http_charset):  corrected return type.
    - line 148 (content_type):  corrected checking of type and cset.

  image.c
    - line 101 (new_image):  adapted to changed new_frame().

  keyinput.c:
    - line 72..189 (key_pressed):  adapted to changed new_loader_job().

  Loader.c
    - line 66 (new_loader_job):  extended argument list to have
      encoding and margins set.
    - line 66 (parser_job):  adapted to changed new_frame().
    - line 266 + 274 + 307 (loader_job):  get now encoding from loader
      instead of location.
    - line 351 (new_loader_job):  extended argument list for storing of
      encoding and margin width/height.
    - line 437:  removed lot of long-time outcommented stuff.
    - line 549 + 678 (load_file):  added encoding argument.
    - line 763 (init_load):  removed setting of container name, this
      will be done by new_containr.
    - line 779 (init_load) + 824 (page_load):  adapted to extended
      new_loader_job().

  Loader.h
    - line 39:  added attributes Encoding, MarginW/H.
    - line 49:  extended new_loader_job() argument list.

  Location.c
    - line 44 (_alloc):  removed encoding setting.

  Location.h
    - line 9:  removed attribute encoding because this doesn't belong
      here but to frame and loader.

  Mouse_R.c:
    - line 158 (button_clicked):  adapted to changed new_loader_job().

  render.c
    - line 198 (parse_blockquote_tag) + 662 + 665 (parse_meta_tag)
      + 1499 + 1547 (parse_img_tag) + 1577 (parse_title)
      + 1644 (parse_embed) + 1840 (parse_html) + 2268 (parse_text):
      get now encoding from loader instead of location.
    - line 1729 (parse_frameset):  adapted to changed new_loader_job().


July 22, 2002

  Baldrick's patches

  Defs.h
    - line 32 added new enum L_BRK - for handling BR clear codes
    - modified line_brk to L_BRK

  Paragrph.c
    - line 310 -inserted code to handle clear code line breaks
       (I'm not 100% happy with it's output - baldrick)

  Render.c
    - line 736 new routine parse_BR_tag() handles BR parsing
    - line 1919 changed code to call parse_BR_tag() routine
    - line 1993 changed line_brk code to BRK_NONE
    - line 2323 changed line_brk code to BRK_NONE

  Token.h
    - line 110 added key CLEAR

July 21, 2002

  AltF4's patches (several days worth)

  purewire.prj, highwire.prj:
    - corrected dependency for Table.c

  Containr.c:
    - line 493 + 506 (containr_shift):  adapted to changed struct
      frame_item.

  defs.h:
    - line 358:  new colour attribute Backgnd in struct s_paragrph.
    - line 378:  in struct frame_item, new substructure CONTENT to
      group attributes item, page_minimum, page_width, page_height,
      background_colour, alignment.

  encoding.c:
    - line 656 (windows1252_to_atari):  fixed forgotten pointer
      increment.

  Frame.c:
    - line 24 (new_frame):  makes use of content_setup() now instead of
      own presetting.
    - line 71 (delete_frame):  replaced destroy_paragraph_structure()
      by content_destroy().
    - line 114 + 117 + 121 + 135 (frame_calculate):  adapted to changed
      content_calc().
    - replaced all frame->item, frame->page_minimum, frame->page_width,
      frame->page_height, frame->background_colour, frame->alignment by
      the corresponding frame->Page members.
    - line 24 (new_frame):  adapted presetting to CONTENT substructure.

  global.h:
    - line 70:  changed declaration of draw_contents(), rearanged the
      order of declarations.
    - line 142:  new functions content_setup(), content_destroy(),
      content_stretch(),  changed declarations of content_minimum(),
      content_maximum(), content_calc().

  HWDOC.HTM
    - updated to demonstrate CSS parsing

  image.c:
   	- line 166 (new_image) + 257 (image_job):  removed page_margin,
      already handled by content_minimum().
    - line 103 + 166 (new_image) + 257 (image_job):  adapted to changed
      struct frame_item.

  keyinput.c:
    - line 84 + 89 (key_pressed):  adapted to changed struct
      frame_item.

  Mouse_R.c:
    - line 42 + 90 (button_clicked):  adapted to changed struct
      frame_item.

  Paragrph.c:
    - line 54 (new_paragraph) + 96 (add_paragraph):  preset background
	  colour.
    - line 112: new functions content_setup() and content_destroy().
    - line 298 (content_minimum) + 320 (content_maximum):  overworked
      to add the content's margins.
    - line 354 (content_calc):  overworked HR calculation.
    - line 472:  new functions content_stretch().

  Redraws.c:
    - line 73 (frame_draw):  removed drawing of background, this is
      handled now by content_draw().
    - line 317 (draw_hr):  completely reworked corresponding to the
      changes in the renderer and calculation functions, for correctly
      size/position calculation and color attribute.
    - line 549 + 556 (draw_paragraph):  fixed missplaced ALT text for
      hspace >0.
    - line 605 (draw_contents):  added content background filling.
    - line 620:  added paragraph background colour filling.
    - line 73 + 76 (frame_draw):  adapted to changed struct frame_item.
    - line 615 (draw_contents):  draw background if paragraph colour is
      set.

  render.c:
    - line 68:  removed convert_to_number(), isn't used any longer.
    - line 316 (parse_body):  extended to handle attributes MARGIN,
      MARGINHEIGHT/TOPMARGIN, MARGINWIDTH/LEFTMARGIN.
    - line 1409 (parse_hr_tag):  completely reworked for correctly
      size/position calculation, can now also handle attributes
      color and background-color.
    - line 2214 (parse_html) + 2334 (parse_text):  removed page_margin,
      already handled by content_minimum().
    - replaced all p_frame->item, p_frame->page_minimum,
      frame->background_colour, p_frame->alignment by the corresponding
      frame->Page members.
    - line 139 (get_align):  replaced ->WorkCell->Paragraph-> by
      ->WorkCell->Content.Item->.
    - line 550 (parse_header_tag):  set background and text colour from
      Css style attribute.

  scanner.c:
    - line 188 (scan_css):  inserted forgotten line counter setting.
    - line 216 (scan_css):  if a keyword isn't found in the CSS table,
      search also in the normal key table.

  Table.c:
    - line 177 (new_cell):  added argument 'padding', makes use of
      content_setup() now instead of own presetting.
    - line 237 + 241 + 273 + 296 + 327 + 351 + 353 (table_cell):
      added padding argument.
    - line 511 + 519 + 547 + 576 + 616 (table_finish):  adapted to
      changed content_minimum()/_maximum(), removed padding value since
      this is handled now by the content functions.
    - line 616:  removed padding value.
    - line 647 + 786 + 786 + 798 + 863 + 870 (table_calc):  adapted to
      changed content_calc().
    - line 918 (table_draw):  removed drawing of cell background, this
      is handled now by content_draw().
    - replaced all cell->Color, cell->Paragraph, cell->Width,
      cell->Height by the corresponding cell->Content members.
    - line 183 (new_cell):  adapted presetting to CONTENT substructure.

  Table.h:
    - line 53:  in struct s_table_cell, new substructure CONTENT to
      group attributes Colour, Paragraph, Width, Height.

  token.h:
    - line 120 + 132:  new attribute keywords MARGINWIDTH/LEFTMARGIN
      and MARGINHEIGHT/TOPMARGIN.
    - line 181:  new CSS keyword MARGIN.

July 18, 2002

  Baldrick's patches

  Defs.h
    - line 263 added short hspace

  global.h
    - line 49 added extern for page_margin
    - line 147 added hspace param to new_image() prototype

  Image.c
    - line 85 added hspace to img->word->word_width
    - line 91 added hspace param to new_image()
    - line 108 set img->hspace to hspace param
    - line 166 replaced 5 with page_margin
    - line 257 replaced 5 with page_margin
    - line 270 add hspace to rec.g_w

  loader.c
    - line 416 added 0 (hspace) to call of new_image()

  Paragrph.c
    - line 399 removed rem'd out tests

  Redraws.c
    - line 353 replaced 5 with page_margin
    - line 544 modify x by img->hspace

  Render.c
    - line 1501 added get_value_size(KEY_HSPACE) to call of new_image()
    - line 2209 replaced 5 with page_margin
    - line 2329 replaced 5 with page_margin

  Token.h
    - line 117 added KEY HSPACE

  variable.c
    - line 42  new variable page_margin (replaces all those 5's in code)
       eventually should be user configureable

  AltF4's patches

  Makefile, purewire.prj, highwire.prj
    - updated for encoding.c

  encoding.c:
    - new file for charset encoding functions.

  parser.c:
    - line 278 (parse_key):  new code to store CSS keys/values of
      <.. style="..">.

  render.c:
    - line 549 (parse_header_tag):  added color that can be given by
      style="color:...;".
    - line 655 (parse_meta_tag):  changed if() condition, else gcc
      would assume the cset variable as unsigned.
    - line 1523 (parse_title):  overworked to make use of the new
      encoder_char().
    - line 1792 + 2180 (parse_html):  overworked to make use of the new
      encoder_word().
    _ line 2110:  changed handling of blanks and white spaces.
    - line 2214 + 2288 (parse_text):  overworked to make use of the new
      encoder_word().

  scanner.c:
    - line 177:  changed the NAMEDCHAR array.  now it contains only
      unicode values (as suggested by Rainer), no more bics and asciis.
    - line 266:  moved Atari_to_BICS[], ISO8859_2_to_BICS[],
      windows1252_to_BICS[], Unicode_to_BICS[], Unicode_to_Atari[] over
      to encoding.c.
    - line 687 (scan_namedchar):  overworked, can now write multi byte
      also for Atari System Font 8 bit string.
    - line 807:  removed scan_char_to_Atari8bit(), this is now handled
      by (*encode_char)() in encoding.c.
    - line 807:  removed scan_char_to_16bit(), this is now handled
      by (*encode_word)() in encoding.c.
    - line 997 (scan_string_to_16bit):  moved to the end of the file,
      changed to make use of encoder_word().
    - new function scan_css for CSS keywords.

  scanner.h
    - cnanged declaration of scan_namedchar().
    - removed scan_char_to_Atari8bit(), scan_char_to_16bit().
    - new functions encoder_word(), encoder_char(), unicode_to_bics(),
      unicode_to_atari().  these are located in encoding.c.
    - new function scan_css for CSS keywords.

  token.h:
    - line 123:  new KEY_STYLE.
    - line 139:  new enum HTMLCSS.

July 15, 2002

  Baldrick's patches

  Paragrph.c
    - line 368 - added test to check if new paragraph can occupy any
       portion of the current line
    - line 399 - rem'd out old tests and added new test for ALN_CENTER
       old code left for the moment until further testing can be done
    - line 454 - added check for the paragraph not being text, since
       modifying the text here completely messes it up later

July 14, 2002

  Baldrick's patches

  paragrph.c
    - line 208 reworked section removing test for blocker->bottom

  AltF4's patches

  AEI.c:
    - line 22:  placed #ifdef around the appl_xgetinfo() function, the
      coming gemlib revision will have this implemented.

  config.c:
    - completely reworked for faster processing and less restricting of
      white spaces in the cfg file, also added new keyword FONT_SIZE.
      the cfg file will now be searched in this order:
      $HOME/defaults/highwire.cfg -> $HOME/highwire.cfg
      -> $HOME/.highwire -> <start_dir>/highwire.cfg

  render.c:
    - line 2212 (parse_text):  overworked to avoid that every single
      text line gets its own paragraph struct.  this saves memory and
      makes scrolling and resizing a bit faster.

  Variable.c:
    - line 11:  in the fonts array, removed stuff that was left over
      from some testings.

July 12, 2002

  Baldrick's patches

  Paragraph.c
    - line 427 changed test to  < 0 from <= 1

  AltF4's patches

  defs.h:
    - line 276:  in struct font_style, removed font and font_size.
    - line 280:  replaced struct word_changed by union TEXTATTR plus
      access macros (to avoid problems with Lattice compiler).
    - line 288:  in struct word_item, replaced structs styles and
      changed by union TEXTATTR attr, removed colour.
    - line 355:  in struct frame_item substructure current, added
      struct font_style styles.  this isn't handled any longer per
      word.

  global.h:
    - line 160:  replaced decls of word_set_color(), word_set_point(),
      word_set_font() by macro defines.

  Paragraph.c:
    - line 38 (new_paragraph):  reset style counters in frame->current
      because this becomes the first paragraph of a content.

  Redraws.c:
     - line 506ff (draw_paragraph):  overworked to make use of
       word->attr instead of word->changed and word->styles.
     - line 578 (set_veffects):  removed, not longer needed.

  render.c:
    - line 202 (parse_blockquote_tag) + 323 (parse_body)
      + 1179 + 1224 (parse_li_tag) + 1383 (parse_hr_tag)
      + 1497 (parse_img_tag) + 1815 + 2033 +2038 + 2079 (parse_html)
      + 2217 (parse_text):  adapted to make use of word->attr.

  Table.c:
    - line 41 (table_start):  save current style counters.
    - line 403 (free_stack):  restore previous style counters.
    - line 405:  removed resetting of word->changed.

  Table.h:
    - line 27:  in struct s_table_stack, added SavedStyles to store
      style counters from frame->current.

  W_Struct.c:
    - line 43 + 61 (new_word):  replaced setting of word->styles and
      word->changed by word->attr.
    - word_set_bold(), word_set_italic(), word_set_strike(),
      word_set_underline():  adapted to make use of word->attr and
      frame->current.styles.
    - word_set_color(), word_set_point(), word_set_font(): removed.

July 7, 2002

  AltF4's patches

  defs.h:
   - line 6:  added define for BETATAG.

  HighWire.c:
   - line 232 (do_info_dialog):  added BETATAG to the alert box.

  Loader.c:
   - line 363 (new_loader_job):  improved 'about:' page.

  inet.c:
   - updated some gcc related stuff.

July 2, 2002

  AltF4's patches

  image.c:
    - line 902 (read_gif):  corrected the start value of the Y scale
      counter to the half of a scaling step.  else the loop performs
      (mostly) one line too much.

July 1, 2002

  AltF4's patches

  Containr.c:
    - line 254 (containr_byName):  assigned the target name "_top" to
      the base container of a tree to make links with a target of this
      name working.

  image.c:
    - line 316 (setup):  corrected calculation of y scaling.  this was
      a serious bug that could cause crashes by overwriting out of
      boundary memory.

  Location.c:
    - line 117 (new_location):  copy remote information from base
      location.

  Table.c:
    - line 891 (table_draw):  fixed x position for table background.

June 30, 2002

  AltF4's patches

  Table.c:
    - line 72 (table_start):  add space for cell border to the padding.
    - line 273ff (table_cell):  rearanged to make it more logical.
    - line 443 (table_finish):  preset table minimum/maximum width.
    - line 493:  precalculate percent cell width if the table has a
      fixed size.
    - line 566:  removed adding of cell spacing to the table minimum/
      maximum width.

June 28, 2002

  Baldrick's patches

  Purewire.prj
    - modified stack setting to 16384

  Paragraph.c
    - line 267 modified test to exclude PAR_IMG paragraphs
    - line 388 - 392 and 396  truely ugly test to avoid resetting
        the blocking area if our current alignment matches the blocking
        alignment (sorry no concentration today to make it look nice)
    - line 406 modified to += from just =
    - line 418 modified to += from just = (this aligns img's in row)
    - line 457 check if height is less than blocking.bottom and modify
        if it is (fixes one error in wrap_err2.htm)

June 27, 2002

  Baldrick's patches

  defs.h
    - line 385 new struct blocking_area definition
        (this handles an object area left/right align)

  paragraph.c
    - line 111 added parameter blocking_area *blocker to paragraph_calc
    - line 116-119 added internal tracking of width so we can reset width
        after passing a blocking area.
    - line 203 special case handling of ALN_CENTER if next to a blocking
        area added
    - line 214 adjust left offset if the word is next to a blocking area
        that is left aligned
    - line 265 check to see if next line will be past the bottom of
        the blocking area, if a blocking area exists.  If it is clear
        out blocking area and reset int_width
    - line 284 if paragraph is a PAR_IMG set int_width to the img width
    - line 355 added img_par - tracks if current paragraph is a PAR_IMG
    - line 356 added our blocking area blocker
    - lines 358-360 init our blocking area to 0
    - line 369 if we have an HR and a blocking area.  Adjust height
         and reset blocking area and get proper width
    - line 384 - 421 supporting code for PAR_IMG paragraph handling
    - line 429 skip some adjustments if this is a PAR_IMG paragraph
    - line 443 check if we have a blocking area and if the new height
         is past the blocking area if so clear blocking area
    - lines  393 & 426 modified calls to paragraph_calc() to support
         blocking struct passing

  render.c
    - line 135 (get_align) rem'd out first test, do we need it?
    - line 426 (parse_div) modified add_paragraph line
    - line 428 (parse_div) set alignment via get_align() could be put
        back on line 426 possibly
    - line 1465 (parse_img) added code to set PAR_IMG on left|right
       aligned IMG tags

June 23, 2002

  AltF4's patches

  Makefile, purewire.prj, highwire.prj:
    - updated.

  http.h, http.c:
    - new files to handle HTTP expressions.

  inet.h, inet.c:
    - experimental stuff for later use.

  Loader.c:
    - line 140 (new_loader):  presetting of Socket, isChunked,
      DataSize, DataFill.
    - line 354 (new_loader_job):  the new created location object must
      be freed here, else it would never be deleted.
    - line 362:  typo fixed.
    - line 181 (delete_loader) + 260 (loader_job) + 192:  added
      experimental stuff.

  Location.h, Location.c:
    - line 272:  experimental function, not used yet.

  Loader.h:
    - new attributes Socket, isChunked, DataSize, DataFill.

  render.c:
    - line 647 (parse_meta_tag):  changed to make use of new function
      http_charset().

June 21, 2002

  Baldrick's patches

  defs.h
    - line 261 (s_image struct) added short vspace

  global.h
    - line 147 modified prototype for new_image

  image.c
    - set_word() additions to calculations for img->vspace
    - new_image() added parameter short vspace
    - line 107 (new_image) set img->vspace
    - line 270 (image_job) modify rec.g_h by img->vspace

  loader.c
    - line 284 adjusted call to new_image() for 0 vspace

  redraws.c
    - line 534 adjust y by word->image->vspace

  render.c
    - line 1479 adjusted call to new_image() for vspace token

  token.h
    - line 130 added VSPACE key

  AltF4's patches

  global.h:
    - line 113:  changed return type of parse_html() and parse_text().
    - line 134:  declarations for netlayer removed.

  HighWire.c:
    - line 57 + 71 (main) + 234 (highwire_ex):  removed unused netlayer
      stuff.

  image.c:
    - line 256 (image_job):  fixed redraw problem for windows in
      background.

  Loader.c:
    - line 74 + 78 (parser_job):  removed setting of frame-item, this
      is already done at this point.
    - line 415 (load_file):  removed unused netlayer stuff.
    - line 77 (parser_job):  for unknown text types, detect if it has
      a html header to select the correct parser.
    - line 135 (new_loader):  handling of 'mailto:' URIs added.
    - line 229 (new_loader_job):  handling of 'about:' URIs added.
    - line 256:  generates error page for unsupported/invalid URI
      protocolls.

  Location.c:
    - new_location():  overworked for proper parsing of the protocoll
      scheme of a URI.

  Location.h:
    - line 9:  new attributes Proto, Port, Host.

  Makefile, purewire.prj, highwire.prj:
    - removed include of netlayer.c.

  netlayer.c, debug.c:
    - files deleted.

  render.c:
    - line 1777 + 1794 + 2189 (parse_html):  return type changed to
      BOOL.
    - line 1781:  new variable current, replaced all accesses to
      p_frame->current... by current... .
    - line 2185:  content minimum calculation starts now with the first
      frame paragraph.
    - line 2200 + 2211 + 2269 (parse_text):  return type changed to
      BOOL.

June 20, 2002

  Rainer's patches

  Location.c
    - line 172 moved ')' to before \n

  MOUSE_R.C
    - line 37 (button_clicked) removed wind_set() call
    - line 163 (button_clicked) expanded else with wind_set() call

June 20, 2002 (HighWire 0.05 released)

  Rainer's patches

  - Some cleanups in the HTML folder

June 17, 2002
(HighWire 0.5 release candidate 2)

  Baldrick's patches

  Render.c
    - new routine static H_ALIGN get_align() sets alignment for
      an object if it was not explicitly aligned.
    - removed else alignment setting in parse_img approx (line 1466)
      appears to be unneeded
    - replaced tests for alignment based on table alignment with get_align
      at lines 166 (set_center_text) + 574 (parse_header_tag) + 704 +
      713 (parse_p_tag)

  AltF4's patches

  Table.c:
    - line 103 + 105 (table_row):  added forgotten row count decrement.
    - line 97:  inserted adjustment for rowspans over empty rows.

June 17, 2002

  AltF4's patches

  Render.c
    - line 149 (set_center_text) + 560 (parse_header_tag) + 693 + 705
      (parse_p_tag) + 1466 (parse_img_tag):  additional check for
      table stack work cell.

June 13, 2002

  Gamer's patches

  Documentation additions

  Baldrick's patches

  Documentation editing and additions

  Render.c
    - line 1468 (parse_img_tag) removed else for alignment from
       frame->alignment

June 12, 2002

  AltF4's patches

  defs.h:
    - line 3:  added defines to make version setting more handy.

  HighWire.c:
    - line 240 (do_info_dialog):  make use of version define.

  image.c:
    - line 719 (raster_24) + 743 (raster_32):  fixed #ifdef.
    - line 858 (read_gif):  added transparency for 16bit.
    - line 878:  fixed colour map entry access.

  Baldrick's patches

  Defs.h
    - added H_ALIGN alignment to struct frame_item

  Frame.c
    - line 35 (new_frame) set default alignment to ALN_LEFT

  Render.c
    - set_center_text() reworked to modify frame->alignment
    - line 412 (parse_div_tag) set paragraph->alignment to
      frame->aligment
    - line 563 (parse_header_tag) paragraph->alignment set to
      frame->alignment
    - line 696 (parse_p_tag) alignment set to frame->alignment
    - line 708 (parse_p_tag) alignment set to frame->alignment
    - line 2468 (parse_img_tag) added else to set to frame->alignment

June 11, 2002

  AltF4's patches

  global.h:
    - line 118 + 160:  extended argument lists of new_step() and
      new_word().

  image.c
    - line 720 (raster_24) + 746 (raster_32):  fixed typos.

  Location.c:
    - line 26 + 50 + 101 (new_location):  changed definition of the
      fallbck directory, makes it a bit more handy for developers.

  O_Struct.c:
    - line 66:  extended new_step() with initial font colour parameter.

  Paragrph.c
    - line 39 (new_paragraph) + 83 (add_paragraph):  adapted call of
      new_word().
    - line 81 (add_paragraph):  removed clearing of current paragraph,
      this was a bug.

  render.c:
    - line 1483 (parse_img_tag) + 1811 (parse_html) + 2098 + 2155:
      adapted call of new_word().
    - line 1793 (parse_html):  adapted call of new_step().

  Table.c:
    - line 48 (table_start):  adapted call of new_step().

  W_Struct.c:
    - line 36 + 75:  extended new_word() with an boolean if this word
      shall be linked by a previous word.

June 10, 2002

  Baldrick's patches

  redraws.c
    - line 687 (parse_p_tag) added test for table stack and set alignment
       to workcell if we are in table and have no forced alignment
    - line 699 (parse_p_tag) added test for table stack and set alignment
       to workcell if we are in table
    - line 1460 (parse_img_tag) if we have no align and are in a table
       set paragraph alignment to current table cell alignment

  AltF4's patches

  image.c:
    - new function delete_image().
    - image_calculate() moved below delete_image().
    - raster_D1():  improved for better speed and graphic.
    - raster_24() + raster_32():  #defines for Lattice C.
    - line 832 (read_gif):  precalculate intensities for monochrome
      screen.
    - line 851:  added transparency for >= 24 planes.

  Paragrph.c:
    - line 132 (paragraph_calc):  check for invalid word_item added.

  render.c:
    - line 1443 (parse_img_tag):  overworked to avoid empty paragraphs
      before images.
    - line 1910 (parse_html):  fixed to catch <br> after an image.

  W_Struct.c:
    - line 18 (destroy_word_structure):  also delete images.

June 9, 2002

  AltF4's patches

  global.h:
    - line 154:  new function image_calculate().

  image.c:
    - line 65:  previous image_calculate() renamed to set_word().
    - line 83:  new function image_calculate() to calculate and reload
      (if necessary) images with percent width.
    - line 125 (new_image):  alt_h now holds always the original height
      of the image's word_item.
    - line 182 (image_job):  old_w/_h initialized by img->disp_w/_h.
    - line 264 (setup):  improved size calculation.
    - line 822 (read_gif):  size calculation is done by setup() now.

  Paragrph.c:
    - line 127 + 147 (paragraph_calc):  overworked to make use of
      image_calculate().

  Redraws.c:
    - line 605 (draw_paragraph):  outcommented the case ALN_TOP, this
      breaks the calculation in image.c:set_word().
    - line 630:  changed test for ALT text display.
    - line 420 + 310:  removed outcommented functions.

  render.c
    - line 234 (parse_anchor):  avoid underlined text behind not
      correctly closed anchors.  solves bugtrack #36.
    - line 1469 (parse_img_tag):  removed setting of default ALT text.

  W_Struct.c:
    - line 109 (word_store):  fixed minimum width of images.

June 7, 2002

  Baldrick's patches

  Image.c
    - line 220 changed contanr_calc() to a test with a contanr_redraw()
      if it returns TRUE (fixes imgtest.htm of dillo test suite)

  Redraws.c
    - line 605 (draw_paragraph) added case for ALN_TOP now display
      behaviour equivalent of IE

  IMGTEST.HTM just to test IMG alignments

June 6, 2002

  AltF4's patches
    - reworking object alignment

  Paragrph.c, Redraws.c
    - reverted to previos version

  image.c:
    - line 62: new function image_calculate() to set the image word's
      ascend and descend (word_height and word_tail_drop) according to
      the vertical alignment.
    - line 136 (new_image) + 191 (image_job):  word size calculation is
      done now by image_calculate().

  render.c:
    - line 544 (parse_header_tag):  corrected setting of text colour.
    - line 1415 (parse_img_tag):  preserve word_item attributes which
      will be changed for the image only.
    - line 1416:  set align to -1 per default.
    - line 1431:  handling of KEY_ALIGN stays mutual exclusive for
      either a new paragraph (left/center/right) or a vertical shift
      (top/middle/bottom).  default is bottom.

June 5, 2002

  Baldrick's patches

  Paragraph.c
    - paragraph_calc reworked to support vertical alignment
    - line 145 catch first word in paragraph to get proper initial values
    - line 169 added switch statement for vertical alingment

  Redraws.c
    - line 605 (draw_paragraph) added case ALN_TOP and ALN_MIDDLE

  Render.c
    - line 1445  added cases for center, bottom and top ALIGN
    - line 1494  added current->word->vertical_align = next
    - line 1502  changed next to ALN_BOTTOM
    - parse_p_tag() overworked to use start_tag so we close paragraphs
    - line 1868 reset vertical align after a BR tag
    - line 1956 modified parse_p_tag() call
    - line 2015 changed ALN_MIDDLE to ALN_BOTTOM fix for SUB
    - line 2026 changed ALN_MIDDLE to ALN_BOTTOM fix for SUP

  AltF4's patches

  defs.h:
    - line 215:  removed obolete attr_list.
    - line 355 (struct frame_item):  moved current_font_step into
      current substructure.
    - line 357:  removed unused current_attr.
    - line 372 (struct list_stack_item):  renamed current_list_count to
      counter, that's much more handy.
    - line 374: removed line_start, added Hanging and Spacer instead.

  Frame.c:
    - line 44 (new_frame):  removed unused current_attr.

  O_Struct.c
    - reworked declaration and malloc of temp
    - line 112 (new_stack_list_item):  removed line_start.

  render.c
    - line 41:  new functions step_push()/step_pop() to make usage of
      font_step more handy.
    - line 305 (parse_d_tags):  overworked to make it common to ol/ul
      handling.
    - line 367:  new function parse_basefont().
    - line 386 (parse_font_tag) + 549 + 532 (parse_header_tag):
      changed to make use of step_push()/step_pop().
    - line 568 (parse_menu_tag):  overworked to make it common to ol/ul
      handling.
    - line 791 (list_marker):  removed trailing EM_SPACE and call of
      new_word().
    - line 1154 (parse_li_tag) + 1238 (parse_ol_tag) + 1312
      (parse_ul_tag):  overworked.
    - line 1775 (parse_html):  removed unused variables fontstep,
      prev_sm_size, prev_su_size.
    - parse_html():  cases TAG_BASEFONT uses parse_basefont() now.
    - parse_html():  cases TAG_BIG, TAG_SMALL, TAG_SUB, TAG_SUP changed
      to make use of step_push()/step_pop().

  Table.c:
    - line 42 + 48 (table_start) + 376 (free_stack):  renamed
      current_font_step

June 4, 2002

  Baldrick's patches

  Redraws.c
    - line 605 added case ALN_TOP
    - line 606 added case ALN_MIDDLE

  RENDER.C
    - line 1447 (parse_img_tag) added V_ALIGN next (next paragraph
       vertical alignment)
    - line 1449 (parse_img_tag) set current word v align to next
    - line 1463 (parse_img_tag) added if's for align top, bottom and
        middle. Set next to align val, par->align left and align = -1
    - line 1517 (parse_img_tag) set current word v align to next

June 3, 2002

  Baldrick's patches

  Render.c
    - reworked step2size() routine to make sizes dynamic and
      modified whenever font_size is changed
    - line 410 changed "- '0'" to "+ '0'"

  AltF4's patches

  Frame.c:
    - new_frame(): corrected setting of frame->item.

  global.h:
    - line 159:  removed add_word(), changed new_word() declaration.
   	- new functions to set word attributes.

  image.c:
    - added missing raster_P8().

  O_Struct.c:
    - new_step():  added initialisation of colour to avoid funny font
      colour effects.
    - add_paragraph():  cleaned up.

  Paragraph.c:
    - new_paragraph() + add_paragraph(): adapted to changed new_word().

  render.c:
    - line 68:  removed obj_font_step().
    - line 2057 (parse_html, case TAG_TABLE):  removed modification of
      text attributes.
    - line 2086 (parse_html, case TAG_TH):  removed bold setting, will
      be done by table_cell().
    - removed set_font_bold(), set_font_italic(), set_font_strike(),
      set_font_underline().
    - replaced all calls of removed functions by the corresponding
      word_set_...() calls.
    - replaced all  word->colour = ...  by word_set_color().
    - replaced all  word->styles.font_size = ...  by word_set_point().
    - replaced all  word->styles.font = ...  by word_set_font().
    - removed all  word->changed... = ...
    - line 23:  new function step2size() to map a font_step to a
      font_size.
    - parse_font_tag() + parse_header_tag():  overworked to make use of
      step2size().
    - line 1202 (parse_li_tag):  fixed wrong calculation of the
      negative eop.
    _ parse_html():  cases TAG_BASEFONT, TAG_BIG, TAG_SMALL, TAG_SUB,
      TAG_SUP overworked to make use of step2size().

  Table.c:
    - line 41 (table_start):  store current font_step of the frame.
    - line 48:  reset font_step.
    - line 265: set text attribute to BOLD for <th> tags.
    - line 383 (free_stack):  reset to stored font_step,  set all text
      attributes to 'changed'.

  Table.h:
    - line 19:  in struct s_table_stack, new attribute SavedFntStp.

  W_Struct.c
    - new functions to set word attributes.
    - line 36:  merged add_word() and new_word() to one function.
    - line 75 (new_word):  added condition where to link to a previous
      word.

May 31, 2002

  Baldrick's patches

  Defs.h
    - added Indent to list_stack_item - this tracks the current indentation
      for the list

  Render.c
    - line 457 (parse_d_tag) added check for paragraph->Indent>0 otherwise
       2 subsequent DT tags would cause the second to be to the left of the
       viewport
    - line 657 (parse_header_tag) modified test to check that we aren't at
       the start of a list as well.
    - line 659 (parse_header_tag) ,pved eop_space inside of the test for lists
    - line 831 (parse_p_tag) if we are in a list or we are in a list and we
       are at list_start don't add a new_paragraph and ignore alignment
    - line 833 (parse_p_tag) moved eop_space inside of the test for lists
	- parse_li_tag() heavily reworked to make all li tags and contents
	  seperate paragraphs
	- parse_ul_tag() and parse_ol_tag() reworked to deal with list_stack_item
	   Indent
	- parse_menu_tag() reworked to deal with list_stack_item->Indent
    - line 2176 (parse_html) set prev_su_size before process TAG_SUB
    - line 2190 (parse_html) set prev_su_size before process TAG_SUP
    - line 2207 (parse_html) call obj_font_step()
    - new routine obj_font_step() used for storing font attributes
      when entering and exiting objs (like tables)  NOTE this routine
      only partially working.

May 29, 2002

  Baldrick's patches

  Aei.c
    - line 425 (process_messages) don't containr_relocate() if iconified
    - line 432 (process_messages) added win_status = 0 when window
       is resized
    - line 436 (process_messages) replaced window_handle with msg[3]
    - line 439 (process_messages) replaced window_handle with msg[3]
    - line 442 (process_messages) added GRECT old
    - line 443 (process_messages) get work area to old
    - line 447 (process_messages) redraw window at old
    - line 450 (process_messages) replaced window_handle with msg[3]

  Mouse_r.c
    - button_clicked()
      - do we need the first test now? I added a note about it
      - line 37 - added wind_set(window_handle,WF_TOP...) this tops the
        window whenever we click inside of it
      - line 42 - rem'd out else in this test so that I could put
         the WF_TOP in for all occurences easily

  Render.c
    - line 384 (parse_body) added set p_frame->current.word->colour to
        current_font_step->colour if TEXT color tag exists (fixes excerpt.htm)

  AltF4's patches

  color.c:
    - remap_color():  reworked to get more excact results.

  Containr.c:
    - line 632 (containr_scroll):  changed if conditions to avoid a bug
      in the Lattice C compiler. (in conjunction with David)

  defs.h:
    - line 349 (struct frame_item):  new attribute base_target.

  Frame.c:
    - line 35 (new_frame):  setting of base_target.
    - line 73 (delete_frame):  freeing of base_target.

  image.c:
    - line 76 (new_image):  inserted setting of frame's text buffer.
    - line 79 (new_image):  changed calculation of percent size.
    - raster_I8():  optimized assembler function to speed up falcon
      8 bit color depth.
    - inserted an #ifdef to avoid linker problems with Lattice C.
       (in conjunction with David)

  Location.c:
    - line 31 (_alloc):  changed size calculation for malloc().
    - line 167 (new_location):  inserted incrementation of refference
      counter.  not doing so produces always location in the state
      "ready for immediate deletion"!

  Location.h:
    - line 14:  enlarged FullName array, this should be enough reserve
      for miscalculated string lengths now.

  parser.h, parser.c:
    - new function get_value_size().

  pc_raster.s:
    - new pc_raster_I8() function to speed up falcon 8 bit color depth.
    - line 27:  corrected addressing mode.

  render.c:
    - parse_anchor():  the anchor target is now copied from the frame's
      base target if not explicitely given.
    - new function parse_base() stores the base target of a frame.
    - parse_img_tag():  width and height are read by get_value_size().

  Table.c:
    - line 27:  static get_value_size() moved over to parser.c.

  token.h:
    - line 20:  new tag BASE.

May 24, 2002

  Baldrick's patches

  Render.c
    - parse_header_tag()
      - line 612 removed old comment, added test for current_list.  if
        a H tag occurs in a list we suppress new paragraph and alignment
      - line 668 modified line so that alignment comes from table cell

    - parse_html()
      - line 2113 added code to reset font size on entering and
        exiting tables.  I'm not certain this is correct, but does
        produce output much closer to other browsers.  I just made a
        blanket case reset.  There are probably conditions to watch
        for that I'm not aware of atm.

May 23, 2002

  Baldrick's patches

  Render.c
    - set_center_text()
      - added check on close to see if we are in a table, if we are
        then we set the alignment based on the table cell alignment

  AltF4's patches

  Image.c
    - line 565 add & before pal

May 21, 2002 (evening)

  AltF4's patches

  paragraph.c
    - line 140 add initialisation for last

May 21, 2002

  Baldrick's patches
    - not really patches just minor changes for testing here

  Image.c
    - disabled printf (just wanted to see how much time the print took)

  Highwire.PRJ
    - enabled image support (wanted to compare times vs gcc compile)

  AltF4's patches

  AEI.c:
    - line 139 (wind_handler):  added handling of image notification,
      needs to be overworked soon.

  defs.h:
    - in struct frame_item, added current.backgnd, used for image
      transpareny.
    - struct s_image extended.
    - moved typedef for PARAGRAPH

  Frame.c:
    - line 46 (new_frame):  setting current.backgnd from initial
      background_colour.

  global.h:
    - line 153:  extended parameter list of new_image().

  image.c:
    - first iplementation to make use of libungif decoder functions.

  Loader.c:
    - line 68 (parser_job):  set containr's frame (temporary solution).
    - line 109:  set 'Appl' of MIME_IMG_GIF to NULL, for auto loading.
    - line 224 (new_loader_job):  removed check for empty 'address',
      already resolved in new_location().
    - line 255:  added handling for Image Mime Type.

  Location.c:
    - line 84 (new_location):  if no 'src' string is given the '__base'
      location will be used instead of creating a new one.
    - line 158:  removed duplicate pointer zeroing.
    - line 175 (free_location):  made shure not to free the base
      location.

  Paragrph.c
    - line 190 (paragraph_calc):  added calculation of image extent.

  pc_rastr.s:
    - assembler function for monochrom rasterizer (optional).

  purewire.prj:
    updated for usage of ungif.lib.

  Redraws.c
    - line 11:  removed unused #defines.

  render.c:
    - line 372 (parse_body):  set current.backgnd color.
    - line 1522 (parse_img_tag):  overworked to avoid empty <alt> tags.

  Table.c:
    - line 67 (table_start):  save current frame background color.
    - line 287 (table_cell):  set frame's current background color to
      cell background.
    - line 397 (free_stack):  reset frame's background to the stored
      color.

  Table.h
    - line 20 (struct s_table_stack):  new attribute Backgnd to store
      the current frame background color.

  David Leavers patches

  Global.h
    - line 22 EINVFN 32 changed to EINVFN -32

  Loader.c
    - line 700 modified line to be a strcat (old line kept below for moment)

May 20, 2002

  Baldrick's patches

  Highwire.c
    - main()
       - added variable long gdostype
       - moved vq_vgdos() outside of test line
       - two test lines 1 used 1 as backup
         - either test to see if gdostype is -2 or Fontgdos
         - or test if gdosttype is not FSM_GDOS or -65532L
       - test number 2 used at the moment

  Paragraph.c
    - paragraph_calc()
      - line 114 added TEXTWORD last;
      - line 161 added last = word
      - line 169 added if last->line_brk justify = 0 test
      - line 171 added if line->NextLine!=Null control on justify
      - line 173 added else justify = 0

  Render.C
    - parse_header_tag()
      - modification in close header tag.  Now takes alignment from tablestack
         if a current tablestack exists for the frame

  David Leaver's patches

  Highwire.PRJ  (lattice PRJ file)
    - source character set to 8 bit ASCII
    - default char unsigned
    - TTLOAD & TTMALLOC flags set

  Scanner.C
    - removed ifdef LATTICE code

May 17, 2002  (version 0.04 released)

  Baldrick's patches

    - More last minute changes to dletter.htm hwdoc.htm and highwire.doc
       inclusion of URL's for mailing list and project homepage

  AltF4's patches

  Loader.c
    - line 222 : base changed to : location_share(base)

May 16, 2002

  David Leaver's patches

  defs.h
    - line 49 - remove final comma in definition of LANGUAGE
    - line 405 - #endif /* __PUREC */
    - line 400 - "seems" - spelling correction

  container.h
    - line 28 - remove final comma in definition of HW_EVENT

  table.h
    - line 76 - #endif /* _TABLE_H */

  loader.c
    - line 462 - add semicolon at end of statement
    - My Lattice doesn't recognize E_OK so I inserted
      #define E_OK 0x00
      in the #ifdef LATTICE section at the top of the file.

  token.h
    - line 75 - remove final comma in definition of HTMLTAG
    - line 130 - remove final comma in definition of HTMLKEY

  scanner.c
    - For some reason Lattice doesn't like the '' in line 563, so I changed
      this to 128. The pre-processor seems to remove the , leaving just ''
      (baldrick - I put this in an #ifdef #endif pair)

  GokMase's patches

    - some suggestions on changes to documentation and developer letter
    - standardisation of 'color' over 'colour' in developer letter.

May 14, 2002

  AltF4's patches

  Table.c:
    - line 108 (table_row):  overworked to filter out empty rows.
    - line 386:  new function free_stack().
    - line 385 (table_finish):  inserted handling of the last row in
      the table.
    - line 388 + 398:  made shure that also errornous tables are
      finished properly.

May 13, 2002

  Baldrick's patches

  Edited the documentation

  Rainer's patches

  Documentation and html cleanups

  AltF4's patches

  defs.h:
    - line 101:  removed unused defines TEXT_DECODER, HTML_DECODER.

  global.h:
    - line 106:  removed search_for_named_location() declaration.
    - line 117:  added comment.
    - line 165:  changed Send_AV() declaration.

  Logging.h:
    - line 37:  added forgotten argument type.

  Logging.c:
    - line 13:  inserted missing #include.

  parser.c:
    - line 15:  removed duplicate #define.

  render.c:
    - line 17:  inserted missing #include.
    - line 2360:  put #ifndef around check, doesn't work with gcc.

  Loader.h:
    - line 49:  corrected #endif.

  Loader.c:
    - line 417 (load_file):  removed wrong cast.
    - line 658 (page_load):  inserted missing braces.

  keyinput.c:
    - line 16:  inserted missing #include.
    - line 20:  made function static.
    - line 63 (key_pressed):  removed unused last_location.

  av_prot.c:
    - line 21:  made function static.
    - line 56 (Send_AV):  changed char pointer arguments to const.
    - line 58:  inserted #ifdef to keep PureC quiet.

  AEI.c:
    - line 118 (wind_handler):  inserted #ifdef to keep PureC quiet.
    - line 181:  inserted forgotten initialisation of global pointers.

  Makefile, highwire.prj:
    - updated.

May 10, 2002

  Baldrick's patches

  global.h
    - added ifndef EINVFN - define EINVFN for PureC (at least my copy)

  Rainer's patches

  global.h
    - Added aes_window_title_length, appl_xgetinfo().
    - removed prototype blit_block() - unused

  HighWire.c
    - added include "logging.h"
    - main()
      - added var. info
      - Replaced can_extended_mxalloc() by Sysconf().
      - replaced 0's in color init with defines
      - Use appl_xgetinfo() to ask for new AES features.
      - Show an alert and exit if the resource file didn't exist.
      - For N.AES set aes_window_title_length to 128.

  Loader.c
    - page_load()
      - Checks if fsel_exinput() is allowed.
      - Replaced init_load() by new_loader_job().  The original AES
        doesn't like the second wind_open() in init_load().
    - can_extended_mxalloc() is a candidate for deletion (baldrick - I
         don't want to remove it before we know we won't need it for
         some developer)

  Logging.c, Logging.h
    - init_logging()
      - New, for single TOS.

  Redraws.c
    - removed stdio.h include
    - replaced many decimal colors with defines
    - draw_hr()
      - Uses ignore_colors.

  render.c
    - window_title buffer moved
    - parse_block_quote modified
    - parse_title()
      - Window title buffer extended from 80 to 129 byte, including null byte.
      - Characters after the maximum lenght will be ignored now.
      - Uses aes_window_title_length.
    - parse_img()
      - Uses scan_string_to_16bit() for ALT text.
    - parse_html()
      - Added 'space_found = FALSE' after tag IMG for pictures in a text line.

  scanner.c
    - scan_string_to_16bit()
      - New, for string parameters of HTML keys.
    - modified some of the conversion tables

  uni_bics.c
    - Updated.

  Variable.c
    - Added aes_window_title_length.

May 9, 2002

  Baldrick's Patches

   - a few english translations added to some german
     descriptions of routines

  Highwire.c
    - changed GEM Menu version to .2 (I think there has been enough
      expansion to justify at least that)
    - changed Core version to .4 (getting ready for release )

  Rainer's Patches

  AEI.C
    - added loader.h and logging.h
    - new routine WORD appl_xgetinfo()
    - wind_handler() replaced printf() with errprintf()
    - removed GLOBAL and MALLOCMODE defines
    - vastart() rewrote routine to handle dequoting of filename
    - doGSCommand() changed return value to BOOL, simplified routine
    - process_messages() changed return value to BOOL, simplified routine

  av_prot.c
    - Receive_AV()
      - Changed return value to BOOL.
    - Send_AV()
      - Changed return value to BOOL.
      - Simplified;

  defs.h
    - Moved macro numberof() from scanner.c.
    - Deleted POINT_SIZE.
    - removed ENCODING encoding from frame_item

  Frame.c
    - new_frame()
      - removed encoding initialization
      - Changed POINT_SIZE to variable font_size.

  Global.h
    - added externs for active_keyboard_frame, font_size, alternate_text_on
       help_file
    - ignore_colours now BOOL
    - page_load() now BOOL
    - removed get_decoder_type and load_file prototypes

  Highwire.c
    - externs added for xaccname,gslongname,gsi,va_helpbuf
    - init_netlayer() failure now returns EXIT_FAILURE
    - Moved and merged all allocating of GLOBAL memory.  Added check for NULL.
    - Activated scrolling in background, only for AES >= 4.00.( WF_BEVENT )
    - many replacements of numerals with Defines

  keyinput.c
    - added include for logging.h
    - added routine frame_next()
    - key_pressed()
      - Added CTRL+R and F5 for reload.
      - Added F7 to toggle logging.
      - Added F8 to toggle pictures or alternative text.
      - Added F1, Help to load help_file.
      - Added keyboard scrolling for first_frame: left, right, (page) up,
        (page) down, home, end.
      - Added + to increase and - to decrease font_size.
      - Using global active_keyboard_frame.  Added Tab to cycle frames.

  Loader.c
    - added prototype for static load_file()
    - parser_job()
      - removed frame->encoding
      - Sets global active_keyboard_frame.
    - new_loader()
      - variable i changed to size_t from int
      - modifications to while loop controls
      - Set MIME type of a directory listing or default file to HTML.
    - loader_job()
      - modification of load_file() call.  Old call kept in REM since I'm not
        certain this is correct (baldrick May 10, 02)
    - find_application()
      - Added missing comma in list[].
    - new_loader_job()
      - Parameter address == NULL: reread the file with default_encoding.
      - modifications to new_loader() call
      - encoding = default_encoding moved to new location (physically and struct)
      - modifications to test line printout
    - load_file()
      - changed prototype to static and parameter to LOCATION from char *
      - If there is no file name, try to open index.htm[l].
      - Updated handling of encoding.
    - added char help_file[HW_PATH_MAX];
    - page_load()
      - changed to BOOL declaration
      - FSEL_CANCEL replaces 0
    - init_path()
      - Added help_file, initialized with "...\hwdoc.htm#Use".

  Loader.h
    - removed ENCODING from struct s_loader

  Location.c
    - added include Logging.h
    - _alloc
      - added encoding and Anchor init
    - new_location()
      - IF NOT LIBWWW section added
        - Added a conversion of "http://" or "ftp://" to "C:\WWW\".
          This is my personal web collection. HighWire should read the
          path from config file. ( We may need to modify this when
          writing online sections - baldrick)
      - line 69 path modification added
      - line 87 modification of path testing
      - logprintf call added at bottom of routine

  Location.h
    - ENCODING encoding added to s_location struct

  Logging.c, Logging.h
    - New files.  errprintf() prints always, logprintf() if switched on with F7.

  Mouse_R.c
    - button_clicked()
      - Mouse click to background changes active_keyboard_frame.

  parser.c
    - removed numberof define.  it's elsewhere now
    - parse_tag()
      - Corrected comment parsing.

  PC_START.S
    - New startup code for PureC compiles

  render.c
    - added Logging.h and time.h includes
    - removed stdio.h include
    - Created a macro EOP() for global adjustment of eop_space.
    - list_indent() replaced POINT_SIZE with font_size
    - set_blockquote_text()
      - Renamed to parse_blockquote_tag().  Corrected description.  I tried to
        implement the TITLE attribute.  This leads to a need for the future.
    - parse_anchor() addition of test for KEY_ID
    - parse_d_tag()
      - Save indent calculated at DL parsing for DD.
    - parse_div_tag()
      - Corrected former negative space between paragraphs.
    - parse_font_tag() (I've included this in the source between #if 0
      #endif for testing)
      - Made the hard coded 12 point size using fonststep.
    - parse_header_tag(), parse_hr_tag(), parse_menu_tag(), parse_ol_tag(),
      parse_ul_tag(), parse_p_tag()
      - Added eop_space before lists.
    - parse_meta_tag()
      - enconding now points to Location->encoding
    - parse_img_tag()
      - Alternative text for pictures, toggled with F8.
    - parse_frameset()
      - printfs replaced by errprintf()
    - parse_html(), parse_text()
      - Longer buffers for lines with unrecognized UTF-8.
      - Check for too long lines.
      - Enhanced white space ignoring. (<A ...> ...</A>)
      - timing and debugging info added
      - brackets added around start_tag code in TAG_IMG

  scanner.c
    - numberof() moved out of file
    - FIGURE SPACE 560 instead of Space_Code for the NO-BREAK SPACE, since the
      latter is ignored when drawing at line start.
    - Corrected Unicode_to_BICS[].

  Token.H
    - added TAG_TITLE, TAG_TEXTAREA

  Variable.c
    - regrouped items in file
    - Added font_size.
    - Added active_keyboard_frame.

  gem.h (placed in 'includes' folder)
    - Added "#define MAP_UNICODE 2".

  uni_bics.c, uni_bics.prj (placed in 'tools' folder)
    - New files.
      Creates a HTML file with the Unicode characters supported by HighWire.


May 3, 2002

  Gamer's patches

  HwDOC.htm & highwire.doc updated

  AltF4 patches

  global.h:
    - changed declaration of new_image().

  W_Struct.c:
    - line 108 (word_store):  corrected calculation of minimum width
      for image items.

  Paragraph.c:
    - line 86 (add_paragraph):  'origin' must be inherited from current
      paragraph.

  image.c:
    - changed declaration of new_image().

  Table.h:
    - extended declaration for table_row().

  Table.c:
    - line 105 (table_row):  better support for missing <tr> tags.

  render.c:
    - parse_img_tag():  small improvements, removed obsolete comment.

  Redraws.c:
    - line 549 (draw_image):  make use of vrt_cpyfm() for images with
      color depth > 1.

May 2, 2002

  AltF4 patches (these are from the end of april)

  defs.h:
    - line 246:  new struct s_image.  the leading members are full
      compatible to a MFDB of the VDI for easy casting.
    - in struct frame_item, added a struct named_location ** to the
      'current' substructure.
    - in struct named_location, changed the link pointer to a const
      char pointer.
    - modified the url_link structure to have a union of either a
      target name pointer or a struct named_location pointer.

  global.h:
    - line 141:  new declarations for image functions.
    - changed declarations of new_url_link(), new_named_location(),
      paragraph_calc(), content_calc().

  image.c:
    - new file image functions.

  W_Struct.c:
    - new_word() + word_store():  adapted to handle word_items with
      images.
    - line 47 (new_word):  adapted to changed struct url_link.

  Paragraph.c:
    - line 273 (content_maximum):  additional check against empty
      word_items.
    - line 312 (content_calc):  removed handling of PAR_IMG since this
      isn't a special case anymore.
    - paragraph_calc():  removed allocating of named_location structs,
      this is already done by the renderer function.
    - content_calc():  removed handling of named_location structs, no
      longer necessary here.

  token.h:
    - line 97:  new key 'ALT' for <IMG> tags.

  render.c:
    - line 1390 (parse_img_tag):  completely overworked for new image
      handling.
    - parse_anchor():  all strings are allocated here since
      new_url_link() doesn't make copies anymore.  for anchor tags
      <A NAME=...> the needed struct named_location is also created
      here.

  Redraws.c:
    - draw_image():  overworked to make usage of new image structure.
    - draw_contents():  removed handling of PAR_IMG since this now
      handled by the draw_paragraph() function.

  Makefile, purewire.prj, highwire.prj:
    - Updated.

  O_Struct.c:
    - new_url_link():  strings are now taken over without duplication
      to avoid needless mallocs.

  Table.h, Table.c:
    - table_calc():  removed handling of named_location structs, no
      longer necessary here.

  Frame.c:
    - new_frame():  setting of struct named_location ** in 'current'
      substructure.
    - frame_calculate():  removed handling of named_location structs,
      no longer necessary here.
    - frame_anchor():  adapted to changed struct url_link.

  Mouse_R.c:
    - line 146 (button_clicked):  adapted to changed struct url_link.

April 25, 2002

  AltF4 Patches

  AEI.c:
    - new function wind_handler() to recive messages generated by
      containers.

  Loader.c:
    - parser_job():  replaced wind_redraw() call by containr_notify()
      to let an asigned callback do necessary things after page loading
      finished.
    - new_loader_job():  inserted containr_notify() for page loading
      started notification.
    - load_file():  removed setting of window title, this function
      isn't responsible for that anymore.
    - init_load():  registers the wind_handler() function (in AEI.c)
      as the callback for containers.

  render.c:
    - parse_title():  makes now usage of containr_notify() to let a
      callback handle the <title> contents.
    - parse_html() + parse_text():  removed setting of mouse form,
      these functions aren't responsible for that anymore.

  Containr.h, Containr.c:
    - new function containr_register() to assign a callback function
      to a container hirachy.  the callback will be called for every
      dynamycal change in the container hirachy to avoid AES calls
      inside library functions.  for details see the header file.

April 24, 2002

  AltF4 Patches

  global.h:
    - removed global variables event_messages and the_first_frame.
    - changed declaration of process_messages(), button_clicked(),
      check_mouse_position(), key_pressed().

  Variable.c:
    - removed global variables event_messages and the_first_frame.
    - initialize current_highlighted_link_area and ..._frame.

  Table.h, Table.c:
    - new attribute for TableStack to save alignment outside of the
      table.

  Frame.c:
    - delete_frame():  added a check against NULL pointers.
    - frame_calculate():  corrected if condition for horizontal slider.

  Containr.c:
    - containr_clear():  removed handling of the_first_frame.

  render.c:
    - parse_html():  cases TAG_TABLE, TAG_TD, TAG_TH adapted to changed
      table functions.

  Loader.c:
    - parser_job():  removed handling of the_first_frame.

  keyinput.c:
    - key_pressed():  overworked to have combinations with ALT key
      working.

  Mouse_R.c
    - button_clicked():  removed usage of the_first_frame.

  AEI.c:
    - process_messages():  the function argument is the message array
      now, instead of using a global.

  HighWire.c:
    - adapted the event loop to changed function declarastions.

April 23, 2002

  AltF4 Patch via mailing list

  frame.c
    - line 130 changed >= to > in test line

April 16, 2002

  AltF4's Patches

  global.h, AEI.c:
    - new functions wind_redraw() and wind_scroll().
    - line 300 (process_messages):  case WM_REDRAW now results in a
      wind_redraw() instead of a direct containr call.

  Redraws.c:
    - frame_draw():  argument list changed to take now a const pointer.

  Containr.h, Containr.c:
    - new function containr_scroll() which allows eight-direction
      scrolling.
    - temporary function frame_next() removed.

  Mouse_R.c:
    - functions button_clicked() and frame_clicked(), overworked to
      make use of new functions.

  Loader.c:
    - line 91 (parser_job):  containr_redraw() replaced by wind_redraw.

April 14, 2002

  AltF4's Patches

  defs.h:
    - line 337:  removed frame_named_location from struct frame_item,
      not longer used.

  global.h:
    - line 77:  changed argument for new_frame().

  W_Struct.c:
    - line 47 (new_word):  anchors aren't any longer inherited from
      previous words, only links are.  this reduces the list of anchors
      to the necessary length and makes the search after a user click
      shorter.

  Paragrph.c:
    - line 129 (paragraph_calc):  more restricted while condition to
      make it possible to find also empty anchors.

  Frame.c:
    - new_frame():  modified to take a location instead of an anchor as
      argument.
    - frame_calculate():  removed calculation of absolute anchor
      offsets.
    - new function frame_anchor() to find an anchor in a frame's
      content.

  Containr.h, Containr.c:
    - new function containr_Anchor() to calculate the distance between
      the current content's origin and an anchor.
    - new function containr_shift() to update a content's origin and
      it's sliders.

  render.c:
    - line 299 (parse_anchor):  modified to avoid wrongly underlined
      anchors and also avoid switching off underline after a wrong </p>
      tag.

  Redraws.c:
    - line 35 (frame_draw):  removed the search for an anchor, this is
      no done elsewhere.

  Mouse_R.c:
    - line 189 (frame_clicked):  modified to make use of new anchor
      func tions instead of make the calculations itself.

  Loader.c:
    - parser_job():  adapted to changed new_frame() argument list.

April 13, 2002

  AltF4's Patches

  defs.h:
    - line 324 (struct frame_item):  collected slider related struct
      members into own substructures.

  global.h:
    - line 66:  added missing prototypes.

  Frame.c:
    - frame_calculate():  adapted to make use of slider substructures.
    - new function frame_slider() to calculate the slider position from
      the scroll value.

  Mouse_R.c:
    - frame_clicked():  overworked to take advantage of precalculated
      values of the slider substructures.
    - button_clicked() + check_mouse_position():  adapted to slider
      substructures.

  Redraws.c:
    - draw_vbar() + draw_hbar():  overworked to take advantage of the
      precalculated values of the slider substructures.

  Containr.c:
    - line 505 (containr_redraw):  disable drawing of fill perimeters.

April 10, 2002

  Baldrick's patches

  - updated HIGHWIRE.DOC, HWDOC.HTM & DLETTER.HTM

April 8, 2002

  AltF4's patches

  Location.h, Location.c:
    - new module to store locations from where data were loaded.

  defs.h:
    - struct frame_item:  new attribute Location.

  Loader.h:
    - attributes FileName, Anchor, Address are now held by new
      attribute Location.
    - declarations for new_loader() and new_loader_job() changed to
      make use of Location.

  Loader.c:
    - line 62 (parser_job):  set frame's loacation.
    - line 138 (new_loader):  removed old attribute settings.
    - new_loader_job():  reworked to make use of Location attribute.
    - init_load():  additional NULL parameter for new_loader_job().

  render.c:
    - line 1552 (parse_embed) 1582 (parse_frameset):  additional
      location argument.
    - line 1557 (parse_embed) 1642 (parse_frameset):  additional frame
      location parameter for new_loader_job() call.

  Frame.c:
    - line 21 (new_frame) + 68 (delete_frame):  new attribute Location.

  Mouse_R.c:
    - line 322 (frame_clicked):  additional frame location parameter
      for new_loader_job() call.

  keyinput.c:
    - line 52 + 59 + 62 + 65 + 68 (key_pressed):  additional frame
      location parameter for new_loader_job() call.

  Makefile, purewire.prj, highwire.prj:
    - updated.

April 05, 2002

  AltF4's patches

  F_Struct.c, F_Calc.c:
    - merged together in new file  "Frame.c".

  P_Struct.c:
    - renamed to  "Paragrph.c".
    - new_paragraph() + add_paragraph():  adapted to changed structure.

  Table__N.c:
    - renamed to  "Table.c".
    - paragraph_calc() + content_calc():  moved over to Paragrph.c
      where they belong to.

  defs.h:
    - removed several definitions which are also located in gem.h.
    - struct paragraph_item:  removed unused left_border, right_border,
      current_paragraph_height, area.
    - struct frame_item:  removed unused frame_width, frame_page_width,
      current_page_height, frame, current_indent_distance.

  global.h:
    - removed already outcommented declarations.

  Table.h:
    - moved some declarations over to defs.h:

  render.c:
    - removed all occurences of current_indent_distance, this value was
      always only calculated but never read by any part of the code.
    - replaced all occurences of two line expressions
      *active_word = ..; active_word++;  by one  *(active_word++) = ..;

  Loader.c:
    - line 724 + 752:  replaced number values by defined MagX_cookie.

  Redraws.c:
    - removed already outcommented functions.

  Makefile, purewire.prj, highwire.prj:
    - updated.

April 03, 2002

  AltF4's patches

  defs.h:
    - struct frame_item:  new attributes page_minimum, page_width,
      page_height to replace ambigous frame_width, frame_page_width,
      current_page_height and struct clipping_area frame.

  global.h:
    - out commented not longer used function declarations
      calculate_frame_height() and calculate_frame_locations().

  F_Struct.c:
    - new_frame():  adapted to new frame attributes.

  F_Calc.c:
    - new function frame_calculate() to merge calculate_frame_height()
      and calculate_frame_locations().  this makes calculations a bit
      faster.

  Containr.c:
    - containr_relocate():  fixed wrong settings of absolute frame
      offsets.

  render.c
    - line 2341 (parse_html) + 2422 (parse_text):  adapted to new frame
      attributes.

  Redraws.c:
    - draw_vbar() + draw_hbar():  adapted to new frame attributes.
    - blit_block():  simplified the code and removed useless vs_clipp()
      calls.  added missing v_hide_c() and v_show_c().

  Mouse_R.c:
    - frame_clicked():  adapted to new frame attributes.

April 01, 2002

  AltF4's patches

  defs.h:
    - new enum for languages (by rainer).
    - replaced all 'enum bool' by BOOL.
    - removed old alignment enums.

  global.h:
    - removed #ifdef _NEW_TABLES.
    - removed global variable 'frames_recalculated'.

  HighWire.c:
    - adapted core version to current 0.3.

  Table__N.c:
    - moved #include "token." before <gem.h>.

  Variable.c, Mouse_R.c:
    - removed 'frames_recalculated'.

  config.c:
    - replaced 'false' and 'true' by uppercase.

  W_Struct.c, P_Struct.c:
    - replaced old alignment enum.

  F_Calc.c:
    - replaced 'false' and 'true' by uppercase.
    - removed 'frames_recalculated'.

  Redraws.c:
    - replaced all occurences of old alignment enums.
    - removed 'frames_recalculated'.

  render.c:
    - replaced last both occurences of lower case 'true'.
    - replaced all occurences of old alignment enums.
    - applied patches of Mar. 26, 27, 28.

  Container.c, render.c:
    - applied patches of Mar. 26, 27, 28.

March 30, 2002

  Rainer Seitel's patches (these may appear elsewhere as well)

  - For compiling with Pure C 1.1 (file size 226538, file date 1992-10-25), I had
    to move the declarations from Table__N.c to Table.h, then including Table.h
    and Containr.h at the end of defs.h.

  - I marked places with bugs or to do's with a comment beginning with the
    searchable "BUG: ".

  - I hope I replaced all path and file name sizes by HW_PATH_MAX. In defs.h it
    is defined as 260, which is the VFAT standard. This should done dynamically.

  - Added "/* @(#)highwire/filename.ext" as first line to all files changed by
    me. Exact two empty lines before every function.

  purewire.prj
    - Default char is explicitely unsigned char.
    - Stack size is explicitely set (open source!).

  render.c
    - scan_html(), scan_text()
      - Corrected control character interpretation.
      - Added tags META, PLAINTEXT.
    - parse_li_tag()
      - Added two vst_arbpt() for caculating minimum width in list_marker().
    - list_marker()
      - Added Roman numerals.
      - Extended numbers and alphabet numerals.
      - Make shure there is enough place for long numbers.
        Same as CAB, but shall we set the maximum to all when reaching </OL>?
    - Marked all BICS with a searchable comment "/* U+".
    - parse_anchor()
      - Check also for CHARSET and ID.
    - New: parse_meta_tag(), checks for Content-Type ... charset.
    - New: parse_q_tag(), prints language dependent qoutation marks.
    - Replaced all "int flag" by "BOOL start_tag" and deleted several
      explanations, only stating that flag means start tag. Using FALSE, TRUE.

  token.h:
    - Added tags META, PLAINTEXT, Q; keys CHARSET, CONTENT, HTTP_EQUIV,
      ID, LANG.

  scanner.c, scanner.h, render.c
    - Added support for HTML files with ISO-8859-1 or windows-1252 (default),
      ISO-8859-2, UTF-8, atarist 8-bit encoding. Text files must be loaded from
      an HTML file with <A CHARSET="..." HREF="...">...</A>.
    - Added all with BICS possible named character entities from HTML 4.
    - Added Unicode entities. Added conversion table Unicode to BICS (Bitstream
      International Character Set). (Better than the one in NVDI.) Added
      conversion table Unicode to Atari ST system font. Both are one character
      to multiple glyph conversions.
    - Added many const and static.

  scanner.c
    - scan_key()
      - Converts '-' to '_'.
    - Added all possible named character entities from HTML 4.
    - Added Unicode entities. Added conversion table Unicode to BICS (Bitstream
      International Character Set). (Better than the one in NVDI.) Added
      conversion table Unicode to Atari ST system font. Both are one character
      to multiple glyph conversions.
    - scan_color()
      - Use isxdigit() for hexadecimal colors.

  Loader.c
    - Removed mint_flag, since the existence of Fxattr() ist checked by calling
      it!
    - page_load(), build_fname()
      - Moved from keyinput.c.
      - Initialize the fsel path with start directory.
      - Added check for NULL pointer.
    - identify_AES(), can_extended_maxalloc()
      - Replaced Super() by Setexc(). This is prefered for MiNT.
    - parser_job(), new_loader_job(), load_file()
      - Extended to pass the CHARSET attribute from <A HREF...>.
    - load()
      - Added check after open(), malloc().

  global.h, HighWire.c, Loader.c
    - Added enum for the source file encoding.
    - Renamed can_mxalloc() to can_extended_mxalloc().

  HighWire.c
    - main()
      - Set "HighWire HTML" as name in the application menu.
      - Moved setting of window info line to Loader.c load_file().
      - Added check for a Speedo fonts GDOS.

  aei.c
    - doGSCommand(), process_messages()
      - Uses extended Mxalloc() mode only if possible.
    - Added const where possible. Added spaces around operaters.

  keyinput.c
    - key_pressed()
      - Was keyboard layout dependent before. (Using NKCC is better.)
      - Added 1, 2, A, U to reread file with new default encoding.

  highwire.cfg
    - Better description.

  av_prot.c
    - get_avserver()
      - Added "!= NULL" to avoid warning from Pure C.

  color.c
    - Deleted unused #includes.

  parser.c, parser.h
    - Added some const.

  redraws.c
    - UWORD for character buffers.

  gemx.h
    - Changed 16-bit character parameters to unsigned.

  AltF4's patches

  global.h:
    - line 72 + 114:  removed declarations of list_marker(), map(),
      list_indent(), convert_to_number() since they are static in
      render.c now.

  render.c:
    - parse_q_tag():  replaced the multi-character-constants by macros.
    - moved long2decimal() and long2alpha() just before list_marker().

  scanner.c:
    - line 845 (scan_char_to_Atari8bit) + 928 (scan_char_to_16bit):
      placed '()' around '&&' expression.
    - line 753 + 775 + 791 (scan_namedchar) + 875
      (scan_char_to_Atari8bit) + 974 (scan_char_to_16bit):  inserted
      missing cases to make gcc happy.

  Makefile:
    made char unsigned by default.

March 28, 2002 (post release version)

  render.c:
    - line 1761 (parse_html):  inserted a loop to finish open tables at
      the end of parsing.  this is necessary to avoid crashes due to
      forgotten </table> tags.

  Table__N.c:
    - inserted #ifdef .. #endif around debug outputs.

March 28, 2002

  Baldrick's patches

  highwire.c
    - updated core version number in alert box to 0.3

  AltF4's patches

  Redraws.c:
    - line 24 ff:  new functions frame_draw(), draw_hbar(), draw_vbar()
      to replace the previous draw functions.

  F_Calc.c:
    - calculate_frame_locations():  several corrections for proper
      slider calculation.

  Container.c:
    - line 10:  corrected rounding for calculation with percents.
    - line 67 (containr_fillup):  corrected if() for '1*' expressions.
    - line 105 + 110 + 118:  corrected rounding for calculation of
      percents.
    - line 372 (containr_calculate):  modified to dial with fix sized
      frame geometries.
    - line 429 (containr_redraw):  modified to take over handling of
      window's rectangle list.  this should never be done in a lib.

  Mouse_R.c:
    - line 159 + 271 (frame_clicked):  replaced draw_frame_borders() by
      new draw_vbar()/draw_hbar() calls.

  color.c:
    - removed  #include "stptok.h" (last occurence in the project).
    - replaced <gemx.h> by <gem.h> and sorted the other lines a bit.

March 25, 2002

  AltF4's patches

  defs.h:
    - new enum types for horizontal and vertical alignments.
    - removed obsolete enum 'possible_message_types'.
    - added forward declaration for TABLE and TBLSTACK.
    - replaced rectangle forward declaration by conditional
      definition.
    - new structure 'word_line' to be used as a list of first word
      items for the lines of a paragraph.
    - removed old table stuff from paragraph definition.
    - added 'offset' attributes to structs clickable_area and
      named_location.

  global.h:
    - line 63:  shortend parameter list of draw_contents() by grouping
      several discrete arguments into one GRECT structure.
    - line 146:  removed old table declarations.

  O_Struct.c:
    - new_clickable_area() + new_named_location():  adapted to new
     'offset' attributes.

  W_Struct.c:
    - add_word():  modified to only produce a new word item if the text
      buffer isn't empty.
    - word_store():  corrected size calculation for the paragraph's
      min_width.

  P_Struct.c:
    - new_paragraph() + add_paragraph():  removed old table stuff,
      adapted to new 'offset' attributes.
    - content_minimum() + content_maximum():  corrected size
      calculation.

  F_Struct.c:
    - new_frame(): removed old table stuff.

  F_Calc.c:
    - calculate_frame_height():  overworked to make use of the same
      code as for table cell calculation.  only the locations of
      clickable_arae and named_location (anchors) are to be set here.

  Table.h:
    - added anchor pointer to table_calc().
    - replaced discrete coordinate arguments by a rectangle structure
      in table_draw() declaration.

  Table__N.c:
    - table_start():  added paragraph's horizontal alignment.
    - table_cell():  added linking of table cell paragraph offset back
      reference.
    - table_calc():  removed handling of clickables and anchors.  this
      is completely done now by the content_calc() function.  instead
      cell offset relative to their table are stored in a 'offset'
      structure.
    - table_draw():  make use of table cells offsets.

    These both functions should be located somewhere else:
    - content_calc():  moved over text related calculations to a own
      funtion.
    - paragraph_calc():  new function to take over all calculations of
      text paragraphs.  also responsible for generating of word_line
      structure list.

  render.c:
    - set_center_text():  outcommented modification of 'paragraph->
      eop_space' to avoid strange displaying of centered text.
    - parse_p_tag():  added 'justify' alignment.
    - parse_li_tag():  removed setting of word_item's line_brk, already
      done in parse_html().
    - parse_table_tag(), parse_td_tag(), parse_th_tag() removed.
    - parse_html():  new variable 'stored_word' used to avoid empty
      word_items and several small modifications to avoid multiple
      spaces.

  Redraws.c:
    - blit_block() + redraw_frame():  overworked to make use of long
      coordinates.
    - draw_paragraph():  completely overworked to make use of
      paragraphs word_line structures.
    - draw_table():  removed.
    - draw_contents():  completely reworked to make the code readable.

  Mouse_R.c:
    - check_mouse_position():  overworked to make use of long
      coordinates.

  Loader.c:
    - line 309 (search_for_named_location):  accesses now 'offset.Y'
      instead of 'position' attribute.

  Makefile, purewire.prj, highwire.prj:
    removed old table module and updated dependencies.

March 21, 2002

  AltF4's patches

  defs.h:
    - line 398:  added line_start to struct list_stack_item which is
      intended to point to the first word just behind the last <li> tag
      for nested lists.

  O_Struct.c:
    - line 112 (new_stack_list_item):  added resetting of new
      line_start attribute.

  render.c:
    - parse_menu_tag() + parse_ol_tag() + parse_ul_tag():  modified to
      take care for paragraph distances of nested lists.
    - line 1541 (list_marker):  removed check for empty current_list.
    - line 1861 (parse_html):  added check for being inside of a list
      to the  case TAG_LI:.
    - line 1843:  moved the  case TAG_HTML: to the end of the switch
      and replaced writing to the input buffer by searching for the
      trailing '\0'.

  Table.h:
    - renamed top_of_page and frame_h to clip_top and clip_bottom parameters
      in table_draw().

  Table__N.c:
    - line 907 renamed top_of_page and frame_h to clip_top and
      clip_bottom parameters in table_draw().
    - line 935: expanded the if() for a (y + cell->height > clip_top)
      wrapper to avoid drawing things that we can't see anyway.

  Redraws.c:
    - line 196 (redraw_frame):  moved the vsf_color() call into the
      innermost loop scope to avoid misscolored frame backgrounds.

March 20, 2002

  Baldricks patches

  Table__n.c + Table.h
    - changed def for table_draw to take y as long instead of short
    - added short frame_h parameter to table_draw()
    - added short top parameter to table_draw()
    - line 968 - added test for y > frameh if so break
    - line 938 - test (y + row->height > top) wrapper around while(cell)
      avoids drawing things that we can't see anyway

  Redraws.c
    - line 1246 - added frame_h parameter to call of table_draw()
                - added top_of page parameter to call of table_draw()

  AltF4's patches

  TABLE__N.C
    - line 147 - replace with calls allowing 'border' to work for older
      pages

March 19, 2002

  AltF4's Patches (several days patches at once )

  Redraws.c:
    - line 736 + 796 + 839 + 866 (draw_paragraph):  corrected word
      width of first word items of a line that has leading Space_Code.
      also alignment_spacer needn't to be modified anymore.
    - line 48 (blit_block) + 223 (redraw_frame):  adapted to
      frame.current substructure.

  Table.h:
    - added clickable pointer to table_calc() call.

  Table__N.c
    - table_cell():  fixed missinterpretition of percent width.
    - table_calc():  added support of clickables (preliminary
      implementation).
    - content_calc():  added generating of clickables (temporary
      implementation).
    - line 101 (table_start) + 313 (table_cell) + 430 + 623
      (table_finish):  adapted to frame.current substructure.
    (only the main changes are listed)
    - table_row():  added alignment.
    - table_finish():  new calculation for fixed width cells.
    - table_calc():  new calculation of fixed table height.

  F_Calc.c
    - line 184 (calculate_frame_height):  added clickable pointer to
      table_calc() call.
    - line 141 (calculate_frame_height):  outcommented  height_spacer
      and  previous_word_height.
    - line 379:  outcommented the switch (current_word->vertical_align)
      because it makes nothing sensefull.

  render.c:
    - line 281 (parse_anchor):  added underline attribute to links.
    - at all occurences, removed the active_word_buffer argument from
      the functions argument lists since this is now stored in the
      frame's 'current' substructure.  same done for function calls.
    - at all occurences, replaced '->current_word' by '->current.word',
      '->current_paragraph' by '->current.paragraph',
      '->current_font_size' by '->current.font_size', '->active_word'
      by '->current.text'.
    - adapted all calls of add_paragraph() word_store() to changed
      argument list.
    - parse_anchor():  new local 'word'.
    - parse_div_tag():  new local 'paragraph'.
    - parse_header_tag():  new local 'current'.
    - parse_menu_tag():  new local 'current'.
    - parse_p_tag():  new local 'paragraph', removed prev_alignment
      variable, wasn't necessary.
    - parse_ol_tag():  new locals 'current' and 'paragraph'.
    - parse_ul_tag():  new locals 'current' and 'paragraph'.
    - parse_hr_tag():  new local 'current'.
    - parse_img_tag():  new local 'current'.
    - list_marker():  changed to make use of the frame's text buffer.
    - parse_html() and parse_text():  adapted to frame.current
      substructure.
    - line 872 + 836 (parse_ul_tag) + 807 + 770 (parse_ol_tag) + 649
      + 625 (parse_menu_tag) + 381 + 371 (parse_d_tags) + 252 + 247
      (set_blockquote_text):  setting of paragraph indent.
    - line 354 ff (parse_d_tags):  replaced access of current_paragraph
      by local variable.
    - line 14:  removed  #include "stptok.h".
    - parse_html():  in case TAG_TABLE added word_store() and
      add_paragraph().

  defs.h:
    - line 371 ff (struct frame_item):  integrated attributes
      current_paragraph, current_word, active_word and current_font_size
      into a own substructure.  this way we have all attributes necessary
      for paragraph/text building grouped together and the substructures
      name 'current' let the code looking very similar to the previous
      state.
    - line 276 (struct paragraph_item):  added attribute Indent.

  global.h:
    - line 84:  removed argument filename from new_frame().
    - line 142:  changed parameter list of new_paragraph() and
      add_paragraph().
    - line 162:  removed obsolete declarations of to_do.. functions.
    - line 165:  changed parameter list of new_word(), add_word(),
      word_store().
    - line 143:  changed return type of add_paragraph().

  W_Struct.c:
    - line 36 (new_word):  changed parameter list.
    - line 75 (add_word):  changed parameter list, adapted to
      frame.current substructure.
    - line 86 (word_store):  changed parameter list, reworked for
      better performance.
    - line 100 (word_store):  removed adding of horizontal offset,
      doesn't work with tables.

  P_Struct.c:
    - new_paragraph():  adapted to frame.current substructure, made it
      setting the current->word to the new paragraph's word_item
    - add_paragraph():  adapted to frame.current substructure.
    - line 130 (content_maximum) + 111 (content_minimum):  uses now
      paragraph indent for calculations.
    - line 71:  changed return type of add_paragraph() to make the
      usage more handy.

  Loader.c:
    - line 60 (parser_job):  removed  loader->FileName  from new_frame()
      call.

  F_Struct.c:
    - line 14 (new_frame):  removed argument  filename.
    - line 44 ff:  adapted to frame.current substructure.

  keyinput.c:
    - line 30 + 39 (key_pressed):  outcommented current_frame.

  token.h:
    - line 112:  keyword VALIGN added.

March 15, 2002

  Baldrick's patches

  Scanner.c
    - replaced 'power n' mapping in atari_char[]
    - created ISO88592[] maps ISO-8859-2 to Speedo index

March 13, 2002

  Baldrick's last minute notes

  TABLE.C
    - I had to move the #ifndef _NEW_TABLES to get it to compile
      properly under PureC on my machine
    - I placed the define for _NEW_TABLES in global.h so that it
      was in the same location as GEM_MENU
    - the binary in the archive is compiled with NEW TABLE routines
      and a GEM Menu
    - Lattice HIGHWIRE.PRJ updated

  AltF4's Patches

  defs.h:
    - line 367:  new attribute TableStack in struct frame_item.
    - line 284:  struct table_step, table_child, table_row, table_item
      surrounded by  #ifndef _NEW_TABLES.
    - line 272:  new attribute Table in struct paragraph_item.

  global.h:
    - line 142 - 154:  surrounded by  #ifndef _NEW_TABLES.

  P_Struct.c
    - line 125 (content_maximum):  added check for NULL in word_item.
    - line 76 (add_paragraph):  setting of attribute Table.
    - line 35 (new_paragraph):  setting of attribute Table.
    - line 18 (destroy_paragraph_structure):  #ifndef  around
      destroy_table_structure().

  F_Struct.c:
    - line 50 (new_frame):  setting of attribute TableStack.

  F_Calc.c:
    - line 183 (calculate_frame_height):  call of table_calc().
    - line 8:  #include "Table.h"

  render.c:
    - line 1951 (parse_html):  in cases TAG_TABLE, TAG_TD, TAG_TH,
      TAG_TR new table function calls.
    - line 1195 (parse_th_tag) + 1076 (parse_td_tag)
      + 892 (parse_table_tag):  surrounded by  #ifndef _NEW_TABLES.
    - line 18:  #include "Table.h".

  Redraws.c:
    - line 1222 (draw_contents):  call of table_draw().
    - line 889:  draw_table() surrounded by  #ifndef _NEW_TABLES.
    - line 8:    #include "Table.h".

  table.c:
    - the complete file is surrounded by  #ifndef _NEW_TABLES.

  Table__N.c, Table.h:
    - temporary files updated.

  Makefile, purewire.prj:
	adapted for temporary files.

  Baldrick's patches

  Scanner.h
    - added prototype for scan_upperchar()

  Scanner.c
    - new routine scan_upperchar()
    - added static WORD atari_char[]

  Render.C
    - line 2146  added case for handline *symbol < 0 or = 127
       we are handling symbol as a signed char so there really
       is no case where symbol > 127 (at least on compilers where
       signed chars are default).  So upper chars come in below
       0 (except 127)

  Char.txt
    - a text file with (hopefully) all of the upper range characters
      from the atari asci set.

March 12, 2002

  AltF4's Patches

  Redraws.c:
    - new function draw_border() to make 3D borders around tables,
      buttons, etc.

  Table__N.c, Table.h:
    -temporary files for new table functions.

  W_Struct.c
    - line 104 (word_store):  always reset the frame's word buffer after
      storing the actual word.
    - in most functions I changed the argument list for better
      readability.
    - line 111 (word_store):  added setting of paragraph's min_width.
    - line 79:  removed setting of frame's page_width and table childs'
      min_width.  this is handled now by word_store() in combination
      with the renderer functions.

  P_Struct.c:
    - in all functions I changed the argument list for better
      readability.
    - line 43 (new_paragraph):  setting of min_width and max_width.
    - line 97 (add_paragraph):  setting of min_width and max_width,
      rearranged the other lines a bit.
    - new function content_minimum() to determine the smallest width
      that is nedded for a list of paragraphs, used for frames and
      table cells.
    - new function content_maximum() to determine the largest width
      that occures in a list of paragraphs, used for table cells.

  defs.h:
    - line 26:  forward declaration for struct graphic_rectangle.
    - line 266 (struct paragraph_item):  added typedef PARAGRPH.
    - line 276:  new attributes min_width and max_width.

  global.h:
    - line 70: new function draw_border().
    - line 134:  new functions content_minimum() and content_maximum().
       reformated this block a bit for better readability.

  render.c:
    - removed a lot of occurences of lines which reset the word buffer
      "p_frame->active_word = active_word_buffer;"  because this is now
      handled by word_store().
    - line 978 (parse_table_tag):  set the table_childs min_width by
      using content_minimum().
    - line 1329 (parse_img_tag):  removed setting of the frame's
      page_width, isn't necessary at this point.
    - line 2107 (parse_html) + 2196 (parse_text):  set the frame's
      page_width by using content_minimum().

March 7, 2002

  Baldrick's Patches

  Render.C
    - parse_font_tag()
      - line 478 - modifications to font size setting
         to make output more closely match other browsers

  AltF4's Patches

   defs.h
     - line 11:   removed enum word_codes, isn't needed anymore.
     - line 257:  in struct word_item, replaced word_code by BOOL
       line_brk.
     - line 356;  in struct frame_item, removed frame_filename since it
       isn't used anymore.

   global.h:
     line 57:  renamed draw_frame_contents() to draw_contents().

   Redraws.c:
     - line 63 + 86 + 107 + 128 (blit_block) + 219 (redraw_frame):
       renamed draw_frame_contents() to draw_contents().
     - line 44 (blit_block) + 218 (redraw_frame):  reset
       current_paragraph to frame->item (not shure if that is really
       necessary).
     - line 728 + 734 (draw_paragraph):  replaced word_code by line_brk.
     - line 739:  added an if() to filter out single spaces.
     - removed struct frame_item * parameter from draw_table() routine
     - renamed draw_frame_contents() to draw_contents() and removed the
       frame argument which isn't used anymore.

   W_Struct.c:
     line 66 (new_word):  replaced word_code by line_brk.

   P_Struct.c:
     line 78 (add_paragraph):  replaced word_code by line_brk.

   F_Calc.c:
     line 306 (calculate_frame_height):  replaced word_code by line_brk.

   table.c:
     line 424 (calculate_table_height) + 702
     + 707 (walk_table_children):  replaced word_code by line_brk.

   render.c:
     line 753 (parse_li_tag)
     + 1833 (parse_html):  replaced word_code by line_brk.

   F_Struct.c:
     - line 27 (new_frame):  changed initialisation of background_colour
       to light gray as other browsers are also doing.  Also uses now
       color definitions from gem.h (same for text_colour).
     - line 40:  removed frame_filename initialisation.
     - line 3:   added  #include <gem.h>.
     - line 68 (delete_frame):  removed frame_filename deleting.

March 6, 2002

  Baldrick's Patches

  SCANNER.C
    - scan_color()
      - added char *old - tracks initial value in 3rd case
      - in third case if col < 0, then attempt to convert
         the original text to a long.
    - scan_namedchar()
      - line 297 - subtract 32 if less than BEG_NUM

  RENDER.C
    - parse_anchor()
      - in closing anchor current_word->colour = font_step->color

March 5, 2002

  Baldrick's Patches

  SCANNER.C
    - scan_color()
      - scan for some color indexs that are just numbers
        no " or # involved.  Slashdot has one of these
        lines 450 - 453

March 4, 2002

  Baldrick's Patches

   F_STRUCT.C
     - new_frame()
       - moved frame->current_font_size = POINT_SIZE; to
         before new_paragraph() call

   Render.C
     - parse_font_tag()
       - added support for font_step->colour in lines 504 & 514
     - parse_html()
       - set current_font_step->colour to frame->text_color after
          line calling new_step(3)

   Defs.H
     - added WORD colour; to font_step struct

  AltF4's Patches

   token.h:
     new tag keywords BGSOUND and EMBED.

   render.c:
     - line 1778 (parse_html):  inserted new cases in switch() for
       TAG_BGSOUND and TAG_EMBED.
     - line 1436:  new function parse_embed().

   Loader.c:
     - line 217 (new_loader_job):  corrected handling for NULL target
       arguments.
     - line 206:  new function find_application().
     - line 36:   added  #include <ctype.h>.

Makefile:
	corrected OPTS macro definition.

March 4th morning...

<Big NOTE...  History text was accidentally
overwritten on March 4th.  I was able to scavenge
large parts of the missing history from my drive.
But unfortunately there are missing bits of
history between Feb 15 and March 4, 2002>

<recovery point missing data in here covering addition of
p_frame * to alot of routines and their prototypes  also covers
some work in render.c covering always creating a fontstep in
parse_font >
   P_Struct.c
     - add_paragraph()
       - added p_frame to call of new_word()
     - new_paragraph()
       - added frame_item * parameter
       - added p_frame to call of new_word()

   F_struct.c
     - new_frame()
       - added frame parameter to call of new_paragraph()

   Table.C
     - new_table_row()
       - added frame_item * parameter
       - added p_frame to call of new_paragraph()
     - new_table_child()
       - added frame_item * parameter
       - added p_frame to call of new_paragraph()

February 25, 2002

   AltF4's Patches

   HighWire.c:
     - line 228 (handle_menu):  replaced highwire_ex() by exit().

   P_Struct.c:
     line 37 (new_paragraph) + 92 (add_paragraph):  replaced enum none
     by PAR_NONE.

   F_Calc:c:
     in calculate_frame_height(), replaced in all  paragraph_code =
     lines the right hand side by the new enums, eg. hr -> PAR_HR.

   table.c, Redraw.c:
     replaced huge number of accessing of structure members and also
     pointer-pointer-pointer-... addressing by the usage of local
     variables.  this makes the code better readable and also allows the
     compiler to make better optimazions.

   defs.h:
     - replaced  enum paragraph_codes  by  typedef enum PARAGRAPH_CODE
       with upper cased members to avoid confusion with lower case
       variables of the same names.
     - in struct table_item, removed temp_val and temp_long.  this is
       now handled by local variables.

   Render.C
     - line 923  replaced enum table by PAR_TABLE.
     - line 1248  replaced enum hr by PAR_HR.
     - line 1296:  replaced enum img by PAR_IMG.

February 22, 2002

   Baldrick's Patches

   RENDER.C
     - line 1697 renamed font_step to fontstep to avoid confusion with
        the struct name
     - supplemental changing of font_step in the rest of the routine
     - renamed parameter font_step to fontstep in parse_li_tag() supplemental
        renaming throughout routine
     - renamed parameter font_step to fontstep in parse_font_tag() supplemental
        renaming throughout routine

February 19, 2002

   Baldrick's Patches

   Defs.h
     - new struct table_row()... start of a major overhaul of the
       table code.  Once more into the breach!
     - addition of table_row *row to table_item struct

   Table.C
     - new routine struct table_row *new_table_row (void) - creates
       new row containers

   AltF4's Patches

   Loader.c:
     -line 230 (new_loader_job):  replaced app_id by gl_apid.

   keyinput.c:
     - line 82 (key_pressed):  replaced highwire_ex() by exit().

   av_prot.c:
     - line 62 + 83 (Send_AV):  replaced app_id by gl_apid.

   AEI.c:
     - line 91 (doGSCommand) + 231 (process_messages):  replaced app_id
       by gl_apid.
     - line 141 (doGSCommand):  replaced highwire_ex() by exit().

   Variable.c:
     - line 24:  removed global variable app_id.

   HighWire.c:
     - line 63:  this was a serious bug, moved the Init_AV_Protocol()
       call behind the initialisation of the va_helpbuf variable in
       line 101.
     - line 171:  removed highwire_ex() call, would cause an infinite
       loop.
     - line 61:  reordered appl_init() and V_Opnvwk() calls and placed
       an atexit() call between.
     - line 16:  added declaration of highwire_ex().
     - line 174 ff (highwire_ex):  is declared static now.  also
       reordered sequence of program shutdown and added forgotten
       v_clsvwk().

   global.h:
     - line 25:  removed global variable app_id because this value is
       already stored in the gemlib's gl_apid variable.
     - line 82:  removed highwire_ex() declaration.  it is now declared
       static instead and will be registered as a exit function with the
       atexit() call in the mai

<recovery point... data lost in here somewhere >

    (This is a Baldrick patch from some date )
     - new routine can_mxalloc() just looks for Mint or Magic flags
       and reports 1 if found 0 if not found

   Highwire.c
     - modifications of method used to determine if we can Mxalloc()
       using new routine and seperated from older Mint flag test

   AltF4's patches

   Container.h:
     added a lot of explanations of mechanisms and about how to use
     containers.

   Containr.c:
     - line 446 (frame_next) + 304 (containr_calculate)
      + 267 (containr_relocate) + 232 (containr_byName)
      + 218 (containr_Base):  added checks for NULL pointers.
     - new function containr_byCoord() to find a container that includes
      a given coordinate.

   AEI.c:
     line 274 + 282 + 297 (process_messages):  removed access to global
     the_first_frame variable.

   Mouse_R.c:
     - line 285 (frame_clicked):  replaced redraw() by
       containr_redraw().
     - line 301:  reworked check_mouse_position() to make use of
       container funtions and avoid access of the global the_firt_frame
       variable and the temporary frame_next() call.

   F_Struct.c:
     line 79 (delete_frame):  invalidate current_highlighted_link_frame
     and _area if the related frame becames invalid.

   Redraws.c:
     line 805 (draw_paragraph):  added an extra check to make shure that
     the correct clickable will be highlighted.

   Loader.h:
     - added enum MIMETYPE definition.
     - in CONTAINR declaration, changed attribute Decoder to MimeType.

   Loader.c:
     - line 455 (init_load):  removed initialisation of a default frame,
	   no longer necessary.
     - line 402 (load_file):  removed creating of an error text, is now
       handled to avoid strange loop hangings.
     - line 150 (new_loader_job):  added evaluation of possible mime
       types.
     - line 132 (loader_job):  handling of not found files added.
     - line 122:  function delete_loader() implemented.
     - line 103:  implemented a rudimatary way of resolving of mime
       types.
     - in parser_job(), switched over from Decoder to MimeType attribute
       and added delete_loader() call.

   render.c:
    - in parse_text():
     - line 2174:  removed  free (start_symbol), is now done by
       delete_loader().
     - line 2111:  removed  current_highlighted_link_area = 0, this is
       wrong at this place.
     - line 2094 + 2089:  removed variable start_symbol, not longer
       used.
     - removed several outcommented lines which are not longer used.
    - in parse_html():
     - line 2070:  removed  free (start_symbol), is now done by
       delete_loader().
     - line 1731:  removed  current_highlighted_link_area = 0, this is
       wrong at this place.
     - line 1714 + 1705:  removed variable start_symbol, not longer
       used.
     - removed several outcommented lines which are not longer used.

February 15, 2002

   Baldrick's patches

   AV_PROT.C
    - rewrote most of the functions based on routines from GEMagnetic
    NOTE I'm not certain what needs to be done exactly for PDF_AV_OPEN_FILE
    I've left the original code in with a modification while putting
    some potential example code that doesn't work.

   Highwire.C
   	- ~line 91.  In test for Aes_type malloc va buffer based on
   	   return.

   GLOBAL.H
    - added extern for char	*va_helpbuf; /* GLOBAL memory buffer for AV */

   DEFS.H
    - added def's for GLOBAL & ALLOCMODE

   TABLE.C
    - ~ line 739 - in calculate_table_width();  insertion of walk_table
        _children into fixed width tables

   AltF4's patches

   - Containr.c
      line 275 - added frame.x and frame.y modification

February 14, 2002

   Baldrick's Patches

   TABLE.C
    - line 279 applied temp_height = 0 outside of end of row test in
     empty children

   AV_PROT.C
   	- added MAGXDESK and STRNGSRV to Av server search id's
   	- Send_AV () changed msg to short, set all msg[2] to 0

   AltF4's Patches

   purewire.prj, highwire.prj and makefile completed dependencies

   Highwire.c
     - line 218 (handle_menu):  removed the  return 0;  from this void function.

February 13, 2002

   Baldrick's patches

   Loader.c
     - cleaned up load_file() by changing the 2 #ifdef's to one
        #ifndef LATTICE

   Rafal Kaweki's patches

   AV_COMM.H & AV_PROT.C new files

   Highwire.c
     - line 63 added Init_AV_Protocol()
     - line 168 added Exit_AV_Protocol()

   LOADER.C
     - line 44 added #include "av_comm.h"
     - line 275 added static const char *pdf_ident=".pdf";
     - line 302 added else case for my_pdf handling

   purewire.prj, highwire.prj and makefile added av_prot.c file

   AltF4's patches

   defs.h:
     in struct frame_item, removed attributes frame_height, frame_left,
     frame_top, next_frame, frame_name.  their meanings are handled now
     by containers.

   global.h:
     - line 118:  removed obsolete check_to_do_list() declaration.
     - line 111:  removed reset_frame() and destroy_frame_structure().
     - line 110:  expanded argument list of new_frame() and moved it to
       the F_Struct section (line 74).
     - line 75:   removed temp_frame() and added new delete_frame().
     - line 67:   removed first argument of frame_clicked().
     - line 36:   removed previous_frame variable declaration.

   Variable.c:
     - line 57:  removed global variable previous_frame, no longer used.

   F_Struct.c:
     - removed destroy_frame_structure(), reset_frame(), temp_frame().
     - moved init_frame() into new_frame() since there are no other
       callers for it anymore.
     - new function delete_frame().
     - added  #include <string.h>.

   F_Calc.c:
     line 39 - 88 (calculate_frame_locations):  removed outcommented
     stuff, is now handled properly by containers.

   render.c:
     - line 289 + 295 (parse_anchor):  replaced the frame_name argument
       because that was not correct in this context (or at least not
       necessary).
     - in parse_html() and parse_text(), outcommented several initial
       settings which are already done by new_frame().

   Loader.c:
     - in parser_job(), removed debug output, inserted delete_frame()
       calls.  also adapted new_frame() argument list.
     - in init_load(), adapted new_frame() argument list.

   Containr.h:
     - new function containr_byName() to find a named container in the
       tree.
     - removed C_get_percent() and C_get_offset(), not longer needed.

   Containr.c:
     - in containr_setup(), removed setting of frame_name.
     - in containr_clear(), added delete_frame().
     - new function containr_byName().
     - removed C_get_percent() and C_get_offset().

   Mouse_R.c:
     - line 28 + 39:  removed first argument of frame_clicked().
     - line 275:  make use of containr_byName() to find named target.
     - added  #include "Containr.h"  line.

   HighWire.c:
     - line 178 (highwire_ex):  removed destroy_frame_structure() call,
       it makes no sense to free memory just before exiting but slows
       down program quit.

February 12, 2002

   Baldrick's Patches

   TABLE.C
     - moved temp_height = 0; out of end of row test to a location
        after row height check.


February 11, 2002

   AltF4's Patches

   defs.h:
     - line 15:  added forward declaration for CONTAINR and a #pragma
       to keep off PureC from complaining about a unknown structure.
       This is a bug in PureC because the ANSI C standard explicitely
       allows this kind of declaration.
     - line 308:  changed the type of Container attribute.

   Containr.h:
     - moved over the typedef to defs.h

   Containr.c:
     - line 34 + 193:  containers get the attribute Border from their
       parents (if any).
     - line 181:  take care of global the_first_frame variable.
     - line 7:  removed #include "Loader.h".

   Loader.h
     - changed the type of Target attribute.
     - removed TmpFrame and ParseType attributes, not longer used.
     - changed argument list of new_loader_job().

   Loader.c:
     - overworked parser_job() to avoid the need of temporary frames.
     - removed set_parser_job().
     - loader_job() registers the parser job itself now.
     - init_load() adapted new_loader_job() arguments.

   render.c:
     - line 1439 (parse_frameset):  removed start_frame variable.
     - line 1510 (parse_frameset):  adapted new_loader_job() arguments
       and removed temp_frame.

   keyinput.c:
     line 64 (key_pressed):  adapted new_loader_job() arguments and
       removed temp_frame.

   Mouse_R.c:
     line 305 + 323 (key_frame_clicked):  adapted new_loader_job()
     arguments and removed temp_frame.

February 09, 2002

   AltF4's Patches

   global.h:
     - removed global variable declarations add_to_do and read_to_do,
       no longer in use.
     - added frame and clipping_area arguments to
       calculate_frame_locations().

   defs.h:
     - replaced the 'struct frame_item {...}' by 'typedef struct
       frame_item {...} * FRAME'.  this allows shorter argument lists
       for function declarations and better readable code.
     - removed all of the 'Flow Control Constructs' at the end (the
       to_do_... declarations), no longer in use.

   Variable.c:
     - removed global variables add_to_do and read_to_do, no longer in
       use.

   Container.h:
     - added structure members Area, Name, Border, removed _debug.
     - new functions containr_setup(), containr_Base(),
       containr_relocate(), containr_calculate(), containr_redraw().

   Container.c
     new functions:
     - containr_setup() to attach a frame to container,
     - containr_Base() to get the base parent container of a frame,
     - containr_relocate() to new positions for container and frames,
     - containr_calculate() to calculate positions and sizes of
       containers and frames,
     - containr_redraw() as replacement for the frame based redraw().

   Loader.h:
     - moved over the typedef FRAME to defs.h.

   Loader.c:
     - in parser_job():
       - added containr_setup() and containr_calculate() calls.
       - containr_redraw() is called for every redy frame now.  this way
         the user can start viewing while there are still parts to be
         parsed.  this also helps debugging.
     - in init_load(), resorted window setting.

   AEI.c:
     all changes in process_messages():
     - case WM_MOVED:  replaced wind_set() by wind_set_grect() and
       calculate_frame_locations() by containr_relocate().
     - case WM_SIZED:  replaced calculate_frame_locations() by
       containr_calculate().
     - case WM_REDRAW:  replaced redraw() by containr_redraw().
     - case WM_FULLED:  replaced calculate_frame_locations() by
       containr_calculate().

   render.c:
     - all changes in parse_frameset():
       - added argument container.
       - variable border removed, will be handled in the tag scopes
         instead.
       - variables cur_xoffset and cur_yoffset removed since geometric
         calculations are no longer done here but in containr_setup().
     - in parse_html() case TAG_FRAMESET, added container argument to
       parse_frameset() call.

   F_Calc.c:
    all changes in calculate_frame_locations():
      - added frame and clipping_area arguments to function.
      - outcommented a lot of stuff that is now already done by
        containr_calculate().

   Makefile:
     improved for different processor targets.

February 8, 2002

   AltF4's Patches

   Containr.c, Containr.h:
     new module for struct CONTAINR to take over structural aspects of
     frame_item.  there are nearly no comments in it, I will make up for
     this soon.

   defs.h:
     line 308 ff:
     - added temporary anonymous pointer attribute Container.
     - outcommented atrribute next_frame.  declared temporary function
       frame_next() to be used instead (just behind the struct).

   render.c:
     - line 941 (parse_table_tag) + 1135 (parse_td_tag):
       set color to -1 if not defined as tag attribute to allow
       transparency for table items.
     - function parse_html() completely reworked to make use of the new
       container structure/functions.

   Redraws.c:
    - line 987 + 940 (draw_table):
      added if(color >= 0) to allow transparency for table items.
    - line 164 (redraw):
      replace acces to next_frame attribute by frame_next() call.

   Loader.c
     made a lot of changes to make use of the new container structure/
     functions.  sensless to write them down because most of the  will
     be changed again in the very near future.

   F_Calc.c:
     - line 45 + 200 (calculate_frame_locations):
       replace acces to next_frame attribute by frame_next() call.
     - line 24:
      new macro PercentOf() for calculating absolute values from
      percents.  this seems also solve the problem that sometimes a one
      pixel column at the very right side of the window wasn't filled.
    - in calculate_frame_locations(), replaced all calculations of
      absolute values from percent by the new PercentOf() macro.

   F_Struct.c:
     - line 10: (destroy_frame_structure)
       replaced while by if, no more need to walk through a list.
     - line 8 + 20 + 22: (destroy_frame_structure)
       removed acces to next_frame attribute.
     - line 37: (init_frame)
       initialize anonymous pointer attribute.
     - line 39: (init_frame)
       removed acces of next_frame attribute.

   Mouse_R.c
    - line 32 (button_clicked) + 318 (frame_clicked)
      + 375 (check_mouse_position):
      replace acces to next_frame attribute by frame_next() call.

   keyinput.c
     - line 55 (key_pressed):
       replace acces to next_frame attribute by frame_next() call.

   Makefile, purewire.prj, highwire.prj: updated

February 7, 2002

   Baldrick's Patches

   TABLE.C
     - calculate_subtable_height() no longer called.  Possibly will
       be removed shortly
     - left_border removed in calculate_table_height()
     - table->borders.left used in place of left_border
     - removed calculate_subtable_height() routine no longer used
     - cleaned up some old remmed out lines involving the old
        colspan implementation
     - some other unused snipets that were rem'd out removed
     - reworked system in caculate_table_height() text processing
         now in else { }
     - reworked system in walk_table_children() text processing now
        in else {  }
     - fixed a typo in sub table height calculation

February 6, 2002

   Baldrick's Patches

   TABLE.C
     - new routine set_p_area() - sets a paragraphs area coordinates
     - modificaitons of calculate_table_height to use set_p_area.

February 5, 2002

   Baldrick's Patches

   DEFS.H
    - added	struct table_item *parent; to table_step struct
    - renamed paragraph * in table_step to entry
      modifications in table.c, render.c and redraws.c

   TABLE.C
    - added table_item *parent parameter to new_table_step() and
      add_table_step()
    - patched empty_child routines
    - modification of colspan handling in all routines that
       modified based on colspan

   GLOBAL.H
    - new definitions for new_table_step() and add_table_step()

   RENDER.C
    - modifications for new table step routines and struct
    - modifications for insertion of empty children to make
       space for colspan rowspan

   REDRAWS.C
    - modifications for new table step routines and struct
    - modification of colspan handling in draw_table routine
    - removed draw_subtable() it was no longer used

   AltF4's Patches

   render.c
    - line 1862: renamed calculate_frame() to parse_html().
    - line 1571: removed #else .. #endif part, wasn't used anymore
               since a longer time. parse_frameset()
    - line 1556 + 1565: replaced add_load_item_to_to_do_list() by
               new_loader_job(). parse_frameset()
    - line 1556: the 't_frame->frame_name' gets its value from
               get_value_str() now to avoid useless copies. parse_frameset()
    - line 1538: removed the  #if 1  and the following
             if (!get_value...)  block, not longer used. parse_frameset()
    - line 1393: removed frame_name[], no longer in use. parse_frameset()
    - line 12:   added  #include "Loader.h".

   HighWire.c
    - line 30:  changed the timer value from 100 to 1.
    - line 162: replaced check_to_do_list() by schedule().
    - line 14:  added  #include "schedule.h".

   Mouse_R.c:
    - line 312 + 329: replaced add_load_item_to_to_do_list() by
           new_loader_job()
    - line 8:  added  #include "Loader.h".

   keyinput.c:
    - line 73: replaced add_load_item_to_to_do_list() by
               new_loader_job()
    - line 15: added  #include "Loader.h".

   Makefile, purewire.prj, highwire.prj:
     updated: inserted schedule.c, removed To_do.c

   schedule.c, shedule.h:
    - new module for general purpose job control.  the functions here
      don't know anything about internal structures like frame_item
      but are handeling all arguments as anonymous pointers.  This way
      it can also be used later for eg. decoding images.

   Loader.c:
    - new functions new_loader(), loader_job(), new_loader_job() to
      take over some functionalities from To_do.c and make use of
      schedule.c instead.
    - new functions parser_job(), set_parser_job() to take over some
      functionalities from To_do.c and make use of schedule.c instead.
      this both functions should really placed somewhere else but atm
      I'm not shure about the right file.
    - added  #include "schedule.h"  and  "Loader.h".
    - replaced add_load_item_to_to_do_list() by new_loader_job().

   Loader.h
    - I placed here some declarations which I will need to change soon
      again.  this way at least gcc compiles much faster after changes.

   To_do.c
     all of its functionality is now splitted off into schedule.c and
     Loader.c, so it becomes obsolete now.

   global.h
    - renamed calculate_frame() to parse_html() because that matches
      more its functionality, corresponding to parse_text().  Also
      moved this declaration to the render.c section where it belongs.

February 4, 2002

   Baldrick's Patches

   TO_DO.C
     changed include aes.h to gemx.h

   REDRAWS.C
     experiments walking paragraphs around table draws
     recall draw_table() instead of draw_subtable()

     draw_table() replaced left_border, right_b.. and bottom_b...
       with current_table->current_borders.

   DEFS.H
     new struct BORDERS tracks left, right bottom
     added sturct borders current_borders to table item

   P_STRUCT.C
     added init to 0 in new_paragraph() for paragraph.area values

   TABLE.C
     uncovered the fact that paragraph.area values weren't being
       set for tables.  This was a problem since the redraw routines
       needed these values

Alot of undocumented changes :< all in table routines though.  Drawing
calculating and parsing.

February 1, 2002

   Baldrick's Patches
     #if 0'd out the empty child insertion routines for the moment
     going to sync the updates and can't finish it in time.

   TO_DO.C
      included aes.h for PureC for graf_mkstate

   AltF4's patches

   O_Struct.c:
     - removed the unnecessary #include <gemx.h>.

   AEI.c:
     - resorted the #include lines for better readability.

     - replaced <gemx.h> by <gem.h> to make compiling a bit faster.

   HighWire.c:
   	 - resorted the #include lines for better readability.

   	 - in the event loop, moved the check_to_do_list() call to the end
   	  (line 135 -> 158) to avoid double redrawing at start up.  Not
   	  doing so let HighWire recive the initial redraw message of the
   	  wind_open() just after redrawing of the finished page.

   	 - the check_mouse_position() is now triggered by MU_M1 events
   	  instead of MU_TIMER.  this way it is only called if the mouse
   	  really moved and saves some cpu time for background processes
   	  (11% -> 8% cpu load on my system).

   	 - replaced evnt_multi() by evnt_multi_fast().  the latter gets
   	  only three pointers instead of a LOT and saves this way some cpu
   	  time.  the apropriated EVMULT_IN struct just before the main()
   	  function.

   To_do.c:
     - line 104:  added check_mouse_position(), else the changes above
      dosn't work properly with links in frames.

     - line 112:
       removed an old #ifdef, was only used for speed meassurment in
       the past.

     - removed the unnecessary #include <gemx.h> and resorted the other
      include lines for better readability.

     - added new function copy_to_do() to avoid duplicate code in
      check_to_do_list().

     - in add_load_item_to_to_do_list() replaced malloc()/strcpy()
      calls by strdup().

     - reformatted the complete code to get the code readable.

January 31, 2002

   Baldrick's Patches

   TABLE.C
     current_height replaced with current_table->temp_long in calculate
       table height routines

     removed test for table->num_cols > 1 in advacing table height
       in calculate table height and subtable height routines

     new routine struct table_child *insert_empty_child (struct
       table_child *prev).  this inserts our empty holders into table
       structures to fill the spaces left by colspan and rowspan

   REDRAWS.C
     removed test for table->num_cols == 1 in righ border setting in
       draw_table routine

     WORD pts[4] use in draw_table() and draw_subtable() replaced with
       current_table->screen_pts

     variable WORD u removed from draw_frame_contents()

     variable WORD junk removed from draw_subtable()

     #if 0 rem'd out hopefully not needed test in draw_table() and
       draw_subtable().  if we still need it make certain to remove
       line after #endif

   RENDER.C
     created table child walking routine in parse_table_tag() close to
       insert empty children into table child structure.  This is to help
       with the support for colspan and rowspan

   DEFS.H
     addition of WORD screen_pts[4]; /* on screen rectangle of table */
       to struct table_item

   Global.h
     insert prototype for insert_empty_child

January 30, 2002

   Baldrick's Patches

   REDRAWS.C
   	bottom border now long

   	y_offsets in many routines converted back to longs


   Render.c
     changed tests in parse td tags to be num_rows == 1 instead of <= 1

     in case TAG_TR added a test to see if the number of columns in the table
       is greater than 0.  If it is then it adds a new row.  The reason is
       the default value for number of rows is 1 now, this is to cope with
       some sites with bad html, missing the initial tr tag before the first
       row.

   TABLE.C
     num_rows default 1 now in new_table().  The logic behind this
       is a bit odd, but it works.  The reason is that there are
       sites with bad html that do not have a tr tag before the first
       row, but do later on.  So if it is 0 then we end up with a
       table with one row instead of 2.  See note in render regarding
       tr tag

January 29, 2002

   Baldrick's Patches

   DEFS.H
     added long temp_long;	/* a temp long used mainly for height tracking */
       to table_item struct

   TABLE.C
     temporarily removed table walking in height calculations

   REDRAWS.C
     removed current_line_width in draw_table routines, now use
       direct value since it wasn't being modified
     renamed some parameters in the drawing routines just
       to ease my reading them today
     removed variable old_height and use y offset directly since
       it was not modified in the table drawing routines
     variable u renamed to junk since this is what it is in table
       drawing routines
     new routine static void set_veffects(struct word_item *current_word)
       just some standard recurring vdi effects in this module
     set_veffects() replaces code in draw_frame_contents and table
       drawing routines
     table_item->temp_long replaces current_height in table drawing
       routines

   Note once we get this sorted out we can see about reducing some of
     these struct entries again


Some notes.

Subtable isn't always being entered
We need to set pts array in table drawing closer to calling sub routines


January 28, 2002

   Baldrick's Patches

   TABLE.C
     experiments with walking table paragraphs in height calculations

   AltF4's Patches

   Loader.c:
     in get_decoder_type():
     - line 103:  replaced strchr() by strrchr(), else a file named
       like 'foo.bar.htm' is taken as a raw text file because the
       '.bar' is found as extension instead of '.htm'.
     - line 114:  added 'php' as an extension for html files -- this
       makes testing of downloaded pages easier.

   parser.h, parser.c, render.c:
     - the parse() function is now renamed to parse_tag() because the
       previous function name is really too unspecific.
     - comments are now handled by parse_tag() in parser.c.  this way
       it is also working for framesets and titles.

   render.c:
     - removed comment handling (is done by parse_tag() now).
     - implemented skip_style() and skip_script() to filter out the yet
       not interpreted css and javascript parts.

   token.h:
     added SCRIPT, NOSCRIPT, STYLE keywords.

January 25, 2002

   Baldrick's patches

   TABLE.C
     - current_table->temp_val used to replace temp_cols in
        calculate_table_height() and calculate_subtable_height()
     - almost all routines in TABLE.C drop current_paragraph variable
        in favour of using the pointer in the table_item
     - word_item *current_word replace with frame->current_word in
        calculate_table_height() and calculate_subtable_height()
     - current_child replaced with table->current_child in
       calculate_subtable_height() and calculate_table_height()
     - table_w in calc subtable_height() and calc table_height()
       replaced with current_table->actual_width
     - modifications to increase current_height in one column tables


   DEFS.H
     - added current_paragraph * to table_item struct, this lets
        us track paragraphs inside seperate tables
     - removed container value from frame_item struct

   REDRAWS.C
     - removed table_paragraph * from draw_table() replaced with
       table->current_paragarph
     - a test routine, draw_subtable() this isn't permanent, I'm
       using it for some testing

January 24, 2002

   Baldrick's patches

   TABLE.C
     - put width test back into calculate_table_height() when walking
        words.
     - check if table has more than 1 column before testing and reset
        of column/row data in calculate_table_height(),
        walk_table_children(), calculate_table_width(),
        calculate_subtable_width(),calculate_subtable_height()
     NOTE there is the potential of rewritting how col_span is handled
       which would eliminate the need for these tests

January 23, 2002

   Baldrick's patches

   LOADER.C
    - short test forcing PureC to use stat() call.  It works here
      I sent a message out to the list to clarify if we really
      need all these tests in load_file()

   AltF4's patches

   LOADER.C
    - line 155:
      removed unused definition of file_info (is also defined in the
      following else scope).
    - line 189:
      reordered the #ifdef to enable again the gcc binary to load
      files without MiNT/Magic.

   HighWire.c:
    - line 42:
      removed leading '\\' of the address string to make shure that
      the start page is also found without MiNT/Magic.

   parser.c, parser.h:
    - added new functions get_value_char() to get only the first
      character of a value and get_value_unum() to get a value as a
      unsigned number directly.

   render.c:
    - modified parse_li_tag() for use of new get_value_char() and
      get_value_unum() functions.  this avoids the output of funny
      markers for something like <LI VALUE="-7"> or <LI VALUE="1%">.
      Furthermore the marker toggeling of <UL>s inside other <UL>s is
      working correctly now.
    - in parse_ol_tag(), parse_table_tag(), parse_td_tag():  modified
      for use of new get_value_char() and get_value_unum() functions.
    - in parse_div_tag(), parse_header_tag(), parse_img_tag(),
      parse_hr_tag(), parse_p_tag(), parse_ul_tag():  modified for use
      of new get_value_char() function.

January 22, 2002

   AltF4's patches

   GLOBAL.H
    - changed parameter list of new_word()
    - corrected comments with respect of renamed files.
    - removed some obsolete function declarations:
      line 103: variable()
      line 106: special_char_map_str()

    W_Struct.c:
    - expanded the argument list of new_word().  if the parameter
      copy_from is non-zero it is taken as a source to copy some
      attributes from.
    - took over word_store() function from render.c

    P_Struct.c:
    - in add_paragraph(), replaced malloc of struct word_item by
      new_word().  no function should malloc and init foreign data
      structures by itself but call appropriated functions for that
      because this is a very common source of errors.
    - removed #include <string.h>, was only used for memset().
    - removed #include <gemx.h>, was nowhere used.

    F_Struct.c:
    - new function init_frame() used by new_frame(), reset_frame()
      and temp_frame().  this makes the code a bit shorter and
      decreases the possibility of bugs depending on forgotten
      attribute initializing.
    - removed #include <string.h>, was only used for memset().
    - removed #include <gemx.h>, was nowhere used.

    defs.h:
    - expanded the enum bool to a typedef BOOL.  this makes code a bit
      better readable.  there are also two defines to have earlier code
      still working.

    parser.h, parser.c:
    - return value of get_value() changed to BOOL.

    parser.c:
    - reworked the parse() function to get it more stable with faulty
      html code.  it now uses the scan_tag() and scan_key() functions
      which are already defined in scanner.c (was forgotten in some
      previous patch).

    scanner.h, scanner.c:
    - changed parameter 'lookup' of function scan_key to BOOL.

    render.c:
    - removed a lot of duplicate code in parse_th_tag().  Instead it
      calls now the function parse_td_tag() and does only the few
      things which are different for TH tags in comparsion to TD tags.
    - moved the function word_store() over to W_Struct.c where it
      belongs to more.

    AEI.c:
    - changed full_window(), iconify_window(), uniconify_window() to
      static function type to make gcc happy.
    - outcommented unused GRECT r in uniconify_window().

January 21, 2002

   David Leaver's patches

   addition of #include <dos.h> in loader.c

   version 0.2 finally released

January 18, 2002

   Baldrick's patches

   AEI.C

   new routine full_window(WORD win);  Handles growing\shrinking
     window when the FULLER is clicked

   WM_FULLED case calls full_window();

   new routine iconify_window(WORD win, GRECT *new); handles
     iconifying a window (NO ICON ATM)

   new routine uniconify_window(WORD win, GRECT *new); handles
     uniconifying a window

   WM_ICONIFY and WM_UNICONIFY now supported

   F_STRUCT.C

   added current_table = 0 init's to new_frame(), reset_frame()
     and temp_frame() - fixes random crash after loading a table
     page

   global.h

   added externs for win_status and pre_status

   Loader.C

   set win_status = 0 in init_load()

   modified read_config() line.  It's no longer a test.  I had
     changed it to be an Alert, but found it too annoying atm.

   Highwire.C

   Commented out wind_set(...WF_BEVENT..).  I don't know why it
     was there and no one ever answered the question on the list.
     It also get's rid of not being able to easily retop the Highwire
     window.

   variable.c

   new variable WORD win_status; determines what state our window is
     currently in 0 normal, 1 fulled, 2 iconified

   new variable WORD pre_status; tracks status before iconfication;

January 17, 2002

   John Kromylos Patches

     modifications of load_file() to make TOS happy

     MiNT_Flag moved to top of loader.c

January 16, 2002

   Baldrick's patches

   Applying patches so we can compile a menu version on the fly

   Most notably the inclusion of #ifdef GEM_MENU and Matthias Jaap's
     menu code and RSC file.
   modified files.  Global.h, Highwire.c,AEI.C and Keyinput.c

   AltF4's January 12 patches

   Highwire.c - unused variable numSets commented out

   keyinput.c - variable 'i' commented out, we might want to track
            the return on page_load() at some point in time

   aei.c - moved WM_CLOSED and AP_TERM cases in switch to end of
           switch statement

   scanner.h
     removed the #include, it was only meant for testing.
     scan_color() prototype updated

   scanner.c -
     added #include "token.h" before include "scanner.h"

     added length argument to scan_color().  this way the color
     expression needn't a trailing '\0' anymore.

     removed the #ifndef NULL ... lines, useless.

   values.c
     added #includes for global.h and scanner.h

     removed the #ifndef NULL ... lines, useless.

     added new function Variable_color() which returns directly the
       remapped VDI color value of a given attribute.  this has the
       advantage that we can save some useless copy actions and also
       makes some parse_...() functions a little bit more lean.

   parse.c
     #include section at the begining resorted or a better overview.

     removed a lot of obsolete debug macros (the DBG(..) lines).

     parse_body(), parse_table_tag(), parse_td_tag(), parse_th_tag(),
	  parse_font_tag():
	     modified to use the new Variable_color() function.

     line 1821 - split if statement to keep PureC quiet

     line 1987 - improved recognition of comments, <!--..--> and <!-..->
       are now also working if going over more than one line and if a
       html tag is inside

   AltF4's January 14 patches

     NETLAYER.C
       - added a dummy line to avoid PureC warning 'unused variable'.

     values.c:
       is now renamed to  parser.c  because this matches its meaning
	   much better.

	   the Variable..() functions are renamed now to more descriptive
	   names get_value(), get_value_str(), get_value_color().

	   the function declarations are now placed in the header file
	   parser.h where they belongs.

	   added some explanation comments.

     Parse.c:
       is now renamed to  render.c  because this matches its meaning
       much better.

       removed obsolete Variable..() declarations, is now placed in
       parser.h.  #include "parser.h" added.

       in all functions, replaced the obsolete Variable..() calls by
       the appropriate get_value..() calls (51 times).

     Makefile, purewire.prj, highwire.prj - updated

January 11, 2002

   Baldricks patches

   current_width lines deleted in walk_table_children()

   WORD temp_val added to table_item structure
  	 just a temporary word for use in table calculations I'm using
  	 it for replacing temp_cols at the moment, but made a generic
  	 name in case we find other uses for it.

  walk_chilren and table_width routines adapted to use table_item->temp_val

  current_width determination in percentage width tables moved to
  after walk_children in case sub tables have been processed

  draw_table() adapted to use table->temp_val

  draw_frame_contents() added new parameter frame_item *current_frame

  draw_table() added new parameter frame_item *current_frame

  current_word in draw_table() changed to frame->current_word

  draw_table() parameter 2 now table_item * instead of paragraph_item *

  current_child in draw_table() now refrences current_table->current_child

  draw_table() changed to long return - subtable heights were being lost



January 10, 2002

   AltF4's patches

   PARSE.C  line 15 #include "scanner.h" lower case

   HIGHWIRE.C line 37 \\HTML\\ now lower case \\html\\

   Edited .HTM files for lower case file names

   Baldricks patches

   current_child * moved from frame_item to table_item this will let
    us track multiple children for subtables

   calculate_table_width() modified to use table->current_child instead
   of local variable (this is an intermediary step)

   walk_table_children() modified to use table->current_child instead
   of local variable (this is an intermediary step)

   WORD min_width; added to struct table_child should track the size
    of the largest word in the child (ie child can be no narrower than
    this value)

   word_store() routine tracks child->min_width if inside of a table

   cleaned out come current_paragraph tracking that did nothing in
     calculation of table_width

   ok trying to reuse frame->current_word in walk_table_children()

   current_width commented out in walk_table_children() it wasn't really
   	used and I'm not certain why it was in there

   sub tables are now parsing partially.  This isn't finished yet.
    however they are at least not crashing.

January 9, 2002

   David Leavers update Lattice Highwire.prj included

   AltF4's patches from the 8th included.  These replace baldricks
     changes for Var_len() and in parse_anchor()

   Baldricks patches

   patches in draw_table() for visual representation of colspan
     finally first and second tables in table1.htm display approximately
     correctly.

January 8, 2002

   AltF4's patches from the 5th

   New Purewire.prj (purec prj file)

   New Makefile

   Patched scanner.c and scanner.h

   new values.c

   Rafal Kawecki patches

   string.h added to F_STRUCT.C, P_STRUCT.C

   baldricks patches

   experimental Var_len() routine in values.c gets the length of
   the value of an attribute to a tag

   patches to parse_anchor() to use Var_len routine

   %width tables now set relative to clip width

   %width table width now checked against the minimum size of
   the table if it's smaller than the minimum size it becomes the
   minimum size.

   in redraws.c in draw_table()  in paragraph code. left_border now
   set to 0 instead of paragraph->left_border. I'm not sure why I did
   that.

   added WORD min_width to table_item

   if table->actual_width > frame_page_width  and table is a percentage
     of the clip area.  frame_page_width is set to table->min_width

January 7, 2002

   Cleaned out lattice #ifdefs since we have all 3 main compilers
   working with GEM.LIB.  Thanks to Ralph Lowinski updating the
   PureC version and David Leaver creating a Lattice version.

January 4, 2002

    Moved *.HTM sample files into HTML folder

    Changed default page in Highwire to point to HTML folder files

    Changed version number to 0.2

January 3, 2002

    AltF4 has rewritten a large portion of the parser.
    He didn't document his changes in a short list and
    there are way too many for me to try and detail while
    still having time to get any programming done.
    Basically it's easiest to say, it's alot faster now.

    Baldrick  Updated PRJ files for Lattice and PureC.

Dec 28, 2001

    AltF4's patches

    PARSE.C

    in parse_th_tag() test for table rows put back in for num_cols modification

    GLOBAL.H

    line 111 remap_color(long value) not remap_color(long *value)

    COLOR.C

    line 68 remap_color(long value) not remap_color(long *value)

    SCANNER.C and SCANNER.H updated

    Baldrick's patches

    These are experiments that might be dumped

    attr_step() struct added to defs.h

    attr_step *current_attr added to frame_item struct

    new_attr() and add_attr() added to parse.c

    attr_list() added to parse.c

    Idea is to break the input area for a tag into a linked
     list of attr_step's to speed parsing

    current_attr init'd to 0 in routines in F_STRUCT.C

    Modified parse_p_tag() and parse_td_tag() to use attr_list routine
      old code kept in #ifdef incase new routines are dropped

Dec 26, 2001

    Modifications to handle compiling with GEM.LIB.

    Removal of GEMParBlk code, it was basically to test
      if the program was running under AES 4.x (atari Multitos)

    added cyan and magenta to the COLORNAME array color
      probably not exact, I just guessed something close

    AltF4's patches

    VARIABLE.C   fonts{} modified

    TO_DO.C line 126 first_frame changed to the_first_frame

    TABLE.C

    line 135 param top changed to tab_top

    line 136 param top changed to tab_top

    line 140 param top changed to tab_top

    line 144 line_end rem'd out as unused atm

    line 147  height_spacer rem'd out as unused atm

    line 149 previous_word_height rem'd out as unused atm

    line 157 temp_rows rem'd out as unused atm

    line 169 bottom_border & right_border rem'd out as unused atm

    line 331 href changed to lnk_href

    walk_table_children() param top changed to tab_top
      also now a static routine

    line 519 current_line_width now init'd at 0

    calculate_table_width() param top now tab_top

    calculate_subtable_width() param top now tab_top

    calculate_subtable_height() param top now tab_top

    line 810 temp_rows rem'd out as unused atm

    line 975 href changed to lnk_href

    SCANNER.C

    added include ctype.h

    struct NAMEDCHAR reworked

    scan_color() routine modified and moved

    Color index array moved here

    REDRAWS.C

    draw_box() routine now static void

    draw_hr() routine now static void

    draw_img() routine now static void

    draw_paragraph() routine now static WORD

    { and } added to if (current_word->changed.colour == TRUE) test in
      draw_paragraph()

    draw_table() routine now static void

    P_STRUCT.C

    add_paragraph() new_paragraph and new_word variables now paragraph and word
      dropped 'new_'  this modifies most of the lines in some small way

    PARSE.C

    removed color_array it's now in SCANNER.C

    kill_to_end() routine now static char *

    set_pre_font() now static void

    set_font_bold() now static void

    set_font_italic() now static void

    set_font_strike() now static void

    set_font_underline() now static void

    set_center_text() now static void

    set_blockquote_text() now static void

    parse_color() routine removed now scan_color() is used

    parse_anchor() now static void

    href changed to lnk_href in new_url_link() calls in parse_anchor()

    name changed to lnk_name in new_url_link() call in parse_anchor

    parse_body() routine rewritten

    parse_d_tags() now static void

    parse_div_tags() now static void

    parse_font_tag() now static void
      variable WORD temp removed
      color handling modfied

    parse_header_tag() now static void

    parse_menu_tag() now static void

    parse_p_tag() now static void

    parse_li_tag() now static void

    parse_ol_tag() now static void

    parse_ul_tag() now static void

    parse_table_tag() now static void
      variable WORD temp removed
      color handling modified

    parse_th_tag() now static void
      color handling modified

    parse_td_tag() now static void
      color handling modified

    parse_hr_tag() now static void

    parse_img_tag() now static void

    parse_title() now static char *

    parse_frameset() now static char *

    list_marker() routine variable new_word changed to n_word
      - modifications to handle this

    NETLAYER.C

    in request_uri() #ifdef USE_LIBWWW moved to before char *url

    MOUSE_R.C

    in check_mouse_position()  href changed to lnk_href in last test

    LOADER.C

    get_fname() now static void

    get_fpath() now static void

    init_load()  first_frame changed to the_first_frame

    KEYINPUT.C

    in key_pressed() char test; rem'd out as unused atm

    in page_load()
       n[80] added = ""
       variable int b; removed
       WORD butt added
       variable int result removed
       *n = EOS removed

    HIGHWIRE.C

    in main()
      enum bool quit renamed to exit
      variable id rem'd out as unused atm
      while loop now tracks exit
      MU_ handling routines now use the_first_frame instead of first_frame

    in highwire_ex()
      the_first_frame used instead of first_frame in destroy_frame...

    F_CALC.C

    in calculate_frame_locations()
      the_first_frame used instead of first_frame

    in calculate_frame_height()
      current_line_width added = 0
      href now addressed as lnk_href

    CONFIG.C

    equ_txtn() now static WORD

    COLOR.C

    remap_color now WORD remap_color(long value)
       best_no now init'd to 0
       unsigned char *rgb added
       RGB1000 color added as variable
       new routines for modifications of color values
       changes to remap to color from * color

    parse_convert_hex() and parse_convert_colour() routines removed unused now

    AEI.C

    vastart() now static void

    nextToken() now static char *

    doGSCommand() now static WORD

    DEFS.H

    enum link_mode settings now lnk_href and lnk_name

    GLOBAL.H

    line 10 dev renamed to vdi_dev

    line 26 first_frame renamed to the_first_frame

    line 111 parse_convert_colour() replaced with remap_color()

    line 134 param top changed to tab_top

    line 135 param top changed to tab_top

    SCANNER.H

    long scan_color() protoype added

Dec 22, 2001

    AltF4's patches

    New makefile

    include osbind.h in AEI.C

    wind_set_str() modification for WF_INFO call in main()

    modfications for identify_AES for GNUC

    Baldrick's patches

    Line 290 in MOUSE_R.C  modified first_frame to
      current_highlighted_link_frame hopefully avoids one of the
      extraneous redraws

    modified vs_clip()'s in blit_block.  They now turn off old window
      level clipping and then localize it to redraw area

    modified current_height > h test near bottom of draw_table()
      it now checks to see if you are in the last column of a table
      This probably isn't perfect.  But it works for the example
      files

Dec 21, 2001

    Matthias Jaap's patches for Gemscript

    baldrick - modified int's in Gemscript support to WORD's

    David Leavers patches

    WORD pts2[2] now WORD pts2[4] in draw_box() routine.

    Line 187 in TO_DO.C  +1 added to malloc(strlen())

    Line 184 in TO_DO.C +1 added to malloc(strlen())

    #ifdef LATTICE wrapper for wind_set(WFNAME) added in init_load()

    #ifdef LATTICE wrapper for wind_set(WF_INFO) added in main()

    Header modifications in COLOR.C

    Baldricks patches

    WORD identify_AES(void) added to LOADER.C  this searches the cookie
      jar for the AES.  Hopefully compiles with all of our compilers

    A number of defines to support identify_AES() added to DEFS.H

    WORD AES_type added to main().  This tracks AES type used.  Mostly
      used to detect AES_single atm.

    identify_AES() called to issue appropriate Pdomain().  This is code
      scavenged out of Qdialer.  Hopefully it works appropriately allowing
      single TOS to load files AND compiles under all compilers.

    void walk_table_children() routine created.  It handles the walking
      of a tables children and it's paragraphs to get the table actual_width

	if a td or th has a colspan adjust the table->num_cols by colspan - 1
      to adjust for 1 already added at start of tag processing

Dec 20, 2001

    AltF4's patches

    Parse.c  special_char_map() routine removed (unused code)

    Color.c   int coltab[3]; now WORD coltab[3]; line 42

    Highwire.c  int vwork_out...  changed to WORD vwork_out... line 38

    /* */ put around line in IFDEF 0 - I disabled ...

    Baldricks patches

    Added 'v. 0.1' to About Highwire dialog in key_pressed() routine

    WORD ignore_colours added to variable.c
       ignore_colours determines whether color settings in tags
       are parsed or ignored.

    ignore_colours = 1; added to planes < 2 test in main().

    parse_body() checks ignore_colours before parsing color attributes

    parse_font_tag() checks ignore_colours before parsing color attribute

    parse_table_tag() checks ignore_colours before parsing bgcolor
       attribute.  if ignore colours is 1, then it sets the table
       backaground to frame background

    parse_th_tag() checks ignore_colours before parsing bgcolor attribute

    parse_td_tag() checks ignore_colours before parsing bgcolor attribute

    output[100] removed from parse_title() routine

    WORD actual_width added to table_item struct.  Tracks real width
	    of table

    Several instances of table_width replaced with actual_width.

    WORD actual_width and WORD actual_height added to table_child
       structure.  Tracks what the real dimensions of the child are.

	tag variable height now parsed in th and td tags

	tag variable width now parsed in th and td tags

	Test made in calculate table height and calculate sub table height to
	   see if the html specified a larger height than the data warrants

	Test made in calculate table width and calculate sub table width to
	   see if the html specified a larger height than the data warrants

    WORD forced_width; removed from table_item structure.  It wasn't needed
       anymore

    cell_spacing and cell_padding reversed.  They had been used
       backwards previously.

Dec 19, 2001

    AltF4's patches

    New Purewire.PRJ

    Inlude SCANNER.C and SCANNER.H

    Moved ISO array out of PARSE.C

    parse_title() modified to use new scanning routines

    '&' parsing modified to use new scanning routines

Dec 18, 2001 (afternoon - after morning code release)

    modified test in parse_td_tag() num_rows <= 1

Dec 18, 2001 (morning)

    Alot of experimentation with new table_step routines
      to get them functioning correctly

    minimum_width removed from parse_text and calculate frame

Dec 17, 2001

    rem'd out a test in redraw_frame.  frame->frame.h isn't being properly
      initialized so the test is bad.

    prev_alignment added to parse_p_tag().  This tracks the previous paragraphs
      alignment and sets the new paragraph to this if it is not specifically
      defined.

    ALTF4's patches from Dec 16th applied
      PARSE.C ( wind set patch)
      LOADER.C
      HIGHWIRE.C
      COLOR.C

    AltF4's patches to parse.c Dec 17th applied
      amp lookup modified in htmlchars

      modifications of special_char_map_str()

    modifications to parse_menu_tag() for flag variable so that it
      handles closing tags as well

    WORD current_font_size added to frame item structure

    WORD current_font_size removed from calc_frame... modifications
      to use frame item *

    WORD current_font_size parameter removed from parse_d_tags()
       modifications to use frame item *

    WORD current_font_size parameter removed from parse_font_tag()
       modifications to use frame item *

    WORD current_font_size parameter removed from parse_header_tag()
       modifications to use frame item *

    WORD current_font_size parameter removed from parse_p_tag()
       modifications to use frame item *

    modifications to parse_font_tag() for flag variable so that it
      handles closing tags

    modifications to parse_header_tag() for flag variable so that it
      handles closing tags

    modifications to parse_ol_tag() for flag variable so that it handles
      closing tags

    modifications to parse_div_tag() for flag variable so that it
      handles closing tags

    modifications to parse_ul_tag() for flag variable so that it
      handles closing tags

    modifications to parse_anchor() for flag variable so that it
      handles closing tags

    parse_th_tag() routine created.   Handles Table Header Cells

    table_item *current_table & table_child *current_child added
       to frame_item structure

    parse_td_tag() routine created.  Handles Table Data Cells

    parse_table_tag() routine created.  Handles Table tags ;)

   	struct table_step created. (defs.h)

    struct table_step *parent_table; added to frame_item struct

    struct table_step *new_table_step (struct table_item *p_table);
     routine added to table.c

    struct table_step *add_table_step (struct table_step *old)
     routine added to table.c

Dec 14, 2001

     frame_item *p_frame added to add_paragraph() routine

     word_item *current_word param removed from add paragraph()

     * current_paragraph param removed from add_paragraph()

     WORD indent param removed from add_paragraph()

     WORD *minimum_width param removed from add_paragraph()

     add_paragraph() now directly modifies frame->current_paragraph
        no longer returns a value

     modified all instances of add_paragraph() for new params

     set frame->current_word at end of add_paragraph() since
       it was always set after add_paragraph anyway

     WORD *active_word added to frame structure

     WORD *active_word param removed from add_paragraph()

     Removed active_word param from most of the recent tag parsing routines

     word_store() now takes struct frame_item *p_frame

     removed struct word_item *current_word from word_store()

     modifications across code to support this

     add frame_item* p_frame to add_word() routine

     WORD indent param removed from add_word() routine

     WORD *minimum_word param removed from add_word() routine

     moved word_store() call in add_paragraph() after empty paragraph test

     temporarily removed empty paragraph test in add_paragraph() I think the
       problem it was trying to cure may be gone now.  I'm not really happy
       with some of the vertical spacing now, but if we use the old test
       we now loose some paragraphs

     parse_div_tag() routine created.  handles DIV tags...

     parse_font_tag() routine created.  handles FONT tags...

     parse_p_tag() routine created.  handles P tags...

Dec 13, 2001

     kill_to_end() replaces some code in closing of Title tag

     struct word_item *current_word moved to frame structure

     parse_hr_tag() reworked again
     parse_ol_tag() reworked...
     parse_li_tag() reworked...
     parse_img_tag() reworked...
     parse_ul_tag() reworked...
     parse_header_tag() reworked...
     parse_anchor() reworked...
     list_marker() reworked using expanded frame structure

     parse_menu_tag() routine created.  parse MENU tags.  Possibly
     could be eliminated and mapped onto parse_ul_tag() routine.

     DIR parsing now just mapped to parse_menu_tag() since they are
     functionally the same and both are deprecated officially

     set_center_text() routine created.  If flag is on new paragraph is
       centered.  if flag != 1 new paragarph is left justified

     set_blockquote_text() routine created.  If flag is on new
       paragraph is indented
       if flag != 1 new paragarphs indentation is reduced

     parse_d_tags() routine created.  This handles all of the Dx tags
       DL, DT, DD.  Flag determines operation mode 1 is start != 1 is end of tag
       type determines type of D tag we are parsing  0 DL 1 DT 2 DD

Dec 12, 2001

     parse_ul_tag() routine created.  Just parses UL tags

     parse_ol_tag() routine created.  Just parses OL tags

     parse_li_tag() routine created.  Just parses LI tags

     list_stack_item *current_list moved to frame structure.

     paragraph_item *current_paragraph moved to frame structure.

     current_indent_distance moved to frame structure.

     current_font_step * moved to frame structure.

     simplifying many of the recently added routines to handle
     a frame item * instead of all the seperate variables

     parse_hr_tag() reworked
     parse_header_tag() reworked
     parse_img_tag() reworked

Dec 11, 2001

     slider_bkg variable added.  Controls color of background of frame
     sliders

     slider_col variable added.  Controls color of slider widgets in frame
     controls

     These were both added to variable.c as a set value.  They are
     modified in highwire.c for monochrome displays.  They should
     either be matched to the system settings or user configurable.

Dec 07, 2001

     modified the y coordinate test in frame location detection in
      in button_clicked() in MOUSE_R.C.  If there was no horizontal
      scroller for the frame the coordinates for the frame clip were
      too large.  So the test could find the frame above or to the
      left of the frame you were trying to manipulate.

     Also modified the tests for the x coordinate in the same location
      in a similar manner.

     Note it's very possible that these tests could be rewritten into
      something that would process faster if we think it's necessary.

     parse_img() now retrieves the SRC value and stores it in the
       local variable img_file[];  The way the names are stored for
       framesets and images should probably be modified to avoid
       overflow.  Especially if we are looking at URI's since these
       can exceed 1000 characters.

Dec 06, 2001

	parse_title() now it place.  Handles parsing and conversion
      of title tags to a GEM window compatible formats and then
      sets the window title.

	some modifications in IMG location in table height and redraws

	Setting of col_widths for tables done now when a column is
	of a fixed width.

Dec 05, 2001

    parse_img_tag() routine in place.  Handles the parsing of IMG
      tags to the extant of the current code.

    parse_hr_tag() routine in place.  parse hr tags.


Dec 04, 2001

    modification to set_pre_font() to enable one routine to set and
     turn off
    set_font_bold() routine created.  Modifies current word styles Bold
     on and off
    set_font_italic() routine created.  Modifies current word styles
     Italic on and off
    set_font_strike() routine created.  Modifies current word styles
     Strike on and off
    set_font_underlined() routine created.  Modifies current word
     styles Underlined on and off

    That's all of the simple text manipulations for reuse elsewhere.

Dec 03, 2001

    Put handling for closing td, th and tr tags into parse.c

    TH cells are now bold and centered by default

    parse_body() routine created.  Simply handles the processing
     of body tags.

    Documented more of the supported tags in parse.c

    parse_anchor() routine created.  Parses <A ...> tags.

    set_pre_font() routine created.  Basically 2 lines of common
    code use in a number of locations.

    Why all the new routines?
       Well I'm trying to strip down the reuseable code as much
       as possible so that I can expand the table parsing code.

Dec 01, 2001

	Found and fixed a bug in variable() that did not appear under
	MagicPC.

	Found a bug in calculate table height where I had current_paragraph
	instead of current_table

	moved current_paragraph assignment to top of while loops in calc height
	and width of tables. ooops.

	Some cleanup and moving of stuff around in the table calculation
	routines.

	added some word_stores in the child creation.

	modified highwire to load highwire.htm by default

Nov 30, 2001

	Fixed a bug in border watching that basically forced tables
	not to print.

	Ok.  Simple tables are mostly working.  There are problems
	and limitations still.  However I did promise to give everyone
	a look.

	Clickable areas in tables aren't working properly.  Lookups
	in tables are failing as well.

	Some table cells have improper sizes.

	ie.  This isn't finished, it's just for show and to get other
	people who might be looking at the code a look at the table
	code.

Nov 29, 2001

    draw_box() routine created to draw the bounding boxes around
    items like tables.

Nov 28, 2001

	Ok there was very litle tracking in the history for awhile
	alot of things were done to the code and for along time it
	was like walking in a dark tunnel with nothing but a broken
	flashlight.  However finally simple tables are working to
	a limited extant.

Nov. 13, 2001

	Patches patches everywhere.
	Finally partial success on simple tables without defined widths


October 31, 2001

	Ok, I'm giving up on the clickable object bug right now.  several
	 days of work and no success.  The location of the window on the
	 desktop does affect this bug.

October 30, 2001

	more experimentation involving the mislocation of clickable areas in
	tables.

October 29, 2001

	getting back into the code after a forced break... sorry about that
	numerous problems with tables.  Much experimentation.

October 17, 2001

   numerous modifications to fix clickable_area's inside of tables

   fixed default alignment in table data cells

October 11, 2001

	Several patches by Mathias Japp

	parse_colour() rewritten using an array

	special_char_map_str() rewritten using array

   	parse_header_tag() modified with strupr

   	keyinput.c - new defines at top

   	New Hot Keys

   	Control O - Open file selector

   	Contorl I - About Highwire alert

   	Control Q - Quit Highwire

   	New routines

   	page_load() support for Fileselector

   	build_fname()  build filename - support for Fileselector

September 27, 2001

   restart of implementation of table support

   table_item() and table_child() structs placed back
     into defs.h (table_item * put back into paragraph)

   Table parsing in parse.c reimplemented (it still needs work)

   Start of reimplementation of table rendering

September 26, 2001

   some experiments in the redraw code, nothing really

Took a few days off.

September 21, 2001

   fixed lockup problem on resizing window. Missed the equal to in
     the tests.

September 20, 2001

   added clipping_area struct to the paragraph structure.  This
     will be used in the redraw code to identify if a paragraph
     needs to be redraw in relation to the new viewport.
   added initialization of clipping area to calculate_frame_height()

   experiments with a new draw_frame_contents routine using the
     paragraph areas.  It's mostly working.  However many advantages
     from the old system are currently missing.

   alot of modification to calculate_frame_height() to get the
     objects area's correct.

September 19, 2001

	draw_hr() routine created.  First fully functional part of a
	  modular redraw system.
	draw_img() routine created. Second functional part of modular
	  redraw.  Note IMG routines do not handle images yet, they
	  are mearly holders for future use.
    added an extra test to compare the height to the frame height
      this was to help exit the routine when it had drawn everything
      that it had to draw.
    modified d_up etc. in blit_block to use pts[3] for the
      frame_h on the redraw.  This simplifies some things and
      apparently breaks nothing.  I did this since draw_frame_contents
      was drawing past the end of the window (I turned clip off and
      discovered this). No sense in wasted processing.
	draw_paragraph() routine created. Third functional part of modular
	  redraw :)

September 17, 2001

    More digging in the guts of the redraw code.  Something
    dreadfully wrong going on somewhere.

    Ok I did a reset of the code back to the sept 7 version
    with some additions made on September 10th.  Hopefully
    from here I'll be able to see the way forward again.

    variable() and HR patches reimplemented

September 14 & 13, 2001

	Very litle time either day for programming.
	Mostly experimentations for a new method of drawing
	the frame contents.

September 12, 2001

	current_table pointer addition to parse html
	<tr> increments table->row counter
	<table> handles alignment, bgcolor, border, cell_padding,
	     cell_padding, width
	<td> handles bgcolor

September 11, 2001

   more modifications to handle new table structures

   first parsing of data to new table structures

September 10, 2001

   variable() patched again.  We need to parse out LF and CR.  It
   appears that MS considers it legal to place them inside of a
   tag.

   modification to HR parsing, if there is no width the width
   is set to -100 (or 100%)

   modification in redraw to handle new HR parsing.  Basically its
   back to the original with some care to avoid overflows

   table_item() structure work started
   table_child() structure work started
   table.c  file added to project

September 7, 2001

   frame_name added to frame structure and load_to_do item

   NAME parsed in frameset parsing code in PARSE.C

   target added to url_link structure.

   new_url_link() added target parameter

September 6, 2001

   fixed two more integer overflow bugs in f_calc.c

   implemented suggestion by Deun for handling integer overflow problem.

   implemented a method for adding 1 to frames to fill space
   Probably could be done better, but I don't have any manuals here.

   Also NOTE we really need to think about how to inform later frames
   that their x has moved by one.

   renamed this file to HISTORY.TXT

   Changed clipping area y to WORD from long.  Did some casts to WORD
   and other modifications to support this change.

   Changed clickable area y to WORD from long.  Support casts to WORD
   and other modifications necessary done.

   Found another overflowing integer in the scroll widget size determination
   fixed vertical and horizontal.  So scoll bars are working properly now.

September 5, 2001

   trashed image as word item experiments

   New routine parse_text()  for handling ordinary text files
   like this one.

   new Routine get_decoder_type() for determining the appropriate
   decoder for a file based on it's extension.

   Modifications of parse_to_do item and add_parse_to_do to handle
   the decoder type extension

   Modified the size of several buffers in parse.c, the reason was
   we were over flowing them.  This would be a good area to investigate
   alternatives.

   patched draw_frame_contents to watch for right border not allowing
   words to fit

   border now parsed in parse_frameset (well used now at least)

   modifications in calculate frames.  We were overflowing the buffer
   if our framesize was a percentage and getting erroneous results


September 4, 2001
   experiments with making images a word item...

August 31, 2001

Not perfect but the blocks for the images are at least partially
working.  It needs some improvement which might involve some major
shifting around in the code.  But most of the time it works without
locking up.
Mikes patches for lattice window title code in place.

August 30, 2001

changed default output in special_char_map_str() to Space_Code
modified strike out display location in draw_frame_contents from
 divided by 3 to divided by 2

August 29, 2001

I had missed Fuchsia in the parse_color() routine.

August 28, 2001

experiments with <IMG>
addition of img to enum for paragraph types (can we put it here)
Updates to char 10 parsing

August 26, 2001

Catch char 10 (line feeds) in parsing
Paragraphs now default left (was failing sometimes)
blockquote support

August 25, 2001

Modified parse_header_tag to take current_word as a parameter

August 24, 2001

removed a couple of now useless tests for " on return from variable()

August 23, 2001

New file CONFIG.C
   reads and parses a config file

Hopefully config file is self explanatory for the moment

Slight Warning...  Somethings are a bit strange since I
decided to rework the variable routine.  ie.  somethings
that did work fail.  I'm slowly tracking these down.  The
new code, basically lets us get rid of a bunch of silly tests
that were elsewhere in the code.

August 22, 2001

...patches for variable() routine to parse out begining "
and trailing " and spaces.
This will probably involve alot more patching as we go on.

Modifications to the parse_color routine

August 21, 2001

Added WORD text_colour and link_colour to frame struct

modifications in redraw and parsing to handle new color indexs

August 20, 2001

New routine to parse header tags.  Just cleans up alot of duplicated
	code in the main parse routine.

New routine parse_colour()
	used to map "white" etc to appropriate VDI index

Support for parse_colour in a few places

Moved background_colour from a define to a WORD /* probably should dump it? */

Removed new_frame pointer from frame struct

Added WORD background_colour to frame struct

Modified redraw routines to handle frame->background_colour

New file "color.c"  handles color mapping, palette storing etc.

August 14, 2001

   Added support for border in add_load_to_do() call
   had to modify calculate frame again
   Success finally
   removed container value from frame structure
   added init_paths() to preload last_location for
   filename searching.

   Warning, there is probably junk I've inserted into the code
   while working out framesets to this point, that do not really
   get used.  Sorry about that, we will just have to watch and
   play cleanup.

   ALSO there are some serious redraw problems with multiple
   frames.  I haven't sorted these out yet.  I don't think it
   has anything to do with the frameset parsing.  I think there
   are just some bad tests somewhere in the code.

August 10, 2001

    Frameset parsing moving along.
    Added container value to frame structure, if true then redraw
    etc doesn't worry about this frames contents.
    Modified calculate_frame to take frame_item *

August 8, 2001

Still more modifications of frame routines.

Creation of previous_frame *, this points to the last created
	frame.  So when we create a new frame we have a standard place
	to put it in the list.

August 3, 2001

	Hey found part of what I was looking for.
	frame_left controls the offset of the frame into the window
	now I can really start to get closer on the multiple frames
	in pages.

	history file lost stuff, did alot of things that went no where.
	Into the code and back out again.  Howver the following have
	been done recently.

	init_load() routine modified.  Basically alot didn't need to
	be there.

	some code cleanups.  However Lattice compiles now not working
	100% :<

July 31, 2001

	experiments with cur_frame and frame_list to no end

July 30, 2001

JUNKED ... started the construction of page_item() to handle all the frame_items
	for a page.  Just a higher level container basically so that
	the frame_items can be dynamic and not static.

modifications to  <font size = 2> code and <\font> code
	however not alot.  I'm not certain how to really fix this.
	The problem we have is that sometimes fonts become way!!!! too small.
	Really the code works probably about the way it should except we end
	up with font sizes of 4 and smaller.  Too small for most to read.

modified variable() routine again.  stptok() in one instance, replaced
	by strchr()

July 20, 2001

changed 'noshade' check to != '!' instead of '*' since if there is another
	variable after the NOSHADE there will be a value in out

heavy modifications to variable() routine.  I discovered it had some
	bleeding values creeping in.  Also replaced all strrchr() with stptok()

July 19, 2001

Changed current_word->vertical_align = middle; from bottom in end
	of <sub sup> processing.  Old method dropped it too low.

Fixed a missing space in TEST2.HTML ;)

default height spacer in redraw frame is now line_tail (not perfect but
	makes sub sup tags happier, in effect all text was drawn below the
	baseline in the past.

Extra check in ISO processing '& ' is not processed but dumped straight
	as it is shown.

Modified iso character processing for strings to take a conversion type
	0 gives you the ISO Latin conversions
	1 gives you Atari Ascii conversions (where existing)
	This allowed me to get the ISO char codes working for the window title.

changed default height spacer in vertical alignment (redraw frame) to line_tail

July 18, 2001

Finished up &szlig; style ISO entity processing.  Should have all
	the standard ones in place now.

<Hx> tags are now made bold.  I believe this is the standard practice

added space_found = false; to ISO processing

July 16, 2001

First off sorry about the bad archive (missing files + bad filenames)
on the 15th of July

Modification of init_load() routine.  Now sets window title to
<file> in case we don't get a title later on.

additional special char support (new routine, new processing)
   It's not completely finished however and parts that are done
   are not correct

<title> code modified again. \r and \n caught in while() loop now.

July 15, 2001

slash conversion on local file names / to \

<pre> <\pre> partial initial support. (still has some problems)

July 14, 2001

found vs_clip() problem on TT with Nova card and NVDI

July 13, 2001

<hr> code modified in parsing routines so that changed.font = TRUE
seems to fix some of the problems with text display after a <hr SIZE x>
tag

<hr> code modified in redrawing routines so that <hr> covers the width
of the frame unless it has a defined width.

removed second current_paragraph->paragraph_code = hr in <hr> parsing

<br> modifications to reduce excess space that were added sometimes
	   added a changed.font = TRUE


July 12, 2001

Modifications to <title> routines to handle a couple
of badly formatted pages I threw at the parser.
(title code still needs work as of July 15, 2001)

July 11, 2001

<title><\title> now sets the window title (except under Lattice for
											some strange reason)
<UNDO> backs up to the previous page viewed
					(this is a limited version that needs replaced
					  in the long run, just needed something atm)
<dd> tags were causing problems. Patched this