FOXFIRE! V2.5 -- DEVELOPER'S ADVISORIES
UPDATED 11/17/93

Micromega Systems, Inc.
Foxfire! Technical Support  [71053,2502]
Fax 415-346-6804   Voice 415-346-1498

CONTENTS:

A. Installation/configuration/update
B. Irreproducible problems
C. Known bugs with workarounds/fixes
D. Obtaining fixed code


---------------------------------------------------------------------
INTRODUCTION

This document contains information of concern to owners of the Developer's
Edition of Foxfire! v2.5/DOS and/or Foxfire! v2.5/Windows.  It will be
updated periodically to reflect feedback from our users.

As far as we know, there are no bugs outstanding which would prompt us
to issue a maintenance release of Foxfire!.  All of the issues described
below are minor and/or located in seldom-used corners of the application.

It is the policy of Micromega Systems to provide workarounds and/or
fixes for all reproducible problems as quickly as feasible.  We appreciate
hearing about any problems you encounter, and we will try to let you know
when we find things you should know about.

In some cases, the fix for a problem is too large or complex to be written
up in this form.  Registered users may obtain updated code from Micromega
Systems (see section D below for details).

When rebuilding FOXFIRE.APP, always be sure to establish the Foxfire!
rebuild environment first (see reference manual p262+).

Note on code fix listings:

   Where possible, we display a "differences" listing with line numbers,
   showing both the old code and the new code.  To help interpret the
   difference listings, you might want to refer to this example:

     names of files -- NEW code on top, OLD on bottom
     |                                           The old file's date/time
     v                                           |
   ffprefee.prg (01 Nov 1993 17:50:02)           v
           m:\ff\programs\ffprefee.prg (07 Oct 1993  2:50:00)
===================
-    159          |  tmp_wasrec = RECNO()
     160     159  |  COUNT to tmp_count     && check if there's [...]
+            160  |
-    161          |  DO FFGORECN WITH tmp_wasrec
-    162          |
     163     161  |  IF m.ff_sysmenu
===================
^     ^       ^ line numbers in OLD code (what you start from)
|     | line numbers in NEW code (what you end up with)
|
| revision markers -- '-' means a line in the NEW code that was not
  present in the OLD code.  '+' means a line in the OLD code that is
  not present in the NEW code.

In this example, an new line was added BEFORE the 'COUNT' line, and
another was added AFTER the 'COUNT' line.



---------------------------------------------------------------------
A. INSTALLATION/CONFIGURATION/UPDATE


1. SHARE -- if the computer where you're running Foxfire! uses the DOS
   program SHARE, you may need to increase the resources allocated when
   SHARE is loaded.  Database systems in general, and Foxfire! in particular,
   tend to open many files simultaneously, more than the defaults allow.

   SHARE [/f:xxxx] [/l:yyyy]

   /f:xxxx -- allocates file space in bytes for the storage area used to
              record file-sharing information. Must be large enough to
              store the full path and file name plus 11 bytes for the
              handle and overhead. Default is 2048.  Average
              path-and-file length is 20 bytes.  For Foxfire!, we recommend
              /F:4098 or greater.

   /l:yyyy -- sets the number of locks (file and record locks) which may
              be maintained simultaneously.  Each lock requires 7 bytes
              of memory. Default is 20.  For Foxfire!, we recommend
              /L:1024 or greater.

2. Upgrading from prior releases -- if you encounter any errors during the
   updating of the Foxfire! system file structures, you may not need to
   re-run the entire upgrade process.  Since the file copying is handled
   prior to the file structures update, you should be able to correct any
   errors and then restart (DO FOXFIRE WITH "UPDATE","","","FFCONFIG").

3. DOS 6.x and EMM386.EXE -- there is a new parameter on EMM386 called
   HIGHSCAN -- this causes the memory manager to attempt to use memory
   it thinks is not in use by other drivers/devices.  This setting has
   many conflicts with FoxPro2.x and we recommend that you do NOT use it.

