 Tk NotePad by Joseph Acosta
 modified by Matthieu PHILIPPE 01/01/2003
 Some bug corrected
 - cut/paste with ctrl-x/ctrl-v
 - select then unselect then type any key doesn't crash scipad any more !

 modified by Matthieu PHILIPPE 03/01/2002
 added
 - Number line
 - Goto Line
 - Higlighting Braces
 - Some Keys and Words Binding
 - Colorization for Scilab syntaxes
 - Recolorization of a cuted and pasted text
 - Multiple opened files.

 ES 28/7/2003: 
 changed text font from helvetica bold to courier medium
 added accelerators Ctrl-w, Ctrl-n, Ctrl-q, Ctrl-p, Ctrl-P, Ctrl-S, Ctrl-g; 
  Alt-L
 fixed "unset pad" in closewin rather than exitapp - fixes a bug apparent when
   exiting scipad by closing the last active buffer and trying to relaunch it
 colorization: added "punct", "operator"; changed colors of the colorization
 corrected "parencesis" in blinkbrace - fixes highlighting of ()
 "Scilab specials" in colorize -- added code to distinguish {} [], () from ;: 
 [external but connected: new list of keywords "words"]

ES 4/9/2003
 * added colorization pattern for "number"; separated pattern "xmltag" from 
   "rem2";
 * xmltags colorized only if filename contains ".xml"
 *corrected bug - scipad(newfilename) began in an unnamed buffer
   [connected in scipad.sci: scipad(filename) does not open an additional 
   "Untitled.sce"]

ES 11/9/2003
 closing/reopening scipad remembers previous font size
 cursor doesn't disappear any more (it used to every second keypress or so or 
  mouse move)
 cursor is red
 cursor is positioned at 1.1 when opening an existing file 

