.. index:: single: G7 New; For 2014 *G7*: New for 2014 =============================== Work in 2014 provided a few new features, improvements to existing features, and a variety of bug fixes. The most important improvements and new capabilities provided in the *G7* software are these: - Improved Documentation: The *G7* documentation was revised heavily in 2012 and has been updated in 2014, with new Help files, Users' Guide, Reference Manual, Tutorial, and `other documentation `_. `Companion documents `_ in HTML and PDF formats also were updated. In particular, recent software improvements and extensions have been added, and cross reference hyperlinks have been added to the Reference Manual. - Excel Interface Improvements: a) Added :ref:`xl gridlines command ` to control the display and color of worksheet gridlines. b) Added :ref:`xl border command ` to set cell borders for a given area, including color, weight, style, and position. c) Added the optional color specification :ref:`RGB(int1,int2,int3) ` for all xl color settings. d) Added the :ref:`xl printer command ` to set page orientation and print area, and also the ability to print directly. e) Extended existing routines to select and control graph sheets in addition to worksheets. These include the :ref:`xl open `, :ref:`xl create `, and :ref:`xl name ` commands. f) Added the :ref:`xl graph title ` command to set or recover a title after the graph has been created. In addition, the title font may be specified. g) Modified the :ref:`xl create ` command to allow the new sheet to be placed either before or after the currently-active sheet. h) Added conditional formatting capability with the :ref:`xl cf command `. - Strings, Functions, and Keywords: a) Allow multiple series to be specified in the :ref:`del command `. b) Added a :ref:`str store args ` command to store function or add-file arguments to strings named root1, root2, .... c) Improved the :ref:`%eliteral() ` routine so that it can be applied more widely. - Miscellaneous Improvements and Bug Fixes: a) Eliminated graph width problems in the G7 :ref:`graph command ` that appeared when displaying long time series. b) Fixed problems in the :ref:`freq command `, added frequency checks to the :ref:`ls command `, and prevented the :ref:`ls command ` from changing the frequency of a series. .. - Interface Improvements: - Strings, Functions, and Keywords: a) Redefined :ref:`xl name ws ` so that the name is optional. If not specified, then the existing worksheet name can be recovered with the *%xls* keyword. b) Modified :ref:`%xlcol() ` to take either a column number and return equivalent column letters or to take column letters and return the equivalent number. d) Added :ref:`%nseries(bank_letter) ` function to return the number of series in the specified bank. e) Replaced the :ref:`%{...} ` routine with one that does proper Parentheses/Multiplication/Division/Addition/Subtraction integer arithmetic. Other %-routines and recursion may be employed within the function. f) Added :ref:`%exists(series_name) ` to return 1 (0) when the series is found (not found). The *exists()* routine provided in the *if()* command now is depricated. g) Added :ref:`%sexists(string_name) ` to return 1 (0) when the string is found (not found). - Numerical Routines: b) Added :ref:`%fabs() `, :ref:`%log() ` , :ref:`%exp() ` scripting functions that accept a scalar argument. - Miscellaneous Improvements: a) Added :ref:`wsreset ` command to allow the workspace to be cleared and a new workspace established with new parameters and possibly in a new location. b) Allow "update" as a command type for the :ref:`save command `; previously it was the default option but could not be specified manually. c) Rewrote routines that handle the scripts that specify sector groups and @-functions. This corrects garbled printing of equations by the regression commands, equation saving with the *save* command, and title printing for the () shortcut in graph command. d) In the :ref:`resector ` routines, increase the maximum number of sectors from 600 to 1500. e) Several internal codes were respecified to allow use of character sets with 8-bit extended ASCII representations. f) Added sanity checks for the dates in *g.cfg* files. - An Abridged Listing of Bug Fixes: a) Prevent overflow or run-on words when printing long series names with the *listnames* commands. b) Fixed a problem with focus with the "file-execute" box on the main window. c) Fixed problem in the *vc* command that caused incorrect date alignment between Vam banks and packed matrix files. d) Fixed += in *f* and *vf* to handle missing values on both the LHS and RHS. e) Added check to *@chain* routines to ensure that the specified base date frequecy matches that of the *fdates*. f) Force destruction of existing *show* window before a new one may be created; this finally should fix persistent bugs. Improved the show window save functions though problems remain. g) Fixed crash in Editor pop-up menu *Type Series* command when multiple lines were selected. h) Fixed problem with expansion of *%linelen*. i) Fixed problem with printing of settings with the *line* command. j) In *ipch* command, switch from scientific notation to standard notation for printed coefficients. k) In *wsdump*, fixed problem when printing a series with only missing values, and fixed problem with dates that could lead to incomplete printing of data, and eliminate automatic zapping after dumping data. l) Attempt to fix bug in *function* command where an existing argument list could be lost, and thus the attempt to restore it fails after the function was executed with an alternative list. m) In *findvec*, ensure that the Vam file is open before attempting to search it. n) Fixed *f* command to allow "f x{2008-%fdates2} = y", where previously the *%fdates2* keyword was not processed properly. o) Fixed problem in *%strcmp()* and related functions where the return value was not set properly. p) Reworked *find()* to do a proper Vam-file search when called by *G7* routines like *%exists()*. q) Attempted to fix a problem with *listnames* command where the G bank associated with a Vam file was not searched. Improvements also were made to companion software, including the table-making program *Compare* and the model-building program *IdBuild*. - *Compare*: a) Updated the :ref:`chain-weighting routine ` to incorporate *G7* updates. b) Added many new :ref:`printer control ` (*\pc*) commmands and added documentation for all. Added documentation for the :ref:`printing of these files `. c) Improved the appearance of screen formatting. d) When performing zero/zero or zero/nonzero calculations, set the result to zero instead of a missing value. - *IdBuild*: a) Increased buffer sizes for bank paths/names. Fixed problem with bank names that are surrounded by quotes. b) Fixed memory leaks and other problems. Merged code with non-optimizing version of *IdBuild* to incorporate recent improvements to that version. Improved check for divide-by-zero problems. Fixed problem with *@csum()* groups. c) Changed byte alignment to byte from quad word to ensure consistency with other programs. d) Added code to initialize vectors and matrices to zero to eliminate problems with garbage in unused portions of series (i.e. dates beyond *fdates* ranges). e) Improved the appearance of screen formatting.