---------------------------------------------------------------------
B. IRREPRODUCIBLE PROBLEMS

1. 'Invalid keyboard macro file format' message -- we save and restore all
   keyboard macros since Foxfire! may re-map some keys while running. In
   some cases, the saved file is being rejected by FoxPro even though we
   have not modified it.  We are looking into what settings might affect
   the save/restore.

2. Failure to release memory.  In some installations, the amount of memory
   available after running Foxfire! is substantially less than it should
   be.  In some cases, repetitive use of Foxfire! during a given session
   can lead to errors due to lack of available memory.  We have not been
   able to establish the combination of memory and software settings
   responsible.  If you see any similar phenomena, please notify us.

---------------------------------------------------------------------
C. KNOWN BUGS


BUG NUMBER:  001

SEVERITY:    WORKAROUND, REBUILD RECOMMENDED

DESCRIPTION: In the Data Item editor, the menu contains a bar reading
             'Used by'. The text should be 'Used in' (to match the
             button on the screen).  Choosing the misnamed bar yields
             an error.

WORKAROUND:  Use the button, not the menu bar

FIX:         Modify menu FFRDITME so that the menu bar reads 'Used in',
             then rebuild FOXFIRE.APP.

----------------

BUG NUMBER:  002

SEVERITY:    WORKAROUND, REBUILD RECOMMENDED

DESCRIPTION: Affects DOS and MERGED CROSS-PLATFORM versions, not WINDOWS.
             Program FFPREFCO.PRG was omitted from FOXFIRE.PJX.  In the
             Preference Set Editor, attempting to edit the Colors
             information produces an error IF the PRG is not on the FoxPro
             PATH.  If you merge the DOS and Windows editions, the resulting
             PJX will also have this problem.  FFPREFCO.PRG is DOS-only.

WORKAROUND:  SET PATH to include the programs directory (at application or
             Preference Set level).

FIX:         Add a "program" type object to FOXFIRE.PJX, rebuild FOXFIRE.APP

----------------

BUG NUMBER:  003

SEVERITY:    IGNORE ERROR, REBUILD RECOMMENDED

DESCRIPTION: Typo in system file structure updater.  Only relevant for users
             who have Foxfire! v1.x or v2.5 (beta) installed and are trying
             to upgrade.  Error is "Variable 'PF_HELMMNU' not found" -- if
             you see this error, we recommend that you 'Ignore' past it to
             continue the update process.  After update is complete, use the
             Preference Set Editor to check the Miscellaneous settings -- the
             item of concern is whether AutoHelp is set on.  No adverse
             consequences if you ignore past this one.

WORKAROUND:  Ignore past error

FIX:         In program FFUPDATE.PRG, line 340, change the string PF_HELMMNU
             to PF_HELPMNU, then rebuild FOXFIRE.APP

----------------

BUG NUMBER:  004

SEVERITY:    WORKAROUND, FIX AVAILABLE

DESCRIPTION: In the Setup Wizard, "how do you want your data to appear?",
             if you change the column heading on a DATE type field to less
             than 8 chars, the width of the item is truncated (should be
             minimum 8, or 10 if SET CENTURY ON).

WORKAROUND:  Do not shorten column headings on DATE fields here, load them
             as-is and change the headings through the Data Item Editor.

FIX:         Too complex to post.  See section D for details on obtaining
             revised code.

----------------

BUG NUMBER:  005

SEVERITY:    WORKAROUND, REBUILD RECOMMENDED

DESCRIPTION: Submitting an array of Request names for immediate execution
             using a one-dimensional array, you get multiple copies of first
             Request only.  If you call FOXFIRE.APP with parameters
             including an array of Requests, we reference it using the
             syntax "ff_reqbatch[n,1]".  Due to a FoxPro infelicity, if your
             array was dimensioned with only one column, this syntax
             fails to produce what we expected. Example:

             DIMENSION test[3]
             test[1] = 'aaa'
             test[2] = 'bbb'
             test[3] = 'ccc'

             ?test[1]
             aaa
             ?test[1,1]
             aaa
             ?test[2,1]
             aaa         <--------------unexpected result
             ?test[3,1]
             aaa         <--------------unexpected result