ES 18/9/2003
 *changed $Size to Size in the option menu entries - the correct radiobutton  
   is tagged at startup
 *commented destroy $textarea in proc closefile - seems to solve the shrink
   bug (if the initial Untitled.sce is closed, then the next setfontscipadN,
   openfile,newfile command causes the window to shrink to its minimal size).
    Not sure it is the right thing to do. The bug is cured and the only 
   apparent side effect is that the window does not resize upon font change
   (was never exact anyway) 
 *fixed tagging of radiobuttons in the windows menu when files are closed 
 *added comment selection command (glitch - adds // after the last newline 
  also when the selection ends there)
 *added uncomment selection command (glitch - removes also the white space 
  between beginning of line and //)

ES 25/9/2003
 *the code is now free of TKSetCursor's (even in FindIt)
 *restored default mouseclicks actions (double-1=select word, triple-1=select 
   line, 2=paste sel) 
 *deglitched "\n//" in comment selection and restore selection in uncomment 
   (not yet 100.0% ok)
 *selection remains on after copytext
 *accelerator Ctrl-Z for Undo (more standard)
 *accelerator F1 for About
 *Help opens the scipad page in the helpbrowser
 *version -> 1.2
 *button3 popsup the edit menu (not so useful but why not - perhaps in future 
   I'll replace it with a tailored menu)
 *"(modified)" appears on the titlebar, and the corresponding entry in the 
   windows menu is colored (and of course things are reverted to normal when
    the buffer is saved)
 *translated to french (!!?) some "file already open"
 *created the Execute menu; added the command execute selection and its 
   accelerator Ctrl-y (inherits problems from ScilabEval/execstr() - most 
   dangerous problem, goes amok when the selection contains a function without
   endfunction) -- glitch: splits quoted strings containing // as if // starts
   a comment
 *bug solved: Esc or Ctrl-c on a find/replace dialog used to hang scipad
 *copy/paste (Ctrl-{c,v}) possible on find/replace strings [but not cut nor 
   replace-paste --why?]

ES 2/10/2003
 * $pad.statusind goes Salmon when the buffer is modified
 * splitted long lines in the code for improved readability
 * the popup menu doesn't pop on the bottom bar
 * bug fixed: upon closing a buffer, the radiobutton of the one previously
    opened (which becomes the current buffer) was not correctly checked
 * shift-button3 and ctrl-button3 popup execute and options
 * bug fixed: search and replace strings can begin with "-"
 * copytext doesn't tag the buffer as modified
 * glitch corrected: //..."string"... is all colorized as comment, "...//..."
    as string
 * glitch corrected: gotoline didn't scroll to make the target line visible
 * begun proc whichfun

ES 9/10/2003
 * corrected bad continued line "Annuler"
 * progress in whichfun, execselection, etc. 

ES 19/10/2003
 * F5 Save and Run
 * cosmetic - compacted the command passed and displayed by execselection
 * pad remembers its geometry when quitting/reopening 
 * moved option stuff (colors, fontsize, geometry) at the top -- later I might
   add that it is read from an options file
 * the background color of found text is $SELCOLOR, as selection
 * bug fixed: missing $textarea when printing with Ctrl-p

ES 21/10/2003
 * added font micro (ok on my laptop)
 * rationalized setfontscipad procedures, font size changes also menu fonts
 * accelerator F2=Save
 * added catch to delinfo in proc showinfo - prevents a "missing variable
   .pad" which appears ocasionally on reopening

27/10/2003
 * proc helpword
 * message "file NNNN saved"

around november: made colorization TIMES faster, by scanning only to
 wordend (not end-of-text) for scilab keywords in proc colorize.

28/12/2003
 * added IndentSel, UnIndentSel (plain \s\s, no smart logical indent)
 * little deglitch in CommentSel, UncommentSel
 * rationalization of Alt-x-x keyboard menu activations
 * fixed Ctrl-w cut selection AND close window
 * text pasted with Button-2 is colorized

4/1/2004
 * bug fixed - to interfering bindings from Ctrl-v caused no or double paste.
 * removed some "particular" bindings for Ctrl-c/v/x and transformed them
   to All or Text: copy paste works better in find and filename dialogs
 * fixed Ctrl-y bind, does not paste selection surretptitiously
 * cursor position info (keyposn) updated when switching buffers

15/2/2004
 * file dialogs for "all files" show also * files 

30/2/2004
 * fixed remalltags for textquoted and rem2 (i.e., lines with "aaa//bbb",
    "123456", //123 etc. should be colorized consistently 
 * comment/uncomment, indent/unindent applies to the current line 
    if unselected

Francois VOGEL, 16/04/2004
 * fixed silent clearing of selection in one buffer that occurred when another
   buffer was modified
 * added Ctrl-F6 binding and proc switchbuffer to switch opened buffers
 * fixed bug that occurred when a copy-paste modification on a buffer was
   undone once too much (a "lifo($id) pop error, empty" resulted)

19/4/2004
 * added "Import matlab file..."
 * version --> 1.3
 * switchbuffer --> prevbuffer (F6) and nextbuffer (F7); bug corrected, wrong 
   buffer when one or more previously open buffers were closed
 * added bindings Ctrl-+/- to increase/decrease fontsize

Francois VOGEL, 21/04/2004
 * fixed size/position bug of sliders when switching buffers or opening a new file
 * corrected minor typos in french texts, added french text where was missing
 * restored cursor blinking as I could not make it disappear any more while
   moving it with the arrows - was probably a tcl bug, seems to work with 8.4.6
 * many improvements in find/replace/replaceall:
     - added forward and backward automatic wrap-around
     - added message box in case of no match found
     - added message box in case of find or replace with an empty string
     - if text is selected, find or replace occurs inside that selection (for find,
       if not found, then asks for extending the search to the entire buffer)
     - starting from a saved file, doing stuff and then undoing all changes does
       not report the file as modified any more
 * added Ctrl-F6 (prevbuffer) and Ctrl-F7 (nextbuffer) bindings

Francois VOGEL, 13/05/04
 * breakpoint and debug tools added - type help scipad in Scilab for detailed
   explanations
   Note: matsys.f as provided under bug 718 correction should be used
 * proc whichfun now can search in a buffer different from the current one (used
   for breakpoint stuff)
 * Find/Replace now can use a regexp mode
 * cosmetic: replaced tab indents by 4 spaces in the code (e.g. in proc findtext)
   Please use spaces instead of tabs for further updates of the code!
 * cosmetic: harmonised accelerator names through menus (e.g. ctrl-x changed to
   ctrl+x)
 * rearranged bindings in find/replace dialogs - were not always consistent with
   the underlines, especially for the french dialog
 * cursor blinks only if tk version is >= 8.4
 * message at the bottom of the Scipad window is cleared when colorization ends
 * bugzilla bug 723 corrected - an error poped when trying to write text in
   Scipad when a selection was active in another tcl/tk application such as the
   Scilab help
 * version --> 2.0

Francois VOGEL, 18/05/04
 * closing the find dialog using the cross at the upper right corner does not
   produce an error any more (patch provided by ES)
 * added display of the line number in function in the status bar (provided by ES)
   note: this required moving proc whichfun before proc keyposn
 * removed \n in ScilabEval as this hangs unix versions and does not cure the
   loosing of first characters. Added 5 leading spaces trying to limit the issue.
 * added quotes around strings tested in if conditions (used to hang unix versions)
 * debug commands now check if scilab is busy before sending commands to scilab
   shell
 * version --> 2.1

Francois VOGEL, 21/05/04
 * fixed expose binding issue (100% CPU and edge blinking when find dialog was open)
 * solved bug that occurred when trying to input an argument of a function when the
   listbox was empty
 * improved proc whichfun to treat some pathological cases:
   - comments ended by ...
   - continued lines without ... (therefore, check for unmatched brackets and braces
     on any single line)
   - also corrected slight bugs in that proc, but it is still not perfect
 * added a second status indicator to display line number in function at the bottom
   of the pad instead of displaying that information in the message area
 * version --> 2.2

ES 27/5/2004
* split scipad.tcl in several sourcefiles, buried in the directory scipadsources. The
  distribution now includes: $SCI/scipad.tcl, $SCI/words, $SCI/scipadsources/*
* buffer dependent colorization: scilab/xml/none: added field listoffile($,language)
  in the relevant places, override colorization entries in menu Options, extension-based
  automatic selection when opening files; no line-in-function displayed in non-scilab
  mode (TO DO: disabling menues in non-scilab mode)
* minor editing in words: removed scilab, added macr2tree, tree2code, getcwd
* version --> 2.3

Francois VOGEL, 27/05/04
 * Debug menu is disabled in non-scilab mode
 * F9 doesn't pink lines any more if in non-scilab mode (partially done)
 * Options/Font size and Options/Language scheme are now submenus in cascade
 * version --> 2.4

ES, 30/5/2004
* version -> 2.4.1 
* reverted the Options menu as in 2.3
* underlines for language schemes
* Execute/Load is disabled for non-scilab files
* proc schememenus sets/deletes bindings
* proc whichfun always returns "" for non-scilab
* less color for the "none" and "xml" schemes (no punctuation, no operators)
* added % to scichset if proc colorize - corrects colorization of %variables

ES, 2/6/04
* version 2.4.2
* proc execselection disp's an echo only for unix - because in windows the
  command is sent to the history, and there is no need. I do not know about
  mac.
* editing in words: removed demos, graph-list, ScilabEval, Example, 
  AdCommunication; added xmltohtml, all the variables output by who at startup
* replaced tabs with spaces in filecommands.tcl; added a few [] and ""
  which allow openfile to open numeric filenames (except for 0, which
  triggers still some other bug)
* removed seminal listoffile(,language) tests in debugger.tcl, no longer
  needed
* bug corrected in  whichfun.tcl/proc checkcontbraceorbracket: check for
  $ind2=={}, whose omission gave an error when typing [ or { within function
  bodies

Francois VOGEL, 07/06/04
 * added support of special filenames such as those that evaluate to zero, or
   those that evaluate to an index keyword of the menu widget. Any file name is
   now legal
 * reworked the debugger to add the watch window. This should still be improved:
   - <TODO>: pass to Scilab the watch variables changed by the user in the watch
     window (this relies on the correction of a bug in the resume function, see
     bug 818)
   - <TODO>: improve retrieval of the Scilab variables from Scipad:
     . since the length of the command line is limited to ca 500 characters on
       the 3.0 CVS version (June'04)
     . since part of the information is lost by the current implementation if
       string(var) returns a string matrix and not a single string
 * reindented full cutcopypaste.tcl, and part of inputtext.tcl, getting rid of tabs
 * improved test of the selection owner in deletetext, backspacetext and puttext
   (see bug 723)
 * removed a superfluous test and many globals in all the procs of cutcopypaste.tcl
   note: the code in cutcopypaste.tcl requires improvement as it is inefficient
 * version --> 2.5


ES, 13/6/04
*restructured the hyerarchy of the source files, for future maintainability.
 Now scipad.tcl loads first sources which define procs only, then files
 which contain main level code only. This should help a lot in avoiding
 interdependencies and feedback within the whole code.
 In particular: mainlevel code in textarea.tcl moved in mainwindow.tcl
        and menues.tcl;
      procs in mainwindow.tcl moved into textarea.tcl;
      proc schememenus in menues.tcl moved to colorize.tcl;
      proc extractindexfromlabel in menues.tcl moved to filecommands.tcl;
      mainlevel code from infomessages.tcl to mainwindow.tcl;
      mainlevel code from undoredo.tcl to mainwindow.tcl;
      (TO DO: relocate also the mainlevel code of debugger.tcl)
*filecommands.tcl restructured: detabbed, common code in subprocs; some calls
 to extractindexoflabel replaced by simpler lookiffileisopen; proc byebye
 extracted from proc closefile
*infomessages.tcl: replaced entry objects with labels (same behavior in tcl 
 8.3 and 8.4); column numbers shown by keyposn start at 1
*hopefully, scipad now remembers correctly the window geometry upon
 closing/reopening (in RH9/gnome, there is still a quirk - the height decreases
 by 2 gridlines at every reopening, but it is probably a WM quirk in 
 repositioning the window) 
*detabbed colorize.tcl
*proc setfontscipad (mainwindow.tcl) reports on the statusmessage and 
 resizes also menu entries and status labels (TO DO: also subwindows
 like file dialogs, Find,... inherit the current font size)
*systematically replaced [gettextareacur] with $textareacur in cutcopypaste.tcl
 (rationalization)
*proc helpword improved - trims white space, does not open help if the 
 selection includes only spaces
*hopefully, colorization of scilab buffers with extended chars does not hang
 anymore (the bug was platform-dependent)  
*version --> 2.6

Francois VOGEL, 14/06/04
 * the buffer is no more reported as modified if one paste from an empty clipboard
 * relocated the mainlevel code of debugger.tcl in defaults.tcl
 * fixed shrinking of the watch window in some cases
 * .tst and .dem files get now colorized as .sci/.sce files
 * debugger watch window: improved retrieval of the Scilab variables from Scipad:
   - string(var) is no more used in creategetfromshellcomm but replaced by
     FormatStringsForDebugWatch(var). This is a new Scilab command that is now part
     of the Scipad package in SCI/tcl/scipadsources. This function is getf'd on
     invoking the watch window
   - the commands are no more passed directly to ScilabEval, but rather through
     a .sce file built by Scipad and saved in SCI/tcl/scipadsources. This overcomes
     any limitation in characters number of the Scilab command line
 * saving a buffer for the first time, the proposed name is now the first function
   name found in the buffer
 * version --> 2.7

ES, 17/06/04
 * bugs corrected in filecommands.tcl/proposedname: for buffers containing
   more than one function the proposed name is the first found, for buffers
   containing no functions it remains the original one
 * bug corrected in filecommands.tcl/openfile - the field listoffile($,new)
   was not set
 * enforced the use of fullpath in proc filecommands.tcl/lookiffileisopen
 * common code for file types in procs filesaveas and showopenwin moved to
   new proc knowntypes
 * end-of-line homogeneously translated to unix (was mixed in several files)
 * incorporated FV's correction to colorize.tcl mentioned in bug #749
 * version --> 2.7.1

Francois VOGEL, 17/06/04
 * added quotes in the getf FormatStringsForDebugWatch so that it sleeps with paths
   containing spaces
 * active breakpoint is now displayed in raised relief instead of underlined (nicer)
 * improvements in FormatStringsForDebugWatch:
   - upgraded to full support for:
     . polynomial matrices       (type= 2)
     . integer matrices          (type= 8)
     . character string matrices (type=10)
   - added full support of:
     . sparse matrices         (type= 5)
     . boolean sparse matrices (type= 6)
     . lists                   (type=15)
     . tlists                  (type=16)
     . mlists                  (type=17)
 * the .sce file built by Scipad and containing the watch variable retrieving commands
   is now saved in TMPDIR instead of in SCI/tcl/scipadsources - should better cope with
   file permissions that way. TMPDIR is set for Scipad in scipad.sci
 * splitted debugger.tcl in several sub-files to ease maintainability
 * version --> 3.0 (submitted to the Scilab team under bug #559). This is the version
   included in Scilab 3.0, but the debugger menu is hidden in the distribution (shortcuts
   do work however)

Francois VOGEL, 07/07/04
 * simplified the use of the debugger: Scipad now maintains a state variable containing
   "NoDebug" (no debugger correct configuration performed nor debug session started),
   "ReadyForDebug" (debugger configuration performed OK but no debug session started), or
   "DebugInProgress" (debug session started, Scilab prompt is -1->)
   A schematic of the state machine is available in db_state.tcl
   This allows for the following improvements:
   - commands add/remove breakpoint and add/remove breakpoint during debug merged in the
     debug menu - Scipad now knows if the setbpt/delbpt should be sent or not
   - commands remove all breakpoints and remove all breakpoints in Scilab merged in the
     debug menu - selecting this now deletes all breakpoints both in Scipad and in Scilab
   - debug menu entries are disabled/enabled depending on the debugger state, so that the
     user should get less confused about the possible actions at any given time of the
     debug session (this copes also with colorization schemes)
   - if no debug session was initialized, the button-3 popup menu is the edit menu
     otherwise it is the debug menu - this is the 1st contextual menu in Scipad
   - the debugger state is made known to the user from the background color of the message
     area at the bottom of the Scipad window - for improved readability, messages are now
     displayed in black instead of blue
 * getf "FormatStringsForDebugWatch.sci" moved to db_states.tcl. If the user did not open
   the watch window before launching a debug session, this .sci file was not getf'ed in
   the right workspace and was therefore unknown later on during the debug session
   Note: putting a ScilabEval at the mainlevel (e.g. defaults.tcl) does not work!
 * exec getwatchcomm.sce is no more performed if unnecessary, i.e. if there is no watch
   variable defined by the user
 * added a binding to help fixing watch window repositioning that occurred sometimes
 * the watch variables changed by the user in the watch window are now correctly passed
   to Scilab (bug 818 in the resume function has been corrected in the CVS)
 * the debugger now handles correctly functions containing varargin as an input argument
 * incorporated some corrections from ES:
   - proc importmatlab corrected with quotes as mentioned in bug #856 (was also included
     in the CVS by the Scilab Team)
   - removed the # at line 3 of scipad.tcl, so that Scipad can again be launched directly
     in Unix shells
   - on Unix the cursor is always on again, regardless of the TCL/TK version
 * 'Remove all breakpoints' now removes the breakpoints in all the opened buffers
 * On start of a debug session, the currently displayed file is exec'ed. Now the buffer
   containing the function selected during the configuration phase is also exec'ed
 * Breakpoints sent to Scilab on start of a debug session are now collected through all
   the opened buffers, and removed accordingly in Scilab at the end of the debug session
 * When adding a new watch variable, its value is now immediately retrieved from Scilab,
   it is no more necessary to resume execution
 * incorporated Scilab Team's changes in the CVS Scipad:
   - changed 'Scilab Group' into 'Scilab Consortium' in the About window (proc aboutme)
   - added echo of the ScilabEval command in proc execfile from ScilabExec.tcl whatever
     the platform (and changed the disp into a mprintf - saves space in the shell!)
 * added int16, int32, uint8, uint16, uint32 in file "words"
 * proc load_words now closes the file "words" after having read it
 * active breakpoint tagging dramatically improved:
   - corrected active breakpoint tag when breakpoint is in conditional structure (for,
     while, or anything else)
   - works now with sub-functions or other nested structures containing breakpoints
   - displays the correct buffer (if already opened), i.e. the buffer where the active
     breakpoint lies
 * When the watch window was open at the same time the user configured execution in the
   configure box, the next time the Add button was hit in the watch window an error poped
   out. This is now fixed
 * version --> 3.1

Francois VOGEL, 18/07/04
 * The debugger state is now reset to "NoDebug" on closing of buffers if there is no
   pre-existing configured execution (i.e. if the configure box is empty after the buffer
   is closed)
 * Changed shortcuts bindings of the debugger commands so that they apply to all the
   windows in Scipad rather than to the toplevel window only - Fixes possible problems of
   shortcut activation on some systems with specific focus management
 * Minor editing in words (keywords added, such as 'continue')
 * Scipad now starts from the path of the latest opened file when opening further files
 * Command "Display call stack" removed from the Debug menu. Instead, the call stack is
   automatically displayed in the watch window at each stop of the debugger.
   Note that this functionality requires that a Scilab bug in the where() function be fixed.
   where.f as provided under bug 908 (or even better, bug 922) correction should be used.
   This corrected where.f is part of the CVS since 3 August 04
 * Reworked display of the watch window: now this window is updated (and opened) on the
   screen only if it was already open (avoids undesired pop up)
 * version --> 3.2

Francois VOGEL, 20/07/04
 * Removed file db_tagsmanagement.tcl from the distribution (was obsolete and never sourced)
 * Bug fixed: F9 during debug could unset the active breakpoint, but could not reset it
 * Improved visibility of the active breakpoint: added bold style and increased borderwidth
 * Relocated the mainlevel code of the debugger in a new db_init.tcl file
 * version --> 3.3

Francois VOGEL, 17/10/04
 * If the number of leading spaces of a line was odd, then trying to unindent the selection
   until there is no space remaining did never remove the last space. This is now fixed
   (just changed "^  " into "^ {1,2}" in the regsub of proc UnIndenSel)
 * Keypress did not replace the selection after buffers were switched. This was due to the
   clearing of the X selection that was introduced to fix another bug (see above 16/04/2004).
   It is now fixed in proc nextbuffer and proc prevbuffer, but it required a trick since
   there is no "selection set" command in tcl. Solution used: the sel tag is well maintained
   inside different buffers. Therefore the selection is obtained using this tag and set
   again to that same range using that tag, which has the desired side effect of also
   setting the X selection.
 * Added option -anchor w in label statusind2 so that the line number in function can always
   be read, even if the function name is too long to fit in the (fixed) alloted space.
 * Added textquoted tag for Scilab text between simple quotes ('). Just duplicated portion
   of code dealing with double quotes (") in proc colorize. There is a side effect on some
   operations using more than one matrix transpose in a single line, such as A=B'+C', but
   this is believed to be less important than having the text strings properly colorized
   regardless of the quote type that sets its limits, since simple quotes are widely used
   in the current Scilab source code especially the oldest parts. Moreover, code lines such
   as mprintf("%s",'this is a function') breaks the line number counting in functions if
   not properly colorized as textquoted.
 * Fixed a bug in proc checkcontbraceorbracket: lines such as mprintf('['); were detected
   as continued lines, and that resulted in wrong line number in function displayed in
   statusind2. Now checkcontbraceorbracket checks whether the brace or bracket found is
   tagged as textquoted or not, which solves the issue.
 * Added a catch {} in bindings.tcl  and proc newfilebind to avoid error popup message in
   case listoffile("$textarea",language) has already been unset in proc byebye which is called
   on ctrl-w to close the current buffer. Proc keyposn uses this variable, and if byebye
   finished before or faster than the <KeyRelease> or <ButtonRelease> binding, an error
   occurred.
 * A bit of rework in proc ReplaceAll to account for the possibility that the user, without
   checking the Match case box, tries to replace a string S1 with a string S2 that is only
   different from S1 by the character case. This used to hang Scipad.
 * Moved scipad.tcl and words in scipadsources (and changed scipad.sci to reflect it).
 * Added the new "sync" and/or "seq" arguments to ScilabEvals whenever required
   To do (when situation is totally clear, and as soon as ScilabEval "seq" bug is fixed on
   Windows...):
    - remove the extra spaces at the beginning of the seq/sync scilabevals
    - remove the checkscilabbusy tests between ScilabEvals
    - suppress the temporary file getwatchcomm.sce and replace by successive ScilabEvals
      with adequate options - this is started but not yet mature
    - find out how to close bug #885 (send multiple ScilabEvals? what about continued lines?)
 * version --> 3.4

Francois VOGEL, 20/10/04
 * Work on proc updateactivebreakpoint and proc checkendofdebug_bp to take into account the
   additional level in the where() output due to the "seq" option of ScilabEval.
   There was a quirk for subroutines of the exec'ed function: for the main function, where()
   returns the line number just before the breakpoint, but for subfunctions it returns the
   exact line number of the breakpoint. Probably a Scilab bug, but Scipad implements a
   workaround. This is bug 1054.
   Note: FormatWhereForDebugWatch.sci could be slightly improved.
 * Implemented a workaround for bug 633 (workspace erased after abort of a callback). This
   was required to fix the command "Cancel debug".
 * Suppressed the temporary file getwatchcomm.sce and replaced by successive ScilabEvals.
 * Proc updateactbreakpointtag bullet-proofed against values of $activeline. Scipad hangs
   no more if $activeline is 0 or less, or greater than the length of $activemacro.
 * Now a debug session seems to work fully (tested on Windows only however). The main issue
   was that ScilabEval "sync" was called during a paused ScilabEval "seq". Currently, the
   user still has to hit the return key in the main Scilab window in order to launch execution
   of the ScilabEvals, but this is outside of Scipad.
 * version --> 3.5

Francois VOGEL, 21/10/04
 * Increased character size of the active breakpoint so that it is more visible.
 * Active breakpoint character size is now changed accordingly when other font sizes are
   changed.
 * Removed the extra spaces at the beginning of the seq/sync scilabevals since they are
   no more required.
 * Removed the checkscilabbusy tests between ScilabEvals in the debugger. Proc checkscilabbusy
   is no more bypassed where it is useful.
 * On trying to exec or to start debugging a file that contains an error reported by the
   shell, this error is now trapped by Scipad, a message box is displayed explaining the
   error, and the offending line is blinked in Scipad.
 * version --> 3.6

Francois VOGEL, 27/10/04
 * Removed the workaround (i.e. the offset management) in proc updateactivebreakpoint
   since I corrected bug 1054.
 * FormatWhereForDebugWatch slightly improved to suppress display of the highest calling
   level, i.e. the ScilabEval call to the breakpointed function to debug.
 * Fixed bug: When the function to debug returned before the first breakpoint, the debugger
   state did not go back to "NoDebug". 
 * Line 1 of a function can now be tagged by proc updateactbreakpointtag.
 * version --> 3.7

Francois VOGEL, 29/10/04
 * Fixed bug in proc updateactbreakpointtag. This proc could spit 'TK_EvalStr, bad text
   index "" at line 1' when launched from the Scilab command line by TK_EvalStr("scipad eval
   {updateactbreakpointtag 1 foo}"). This occurred when the commented word "function" was
   present in the buffer and function foo was not defined in that buffer.
 * version --> 3.8

Francois VOGEL, 01/11/04
 * Fixed further bug in proc updateactbreakpointtag. The first line of the function
   defined just after the function searched for could be tagged.
 * The insertion cursor is now positioned at the beginning of the active breakpoint on an
   update of its position. This is an option of proc updateactbreakpointtag.
 * Simplified the debugger. Start debug (CTRL-F11) and Go to next breakpoint (F11) merged
   into one single command.
 * Improved proc scilaberror following ES' suggestions
 * version --> 3.9

ES 3/11/04:
 * the writable status of files which are opened is checked. [ReadOnly] is tagged 
   on the title bar. If a file is not writable (either because of an invalid path
   or because the file is readonly), a warning pops up, and Save translates to
   "Save as..."
 * version --> 3.10

Francois VOGEL, 04/11/04
 * Added debugger icons in the watch window as an initial attempt for having a toolbar.
 * Added same icon images in the debug menu.
 * Removed the workaround for bug 633 (workspace erased after aborting a callback) since
   this bug has been solved in the CVS.
 * version --> 3.11

Francois VOGEL, 10/11/04
 * Reworked reading of icons from disk. Resized icons independently of their original
   size (for display in a toolbar such as in the watch window). Same icons with further
   reduced size are now displayed in the debug menu. There is now an icon for each debug
   menu entry (thanks to ES for the design!)
 * Changed the order of the menues in the menubar.
 * Changed the order of the items in the help menu.
 * The watch window content is now updated instead of completely redrawn at a breakpoint
   stop.
 * Added ES' changes for addition of the Revert to saved command in the file menu.
 * version --> 3.12

ES 15/11/04:
 * added support for user preference file $env(HOME)/.SciPadPreferences.tcl,
   loaded at startup by defaults.tcl and saved on exit
 * wm geometry in strict pixels (avoids cross-session shrinking due to wm decorations
 * outside of Scipad: removed %scipad_fontsize from SCI/etc/scilab.start and 
   SCI/macros/util/scipad.sci: overridden by the user preferences file
 * version --> 3.13

ES 16/11/04
 * button-2 bound to the new proc button2copypaste - [almost] fixes
   the issue of importing external X selections into scipad
 * version --> 3.14 (and I resist from calling it pi)

Francois VOGEL, 01/01/05
 * Improved proc scilaberror since I fixed bug 1091
 * Added automatic popup bubbles (balloons) displaying a help text when the mouse is
   over an icon of the watch window
 * Added Ctrl+a binding to select all the text in the current buffer (more common
   in Windows than Ctrl+/)
 * Added test in proc scilabexec, to cope with string length limits in C language
   (related to bug 885 correction I made in the Scilab core code). Now the selection
   to execute is displayed in the shell if and only if its length is less than 509
   characters. The full string is however passed for execution in the shell. If its
   length is greater than bsiz (currently 4096 chars), it is truncated in
   TK_ScilabCallback.c to avoid internal buffer overflow. In that case, the
   truncated string is executed and a warning is printed in the shell.
 * Added two new debug commands: "Run to cursor" and "Break". They are not yet
   working correctly due to bugs 1086 and 1120, and they should not be used.
 * version --> 3.15

ES 10/1/2005
* proc execfile returns a value (0=success, 1 scilab busy, 2 cancel, -1 fail)
* added new commands "Create help skeleton" and "Compile as a help page"
* version -> 3.16

ES 13/1/2005
* "Create help skeleton" warns about preexisting xml files. Messages
   there in french too.

Francois VOGEL, 19/01/05
 * Strings containing slashes are now correctly handled in the watch window.
 * The watch variables area and/or the call stack area in the watch window
   can now be hidden/shown.
 * version --> 3.17

Francois VOGEL, 20/01/05
 * Added accelerator name on the watch window buttons tooltips
 * version --> 3.18

ES 24/1/05
 * new tagging classes for scilab keywords: libfun and predef
 * keyword lists for them derived from scilab at launch time
 * file "words" purged of all the keywords in the two lists above
 * new colors for them
 * version --> 3.19

ES 26/1/05
 * Ctrl-B1 clicking, or issuing F8 when the cursor is in a libfun
   opens the source file (via get_function_path()) of that libfun
   (undocumented yet, nor reported in a menu)
 * a nicer color for libfun
 * filename printed in the message "file is alread opened" 
 * version 3.20

Francois VOGEL, 27/01/05
 * Bug corrected - When hitting return somewhere in the active breakpoint
   line, the related activebreakpoint tag was not updated
 * The buffer is now locked during a debug session, no changes allowed
 * version --> 3.21

ES 27/1/05
 * "open function source" added in the File menu, enabled if in case
 * corrected search for keywords in colorize.tcl, whichfun.tcl: scilab
   names ae not just words in the tcl sense, they can contain %#!?$
 * version --> 3.22

Francois VOGEL, 27/01/05
 * Bug corrected - Ctrl-x was still able to cut text in a locked buffer
 * version --> 3.23

ES 3/02/05
 * fixed colorization bug introduced with 3.22 (one char to the left
   too much colorized as keyword while typing)
 * fixed some tag range issues for the name of the function to be
   opened by mouseclick or menu command
 * catched the saving of the preference file, so no error is reported
   if it cannot be written
 * version 3.24

Francois VOGEL, 09/02/05
 * Debugger commands Run to cursor and Break are now temporarily disabled
   since parser issues in Scilab are not solved. Bugs 1086 and 1120 must
   be solved first. These commands can be quickly activated again for debug
   or development by setting dev_debug to "true" in db_init.tcl
 * version --> 3.25

Francois VOGEL, 12/02/05
 * Bug 1203 corrected (darkred replaced by red for QTXTCOLOR to work on HP)
 * Implementation of message files using msgcat.
   Reference: http://wiki.tcl.tk/1488
   Note: Menues underlines are not yet translated, since they are not handled
         by the msgcat package. That's why some if {$lang=="eng"} are still
         in the code.
 * version --> 3.26

Francois VOGEL, 13/02/05
 * Some french menues underlines changed (were duplicates or unconvenient)
 * Menues/buttons underlines are now taken into account without if {$lang==
   Reference: http://wiki.tcl.tk/3665 (magic ampersand)
 * Some bindings changed in the Find and Replace dialogs. Bindings are now
   locale-independent, as well as shortcuts (accelerators in menues).
 * Select all is now binded to Ctrl+a instead of Ctrl+/
 * Open function source is now binded to Ctrl+/ instead of F8 (reserved for
   the debugger step by step commands) 
 * version --> 3.27

ES 15/2/05
 * added a void fallback definition of ScipadEval and sciprompt in scipad.tcl.
   This is useful for running scipad independently of scilab, e.g. in wish,
   in order to debug the tcl code.
 * void fallback chset(scilab.predef) and chset(scilab.libfun) in colorize.tcl
 * moved a few toplevel code lines from scipad.tcl to mainwindow.tcl and
   slighly reedited the latter
 * version --> 3.28

Francois VOGEL, 16/02/05
 * Cosmetic: Aligned strings in the About box
             Translated message for fake ScilabEval
 * version --> 3.29

ES 16/02/05
 * indent/unindent supports a fixed arbitrary number of spaces, set by
   the preference variable indentspaces
 * localization to italian (proof of the concept)
 * typo corrected in fr.msg
 * fake ScilabEval also puts to stdout
 * version --> 3.30

Francois VOGEL, 16/02/05
 * Removed duplicate "Add/Change" in fr.msg and it.msg
 * Added strings in the message files
 * .ScipadPreferences.tcl is now saved in the home of Scilab
 * version --> 3.31

Francois VOGEL, 17/02/05
 * Drag'n'drop one or more files at once from the explorer to Scipad now
   works (opens the file(s)).
   Reference: TkDnD package - http://sourceforge.net/projects/tkdnd
   Possible absence of the package is catched (no warning issued).
 * version --> 3.32

Francois VOGEL, 21/02/05
 * Scipad now displays only pruned filenames (and full pathnames in
   case of ambiguity) in the titlebar and windows menu.
 * A lot of drastic code cleaning in filecommands.tcl, infomessages.tcl,
   buffernavigation.tcl, inputtext.tcl plus a few more around those files,
   rationalizing, suppressing old unused or duplicate procs, reindenting,
   removing superfluous comments but adding explanatory comments.
 * version --> 3.33

Francois VOGEL, 23/02/05
 * Few glitches correction about pruned file names.
 * New buffers are now tagged as modified (required changes in scipad.sci).
 * Trying to paste with button-2 when there is no selection does no more
   tag the buffer as modified.
 * Further drastic code cleaning. The only unclean file is now undoredo.tcl
   but this will be removed one day or another anyway to be replaced by the
   text widget undo/redo features.
 * version --> 3.34

Francois VOGEL, 24/02/05
 * New buffers are no more tagged as modified.
 * Trying to exec an empty buffer is catched.
 * Code rationalization:
     - replaced $pad.textarea by $pad.new$winopened
     - inccount, outccount, getccount become setmodified, unsetmodified,
       and getmodified
 * version --> 3.35

Francois VOGEL, 26/02/05
 * The list of the 4 more recently opened/saved files is now available in
   the file menu for quick access.
 * version --> 3.36

Francois VOGEL, 27/02/05
 * Added a number in front of the recent files names.
 * version --> 3.37

ES, 1/3/2005
 * $winopened starts from 1 (i.e the first new buffer is Untitled1.sce)
 * scipad.sci takes care to close $pad.new1, not $pad.new0, when needed
 * found where to drop a magic update (top of mainwindow.tcl) which makes
   the initial buffer reactive to drag&drop under linux (and possibly 
   solves old obscure geometry problems related to the initial buffer)
 * proc openlistoffiles in filecommands.tcl removes the eventual
   prefix "file://" - needed for d&d in linux
 * version --> 3.38

Francois VOGEL, 01/03/05
 * Directory dropping in Scipad now handled (opens all the files in it)
 * Wrong underline removed for >9 recent files in the file menu (hack)
 * version --> 3.39

ES, 6/3/05
 * fine-tuning for linux drag&drop (.* files considered when dragging
   directories, .. and . excluded, warning for drops of non file://
   objects (e.g. ftp:// or http://). Filenames with non escaped spaces
   (or with %20) not yet supported.
 * warning issued when trying to open a file from the recent list, if the
   file does not exist anymore.
 * preference added scilabSingleQuotedStrings=yes/no
 * removed the unnecessary input argument to proc showopenwin
 * version --> 3.40

Francois VOGEL, 06/03/05
 * Request 168 fixed:
     - focus stays in Find/replace dialog (the new tag foundtext is used
       instead of the (special) sel tag)
     - Find Next button added in the Replace dialog
     - Intelligent move of the dialog occurs in case the text found would
       have been hidden behind the dialog
 * In case of opening a precendently opened file from the recent file list,
   the corresponding entry is moved at the top of the list.
 * version --> 3.41

Francois VOGEL, 07/03/05
 * Further changes related to request 168:
     - position of the text found/replaced is now given in the status bar
     - the foundtext tag that stayed forever after a find next triggered
       by F3 is now removed on keypress or buttonpress event
     - when the user hits replace, now the previously found text is replaced
       instead of the next one - if no match was previously found, then a
       search occurs, immediately followed by a replace if successful
     - now the possibly existing selection remains visible while the find
       dialog is open
 * version --> 3.42

ES 8/3/2005
 * Options menu splitted in Scheme and Options
 * Word Wrap moved to Options menu
 * all scipad colors are configurable within scilab with the Option/Colors
   submenu, and immediately updated
 * version --> 3.43

Francois VOGEL, 09/03/05
 * Again changes related to request 168, and find/replace:
     - bindings corrected for the replace dialog (still ctrl-key bindings)
     - trying to replace with an empty string now works correctly
     - there were tricky cases where replace all could enter an endless loop
      (e.g. replace d by dd, starting the replace between two matches on
      the same line) - this is fixed
 * maxrecentfiles = 0 is now fully supported in case that value is selected
   in the options menu to come
 * Find in selection now works correctly on Linux also
 * Wrt the new Options/colors, propagated changes to french messages
 * version --> 3.44

Francois VOGEL, 09/03/05
 * Word wrap is now correctly taken into account between Scilab sessions
 * version --> 3.45

ES  09/03/05
 * procs openlibfunsource1 and wordwrap eliminated; the menu entries using them
   can just inline them. 
 * version --> 3.46

Francois VOGEL, 12/03/05
 * New options made available:
     - File names: Full, or Full if ambiguous, or Pruned file names
     - Indentation spaces number - used for Ctrl-d as well as Tab
     - Binding for Tab: insert spaces to the next tab stop, or indent the
       selection if it starts at the beginning of a line - useful for
       quickly reindenting code parts newly enclosed in ifs for example
 * Fixed: some menues did not have the same fonts than the others
 * version --> 3.47

Francois VOGEL, 13/03/05
 * New options made available:
     - Tab key inserts spaces or tabs
     - Max number of recent files in the file menu (possibly zero)
 * version --> 3.48

ES 15/03/05
 * new option available: single quoted strings colorized as strings/not
 * version --> 3.49

Francois VOGEL, 16/03/05
 * Several minor glitches corrected for Find/Replace, in selection or full
   text, related to changing search direction between searches
 * version --> 3.50

Francois VOGEL, 16/03/05
 * Differences of keysyms between Linux and Windows platforms are now fully
   handled
 * version --> 3.51

Francois VOGEL, 19/03/05
 * Added an "Exec done" showinfo so that the user has a visual feedback of his
   action when it results in no change in the Scilab window.
 * F10 (Configure execution) in the debugger now accepts function definitions
   splitted on multiple continued lines, possibly with interlaced comments.
   There is still a limitation due to the tcl fact that matches must be within
   a single text line. Therefore the keyword "function" and the function name
   must still be within a single line.
 * Find/Replace with regexps could highlight the wrong number of matched chars.
   This is fixed but there is still something unclear about the text widget
   search command, whose switch -count var does not always update variable var
   with the length of the match. Worked around and code cleaned from -count
   switch.
 * Drag and drop of text within a buffer is now implemented. Possible actions
   are move (Shift-Button-1) and copy (Shift-Control-Button-1).
 * version --> 3.52

Francois VOGEL, 20/03/05
 * Changed bindings for drag and drop of text within Scipad for more standard
   ones: Button-1 now moves, whereas Control-Button-1 copies.
 * Binding for openlibfunsource is now Shift-Control-Button-1 (had no better
   idea...)
 * version --> 3.53

Francois VOGEL, 21/03/05
 * Drag and drop improvements for text within Scipad:
     - action can now be switched between copy and move during a drag operation
     - the cursor can no more be located inside a selection
     - scrolling of the window when drop location approaches the window border
     - cursor changes shape when over a selection
 * No more blinking of the cursor on Windows (temporary patch because of a
   glitch with drag and drop)
 * version --> 3.54

Francois VOGEL, 23/03/05
 * Again drag and drop improvements:
     - restored dnd for text/uri-list that was broken on Linux
     - Control-Button1 binding fixed - can now be pressed before drag start
     - fixed wrong behavior with quick drags (selection was sometimes extended)
 * version --> 3.55

Francois VOGEL, 24/03/05
 * Last minute drag and drop improvements:
     - restored cursor blinking on Windows (found a tricky workaround for
       tk bug 1169429)
     - further fix for quick drags, on Linux this time
 * version --> 3.56

Francois VOGEL, 25/03/05
 * version --> 4.0

Francois VOGEL, 03/04/05
 * Scipad silently displays the already opened buffer if the corresponding
   file menu entry is selected - no complain any more
 * Bindings with shift modifier corrected for Solaris Sun OS
 * env(SCIHOME) is now used instead of env(HOME) for saving the preferences
   file (changes by A. Cornet)
 * version --> 4.1 - This version comes with Scilab 3.1RC

Francois VOGEL, 10/04/05
 * Dropping text at the same place it was dragged from does no more tag the
   buffer as modified
 * version --> 4.2

ES, 13/04/05
 * menu Options/Colors colorized enforcing background and foreground
   color settings - makes it as readable as the textarea will be.
 * version --> 4.3

ES, 14/04/05
 * fixed linux printing. Checked, it works both with "lpr" and 
   "a2ps -2 -Pprinter". If the buffer is unmodified, no temporary 
   file is created (a2ps adds the proper header, which is nice)
   The syntax has to be "$printCommand $file" (this excludes for the
   moment e.g. "cat $file | lpr", but that could be reworked), and
   if $printCommand reports something (e.g. the job number or the number
   of pages, as a2ps does), that is popped up.
 * Preference values are written in {} in the preference file. This was
   necessary since $printCommand can contain spaces, minuses, piping chars.
 * Credit message in proc aboutme desourced, and expanded in each *.msg file.
   This will ease adding information, such as translator credits.
 * version --> 4.4

Francois VOGEL, 15/04/05
 * Slight change in proc OKconf_bp to avoid executing foo(1,2,,,) in case some
   input parameters are not given. This lead to wrong value of rhs (5 in this
   example). A call such as this one is now trimmed to foo(1,2), giving the
   correct rhs=2
 * Consistent change made in proc checkarglist to avoid Scipad complain when
   argument order is not the same as what is in the function definition, and
   argument value is "" (meaning this argument will not be sent on execution)
 * Bug fixed: The message box "Check function definition" could inopportunely
   pop up when there was more than one opened buffer
 * Added a popup for the debugger: if the user right-clicks on a selection
   he can now quickly add the selection as a watch variable
 * The debug session is now properly canceled on Scipad close, so that Scilab
   is no more in a messy state in such a case
 * The debug session is aborted if the user closes the buffer that contains
   the function launched for debug. If another buffer is closed, all the
   breakpoints of the closed buffers are removed from Scilab and the debug
   session can go on
 * Minor bug fixed: the watch window icons for run to cursor and break (these
   features are still pending, waiting for the Scilab parsers to be fixed...)
   were sometimes inopportunely enabled
 * Selection made visible even if overlayed by a breakpoint
 * Bux fixed: In the debugger watch window with several watch variables, when
   execution has stopped due to a breakpoint, when the user changes the value
   of some variables and then adds a new variable (Add/Change button or
   right-click on selection), then the changes previously made on the other
   watch variables were lost
 * Credit given to Gunnar in the About box for the se translation
 * version --> 4.5

Francois VOGEL, 18/04/05
 * Refined the popup menu for "Add watch" to include the selected text.
 * Made use of the existing tags as well as of a regexp deduced from help
   names in Scilab. Only valid variables can now (in principle) be added
   on right-click on selection during debug
 * Some editing in the message files - German version added
 * version --> 4.6

Francois VOGEL, 26/04/05
 * RamDebugger capability added (MUST be set to "no" for committed
   files, see at the top of defaults.tcl)
 * Bug fixed: Replace all could hang Scipad when the string to search was
   included in the string to replace
 * Bug fixed: Trying to drag and drop in the call stack area of the watch
   window produced an error - Now this operation is no more allowed
 * version --> 4.7

Francois VOGEL, 27/04/05
 * Better fix for the Replace all bug supposedly fixed in 4.7 (there were
   still cases that could hang Scipad) - Rewrote proc ReplaceAll
 * Bug fixed: Regexps finds or replaces could produce an error if the
   search was performed independently of character case (e.g searching
   for [ab] in a buffer containing xxAxx)
 * version --> 4.8

Francois VOGEL, 29/04/05
 * Fixed: selection bounds could miss the first and/or last characters after
   a replace whose first or last match started or ended at the selection
   bounds
 * Watch window made resizable, and with 2 paned windows inside to adjust
   size of the call stack area and the variables area, and inside the variables
   area, the respective sizes of the variable names and the variable content.
   There is still a quirk, which is Tk bug 1192323 (partially solved in
   Tk8.5a3 cvs 29/04/05), but one can certainly live with it for the moment
 * Add arg window made resizable
 * version --> 4.9

Francois VOGEL, 03/05/05
 * Bug fixed: when in debug mode and there was no mouseoversel before, there
   was an error
 * version --> 4.10

Francois VOGEL, 05/05/05
 * Bug fixed: line/column indication in the bottom bar was no longer updated
   when the insertion cursor was moved by clicking on the text area. This bug
   was introduced in Scipad 4.7
 * version --> 4.11

ES, 05/05/05
 * cosmetic: colored activeforegrounds in menue Options/Colors
 * version --> 4.12

Francois VOGEL, 05/05/05
 * Proposal for a better activeforeground colorization scheme in Options/Colors
   menu, using http://aspn.activestate.com/ASPN/Cookbook/Tcl/Recipe/133529
 * version --> 4.13

Francois VOGEL, 06/05/05
 * Second proposal for a better activeforeground colorization scheme in
   Options/Colors menu, now better taking into account 16-bit colors as
   selected by the user in the color picker
 * version --> 4.14

Francois VOGEL, 08/05/05
 * Simplified shading of colors for the activeforeground colorization
   scheme in Options/Colors menu, following discussion on comp.lang.tcl
 * Added a checkbutton in the watch window add variable dialog box in order
   to force acquisition of the current value of this variable from the shell.
   This is useful during a debug session when the user adds a new watch
   variable just to check its current value without changing it. Previously,
   update was only performed after the next breakpoint stop
 * version --> 4.15

Francois VOGEL, 09/05/05
 * Fixed: "grab failed" on Linux happened when the user double-clicked on
   a variable name in the watch or configure box
 * version --> 4.16

ES, 16/05/05
 * version --> 5.0, incrementing the major for the new scilab release 3.1

Francois VOGEL, 17/05/05
 * Bug 1228 fixed - Cancel button removed when Scipad is exited because of
   a Scilab quit (but kept when exit is called from Scipad)
 * version --> still 5.0

Francois VOGEL, 29/05/05
 * Bug fixed: Right-click on a variable to add it as a watch did not work if
   this variable was on a breakpointed line
 * Fixed: Backspace or the like now scroll the main window to keep the cursor
   visible
 * Fixed: If a watch variable is a list containing one or more undefined
   items, then these items became defined (as a string) when running to the
   next breakpoint. They now stay as properly undefined items
 * Fixed: An unknown variable (getvaluefromscilab) error could pop up during
   quick add watch if the added variable did already exist as a watch
 * The add variable box now adjusts dynamically its width to be just large
   enough to hold its content
 * The debugger now allows for watching an element of a variable, and not
   only the full variable array (i.e. to watch things like d(1,3) or d(i)
   or even sub-arrays such as d(1:3) and not only d if d is a matrix or a
   list) - Warning: it can watch b(16/8+3*2-1) but not b(16/8+(3*2)-1) since
   only one set of parentheses or brackets is allowed - Expression watching
   such as a+b or plot(x) still not yet implemented
 * Duplicated in the watch window the visual indication about the debugger
   status that is already displayed in the statusbar of the main window
 * The watch window can now be opened before execution is configured
 * The watch variables of type poly are now displayed with the unknown
   variable given by varn. Previously it was OK if and only if degree>0
 * '' strings in comments are correclty marked as strings if Options/Colorize
   'Strings' is untagged and retagged (fixed by Enrico)
 * Cancelling closure of modified buffers does no longer ask multiple times
   for confirmation
 * version --> 5.1

Francois VOGEL, 30/05/05
 * Watching large arrays can quickly lead to ScilabEval commands exceeding the
   length limit, usually resulting in a shell error and messing the debug. This
   is now taken into account. Such long commands are saved in a file in tmpdir,
   the command is splitted in parts whose size is smaller than bsiz, and the
   file is executed by a ScilabEval. These file accesses are catched to avoid
   problems with permissions, disk size, etc. If there was such a problem, the
   user receives a warning. This allows for instance to watch big variables
   containing thousands of components, or to watch a large number of variables
 * version --> 5.2

Francois VOGEL, 04/06/05
 * Undo/Redo mechanism and modified flag replaced by the text widget embedded
   one (since Tk 8.4). This fixes some bugs and has many side advantages:
     - Undo/redo stacks were sometimes not consistent with the modified flag,
       e.g. if the user typed something, saved, undid once and redid once,
       then the modified flag was still active
     - Cut, paste, undo, undo did forget the colorization of the text on which
       it had been applied
     - More than one single undo (or redo) is no more needed to cancel (or
       redo) an action that first deleted the selection, e.g. a paste over a
       selection, or a text move with dnd
   These are all fixed.
 * Fixed: If the height of the textarea is an exact multiple of the line height
   it was not possible to scroll down during a dnd (same issue horizontally)
 * version --> 5.3

Francois VOGEL, 05/06/05
 * Fixed a regression introduced in 4.7: Control-Button-1 did no longer extend
   the selection
 * version --> 5.4

ES, 7/6/05
 * new proc pbind in the new sourced file platformbind.tcl: tries all
   the known key sequence names, instead of trying the relevant one for each
   platform (useful for Shift-Fn bindings)
 * version --> 5.5

Francois VOGEL, 07/06/05
 * On successful opening of the first file after Scipad launch, the unmodified
   empty buffer that is opened by default is automatically closed
 * The default bindings of the text widget correctly report the buffer as
   modified. This includes Control-k (delete from the insertion cursor to the
   end of line), Control-t (transpose text), Control-i (insert a tab),
   Control-h (delete one char) and maybe other default bindings. This feature
   required no change of the code since it is a benefit from making use of the
   undo mechanism embedded in the text widget (Scipad 5.3)
 * Inserting a breakpoint when the cursor is outside of the displayed area
   moves the text so that the new breakpoint is visible
 * Bug fixed: The order of the watch variables (that can be changed by drag
   and drop using button-3) is no longer lost after resuming the debug
 * Toggling the "Get value from Scilab" flag in the add argument window moves
   focus to the field of interest
 * Moved all the debug settings at the top of defaults.tcl
 * version --> 5.6

Francois VOGEL, 12/06/05
 * If there is a preexisting text in the Find dialog, this text is selected on
   opening of the box
 * Resizing of the watch window panes could sometimes lead to clipping of these
   panes. This is Tk bug 1192323. Tk patch 1124198 solves the issue and is part
   of Tk 8.4.10 and Tk8.5a3. Since Tk 8.4.10 is now shipped with the Scilab
   binaries for Windows, I consider this issue closed. Anyway, this is outside
   of Scipad
 * Fixed the resizing issue in the watch window using information provided in
   Tk bug 1217762 (the "Close" button could still be clipped after Tk patch
   1124198)
 * version --> 5.7

Francois VOGEL, 15/06/05
 * Most of the subwindows (Find/Replace, Debugger windows, tk_dialog, Goto
   line, Print Setup, tk_messageBox) inherit the current font on Linux.
   This is not possible on Windows because the dialogs used by Tk on Windows
   are native ones. Still to be implemented: file choosers (open/save as)
   and color picker, i.e. tk_getOpenFile, tk_getSaveFile and tk_chooseColor
 * Bug fix: Replace all by an empty string did pop a tcl error
 * Proc whichfun swallows nested function definitions with continued lines.
   This is important for the debugger, that relies on the correct output of
   whichfun to display the active breakpoint for instance
 * Bugzilla url updated
 * version --> 5.8

Francois VOGEL, 16/06/05
 * Nasty bug fixed: With many opened buffers, saving one of them from the
   middle of the windows menu list caused loosing consistency between the
   tick/entry in the windows menu and the buffer actually displayed
 * $dialogFont instead of $textFont in the Linux message boxes
 * file choosers (open/save as) and color picker also use $dialogFont
 * version --> 5.9

Francois VOGEL, 20/06/05
 * $listoftextarea fixed - Maintaining order of its elements is required
 * Bug fixed: Opening two files with the same name did not tag one of them
   as unmodified
 * version --> 5.10

ES, 28/6/05
 * locale can be changed on the fly via the Options/Locale menu.
 * $lang added to $listofpref, the locale is an option remembered across 
   sessions
 * [commented out] menu entries for opening BUGS, CHANGELOG, 
   AddingTranslations.txt, msg_files/*.msg added as placeholders in the help
   menu
 * textarea.tcl/setfontscipad: the menu tree is automatically traversed
   when changing font
 * version --> 5.11

Francois VOGEL, 28/06/05
 * Fixed debug menu entries states after locale change
 * The useless toplevel created by wish when running Scipad outside of Scilab
   is removed
 * Go to line... options implemented:
     - Go to physical line N in current buffer
     - Go to physical line N in function...
     - Go to logical line N in function... (takes into account continued lines)
 * Rationalized the use of proc whichfun by encapsulating it in higher level
   procs (getallfunsintextarea, getallfunsinalltextareas) and making use of
   these instead of the loop that regexp-searches for "\\mfunction\\M" and
   checks whichfun it is in
 * version --> 5.12

Francois VOGEL, 29/06/05
 * New Go to line... option implemented:
     - Go to logical line N in current buffer (useful for .sce or mixed files)
 * Logical line number in buffer is displayed in statusind2 for Scilab files
   when the cursor is not in a function
 * Modularity of whichfun further improved - creation of proc countcontlines
 * version --> 5.13

Francois VOGEL, 03/07/05
 * Alt bindings and underlines added in goto line dialog
 * The Find/Replace dialog uses Alt bindings instead of Control bindings
 * version --> 5.14

Francois VOGEL, 04/07/05
 * Alt bindings in dialogs are now "flexible" ones, i.e. they can change
   with the locale
 * version --> 5.15

Francois VOGEL, 05/07/05
 * Proc amp improved to provide the right index of the character to underline
   when the string contains one or more escape characters (\)
 * version --> 5.16

ES, 6/7/2005
 * "&" -> "ampersand" in proc localetools.tcl/fb makes the null underline
   binding <Alt-&> acceptable in linux too
 * after 0 at line 449 of findreplace.tcl works around an event sequence 
   problem in linux, which popped up an error upon <Alt-key> cancelling 
   Search/Replace
 * version --> 5.17

Francois VOGEL, 16/07/05
 * First implementation of panedwindows to display more than one buffer at
   the same time. Better use it with Tcl/Tk 8.4.10 or higher since Tk bug
   1192323 is fixed by Tk patch 1124198
 * Fixed: The title bar is now updated on Options/Filenames change
 * version --> 5.18

Francois VOGEL, 18/07/05
 * Minor improvements or bug fixes to the paned window:
    - clicking on a pane title frame selects this pane
    - windows menu radiobutton is updated when the user clicks in a pane
    - close button added in each pane
    - locale change is propagated to all the panes titles
    - the horizontal scrollbar of each pane could get clipped when the text
      widget size was very small - Scipad now clips the text widget first, 
      until there is nothing else to do than to clip the scrollbar
    - Drag and drop works between panes - major rewrite of the dnd procs
 * Fixed: initialisation of funtogoto was missing in updateactbreakpointtag
 * version --> 5.19

Francois VOGEL, 18/07/05
 * Fixed: extend selection with Control-Button-1 works again (this was lost
   when the user clicked on a selection without moving the mouse)
 * Fixed: text widget selection is removed in the "old" buffer on buffer switch
 * Shift-Tab binding corrected to prevent default bindings from triggering
 * Clicking on a pane title selects this pane
 * version --> 5.20

Francois VOGEL, 19/07/05
 * tilestyle is a saved preference
 * New: dnd: works now when dragging from outside of Scipad and dropping in
   Scipad (the other way, Scipad -> outside already worked)
 * Fixed (on Windows only): clicking on [x] or File/Exit to close Scipad works
   even if Scipad is performing certain other tasks
 * Bulletproofed File/Close (Control-w), tilebuffers and maximizebuffer so
   that the user can't trigger them before the previous one is finished -
   this has been done by disabling certain menues entries and bindings before
   launching the command, and restoring them after execution
 * version --> 5.21

Francois VOGEL, 20/07/05
 * proc updatepanestitles improved to prevent rapid switching of buffer names
   in the Scipad title bar on closing a buffer when many are opened
 * Fixed: when previous exit was done in horizontal panes mode, the next
   restart used vertical orientation
 * Double-Button-1 on tile title binded to maximization of the clicked buffer
 * Added accelerators for tile mode in windows menu
 * Better centering of the label in the tile title
 * version --> 5.22

Francois VOGEL, 26/07/05
 * Emacs-like implementation of panedwindows (major change wrt to previous
   version):
     - the set of displayed buffers is a subset of the overall buffers set
     - tilestyle does not exist anymore - got rid of the concept of tiling mode
     - Split commands added, Control-Key-2 and Control-Key-3 bindings changed
     - Space sashes command added
     - Tile H and Tile V commands kept (operate on all opened buffers)
     - File/Open opens a buffer in the current tile
     - File/Close closes the buffer and displays a previously hidden buffer
       (or closes a pane if no undisplayed buffer is available)
 * Disabled close button in tile titles during the close process - Prevents
   the user from clicking repeatedly, e.g. during confirmation for saving
 * Fixed expanding of the button bar in the watch window (happened on initial
   external resizing)
 * version --> 5.23

Francois VOGEL, 29/07/05
 * Fixed clipping of pane title when Scipad window becomes really small
 * Restored pane minsize on a split (was forgotten)
 * If there is a hidden buffer at the time the Split command is invoked
   then this buffer is used for display in the new pane instead of always
   opening a new empty buffer
 * version --> 5.24

Francois VOGEL, 06/08/05
 * Printing on Windows implemented using Scilab instructions (printsetupbox and
   toprint) - No colorization yet
 * File changes on disk is now detected on Scipad FocusIn event, not only when
   trying to save
 * version --> 5.25

Francois VOGEL, 14/08/05
 * Better prevention of multiple binding fires for FocusIn event
 * Fixed: The following sequence triggered a bug: open Scipad, type something
   in the empty buffer, open another buffer, and then split
 * Documented paned windows implementation in buffernavigation.tcl
 * Implemented merging of panedwindows to prevent the grey border from growing
   on buffer close/reopen/split - this is not finished yet
 * version --> 5.26

Francois VOGEL, 18/08/05
 * Fixed: merging of panedwindows should not be executed if destroypaneframe
   is called with nohierarchydestoy argument
 * Continued implementation of panedwindows merging - not yet absolutely
   perfect but we can certainly live with this
 * Fixed: When launching Scipad in wish, the wish process was still alive in
   the computer after Scipad close
 * Slightly better Space sashes evenly command since getlistofpw now sorts
   its output
 * version --> 5.27

Francois VOGEL, 19/08/05
 * Replaced tabs by 4 spaces in the source code (sorry!)
 * Fixed: "Space sashes evenly" ignored the root paned window
 * Fixed: Tcl bug could pop up on "Tile all" with certain tiling pictures
 * Automatic relocalization of the hide/show buttons in the watch window
 * The current buffer becomes the top-(or left-)most buffer on a Tile All
   command (previously it was the first in the windows menu list, i.e. no
   way to change the order of tiling)
 * Button-2 on a tile title switches the tile content to a hidden buffer
 * Added "Open in new tile" command.
 * Potential bug fixed in extractindexfromlabel when used with anything
   else than the windows menu, namely the file menu. An entry with the same
   name as a menu label would have fooled this proc
 * version --> 5.28

Francois VOGEL, 22/08/05
 * Fixed a Tcl bug introduced in 5.28 when there is zero recent files in the
   MRU files list
 * version --> 5.29

Francois VOGEL, 23/08/05
 * Fixed: Space sashes evenly did forget to move sashes of certain paned
   windows (fixed in proc getlistofpw)
 * Fixed: The output of getpwtree is now correctly ordered in the packing
   order
 * Better merging of panedwindows (step 2)
 * Tiles keep their relative sizes on external resizing of Scipad
 * Open in new tile has an H and a V variation
 * version --> 5.30

Francois VOGEL, 24/08/05
 * Double-click with Button-1 on a sash evenly spaces the sashes of the
   panedwindow containing this sash
 * Removed hardwired menu entry ids used with entryconfigure to enable or
   disable contextually certain menu entries. Array MenuEntryId contains
   now the entry index of the argument in the relevant menu
 * All the main menues can be torn off. This feature is not felt as being
   necessary for sub-menues
 * Undo, Redo, Cut, Copy and Paste commands are enabled/disabled contextually
   in the Edit menu, and the corresponding bindings are set accordingly
 * version --> 5.31

Francois VOGEL, 25/08/05
 * Binding on $pad <Configure> for spaceallsashesevenly catched because it
   can be triggered on Scipad exit, which caused a Tcl error 
 * Documented Find/Replace procedures
 * Find/Replace informs that it has wrapped around in relevant cases
 * Changed a bit the geometry of the Find/Replace box to make better use of
   the available space
 * Added a checkbox in the Find/Replace dialog for searching in all the
   opened buffers - Only replace all is working now
 * version --> 5.32

Francois VOGEL, 05/09/05
 * Completely rewrote Find/Replace procedures to allow to search and replace
   in more than one buffer
 * Fixed: the foundtext tag that stayed forever after a find next triggered
   by F3 is now removed on buttonpress event (was fixed in 3.42 but broken
   again later when additional bindings for dnd were implemented)
 * Fixed: Moving of the Find/Replace dialog when it hides a match works also
   when Scipad has splitted windows
 * Improved the overlapping detection in proc MoveDialogIfTaggedTextHidden:
   previously the find dialog was said to overlap whenever any part of the
   full line containing the match overlapped the dialog; now the overlap
   detection is precisely reduced to only the exact matched characters area
 * Tk bug 1275237 worked around - occurred when replacing a string by an empty
   one (Find/Replace)
 * Total number of replaces is displayed after a Replace all in all opened
   buffers
 * Added the missing Alt binding for Find/Replace in all opened files
 * New Find/Replace function: toggle on/off search in selection
 * New Find/Replace function: match whole word only
 * Replace in selection can be extended to the whole buffer when no match
   is found in the selection
 * Select all moves the cursor at the end of the selection (fixed by Enrico)
 * Added global variable Tk85 which is true if Tk version is at least 8.5
   This is useful to prepare the transition of Scipad to Tcl/Tk 8.5. Currently
   Scipad works as well under 8.4 or 8.5, but certain options or commands
   available only in 8.5 are used when Tk 8.5 is present, for instance:
     - $panedwindow paneconfigure $pane -stretch always
     - $text search -strictlimits  (this one was bugged: Tk bug 1281228
       but is solved in Tk cvs since 10/10/05)
 * External resizing of Scipad does no more space all sashes evenly but
   rather move the sashes in such a way that the relative size of panes
   are maintained (uses -stretch always in 8.5, which is emulated in 8.4
   but result is not always perfect in 8.4)
 * version --> 5.33

Francois VOGEL, 06/09/05
 * Fixed (hopefully): grab failed Tcl error on opening the Find/Replace box
   on Linux
 * Fixed: the selection doesn't disappear any more in Linux when opening
   the Find/Replace box, thus allowing to search in selection (was broken
   (by me!) since Scipad 5.7)
 * Fixed: a Tcl error "no character tagged with 'sel'" could pop up on
   opening again the find dialog with no selection after having canceled
   a search in selection
 * Fixed: Find/Replace works when strings contain spaces
 * Fixed: Find/Replace works when strings contain quotes or antislashes
 * New (Find/Replace): Regxep compilation errors are catched and the user
   is warned
 * Fixed: Scilab legal function names starting with a Tcl special character
   such as % _ # ! ? or even $ are fully supported in the debugger
 * Fixed: Scilab legal variable names starting with a $ are fully supported
   in the debugger
 * version --> 5.34

Francois VOGEL, 07/09/05
 * Fixed further search in selection bugs on Linux: the entry fields of the
   Find/Replace dialog don't exportselection anymore
 * New (Find/Replace): After having agreed to extend the search to the
   entire text, the user can again search in the selection without closing
   the dialog
 * If there is a preexisting text in the Find dialog, this text is selected
   on opening of the box
 * version --> 5.35

Francois VOGEL, 15/09/05
 * Fixed: Find/Replace search string can contain $ or [ ] signs
 * Better regexp in proc checkarglist to check for function names containing
   special characters
 * New implementation of Find/Replace for whole words - allows to search for
   whole words starting or ending with non Tcl word characters such as Scilab
   special characters ($ % _ # ! ?) - regexp mode can now be simultaneously
   selected
 * version --> 5.36

Francois VOGEL, 17/09/05
 * Added automatic log file capability for Scipad debug purposes
 * version --> 5.37

Francois VOGEL, 18/09/05
 * Improved log file stuff:
    - Explicit close of the log file on Scipad exit
    - Added a messageBox in case of a bgerror
    - The log file is overwritten each time Scipad is started
    - Whenever a bgerror is triggered, the log file is saved as another
      filename, which is never erased by Scipad
    - Binding triggers are logged
 * Prevented the tile procs (maximizebuffer and splitwindow) to run
   concurrently thanks to a guard variable - Removing the bindings in proc
   disablemenuesbinds was not enough (why? it should have been enough!)
 * version --> 5.38

ES, 21/09/05
 * outside scipad: hack to the function what(), which prints the names
   of all Scilab internal functions
 * script makewordfile2.sce, to be run manually for now, generates a 
   "words" file containing the internal functions and the scilab commands.
   Scicos functions and system variables used by scilab.start (e.g. LANG,
   %toolboxes, demolist,...) are no more included.
 * the "words" file is subdivided in two groups, "intf" and "comms"
   -old tag "keywords" suppressed, superseded by "intf" and "comms"
   -colorization, preferences, etc supports the two new tags
 * QTXTCOLOR reverted to "darkred"
 * trap for proc blinkbrace called with $brace not one of {")" "]" "}"} 
   (bad keymodmap problem reported)
 * Execute/Evaluate selection contextually activated when a selection
   is present; Button-2 paste no more (wrongly) contextually dependent
   on the clipboard state
 * version --> 5.39

ES, 22/09/05
 * added colorization of scicos functions and block names.
   makewordfile2.sce now appends them to the words file (#TAG scicos).
 * proc openlibfunsource extended to scicos functions and blocks,
   menu entry command contextualized
 * some default colors changed.
 * *.cosf Scicos file type added in Open/Save choosers.
 * version --> 5.40

Francois VOGEL, 22/09/05
 * Fixed: End of log file was missing on Scipad close
 * Fixed: When Scipad was launched more than once from the same Scilab
   session the logs were missing all the proc entries
 * Fixed: Files containing Tcl special chars such as [] could not be opened
   through the most recent list of files (file menu)
 * version --> 5.41

Francois VOGEL, 25/09/05
 * Fixed: even if help function doesn't tell it function v=foo() is allowed
   (no bracket around v) - this syntax is now supported
 * Variable names (including functions) with special characters better
   handled. The debugger now swallows things nobody will probably do but
   which are required for Scilab full compatibility, e.g.
     function [a$va?r,%an!#va_#!?$r] = %foo#t!u?t$o_u(%ze!$?_#)
 * version --> 5.42

ES, 6/10/05
 * Fixed: missing initialization of chset(scicos) caused errors when
   invoking scipad from wish and when typing in scipad during its opening 
 * proc load_words, which uses dynamickeywords exploits Scilab's new what()
 * keyword list now completely dynamical, file words removed.
 * version --> 5.43

Francois VOGEL, 08/10/05
 * Little fix in Obtainall_bp for function names containing question marks ?
   in their name
 * Fix in FormatStringsForDebugWatch for strings containing special TCL
   characters such as "${}[]
 * Again a better regexp for function names checking in the debugger
   configure box (function foo followed by nothing triggered a "check
   function definition")
   Side effect benefit: the keyword "function" and the function name now
   can be on different code (continued) lines
 * Dnd bug fixed: select something, and click in the selection without moving
   the mouse -> blinking stopped but did not restart. This was on Windows
   only since on Linux the cursor does not blink
 * Dnd bug fixed: the selection in Scipad could be copied/moved by dragging
   the character just after it
 * The cursor is moved at the drop position after a dnd
 * Space sashes evenly as well as external resizing work better (added update
   idletasks)
 * Better support for files containing Tcl special chars (braces), that could
   not be opened through the most recent list of files (file menu)
 * Fixed an "invalid command name "none"" error when launching Scipad from
   Scilab with at least one non existing file in the command line, and when
   this non existing file preceded existing files in the command line
 * New function: find in a directory, in files matching a glob pattern
   During search in files, which can be a lengthy process, Scipad is still
   fully active
 * version --> 5.44

Francois VOGEL, 09/10/05
 * Scipad rings a bell when the user tries to modify a buffer during a debug
   session
 * The full path of the file is displayed in the status bar when passing over
   the entries of the Windows menu, analogously to the File menu
 * version --> 5.45

Francois VOGEL, 10/10/05
 * Clicking in an existing selection deletes this selection again (this bug
   was introduced in 5.44)
 * Changed a label for find in files, in order to emphasize that filenames
   may be given and not only file patterns
 * version --> 5.46

ES, 11/10/05
 * default bindings Control-h,k,i,t in textarea removed, to prevent
   text modification without passing through our procs (to recolorize,
   take into account editing modes, etc)
 * button2copypaste bound to <ButtonRelease-2> (not <Button-2>). Avoids
   overlaps with the default <<PasteSelection>>, which caused odd behaviors.
 * version --> 5.47

Francois VOGEL, 11/10/05
 * Fixed an error popup when opening the Replace box, typing a string and
   launching a search
 * version --> 5.48

Francois VOGEL, 18/10/05
 * Searching for an empty entry in case the Find in files box is checked
   now searches for files that match the glob pattern
 * version --> 5.49

Francois VOGEL, 02/11/05
 * Documented the relevant arrays (chset and words) for colorization and
   keyword matching (from Enrico's explanations)
 * New: Quick Open source code of... in the file menu
 * New: Ctrl-Tab proposes a list of completions from the known keywords
 * version --> 5.50

Francois VOGEL, 06/11/05
 * Better retrieval of the keyword start for popup completion - the left
   boundary of a keyword does no longer need to be a space or start of line
 * Popup completion menu binding is a saved preference from the options
   menu (since the default Control-Tab may be used for other purposes on
   certain platforms)
 * Completion binding no longer changes focus from textarea to Close button
   in tile mode
 * Debug-mode Scipad logs all the (non Tcl/Tk default) bindings of all the
   children of $pad instead of only $pad bindings - this setting is
   configurable through a global variable
 * Cursor blink disabled on Windows to work around dnd locks in drag mode
   when clicking quickly in a pre-existing Scipad selection when Scipad
   does not have focus (might happen with slow computers)
 * version --> 5.51

ES,
 * small improvements to derive the classes of scilab keywords from chset()
   for future ease of expandability; textarea tag "comm" renamed "command"
   (no new feature)
 * The list of possible completions includes the start of word, if it
   matches a Scilab keyword
 * version --> 5.52

Francois VOGEL, 08/11/05
 * Completion popup window, which was a tk_popup menu, replaced by a
   text widget posted using the place geometry manager - usability
   bindings added. Reasons for this change: the Tcl event loop is not
   running on Windows while the menu is posted and this prevents from
   updating the list of completions while the user goes on typing when
   the menu is already posted. References:
   http://wiki.tcl.tk/3713
   http://wiki.tcl.tk/10643
   http://sourceforge.net/tracker/index.php?func=detail&aid=585003&group_id=12997&atid=112997
   http://groups.google.fr/group/comp.lang.tcl/browse_thread/thread/be584c844d3cb442/15630c85782a19a2
 * version --> 5.53

Francois VOGEL, 09/11/05
 * PgUp and PgDn bindings added for the completion popup
 * Keypad Enter key passes the selection completion from the popup the
   same way the Return key does
 * Improved the look of the popup for Linux (more menu-like)
 * Capital letters (shifted keys) can be used during popup completion
 * Completion popup size always correct for all the font sizes, even
   extremely small or large
 * An entry of the completion popup is highlighted when the mouse points
   to it
 * version --> 5.54

ES, 10/11/05
 * minor fixes to the completion popup:
 -trapping of Shift keypress using %K instead of %k, works in windows and linux
 -removed 300 msec delay after an entry is selected (previously added for
   visual feedback)
 * version --> 5.55

Francois VOGEL, 19/11/05
 * Highlight of entries in the completion popup on mouse pointing occurs
   only when Scipad has focus
 * Fixed: no completion was found in the Open source of... dialog when
   current language scheme was not "Scilab"
 * Changed <= into < for the upper bound of test on selection in proc
   tkdndbind for the <Drop> event - same change for the lower bound -
   this allows to drop a selection at one of the boundaries of the selection
 * The mouse cursor is restored to its default appearance when the user
   creates a new buffer through Control-n (it was a hand in the new buffer
   if Control-n was hit when the mouse was over the selection)
 * Better regexp for numbers colorization: doesn't match e123 or d1, and
   includes the possible leading decimal dot in the match
 * Continued lines (..) are handled for quoted strings colorization, even
   if they contain comments - Colorization for comments and quoted strings
   is interlaced and has been completely rewritten using regexps and making
   no use of the rem2 tag anymore
 * Line number finding in functions and logical line number identification
   support:
    - Mixed continued lines (i.e. single continued lines splitted in many
      buffer lines, some of them containing dots and some other not)
    - Nested brackets or braces in continued lines
    - Single quote quoted bracket, e.g. mprintf('[');  this is no longer
      detected as a continued line if single quotes strings are not
      colorized, thus producing a correct logical line number
 * Colorization of the buffer is done in the background if the entire buffer
   needs recolorization. Scipad is immediately responsive on File/Open,
   File/Revert to, and Scheme change, regardless of the buffer size
 * version --> 5.56

Francois VOGEL, 21/11/05
 * Fixed a bug in the regexp of proc checkarglist (how come it worked before?)
   and improved it to better fit what is allowed by the Scilab parser
 * Fixed a bug in proc getstartofcontline, that produced wrong recolorization
   of continued strings starting at the first line of the buffer
 * Joining of continued lines in Ctrl-y Execselection is now through a
   semicolon
 * Colorization of multiple matrix transposes in the same logical line is
   correct (i.e. no more as textquoted), the logical line extending on a
   single physical line or not. Example: A=A'+B'
 * version --> 5.57

Francois VOGEL, 22/11/05
 * Colorization bug fixed for strings containing double quotes ("ex""am""ple")
 * Background colorization is canceled if the file has been closed
 * Colorization progressbar added (one for each file colorized in the
   background)
 * version --> 5.58

Francois VOGEL, 23/11/05
 * Fixed bug in colorization of multiple matrix transpose: ' following a
   closing bracket, brace or parenthesis is not the beginning of a string
 * Fixed a bug in the regexp of proc checkarglist, to allow trailing spaces
   in the function definition
 * Progressbar procs are no more in a namespace (there was a bug on Linux
   when launching Scipad multiple times from Scilab)
 * On Linux, background colorization proceeds only if there is X activity,
   e.g. if the mouse is moved. This when Scipad is opened from Scilab.
   Colorization marches by itself if Scipad is launched from wish. To work
   around this, background colorization is no more allowed on Linux
   (progressbar is however kept, but no cancel is possible)
 * Colorization aborted and relaunched if switching language scheme
 * Tcl error on Scipad close during colorization is catched (happened when
   launched from Scilab only)
 * version --> 5.59

Francois VOGEL, 25/11/05
 * Fixed: The first lines of the buffer could be forgot in the foreground
   colorization on file opening
 * Fixed background colorization of files with filenames containing spaces or
   Tcl special characters
 * Scipad.sci surrounds the filename to open with curly braces {} instead
   of quotes - prevents one round of unwanted substitution for filenames
   containing Tcl special characters
 * Fixed bug in relaunch of colorization of a file already being colorized
 * Fixed Scilab hang if asking for Configuring execution of CHANGELOG file
   in scilab language scheme
 * version --> 5.60

ES, 27/11/05
 * Additional items in the Help menu, open scrollable text dialogs which
   display the files BUGS, CHANGELOG and AddingTranslations.txt. TBD 
   wether to keep all of them
 * version --> 5.61

Francois VOGEL, 29/11/05
 * Text boxes from help menu improved:
    - Escape dismisses the dialog
    - Close button and scrollbar no longer clipped when shrinking the window 
 * Optimized speed of simultaneous background colorizations
 * Performance and response time with large buffers (say 15000 lines) on
   keypress much improved by:
    - continued lines tagging with an efficient proc
    - putting proc keyposn in the background and cancelling pointless launches
 * New saved option: Show continued lines, whose background color is a saved
   preference
 * version --> 5.62

Francois VOGEL, 30/11/05
 * All background tasks forbidden on Linux
 * version --> 5.63

Francois VOGEL, 30/11/05
 * Fixed Find Next bug with F3: the highlighted part of the text was not
   correct when the buffer was modified between two searches - now in such
   a case, the Find/Replace dialog pops up again
 * F3 finds next (forwards or backwards depending on the radiobutton state
   in the Find dialog), now Shift-F3 finds next in the reverse direction
 * version --> 5.64

Francois VOGEL, 01/12/05
 * Update added at the end of scipad.tcl to make background tasks work on
   Linux (together with bug 865 fix)
 * Dnd of directories work again (this regression came in Scipad 5.38) -
   there is no need in this case to prevent concurrent running of the tile
   procs (maximizebuffer and splitwindow)
 * Continued lines are tagged in scilab language scheme only, and menu entry
   is disabled when not in scilab scheme
 * Cursor blink re-enabled on Linux thanks to bug 865 fix
 * Cursor blink re-enabled on Windows since I found a better way to work
   around dnd locks previously caused by the workaround for Tk bug 1169429
 * Missing focustextarea binding added in case Scipad is launched without
   TkDnD
 * Dnd bug fixed: Dragging from a buffer, going out of it, coming back and
   dropping in this same buffer did nothing
 * version --> 5.65

Francois VOGEL, 05/12/05
 * Added an identifier in front of each proc log entry, so that end of
   interlaced events can be easily related to their beginning
 * Timestamping in logs is accurate to the millisecond
 * Added global variable Tcl85 which is true if Tcl version is at least 8.5
   This is useful to prepare the transition of Scipad to Tcl/Tk 8.5. Currently
   Scipad works as well under 8.4 or 8.5, but certain options or commands
   available only in 8.5 are used when Tcl/Tk 8.5 is present
 * Partially fixed Tcl errors that popped when hammering Scipad during its
   launch from Scilab (fix is in scipad.sci)
 * Dnd bug fixed: When the NumLock mode is active, ctrl dnd did not work
   (issue was only on Linux)
 * Added automatic backup of files on file save, with configurable and saved
   depth of backups
 * Fixed: help (Ctrl-F1) on quotes works
 * Fixed: Ctrl-v copies inside the find/replace/filename dialogs, and replaces
   an existing selection (issue was only on Linux). The selected text can be
   copy-pasted outside by button-2 click. The entry boxes have -exportselection
   set to true again
 * version --> 5.66

Francois VOGEL, 08/12/05
 * Scipad is deiconified when called
 * "Bug fix", well it's a patch, from Allan/Serge to let Scipad to save a
   file in C:\Documents and Settings\<account>\My Documents (workaround for
   Tcl bug 1193497, whose existing patch is not yet applied to the Tcl cvs
   tree) - Fixes also part of bug 1146
 * version --> 5.67

Francois VOGEL, 09/12/05
 * Fixed bug reported in the newsgroup on File/Open followed by a double
   click on the file to open. References:
   http://groups.google.com/group/comp.soft-sys.math.scilab/browse_thread/thread/21cee717df71ab0/d5957386272e17b3
   http://groups.google.com/group/comp.soft-sys.math.scilab/browse_thread/thread/875daad29986228e/ae651d1a948ba67c
   More than one year later, I found that this is known in Tk as bug 943110...
 * DarkMagenta and darkred are not known under hpux11.11, therefore these
   colors become magenta4 and red4 (bug 1203)
 * ScilabEval command has quotes in proc selectprint_win in order to
   work with filenames containing white spaces
 * Added "sync" "seq" options to the initial ScilabEval ";" - this solves
   startup missing colorisation problems when issuing scipad some_file in
   Scilab
 * version --> 5.68 - This version comes with Scilab 4.0RC

Francois VOGEL, 22/12/05
 * Debugger: Cancel debug is allowed right after configure execution, and
   more generally from the "ReadyForDebug" state
 * Fixed: Running Configure execution on an empty file or a pure .sce file
   changed the debug state to "ReadyForDebug"
 * Fixed: Scilab comments and strings on continued lines are no longer
   colorized in schemes other than scilab
 * Fixed bug reported on double click in the file open dialog. This was
   already fixed in 5.68 but only in case the TkDnD package is present,
   which is not the case in Scilab 4.0 RC1
 * version --> 5.69

ES, 25/12/2005
 * no tk error, but a popup warning, when trying to open an unreadable file
   (should deal with all the instances of opening files, tested on linux
   only)
 * opensourceof dialog made resizable
 * version --> 5.70

Francois VOGEL, 29/12/05
 * Fixed bugs in the find in files results dialog:
    - Line number was wrong (one unit too small)
    - After getting the find in files results, delete a file containing a
      match, and try to show this match. The dialog pops up correctly about
      the nonexisting file: click no. The highlight was nevertheless done
      (on a wrong buffer)
 * Goto physical line in current file is preselected if no function was found
   in the opened buffers
 * Fixed endless loop in certain cases on Goto dialog opening (issue was in
   proc getallfunsintextarea), for instance when opening matsys.f, change
   scheme to scilab, then Ctrl-g: Scipad was stuck forever
 * version --> 5.71

Francois VOGEL, 30/12/05
 * Fixed some races on startup:
    - Ctrl-g followed by ctrl-y/m/M/d/D during Scipad startup throwed a Tcl
      error because the selection is owned by the goto box when the second
      event is fired
    - Ctrl-f followed by ctrl-r, or the opposite sequence, triggered another
      Tcl error because the second event was fired before the grab $find was
      reached
 * version --> 5.72

Francois VOGEL, 01/01/06
 * Fixed stupid error I introduced in 5.72: the find box could only be opened
   once in a Scipad session
 * version --> 5.73

Francois VOGEL, 10/01/06
 * Fixed (by JP. Chancelier): file rootname might return an empty string
   under cygwin - test added in menues.tcl
 * Fixed: Goto box did not want to open after having closed a file during
   its colorization. Scipad thought colorization was still in progress
 * Refined preselection of choices in the Goto dialog box
 * Fixed replace dialog bug: Clicking on "In selection only" or on "In all
   opened files" after having opened more than one buffer triggered a Tcl
   error
 * version --> 5.74

Francois VOGEL, 12/01/06
 * Debugger works again with functions whose definition logical line is
   splitted into many physical lines
 * version --> 5.75

Francois VOGEL, 15/01/06
 * Increased depth of constructs (brackets, braces) nesting for continued
   lines detection algorithm
 * Fixed: Update of continued lines background color when this color is
   changed was missing
 * version --> 5.76

Francois VOGEL, 20/01/06
 * Fixed: click on the first character of the selection inserted a copy of
   this selection in the buffer at the cursor place
 * Fixed: after doing a drag and drop (copy or move), if the user hit
   Ctrl-Button-1 and moved simultaneously the mouse to select some text,
   then the selection did not start at the cursor position. Instead, the
   selection started at the position where the cursor was just before the
   dnd
 * Log files can now contain Text class bindings through a new setting
   logTextclassbindings in scipaddebug1.tcl
 * version --> 5.77

Francois VOGEL, 22/01/06
 * Fixed bug 1161, partly in Scipad, partly in help_skeleton.sci
 * Fixed two different incorrect string colorizations:
    - a="hello""" +"world"
    - a="hello"""+"world"
 * version --> 5.78

Francois VOGEL, 01/02/06
 * version --> 6.0 - This version comes with Scilab 4.0 final release

ES 15/02/06
 *switchable emacs/mac-pc bindings. Currently the feature is disabled 
  (bindings are always pc) because emacs is not finished. The files are
  committed to allow simultaneous work on other features. Remove "-state
  disabled at line 290 of menus.tcl to make it work.
 *version 6.1

Francois VOGEL, 19/02/06
 * funcprot(0) is used to prevent function redefinition messages related
   to debugger sci files ancillaries (bug 1775)
 * Fixed bug 1792 (Linux/Windows different double click behavior), and added
   a saved preference for this setting
 * Fixed: Find in a single buffer and close the dialog. Switch to another
   buffer and hit F3. Wrong matches were found.
 * Fixed: When switching for 'colorize strings' to no single quotes string
   colorization, keywords, numbers, etc were not colorized properly because
   colorizestringsandcomments_sd was called in refreshQuotedStrings, i.e.
   only strings and comments were recolorized
 * Fixed: Colorization of strings for XML files was wrong because proc
   colorizestringsandcomments did always consider a scilab scheme
 * Colorization of xml files 10 times faster and corrected (xml tags can now
   contain spaces
 * Colorization can be switched on and off selectively in each buffer:
   Functions that make use of colorization results are disabled when the
   buffer is not colorized, i.e. :
     - goto line does not propose Scilab functions from a non colorized
       buffer
     - when colorization is switched off, the line number in the status bar
       is always the logical one (no line in function)
     - when colorization is switched off, the debugger configure box does
       not propose functions from non colorized buffers
 * Fixed two different incorrect string colorizations:
    - [q1,p1]=find(mat'=='[');  // transpose operator
    - a=["[";
         "]"];                  // quoted bracket or brace
 * Fixed: Undo/Redo after backspace or delete key could make the cursor jump
   in the buffer - the edit separator instructions were missing
 * Loosen debugger constraints wrt empty values for function parameters - see
   http://groups.google.com/group/comp.soft-sys.math.scilab/browse_thread/thread/ea4cc65bf1a79bc2/80f5f4896074fae2?hl=en#80f5f4896074fae2
     - varargin case:
       Function arguments are still passed by value, and order in the
       configure box matters
       (note: this is for the true varargin case, i.e. last argument is
       varargin, and there is no other argument named varargin)
     - no varargin case:
       Function arguments are now passed by name - order of arguments in the
       configure box does no longer need to be the same as the order of
       arguments in the function definition line
     - double varargin, ex. foo(a,varargin,b,varargin):
       This case is handled like Scilab handles it: the last varargin is
       ignored and the previous varargin is a normal argument
 * Proc dogotoline accepts the destination parameters as inputs. Simplified
   proc updateactbreakpointtag as a consequence
 * Speed up of proc getallfunsintextarea (up to 70 times faster, especially
   for large buffers containing many functions) by removing the need to use
   proc whichfun - Ditto for proc checkarglist
 * Slight speed up of proc whichfun
 * Fixed bug 1824: Speed up of proc colorize (approx. twice faster) and proc
   colorizestringsandcomments (hundreds times faster for long lines)
 * Increased increment for background colorization from 5 to 20 lines since
   colorization now uses regexp -all instead of .text search -regexp, which
   is faster because all the matches are returned at once. Colorization is
   now more efficient on larger chunks - balance with Scipad responsivity
   during colorization
 * User functions are gathered in the words and chset arrays in real time.
   This allows for colorization, shortcuts to jump to function definition
   line or to open source of..., and also completion with user function
   names
 * The watch window is deiconified on quick add watch
 * Scipad checks if execution of a script or a buffer did change the content
   of any already opened buffer and proposes to reload the file in this case
 * When switching scheme for new buffers the file extension is changed
   accordingly so that when scheme is xml, default extension proposed for
   saving a new buffer is .xml (and still .sce for other schemes)
 * Fixed: all the tk_optionMenu did miss their $menuFont on Scipad launch
   or after changing the locale
 * version --> 6.2

ES 20/2/2006
 * small fixes to problems created with the switchable bindings, which broke
   the commands Revert... and Open Function Source (hopefully doesn't break
   other menu commands and accelerators)
 * version --> 6.3

Francois VOGEL, 20/02/06
 * Fixed: A user function name starting at line 1 column 1 was not colorized
 * Fixed: msgcat collision between Windows menu entry (main menu bar) and the
   entry with same name in the Options/Double click sub-menu
 * version --> 6.4

ES 21/2/06
 * bug fixed: double-click on an unfocused split pane pasted wrongly the 
   selection inside the focused pane
 * removed some duplicate general bindings from emacs.tcl and mac-pc.tcl 
 * version --> 6.5

Francois VOGEL, 22/02/06
 * Fixed: Erroneous "Outside of function definition" message when jumping
   to an indented function
 * Fixed: Tcl Error 0 when trying to add varargin as watch variable - no
   error any more, but varargin cannot be watched (always $unklabel, i.e.
   <?> in the watch window)
 * Candidate fix for bug 1848 and bug 1853 and Tcl Error 0 when trying to
   open function source through the popup when Scilab is busy
 * version --> 6.6

Francois VOGEL, 25/02/06
 * Variable varargin can again be watched thanks to addition of a new option
   "nolocal" to the Scilab exists function - WARNING: works only with a cvs
   version dated 24 Feb. 06 or later
 * Fixed: Tcl Error 0 when trying to open function source through the file
   menu when Scilab is busy
 * F1, ctrl-F1, ctrl-P, ctrl-p display a busy message if Scilab is not idle
 * Rationalized tests on $sciprompt throughout the code, and added tests
   where they were missing (adding variables in the watch or configure box
   for instance)
 * version --> 6.7

Francois VOGEL, 28/02/06
 * Substituted the remaining obsolete Tcl instruction case by switch
 * Fixed: colorization was missing after undoing a change that did in fact
   not change the buffer content, e.g. Ctrl-a,Ctrl-c,Ctrl-v (no change here
   because the paste replaces the selection with the same text),Ctrl-v,
   Ctrl-z,Ctrl-z
 * Fixed: Edit/Select all did not update the menues contextually
 * version --> 6.8

Francois VOGEL, 05/03/06
 * Fixed a bug in Save as... - reorganized the save procs, but bug 1785 is
   still present
 * The status bar gets colorized in PeachPuff if at least one buffer is
   modified - useful in tile mode when a buffer is modified and focus is in
   an unmodified buffer, the user is aware that at least one file is modified
 * Added a "Save all" command (saves modified buffers only)
 * version --> 6.9

ES 05/03/06
 * fixed bug about keyboard bindings enabled/disabled contextually
 * version --> 6.10

Francois VOGEL, 05/03/06
 * Patch for saving in Windows special directories again active (forgot a
   comment sign in Scipad 6.9)
 * Fixed bug 1785
 * version --> 6.11

ES 06/03/06
 * procs CommentSel and IndentSel simplified, which removes two bugs relative
   to selections beginning or ending with empty lines, or ending after a 
   newline
 * version --> 6.12

Francois VOGEL, 06/03/06
 * fileunreadable extended to deal with files locked by another process,
   working around Tcl bug 1394972 (this bug was later marked as WONTFIX
   in the Tcl tracker)
 * version --> 6.13

Francois VOGEL, 12/03/06
 * The debugger can perform step-by-step (step into only, and only in opened
   buffers) - this is a brute force approach, breakpoints are set on every
   line of every function from every buffer, but this is the only way I
   found without Scilab team support
 * version --> 6.14

Francois VOGEL, 14/03/06
 * Impossible ScilabEvals better catched. bsiz (Scilab maximum buffer size)
   limit was already taken into account, now lsiz limit (maximum complexity
   of a command) is also tested
 * Worked around Scilab bug 1894
 * version --> 6.15

Francois VOGEL, 22/03/06
 * Proc openoninit renamed to openfileondisk and cleaned
 * Tuned a bit the look of the watch window, particularly when no pane is
   shown because it was slightly broken by the addition of the new buttons
   in 6.14
 * Scipad blinks double quotes (scilab scheme only)
 * Added missing bindings for parenleft bracketleft braceleft to blink them
 * The watch window can be always on top (setting added in the watch window,
   buttons become checkboxes to minimize space used) - Fixes request 261
 * Updated Scipad help page (mainly step by step new feature)
 * version --> 6.16

Francois VOGEL, 23/03/06
 * Fixed opening of the configure box or add argument box behind the watch
   window when the latter is always on top
 * No breakpoint can be set on a line that contains no executable code
 * Step by step (into) skips lines that does not contain executable code -
   This closes request 256
 * version --> 6.17

Francois VOGEL, 25/03/06
 * Breakpoint insertion takes care of continued lines: only the first
   physical line of a continued line is pink-ified
 * The debugger can perform step over, i.e. without stepping into deeper
   call stack levels
 * The debugger can perform step out, i.e. next stop is just after the
   current context has returned
 * Updated Scipad help page (again step by step new features)
 * version --> 6.18

Francois VOGEL, 26/03/06
 * Fixed a bug in dogotoline when going to an indented function
 * The debugger can perform run to cursor
 * Updated Scipad help page (run to cursor new feature)
 * version --> 6.19

Francois VOGEL, 30/03/06
 * Fixed a bug on step out when line to return to contains no executable
   code
 * version --> 6.20

Francois VOGEL, 02/04/06
 * Simplification of the step by step code since bug 1894 is fixed
 * Fixed: Scipad does no longer spit a "Scilab busy" message when quitting
   Scilab during a debug session
 * version --> 6.21

Francois VOGEL, 05/04/06
 * Fixed bug 1898: on Load into Scilab, the buffer is saved in a temporary
   file, therefore no popup to confirm save shows up
 * version --> 6.22

Francois VOGEL, 10/04/06
 * Beta implementation of .sce files debugging through automatic wrapping
   in a function - just a try!
 * version --> 6.23

Francois VOGEL, 18/04/06
 * Fixed: buffer was not detected as a mixed .sce/sci if the main level code
   was only located after the end of the last function definition
 * Fixed: debug state returns to NoDebug after a .sce debug session
 * version --> 6.24

Francois VOGEL, 19/04/06
 * Fixed: breakpoints can again be set during debug (was broken in 6.23)
 * Breakpoints cannot be set on lines pertaining to the wrapper code used
   for .sce files debug
 * version --> 6.25

Francois VOGEL, 20/04/06
 * Added an horizontal scrollbar in the watch window for variables values,
   as requested in the newsgroup
 * version --> 6.26

Francois VOGEL, 21/04/06
 * Fixed: Empty lines skipping failed when the debug command just switched
   the active buffer
 * version --> 6.27

Francois VOGEL, 28/04/06
 * Made use of TIP #231 implementation (Support for [wm attributes] on X11) in
   the context of the watch window being always on top - Uses the Tk85 global
   variable
 * Since Scilab is now distributed with Tcl/Tk 8.4.13 the patch enforced by
   the Scilab team in Scipad 5.67 has been removed (Tcl bugs 1193497 / patch
   1344540 are fixed, i.e. file writable is based on the ACL list on Windows
   directories instead of on the read-only attribute)
 * Fixed: Opening a file with Control-o inserted an empty line in the current
   buffer
 * version --> 6.28

Francois VOGEL, 05/05/06
 * Fixed: completion of keyword containing a % character inserted a ?? pattern
   instead of the percent followed by the next character of the keyword - this
   was due to wrong interpretation of the % character as a substitution char
   in the completion bindings
 * Fixed: clicking quickly on the scrollbar of the Open source of... dialog
   validated the currently selected item, which is not what was wanted
 * version --> 6.29

Francois VOGEL, 05/05/06
 * Fixed: user function names separated by a single character were not
   colorized
 * version --> 6.30

Francois VOGEL, 10/05/06
 * Fixed: scicos_blocks/*/lib keywords can be colorized, opened as source,
   and tab-completed on Windows (apparently only worked before on Linux)
 * version --> 6.31

Francois VOGEL, 25/06/06
 * Added an horizontal scrollbar in the watch window for variables names
 * version --> 6.32

Francois VOGEL, 26/06/06
 * Variable names area extend again when resizing the watch window, plus
   cosmetics about the checkable boxes
 * version --> 6.33

Francois VOGEL, 27/06/06
 * Removed erroneous double escaping of special characters in proc OKadda_bp
 * Worked around a bug in OKadda_bp: when the "Get current value from Scilab"
   box was checked, the watched variable value was not updated in certain
   cases - This is a ScilabEval "sync" parser issue (Bug 1086 like)
 * Removed duplicate -count Matchlength option in proc doonesearch (was not
   harmful)
 * Fixed hanging of Scipad when searching for a string whose match length
   is zero (e.g. regexp searching for ^) - This was partly Tk bug 1513517
 * Added a progress bar for replace all (long replaces look like hangs)
 * version --> 6.34

Francois VOGEL, 28/06/06
 * The debugger retrieves execution errors from Scilab, reports in the watch
   window, and blinks the offending line
 * version --> 6.35

Francois VOGEL, 28/06/06
 * Fixed f***ing line endings issues (hopefully)
 * Execution errors retrieved also on "Go on ignoring any breakpoint"
 * Changed formatting of the error message in the watch window, and added
   a bell
 * version --> 6.36

Francois VOGEL, 30/06/06
 * Better localized the strings from FormatStringsForDebugWatch and
   FormatWhereForDebugWatch, making use of msgcat and no more of the
   global LANGUAGE from Scilab (was eng and fr only)
 * version --> 6.37

Francois VOGEL, 02/07/06
 * Trimmed strings used in FormatStringsForDebugWatch
 * Prevented the user from debugging the debugger ancillary functions
 * version --> 6.38

Francois VOGEL, 04/07/06
 * Double-clicking in the call stack area jumps to the function and line
   number displayed in the clicked line - works both during debug and
   after an error, cursor changes shape while over a clickable line,
   clicked line blinks and target line as well
 * Added a vertical scrollbar for the call stack area of the watch
   window
 * Fixed a bug when trying to open function source of a scicos keyword
   through the popupmenu: the file did not open and the shell warned
   that it is not a libfun file
 * Rewrote proc blinkline in such a way that it uses a dedicated tag to
   blink lines instead of using the active breakpoint tag - now blinkline
   can be used during debug without destroying the active breakpoint 
 * version --> 6.39

Francois VOGEL, 07/07/06
 * Cosmetic changes in the call stack area of the watch window
 * More clever way of breakpointing for step into: instead of breakpointing
   all lines of all functions of all opened buffers, the debugger now
   breakpoints only the current context functions and the userfun
   ancillaries called by the function the debugger has currently stopped in.
   This contributes to limiting the number of breakpointed macros as well as
   the total number of breakpoints
 * Better performance while single stepping (avoid to rescan the buffers
   while skipping no code lines)
 * Added indicators of "debug complexity" showing how close the user is from
   the limits in number of breakpointed macros and in total number of
   breakpoints
 * Prevented the user from breakpointing the function declaration line - this
   is anyway illegal in Scilab since it would require to setbpt at line 0
 * The user can launch the debugger only when the file is a Scilab file and
   when this file is colorized
 * Fixed: actbptextFont was updated on font size change but was lost since it
   was not a global
 * Progressbars now have $textFont by default
 * version --> 6.40

Francois VOGEL, 15/07/06
 * The debugger automatically opens libfun ancillaries on step into
 * version --> 6.41

Francois VOGEL, 16/07/06
 * Fixed issue on stepping into calfrq (colorization must be done before
   displaying the buffer)
 * Clipped userfun tag length to 24 characters to match Scilab's limitation
 * version --> 6.42

Francois VOGEL, 18/07/06
 * One breakpointed macro counted in excess when the breakpoint was set on
   the last line of the macro
 * Button-2 release unbounded to the call stack widget (produced a Tcl error)
 * Scilab shell is forced at main level when entering the debug
 * Stepping deals with nested libfuns constructs, e.g. pmodulo(modulo()), the
   outer calls are no longer skipped by the debugger
 * version --> 6.43

Scilab operational team, 03/08/06
 * Changed directories to follow reorganization of the Scilab code
 * svn: eol-style property set to native
 * version --> 6.44 - First version following the reorganized code tree

Francois VOGEL, 21/10/06
 * Added a font chooser dialog in order to answer bug 2047
 * Find/Replace:
   . Added a message box in case $findreplaceboxalreadyopen == true (I
     suspect a bug: sometimes findreplaceboxalreadyopen is not reset to
     false when closing the find dialog)
   . Prevented button2copypaste from triggering in the find in files
     results window
   . Find/Replace box uses the selection to preselect the search string if
     this selection is less than one line
   . The cursor does no longer jump to the selection start when closing
     the dialog - better since now the last match is at the cursor position
   . Fixed Control-f bug: selection was erased on Ctrl-f, while it was kept
     using Edit/Search menu
   . Fixed: Closure of Scipad while find in files was running caused a Tcl
     error
   . The bindings in findreplace.tcl used for the F3 case and for find in
     files were cumulating and living in the textarea forever. This is no
     longer the case
   . Scipad rings a bell when find or replace wraps around (but not for
     replace all)
   . Fixed: there was a Tcl error when a file to search in could not be
     opened for reading. Error management on opening was wrong. This
     problem was present from the very first version of the find in files
     function (i.e. since Scipad 5.44)
   . Fixed duplicate binding Alt-c in Find box in french locale
 * Debugger:
   . Added a busy cursor set when the debugger commands are issued. This is
     especially useful when automatically stepping through no code lines to
     make the user aware that Scilab is busy
   . The watch window can now be docked inside the Scipad window (this was
     asked for in the discussion of request 261)
   . Fixed: the watch window did loose focus when "Hide..." was clicked
   . Fixed: breakpoint range for step into was wrong for functions included
     in mixed .sce/sci files
   . Fixed: closure of files during debug caused Scipad to spit a Tcl error
     on next step command
   . Fixed: Step over (F8) could step into libfuns (Shift-F8) when the call
     to the libfun was in a nested function in a mixed .sce/.sci file
     debugged as a .sci file with a wrapper function
   . (Almost) fixed: Step over could step into libfuns when the libfun was
     in a nested function whose calling function contained the same libfun -
     this still occurs when the libfun is in the calling line of the calling
     fun - let's live with it for the moment
   . Added underlines, keyboard shortcuts and usability bindings for the
     watch window buttons. Ditto for the configure dialog and add watch box
   . Removed the hardcoded size of the watch window that was used when both
     areas were hidden
   . Fixed Tcl error "invalid sash index" when changing the locale or fonts
     (or font size in older Scipad versions) while the watch window was open
     with variables zone or call stack area hidden
   . Fixed endless loop when configuring the debugger on a buffer containing
     unbalanced function/endfunction keywords
 * Made use of mcmax to homogenize the width of buttons in all the dialogs
 * Fixed: Trying to print a new file (Ctrl-n followed by Ctrl-p) produced
   an error in the Scilab shell
 * Fixed: A Tcl error could pop up when launching scipad with no filename and
   quickly opening a file through the file menu. This was because execution
   of dynamickeywords was not yet over when colorization started, thus
   resulting in Tcl errors such as can't read "words(scilab.scicos.c)". This
   synchronisation problem could also produce files that were not colorized
   in totality. Now $pad is withdrawn during Scipad's launch, and deiconified
   only when the complete startup sequence is finished - This fix is also
   included in Scipad 6.0.fix2 (BUILD4 branch)
 * Fixed: Colorization of XML files did not work correctly because the end
   bound for colorization was not properly derived - getendofcolorization
   and getstartofcolorization have been updated to deal specifically with
   the XML case
 * Added a message box for the user in proc highlighttextarea so that the Tcl
   error "invalid command name "none"" gets a chance to be fixed, since I
   could never reproduce it
 * version --> 6.45

Francois VOGEL, 22/10/06
 * Adjusted the directories in help file so that they match the new code tree
 * Factorized directory names creation in the Tcl code
 * Fixed bug introduced in version 6.44: forgotten directory change of scicos
   files for "open source of..."
 * Moved BUGS and CHANGELOG in SCI/modules/scipad
 * Fixed: button2copypaste was active in proc textbox, thus leading to a
   Tcl error on button-2 click
 * version --> 6.46

Francois VOGEL, 23/10/06
 * Fixed a visibility problem in the debugger when watching elements of
   array variables
 * The configure box does no longer pop up when there is nothing to
   configure, e.g. for a .sce file
 * Removed underlines in the docked watch window since the shortcuts are
   anyway inactive when docked
 * Fixed: changing locale while the watch window is open does no longer
   forget about the hide variables/hide stack status
 * version --> 6.47

Francois VOGEL, 29/10/06
 * Colorization of user functions does not need to be done for each
   replacement of a replace all, ditto for keyposn - speed improvement
 * Fixed: Tile all command did forget to colorize user functions
 * Fixed: Menu bar kept always the busy cursor during debug
 * Fixed: Situation: when the function to debug has one or more "nocode"
   lines after the function declaration and before real code lines, and
   after having debugged a file as a .sce. In that case, re-starting the
   debug with Shift-F8  did not stop in the function to debug
 * proc killwin renamed killscipad
 * version --> 6.48

ES, 30/10/06
 * small bugfix, tcl "Error:0" was popping up when attempting to run erroneous
   scilab code, causing error messages containing quoted strings: for instance
   TCL_EvalStr xx.
 * version --> 6.49

Francois VOGEL, 30/10/06
 * Compilation of Scipad's internal macros - Step 1
   . Shorten names so that they are at most 24 characters long:
     FormatStringsForDebugWatch -> FormatStringsForWatch,
     FormatWhereForDebugWatch -> FormatWhereForWatch
   . Moved ext_exists.sci and LocalizeForScipad.sci in a new directory
     scipad/macros/scipad_internals
 * version --> 6.50

Francois VOGEL, 30/10/06
 * Compilation of Scipad's internal macros - Step 2
   . Moved FormatStringsForWatch.sci and FormatWhereForWatch.sci in
     scipad/macros/scipad_internals
   . Removed proc getdebuggersciancillaries_bp (now useless)
 * TCL_EvalStr("set answ [...]");TCL_GetVar("answ") replaced by the use of
   the evaluation result of TCL_EvalStr (I implemented request 319)
 * Clarified obfuscated syntax in TCL_EvalStr, to ease maintenance:
   TCL_EvalStr("scipad eval {...}") becomes TCL_EvalStr("...","scipad")
 * version --> 6.51

Francois VOGEL, 30/10/06
 * Moved dynamickeywords.sce in scipad/macros/scipad_internals
 * Fixed: quitting Scilab during the debug in Scipad produced a strange
   error that was due to missing quotes in a ScilabEval
 * version --> 6.52

Francois VOGEL, 02/11/06
 * When Options/Backup files depth was set to 1, it saved 2 backups instead
   of one
 * Moved msgdiff.sci in scipad/macros/scipad_internals
 * Updated AddingTranslations.txt:
     . new directory tree
     . removal of length checks in dialogs (mcmax is now used since 6.45)
     . msgdiff.sci is now a compiled macro
 * version --> 6.53

Francois VOGEL, 05/11/06
 * Fixed two nasty cases where step over did actually step into
 * Fixed: Step out (Ctrl-F8) did not step out of the current function
   when this function was called by itself (recursive case)
 * Fixed: the busy cursor was still active in tearoff menues (same
   fix as for menubars in Scipad 6.48)
 * version --> 6.54

Francois VOGEL, 09/11/06
 * proc srevert (used in undo/redo) prepares use of string reverse (TIP #272)
   for when Tcl 8.5 will be available
 * Outside of scipad: better help for the debugger. help debug now points
   at help scipad
 * Added a popup menu providing a list of ready cooked regexps for the
   find/replace dialog
 * version --> 6.55

Francois VOGEL, 12/11/06
 * Improved aesthetics of the find/replace dialog (labelframes and more)
 * Added find/replace among tagged text only, e.g. among comments
 * version --> 6.56

Francois VOGEL, 14/11/06
 * Fixed: During a replace session, the sequence Find Next, Replace, Find
   Next, followed by a change in an option, e.g. Match whole word,
   followed by Replace triggered a Tcl error
 * More ergonomic: After a replacement is done, the next match is
   highlighted
 * version --> 6.57

Francois VOGEL, 15/11/06
 * Fixed bug 2217 (Scipad window large size on relaunch when Scipad was
   quit while zoomed, i.e. maximized) - This fix is also included in
   Scipad 6.0.fix2 (BUILD4 branch)
 * version --> 6.58

Francois VOGEL, 16/11/06
 * Fixed bug 2226 (concurrent launch of several Scipads by clicking
   quickly on the Scilab "Editor" menu, or Scipad icon)
 * De-tab-ified scipad.sci, and removed unnecessary global TMPDIR
 * version --> 6.59

Francois VOGEL, 17/11/06
 * Fixed debugger bug arising from the recent fix in the error handling
   in Scilab (SVN trunk commit # 13662) - previously the errcatch mode
   was lost every time Scilab entered a pause mode, now this is fixed and
   the error must be cleared in function ext_exists
 * Find/Replace rings a bell when there is no more matches
 * version --> 6.60

Francois VOGEL, 20/11/06
 * Added underlined numbers in the Windows menu, so that the buffers can
   be accessed by Ctrl-[1-9] as shortcut - this was request 342
 * Fixed: disable/restoremenuesbinds did only deal with the three first
   entries of the Windows menu
 * Fixed: when the mouse was hovering over a separator entry in the
   Windows menu, the showinfo did erroneously display the last entry of
   the menu
 * Added an option menu about the sorting of the buffers in the Windows
   menu. Possible options are to sort by opening order (which is the way
   it was previously), or to sort alphabetically, or by MRU (Most Recently
   Used) file, based on the last saving time
 * version --> 6.61

Francois VOGEL, 22/11/06
 * Fixed: Saving a buffer did not update the windows menu order (there is
   a change when sorting by MRU)
 * Fixed all "modselection bugs" I'm aware of:
   . proc selectline, Un/IndentSel and Un/CommentSel use only the sel tag
     of the text widget, and no longer the X selection
   . no selection glitches any more (use of marks and code factorization)
   . Ctrl-d (Indent) with a selection starting in the middle of a line now
     indents the first line from column 0 instead of from the insert point
   . Ctrl-m (Comment) without selection now inserts // at the insertion
     point (and no longer at the beginning of the line)
   . Unindenting a line with leading tabs does now properly unindent
   . The indentation scheme takes into account the "Tab inserts..." settings
     from the option menu. Previously indent/unindent always used spaces.
     Now indentation uses tabs instead when "Tab inserts spaces" is
     unchecked
   . Ctrl-d (Indent) removes leading tabs before inserting spaces, and vice
     versa (useful when reindenting text that was indented with the "wrong"
     character)
 * Removed useless proc scipadindent, as well as the "indentation" and
   "text" tags
 * Added a saved preference in the option menu to set the size of the tabs
 * Pushed the maximum number of recent filenames in the file menu (15, 20 or
   even 50 items now allowed)
 * version --> 6.62

Francois VOGEL, 26/11/06
 * Fixed bug 2239: cursor blink now stops before typing a character, and is
   restored afterwards
 * The textarea itself is now destroyed when closing a file
 * version --> 6.63

Francois VOGEL, 27/11/06
 * Fixed IndentSel bug: when the selection contained only the leading blanks
   of a line and Ctrl-d was hit, a Tcl error did pop up in apply_RE_to_sel_text
   because the selection had collapsed after the first call to this proc
 * Fixed: only one undo action is now needed to undo indentation
 * Added smart indentation (i.e., for automatically indents the next line, end
   automatically indents back, etc) - just a try for the moment, with a saved
   preference in the option menu
 * version --> 6.64

Francois VOGEL, 01/12/06
 * Ctrl-F6/Ctrl-F7 now switch visible buffers only. F6/F7 still switch all
   the buffers. This was discussed in request 349
 * opensourceof dialog resizes nicer: buttons never disappear, entry field
   fills all the available space
 * version --> 6.65

Francois VOGEL, 09/12/06
 * Fixed: On Windows, opening files and then closing one of them did prevent
   from selecting the remaining ones in the windows menu. This is Tk bug
   1224330, that was fixed in Tcl/Tk 8.4.14 and Tcl/Tk 8.5a5. Scilab now
   comes with 8.4.14 on Windows, therefore this is closed.
 * Changed all occurrences of index 0.0 in text widgets since lines are
   numbered from 1 according to the Tcl/Tk help
 * Rationalized the tests on the existence of a selection in a textarea
   throughout the code. Removed all uses of the X selection, except where
   appropriate i.e. in proc button2copypaste
 * Added a Pause button in the find in files results window
 * version --> 6.66

Francois VOGEL, 13/12/06
 * Fixed: Trying to open the replace dialog during the debug did correctly
   fail, but then this dialog could not be opened later, even after the debug
   was aborted
 * Fixed: clicking in the textarea could hide the cursor outside of the
   visible part of the buffer (added $w see insert in Button-1 binding)
 * Scipad uses the new VERSION file to retrieve its version number (the
   svn revision number is not yet used)
 * version --> 6.67

Francois VOGEL, 21/12/06
 * Fixed Tcl error "couldn't compile regexp" in blinkbrace when typing ^(
 * Added multiple file open in the file dialog, even if Tk bug 1614032
   (tk_getOpenFile -multiple 1 is wrong with directories on Linux) is in
   the way
 * version --> 6.68

Francois VOGEL, 22/12/06
 * Windows shortcuts are detected during the file open process, and are
   no longer opened in Scipad
 * version --> 6.69

Francois VOGEL, 26/12/06
 * Improved the fix of Scipad 6.67 about cursor visibility (clarified
   behavior of TextClosestGap in Tk)
 * Fixed: Dropping a zero byte file onto Scipad produced a Tcl error
 * Fixed: After find in files, open a match, and select in Scipad the first
   character of the line where the match was found, the next button-1 click
   duplicated the line. This was a very tricky (but correct) percent
   substitution behavior in the bindings that erase the foundtext tag from
   the textarea. This issue was introduced in Scipad 5.33
 * Fixed: Open the find dialog and toggle twice the "In a directory" checkbox.
   Then the state of the Text types area was not updated (it should be
   disabled and not normal)
 * Find in files tells how many files were searched
 * Find in files highlights the matched text in the matching line displayed
   in the results window
 * Find in files can search also in hidden files
 * Scipad can be launched even if the msgcat package is missing. This is
   useful in the Tcl/Tk8.5 context for experimenting, see
   http://wiki.scilab.org/Linking_Scilab_with_Tcl/Tk_8.5
   Note that named labels such as aboutme_message do not get an english
   fallback when msgcat cannot be found, and this is somewhat ugly
 * version --> 6.70

Francois VOGEL, 01/01/07
 * Pushed copyrights to 2007
 * Fixed wrong syntax for Tcl instruction scan throughout the code
 * version --> 6.71

Francois VOGEL, 05/01/07
 * First Scipad version making peer text widgets available, so that the user
   can view two different parts of the same text buffer at the same time.
   This is working either in standalone mode (Scipad launched in wish85),
   or from Scilab linked with Tcl/Tk 8.5. For the latter, see
   http://wiki.scilab.org/Linking_Scilab_with_Tcl/Tk_8.5
 * Removed spaces and tabs from empty lines throughout the Scipad codebase
 * Fixed: Hidden files could be opened in Scipad but could not be saved with
   the same filename. This was Tcl bug 1622579 (the open command fails to
   open hidden files for writing), that was actually not a Tcl bug after all
   and has been closed as WONT FIX in the Tcl tracker
 * Workaround hack for Tk bug 1169429 not used in proc dostopcursorblink
   when Tk 8.5 is used (hack kept for 8.4)
 * Proc closecur called instead of closefile when clicking on the "Close"
   button of a tile, which makes closability checks be run first
 * Fixed: Trying to open an nonexisting file through the MRU list of the file
   menu popped a Tcl error because proc iswindowsshortcut tried to open the
   file without checking its existence
 * Fixed: proc changedmodified could be launched with a non-textarea input
   argument
 * version --> 6.72

Francois VOGEL, 09/01/07
 * Added tooltips displaying the full filename of the file packed in the
   buffer whose title is currently hovered (only when filenames display
   type is not "Full path")
 * Fixed the bad fix for hidden files introduced in 6.71. When saving, the
   files must actually be truncated. The workaround for overwriting hidden
   files is to delete them first
 * version --> 6.73

Francois VOGEL, 10/01/07
 * Optimized loops on $listoftextarea to avoid unnecessary work on peers
 * Fixed textarea jump when switching to another one when the cursor is not
   visible in the leaved textarea
 * First tests of debug with peers (OK)
 * version --> 6.74

Francois VOGEL, 10/01/07
 * Better fix for saving over hidden files (6.73). The hidden attribute is
   removed, the file is saved, and the attribute is set back
 * Tk 8.5: Added commands in the windows menu to distinguish split tile (and
   pack a hidden buffer, or create a new empty buffer), from split file (and
   create a new peer)
 * After closure of peers, the last remaining peer now properly looses its
   peer identifier in the displayed name
 * version --> 6.75

Francois VOGEL, 12/01/07
 * Separated functions Close File and Close Tile: File/Close closes the
   file, i.e. the current textarea but also all its peers, whereas the Close
   button of a tile closes this tile only, i.e. the current textarea (which
   might result of file closure if the closed tile was the last peer). This
   distinction is apparent with Tk 8.5 only
 * Confirmation for saving is not asked when closing a tile if there is any
   remaining peer of this tile
 * Added a Hide button in tiles: this is purely unpacking of the textarea,
   which is not closed
 * Added tooltip for the Close and Hide buttons of tiles
 * Proc montretext changes name to become proc showtext
 * version --> 6.76

Francois VOGEL, 18/01/07
 * Fixed Tcl error popping up when cancelling a save on buffer close
 * First Scipad version with line numbers in the textarea margin (request
   138)
 * version --> 6.77

Francois VOGEL, 19/01/07
 * Fixed: Undo/Redo did not update the line number margin when the undo or
   redo action did not modify the scrollbar size
 * Fixed: When creating peers, Scipad does no longer ask the confirmation
   question for colorizing large files
 * Line numbers in the margin are now compatible with word wrapping
 * Great performance improvement when updating line numbers
 * Huge performance improvement in colorization, continued lines tagging,
   and functions identification (30% faster), and in some other areas as
   well, just by bracing all Tcl expr - see the magic arcane at
   http://wiki.tcl.tk/10225
 * Pushed size limit for colorization question from 100 kb to 130 kb
 * version --> 6.78

Francois VOGEL, 20/01/07
 * Fixed: line numbers disappeared when there was no wrapping mode set and
   the x scrollbar was not completely to the left
 * Fixed: line numbers could be scrolled by clicking in the area and using
   the mouse wheel
 * Fixed: With Tk 8.5 the text widget scrolls smoothly, while with Tk 8.4
   it scrolls by line increments. This required a slight scrolling of the
   line numbers margin to always align it perfectly with the textarea
 * version --> 6.79

Francois VOGEL, 23/01/07
 * Fixed Tcl error when opening one of the info boxes from the help menu
 * Fixed: Line numbers margin does no longer scroll when dragging outside
   of Scipad with mouse button-1 down
 * Horizontal scrollbars are automatically removed when wrapping lines since
   they are useless in this mode
 * version --> 6.80

Francois VOGEL, 27/01/07
 * First Scipad version with block selection (request 179). Features supported
   with block selection:
     . word wrap (automatically temporarily disabled during selection action)
     . cut/copy/paste
     . comment/uncomment
     . indent/unindent
     . find/replace (in block selection)
 * Binding for openlibfunsource is now Shift-Control-Button-3 instead of
   Shift-Control-Button-1
 * proc srevert (used in undo/redo) really uses string reverse (TIP #272)
   if Tcl 8.5 is found (this was prepared in Scipad 6.55)
 * version --> 6.81

Francois VOGEL, 29/01/07
 * Chinese translation added, all msg files are now in UTF-8 encoding to be
   able to handle chinese characters
 * version --> 6.82

Francois VOGEL, 30/01/07
 * Block selection available also when tkdnd package is not found
 * Fixed: correct line ending characters when cutting or copying a block
   selection
 * Added Scipad version number in the title bar
 * version --> 6.83

Francois VOGEL, 01/02/07
 * Fixed Tcl error when hitting Shift-Control while a normal selection
   had been started
 * Better intuitivity in block selection by making use of a bulletproofed
   TextClosestGap function from the private internals of Tk (with a fallback
   using only public interface functions in case the private function
   changes)
 * Control-Button1 outside of a selection has the same behavior with or
   without the tkdnd package: delete selection and move cursor to the
   clicked location
 * version --> 6.84

Francois VOGEL, 04/02/07
 * Better block selection process, more pixel-like, and now more compatible
   with tabs, non fixed width fonts, and empty lines as well
 * version --> 6.85

Francois VOGEL, 04/02/07
 * The insertion cursor should no longer be seen after the end of the block
   selection
 * A single selection returned by proc gettaseltext could be braced, thus
   causing some troubles with execselection or helpword for instance. The
   way the selection text is built and returned has been changed to fix
   this issue
 * version --> 6.86

Francois VOGEL, 07/02/07
 * Fixed nasty substitution needs in proc scilaberror (Tcl special characters
   need to be escaped in the error string)
 * Fixed overzealous selection of the entire line when this line is shorter
   than the block margin (block selection)
 * Really, this time the cursor should no longer be after the end, nor inside
   the block selection
 * version --> 6.87

Francois VOGEL, 08/02/07
 * Added missing continuation antislashes in proc scilaberror
 * Fixed yet another glitch with block selection: when one line ends exactly
   at the left column of the block, the \n was not selected
 * Added dnd support for block selection (move and copy modes, without any
   new binding)
 * Execute selection supports block selection
 * version --> 6.88

Francois VOGEL, 11/02/07
 * Fixed stupid error in Find/Replace introduced in Scipad 6.88
 * First implementation of block paste, to be continued
 * version --> 6.89

Francois VOGEL, 12/02/07
 * Fixed issues with the last line of the block selection
 * Fixed wrong block selection of first or last visible line of the textarea
   when the mouse goes out of it
 * Changed insertion cursor positioning scheme during a block selection
 * Block paste can paste empty lines
 * version --> 6.90

Francois VOGEL, 15/02/07
 * Fixed a block paste glitch related to pasting at the end of the buffer
 * Fixed a block selection glitch: when selecting from farther than the
   middle of the line, then empty lines could be missed in the selection
 * Loosened constraint on breakpointable lines: overzealous fix was
   introduced in 6.40
 * Fixed Tcl error that popped up when configuring the debug as .sce and
   then immediately cancelling the debug
 * version --> 6.91

Francois VOGEL, 20/02/07
 * Shortened the name of certain variables of the debugger that produced
   truncation warnings in Scilab since Scilab now warns the user about
   names having more than 24 characters
 * First implementation of block cut
 * dnd uses block paste when moving or copying a block selection, the drag
   source being the same buffer as the drop target or not
 * version --> 6.92

ES 21/2/07
 * locale names in their native language, in the file $msgsdir/localenames.tcl
 * version --> 6.93

Francois VOGEL, 21/02/07
 * Fixed a block cut bug when the block selection starts column 1 and includes
   empty lines
 * dnd uses block cut and block paste when moving or copying a block
   selection, the drag source being the same buffer as the drop target or not
 * version --> 6.94

Francois VOGEL, 24/02/07
 * Rewrote proc fileunreadable and created proc fileunwritable to work around
   Tcl bugs with file readable (1394972 and 1613456) and file writable
   (1613456), and Scilab bug 2243 and 2319
 * Fixed missing colorization after cut, block cut, or dnd move when these
   commands were acting on a block selection
 * version --> 6.95

Francois VOGEL, 28/02/07
 * Worked around an old Tcl bug with glob -tails that does not work with
   Tcl/Tk 8.4.1 embedded in some cygwin versions
 * Added missing translation for line numbers foreground in eng.msg
 * Shortened the name of certain variables of the debugger that produced
   truncation warnings in Scilab since Scilab now warns the user about
   names having more than 24 characters
 * Improved line numbers alignment during debugger use
 * version --> 6.96

Francois VOGEL, 20/03/07
 * Extended XML scheme to .xsd and .dtd files
 * Fixed bug 2334: line numbers display bug that showed up on Suse Linux
   because on this platform [lindex [$ta dlineinfo @0,0] 1] is 2 instead of 1
 * Cleaned proc updatelinenumbersmargin
 * Fixed bug 2335: binding bug with Ctrl-4 and Ctrl-5 (Open in new...)
 * The first debug command to be issued now execs any non level zero code from
   all Scilab buffers (provided they are colorized), instead of only the
   current one and the one containing the configured function. This allows to
   debug as .sce (i.e. with no wrapper function) mixed .sce/.sci files
   containing a level zero call to a function defined in that same buffer, for
   instance dynamickeywords.sce
 * Fixed update of the scrollbars by textareas that are no longer displayed:
   the -x/yscrollcommand must be emptied when the textarea is unpacked
 * Added duplicate function definition check/warning in the debugger
 * version --> 6.97

Francois VOGEL, 08/04/07
 * Find in files raises the find results window when a new find in files
   starts
 * New feature for the debugger: Run to return point. This was asked in the
   newsgroup: http://groups.google.com/group/comp.soft-sys.math.scilab/browse_frm/thread/c482b4e4986a9282
 * version --> 6.98

Francois VOGEL, 15/04/07
 * The debugger shows a new icon from Enrico for "Run to return point"
 * Fixed: debugging as .sce, when running to return point, one line above the
   correct line (which is the last executable line from the buffer, excluding
   the wrapper) was breakpointed
 * Fixed the non detection of the end of debug when "Run without any
   breakpoint" was called (only execution errors were checked, but the end of
   the debug was not detected, thus no cleanup (.sce wrapper stays), and a
   messed up debug state remaining)
 * version --> 6.99

Francois VOGEL, 24/04/07
 * The watch window displays the type (including real/complex if appropriate)
   and size of each watched variable in a tooltip
 * version --> 6.100

Francois VOGEL, 30/04/07
 * Added the Break command in the debugger since I fixed bug 2384 (outside of
   Scipad ; ScilabEval sync seq execution was interruptible in the Scilab
   parser)
 * Availability of the Break command depends on the flag bug2384_fixed
 * version --> 6.101

Francois VOGEL, 01/05/07
 * Fixed sync issues (colorization, version number display) when launching
   scipad afile.sci
 * Removed the workaround in proc OKadda_bp since ScilabEval sync works as
   expected (bug 2384 fixed) - This depends on the flag bug2384_fixed
 * version --> 6.102

ES, 01/05/07
 * scipad(dirname) opens a file chooser, starting in directory dirname
 * version --> 6.103

Francois VOGEL, 01/05/07
 * Fixed the non stopping of the debug on Break in some cases
 * Reverted to not using getonewatchvarfromshell with sync in proc OKadda_bp
   because sync does sometimes not return the variable value (visibility issue
   in a sync parser - not clear) - anyway, the previous (<= 6.101) scheme
   works: use seq and force the update of the watch window
 * Added a try/end structure in proc setScipadVersionString to ease future
   backporting work
 * De-tab-ified a bit
 * version --> 6.104

Francois VOGEL, 05/05/07
 * Fixed: when execing a .sce buffer during the configuration step failed
   (e.g. because of a syntax error), Scipad tried nevertheless to launch the
   debug
 * Filtered lines of the .sce debug wrapper when saving during debug
 * "Go on without any breakpoint" waits for end of execution of the debugged
   script before resetting the debugger state. "Break" can therefore be used
   in that situation too
 * version --> 6.105

Francois VOGEL, 07/05/07
 * Fixed: Cancelling find in files during the file list construction did not
   enable the close button of the search results window, and there was
   therefore no means for closing this window
 * Added a control in the watch window to gear in an automatic mode for
   displaying the local variables
 * The ans variable cannot be watched (see rationale in proc addlocalsinwatch)
 * version --> 6.106

Francois VOGEL, 08/05/07
 * Created a list of unwatchable variables in db_init.tcl, so that they are
   in a single place, along with the corresponding rationale about why they
   cannot be watched
 * Run to return point icon and menu item is greyed when scheme is not
   "scilab"
 * Auto watched variables are no longer updated while skipping no code lines,
   thus improving a bit the performance
 * Added better display in the debugger for non editable variable types
 * version --> 6.107

Francois VOGEL, 12/05/07
 * Size implicit indices (type 129) are displayed in details in the watch
   window
 * Matlab sparse matrices (type 7) are watchable
 * Fixed: the watch variables must not be sent (written) to Scilab when
   skipping no code lines (they were already no longer read since 6.106)
 * Fixed: when only non editable variables were watched, the only way to add
   a watch variable was to remove all the non editable variables, then add
   the new variable and re-add the removed ones
 * The listboxes in the watch window and configure box have always an item
   selected (when not empty). They must have -exportselection 0, otherwise
   their selection gets lost when the Add arg box is opened
 * Catched the bubble information display for watch variables: the information
   to display in the tooltip might not yet be available (because watch
   variables can be added in any debugger state but their values and types are
   only updated in "DebugInProgress" state)
 * Scipad no longer flashes on executing the first debug command (was due to
   the temporary buffer packing the time needed for execing it)
 * scipad.xml: simplified the calling sequence and added a note about the
   watching capabilities of the debugger
 * version --> 6.108

Francois VOGEL, 14/05/07
 * Added auto watching of global variables - globals are not editable
 * Long ScilabEvals no longer display a "mode(-1);" in the shell
 * Removed the catch for the bubble information display for watch variables:
   better correctly initialize the missing information...
 * Better (16 times) performance in proc dogotoline when going to logical line
   numbers in functions - Significantly improves the performance when updating
   the active breakpoint tag during a debug session
 * version --> 6.109

Francois VOGEL, 28/05/07
 * Fixed: Variables having special characters (especially $) in their names
   can be watched
 * Fixed: The global variable $ was always auto watched when debugging a .sce
   script because $ was used in the wrapper code. This has been fixed without
   preventing from watching the real $ if needed (fixed by Enrico)
 * $env(SCIINSTALLPATH) replaces $env(SCIPATH) which was set outside of the
   scipad module in SCI/modules/tclsci/tcl/TK_Scilab.tcl - its value is the
   SCI value. Now env(SCIPATH) is no longer used in Scipad and the new
   env(SCIINSTALLPATH) is defined in scipad.sci in order to better separate
   the tclsci module and the scipad module
 * version --> 6.110

ES 30/5/07
 * visual indicator of the scilab busy status in the main window 
  ($pad.statusmes color) and in the watch window
 * the state of the debugger is now reflected in the color of $pad.statusind2
 * version --> 6.111

Francois VOGEL, 03/06/07
 * Added missing default fallbacks to be used when the msgcat package is not
   present (Scipad couldn't start without them)
 * In the watch window, the debug state and the Scilab busy state are now
   reflected in a canvas containing an image
 * Huge performance improvement and rework in FormatStringsForWatch (by Enrico)
 * version --> 6.112

Francois VOGEL, 17/06/07
 * Minor changes for the initial directory area of the find in files dialog:
     . the previous value is remembered if the user clicks on Cancel in the
       directory selection box
     . the directory entry field is a dnd drop target for text/plain content
 * Worked around two different Tcl errors in proc button2copypaste arising
   because of Scilab bug 1544
 * Fixed Step Out not stepping out of recursive functions
 * version --> 6.113

Francois VOGEL, 18/06/07
 * Correct binding to $Shift_F11 (instead of <Shift-F11>) in db_states.tcl (by
   Enrico)
 * Run to return point (Shift-F11) works correctly with recursive functions
 * version --> 6.114

Francois VOGEL, 26/06/07
 * Fixed Tcl error when calling the Replace dialog box (introduced in 6.113)
 * Editability of watch variables is now set in function FormatStringsForWatch,
   which fixes the watching of strings containing << or >>
 * watchvarsvals and watchvarstysi reworked in a multidimensional array named
   watchvarsprops that contains also the editability flag
 * Fixed: Closing and reopening the watch window deleted all the watch
   variables (this bug was introduced in 6.106)
 * version --> 6.115

Francois VOGEL, 30/06/07
 * Fixed: The configure box opened iconified when the watch window was open
   and iconified
 * Fixed: Watching a string containing $unklabel didn't work
 * Non editable watch variables have their background greyed
 * Watch variables whose value changed since last debugger stop are displayed
   in red (declutters the watch window when watching many variables, such as
   when in auto mode)
 * Fixed: (non auto) watch variables are updated at the end of the debug
 * version --> 6.116

Francois VOGEL, 02/07/07
 * Further colorization of the watch variables
 * The debugger detects unterminated functions (missing endfunction) and
   prevents the debug launch when one such function definition is found.
   The relevant message box is much clearer than before
 * version --> 6.117

ES, 11/7/07
 * ensured that all files work in the BUILD_4 branch too (though dispatched
   to different directories). A common codebase eases eventual backports.
 * version --> 6.118

Francois VOGEL, 22/07/07
 * Fixed selected watch variable font colorization
 * Added a mode toggled by the Ins key in which characters replace the existing
   ones. Visual indicator of this state is the text cursor becoming a block
   cursor. Works with Tk8.5 (use of .text replace from TIP 155, see
   http://www.cs.man.ac.uk/fellowsd-bin/TIP/155.html), and also with Tk8.4 by
   emulation of the .text replace command
 * version --> 6.119

Francois VOGEL, 22/07/07
 * The -blockcursor option is used with Tk 8.5 for the replace cursor
 * The replace mode is binded to both Insert and KP_Insert
 * version --> 6.120

Francois VOGEL, 23/07/07
 * Binding of the replace mode to the non-existing KP_Insert keysym removed
 * version --> 6.121

Francois VOGEL, 27/07/07
 * Added bindings for keypad keys in Linux (by Enrico)
 * Simplified scipad.sci to avoid yet another difference between the BUILD_4
   branch and the trunk (by Enrico)
 * Revised fr.msg and added missing accents since Tk bug #1638905 (which is
   a duplicate of #1599877) is fixed in both 8.4.15 and 8.5a6 versions of
   Tcl/Tk, and Scilab is now delivered with Tcl/Tk 8.4.15
 * version --> 6.122

Francois VOGEL, 12/08/07
 * Fixed the broken 8.4 fallback emulating a basic -stretch always option
   (proc spaceallsasheskeeprelsizes) - Was broken since 6.78
 * When using the Break command in the debugger, Scilab could stop on a nocode
   line (a line containing only a comment for instance). If at this point
   a variable was modified in the watch window by the user, it was not taken
   into account by Scilab when resuming execution but its current value in
   Scilab was restored. Now the Break command skips nocode lines like the
   other debugger commands
 * Fixed error in proc setwingeom - note that this proc must be called after
   the content of its toplevel argument has been created
 * version --> 6.123

Francois VOGEL, 16/08/07
 * Fixed: "Auto watch globals" checkbox is disabled when the watch window
   is opened if the "Auto watch locals" checkbox is unchecked
 * Added a new maskable pane in the watch window for generic expressions
   watching - the expression may be anything, e.g. graphical command, so
   that an array can be plotted at each debugger stop
 * version --> 6.124

Francois VOGEL, 17/08/07
 * Changed the title of the Add dialog when called for a generic expression
 * Removed double evaluation of the generic expressions when using the
   Break debugger command
 * Performance: the watch variables values are not updated and the generic
   expressions are not evaluated when skipping nocode lines (this was anyway
   useless)
 * De-clutter: Added a checkbox allowing to hide errors from generic
   expressions instead of displaying them in the shell
 * version --> 6.125

Francois VOGEL, 20/08/07
 * Scipad shows the Tcl/Tk version in the About box
 * Fixed wrong detection algorithm of non debuggable functions (Scipad
   ancillaries), and added a message box to inform the user
 * Polished the list of non debuggable functions
 * Added Shift bindings to the generic expressions buttons, active when
   the watch variables and generic expressions areas are both visible
 * version --> 6.126

Francois VOGEL, 24/08/07
 * The message box displaying execution errors can be turned off - This is
   a newsgroup request, see:
   http://groups.google.com/group/comp.soft-sys.math.scilab/browse_thread/thread/5114c502b986bbf0/
 * version --> 6.127

ES, 26/08/07
 * added an emulation of gettext() in msgdiff.sci, for backporting to BUILD_4
 * version --> 6.128

Francois VOGEL, 29/08/07
 * Worked around the old Tk bug 1236306 (still not fixed after all) when
   closing the watch window with an Alt shortcut
 * Fixed: the error that may result from watching a generic expression is
   cleared so that it is not reported at the end of the debug
 * Fixed: Opening a textbox (e.g. "Changelog") and hitting the Return key
   when the text widget has focus produced a Tcl Error
 * version --> 6.129

ES, 03/09/07 
 * Backport to BUILD_4
 * Version -->  6.129BP1

ES, 2-17/9/07
 * de, it, no translations updated, and zh_cn added
 * bugs about \"' solved in msgdiff.sci 

Allan Cornet, 15/10/07
 * restored correct resolution of windows pathnames (was mistakenly
   broken in 6.122, and affected for instance opening a file in scipad
   by double-clicking on it) [from ES]

Pierre Marechal [from FV], 23/10/07 
 * push version to BP2 in helps.tcl
 * update comments in scipad.sci
 * version --> 6.129.BP2