WORKAROUND:  when submitting a batch of Requests, initialize the array to
             be two-dimensional, even if the second column remains empty.

FIX:         Modify FFOXFIRE.PRG, rebuild FOXFIRE.APP

   ffoxfire.prg (01 Nov 1993 21:45:24)
           m:\ff\programs\ffoxfire.prg (07 Oct 1993  2:50:00)
===================
     832     832  |              was_error  = ON("ERROR")
     833     833  |              ON ERROR *
+            834  |              PRIVATE tmp_alen
+            835  |              tmp_alen = 0
+            836  |              tmp_alen = ALEN(ff_parm3,1)
-    834          |              PRIVATE tmp_cols, tmp_rows
-    835          |              tmp_rows = 0
-    836          |              tmp_rows = ALEN(ff_parm3,2)
-    837          |              tmp_cols = 0
-    838          |              tmp_cols = ALEN(ff_parm3,1)
     839     837  |              ON ERROR &was_error
+            838  |              IF tmp_alen = 0
+            839  |                 DIMENSION ff_reqbatch[1]
+            840  |                 ff_reqbatch = UPPER(ff_parm3)
+            841  |              ELSE
+            842  |                 = ACOPY(ff_parm3,ff_reqbatch)
+            843  |              ENDIF
+            844  |              RELEASE tmp_alen
-    840          |
-    841          |              DO CASE
-    842          |                 CASE tmp_rows + tmp_cols = 0
-    843          |                    * Single value
-    844          |                    DIMENSION ff_reqbatch[1,1]
-    845          |                    ff_reqbatch = UPPER(ff_parm3)
-    846          |
-    847          |                 CASE tmp_rows <= 1
-    848          |                    * 1 dimensional array
-    849          |                    DIMENSION ff_reqbatch[tmp_cols,1]
-    850          |                    = ACOPY(ff_parm3,ff_reqbatch)
-    851          |
-    852          |                 OTHERWISE
-    853          |                    = ACOPY(ff_parm3,ff_reqbatch)
-    854          |              ENDCASE
-    855          |              RELEASE tmp_cols, tmp_rows
     856     845  |           ENDIF
     857     846  |
===================

----------------

BUG NUMBER:  006

SEVERITY:    WORKAROUND, REBUILD RECOMMENDED

DESCRIPTION: Program FFDEMOER.PRG was omitted from FOXFIRE.PJX.  In the
             About Foxfire! dialog, attempting to view the File Relations
             information produces an error IF the PRG is not on the FoxPro
             PATH.

WORKAROUND:  SET PATH to include the programs directory (at application or
             Preference Set level).

FIX:         Add a "program" type object to FOXFIRE.PJX, rebuild FOXFIRE.APP

----------------

BUG NUMBER:  007

SEVERITY:    WORKAROUND, FIX UNDER DEVELOPMENT

DESCRIPTION: Cross-platform Merger utility fails with 'Error 1: File Not Found'
             If you attempt to run FFAPPMRG.APP from any subdirectory other
             than the UTILS\APPMERGE one found under your Foxfire! home
             directory, it cannot locate a needed library file.

WORKAROUND:  Run the Merger ONLY with after SETting DEFAULT TO the
             UTILS\APPMERGE subdirectory

FIX:         An updated Merger will be provided with future releases.

----------------
BUG NUMBER:  008

SEVERITY:    REBUILD ONLY IF FEATURE NEEDED

DESCRIPTION: No timeout in batch mode.  When submitting one or more
             Request names in batch mode, the PRINT dialog (number of
             copies, page range, etc.) is displayed until user action
             closes it.  The READ should be respecting the timeout
             parameter.

WORKAROUND:  None

FIX:         Modify screen FFPRPREP.  In the Setup snippet, look for
             a directive starting '#READCLAUSES'.  At the end of that
             line of code, add ' TIMEOUT m.ff_timeout'. If you are working
             with a multi-platform (DOS+Windows) screen set, be sure to use
             the transporter to synchronize the header records. Rebuild
             FOXFIRE.APP

----------------
BUG NUMBER:  009

SEVERITY:    WORKAROUND, REBUILD RECOMMENDED

DESCRIPTION: Editing solitary Preference Set causes error.  If your Preference
             file contains only one record and you use the Preference Set
             Editor, the record pointer may be inappropriately left at EOF.

WORKAROUND:  Add a second Preference Set.

FIX:         Chnage FFPREFEE.PRG and rebuild FOXFIRE.APP

   ffprefee.prg (01 Nov 1993 17:50:02)
           m:\ff\programs\ffprefee.prg (07 Oct 1993  2:50:00)
===================
-    159          |  tmp_wasrec = RECNO()
     160     159  |  COUNT to tmp_count     && check if there's [...]
+            160  |
-    161          |  DO FFGORECN WITH tmp_wasrec
-    162          |
     163     161  |  IF m.ff_sysmenu
===================

----------------
BUG NUMBER:  010

SEVERITY:    WORKAROUND, REBUILD RECOMMENDED

DESCRIPTION: Data Item arrays get overfilled.  If your Data Item dictionary
             contains only items of types which are suitable for use as
             rows or columns for cross-tabs (Character or Date), the arrays
             need to be long enough to hold all Data Items plus one row
             for the 'Choose a Data Item' prompt.  The dimensioning of those
             arrays was for x = RECC() rows, but should be RECC()+1

WORKAROUND:  Add a numeric or logical type Data Item

FIX:         Modify FFSETVUE.PRG and rebuild FOXFIRE.APP

   ffsetvue.prg (02 Nov 1993 10:29:28)
           m:\ff\programs\ffsetvue.prg (07 Oct 1993  2:50:00)
===================
+            149  |     DIMENSION rq_keyref[RECCOUNT()],;
+            150  |               fl_keyref[RECCOUNT()],;
+            151  |               x_axis[RECCOUNT()],;
+            152  |               y_axis[RECCOUNT()],;
+            153  |               gaCalcFld[RECCOUNT()]
-    149          |     DIMENSION rq_keyref[RECCOUNT()+1],;
-    150          |               fl_keyref[RECCOUNT()+1],;
-    151          |               x_axis[RECCOUNT()+1],;
-    152          |               y_axis[RECCOUNT()+1],;
-    153          |               gaCalcFld[RECCOUNT()+1]
===================

----------------
BUG NUMBER:  011

SEVERITY:    REBUILD RECOMMENDED

DESCRIPTION: Typo causes errors if using filters on the Data Items file

WORKAROUND:  Don't use Data Items filter

FIX:         Modify FFSETVUE.PRG and rebuild FOXFIRE.APP

   ffsetvue.prg (02 Nov 1993 10:29:28)
           m:\ff\programs\ffsetvue.prg (07 Oct 1993  2:50:00)
===================
+            112  |        IF EMPTY was_filter
-    112          |        IF EMPTY(was_filter)
     113     113  |           SET FILTER TO (&pf_fltitm.)
     114     114  |        ELSE
===================

----------------
BUG NUMBER:  012

SEVERITY:    REBUILD RECOMMENDED IF LONG FILE PATHS IN USE

DESCRIPTION: Alert dialogs containing lines longer than 70 characters
             cause an infinite loop.  This is only a problem for cases
             where a file name is displayed and the path is especially
             long.

WORKAROUND:  Keep paths short

FIX:         Modify FFYESNOS.PRG and rebuild FOXFIRE.APP

   ffyesnos.prg (05 Nov 1993 15:10:02)
           m:\ff\programs\ffyesnos.prg (07 Oct 1993  2:50:00)
===================
     378     379  |  ok_part = ""
+            380  |  cutoff  = 55
+            381  |  DO WHILE LEN(notok_part) > (SCOLS() - (8 + lnIndent))
+            382  |
-    379          |  cutoff  = MIN(55, RAT(" ",notok_part))
-    380          |
-    381          |  DO WHILE LEN(notok_part) > (SCOLS() - (8 + lnIndent));
-    382          |   AND " " $ LEFT(notok_part,cutoff)
-    383          |
     384     383  |     ** prompt message is too big to fit in window
===================

----------------
BUG NUMBER:  013

SEVERITY:    WORKAROUND, REBUILD RECOMMENDED

DESCRIPTION: Popups not being released when exiting Foxfire!  Popups
             FOXFIREGUI and FOXFIRECAL are not released.

WORKAROUND:  Release popups manually or in calling app

FIX:         Modify FFREQMGR.PRG and rebuild FOXFIRE.APP

   ffreqmgr.prg (04 Nov 1993 10:05:46)
           m:\ff\programs\ffreqmgr.prg (07 Oct 1993  2:50:00)
===================
     401     401  |  RELEASE POPUPS Views,      Fl_oprpop,  Fl_refpop,  Foxfireopm,;
     402     402  |                 Foxfiremgr, Foxfireedt, Foxfirefld, Foxfireflt,;
+            403  |                 Foxfiresrt, Foxfireout
-    403          |                 Foxfiresrt, Foxfireout, FoxfireCal, FoxfireGui
===================

----------------
BUG NUMBER:  014

SEVERITY:    WORKAROUND, REBUILD RECOMMENDED

DESCRIPTION: Setup Wizard can't load duplicate file structures.  If you use
             the Setup Wizard for creating Data Items from DBFs, and you have
             more than 9 DBFs containing one or more identically-named fields,
             the Setup Wizard will go into an infinite loop trying to load the
             tenth one.

WORKAROUND:  Load the first 9 through the Setup Wizard, then use the 'Import
             Data Items from Environment' option from the Foxfire! utilities
             menu for the remainder.

FIX:         Modify FFLOADDI.PRG and rebuild FOXFIRE.APP


   ffloaddi.prg (02 Nov 1993 15:19:42)
           m:\ff\programs\ffloaddi.prg (07 Oct 1993  2:50:00)
===================
     178     178  |        * see if fieldname is unique after adding pre/suffix
     179     179  |        IF llSetupWiz
+            180  |           PRIVATE WasSuffix
-    180          |           PRIVATE WasSuffix, legal_chars, tmp_cnt, tmp_cnt1, tmp_cnt2
     181     181  |           WasSuffix = lcSuffix
-    182          |           tmp_cnt   = 0
-    183          |           legal_chars = "0123456789ABCDEFGHIJKLMPOPQRSTUVWXYZ_"
     184     182  |           DO WHILE .T.
+            183  |              * - Start padding with suffix and then add 0's until its unique
-    185          |              * - Pad the suffix with another character till its unique
     186     184  |              SecondSeek = TRIM(LEFT(lcNewField,10-LEN(lcSuffix)))+lcSuffix
     187     185  |              IF fnUniqueFld(SecondSeek)
     188     186  |                 EXIT
     189     187  |              ELSE
+            188  |                 lcSuffix = lcSuffix + "0"
-    190          |                 tmp_cnt = tmp_cnt + 1
-    191          |                 IF tmp_cnt < 37
-    192          |                    lcSuffix = WasSuffix + SUBSTR("01234567890ABCDEFGHIJKLMPOPQRSTUVWXYZ_",tmp_cnt,1)
-    193          |                 ELSE
-    194          |                    tmp_cnt1 = INT(tmp_cnt/37)
-    195          |                    tmp_cnt2 = tmp_cnt - (tmp_cnt1 * 37)
-    196          |                    lcSuffix = WasSuffix + SUBSTR(legal_chars,tmp_cnt1,1);
-    197          |                                         + SUBSTR(legal_chars,tmp_cnt1,1)
-    198          |                 ENDIF
     199     189  |              ENDIF
     200     190  |           ENDDO
===================

----------------
BUG NUMBER:  015

SEVERITY:    WORKAROUND, REBUILD RECOMMENDED

DESCRIPTION: Use of "Summary" style Requests with output to FORM type reports
             causes "total" fields to be misplaced in the output.

WORKAROUND:  Do not use FORM style output in this case, use COLUMNS.

FIX:         Modify FFFRXCHR.PRG and rebuild FOXFIRE.APP

   fffrxchr.prg (05 Nov 1993 16:14:48)
           m:\ff\programs\fffrxchr.prg (07 Oct 1993  2:50:00)
===================
     334     334  |     DetlAddRows = DetlAddHeight
     335     335  |     REPLACE height WITH DetlAddHeight + height   && 1 line per field
-    336          |     detl_height = height
     337     336  |  ENDIF
     338     337  |
===================

----------------
BUG NUMBER:  016

SEVERITY:    REBUILD RECOMMENDED IF FOXFIRE! "VIEWS" FEATURE IN USE

DESCRIPTION: File Relationship Editor validation wrongly rejects
             multiple 'joins' between two aliases.

WORKAROUND:  Edit the 'joins' file directly from FoxPro

FIX:         Modify FFISDUPE.PRG and rebuild FOXFIRE.APP

   ffisdupe.prg (12 Nov 1993 11:54:44)
           m:\ff\programs\ffisdupe.prg (07 Oct 1993  2:50:00)
===================
     183     183  |                    dupe2_desc = Dupe_Desc()
     184     184  |                    dupe_found = .t.
-    185          |                    EXIT
     186     185  |                 ENDIF
     187     186  |              ENDIF
===================
     192     191  |              EXIT
     193     192  |           ENDIF
-    194          |           dupe1_desc = ""
     195     193  |        NEXT view
     196     194  |
===================

----------------
BUG NUMBER:  017

SEVERITY:    WORKAROUND, REBUILD RECOMMENDED

DESCRIPTION: Editing Report Template after calling Utilities menu
             directly causes error.  This happens ONLY if you call
             DO FOXFIRE WITH 'UTILITIES'...

WORKAROUND:  edit the template from an interactive Foxfire! session

FIX:         Modify FFMODRPT.PRG and rebuild FOXFIRE.APP

   ffmodrpt.prg (09 Nov 1993 18:16:58)
           m:\ff\programs\ffmodrpt.prg (04 Nov 1993 16:40:16)
===================
     154     154  |           m.flt_display = ""
     155     155  |           m.flt_label   = ""
+            156  |           IF (m.rq_reqtype = m.lb_xtab)
-    156          |           IF (TYPE("m.rq_reqtype") = "C" AND m.rq_reqtype = m.lb_xtab)
     157     157  |              m.lnStrip    = 1
     158     158  |              m.lnStripCnt = 1
===================

----------------
BUG NUMBER:  018

SEVERITY:    WORKAROUND, REBUILD RECOMMENDED

DESCRIPTION: use of SQL wildcard characters not supported for 'ask-at-
             runtime' filters.  SQL should be generated using a LIKE
             operator, not an '='.

WORKAROUND:  Wildcard searches may be done using the Filter Builder directly

FIX:         Modify FFREQPRO.PRG and rebuild FOXFIRE.APP

   ffreqpro.prg (11 Nov 1993 16:50:22)
           m:\ff\programs\ffreqpro.prg (02 Nov 1993 11:01:04)
===================
     449     449  |           * - check for SQL wildcards - don't check expressions
     450     450  |           *     or data items
+            451  |           CASE EMPTY(flt_vop[flt]);
-    451          |           CASE (EMPTY(flt_vop[flt]) OR flt_vop[flt] = "Ask");
     452     452  |            AND ffsql_wc(flt_opr[flt],flt_val[flt],"TEST")
     453     453  |
===================


----------------
BUG NUMBER:  019

SEVERITY:    WORKAROUND, REBUILD RECOMMENDED

DESCRIPTION: Foxfire! v2.5/Windows ONLY --  using the 'make these the
             defaults' feature of the Request Editor Output Printer
             <Options> dialog when the settings have NOT been modified
             can cause bad values to be stored for paper size etc.

WORKAROUND:  Change Preference Set-level defaults using the Preference
             Set Editor <Printing> dialog.

FIX:         WINDOWS ONLY -- change FFRPGPRT.PRG and rebuild FOXFIRE.APP.
             If you have ALREADY encountered this error, we recommend
             that you modify and save the printer settings again for
             each Preference Set record and each Request record.

   ffrpgprt.prg (12 Nov 1993 10:17:50)
           m:\ff\programs\ffrpgprt.prg (07 Oct 1993  2:50:00)
===================
[in PROCEDURE SHOW_GP]
+            124  |   SHOW GET m.prt_opt,2  ENABLE
-    120          |   SHOW GET m.prt_opt1  ENABLE
===================
   *****NOTE: same change (memvar name) applies to the DISABLE clause
   immediately preceding the ENABLE.

----------------
BUG NUMBER:  020

SEVERITY:    WORKAROUND, FIX AVAILABLE

DESCRIPTION: Setup Wizard error while attempting to display sample
             data for Data Item appearance customization.  If the
             first record in your data has an embedded single quote
             character, the Setup Wizard will not be able to display
             it.

WORKAROUND:  Customize Data Item appearance AFTER loading, via the Data
             Item editor.

FIX:         Too complex to post.  See section D for details on obtaining
             revised code.

----------------
BUG NUMBER:  021

SEVERITY:    WORKAROUND, REBUILD RECOMMENDED

DESCRIPTION: Sort on item from foreign file is not properly opening
             and joining the foreign file in the SQL.  Example: Request
             has Data Items selected from table A.  In the Sort/Group
             dialog, set the scope to 'All' Data Items and select an
             item from table B.  Foxfire! creates the appropriate
             'SELECT' information but fails to include the 'FROM' and
             'WHERE' clauses that would be appropriate.

WORKAROUND:  In the Data Item picker, choose the 'foreign' item but then
             press Hide to supress display of the sort values.  Leave
             the scope in the Sort/Group dialog as 'In the Request' and
             specify the sort as before.

FIX:         Modify FFREQPRO.PRG and rebuild FOXFIRE.APP

In procedure GEN_FROM, about line 699 there is a line reading "NEXT flt".
Immediately after that, insert this block of code:

  FOR srt = 1 to srt_cnt
     IF srt_agop[srt] = "Count"          && Skip Count non-rdi_name
        LOOP
     ENDIF

     * - Find the rdi_name in the Rpt_Ditem file
     IF !Find_Rpt_Ditem(srt_key[srt])
        ret_val = .f.
        EXIT
     ENDIF

     IF !from_add_alias()
        ret_val = .f.
        EXIT
     ENDIF
  NEXT srt


----------------
BUG NUMBER:  022

SEVERITY:    WORKAROUND, FIX AVAILABLE

DESCRIPTION: Modifying Report Layout for Cross-tab style Requests
             causes the FoxPro transporter to be invoked.  This affects
             Cross-tabs only.  (The problem relates to storage of
             layout names without file extensions).

WORKAROUND:  Modify the FRX from outside Foxfire!

FIX:         Too complex to post.  See section D for details on obtaining
             revised code.

----------------
BUG NUMBER:  023

SEVERITY:    WORKAROUND, FIX AVAILABLE

DESCRIPTION: Overprinting/misalignment of text in report headers when
             using the 'show filters on report' option and more than
             two filters are defined.

WORKAROUND:  Turn off 'show filters' or use less filters.

FIX:         Too complex to post.  See section D for details on obtaining
             revised code.  Requires use of updated report template.

----------------
BUG NUMBER:  024

SEVERITY:    WORKAROUND, FIX UNDER DEVELOPMENT

DESCRIPTION: Abbreviation in CONFIG.FP bypassed.  FFSTART.APP looks for
             and MVCOUNT= setting in the CONFIG.FP(W) file.  If your
             entry is abbreviated (MVCO,MVCOU,MVCOUN), FoxPro will accept
             the specified setting, but FFSTART treats it as missing.

WORKAROUND:  Spell MVCOUNT out fully in your CONFIG.FP(W), or discard
             or modify FFSTART.APP to avoid the MVCOUNT check.

FIX:         Under development

----------------
BUG NUMBER:  025

SEVERITY:    WORKAROUND, FIX UNDER DEVELOPMENT

DESCRIPTION: Request Editor for Cross-tab style Requests hides the SQL
             window.  If you 'show SQL now', the SQL window gets forced
             behind the Request Editor.

WORKAROUND:  Exit from Request Editor to Request Manager, then click on
             the SQL window.

FIX:         Under development

----------------
BUG NUMBER:  026

SEVERITY:    WORKAROUND, FIX UNDER DEVELOPMENT

DESCRIPTION: Substantial errors using Postscript printer driver in
             character mode.  Leading and top margin settings are
             not being set properly.

WORKAROUND:  Use non-Postscript drivers or print in Graphical mode (Windows)

FIX:         Under development

----------------
BUG NUMBER:  027

SEVERITY:    TEXT ERROR

DESCRIPTION: Incorrect file name for GENSCRNX and supporting documentation.
             Reference manual p263 says file is GSX1_7.ZIP.  Actual file
             name is GENSCRNX.EXE (in the \GOODIES directory).

WORKAROUND:  None

FIX:         Manual will be revised

----------------
BUG NUMBER:  028

SEVERITY:    WORKAROUND, REBUILD RECOMMENDED

DESCRIPTION: Automatic creation of Data Item WHERE clause during loading
             from table may yield and invalid expression.  This occurs
             only in rare cases where field names match portions of
             other field names (example: NAME,COUNTY,COUNTYNAME).  Symptom
             manifests through generation of SQL statements with bad
             WHERE clauses.

WORKAROUND:  Manually edit the WHERE clause through the Data Item Editor.

FIX:         Modify FFADDALI.PRG, rebuild FOXFIRE.APP


   ffaddali.prg (18 Nov 1993 18:06:44)
           m:\ff\programs\ffaddali.prg (07 Oct 1993  2:50:00)
===================
+             73  |
+             74  |  PRIVATE fld
+             75  |
-     73          |
-     74          |  * To avoid problems when a field name contains another field name as a
-     75          |  * substring, process the field in decending length order.
-     76          |
-     77          |  PRIVATE ALL
-     78          |  DIMENSION afld[FCOUNT(),2]
-     79          |
      80      76  |  * Remove any existing aliases
      81      77  |  keyexp = UPPER(m.keyexp)
      82      78  |  keyexp = STRTRAN(m.keyexp,ALIAS() + ".","")
      83      79  |  keyexp = STRTRAN(m.keyexp,ALIAS() + "->","")
+             80  |
-     84          |
-     85          |  FOR Fld = 1 to FCOUNT()
-     86          |     afld[fld,1] = LEN(FIELD(fld))
-     87          |     afld[fld,2] = FIELD(fld)
-     88          |  ENDFOR
-     89          |
-     90          |  = ASORT(afld,1,-1,1)    && Sort in decending order on first column (field name length)
-     91          |
      92      81  |  FOR fld = 1 to FCOUNT()
+             82  |      keyexp = STRTRAN(m.keyexp, FIELD(m.fld),;
+             83  |               PROPER(ALIAS()) +"."+ PROPER(FIELD(m.fld)))
-     93          |      keyexp = STRTRAN(m.keyexp, afld[m.fld,2],;
-     94          |               PROPER(ALIAS()) +"."+ PROPER(afld[m.fld,2]))
      95      84  |  ENDFOR
      96      85  |
===================

----------------
BUG NUMBER:

SEVERITY:

DESCRIPTION:

WORKAROUND:

FIX:

----------------

**END OF FILE**
