1 Sylvestre LEDRU, 25/06/09
2 * Catalan version added (thanks to Oriol Gonzalez)
5 Scilab operational team, 27/03/09
6 * Patch to not use ScilabEval synchronously
9 Francois VOGEL, 30/01/09
10 * Fixed bug 4038 (-->scipad;scipad;) by re-adding code mistakenly removed
14 Francois VOGEL, 23/01/09
15 * Fixed bug 3997 (Goto line in function jumps to the wrong line number)
16 * Fixed bug 3998 (Goto line dialog is not application modal)
17 * Removed code useless since at least Scipad 5.21 (19 July 2005) - The pad
18 variable is always unset in proc killscipad when exiting Scipad
19 * Fixed bug 4011 (Tcl error at Scipad startup when quickly opening files)
22 Francois VOGEL, 18/01/09
23 * Fixed bug 3978 (executing script with errors from Scipad hangs Scilab)
24 This bug was affecting Linux only and was introduced in Scipad 7.13 when
28 Francois VOGEL, 17/01/09
29 * The fix for bug 3882 (Scipad 7.12) was not enough with Tcl/Tk 8.5 due to
30 a design change (see TIP #146)
33 Francois VOGEL, 11/01/09
34 * Selection of the file encoding is now possible through a new option menu,
35 with an MRU list of encodings, and auto-detection of encoding for XML files
36 (this is a request from Yung-Jang Lee)
37 This is the implementation corresponding to SEP#12_V2.1
40 Francois VOGEL, 06/01/09
41 * Fixed Scipad part of bug 3407 (Scilab 5 returns physical line numbers in
42 lasterror while Scilab 4 and Scilab-gtk return logical line numbers)
43 * Pushed copyrights to 2009
46 Francois VOGEL, 22/12/08
47 * Fixed bug 3882 by using the grid geometry manager instead of pack in
48 certain cases - See also:
49 http://groups.google.fr/group/comp.lang.tcl/browse_thread/thread/dfb592a3c9335b38
52 Francois VOGEL, 13/12/08
53 * Fixed bug 3806 (drag and drop fails because package tkdnd is not found)
54 * File/Revert did not update the readonly flag. Reverting to the saved state
55 of a buffer while the readonly flag of the file on disk has changed since
56 last read therefore ended up in wrong [ReadOnly] information in the title
58 * Scipad automatically detects properties changes such as modification of the
59 readonly flag outside of Scipad
60 * Added -parent option to tk_messageBox to make it modal everywhere an
61 acknowledgement or an answer is requested from the user. Without this,
62 it was possible to let the message box open while continuing fiddling with
63 Scipad, and this was contrary to assumptions in most procs. Also it was
64 possible to produce Tcl errors. Example: open two files, modify one of
65 them, File/Revert, don't click the confirmation box, go back into Scipad,
66 close the modified file (don't save) and now click the confirmation box
67 This change was required for Windows because the message box is not modal
68 on this platform - On Linux it does not harm and as a bonus it centers
69 the dialog inside its parent
72 Francois VOGEL, 28/11/08
73 * Fixed bug 3793 (localization issue in Scilab with Tcl/Tk)
76 Francois VOGEL, 23/11/08
77 * Fixed bug 3782 (bug correction courtesy of Enrico) about an old Tk bug
78 that has been fixed in Tcl/Tk 8.4.2
79 * Fixed bug 3781 about unlocalized labels when upgrading with a backported
83 Francois VOGEL, 10/11/08
84 * Implemented request in bug 3726 (do not exit when the last file gets
85 closed), with a saved preference for selecting the behaviour
86 * Added new command "Load all into Scilab"
89 Francois VOGEL, 20/10/08
90 * Fixed wrong title bar update when saving while focused in peer <x> (x>1),
91 the last peer in the list (instead of the focused peer) did win the title
93 * Added new command "Create help from head comments" - Initial code and
94 function help_from_sci courtesy of Torbjørn Pettersen
97 Francois VOGEL, 03/10/08
98 * Worked around bug 3631 (empty primitive name output by what())
101 Francois VOGEL, 02/10/08
102 * Fixed Tcl Error when dropping a file which name starts by a space
103 when another file is already opened in Scipad
104 * Fixed bug 3602 by replacing all occurrences of string(...) applied to
105 integers - which takes the current format() into account - by
109 Francois VOGEL, 20/09/08
110 * Geared in $sciprompt when not running in Scilab 5
111 * Cleaned comments about request 319 (TCL_EvalStr returns a result)
112 since this is now implemented in Scilab 4.1.2 and in Scilab-gtk 4.2
113 * Checked for bug fixing in Scilab-gtk 4.2 and updated relevant comments
114 * Removed a duplicate section in scipad.xml
117 Francois VOGEL, 18/09/08
118 * Fixed default fallback of proc mcmax when package msgcat is not present
121 Francois VOGEL, 15/09/08
122 * Implemented request 459 (remember path and extension from a textarea)
123 Note that for the extension it works only with Tk8.5 because Tk8.4 does
124 not have the -typevariable option to tk_getOpenFile (TIP242)
125 * Fixed English (splitted --> split)
128 Francois VOGEL, 13/09/08
129 * Fixed bug 3476 (undo stack cleared when saving)
132 Francois VOGEL, 11/09/08
133 * Added a cross above the y scrollbar of each tile to let the user close
134 a file with a single click (this closes all peers as well)
135 * Fixed bug 3502 (any Tk window opened after scipad gets the scipad icon)
138 Francois VOGEL, 08/09/08
139 * Fixed bug 3416 (black Scipad icon on Windows 2000) again since the
140 candidate fix in 6.156 didn't work
141 * version --> 6.157 - This version comes with Scilab 5.0 final release,
142 Scilab 5.0.1, Scilab 5.0.2 and Scilab 5.0.3
144 Francois VOGEL, 05/09/08
145 * Fixed bug 3416 (black Scipad icon on Windows 2000)
146 * Updated help scipad about tkdnd1.0 only, and Tcl/Tk version shipped
150 Francois VOGEL, 29/08/08
151 * Reformatted a bit proc scilaberror (de-tabified)
152 * Prevented the use of the debugger when running aside Scilab5. This is on
153 request from the Operational Team of the Scilab Consortium. Sorry guys,
154 this is really out of my control...
155 Check out http://wiki.scilab.org/Scipad_debugger_inner_beauties for more
157 Complaints: dev@lists.scilab.org or in comp.soft-sys.math.scilab
160 Scilab operational team, 29/08/06
161 * Added check about scipad interpreter existence (dynamickeywords.sce)
162 * Changed proc scilaberror once more so that it sleeps with the new Tcl
163 threaded loop of Scilab 5, i.e. does no longer use TCL_GetVar/TCL_SetVar
166 Francois VOGEL, 18/08/08
167 * Avoid Tcl error due to bug 3015 in Scilab5 environment. Compile as help
168 page cannot work in Scilab 5 because no incremental mode is available
169 so far (only the entire help system can be rebuilt, and not a single file)
172 Francois VOGEL, 26/07/08
173 * All language names (and therefore message file names) are in lowercase
174 because this is needed on Linux since ::msgcat::mclocale stores the locale
178 Francois VOGEL, 26/07/08
179 * The very first time Scipad is launched (i.e. when there is no existing
180 preferences file), Scipad language is the Scilab language. If the Scilab
181 language is not available in Scipad, the fallback is en_US
182 * Changed old language names for new ones matching Scilab ones, the
183 reference list being http://www.i18nguy.com/unicode/language-identifiers.html
184 * Added Scilab5 and Scilab4 global variables, to ease backports
187 Francois VOGEL, 15/07/08
188 * Fixed the initial height of the breakpoints gui on Linux to be 4 lines
189 * Fixed bug 3269 (non-scilab file can become temporarily debuggable after
190 changing localization)
192 . Added explanations about debugging Scipad ancillaries
193 . Documented the "Break" and "Run to return" debugger commands
194 . Documented conditional breakpoints
195 . Changed references of Tcl/Tk 8.4 into 8.x
198 Francois VOGEL, 13/07/08
199 * More efficient implementation of lreverse and sreverse
200 * Tcl85 and Tk85 variables definition moved back to scipaddebug1.tcl
201 since they are used for sreverse definition and also for the log file
204 Francois VOGEL, 12/07/08
205 * CONDITIONAL BREAKPOINTS
206 * Breakpoints can be enabled and disabled, and have an associated conditional
207 expression that is evaluated when the breakpoint location is reached. An
208 enabled breakpoint is hit only if its expression is true
209 * Added a quick toggle for watching the conditional expression as a generic
210 expression, with sync maintained between the watch window and the
212 * The conditional expression of a breakpoint can be tested against a boolean
213 true or against a change of its own value
214 * The hit count is monitored and displayed in the breakpoints gui, and can be
215 reset to zero through a pushbutton dedicated to each breakpoint
216 * Added the "break if" condition on the hit count
217 * The full conditional breakpoints feature is implemented and seems to work
218 OK, with expressions, expression types, expression watching, hit counts,
219 and break conditions on the hit count
220 * The breakpoints gui remembers its geometry across openings
223 Francois VOGEL, 19/06/08
224 * Fixed missing update of peer titles when saving a textarea: a peer <1>
225 could be in a non modified state while another peer <2> could still
226 display "... <2> (modified)"
227 * changelog file upside down
230 Francois VOGEL, 16/06/08
231 * Fixed Tcl error - invalid command name "none.margin" - happening when
232 using undo in a textarea having hidden (non displayed) peers
235 Francois VOGEL, 12/06/08
236 * Fixed bug 3105 (no icon set for Scipad) - Should work on both Linux and
237 Windows as long as Tk version is at least 8.4.8 - Icon courtesy of Enrico
240 Francois VOGEL, 22/05/08
241 * Fixed bug 3037 (lasterror can produce multiline error messages)
244 Francois VOGEL, 17/05/08
245 * Fixed slowdown of Scipad when typing after a bracket, reported in:
246 http://groups.google.fr/group/comp.soft-sys.math.scilab/browse_thread/thread/ea6b6dc9bce5f0e6
247 There were two problems:
248 . missing shortcircuit in docolorizeuserfun: this slowed Scipad down
249 with or without a bracket
250 . poor performance of colorization with a lot of numbers in the buffer
251 and a big chunk of continued lines - now, when typing, the colorization
252 bounds are closer to the insert point than before (continued lines
253 can be ignored when simply typing)
254 Global performance improvement, based on the testcase provided in the
255 newsgroup thread: timings divided by 10 to 18, depending on context
256 * Added a saved preference switch for colorizing user functions
257 * Fixed wrong encoding of fr.msg (since 6.139) - now UTF-8 again
261 * new version of FormatStringsForWatch.sci: solves several issues related to
262 loss of precision of watched variables (precision was dependent on the value
263 of format()) and display/feedback of large integers and exponential floats
264 (see bugs 1317, 2748); improvement in the display of complex numbers. The price
265 is a slowdown for very large matrices.
268 Francois VOGEL, 07/05/08
269 * Fixed the elusive bug 2648 (hopefully)
272 Francois VOGEL, 05/05/08
273 * Made use of Tcl TIP 242 to remember the file type the user selected in
274 the latest open or save action (available in Tk8.5b2 (27/10/07) and above)
277 Francois VOGEL, 04/05/08
278 * Fixed a whichfun bug throwing a Tcl error when deleting a function name
279 (happened only while background tasks were forbidden because when allowed
280 dokeyposn is catched)
281 * Simplified code in doopenfunsource, and prevented the window from jumping
282 when opening the source code chooser
283 * Softened the message box that pops up when the user tries to configure for
284 debugging Scipad ancillaries
285 * The debugger does no longer step into debugger ancillaries (the ancillary
286 file is no longer opened and then stepped out)
287 * Simplified the code a bit by using proc istoplevelopen
288 * Better usability in proc blinkline
289 * Added a global variable holding the bugzilla URL (easier for further
290 changes from a single place)
293 Francois VOGEL, 03/05/08
294 * Fixed bug 2879 - negative size returned by font actual not taken into
295 account, which prevented Scipad start on some platforms (Mandriva 2008.1)
298 Francois VOGEL, 03/04/08
299 * Fixed bug 2856 (introduced in 6.136) - wrong order of variables
301 * In find in files, the initial directory used when selecting the new
302 directory in which to search in is the previously selected directory
303 (instead of always the current directory of the application)
306 Francois VOGEL, 31/03/08
307 * Fixed Scilab bug 2672 by working around the underlying Tk bug
309 * Fixed Scilab bug 2776 by working around Tk bug 112997: malformed paths
310 when opening multiple files at once
311 * Scipad is GPL in the french About box too
315 * msg_files are GPL as well (with the silent consent of most
316 current translators, and the explicit consent of a few);
317 reference to it in AddingTranslations.txt
318 * english reference to GPL in the aboutme box and its translation
320 * new zh_cn.msg received
324 * copyright and license (GPL) information added at the head of
325 every *sci and *tcl file (except for msg_files)
328 Francois VOGEL, 20/02/08
329 * Fixed Scilab bug 2650 by working around Tk bug 1871474: Scipad didn't
330 report a saved buffer as such
331 * By Scilab team: sciprompt permanently set to 0 (scipad.sci)
332 scicos keywords loading changed (dynamickeywords.sce)
335 Francois VOGEL, 31/10/07
336 * Fixed bug 2580 so that the syntax function[]=foobar(), without space
337 between function and [], be recognized for colorization of userfuns
338 and for displaying information about cursor location in function
341 Francois VOGEL, 23/10/07
342 * Fixed fake gettext function used in BUILD4 environment - was broken
346 Francois VOGEL, 23/10/07
347 * Pushed version number to identify the following changes:
348 - added zh_cn and updated zh_tw ,de, it and no translations [from ES]
349 - bugs about \"' solved in msgdiff.sci [from ES]
350 - restored correct resolution of windows pathnames (was mistakenly
351 broken in 6.122, and affected for instance opening a file in Scipad
352 by double-clicking on it) [from ES]
353 - renamed languages to locales directories [from Sylvestre Ledru]
354 - localization of the .sci part of Scipad [from Sylvestre Ledru]:
355 . modified all tags <module>_<type>_number by a string
357 . removed old localization scheme, new gettext enabled:
358 gettext("xxxx" becomes gettext(
359 . errors.xml, menus.xml and messages.xml --> plonk!
360 - added a feature to rebuild only a scilab macros library in macros
361 directory - cleanmacros.bat, buildmacros.bat, buildmacros.sce
365 Francois VOGEL, 29/08/07
366 * Worked around the old Tk bug 1236306 (still not fixed after all) when
367 closing the watch window with an Alt shortcut
368 * Fixed: the error that may result from watching a generic expression is
369 cleared so that it is not reported at the end of the debug
370 * Fixed: Opening a textbox (e.g. "Changelog") and hitting the Return key
371 when the text widget has focus produced a Tcl Error
375 * added an emulation of gettext() in msgdiff.sci, for backporting to BUILD_4
378 Francois VOGEL, 24/08/07
379 * The message box displaying execution errors can be turned off - This is
380 a newsgroup request, see:
381 http://groups.google.com/group/comp.soft-sys.math.scilab/browse_thread/thread/5114c502b986bbf0/
384 Francois VOGEL, 20/08/07
385 * Scipad shows the Tcl/Tk version in the About box
386 * Fixed wrong detection algorithm of non debuggable functions (Scipad
387 ancillaries), and added a message box to inform the user
388 * Polished the list of non debuggable functions
389 * Added Shift bindings to the generic expressions buttons, active when
390 the watch variables and generic expressions areas are both visible
393 Francois VOGEL, 17/08/07
394 * Changed the title of the Add dialog when called for a generic expression
395 * Removed double evaluation of the generic expressions when using the
396 Break debugger command
397 * Performance: the watch variables values are not updated and the generic
398 expressions are not evaluated when skipping nocode lines (this was anyway
400 * De-clutter: Added a checkbox allowing to hide errors from generic
401 expressions instead of displaying them in the shell
404 Francois VOGEL, 16/08/07
405 * Fixed: "Auto watch globals" checkbox is disabled when the watch window
406 is opened if the "Auto watch locals" checkbox is unchecked
407 * Added a new maskable pane in the watch window for generic expressions
408 watching - the expression may be anything, e.g. graphical command, so
409 that an array can be plotted at each debugger stop
412 Francois VOGEL, 12/08/07
413 * Fixed the broken 8.4 fallback emulating a basic -stretch always option
414 (proc spaceallsasheskeeprelsizes) - Was broken since 6.78
415 * When using the Break command in the debugger, Scilab could stop on a nocode
416 line (a line containing only a comment for instance). If at this point
417 a variable was modified in the watch window by the user, it was not taken
418 into account by Scilab when resuming execution but its current value in
419 Scilab was restored. Now the Break command skips nocode lines like the
420 other debugger commands
421 * Fixed error in proc setwingeom - note that this proc must be called after
422 the content of its toplevel argument has been created
425 Francois VOGEL, 27/07/07
426 * Added bindings for keypad keys in Linux (by Enrico)
427 * Simplified scipad.sci to avoid yet another difference between the BUILD_4
428 branch and the trunk (by Enrico)
429 * Revised fr.msg and added missing accents since Tk bug #1638905 (which is
430 a duplicate of #1599877) is fixed in both 8.4.15 and 8.5a6 versions of
431 Tcl/Tk, and Scilab is now delivered with Tcl/Tk 8.4.15
434 Francois VOGEL, 23/07/07
435 * Binding of the replace mode to the non-existing KP_Insert keysym removed
438 Francois VOGEL, 22/07/07
439 * The -blockcursor option is used with Tk 8.5 for the replace cursor
440 * The replace mode is binded to both Insert and KP_Insert
443 Francois VOGEL, 22/07/07
444 * Fixed selected watch variable font colorization
445 * Added a mode toggled by the Ins key in which characters replace the existing
446 ones. Visual indicator of this state is the text cursor becoming a block
447 cursor. Works with Tk8.5 (use of .text replace from TIP 155, see
448 http://www.cs.man.ac.uk/fellowsd-bin/TIP/155.html), and also with Tk8.4 by
449 emulation of the .text replace command
453 * ensured that all files work in the BUILD_4 branch too (though dispatched
454 to different directories). A common codebase eases eventual backports.
457 Francois VOGEL, 02/07/07
458 * Further colorization of the watch variables
459 * The debugger detects unterminated functions (missing endfunction) and
460 prevents the debug launch when one such function definition is found.
461 The relevant message box is much clearer than before
464 Francois VOGEL, 30/06/07
465 * Fixed: The configure box opened iconified when the watch window was open
467 * Fixed: Watching a string containing $unklabel didn't work
468 * Non editable watch variables have their background greyed
469 * Watch variables whose value changed since last debugger stop are displayed
470 in red (declutters the watch window when watching many variables, such as
472 * Fixed: (non auto) watch variables are updated at the end of the debug
475 Francois VOGEL, 26/06/07
476 * Fixed Tcl error when calling the Replace dialog box (introduced in 6.113)
477 * Editability of watch variables is now set in function FormatStringsForWatch,
478 which fixes the watching of strings containing << or >>
479 * watchvarsvals and watchvarstysi reworked in a multidimensional array named
480 watchvarsprops that contains also the editability flag
481 * Fixed: Closing and reopening the watch window deleted all the watch
482 variables (this bug was introduced in 6.106)
485 Francois VOGEL, 18/06/07
486 * Correct binding to $Shift_F11 (instead of <Shift-F11>) in db_states.tcl (by
488 * Run to return point (Shift-F11) works correctly with recursive functions
491 Francois VOGEL, 17/06/07
492 * Minor changes for the initial directory area of the find in files dialog:
493 . the previous value is remembered if the user clicks on Cancel in the
494 directory selection box
495 . the directory entry field is a dnd drop target for text/plain content
496 * Worked around two different Tcl errors in proc button2copypaste arising
497 because of Scilab bug 1544
498 * Fixed Step Out not stepping out of recursive functions
501 Francois VOGEL, 03/06/07
502 * Added missing default fallbacks to be used when the msgcat package is not
503 present (Scipad couldn't start without them)
504 * In the watch window, the debug state and the Scilab busy state are now
505 reflected in a canvas containing an image
506 * Huge performance improvement and rework in FormatStringsForWatch (by Enrico)
510 * visual indicator of the scilab busy status in the main window
511 ($pad.statusmes color) and in the watch window
512 * the state of the debugger is now reflected in the color of $pad.statusind2
515 Francois VOGEL, 28/05/07
516 * Fixed: Variables having special characters (especially $) in their names
518 * Fixed: The global variable $ was always auto watched when debugging a .sce
519 script because $ was used in the wrapper code. This has been fixed without
520 preventing from watching the real $ if needed (fixed by Enrico)
521 * $env(SCIINSTALLPATH) replaces $env(SCIPATH) which was set outside of the
522 scipad module in SCI/modules/tclsci/tcl/TK_Scilab.tcl - its value is the
523 SCI value. Now env(SCIPATH) is no longer used in Scipad and the new
524 env(SCIINSTALLPATH) is defined in scipad.sci in order to better separate
525 the tclsci module and the scipad module
528 Francois VOGEL, 14/05/07
529 * Added auto watching of global variables - globals are not editable
530 * Long ScilabEvals no longer display a "mode(-1);" in the shell
531 * Removed the catch for the bubble information display for watch variables:
532 better correctly initialize the missing information...
533 * Better (16 times) performance in proc dogotoline when going to logical line
534 numbers in functions - Significantly improves the performance when updating
535 the active breakpoint tag during a debug session
538 Francois VOGEL, 12/05/07
539 * Size implicit indices (type 129) are displayed in details in the watch
541 * Matlab sparse matrices (type 7) are watchable
542 * Fixed: the watch variables must not be sent (written) to Scilab when
543 skipping no code lines (they were already no longer read since 6.106)
544 * Fixed: when only non editable variables were watched, the only way to add
545 a watch variable was to remove all the non editable variables, then add
546 the new variable and re-add the removed ones
547 * The listboxes in the watch window and configure box have always an item
548 selected (when not empty). They must have -exportselection 0, otherwise
549 their selection gets lost when the Add arg box is opened
550 * Catched the bubble information display for watch variables: the information
551 to display in the tooltip might not yet be available (because watch
552 variables can be added in any debugger state but their values and types are
553 only updated in "DebugInProgress" state)
554 * Scipad no longer flashes on executing the first debug command (was due to
555 the temporary buffer packing the time needed for execing it)
556 * scipad.xml: simplified the calling sequence and added a note about the
557 watching capabilities of the debugger
560 Francois VOGEL, 08/05/07
561 * Created a list of unwatchable variables in db_init.tcl, so that they are
562 in a single place, along with the corresponding rationale about why they
564 * Run to return point icon and menu item is greyed when scheme is not
566 * Auto watched variables are no longer updated while skipping no code lines,
567 thus improving a bit the performance
568 * Added better display in the debugger for non editable variable types
571 Francois VOGEL, 07/05/07
572 * Fixed: Cancelling find in files during the file list construction did not
573 enable the close button of the search results window, and there was
574 therefore no means for closing this window
575 * Added a control in the watch window to gear in an automatic mode for
576 displaying the local variables
577 * The ans variable cannot be watched (see rationale in proc addlocalsinwatch)
580 Francois VOGEL, 05/05/07
581 * Fixed: when execing a .sce buffer during the configuration step failed
582 (e.g. because of a syntax error), Scipad tried nevertheless to launch the
584 * Filtered lines of the .sce debug wrapper when saving during debug
585 * "Go on without any breakpoint" waits for end of execution of the debugged
586 script before resetting the debugger state. "Break" can therefore be used
587 in that situation too
590 Francois VOGEL, 01/05/07
591 * Fixed the non stopping of the debug on Break in some cases
592 * Reverted to not using getonewatchvarfromshell with sync in proc OKadda_bp
593 because sync does sometimes not return the variable value (visibility issue
594 in a sync parser - not clear) - anyway, the previous (<= 6.101) scheme
595 works: use seq and force the update of the watch window
596 * Added a try/end structure in proc setScipadVersionString to ease future
602 * scipad(dirname) opens a file chooser, starting in directory dirname
605 Francois VOGEL, 01/05/07
606 * Fixed sync issues (colorization, version number display) when launching
608 * Removed the workaround in proc OKadda_bp since ScilabEval sync works as
609 expected (bug 2384 fixed) - This depends on the flag bug2384_fixed
612 Francois VOGEL, 30/04/07
613 * Added the Break command in the debugger since I fixed bug 2384 (outside of
614 Scipad ; ScilabEval sync seq execution was interruptible in the Scilab
616 * Availability of the Break command depends on the flag bug2384_fixed
619 Francois VOGEL, 24/04/07
620 * The watch window displays the type (including real/complex if appropriate)
621 and size of each watched variable in a tooltip
624 Francois VOGEL, 15/04/07
625 * The debugger shows a new icon from Enrico for "Run to return point"
626 * Fixed: debugging as .sce, when running to return point, one line above the
627 correct line (which is the last executable line from the buffer, excluding
628 the wrapper) was breakpointed
629 * Fixed the non detection of the end of debug when "Run without any
630 breakpoint" was called (only execution errors were checked, but the end of
631 the debug was not detected, thus no cleanup (.sce wrapper stays), and a
632 messed up debug state remaining)
635 Francois VOGEL, 08/04/07
636 * Find in files raises the find results window when a new find in files
638 * New feature for the debugger: Run to return point. This was asked in the
639 newsgroup: http://groups.google.com/group/comp.soft-sys.math.scilab/browse_frm/thread/c482b4e4986a9282
642 Francois VOGEL, 20/03/07
643 * Extended XML scheme to .xsd and .dtd files
644 * Fixed bug 2334: line numbers display bug that showed up on Suse Linux
645 because on this platform [lindex [$ta dlineinfo @0,0] 1] is 2 instead of 1
646 * Cleaned proc updatelinenumbersmargin
647 * Fixed bug 2335: binding bug with Ctrl-4 and Ctrl-5 (Open in new...)
648 * The first debug command to be issued now execs any non level zero code from
649 all Scilab buffers (provided they are colorized), instead of only the
650 current one and the one containing the configured function. This allows to
651 debug as .sce (i.e. with no wrapper function) mixed .sce/.sci files
652 containing a level zero call to a function defined in that same buffer, for
653 instance dynamickeywords.sce
654 * Fixed update of the scrollbars by textareas that are no longer displayed:
655 the -x/yscrollcommand must be emptied when the textarea is unpacked
656 * Added duplicate function definition check/warning in the debugger
659 Francois VOGEL, 28/02/07
660 * Worked around an old Tcl bug with glob -tails that does not work with
661 Tcl/Tk 8.4.1 embedded in some cygwin versions
662 * Added missing translation for line numbers foreground in eng.msg
663 * Shortened the name of certain variables of the debugger that produced
664 truncation warnings in Scilab since Scilab now warns the user about
665 names having more than 24 characters
666 * Improved line numbers alignment during debugger use
669 Francois VOGEL, 24/02/07
670 * Rewrote proc fileunreadable and created proc fileunwritable to work around
671 Tcl bugs with file readable (1394972 and 1613456) and file writable
672 (1613456), and Scilab bug 2243 and 2319
673 * Fixed missing colorization after cut, block cut, or dnd move when these
674 commands were acting on a block selection
677 Francois VOGEL, 21/02/07
678 * Fixed a block cut bug when the block selection starts column 1 and includes
680 * dnd uses block cut and block paste when moving or copying a block
681 selection, the drag source being the same buffer as the drop target or not
685 * locale names in their native language, in the file $msgsdir/localenames.tcl
688 Francois VOGEL, 20/02/07
689 * Shortened the name of certain variables of the debugger that produced
690 truncation warnings in Scilab since Scilab now warns the user about
691 names having more than 24 characters
692 * First implementation of block cut
693 * dnd uses block paste when moving or copying a block selection, the drag
694 source being the same buffer as the drop target or not
697 Francois VOGEL, 15/02/07
698 * Fixed a block paste glitch related to pasting at the end of the buffer
699 * Fixed a block selection glitch: when selecting from farther than the
700 middle of the line, then empty lines could be missed in the selection
701 * Loosened constraint on breakpointable lines: overzealous fix was
703 * Fixed Tcl error that popped up when configuring the debug as .sce and
704 then immediately cancelling the debug
707 Francois VOGEL, 12/02/07
708 * Fixed issues with the last line of the block selection
709 * Fixed wrong block selection of first or last visible line of the textarea
710 when the mouse goes out of it
711 * Changed insertion cursor positioning scheme during a block selection
712 * Block paste can paste empty lines
715 Francois VOGEL, 11/02/07
716 * Fixed stupid error in Find/Replace introduced in Scipad 6.88
717 * First implementation of block paste, to be continued
720 Francois VOGEL, 08/02/07
721 * Added missing continuation antislashes in proc scilaberror
722 * Fixed yet another glitch with block selection: when one line ends exactly
723 at the left column of the block, the \n was not selected
724 * Added dnd support for block selection (move and copy modes, without any
726 * Execute selection supports block selection
729 Francois VOGEL, 07/02/07
730 * Fixed nasty substitution needs in proc scilaberror (Tcl special characters
731 need to be escaped in the error string)
732 * Fixed overzealous selection of the entire line when this line is shorter
733 than the block margin (block selection)
734 * Really, this time the cursor should no longer be after the end, nor inside
738 Francois VOGEL, 04/02/07
739 * The insertion cursor should no longer be seen after the end of the block
741 * A single selection returned by proc gettaseltext could be braced, thus
742 causing some troubles with execselection or helpword for instance. The
743 way the selection text is built and returned has been changed to fix
747 Francois VOGEL, 04/02/07
748 * Better block selection process, more pixel-like, and now more compatible
749 with tabs, non fixed width fonts, and empty lines as well
752 Francois VOGEL, 01/02/07
753 * Fixed Tcl error when hitting Shift-Control while a normal selection
755 * Better intuitivity in block selection by making use of a bulletproofed
756 TextClosestGap function from the private internals of Tk (with a fallback
757 using only public interface functions in case the private function
759 * Control-Button1 outside of a selection has the same behavior with or
760 without the tkdnd package: delete selection and move cursor to the
764 Francois VOGEL, 30/01/07
765 * Block selection available also when tkdnd package is not found
766 * Fixed: correct line ending characters when cutting or copying a block
768 * Added Scipad version number in the title bar
771 Francois VOGEL, 29/01/07
772 * Chinese translation added, all msg files are now in UTF-8 encoding to be
773 able to handle chinese characters
776 Francois VOGEL, 27/01/07
777 * First Scipad version with block selection (request 179). Features supported
778 with block selection:
779 . word wrap (automatically temporarily disabled during selection action)
783 . find/replace (in block selection)
784 * Binding for openlibfunsource is now Shift-Control-Button-3 instead of
785 Shift-Control-Button-1
786 * proc srevert (used in undo/redo) really uses string reverse (TIP #272)
787 if Tcl 8.5 is found (this was prepared in Scipad 6.55)
790 Francois VOGEL, 23/01/07
791 * Fixed Tcl error when opening one of the info boxes from the help menu
792 * Fixed: Line numbers margin does no longer scroll when dragging outside
793 of Scipad with mouse button-1 down
794 * Horizontal scrollbars are automatically removed when wrapping lines since
795 they are useless in this mode
798 Francois VOGEL, 20/01/07
799 * Fixed: line numbers disappeared when there was no wrapping mode set and
800 the x scrollbar was not completely to the left
801 * Fixed: line numbers could be scrolled by clicking in the area and using
803 * Fixed: With Tk 8.5 the text widget scrolls smoothly, while with Tk 8.4
804 it scrolls by line increments. This required a slight scrolling of the
805 line numbers margin to always align it perfectly with the textarea
808 Francois VOGEL, 19/01/07
809 * Fixed: Undo/Redo did not update the line number margin when the undo or
810 redo action did not modify the scrollbar size
811 * Fixed: When creating peers, Scipad does no longer ask the confirmation
812 question for colorizing large files
813 * Line numbers in the margin are now compatible with word wrapping
814 * Great performance improvement when updating line numbers
815 * Huge performance improvement in colorization, continued lines tagging,
816 and functions identification (30% faster), and in some other areas as
817 well, just by bracing all Tcl expr - see the magic arcane at
818 http://wiki.tcl.tk/10225
819 * Pushed size limit for colorization question from 100 kb to 130 kb
822 Francois VOGEL, 18/01/07
823 * Fixed Tcl error popping up when cancelling a save on buffer close
824 * First Scipad version with line numbers in the textarea margin (request
828 Francois VOGEL, 12/01/07
829 * Separated functions Close File and Close Tile: File/Close closes the
830 file, i.e. the current textarea but also all its peers, whereas the Close
831 button of a tile closes this tile only, i.e. the current textarea (which
832 might result of file closure if the closed tile was the last peer). This
833 distinction is apparent with Tk 8.5 only
834 * Confirmation for saving is not asked when closing a tile if there is any
835 remaining peer of this tile
836 * Added a Hide button in tiles: this is purely unpacking of the textarea,
838 * Added tooltip for the Close and Hide buttons of tiles
839 * Proc montretext changes name to become proc showtext
842 Francois VOGEL, 10/01/07
843 * Better fix for saving over hidden files (6.73). The hidden attribute is
844 removed, the file is saved, and the attribute is set back
845 * Tk 8.5: Added commands in the windows menu to distinguish split tile (and
846 pack a hidden buffer, or create a new empty buffer), from split file (and
848 * After closure of peers, the last remaining peer now properly looses its
849 peer identifier in the displayed name
852 Francois VOGEL, 10/01/07
853 * Optimized loops on $listoftextarea to avoid unnecessary work on peers
854 * Fixed textarea jump when switching to another one when the cursor is not
855 visible in the leaved textarea
856 * First tests of debug with peers (OK)
859 Francois VOGEL, 09/01/07
860 * Added tooltips displaying the full filename of the file packed in the
861 buffer whose title is currently hovered (only when filenames display
862 type is not "Full path")
863 * Fixed the bad fix for hidden files introduced in 6.71. When saving, the
864 files must actually be truncated. The workaround for overwriting hidden
865 files is to delete them first
868 Francois VOGEL, 05/01/07
869 * First Scipad version making peer text widgets available, so that the user
870 can view two different parts of the same text buffer at the same time.
871 This is working either in standalone mode (Scipad launched in wish85),
872 or from Scilab linked with Tcl/Tk 8.5. For the latter, see
873 http://wiki.scilab.org/Linking_Scilab_with_Tcl/Tk_8.5
874 * Removed spaces and tabs from empty lines throughout the Scipad codebase
875 * Fixed: Hidden files could be opened in Scipad but could not be saved with
876 the same filename. This was Tcl bug 1622579 (the open command fails to
877 open hidden files for writing), that was actually not a Tcl bug after all
878 and has been closed as WONT FIX in the Tcl tracker
879 * Workaround hack for Tk bug 1169429 not used in proc dostopcursorblink
880 when Tk 8.5 is used (hack kept for 8.4)
881 * Proc closecur called instead of closefile when clicking on the "Close"
882 button of a tile, which makes closability checks be run first
883 * Fixed: Trying to open an nonexisting file through the MRU list of the file
884 menu popped a Tcl error because proc iswindowsshortcut tried to open the
885 file without checking its existence
886 * Fixed: proc changedmodified could be launched with a non-textarea input
890 Francois VOGEL, 01/01/07
891 * Pushed copyrights to 2007
892 * Fixed wrong syntax for Tcl instruction scan throughout the code
895 Francois VOGEL, 26/12/06
896 * Improved the fix of Scipad 6.67 about cursor visibility (clarified
897 behavior of TextClosestGap in Tk)
898 * Fixed: Dropping a zero byte file onto Scipad produced a Tcl error
899 * Fixed: After find in files, open a match, and select in Scipad the first
900 character of the line where the match was found, the next button-1 click
901 duplicated the line. This was a very tricky (but correct) percent
902 substitution behavior in the bindings that erase the foundtext tag from
903 the textarea. This issue was introduced in Scipad 5.33
904 * Fixed: Open the find dialog and toggle twice the "In a directory" checkbox.
905 Then the state of the Text types area was not updated (it should be
906 disabled and not normal)
907 * Find in files tells how many files were searched
908 * Find in files highlights the matched text in the matching line displayed
909 in the results window
910 * Find in files can search also in hidden files
911 * Scipad can be launched even if the msgcat package is missing. This is
912 useful in the Tcl/Tk8.5 context for experimenting, see
913 http://wiki.scilab.org/Linking_Scilab_with_Tcl/Tk_8.5
914 Note that named labels such as aboutme_message do not get an english
915 fallback when msgcat cannot be found, and this is somewhat ugly
918 Francois VOGEL, 22/12/06
919 * Windows shortcuts are detected during the file open process, and are
920 no longer opened in Scipad
923 Francois VOGEL, 21/12/06
924 * Fixed Tcl error "couldn't compile regexp" in blinkbrace when typing ^(
925 * Added multiple file open in the file dialog, even if Tk bug 1614032
926 (tk_getOpenFile -multiple 1 is wrong with directories on Linux) is in
930 Francois VOGEL, 13/12/06
931 * Fixed: Trying to open the replace dialog during the debug did correctly
932 fail, but then this dialog could not be opened later, even after the debug
934 * Fixed: clicking in the textarea could hide the cursor outside of the
935 visible part of the buffer (added $w see insert in Button-1 binding)
936 * Scipad uses the new VERSION file to retrieve its version number (the
937 svn revision number is not yet used)
940 Francois VOGEL, 09/12/06
941 * Fixed: On Windows, opening files and then closing one of them did prevent
942 from selecting the remaining ones in the windows menu. This is Tk bug
943 1224330, that was fixed in Tcl/Tk 8.4.14 and Tcl/Tk 8.5a5. Scilab now
944 comes with 8.4.14 on Windows, therefore this is closed.
945 * Changed all occurrences of index 0.0 in text widgets since lines are
946 numbered from 1 according to the Tcl/Tk help
947 * Rationalized the tests on the existence of a selection in a textarea
948 throughout the code. Removed all uses of the X selection, except where
949 appropriate i.e. in proc button2copypaste
950 * Added a Pause button in the find in files results window
953 Francois VOGEL, 01/12/06
954 * Ctrl-F6/Ctrl-F7 now switch visible buffers only. F6/F7 still switch all
955 the buffers. This was discussed in request 349
956 * opensourceof dialog resizes nicer: buttons never disappear, entry field
957 fills all the available space
960 Francois VOGEL, 27/11/06
961 * Fixed IndentSel bug: when the selection contained only the leading blanks
962 of a line and Ctrl-d was hit, a Tcl error did pop up in apply_RE_to_sel_text
963 because the selection had collapsed after the first call to this proc
964 * Fixed: only one undo action is now needed to undo indentation
965 * Added smart indentation (i.e., for automatically indents the next line, end
966 automatically indents back, etc) - just a try for the moment, with a saved
967 preference in the option menu
970 Francois VOGEL, 26/11/06
971 * Fixed bug 2239: cursor blink now stops before typing a character, and is
973 * The textarea itself is now destroyed when closing a file
976 Francois VOGEL, 22/11/06
977 * Fixed: Saving a buffer did not update the windows menu order (there is
978 a change when sorting by MRU)
979 * Fixed all "modselection bugs" I'm aware of:
980 . proc selectline, Un/IndentSel and Un/CommentSel use only the sel tag
981 of the text widget, and no longer the X selection
982 . no selection glitches any more (use of marks and code factorization)
983 . Ctrl-d (Indent) with a selection starting in the middle of a line now
984 indents the first line from column 0 instead of from the insert point
985 . Ctrl-m (Comment) without selection now inserts // at the insertion
986 point (and no longer at the beginning of the line)
987 . Unindenting a line with leading tabs does now properly unindent
988 . The indentation scheme takes into account the "Tab inserts..." settings
989 from the option menu. Previously indent/unindent always used spaces.
990 Now indentation uses tabs instead when "Tab inserts spaces" is
992 . Ctrl-d (Indent) removes leading tabs before inserting spaces, and vice
993 versa (useful when reindenting text that was indented with the "wrong"
995 * Removed useless proc scipadindent, as well as the "indentation" and
997 * Added a saved preference in the option menu to set the size of the tabs
998 * Pushed the maximum number of recent filenames in the file menu (15, 20 or
999 even 50 items now allowed)
1002 Francois VOGEL, 20/11/06
1003 * Added underlined numbers in the Windows menu, so that the buffers can
1004 be accessed by Ctrl-[1-9] as shortcut - this was request 342
1005 * Fixed: disable/restoremenuesbinds did only deal with the three first
1006 entries of the Windows menu
1007 * Fixed: when the mouse was hovering over a separator entry in the
1008 Windows menu, the showinfo did erroneously display the last entry of
1010 * Added an option menu about the sorting of the buffers in the Windows
1011 menu. Possible options are to sort by opening order (which is the way
1012 it was previously), or to sort alphabetically, or by MRU (Most Recently
1013 Used) file, based on the last saving time
1016 Francois VOGEL, 17/11/06
1017 * Fixed debugger bug arising from the recent fix in the error handling
1018 in Scilab (SVN trunk commit # 13662) - previously the errcatch mode
1019 was lost every time Scilab entered a pause mode, now this is fixed and
1020 the error must be cleared in function ext_exists
1021 * Find/Replace rings a bell when there is no more matches
1024 Francois VOGEL, 16/11/06
1025 * Fixed bug 2226 (concurrent launch of several Scipads by clicking
1026 quickly on the Scilab "Editor" menu, or Scipad icon)
1027 * De-tab-ified scipad.sci, and removed unnecessary global TMPDIR
1030 Francois VOGEL, 15/11/06
1031 * Fixed bug 2217 (Scipad window large size on relaunch when Scipad was
1032 quit while zoomed, i.e. maximized) - This fix is also included in
1033 Scipad 6.0.fix2 (BUILD4 branch)
1036 Francois VOGEL, 14/11/06
1037 * Fixed: During a replace session, the sequence Find Next, Replace, Find
1038 Next, followed by a change in an option, e.g. Match whole word,
1039 followed by Replace triggered a Tcl error
1040 * More ergonomic: After a replacement is done, the next match is
1044 Francois VOGEL, 12/11/06
1045 * Improved aesthetics of the find/replace dialog (labelframes and more)
1046 * Added find/replace among tagged text only, e.g. among comments
1049 Francois VOGEL, 09/11/06
1050 * proc srevert (used in undo/redo) prepares use of string reverse (TIP #272)
1051 for when Tcl 8.5 will be available
1052 * Outside of scipad: better help for the debugger. help debug now points
1054 * Added a popup menu providing a list of ready cooked regexps for the
1058 Francois VOGEL, 05/11/06
1059 * Fixed two nasty cases where step over did actually step into
1060 * Fixed: Step out (Ctrl-F8) did not step out of the current function
1061 when this function was called by itself (recursive case)
1062 * Fixed: the busy cursor was still active in tearoff menues (same
1063 fix as for menubars in Scipad 6.48)
1066 Francois VOGEL, 02/11/06
1067 * When Options/Backup files depth was set to 1, it saved 2 backups instead
1069 * Moved msgdiff.sci in scipad/macros/scipad_internals
1070 * Updated AddingTranslations.txt:
1071 . new directory tree
1072 . removal of length checks in dialogs (mcmax is now used since 6.45)
1073 . msgdiff.sci is now a compiled macro
1076 Francois VOGEL, 30/10/06
1077 * Moved dynamickeywords.sce in scipad/macros/scipad_internals
1078 * Fixed: quitting Scilab during the debug in Scipad produced a strange
1079 error that was due to missing quotes in a ScilabEval
1082 Francois VOGEL, 30/10/06
1083 * Compilation of Scipad's internal macros - Step 2
1084 . Moved FormatStringsForWatch.sci and FormatWhereForWatch.sci in
1085 scipad/macros/scipad_internals
1086 . Removed proc getdebuggersciancillaries_bp (now useless)
1087 * TCL_EvalStr("set answ [...]");TCL_GetVar("answ") replaced by the use of
1088 the evaluation result of TCL_EvalStr (I implemented request 319)
1089 * Clarified obfuscated syntax in TCL_EvalStr, to ease maintenance:
1090 TCL_EvalStr("scipad eval {...}") becomes TCL_EvalStr("...","scipad")
1093 Francois VOGEL, 30/10/06
1094 * Compilation of Scipad's internal macros - Step 1
1095 . Shorten names so that they are at most 24 characters long:
1096 FormatStringsForDebugWatch -> FormatStringsForWatch,
1097 FormatWhereForDebugWatch -> FormatWhereForWatch
1098 . Moved ext_exists.sci and LocalizeForScipad.sci in a new directory
1099 scipad/macros/scipad_internals
1103 * small bugfix, tcl "Error:0" was popping up when attempting to run erroneous
1104 scilab code, causing error messages containing quoted strings: for instance
1108 Francois VOGEL, 29/10/06
1109 * Colorization of user functions does not need to be done for each
1110 replacement of a replace all, ditto for keyposn - speed improvement
1111 * Fixed: Tile all command did forget to colorize user functions
1112 * Fixed: Menu bar kept always the busy cursor during debug
1113 * Fixed: Situation: when the function to debug has one or more "nocode"
1114 lines after the function declaration and before real code lines, and
1115 after having debugged a file as a .sce. In that case, re-starting the
1116 debug with Shift-F8 did not stop in the function to debug
1117 * proc killwin renamed killscipad
1120 Francois VOGEL, 23/10/06
1121 * Fixed a visibility problem in the debugger when watching elements of
1123 * The configure box does no longer pop up when there is nothing to
1124 configure, e.g. for a .sce file
1125 * Removed underlines in the docked watch window since the shortcuts are
1126 anyway inactive when docked
1127 * Fixed: changing locale while the watch window is open does no longer
1128 forget about the hide variables/hide stack status
1131 Francois VOGEL, 22/10/06
1132 * Adjusted the directories in help file so that they match the new code tree
1133 * Factorized directory names creation in the Tcl code
1134 * Fixed bug introduced in version 6.44: forgotten directory change of scicos
1135 files for "open source of..."
1136 * Moved BUGS and CHANGELOG in SCI/modules/scipad
1137 * Fixed: button2copypaste was active in proc textbox, thus leading to a
1138 Tcl error on button-2 click
1141 Francois VOGEL, 21/10/06
1142 * Added a font chooser dialog in order to answer bug 2047
1144 . Added a message box in case $findreplaceboxalreadyopen == true (I
1145 suspect a bug: sometimes findreplaceboxalreadyopen is not reset to
1146 false when closing the find dialog)
1147 . Prevented button2copypaste from triggering in the find in files
1149 . Find/Replace box uses the selection to preselect the search string if
1150 this selection is less than one line
1151 . The cursor does no longer jump to the selection start when closing
1152 the dialog - better since now the last match is at the cursor position
1153 . Fixed Control-f bug: selection was erased on Ctrl-f, while it was kept
1154 using Edit/Search menu
1155 . Fixed: Closure of Scipad while find in files was running caused a Tcl
1157 . The bindings in findreplace.tcl used for the F3 case and for find in
1158 files were cumulating and living in the textarea forever. This is no
1160 . Scipad rings a bell when find or replace wraps around (but not for
1162 . Fixed: there was a Tcl error when a file to search in could not be
1163 opened for reading. Error management on opening was wrong. This
1164 problem was present from the very first version of the find in files
1165 function (i.e. since Scipad 5.44)
1166 . Fixed duplicate binding Alt-c in Find box in french locale
1168 . Added a busy cursor set when the debugger commands are issued. This is
1169 especially useful when automatically stepping through no code lines to
1170 make the user aware that Scilab is busy
1171 . The watch window can now be docked inside the Scipad window (this was
1172 asked for in the discussion of request 261)
1173 . Fixed: the watch window did loose focus when "Hide..." was clicked
1174 . Fixed: breakpoint range for step into was wrong for functions included
1175 in mixed .sce/sci files
1176 . Fixed: closure of files during debug caused Scipad to spit a Tcl error
1177 on next step command
1178 . Fixed: Step over (F8) could step into libfuns (Shift-F8) when the call
1179 to the libfun was in a nested function in a mixed .sce/.sci file
1180 debugged as a .sci file with a wrapper function
1181 . (Almost) fixed: Step over could step into libfuns when the libfun was
1182 in a nested function whose calling function contained the same libfun -
1183 this still occurs when the libfun is in the calling line of the calling
1184 fun - let's live with it for the moment
1185 . Added underlines, keyboard shortcuts and usability bindings for the
1186 watch window buttons. Ditto for the configure dialog and add watch box
1187 . Removed the hardcoded size of the watch window that was used when both
1189 . Fixed Tcl error "invalid sash index" when changing the locale or fonts
1190 (or font size in older Scipad versions) while the watch window was open
1191 with variables zone or call stack area hidden
1192 . Fixed endless loop when configuring the debugger on a buffer containing
1193 unbalanced function/endfunction keywords
1194 * Made use of mcmax to homogenize the width of buttons in all the dialogs
1195 * Fixed: Trying to print a new file (Ctrl-n followed by Ctrl-p) produced
1196 an error in the Scilab shell
1197 * Fixed: A Tcl error could pop up when launching scipad with no filename and
1198 quickly opening a file through the file menu. This was because execution
1199 of dynamickeywords was not yet over when colorization started, thus
1200 resulting in Tcl errors such as can't read "words(scilab.scicos.c)". This
1201 synchronisation problem could also produce files that were not colorized
1202 in totality. Now $pad is withdrawn during Scipad's launch, and deiconified
1203 only when the complete startup sequence is finished - This fix is also
1204 included in Scipad 6.0.fix2 (BUILD4 branch)
1205 * Fixed: Colorization of XML files did not work correctly because the end
1206 bound for colorization was not properly derived - getendofcolorization
1207 and getstartofcolorization have been updated to deal specifically with
1209 * Added a message box for the user in proc highlighttextarea so that the Tcl
1210 error "invalid command name "none"" gets a chance to be fixed, since I
1211 could never reproduce it
1214 Scilab operational team, 03/08/06
1215 * Changed directories to follow reorganization of the Scilab code
1216 * svn: eol-style property set to native
1217 * version --> 6.44 - First version following the reorganized code tree
1219 Francois VOGEL, 18/07/06
1220 * One breakpointed macro counted in excess when the breakpoint was set on
1221 the last line of the macro
1222 * Button-2 release unbounded to the call stack widget (produced a Tcl error)
1223 * Scilab shell is forced at main level when entering the debug
1224 * Stepping deals with nested libfuns constructs, e.g. pmodulo(modulo()), the
1225 outer calls are no longer skipped by the debugger
1228 Francois VOGEL, 16/07/06
1229 * Fixed issue on stepping into calfrq (colorization must be done before
1230 displaying the buffer)
1231 * Clipped userfun tag length to 24 characters to match Scilab's limitation
1234 Francois VOGEL, 15/07/06
1235 * The debugger automatically opens libfun ancillaries on step into
1238 Francois VOGEL, 07/07/06
1239 * Cosmetic changes in the call stack area of the watch window
1240 * More clever way of breakpointing for step into: instead of breakpointing
1241 all lines of all functions of all opened buffers, the debugger now
1242 breakpoints only the current context functions and the userfun
1243 ancillaries called by the function the debugger has currently stopped in.
1244 This contributes to limiting the number of breakpointed macros as well as
1245 the total number of breakpoints
1246 * Better performance while single stepping (avoid to rescan the buffers
1247 while skipping no code lines)
1248 * Added indicators of "debug complexity" showing how close the user is from
1249 the limits in number of breakpointed macros and in total number of
1251 * Prevented the user from breakpointing the function declaration line - this
1252 is anyway illegal in Scilab since it would require to setbpt at line 0
1253 * The user can launch the debugger only when the file is a Scilab file and
1254 when this file is colorized
1255 * Fixed: actbptextFont was updated on font size change but was lost since it
1257 * Progressbars now have $textFont by default
1260 Francois VOGEL, 04/07/06
1261 * Double-clicking in the call stack area jumps to the function and line
1262 number displayed in the clicked line - works both during debug and
1263 after an error, cursor changes shape while over a clickable line,
1264 clicked line blinks and target line as well
1265 * Added a vertical scrollbar for the call stack area of the watch
1267 * Fixed a bug when trying to open function source of a scicos keyword
1268 through the popupmenu: the file did not open and the shell warned
1269 that it is not a libfun file
1270 * Rewrote proc blinkline in such a way that it uses a dedicated tag to
1271 blink lines instead of using the active breakpoint tag - now blinkline
1272 can be used during debug without destroying the active breakpoint
1275 Francois VOGEL, 02/07/06
1276 * Trimmed strings used in FormatStringsForDebugWatch
1277 * Prevented the user from debugging the debugger ancillary functions
1280 Francois VOGEL, 30/06/06
1281 * Better localized the strings from FormatStringsForDebugWatch and
1282 FormatWhereForDebugWatch, making use of msgcat and no more of the
1283 global LANGUAGE from Scilab (was eng and fr only)
1286 Francois VOGEL, 28/06/06
1287 * Fixed f***ing line endings issues (hopefully)
1288 * Execution errors retrieved also on "Go on ignoring any breakpoint"
1289 * Changed formatting of the error message in the watch window, and added
1293 Francois VOGEL, 28/06/06
1294 * The debugger retrieves execution errors from Scilab, reports in the watch
1295 window, and blinks the offending line
1298 Francois VOGEL, 27/06/06
1299 * Removed erroneous double escaping of special characters in proc OKadda_bp
1300 * Worked around a bug in OKadda_bp: when the "Get current value from Scilab"
1301 box was checked, the watched variable value was not updated in certain
1302 cases - This is a ScilabEval "sync" parser issue (Bug 1086 like)
1303 * Removed duplicate -count Matchlength option in proc doonesearch (was not
1305 * Fixed hanging of Scipad when searching for a string whose match length
1306 is zero (e.g. regexp searching for ^) - This was partly Tk bug 1513517
1307 * Added a progress bar for replace all (long replaces look like hangs)
1310 Francois VOGEL, 26/06/06
1311 * Variable names area extend again when resizing the watch window, plus
1312 cosmetics about the checkable boxes
1315 Francois VOGEL, 25/06/06
1316 * Added an horizontal scrollbar in the watch window for variables names
1319 Francois VOGEL, 10/05/06
1320 * Fixed: scicos_blocks/*/lib keywords can be colorized, opened as source,
1321 and tab-completed on Windows (apparently only worked before on Linux)
1324 Francois VOGEL, 05/05/06
1325 * Fixed: user function names separated by a single character were not
1329 Francois VOGEL, 05/05/06
1330 * Fixed: completion of keyword containing a % character inserted a ?? pattern
1331 instead of the percent followed by the next character of the keyword - this
1332 was due to wrong interpretation of the % character as a substitution char
1333 in the completion bindings
1334 * Fixed: clicking quickly on the scrollbar of the Open source of... dialog
1335 validated the currently selected item, which is not what was wanted
1338 Francois VOGEL, 28/04/06
1339 * Made use of TIP #231 implementation (Support for [wm attributes] on X11) in
1340 the context of the watch window being always on top - Uses the Tk85 global
1342 * Since Scilab is now distributed with Tcl/Tk 8.4.13 the patch enforced by
1343 the Scilab team in Scipad 5.67 has been removed (Tcl bugs 1193497 / patch
1344 1344540 are fixed, i.e. file writable is based on the ACL list on Windows
1345 directories instead of on the read-only attribute)
1346 * Fixed: Opening a file with Control-o inserted an empty line in the current
1350 Francois VOGEL, 21/04/06
1351 * Fixed: Empty lines skipping failed when the debug command just switched
1355 Francois VOGEL, 20/04/06
1356 * Added an horizontal scrollbar in the watch window for variables values,
1357 as requested in the newsgroup
1360 Francois VOGEL, 19/04/06
1361 * Fixed: breakpoints can again be set during debug (was broken in 6.23)
1362 * Breakpoints cannot be set on lines pertaining to the wrapper code used
1363 for .sce files debug
1366 Francois VOGEL, 18/04/06
1367 * Fixed: buffer was not detected as a mixed .sce/sci if the main level code
1368 was only located after the end of the last function definition
1369 * Fixed: debug state returns to NoDebug after a .sce debug session
1372 Francois VOGEL, 10/04/06
1373 * Beta implementation of .sce files debugging through automatic wrapping
1374 in a function - just a try!
1377 Francois VOGEL, 05/04/06
1378 * Fixed bug 1898: on Load into Scilab, the buffer is saved in a temporary
1379 file, therefore no popup to confirm save shows up
1382 Francois VOGEL, 02/04/06
1383 * Simplification of the step by step code since bug 1894 is fixed
1384 * Fixed: Scipad does no longer spit a "Scilab busy" message when quitting
1385 Scilab during a debug session
1388 Francois VOGEL, 30/03/06
1389 * Fixed a bug on step out when line to return to contains no executable
1393 Francois VOGEL, 26/03/06
1394 * Fixed a bug in dogotoline when going to an indented function
1395 * The debugger can perform run to cursor
1396 * Updated Scipad help page (run to cursor new feature)
1399 Francois VOGEL, 25/03/06
1400 * Breakpoint insertion takes care of continued lines: only the first
1401 physical line of a continued line is pink-ified
1402 * The debugger can perform step over, i.e. without stepping into deeper
1404 * The debugger can perform step out, i.e. next stop is just after the
1405 current context has returned
1406 * Updated Scipad help page (again step by step new features)
1409 Francois VOGEL, 23/03/06
1410 * Fixed opening of the configure box or add argument box behind the watch
1411 window when the latter is always on top
1412 * No breakpoint can be set on a line that contains no executable code
1413 * Step by step (into) skips lines that does not contain executable code -
1414 This closes request 256
1417 Francois VOGEL, 22/03/06
1418 * Proc openoninit renamed to openfileondisk and cleaned
1419 * Tuned a bit the look of the watch window, particularly when no pane is
1420 shown because it was slightly broken by the addition of the new buttons
1422 * Scipad blinks double quotes (scilab scheme only)
1423 * Added missing bindings for parenleft bracketleft braceleft to blink them
1424 * The watch window can be always on top (setting added in the watch window,
1425 buttons become checkboxes to minimize space used) - Fixes request 261
1426 * Updated Scipad help page (mainly step by step new feature)
1429 Francois VOGEL, 14/03/06
1430 * Impossible ScilabEvals better catched. bsiz (Scilab maximum buffer size)
1431 limit was already taken into account, now lsiz limit (maximum complexity
1432 of a command) is also tested
1433 * Worked around Scilab bug 1894
1436 Francois VOGEL, 12/03/06
1437 * The debugger can perform step-by-step (step into only, and only in opened
1438 buffers) - this is a brute force approach, breakpoints are set on every
1439 line of every function from every buffer, but this is the only way I
1440 found without Scilab team support
1443 Francois VOGEL, 06/03/06
1444 * fileunreadable extended to deal with files locked by another process,
1445 working around Tcl bug 1394972 (this bug was later marked as WONTFIX
1450 * procs CommentSel and IndentSel simplified, which removes two bugs relative
1451 to selections beginning or ending with empty lines, or ending after a
1455 Francois VOGEL, 05/03/06
1456 * Patch for saving in Windows special directories again active (forgot a
1457 comment sign in Scipad 6.9)
1462 * fixed bug about keyboard bindings enabled/disabled contextually
1465 Francois VOGEL, 05/03/06
1466 * Fixed a bug in Save as... - reorganized the save procs, but bug 1785 is
1468 * The status bar gets colorized in PeachPuff if at least one buffer is
1469 modified - useful in tile mode when a buffer is modified and focus is in
1470 an unmodified buffer, the user is aware that at least one file is modified
1471 * Added a "Save all" command (saves modified buffers only)
1474 Francois VOGEL, 28/02/06
1475 * Substituted the remaining obsolete Tcl instruction case by switch
1476 * Fixed: colorization was missing after undoing a change that did in fact
1477 not change the buffer content, e.g. Ctrl-a,Ctrl-c,Ctrl-v (no change here
1478 because the paste replaces the selection with the same text),Ctrl-v,
1480 * Fixed: Edit/Select all did not update the menues contextually
1483 Francois VOGEL, 25/02/06
1484 * Variable varargin can again be watched thanks to addition of a new option
1485 "nolocal" to the Scilab exists function - WARNING: works only with a cvs
1486 version dated 24 Feb. 06 or later
1487 * Fixed: Tcl Error 0 when trying to open function source through the file
1488 menu when Scilab is busy
1489 * F1, ctrl-F1, ctrl-P, ctrl-p display a busy message if Scilab is not idle
1490 * Rationalized tests on $sciprompt throughout the code, and added tests
1491 where they were missing (adding variables in the watch or configure box
1495 Francois VOGEL, 22/02/06
1496 * Fixed: Erroneous "Outside of function definition" message when jumping
1497 to an indented function
1498 * Fixed: Tcl Error 0 when trying to add varargin as watch variable - no
1499 error any more, but varargin cannot be watched (always $unklabel, i.e.
1500 <?> in the watch window)
1501 * Candidate fix for bug 1848 and bug 1853 and Tcl Error 0 when trying to
1502 open function source through the popup when Scilab is busy
1506 * bug fixed: double-click on an unfocused split pane pasted wrongly the
1507 selection inside the focused pane
1508 * removed some duplicate general bindings from emacs.tcl and mac-pc.tcl
1511 Francois VOGEL, 20/02/06
1512 * Fixed: A user function name starting at line 1 column 1 was not colorized
1513 * Fixed: msgcat collision between Windows menu entry (main menu bar) and the
1514 entry with same name in the Options/Double click sub-menu
1518 * small fixes to problems created with the switchable bindings, which broke
1519 the commands Revert... and Open Function Source (hopefully doesn't break
1520 other menu commands and accelerators)
1523 Francois VOGEL, 19/02/06
1524 * funcprot(0) is used to prevent function redefinition messages related
1525 to debugger sci files ancillaries (bug 1775)
1526 * Fixed bug 1792 (Linux/Windows different double click behavior), and added
1527 a saved preference for this setting
1528 * Fixed: Find in a single buffer and close the dialog. Switch to another
1529 buffer and hit F3. Wrong matches were found.
1530 * Fixed: When switching for 'colorize strings' to no single quotes string
1531 colorization, keywords, numbers, etc were not colorized properly because
1532 colorizestringsandcomments_sd was called in refreshQuotedStrings, i.e.
1533 only strings and comments were recolorized
1534 * Fixed: Colorization of strings for XML files was wrong because proc
1535 colorizestringsandcomments did always consider a scilab scheme
1536 * Colorization of xml files 10 times faster and corrected (xml tags can now
1538 * Colorization can be switched on and off selectively in each buffer:
1539 Functions that make use of colorization results are disabled when the
1540 buffer is not colorized, i.e. :
1541 - goto line does not propose Scilab functions from a non colorized
1543 - when colorization is switched off, the line number in the status bar
1544 is always the logical one (no line in function)
1545 - when colorization is switched off, the debugger configure box does
1546 not propose functions from non colorized buffers
1547 * Fixed two different incorrect string colorizations:
1548 - [q1,p1]=find(mat'=='['); // transpose operator
1550 "]"]; // quoted bracket or brace
1551 * Fixed: Undo/Redo after backspace or delete key could make the cursor jump
1552 in the buffer - the edit separator instructions were missing
1553 * Loosen debugger constraints wrt empty values for function parameters - see
1554 http://groups.google.com/group/comp.soft-sys.math.scilab/browse_thread/thread/ea4cc65bf1a79bc2/80f5f4896074fae2?hl=en#80f5f4896074fae2
1556 Function arguments are still passed by value, and order in the
1557 configure box matters
1558 (note: this is for the true varargin case, i.e. last argument is
1559 varargin, and there is no other argument named varargin)
1561 Function arguments are now passed by name - order of arguments in the
1562 configure box does no longer need to be the same as the order of
1563 arguments in the function definition line
1564 - double varargin, ex. foo(a,varargin,b,varargin):
1565 This case is handled like Scilab handles it: the last varargin is
1566 ignored and the previous varargin is a normal argument
1567 * Proc dogotoline accepts the destination parameters as inputs. Simplified
1568 proc updateactbreakpointtag as a consequence
1569 * Speed up of proc getallfunsintextarea (up to 70 times faster, especially
1570 for large buffers containing many functions) by removing the need to use
1571 proc whichfun - Ditto for proc checkarglist
1572 * Slight speed up of proc whichfun
1573 * Fixed bug 1824: Speed up of proc colorize (approx. twice faster) and proc
1574 colorizestringsandcomments (hundreds times faster for long lines)
1575 * Increased increment for background colorization from 5 to 20 lines since
1576 colorization now uses regexp -all instead of .text search -regexp, which
1577 is faster because all the matches are returned at once. Colorization is
1578 now more efficient on larger chunks - balance with Scipad responsivity
1580 * User functions are gathered in the words and chset arrays in real time.
1581 This allows for colorization, shortcuts to jump to function definition
1582 line or to open source of..., and also completion with user function
1584 * The watch window is deiconified on quick add watch
1585 * Scipad checks if execution of a script or a buffer did change the content
1586 of any already opened buffer and proposes to reload the file in this case
1587 * When switching scheme for new buffers the file extension is changed
1588 accordingly so that when scheme is xml, default extension proposed for
1589 saving a new buffer is .xml (and still .sce for other schemes)
1590 * Fixed: all the tk_optionMenu did miss their $menuFont on Scipad launch
1591 or after changing the locale
1595 *switchable emacs/mac-pc bindings. Currently the feature is disabled
1596 (bindings are always pc) because emacs is not finished. The files are
1597 committed to allow simultaneous work on other features. Remove "-state
1598 disabled at line 290 of menus.tcl to make it work.
1601 Francois VOGEL, 01/02/06
1602 * version --> 6.0 - This version comes with Scilab 4.0 final release
1604 Francois VOGEL, 22/01/06
1605 * Fixed bug 1161, partly in Scipad, partly in help_skeleton.sci
1606 * Fixed two different incorrect string colorizations:
1607 - a="hello""" +"world"
1608 - a="hello"""+"world"
1611 Francois VOGEL, 20/01/06
1612 * Fixed: click on the first character of the selection inserted a copy of
1613 this selection in the buffer at the cursor place
1614 * Fixed: after doing a drag and drop (copy or move), if the user hit
1615 Ctrl-Button-1 and moved simultaneously the mouse to select some text,
1616 then the selection did not start at the cursor position. Instead, the
1617 selection started at the position where the cursor was just before the
1619 * Log files can now contain Text class bindings through a new setting
1620 logTextclassbindings in scipaddebug1.tcl
1623 Francois VOGEL, 15/01/06
1624 * Increased depth of constructs (brackets, braces) nesting for continued
1625 lines detection algorithm
1626 * Fixed: Update of continued lines background color when this color is
1630 Francois VOGEL, 12/01/06
1631 * Debugger works again with functions whose definition logical line is
1632 split into many physical lines
1635 Francois VOGEL, 10/01/06
1636 * Fixed (by JP. Chancelier): file rootname might return an empty string
1637 under cygwin - test added in menues.tcl
1638 * Fixed: Goto box did not want to open after having closed a file during
1639 its colorization. Scipad thought colorization was still in progress
1640 * Refined preselection of choices in the Goto dialog box
1641 * Fixed replace dialog bug: Clicking on "In selection only" or on "In all
1642 opened files" after having opened more than one buffer triggered a Tcl
1646 Francois VOGEL, 01/01/06
1647 * Fixed stupid error I introduced in 5.72: the find box could only be opened
1648 once in a Scipad session
1651 Francois VOGEL, 30/12/05
1652 * Fixed some races on startup:
1653 - Ctrl-g followed by ctrl-y/m/M/d/D during Scipad startup throwed a Tcl
1654 error because the selection is owned by the goto box when the second
1656 - Ctrl-f followed by ctrl-r, or the opposite sequence, triggered another
1657 Tcl error because the second event was fired before the grab $find was
1661 Francois VOGEL, 29/12/05
1662 * Fixed bugs in the find in files results dialog:
1663 - Line number was wrong (one unit too small)
1664 - After getting the find in files results, delete a file containing a
1665 match, and try to show this match. The dialog pops up correctly about
1666 the nonexisting file: click no. The highlight was nevertheless done
1668 * Goto physical line in current file is preselected if no function was found
1669 in the opened buffers
1670 * Fixed endless loop in certain cases on Goto dialog opening (issue was in
1671 proc getallfunsintextarea), for instance when opening matsys.f, change
1672 scheme to scilab, then Ctrl-g: Scipad was stuck forever
1676 * no tk error, but a popup warning, when trying to open an unreadable file
1677 (should deal with all the instances of opening files, tested on linux
1679 * opensourceof dialog made resizable
1682 Francois VOGEL, 22/12/05
1683 * Debugger: Cancel debug is allowed right after configure execution, and
1684 more generally from the "ReadyForDebug" state
1685 * Fixed: Running Configure execution on an empty file or a pure .sce file
1686 changed the debug state to "ReadyForDebug"
1687 * Fixed: Scilab comments and strings on continued lines are no longer
1688 colorized in schemes other than scilab
1689 * Fixed bug reported on double click in the file open dialog. This was
1690 already fixed in 5.68 but only in case the TkDnD package is present,
1691 which is not the case in Scilab 4.0 RC1
1694 Francois VOGEL, 09/12/05
1695 * Fixed bug reported in the newsgroup on File/Open followed by a double
1696 click on the file to open. References:
1697 http://groups.google.com/group/comp.soft-sys.math.scilab/browse_thread/thread/21cee717df71ab0/d5957386272e17b3
1698 http://groups.google.com/group/comp.soft-sys.math.scilab/browse_thread/thread/875daad29986228e/ae651d1a948ba67c
1699 More than one year later, I found that this is known in Tk as bug 943110...
1700 * DarkMagenta and darkred are not known under hpux11.11, therefore these
1701 colors become magenta4 and red4 (bug 1203)
1702 * ScilabEval command has quotes in proc selectprint_win in order to
1703 work with filenames containing white spaces
1704 * Added "sync" "seq" options to the initial ScilabEval ";" - this solves
1705 startup missing colorisation problems when issuing scipad some_file in
1707 * version --> 5.68 - This version comes with Scilab 4.0RC
1709 Francois VOGEL, 08/12/05
1710 * Scipad is deiconified when called
1711 * "Bug fix", well it's a patch, from Allan/Serge to let Scipad to save a
1712 file in C:\Documents and Settings\<account>\My Documents (workaround for
1713 Tcl bug 1193497, whose existing patch is not yet applied to the Tcl cvs
1714 tree) - Fixes also part of bug 1146
1717 Francois VOGEL, 05/12/05
1718 * Added an identifier in front of each proc log entry, so that end of
1719 interlaced events can be easily related to their beginning
1720 * Timestamping in logs is accurate to the millisecond
1721 * Added global variable Tcl85 which is true if Tcl version is at least 8.5
1722 This is useful to prepare the transition of Scipad to Tcl/Tk 8.5. Currently
1723 Scipad works as well under 8.4 or 8.5, but certain options or commands
1724 available only in 8.5 are used when Tcl/Tk 8.5 is present
1725 * Partially fixed Tcl errors that popped when hammering Scipad during its
1726 launch from Scilab (fix is in scipad.sci)
1727 * Dnd bug fixed: When the NumLock mode is active, ctrl dnd did not work
1728 (issue was only on Linux)
1729 * Added automatic backup of files on file save, with configurable and saved
1731 * Fixed: help (Ctrl-F1) on quotes works
1732 * Fixed: Ctrl-v copies inside the find/replace/filename dialogs, and replaces
1733 an existing selection (issue was only on Linux). The selected text can be
1734 copy-pasted outside by button-2 click. The entry boxes have -exportselection
1738 Francois VOGEL, 01/12/05
1739 * Update added at the end of scipad.tcl to make background tasks work on
1740 Linux (together with bug 865 fix)
1741 * Dnd of directories work again (this regression came in Scipad 5.38) -
1742 there is no need in this case to prevent concurrent running of the tile
1743 procs (maximizebuffer and splitwindow)
1744 * Continued lines are tagged in scilab language scheme only, and menu entry
1745 is disabled when not in scilab scheme
1746 * Cursor blink re-enabled on Linux thanks to bug 865 fix
1747 * Cursor blink re-enabled on Windows since I found a better way to work
1748 around dnd locks previously caused by the workaround for Tk bug 1169429
1749 * Missing focustextarea binding added in case Scipad is launched without
1751 * Dnd bug fixed: Dragging from a buffer, going out of it, coming back and
1752 dropping in this same buffer did nothing
1755 Francois VOGEL, 30/11/05
1756 * Fixed Find Next bug with F3: the highlighted part of the text was not
1757 correct when the buffer was modified between two searches - now in such
1758 a case, the Find/Replace dialog pops up again
1759 * F3 finds next (forwards or backwards depending on the radiobutton state
1760 in the Find dialog), now Shift-F3 finds next in the reverse direction
1763 Francois VOGEL, 30/11/05
1764 * All background tasks forbidden on Linux
1767 Francois VOGEL, 29/11/05
1768 * Text boxes from help menu improved:
1769 - Escape dismisses the dialog
1770 - Close button and scrollbar no longer clipped when shrinking the window
1771 * Optimized speed of simultaneous background colorizations
1772 * Performance and response time with large buffers (say 15000 lines) on
1773 keypress much improved by:
1774 - continued lines tagging with an efficient proc
1775 - putting proc keyposn in the background and cancelling pointless launches
1776 * New saved option: Show continued lines, whose background color is a saved
1781 * Additional items in the Help menu, open scrollable text dialogs which
1782 display the files BUGS, CHANGELOG and AddingTranslations.txt. TBD
1783 wether to keep all of them
1786 Francois VOGEL, 25/11/05
1787 * Fixed: The first lines of the buffer could be forgot in the foreground
1788 colorization on file opening
1789 * Fixed background colorization of files with filenames containing spaces or
1790 Tcl special characters
1791 * Scipad.sci surrounds the filename to open with curly braces {} instead
1792 of quotes - prevents one round of unwanted substitution for filenames
1793 containing Tcl special characters
1794 * Fixed bug in relaunch of colorization of a file already being colorized
1795 * Fixed Scilab hang if asking for Configuring execution of CHANGELOG file
1796 in scilab language scheme
1799 Francois VOGEL, 23/11/05
1800 * Fixed bug in colorization of multiple matrix transpose: ' following a
1801 closing bracket, brace or parenthesis is not the beginning of a string
1802 * Fixed a bug in the regexp of proc checkarglist, to allow trailing spaces
1803 in the function definition
1804 * Progressbar procs are no more in a namespace (there was a bug on Linux
1805 when launching Scipad multiple times from Scilab)
1806 * On Linux, background colorization proceeds only if there is X activity,
1807 e.g. if the mouse is moved. This when Scipad is opened from Scilab.
1808 Colorization marches by itself if Scipad is launched from wish. To work
1809 around this, background colorization is no more allowed on Linux
1810 (progressbar is however kept, but no cancel is possible)
1811 * Colorization aborted and relaunched if switching language scheme
1812 * Tcl error on Scipad close during colorization is catched (happened when
1813 launched from Scilab only)
1816 Francois VOGEL, 22/11/05
1817 * Colorization bug fixed for strings containing double quotes ("ex""am""ple")
1818 * Background colorization is canceled if the file has been closed
1819 * Colorization progressbar added (one for each file colorized in the
1823 Francois VOGEL, 21/11/05
1824 * Fixed a bug in the regexp of proc checkarglist (how come it worked before?)
1825 and improved it to better fit what is allowed by the Scilab parser
1826 * Fixed a bug in proc getstartofcontline, that produced wrong recolorization
1827 of continued strings starting at the first line of the buffer
1828 * Joining of continued lines in Ctrl-y Execselection is now through a
1830 * Colorization of multiple matrix transposes in the same logical line is
1831 correct (i.e. no more as textquoted), the logical line extending on a
1832 single physical line or not. Example: A=A'+B'
1835 Francois VOGEL, 19/11/05
1836 * Highlight of entries in the completion popup on mouse pointing occurs
1837 only when Scipad has focus
1838 * Fixed: no completion was found in the Open source of... dialog when
1839 current language scheme was not "Scilab"
1840 * Changed <= into < for the upper bound of test on selection in proc
1841 tkdndbind for the <Drop> event - same change for the lower bound -
1842 this allows to drop a selection at one of the boundaries of the selection
1843 * The mouse cursor is restored to its default appearance when the user
1844 creates a new buffer through Control-n (it was a hand in the new buffer
1845 if Control-n was hit when the mouse was over the selection)
1846 * Better regexp for numbers colorization: doesn't match e123 or d1, and
1847 includes the possible leading decimal dot in the match
1848 * Continued lines (..) are handled for quoted strings colorization, even
1849 if they contain comments - Colorization for comments and quoted strings
1850 is interlaced and has been completely rewritten using regexps and making
1851 no use of the rem2 tag anymore
1852 * Line number finding in functions and logical line number identification
1854 - Mixed continued lines (i.e. single continued lines split in many
1855 buffer lines, some of them containing dots and some other not)
1856 - Nested brackets or braces in continued lines
1857 - Single quote quoted bracket, e.g. mprintf('['); this is no longer
1858 detected as a continued line if single quotes strings are not
1859 colorized, thus producing a correct logical line number
1860 * Colorization of the buffer is done in the background if the entire buffer
1861 needs recolorization. Scipad is immediately responsive on File/Open,
1862 File/Revert to, and Scheme change, regardless of the buffer size
1866 * minor fixes to the completion popup:
1867 -trapping of Shift keypress using %K instead of %k, works in windows and linux
1868 -removed 300 msec delay after an entry is selected (previously added for
1872 Francois VOGEL, 09/11/05
1873 * PgUp and PgDn bindings added for the completion popup
1874 * Keypad Enter key passes the selection completion from the popup the
1875 same way the Return key does
1876 * Improved the look of the popup for Linux (more menu-like)
1877 * Capital letters (shifted keys) can be used during popup completion
1878 * Completion popup size always correct for all the font sizes, even
1879 extremely small or large
1880 * An entry of the completion popup is highlighted when the mouse points
1884 Francois VOGEL, 08/11/05
1885 * Completion popup window, which was a tk_popup menu, replaced by a
1886 text widget posted using the place geometry manager - usability
1887 bindings added. Reasons for this change: the Tcl event loop is not
1888 running on Windows while the menu is posted and this prevents from
1889 updating the list of completions while the user goes on typing when
1890 the menu is already posted. References:
1891 http://wiki.tcl.tk/3713
1892 http://wiki.tcl.tk/10643
1893 http://sourceforge.net/tracker/index.php?func=detail&aid=585003&group_id=12997&atid=112997
1894 http://groups.google.fr/group/comp.lang.tcl/browse_thread/thread/be584c844d3cb442/15630c85782a19a2
1898 * small improvements to derive the classes of scilab keywords from chset()
1899 for future ease of expandability; textarea tag "comm" renamed "command"
1901 * The list of possible completions includes the start of word, if it
1902 matches a Scilab keyword
1905 Francois VOGEL, 06/11/05
1906 * Better retrieval of the keyword start for popup completion - the left
1907 boundary of a keyword does no longer need to be a space or start of line
1908 * Popup completion menu binding is a saved preference from the options
1909 menu (since the default Control-Tab may be used for other purposes on
1911 * Completion binding no longer changes focus from textarea to Close button
1913 * Debug-mode Scipad logs all the (non Tcl/Tk default) bindings of all the
1914 children of $pad instead of only $pad bindings - this setting is
1915 configurable through a global variable
1916 * Cursor blink disabled on Windows to work around dnd locks in drag mode
1917 when clicking quickly in a pre-existing Scipad selection when Scipad
1918 does not have focus (might happen with slow computers)
1921 Francois VOGEL, 02/11/05
1922 * Documented the relevant arrays (chset and words) for colorization and
1923 keyword matching (from Enrico's explanations)
1924 * New: Quick Open source code of... in the file menu
1925 * New: Ctrl-Tab proposes a list of completions from the known keywords
1928 Francois VOGEL, 18/10/05
1929 * Searching for an empty entry in case the Find in files box is checked
1930 now searches for files that match the glob pattern
1933 Francois VOGEL, 11/10/05
1934 * Fixed an error popup when opening the Replace box, typing a string and
1939 * default bindings Control-h,k,i,t in textarea removed, to prevent
1940 text modification without passing through our procs (to recolorize,
1941 take into account editing modes, etc)
1942 * button2copypaste bound to <ButtonRelease-2> (not <Button-2>). Avoids
1943 overlaps with the default <<PasteSelection>>, which caused odd behaviors.
1946 Francois VOGEL, 10/10/05
1947 * Clicking in an existing selection deletes this selection again (this bug
1948 was introduced in 5.44)
1949 * Changed a label for find in files, in order to emphasize that filenames
1950 may be given and not only file patterns
1953 Francois VOGEL, 09/10/05
1954 * Scipad rings a bell when the user tries to modify a buffer during a debug
1956 * The full path of the file is displayed in the status bar when passing over
1957 the entries of the Windows menu, analogously to the File menu
1960 Francois VOGEL, 08/10/05
1961 * Little fix in Obtainall_bp for function names containing question marks ?
1963 * Fix in FormatStringsForDebugWatch for strings containing special TCL
1964 characters such as "${}[]
1965 * Again a better regexp for function names checking in the debugger
1966 configure box (function foo followed by nothing triggered a "check
1967 function definition")
1968 Side effect benefit: the keyword "function" and the function name now
1969 can be on different code (continued) lines
1970 * Dnd bug fixed: select something, and click in the selection without moving
1971 the mouse -> blinking stopped but did not restart. This was on Windows
1972 only since on Linux the cursor does not blink
1973 * Dnd bug fixed: the selection in Scipad could be copied/moved by dragging
1974 the character just after it
1975 * The cursor is moved at the drop position after a dnd
1976 * Space sashes evenly as well as external resizing work better (added update
1978 * Better support for files containing Tcl special chars (braces), that could
1979 not be opened through the most recent list of files (file menu)
1980 * Fixed an "invalid command name "none"" error when launching Scipad from
1981 Scilab with at least one non existing file in the command line, and when
1982 this non existing file preceded existing files in the command line
1983 * New function: find in a directory, in files matching a glob pattern
1984 During search in files, which can be a lengthy process, Scipad is still
1989 * Fixed: missing initialization of chset(scicos) caused errors when
1990 invoking scipad from wish and when typing in scipad during its opening
1991 * proc load_words, which uses dynamickeywords exploits Scilab's new what()
1992 * keyword list now completely dynamical, file words removed.
1995 Francois VOGEL, 25/09/05
1996 * Fixed: even if help function doesn't tell it function v=foo() is allowed
1997 (no bracket around v) - this syntax is now supported
1998 * Variable names (including functions) with special characters better
1999 handled. The debugger now swallows things nobody will probably do but
2000 which are required for Scilab full compatibility, e.g.
2001 function [a$va?r,%an!#va_#!?$r] = %foo#t!u?t$o_u(%ze!$?_#)
2004 Francois VOGEL, 22/09/05
2005 * Fixed: End of log file was missing on Scipad close
2006 * Fixed: When Scipad was launched more than once from the same Scilab
2007 session the logs were missing all the proc entries
2008 * Fixed: Files containing Tcl special chars such as [] could not be opened
2009 through the most recent list of files (file menu)
2013 * added colorization of scicos functions and block names.
2014 makewordfile2.sce now appends them to the words file (#TAG scicos).
2015 * proc openlibfunsource extended to scicos functions and blocks,
2016 menu entry command contextualized
2017 * some default colors changed.
2018 * *.cosf Scicos file type added in Open/Save choosers.
2022 * outside scipad: hack to the function what(), which prints the names
2023 of all Scilab internal functions
2024 * script makewordfile2.sce, to be run manually for now, generates a
2025 "words" file containing the internal functions and the scilab commands.
2026 Scicos functions and system variables used by scilab.start (e.g. LANG,
2027 %toolboxes, demolist,...) are no more included.
2028 * the "words" file is subdivided in two groups, "intf" and "comms"
2029 -old tag "keywords" suppressed, superseded by "intf" and "comms"
2030 -colorization, preferences, etc supports the two new tags
2031 * QTXTCOLOR reverted to "darkred"
2032 * trap for proc blinkbrace called with $brace not one of {")" "]" "}"}
2033 (bad keymodmap problem reported)
2034 * Execute/Evaluate selection contextually activated when a selection
2035 is present; Button-2 paste no more (wrongly) contextually dependent
2036 on the clipboard state
2039 Francois VOGEL, 18/09/05
2040 * Improved log file stuff:
2041 - Explicit close of the log file on Scipad exit
2042 - Added a messageBox in case of a bgerror
2043 - The log file is overwritten each time Scipad is started
2044 - Whenever a bgerror is triggered, the log file is saved as another
2045 filename, which is never erased by Scipad
2046 - Binding triggers are logged
2047 * Prevented the tile procs (maximizebuffer and splitwindow) to run
2048 concurrently thanks to a guard variable - Removing the bindings in proc
2049 disablemenuesbinds was not enough (why? it should have been enough!)
2052 Francois VOGEL, 17/09/05
2053 * Added automatic log file capability for Scipad debug purposes
2056 Francois VOGEL, 15/09/05
2057 * Fixed: Find/Replace search string can contain $ or [ ] signs
2058 * Better regexp in proc checkarglist to check for function names containing
2060 * New implementation of Find/Replace for whole words - allows to search for
2061 whole words starting or ending with non Tcl word characters such as Scilab
2062 special characters ($ % _ # ! ?) - regexp mode can now be simultaneously
2066 Francois VOGEL, 07/09/05
2067 * Fixed further search in selection bugs on Linux: the entry fields of the
2068 Find/Replace dialog don't exportselection anymore
2069 * New (Find/Replace): After having agreed to extend the search to the
2070 entire text, the user can again search in the selection without closing
2072 * If there is a preexisting text in the Find dialog, this text is selected
2073 on opening of the box
2076 Francois VOGEL, 06/09/05
2077 * Fixed (hopefully): grab failed Tcl error on opening the Find/Replace box
2079 * Fixed: the selection doesn't disappear any more in Linux when opening
2080 the Find/Replace box, thus allowing to search in selection (was broken
2081 (by me!) since Scipad 5.7)
2082 * Fixed: a Tcl error "no character tagged with 'sel'" could pop up on
2083 opening again the find dialog with no selection after having canceled
2084 a search in selection
2085 * Fixed: Find/Replace works when strings contain spaces
2086 * Fixed: Find/Replace works when strings contain quotes or antislashes
2087 * New (Find/Replace): Regxep compilation errors are catched and the user
2089 * Fixed: Scilab legal function names starting with a Tcl special character
2090 such as % _ # ! ? or even $ are fully supported in the debugger
2091 * Fixed: Scilab legal variable names starting with a $ are fully supported
2095 Francois VOGEL, 05/09/05
2096 * Completely rewrote Find/Replace procedures to allow to search and replace
2097 in more than one buffer
2098 * Fixed: the foundtext tag that stayed forever after a find next triggered
2099 by F3 is now removed on buttonpress event (was fixed in 3.42 but broken
2100 again later when additional bindings for dnd were implemented)
2101 * Fixed: Moving of the Find/Replace dialog when it hides a match works also
2102 when Scipad has split windows
2103 * Improved the overlapping detection in proc MoveDialogIfTaggedTextHidden:
2104 previously the find dialog was said to overlap whenever any part of the
2105 full line containing the match overlapped the dialog; now the overlap
2106 detection is precisely reduced to only the exact matched characters area
2107 * Tk bug 1275237 worked around - occurred when replacing a string by an empty
2109 * Total number of replaces is displayed after a Replace all in all opened
2111 * Added the missing Alt binding for Find/Replace in all opened files
2112 * New Find/Replace function: toggle on/off search in selection
2113 * New Find/Replace function: match whole word only
2114 * Replace in selection can be extended to the whole buffer when no match
2115 is found in the selection
2116 * Select all moves the cursor at the end of the selection (fixed by Enrico)
2117 * Added global variable Tk85 which is true if Tk version is at least 8.5
2118 This is useful to prepare the transition of Scipad to Tcl/Tk 8.5. Currently
2119 Scipad works as well under 8.4 or 8.5, but certain options or commands
2120 available only in 8.5 are used when Tk 8.5 is present, for instance:
2121 - $panedwindow paneconfigure $pane -stretch always
2122 - $text search -strictlimits (this one was bugged: Tk bug 1281228
2123 but is solved in Tk cvs since 10/10/05)
2124 * External resizing of Scipad does no more space all sashes evenly but
2125 rather move the sashes in such a way that the relative size of panes
2126 are maintained (uses -stretch always in 8.5, which is emulated in 8.4
2127 but result is not always perfect in 8.4)
2130 Francois VOGEL, 25/08/05
2131 * Binding on $pad <Configure> for spaceallsashesevenly catched because it
2132 can be triggered on Scipad exit, which caused a Tcl error
2133 * Documented Find/Replace procedures
2134 * Find/Replace informs that it has wrapped around in relevant cases
2135 * Changed a bit the geometry of the Find/Replace box to make better use of
2137 * Added a checkbox in the Find/Replace dialog for searching in all the
2138 opened buffers - Only replace all is working now
2141 Francois VOGEL, 24/08/05
2142 * Double-click with Button-1 on a sash evenly spaces the sashes of the
2143 panedwindow containing this sash
2144 * Removed hardwired menu entry ids used with entryconfigure to enable or
2145 disable contextually certain menu entries. Array MenuEntryId contains
2146 now the entry index of the argument in the relevant menu
2147 * All the main menues can be torn off. This feature is not felt as being
2148 necessary for sub-menues
2149 * Undo, Redo, Cut, Copy and Paste commands are enabled/disabled contextually
2150 in the Edit menu, and the corresponding bindings are set accordingly
2153 Francois VOGEL, 23/08/05
2154 * Fixed: Space sashes evenly did forget to move sashes of certain paned
2155 windows (fixed in proc getlistofpw)
2156 * Fixed: The output of getpwtree is now correctly ordered in the packing
2158 * Better merging of panedwindows (step 2)
2159 * Tiles keep their relative sizes on external resizing of Scipad
2160 * Open in new tile has an H and a V variation
2163 Francois VOGEL, 22/08/05
2164 * Fixed a Tcl bug introduced in 5.28 when there is zero recent files in the
2168 Francois VOGEL, 19/08/05
2169 * Replaced tabs by 4 spaces in the source code (sorry!)
2170 * Fixed: "Space sashes evenly" ignored the root paned window
2171 * Fixed: Tcl bug could pop up on "Tile all" with certain tiling pictures
2172 * Automatic relocalization of the hide/show buttons in the watch window
2173 * The current buffer becomes the top-(or left-)most buffer on a Tile All
2174 command (previously it was the first in the windows menu list, i.e. no
2175 way to change the order of tiling)
2176 * Button-2 on a tile title switches the tile content to a hidden buffer
2177 * Added "Open in new tile" command.
2178 * Potential bug fixed in extractindexfromlabel when used with anything
2179 else than the windows menu, namely the file menu. An entry with the same
2180 name as a menu label would have fooled this proc
2183 Francois VOGEL, 18/08/05
2184 * Fixed: merging of panedwindows should not be executed if destroypaneframe
2185 is called with nohierarchydestoy argument
2186 * Continued implementation of panedwindows merging - not yet absolutely
2187 perfect but we can certainly live with this
2188 * Fixed: When launching Scipad in wish, the wish process was still alive in
2189 the computer after Scipad close
2190 * Slightly better Space sashes evenly command since getlistofpw now sorts
2194 Francois VOGEL, 14/08/05
2195 * Better prevention of multiple binding fires for FocusIn event
2196 * Fixed: The following sequence triggered a bug: open Scipad, type something
2197 in the empty buffer, open another buffer, and then split
2198 * Documented paned windows implementation in buffernavigation.tcl
2199 * Implemented merging of panedwindows to prevent the grey border from growing
2200 on buffer close/reopen/split - this is not finished yet
2203 Francois VOGEL, 06/08/05
2204 * Printing on Windows implemented using Scilab instructions (printsetupbox and
2205 toprint) - No colorization yet
2206 * File changes on disk is now detected on Scipad FocusIn event, not only when
2210 Francois VOGEL, 29/07/05
2211 * Fixed clipping of pane title when Scipad window becomes really small
2212 * Restored pane minsize on a split (was forgotten)
2213 * If there is a hidden buffer at the time the Split command is invoked
2214 then this buffer is used for display in the new pane instead of always
2215 opening a new empty buffer
2218 Francois VOGEL, 26/07/05
2219 * Emacs-like implementation of panedwindows (major change wrt to previous
2221 - the set of displayed buffers is a subset of the overall buffers set
2222 - tilestyle does not exist anymore - got rid of the concept of tiling mode
2223 - Split commands added, Control-Key-2 and Control-Key-3 bindings changed
2224 - Space sashes command added
2225 - Tile H and Tile V commands kept (operate on all opened buffers)
2226 - File/Open opens a buffer in the current tile
2227 - File/Close closes the buffer and displays a previously hidden buffer
2228 (or closes a pane if no undisplayed buffer is available)
2229 * Disabled close button in tile titles during the close process - Prevents
2230 the user from clicking repeatedly, e.g. during confirmation for saving
2231 * Fixed expanding of the button bar in the watch window (happened on initial
2235 Francois VOGEL, 20/07/05
2236 * proc updatepanestitles improved to prevent rapid switching of buffer names
2237 in the Scipad title bar on closing a buffer when many are opened
2238 * Fixed: when previous exit was done in horizontal panes mode, the next
2239 restart used vertical orientation
2240 * Double-Button-1 on tile title binded to maximization of the clicked buffer
2241 * Added accelerators for tile mode in windows menu
2242 * Better centering of the label in the tile title
2245 Francois VOGEL, 19/07/05
2246 * tilestyle is a saved preference
2247 * New: dnd: works now when dragging from outside of Scipad and dropping in
2248 Scipad (the other way, Scipad -> outside already worked)
2249 * Fixed (on Windows only): clicking on [x] or File/Exit to close Scipad works
2250 even if Scipad is performing certain other tasks
2251 * Bulletproofed File/Close (Control-w), tilebuffers and maximizebuffer so
2252 that the user can't trigger them before the previous one is finished -
2253 this has been done by disabling certain menues entries and bindings before
2254 launching the command, and restoring them after execution
2257 Francois VOGEL, 18/07/05
2258 * Fixed: extend selection with Control-Button-1 works again (this was lost
2259 when the user clicked on a selection without moving the mouse)
2260 * Fixed: text widget selection is removed in the "old" buffer on buffer switch
2261 * Shift-Tab binding corrected to prevent default bindings from triggering
2262 * Clicking on a pane title selects this pane
2265 Francois VOGEL, 18/07/05
2266 * Minor improvements or bug fixes to the paned window:
2267 - clicking on a pane title frame selects this pane
2268 - windows menu radiobutton is updated when the user clicks in a pane
2269 - close button added in each pane
2270 - locale change is propagated to all the panes titles
2271 - the horizontal scrollbar of each pane could get clipped when the text
2272 widget size was very small - Scipad now clips the text widget first,
2273 until there is nothing else to do than to clip the scrollbar
2274 - Drag and drop works between panes - major rewrite of the dnd procs
2275 * Fixed: initialisation of funtogoto was missing in updateactbreakpointtag
2278 Francois VOGEL, 16/07/05
2279 * First implementation of panedwindows to display more than one buffer at
2280 the same time. Better use it with Tcl/Tk 8.4.10 or higher since Tk bug
2281 1192323 is fixed by Tk patch 1124198
2282 * Fixed: The title bar is now updated on Options/Filenames change
2286 * "&" -> "ampersand" in proc localetools.tcl/fb makes the null underline
2287 binding <Alt-&> acceptable in linux too
2288 * after 0 at line 449 of findreplace.tcl works around an event sequence
2289 problem in linux, which popped up an error upon <Alt-key> cancelling
2293 Francois VOGEL, 05/07/05
2294 * Proc amp improved to provide the right index of the character to underline
2295 when the string contains one or more escape characters (\)
2298 Francois VOGEL, 04/07/05
2299 * Alt bindings in dialogs are now "flexible" ones, i.e. they can change
2303 Francois VOGEL, 03/07/05
2304 * Alt bindings and underlines added in goto line dialog
2305 * The Find/Replace dialog uses Alt bindings instead of Control bindings
2308 Francois VOGEL, 29/06/05
2309 * New Go to line... option implemented:
2310 - Go to logical line N in current buffer (useful for .sce or mixed files)
2311 * Logical line number in buffer is displayed in statusind2 for Scilab files
2312 when the cursor is not in a function
2313 * Modularity of whichfun further improved - creation of proc countcontlines
2316 Francois VOGEL, 28/06/05
2317 * Fixed debug menu entries states after locale change
2318 * The useless toplevel created by wish when running Scipad outside of Scilab
2320 * Go to line... options implemented:
2321 - Go to physical line N in current buffer
2322 - Go to physical line N in function...
2323 - Go to logical line N in function... (takes into account continued lines)
2324 * Rationalized the use of proc whichfun by encapsulating it in higher level
2325 procs (getallfunsintextarea, getallfunsinalltextareas) and making use of
2326 these instead of the loop that regexp-searches for "\\mfunction\\M" and
2327 checks whichfun it is in
2331 * locale can be changed on the fly via the Options/Locale menu.
2332 * $lang added to $listofpref, the locale is an option remembered across
2334 * [commented out] menu entries for opening BUGS, CHANGELOG,
2335 AddingTranslations.txt, msg_files/*.msg added as placeholders in the help
2337 * textarea.tcl/setfontscipad: the menu tree is automatically traversed
2341 Francois VOGEL, 20/06/05
2342 * $listoftextarea fixed - Maintaining order of its elements is required
2343 * Bug fixed: Opening two files with the same name did not tag one of them
2347 Francois VOGEL, 16/06/05
2348 * Nasty bug fixed: With many opened buffers, saving one of them from the
2349 middle of the windows menu list caused loosing consistency between the
2350 tick/entry in the windows menu and the buffer actually displayed
2351 * $dialogFont instead of $textFont in the Linux message boxes
2352 * file choosers (open/save as) and color picker also use $dialogFont
2355 Francois VOGEL, 15/06/05
2356 * Most of the subwindows (Find/Replace, Debugger windows, tk_dialog, Goto
2357 line, Print Setup, tk_messageBox) inherit the current font on Linux.
2358 This is not possible on Windows because the dialogs used by Tk on Windows
2359 are native ones. Still to be implemented: file choosers (open/save as)
2360 and color picker, i.e. tk_getOpenFile, tk_getSaveFile and tk_chooseColor
2361 * Bug fix: Replace all by an empty string did pop a tcl error
2362 * Proc whichfun swallows nested function definitions with continued lines.
2363 This is important for the debugger, that relies on the correct output of
2364 whichfun to display the active breakpoint for instance
2365 * Bugzilla url updated
2368 Francois VOGEL, 12/06/05
2369 * If there is a preexisting text in the Find dialog, this text is selected on
2371 * Resizing of the watch window panes could sometimes lead to clipping of these
2372 panes. This is Tk bug 1192323. Tk patch 1124198 solves the issue and is part
2373 of Tk 8.4.10 and Tk8.5a3. Since Tk 8.4.10 is now shipped with the Scilab
2374 binaries for Windows, I consider this issue closed. Anyway, this is outside
2376 * Fixed the resizing issue in the watch window using information provided in
2377 Tk bug 1217762 (the "Close" button could still be clipped after Tk patch
2381 Francois VOGEL, 07/06/05
2382 * On successful opening of the first file after Scipad launch, the unmodified
2383 empty buffer that is opened by default is automatically closed
2384 * The default bindings of the text widget correctly report the buffer as
2385 modified. This includes Control-k (delete from the insertion cursor to the
2386 end of line), Control-t (transpose text), Control-i (insert a tab),
2387 Control-h (delete one char) and maybe other default bindings. This feature
2388 required no change of the code since it is a benefit from making use of the
2389 undo mechanism embedded in the text widget (Scipad 5.3)
2390 * Inserting a breakpoint when the cursor is outside of the displayed area
2391 moves the text so that the new breakpoint is visible
2392 * Bug fixed: The order of the watch variables (that can be changed by drag
2393 and drop using button-3) is no longer lost after resuming the debug
2394 * Toggling the "Get value from Scilab" flag in the add argument window moves
2395 focus to the field of interest
2396 * Moved all the debug settings at the top of defaults.tcl
2400 * new proc pbind in the new sourced file platformbind.tcl: tries all
2401 the known key sequence names, instead of trying the relevant one for each
2402 platform (useful for Shift-Fn bindings)
2405 Francois VOGEL, 05/06/05
2406 * Fixed a regression introduced in 4.7: Control-Button-1 did no longer extend
2410 Francois VOGEL, 04/06/05
2411 * Undo/Redo mechanism and modified flag replaced by the text widget embedded
2412 one (since Tk 8.4). This fixes some bugs and has many side advantages:
2413 - Undo/redo stacks were sometimes not consistent with the modified flag,
2414 e.g. if the user typed something, saved, undid once and redid once,
2415 then the modified flag was still active
2416 - Cut, paste, undo, undo did forget the colorization of the text on which
2418 - More than one single undo (or redo) is no more needed to cancel (or
2419 redo) an action that first deleted the selection, e.g. a paste over a
2420 selection, or a text move with dnd
2421 These are all fixed.
2422 * Fixed: If the height of the textarea is an exact multiple of the line height
2423 it was not possible to scroll down during a dnd (same issue horizontally)
2426 Francois VOGEL, 30/05/05
2427 * Watching large arrays can quickly lead to ScilabEval commands exceeding the
2428 length limit, usually resulting in a shell error and messing the debug. This
2429 is now taken into account. Such long commands are saved in a file in tmpdir,
2430 the command is split in parts whose size is smaller than bsiz, and the
2431 file is executed by a ScilabEval. These file accesses are catched to avoid
2432 problems with permissions, disk size, etc. If there was such a problem, the
2433 user receives a warning. This allows for instance to watch big variables
2434 containing thousands of components, or to watch a large number of variables
2437 Francois VOGEL, 29/05/05
2438 * Bug fixed: Right-click on a variable to add it as a watch did not work if
2439 this variable was on a breakpointed line
2440 * Fixed: Backspace or the like now scroll the main window to keep the cursor
2442 * Fixed: If a watch variable is a list containing one or more undefined
2443 items, then these items became defined (as a string) when running to the
2444 next breakpoint. They now stay as properly undefined items
2445 * Fixed: An unknown variable (getvaluefromscilab) error could pop up during
2446 quick add watch if the added variable did already exist as a watch
2447 * The add variable box now adjusts dynamically its width to be just large
2448 enough to hold its content
2449 * The debugger now allows for watching an element of a variable, and not
2450 only the full variable array (i.e. to watch things like d(1,3) or d(i)
2451 or even sub-arrays such as d(1:3) and not only d if d is a matrix or a
2452 list) - Warning: it can watch b(16/8+3*2-1) but not b(16/8+(3*2)-1) since
2453 only one set of parentheses or brackets is allowed - Expression watching
2454 such as a+b or plot(x) still not yet implemented
2455 * Duplicated in the watch window the visual indication about the debugger
2456 status that is already displayed in the statusbar of the main window
2457 * The watch window can now be opened before execution is configured
2458 * The watch variables of type poly are now displayed with the unknown
2459 variable given by varn. Previously it was OK if and only if degree>0
2460 * '' strings in comments are correclty marked as strings if Options/Colorize
2461 'Strings' is untagged and retagged (fixed by Enrico)
2462 * Cancelling closure of modified buffers does no longer ask multiple times
2466 Francois VOGEL, 17/05/05
2467 * Bug 1228 fixed - Cancel button removed when Scipad is exited because of
2468 a Scilab quit (but kept when exit is called from Scipad)
2469 * version --> still 5.0
2472 * version --> 5.0, incrementing the major for the new scilab release 3.1
2474 Francois VOGEL, 09/05/05
2475 * Fixed: "grab failed" on Linux happened when the user double-clicked on
2476 a variable name in the watch or configure box
2479 Francois VOGEL, 08/05/05
2480 * Simplified shading of colors for the activeforeground colorization
2481 scheme in Options/Colors menu, following discussion on comp.lang.tcl
2482 * Added a checkbutton in the watch window add variable dialog box in order
2483 to force acquisition of the current value of this variable from the shell.
2484 This is useful during a debug session when the user adds a new watch
2485 variable just to check its current value without changing it. Previously,
2486 update was only performed after the next breakpoint stop
2489 Francois VOGEL, 06/05/05
2490 * Second proposal for a better activeforeground colorization scheme in
2491 Options/Colors menu, now better taking into account 16-bit colors as
2492 selected by the user in the color picker
2495 Francois VOGEL, 05/05/05
2496 * Proposal for a better activeforeground colorization scheme in Options/Colors
2497 menu, using http://aspn.activestate.com/ASPN/Cookbook/Tcl/Recipe/133529
2501 * cosmetic: colored activeforegrounds in menue Options/Colors
2504 Francois VOGEL, 05/05/05
2505 * Bug fixed: line/column indication in the bottom bar was no longer updated
2506 when the insertion cursor was moved by clicking on the text area. This bug
2507 was introduced in Scipad 4.7
2510 Francois VOGEL, 03/05/05
2511 * Bug fixed: when in debug mode and there was no mouseoversel before, there
2515 Francois VOGEL, 29/04/05
2516 * Fixed: selection bounds could miss the first and/or last characters after
2517 a replace whose first or last match started or ended at the selection
2519 * Watch window made resizable, and with 2 paned windows inside to adjust
2520 size of the call stack area and the variables area, and inside the variables
2521 area, the respective sizes of the variable names and the variable content.
2522 There is still a quirk, which is Tk bug 1192323 (partially solved in
2523 Tk8.5a3 cvs 29/04/05), but one can certainly live with it for the moment
2524 * Add arg window made resizable
2527 Francois VOGEL, 27/04/05
2528 * Better fix for the Replace all bug supposedly fixed in 4.7 (there were
2529 still cases that could hang Scipad) - Rewrote proc ReplaceAll
2530 * Bug fixed: Regexps finds or replaces could produce an error if the
2531 search was performed independently of character case (e.g searching
2532 for [ab] in a buffer containing xxAxx)
2535 Francois VOGEL, 26/04/05
2536 * RamDebugger capability added (MUST be set to "no" for committed
2537 files, see at the top of defaults.tcl)
2538 * Bug fixed: Replace all could hang Scipad when the string to search was
2539 included in the string to replace
2540 * Bug fixed: Trying to drag and drop in the call stack area of the watch
2541 window produced an error - Now this operation is no more allowed
2544 Francois VOGEL, 18/04/05
2545 * Refined the popup menu for "Add watch" to include the selected text.
2546 * Made use of the existing tags as well as of a regexp deduced from help
2547 names in Scilab. Only valid variables can now (in principle) be added
2548 on right-click on selection during debug
2549 * Some editing in the message files - German version added
2552 Francois VOGEL, 15/04/05
2553 * Slight change in proc OKconf_bp to avoid executing foo(1,2,,,) in case some
2554 input parameters are not given. This lead to wrong value of rhs (5 in this
2555 example). A call such as this one is now trimmed to foo(1,2), giving the
2557 * Consistent change made in proc checkarglist to avoid Scipad complain when
2558 argument order is not the same as what is in the function definition, and
2559 argument value is "" (meaning this argument will not be sent on execution)
2560 * Bug fixed: The message box "Check function definition" could inopportunely
2561 pop up when there was more than one opened buffer
2562 * Added a popup for the debugger: if the user right-clicks on a selection
2563 he can now quickly add the selection as a watch variable
2564 * The debug session is now properly canceled on Scipad close, so that Scilab
2565 is no more in a messy state in such a case
2566 * The debug session is aborted if the user closes the buffer that contains
2567 the function launched for debug. If another buffer is closed, all the
2568 breakpoints of the closed buffers are removed from Scilab and the debug
2570 * Minor bug fixed: the watch window icons for run to cursor and break (these
2571 features are still pending, waiting for the Scilab parsers to be fixed...)
2572 were sometimes inopportunely enabled
2573 * Selection made visible even if overlayed by a breakpoint
2574 * Bux fixed: In the debugger watch window with several watch variables, when
2575 execution has stopped due to a breakpoint, when the user changes the value
2576 of some variables and then adds a new variable (Add/Change button or
2577 right-click on selection), then the changes previously made on the other
2578 watch variables were lost
2579 * Credit given to Gunnar in the About box for the se translation
2583 * fixed linux printing. Checked, it works both with "lpr" and
2584 "a2ps -2 -Pprinter". If the buffer is unmodified, no temporary
2585 file is created (a2ps adds the proper header, which is nice)
2586 The syntax has to be "$printCommand $file" (this excludes for the
2587 moment e.g. "cat $file | lpr", but that could be reworked), and
2588 if $printCommand reports something (e.g. the job number or the number
2589 of pages, as a2ps does), that is popped up.
2590 * Preference values are written in {} in the preference file. This was
2591 necessary since $printCommand can contain spaces, minuses, piping chars.
2592 * Credit message in proc aboutme desourced, and expanded in each *.msg file.
2593 This will ease adding information, such as translator credits.
2597 * menu Options/Colors colorized enforcing background and foreground
2598 color settings - makes it as readable as the textarea will be.
2601 Francois VOGEL, 10/04/05
2602 * Dropping text at the same place it was dragged from does no more tag the
2606 Francois VOGEL, 03/04/05
2607 * Scipad silently displays the already opened buffer if the corresponding
2608 file menu entry is selected - no complain any more
2609 * Bindings with shift modifier corrected for Solaris Sun OS
2610 * env(SCIHOME) is now used instead of env(HOME) for saving the preferences
2611 file (changes by A. Cornet)
2612 * version --> 4.1 - This version comes with Scilab 3.1RC
2614 Francois VOGEL, 25/03/05
2617 Francois VOGEL, 24/03/05
2618 * Last minute drag and drop improvements:
2619 - restored cursor blinking on Windows (found a tricky workaround for
2621 - further fix for quick drags, on Linux this time
2624 Francois VOGEL, 23/03/05
2625 * Again drag and drop improvements:
2626 - restored dnd for text/uri-list that was broken on Linux
2627 - Control-Button1 binding fixed - can now be pressed before drag start
2628 - fixed wrong behavior with quick drags (selection was sometimes extended)
2631 Francois VOGEL, 21/03/05
2632 * Drag and drop improvements for text within Scipad:
2633 - action can now be switched between copy and move during a drag operation
2634 - the cursor can no more be located inside a selection
2635 - scrolling of the window when drop location approaches the window border
2636 - cursor changes shape when over a selection
2637 * No more blinking of the cursor on Windows (temporary patch because of a
2638 glitch with drag and drop)
2641 Francois VOGEL, 20/03/05
2642 * Changed bindings for drag and drop of text within Scipad for more standard
2643 ones: Button-1 now moves, whereas Control-Button-1 copies.
2644 * Binding for openlibfunsource is now Shift-Control-Button-1 (had no better
2648 Francois VOGEL, 19/03/05
2649 * Added an "Exec done" showinfo so that the user has a visual feedback of his
2650 action when it results in no change in the Scilab window.
2651 * F10 (Configure execution) in the debugger now accepts function definitions
2652 split on multiple continued lines, possibly with interlaced comments.
2653 There is still a limitation due to the tcl fact that matches must be within
2654 a single text line. Therefore the keyword "function" and the function name
2655 must still be within a single line.
2656 * Find/Replace with regexps could highlight the wrong number of matched chars.
2657 This is fixed but there is still something unclear about the text widget
2658 search command, whose switch -count var does not always update variable var
2659 with the length of the match. Worked around and code cleaned from -count
2661 * Drag and drop of text within a buffer is now implemented. Possible actions
2662 are move (Shift-Button-1) and copy (Shift-Control-Button-1).
2665 Francois VOGEL, 16/03/05
2666 * Differences of keysyms between Linux and Windows platforms are now fully
2670 Francois VOGEL, 16/03/05
2671 * Several minor glitches corrected for Find/Replace, in selection or full
2672 text, related to changing search direction between searches
2676 * new option available: single quoted strings colorized as strings/not
2679 Francois VOGEL, 13/03/05
2680 * New options made available:
2681 - Tab key inserts spaces or tabs
2682 - Max number of recent files in the file menu (possibly zero)
2685 Francois VOGEL, 12/03/05
2686 * New options made available:
2687 - File names: Full, or Full if ambiguous, or Pruned file names
2688 - Indentation spaces number - used for Ctrl-d as well as Tab
2689 - Binding for Tab: insert spaces to the next tab stop, or indent the
2690 selection if it starts at the beginning of a line - useful for
2691 quickly reindenting code parts newly enclosed in ifs for example
2692 * Fixed: some menues did not have the same fonts than the others
2696 * procs openlibfunsource1 and wordwrap eliminated; the menu entries using them
2697 can just inline them.
2700 Francois VOGEL, 09/03/05
2701 * Word wrap is now correctly taken into account between Scilab sessions
2704 Francois VOGEL, 09/03/05
2705 * Again changes related to request 168, and find/replace:
2706 - bindings corrected for the replace dialog (still ctrl-key bindings)
2707 - trying to replace with an empty string now works correctly
2708 - there were tricky cases where replace all could enter an endless loop
2709 (e.g. replace d by dd, starting the replace between two matches on
2710 the same line) - this is fixed
2711 * maxrecentfiles = 0 is now fully supported in case that value is selected
2712 in the options menu to come
2713 * Find in selection now works correctly on Linux also
2714 * Wrt the new Options/colors, propagated changes to french messages
2718 * Options menu split in Scheme and Options
2719 * Word Wrap moved to Options menu
2720 * all scipad colors are configurable within scilab with the Option/Colors
2721 submenu, and immediately updated
2724 Francois VOGEL, 07/03/05
2725 * Further changes related to request 168:
2726 - position of the text found/replaced is now given in the status bar
2727 - the foundtext tag that stayed forever after a find next triggered
2728 by F3 is now removed on keypress or buttonpress event
2729 - when the user hits replace, now the previously found text is replaced
2730 instead of the next one - if no match was previously found, then a
2731 search occurs, immediately followed by a replace if successful
2732 - now the possibly existing selection remains visible while the find
2736 Francois VOGEL, 06/03/05
2737 * Request 168 fixed:
2738 - focus stays in Find/replace dialog (the new tag foundtext is used
2739 instead of the (special) sel tag)
2740 - Find Next button added in the Replace dialog
2741 - Intelligent move of the dialog occurs in case the text found would
2742 have been hidden behind the dialog
2743 * In case of opening a precendently opened file from the recent file list,
2744 the corresponding entry is moved at the top of the list.
2748 * fine-tuning for linux drag&drop (.* files considered when dragging
2749 directories, .. and . excluded, warning for drops of non file://
2750 objects (e.g. ftp:// or http://). Filenames with non escaped spaces
2751 (or with %20) not yet supported.
2752 * warning issued when trying to open a file from the recent list, if the
2753 file does not exist anymore.
2754 * preference added scilabSingleQuotedStrings=yes/no
2755 * removed the unnecessary input argument to proc showopenwin
2758 Francois VOGEL, 01/03/05
2759 * Directory dropping in Scipad now handled (opens all the files in it)
2760 * Wrong underline removed for >9 recent files in the file menu (hack)
2764 * $winopened starts from 1 (i.e the first new buffer is Untitled1.sce)
2765 * scipad.sci takes care to close $pad.new1, not $pad.new0, when needed
2766 * found where to drop a magic update (top of mainwindow.tcl) which makes
2767 the initial buffer reactive to drag&drop under linux (and possibly
2768 solves old obscure geometry problems related to the initial buffer)
2769 * proc openlistoffiles in filecommands.tcl removes the eventual
2770 prefix "file://" - needed for d&d in linux
2773 Francois VOGEL, 27/02/05
2774 * Added a number in front of the recent files names.
2777 Francois VOGEL, 26/02/05
2778 * The list of the 4 more recently opened/saved files is now available in
2779 the file menu for quick access.
2782 Francois VOGEL, 24/02/05
2783 * New buffers are no more tagged as modified.
2784 * Trying to exec an empty buffer is catched.
2785 * Code rationalization:
2786 - replaced $pad.textarea by $pad.new$winopened
2787 - inccount, outccount, getccount become setmodified, unsetmodified,
2791 Francois VOGEL, 23/02/05
2792 * Few glitches correction about pruned file names.
2793 * New buffers are now tagged as modified (required changes in scipad.sci).
2794 * Trying to paste with button-2 when there is no selection does no more
2795 tag the buffer as modified.
2796 * Further drastic code cleaning. The only unclean file is now undoredo.tcl
2797 but this will be removed one day or another anyway to be replaced by the
2798 text widget undo/redo features.
2801 Francois VOGEL, 21/02/05
2802 * Scipad now displays only pruned filenames (and full pathnames in
2803 case of ambiguity) in the titlebar and windows menu.
2804 * A lot of drastic code cleaning in filecommands.tcl, infomessages.tcl,
2805 buffernavigation.tcl, inputtext.tcl plus a few more around those files,
2806 rationalizing, suppressing old unused or duplicate procs, reindenting,
2807 removing superfluous comments but adding explanatory comments.
2810 Francois VOGEL, 17/02/05
2811 * Drag'n'drop one or more files at once from the explorer to Scipad now
2812 works (opens the file(s)).
2813 Reference: TkDnD package - http://sourceforge.net/projects/tkdnd
2814 Possible absence of the package is catched (no warning issued).
2817 Francois VOGEL, 16/02/05
2818 * Removed duplicate "Add/Change" in fr.msg and it.msg
2819 * Added strings in the message files
2820 * .ScipadPreferences.tcl is now saved in the home of Scilab
2824 * indent/unindent supports a fixed arbitrary number of spaces, set by
2825 the preference variable indentspaces
2826 * localization to italian (proof of the concept)
2827 * typo corrected in fr.msg
2828 * fake ScilabEval also puts to stdout
2831 Francois VOGEL, 16/02/05
2832 * Cosmetic: Aligned strings in the About box
2833 Translated message for fake ScilabEval
2837 * added a void fallback definition of ScipadEval and sciprompt in scipad.tcl.
2838 This is useful for running scipad independently of scilab, e.g. in wish,
2839 in order to debug the tcl code.
2840 * void fallback chset(scilab.predef) and chset(scilab.libfun) in colorize.tcl
2841 * moved a few toplevel code lines from scipad.tcl to mainwindow.tcl and
2842 slighly reedited the latter
2845 Francois VOGEL, 13/02/05
2846 * Some french menues underlines changed (were duplicates or unconvenient)
2847 * Menues/buttons underlines are now taken into account without if {$lang==
2848 Reference: http://wiki.tcl.tk/3665 (magic ampersand)
2849 * Some bindings changed in the Find and Replace dialogs. Bindings are now
2850 locale-independent, as well as shortcuts (accelerators in menues).
2851 * Select all is now binded to Ctrl+a instead of Ctrl+/
2852 * Open function source is now binded to Ctrl+/ instead of F8 (reserved for
2853 the debugger step by step commands)
2856 Francois VOGEL, 12/02/05
2857 * Bug 1203 corrected (darkred replaced by red for QTXTCOLOR to work on HP)
2858 * Implementation of message files using msgcat.
2859 Reference: http://wiki.tcl.tk/1488
2860 Note: Menues underlines are not yet translated, since they are not handled
2861 by the msgcat package. That's why some if {$lang=="eng"} are still
2865 Francois VOGEL, 09/02/05
2866 * Debugger commands Run to cursor and Break are now temporarily disabled
2867 since parser issues in Scilab are not solved. Bugs 1086 and 1120 must
2868 be solved first. These commands can be quickly activated again for debug
2869 or development by setting dev_debug to "true" in db_init.tcl
2873 * fixed colorization bug introduced with 3.22 (one char to the left
2874 too much colorized as keyword while typing)
2875 * fixed some tag range issues for the name of the function to be
2876 opened by mouseclick or menu command
2877 * catched the saving of the preference file, so no error is reported
2878 if it cannot be written
2881 Francois VOGEL, 27/01/05
2882 * Bug corrected - Ctrl-x was still able to cut text in a locked buffer
2886 * "open function source" added in the File menu, enabled if in case
2887 * corrected search for keywords in colorize.tcl, whichfun.tcl: scilab
2888 names ae not just words in the tcl sense, they can contain %#!?$
2891 Francois VOGEL, 27/01/05
2892 * Bug corrected - When hitting return somewhere in the active breakpoint
2893 line, the related activebreakpoint tag was not updated
2894 * The buffer is now locked during a debug session, no changes allowed
2898 * Ctrl-B1 clicking, or issuing F8 when the cursor is in a libfun
2899 opens the source file (via get_function_path()) of that libfun
2900 (undocumented yet, nor reported in a menu)
2901 * a nicer color for libfun
2902 * filename printed in the message "file is alread opened"
2906 * new tagging classes for scilab keywords: libfun and predef
2907 * keyword lists for them derived from scilab at launch time
2908 * file "words" purged of all the keywords in the two lists above
2909 * new colors for them
2912 Francois VOGEL, 20/01/05
2913 * Added accelerator name on the watch window buttons tooltips
2916 Francois VOGEL, 19/01/05
2917 * Strings containing slashes are now correctly handled in the watch window.
2918 * The watch variables area and/or the call stack area in the watch window
2919 can now be hidden/shown.
2923 * "Create help skeleton" warns about preexisting xml files. Messages
2924 there in french too.
2927 * proc execfile returns a value (0=success, 1 scilab busy, 2 cancel, -1 fail)
2928 * added new commands "Create help skeleton" and "Compile as a help page"
2931 Francois VOGEL, 01/01/05
2932 * Improved proc scilaberror since I fixed bug 1091
2933 * Added automatic popup bubbles (balloons) displaying a help text when the mouse is
2934 over an icon of the watch window
2935 * Added Ctrl+a binding to select all the text in the current buffer (more common
2936 in Windows than Ctrl+/)
2937 * Added test in proc scilabexec, to cope with string length limits in C language
2938 (related to bug 885 correction I made in the Scilab core code). Now the selection
2939 to execute is displayed in the shell if and only if its length is less than 509
2940 characters. The full string is however passed for execution in the shell. If its
2941 length is greater than bsiz (currently 4096 chars), it is truncated in
2942 TK_ScilabCallback.c to avoid internal buffer overflow. In that case, the
2943 truncated string is executed and a warning is printed in the shell.
2944 * Added two new debug commands: "Run to cursor" and "Break". They are not yet
2945 working correctly due to bugs 1086 and 1120, and they should not be used.
2949 * button-2 bound to the new proc button2copypaste - [almost] fixes
2950 the issue of importing external X selections into scipad
2951 * version --> 3.14 (and I resist from calling it pi)
2954 * added support for user preference file $env(HOME)/.SciPadPreferences.tcl,
2955 loaded at startup by defaults.tcl and saved on exit
2956 * wm geometry in strict pixels (avoids cross-session shrinking due to wm decorations
2957 * outside of Scipad: removed %scipad_fontsize from SCI/etc/scilab.start and
2958 SCI/macros/util/scipad.sci: overridden by the user preferences file
2961 Francois VOGEL, 10/11/04
2962 * Reworked reading of icons from disk. Resized icons independently of their original
2963 size (for display in a toolbar such as in the watch window). Same icons with further
2964 reduced size are now displayed in the debug menu. There is now an icon for each debug
2965 menu entry (thanks to ES for the design!)
2966 * Changed the order of the menues in the menubar.
2967 * Changed the order of the items in the help menu.
2968 * The watch window content is now updated instead of completely redrawn at a breakpoint
2970 * Added ES' changes for addition of the Revert to saved command in the file menu.
2973 Francois VOGEL, 04/11/04
2974 * Added debugger icons in the watch window as an initial attempt for having a toolbar.
2975 * Added same icon images in the debug menu.
2976 * Removed the workaround for bug 633 (workspace erased after aborting a callback) since
2977 this bug has been solved in the CVS.
2981 * the writable status of files which are opened is checked. [ReadOnly] is tagged
2982 on the title bar. If a file is not writable (either because of an invalid path
2983 or because the file is readonly), a warning pops up, and Save translates to
2987 Francois VOGEL, 01/11/04
2988 * Fixed further bug in proc updateactbreakpointtag. The first line of the function
2989 defined just after the function searched for could be tagged.
2990 * The insertion cursor is now positioned at the beginning of the active breakpoint on an
2991 update of its position. This is an option of proc updateactbreakpointtag.
2992 * Simplified the debugger. Start debug (CTRL-F11) and Go to next breakpoint (F11) merged
2993 into one single command.
2994 * Improved proc scilaberror following ES' suggestions
2997 Francois VOGEL, 29/10/04
2998 * Fixed bug in proc updateactbreakpointtag. This proc could spit 'TK_EvalStr, bad text
2999 index "" at line 1' when launched from the Scilab command line by TK_EvalStr("scipad eval
3000 {updateactbreakpointtag 1 foo}"). This occurred when the commented word "function" was
3001 present in the buffer and function foo was not defined in that buffer.
3004 Francois VOGEL, 27/10/04
3005 * Removed the workaround (i.e. the offset management) in proc updateactivebreakpoint
3006 since I corrected bug 1054.
3007 * FormatWhereForDebugWatch slightly improved to suppress display of the highest calling
3008 level, i.e. the ScilabEval call to the breakpointed function to debug.
3009 * Fixed bug: When the function to debug returned before the first breakpoint, the debugger
3010 state did not go back to "NoDebug".
3011 * Line 1 of a function can now be tagged by proc updateactbreakpointtag.
3014 Francois VOGEL, 21/10/04
3015 * Increased character size of the active breakpoint so that it is more visible.
3016 * Active breakpoint character size is now changed accordingly when other font sizes are
3018 * Removed the extra spaces at the beginning of the seq/sync scilabevals since they are
3020 * Removed the checkscilabbusy tests between ScilabEvals in the debugger. Proc checkscilabbusy
3021 is no more bypassed where it is useful.
3022 * On trying to exec or to start debugging a file that contains an error reported by the
3023 shell, this error is now trapped by Scipad, a message box is displayed explaining the
3024 error, and the offending line is blinked in Scipad.
3027 Francois VOGEL, 20/10/04
3028 * Work on proc updateactivebreakpoint and proc checkendofdebug_bp to take into account the
3029 additional level in the where() output due to the "seq" option of ScilabEval.
3030 There was a quirk for subroutines of the exec'ed function: for the main function, where()
3031 returns the line number just before the breakpoint, but for subfunctions it returns the
3032 exact line number of the breakpoint. Probably a Scilab bug, but Scipad implements a
3033 workaround. This is bug 1054.
3034 Note: FormatWhereForDebugWatch.sci could be slightly improved.
3035 * Implemented a workaround for bug 633 (workspace erased after abort of a callback). This
3036 was required to fix the command "Cancel debug".
3037 * Suppressed the temporary file getwatchcomm.sce and replaced by successive ScilabEvals.
3038 * Proc updateactbreakpointtag bullet-proofed against values of $activeline. Scipad hangs
3039 no more if $activeline is 0 or less, or greater than the length of $activemacro.
3040 * Now a debug session seems to work fully (tested on Windows only however). The main issue
3041 was that ScilabEval "sync" was called during a paused ScilabEval "seq". Currently, the
3042 user still has to hit the return key in the main Scilab window in order to launch execution
3043 of the ScilabEvals, but this is outside of Scipad.
3046 Francois VOGEL, 17/10/04
3047 * If the number of leading spaces of a line was odd, then trying to unindent the selection
3048 until there is no space remaining did never remove the last space. This is now fixed
3049 (just changed "^ " into "^ {1,2}" in the regsub of proc UnIndenSel)
3050 * Keypress did not replace the selection after buffers were switched. This was due to the
3051 clearing of the X selection that was introduced to fix another bug (see above 16/04/2004).
3052 It is now fixed in proc nextbuffer and proc prevbuffer, but it required a trick since
3053 there is no "selection set" command in tcl. Solution used: the sel tag is well maintained
3054 inside different buffers. Therefore the selection is obtained using this tag and set
3055 again to that same range using that tag, which has the desired side effect of also
3056 setting the X selection.
3057 * Added option -anchor w in label statusind2 so that the line number in function can always
3058 be read, even if the function name is too long to fit in the (fixed) alloted space.
3059 * Added textquoted tag for Scilab text between simple quotes ('). Just duplicated portion
3060 of code dealing with double quotes (") in proc colorize. There is a side effect on some
3061 operations using more than one matrix transpose in a single line, such as A=B'+C', but
3062 this is believed to be less important than having the text strings properly colorized
3063 regardless of the quote type that sets its limits, since simple quotes are widely used
3064 in the current Scilab source code especially the oldest parts. Moreover, code lines such
3065 as mprintf("%s",'this is a function') breaks the line number counting in functions if
3066 not properly colorized as textquoted.
3067 * Fixed a bug in proc checkcontbraceorbracket: lines such as mprintf('['); were detected
3068 as continued lines, and that resulted in wrong line number in function displayed in
3069 statusind2. Now checkcontbraceorbracket checks whether the brace or bracket found is
3070 tagged as textquoted or not, which solves the issue.
3071 * Added a catch {} in bindings.tcl and proc newfilebind to avoid error popup message in
3072 case listoffile("$textarea",language) has already been unset in proc byebye which is called
3073 on ctrl-w to close the current buffer. Proc keyposn uses this variable, and if byebye
3074 finished before or faster than the <KeyRelease> or <ButtonRelease> binding, an error
3076 * A bit of rework in proc ReplaceAll to account for the possibility that the user, without
3077 checking the Match case box, tries to replace a string S1 with a string S2 that is only
3078 different from S1 by the character case. This used to hang Scipad.
3079 * Moved scipad.tcl and words in scipadsources (and changed scipad.sci to reflect it).
3080 * Added the new "sync" and/or "seq" arguments to ScilabEvals whenever required
3081 To do (when situation is totally clear, and as soon as ScilabEval "seq" bug is fixed on
3083 - remove the extra spaces at the beginning of the seq/sync scilabevals
3084 - remove the checkscilabbusy tests between ScilabEvals
3085 - suppress the temporary file getwatchcomm.sce and replace by successive ScilabEvals
3086 with adequate options - this is started but not yet mature
3087 - find out how to close bug #885 (send multiple ScilabEvals? what about continued lines?)
3090 Francois VOGEL, 20/07/04
3091 * Removed file db_tagsmanagement.tcl from the distribution (was obsolete and never sourced)
3092 * Bug fixed: F9 during debug could unset the active breakpoint, but could not reset it
3093 * Improved visibility of the active breakpoint: added bold style and increased borderwidth
3094 * Relocated the mainlevel code of the debugger in a new db_init.tcl file
3097 Francois VOGEL, 18/07/04
3098 * The debugger state is now reset to "NoDebug" on closing of buffers if there is no
3099 pre-existing configured execution (i.e. if the configure box is empty after the buffer
3101 * Changed shortcuts bindings of the debugger commands so that they apply to all the
3102 windows in Scipad rather than to the toplevel window only - Fixes possible problems of
3103 shortcut activation on some systems with specific focus management
3104 * Minor editing in words (keywords added, such as 'continue')
3105 * Scipad now starts from the path of the latest opened file when opening further files
3106 * Command "Display call stack" removed from the Debug menu. Instead, the call stack is
3107 automatically displayed in the watch window at each stop of the debugger.
3108 Note that this functionality requires that a Scilab bug in the where() function be fixed.
3109 where.f as provided under bug 908 (or even better, bug 922) correction should be used.
3110 This corrected where.f is part of the CVS since 3 August 04
3111 * Reworked display of the watch window: now this window is updated (and opened) on the
3112 screen only if it was already open (avoids undesired pop up)
3115 Francois VOGEL, 07/07/04
3116 * simplified the use of the debugger: Scipad now maintains a state variable containing
3117 "NoDebug" (no debugger correct configuration performed nor debug session started),
3118 "ReadyForDebug" (debugger configuration performed OK but no debug session started), or
3119 "DebugInProgress" (debug session started, Scilab prompt is -1->)
3120 A schematic of the state machine is available in db_state.tcl
3121 This allows for the following improvements:
3122 - commands add/remove breakpoint and add/remove breakpoint during debug merged in the
3123 debug menu - Scipad now knows if the setbpt/delbpt should be sent or not
3124 - commands remove all breakpoints and remove all breakpoints in Scilab merged in the
3125 debug menu - selecting this now deletes all breakpoints both in Scipad and in Scilab
3126 - debug menu entries are disabled/enabled depending on the debugger state, so that the
3127 user should get less confused about the possible actions at any given time of the
3128 debug session (this copes also with colorization schemes)
3129 - if no debug session was initialized, the button-3 popup menu is the edit menu
3130 otherwise it is the debug menu - this is the 1st contextual menu in Scipad
3131 - the debugger state is made known to the user from the background color of the message
3132 area at the bottom of the Scipad window - for improved readability, messages are now
3133 displayed in black instead of blue
3134 * getf "FormatStringsForDebugWatch.sci" moved to db_states.tcl. If the user did not open
3135 the watch window before launching a debug session, this .sci file was not getf'ed in
3136 the right workspace and was therefore unknown later on during the debug session
3137 Note: putting a ScilabEval at the mainlevel (e.g. defaults.tcl) does not work!
3138 * exec getwatchcomm.sce is no more performed if unnecessary, i.e. if there is no watch
3139 variable defined by the user
3140 * added a binding to help fixing watch window repositioning that occurred sometimes
3141 * the watch variables changed by the user in the watch window are now correctly passed
3142 to Scilab (bug 818 in the resume function has been corrected in the CVS)
3143 * the debugger now handles correctly functions containing varargin as an input argument
3144 * incorporated some corrections from ES:
3145 - proc importmatlab corrected with quotes as mentioned in bug #856 (was also included
3146 in the CVS by the Scilab Team)
3147 - removed the # at line 3 of scipad.tcl, so that Scipad can again be launched directly
3149 - on Unix the cursor is always on again, regardless of the TCL/TK version
3150 * 'Remove all breakpoints' now removes the breakpoints in all the opened buffers
3151 * On start of a debug session, the currently displayed file is exec'ed. Now the buffer
3152 containing the function selected during the configuration phase is also exec'ed
3153 * Breakpoints sent to Scilab on start of a debug session are now collected through all
3154 the opened buffers, and removed accordingly in Scilab at the end of the debug session
3155 * When adding a new watch variable, its value is now immediately retrieved from Scilab,
3156 it is no more necessary to resume execution
3157 * incorporated Scilab Team's changes in the CVS Scipad:
3158 - changed 'Scilab Group' into 'Scilab Consortium' in the About window (proc aboutme)
3159 - added echo of the ScilabEval command in proc execfile from ScilabExec.tcl whatever
3160 the platform (and changed the disp into a mprintf - saves space in the shell!)
3161 * added int16, int32, uint8, uint16, uint32 in file "words"
3162 * proc load_words now closes the file "words" after having read it
3163 * active breakpoint tagging dramatically improved:
3164 - corrected active breakpoint tag when breakpoint is in conditional structure (for,
3165 while, or anything else)
3166 - works now with sub-functions or other nested structures containing breakpoints
3167 - displays the correct buffer (if already opened), i.e. the buffer where the active
3169 * When the watch window was open at the same time the user configured execution in the
3170 configure box, the next time the Add button was hit in the watch window an error poped
3171 out. This is now fixed
3174 Francois VOGEL, 17/06/04
3175 * added quotes in the getf FormatStringsForDebugWatch so that it sleeps with paths
3177 * active breakpoint is now displayed in raised relief instead of underlined (nicer)
3178 * improvements in FormatStringsForDebugWatch:
3179 - upgraded to full support for:
3180 . polynomial matrices (type= 2)
3181 . integer matrices (type= 8)
3182 . character string matrices (type=10)
3183 - added full support of:
3184 . sparse matrices (type= 5)
3185 . boolean sparse matrices (type= 6)
3189 * the .sce file built by Scipad and containing the watch variable retrieving commands
3190 is now saved in TMPDIR instead of in SCI/tcl/scipadsources - should better cope with
3191 file permissions that way. TMPDIR is set for Scipad in scipad.sci
3192 * split debugger.tcl in several sub-files to ease maintainability
3193 * version --> 3.0 (submitted to the Scilab team under bug #559). This is the version
3194 included in Scilab 3.0, but the debugger menu is hidden in the distribution (shortcuts
3198 * bugs corrected in filecommands.tcl/proposedname: for buffers containing
3199 more than one function the proposed name is the first found, for buffers
3200 containing no functions it remains the original one
3201 * bug corrected in filecommands.tcl/openfile - the field listoffile($,new)
3203 * enforced the use of fullpath in proc filecommands.tcl/lookiffileisopen
3204 * common code for file types in procs filesaveas and showopenwin moved to
3206 * end-of-line homogeneously translated to unix (was mixed in several files)
3207 * incorporated FV's correction to colorize.tcl mentioned in bug #749
3210 Francois VOGEL, 14/06/04
3211 * the buffer is no more reported as modified if one paste from an empty clipboard
3212 * relocated the mainlevel code of debugger.tcl in defaults.tcl
3213 * fixed shrinking of the watch window in some cases
3214 * .tst and .dem files get now colorized as .sci/.sce files
3215 * debugger watch window: improved retrieval of the Scilab variables from Scipad:
3216 - string(var) is no more used in creategetfromshellcomm but replaced by
3217 FormatStringsForDebugWatch(var). This is a new Scilab command that is now part
3218 of the Scipad package in SCI/tcl/scipadsources. This function is getf'd on
3219 invoking the watch window
3220 - the commands are no more passed directly to ScilabEval, but rather through
3221 a .sce file built by Scipad and saved in SCI/tcl/scipadsources. This overcomes
3222 any limitation in characters number of the Scilab command line
3223 * saving a buffer for the first time, the proposed name is now the first function
3224 name found in the buffer
3228 *restructured the hyerarchy of the source files, for future maintainability.
3229 Now scipad.tcl loads first sources which define procs only, then files
3230 which contain main level code only. This should help a lot in avoiding
3231 interdependencies and feedback within the whole code.
3232 In particular: mainlevel code in textarea.tcl moved in mainwindow.tcl
3234 procs in mainwindow.tcl moved into textarea.tcl;
3235 proc schememenus in menues.tcl moved to colorize.tcl;
3236 proc extractindexfromlabel in menues.tcl moved to filecommands.tcl;
3237 mainlevel code from infomessages.tcl to mainwindow.tcl;
3238 mainlevel code from undoredo.tcl to mainwindow.tcl;
3239 (TO DO: relocate also the mainlevel code of debugger.tcl)
3240 *filecommands.tcl restructured: detabbed, common code in subprocs; some calls
3241 to extractindexoflabel replaced by simpler lookiffileisopen; proc byebye
3242 extracted from proc closefile
3243 *infomessages.tcl: replaced entry objects with labels (same behavior in tcl
3244 8.3 and 8.4); column numbers shown by keyposn start at 1
3245 *hopefully, scipad now remembers correctly the window geometry upon
3246 closing/reopening (in RH9/gnome, there is still a quirk - the height decreases
3247 by 2 gridlines at every reopening, but it is probably a WM quirk in
3248 repositioning the window)
3249 *detabbed colorize.tcl
3250 *proc setfontscipad (mainwindow.tcl) reports on the statusmessage and
3251 resizes also menu entries and status labels (TO DO: also subwindows
3252 like file dialogs, Find,... inherit the current font size)
3253 *systematically replaced [gettextareacur] with $textareacur in cutcopypaste.tcl
3255 *proc helpword improved - trims white space, does not open help if the
3256 selection includes only spaces
3257 *hopefully, colorization of scilab buffers with extended chars does not hang
3258 anymore (the bug was platform-dependent)
3262 Francois VOGEL, 07/06/04
3263 * added support of special filenames such as those that evaluate to zero, or
3264 those that evaluate to an index keyword of the menu widget. Any file name is
3266 * reworked the debugger to add the watch window. This should still be improved:
3267 - <TODO>: pass to Scilab the watch variables changed by the user in the watch
3268 window (this relies on the correction of a bug in the resume function, see
3270 - <TODO>: improve retrieval of the Scilab variables from Scipad:
3271 . since the length of the command line is limited to ca 500 characters on
3272 the 3.0 CVS version (June'04)
3273 . since part of the information is lost by the current implementation if
3274 string(var) returns a string matrix and not a single string
3275 * reindented full cutcopypaste.tcl, and part of inputtext.tcl, getting rid of tabs
3276 * improved test of the selection owner in deletetext, backspacetext and puttext
3278 * removed a superfluous test and many globals in all the procs of cutcopypaste.tcl
3279 note: the code in cutcopypaste.tcl requires improvement as it is inefficient
3284 * proc execselection disp's an echo only for unix - because in windows the
3285 command is sent to the history, and there is no need. I do not know about
3287 * editing in words: removed demos, graph-list, ScilabEval, Example,
3288 AdCommunication; added xmltohtml, all the variables output by who at startup
3289 * replaced tabs with spaces in filecommands.tcl; added a few [] and ""
3290 which allow openfile to open numeric filenames (except for 0, which
3291 triggers still some other bug)
3292 * removed seminal listoffile(,language) tests in debugger.tcl, no longer
3294 * bug corrected in whichfun.tcl/proc checkcontbraceorbracket: check for
3295 $ind2=={}, whose omission gave an error when typing [ or { within function
3300 * reverted the Options menu as in 2.3
3301 * underlines for language schemes
3302 * Execute/Load is disabled for non-scilab files
3303 * proc schememenus sets/deletes bindings
3304 * proc whichfun always returns "" for non-scilab
3305 * less color for the "none" and "xml" schemes (no punctuation, no operators)
3306 * added % to scichset if proc colorize - corrects colorization of %variables
3308 Francois VOGEL, 27/05/04
3309 * Debug menu is disabled in non-scilab mode
3310 * F9 doesn't pink lines any more if in non-scilab mode (partially done)
3311 * Options/Font size and Options/Language scheme are now submenus in cascade
3315 * split scipad.tcl in several sourcefiles, buried in the directory scipadsources. The
3316 distribution now includes: $SCI/scipad.tcl, $SCI/words, $SCI/scipadsources/*
3317 * buffer dependent colorization: scilab/xml/none: added field listoffile($,language)
3318 in the relevant places, override colorization entries in menu Options, extension-based
3319 automatic selection when opening files; no line-in-function displayed in non-scilab
3320 mode (TO DO: disabling menues in non-scilab mode)
3321 * minor editing in words: removed scilab, added macr2tree, tree2code, getcwd
3324 Francois VOGEL, 21/05/04
3325 * fixed expose binding issue (100% CPU and edge blinking when find dialog was open)
3326 * solved bug that occurred when trying to input an argument of a function when the
3328 * improved proc whichfun to treat some pathological cases:
3329 - comments ended by ...
3330 - continued lines without ... (therefore, check for unmatched brackets and braces
3332 - also corrected slight bugs in that proc, but it is still not perfect
3333 * added a second status indicator to display line number in function at the bottom
3334 of the pad instead of displaying that information in the message area
3337 Francois VOGEL, 18/05/04
3338 * closing the find dialog using the cross at the upper right corner does not
3339 produce an error any more (patch provided by ES)
3340 * added display of the line number in function in the status bar (provided by ES)
3341 note: this required moving proc whichfun before proc keyposn
3342 * removed \n in ScilabEval as this hangs unix versions and does not cure the
3343 loosing of first characters. Added 5 leading spaces trying to limit the issue.
3344 * added quotes around strings tested in if conditions (used to hang unix versions)
3345 * debug commands now check if scilab is busy before sending commands to scilab
3349 Francois VOGEL, 13/05/04
3350 * breakpoint and debug tools added - type help scipad in Scilab for detailed
3352 Note: matsys.f as provided under bug 718 correction should be used
3353 * proc whichfun now can search in a buffer different from the current one (used
3354 for breakpoint stuff)
3355 * Find/Replace now can use a regexp mode
3356 * cosmetic: replaced tab indents by 4 spaces in the code (e.g. in proc findtext)
3357 Please use spaces instead of tabs for further updates of the code!
3358 * cosmetic: harmonised accelerator names through menus (e.g. ctrl-x changed to
3360 * rearranged bindings in find/replace dialogs - were not always consistent with
3361 the underlines, especially for the french dialog
3362 * cursor blinks only if tk version is >= 8.4
3363 * message at the bottom of the Scipad window is cleared when colorization ends
3364 * bugzilla bug 723 corrected - an error poped when trying to write text in
3365 Scipad when a selection was active in another tcl/tk application such as the
3369 Francois VOGEL, 21/04/2004
3370 * fixed size/position bug of sliders when switching buffers or opening a new file
3371 * corrected minor typos in french texts, added french text where was missing
3372 * restored cursor blinking as I could not make it disappear any more while
3373 moving it with the arrows - was probably a tcl bug, seems to work with 8.4.6
3374 * many improvements in find/replace/replaceall:
3375 - added forward and backward automatic wrap-around
3376 - added message box in case of no match found
3377 - added message box in case of find or replace with an empty string
3378 - if text is selected, find or replace occurs inside that selection (for find,
3379 if not found, then asks for extending the search to the entire buffer)
3380 - starting from a saved file, doing stuff and then undoing all changes does
3381 not report the file as modified any more
3382 * added Ctrl-F6 (prevbuffer) and Ctrl-F7 (nextbuffer) bindings
3385 * added "Import matlab file..."
3387 * switchbuffer --> prevbuffer (F6) and nextbuffer (F7); bug corrected, wrong
3388 buffer when one or more previously open buffers were closed
3389 * added bindings Ctrl-+/- to increase/decrease fontsize
3391 Francois VOGEL, 16/04/2004
3392 * fixed silent clearing of selection in one buffer that occurred when another
3394 * added Ctrl-F6 binding and proc switchbuffer to switch opened buffers
3395 * fixed bug that occurred when a copy-paste modification on a buffer was
3396 undone once too much (a "lifo($id) pop error, empty" resulted)
3399 * fixed remalltags for textquoted and rem2 (i.e., lines with "aaa//bbb",
3400 "123456", //123 etc. should be colorized consistently
3401 * comment/uncomment, indent/unindent applies to the current line
3405 * file dialogs for "all files" show also * files
3408 * bug fixed - to interfering bindings from Ctrl-v caused no or double paste.
3409 * removed some "particular" bindings for Ctrl-c/v/x and transformed them
3410 to All or Text: copy paste works better in find and filename dialogs
3411 * fixed Ctrl-y bind, does not paste selection surretptitiously
3412 * cursor position info (keyposn) updated when switching buffers
3415 * added IndentSel, UnIndentSel (plain \s\s, no smart logical indent)
3416 * little deglitch in CommentSel, UncommentSel
3417 * rationalization of Alt-x-x keyboard menu activations
3418 * fixed Ctrl-w cut selection AND close window
3419 * text pasted with Button-2 is colorized
3421 around november: made colorization TIMES faster, by scanning only to
3422 wordend (not end-of-text) for scilab keywords in proc colorize.
3426 * message "file NNNN saved"
3429 * added font micro (ok on my laptop)
3430 * rationalized setfontscipad procedures, font size changes also menu fonts
3431 * accelerator F2=Save
3432 * added catch to delinfo in proc showinfo - prevents a "missing variable
3433 .pad" which appears ocasionally on reopening
3437 * cosmetic - compacted the command passed and displayed by execselection
3438 * pad remembers its geometry when quitting/reopening
3439 * moved option stuff (colors, fontsize, geometry) at the top -- later I might
3440 add that it is read from an options file
3441 * the background color of found text is $SELCOLOR, as selection
3442 * bug fixed: missing $textarea when printing with Ctrl-p
3445 * corrected bad continued line "Annuler"
3446 * progress in whichfun, execselection, etc.
3449 * $pad.statusind goes Salmon when the buffer is modified
3450 * split long lines in the code for improved readability
3451 * the popup menu doesn't pop on the bottom bar
3452 * bug fixed: upon closing a buffer, the radiobutton of the one previously
3453 opened (which becomes the current buffer) was not correctly checked
3454 * shift-button3 and ctrl-button3 popup execute and options
3455 * bug fixed: search and replace strings can begin with "-"
3456 * copytext doesn't tag the buffer as modified
3457 * glitch corrected: //..."string"... is all colorized as comment, "...//..."
3459 * glitch corrected: gotoline didn't scroll to make the target line visible
3460 * begun proc whichfun
3463 *the code is now free of TKSetCursor's (even in FindIt)
3464 *restored default mouseclicks actions (double-1=select word, triple-1=select
3466 *deglitched "\n//" in comment selection and restore selection in uncomment
3468 *selection remains on after copytext
3469 *accelerator Ctrl-Z for Undo (more standard)
3470 *accelerator F1 for About
3471 *Help opens the scipad page in the helpbrowser
3473 *button3 popsup the edit menu (not so useful but why not - perhaps in future
3474 I'll replace it with a tailored menu)
3475 *"(modified)" appears on the titlebar, and the corresponding entry in the
3476 windows menu is colored (and of course things are reverted to normal when
3477 the buffer is saved)
3478 *translated to french (!!?) some "file already open"
3479 *created the Execute menu; added the command execute selection and its
3480 accelerator Ctrl-y (inherits problems from ScilabEval/execstr() - most
3481 dangerous problem, goes amok when the selection contains a function without
3482 endfunction) -- glitch: splits quoted strings containing // as if // starts
3484 *bug solved: Esc or Ctrl-c on a find/replace dialog used to hang scipad
3485 *copy/paste (Ctrl-{c,v}) possible on find/replace strings [but not cut nor
3486 replace-paste --why?]
3489 *changed $Size to Size in the option menu entries - the correct radiobutton
3490 is tagged at startup
3491 *commented destroy $textarea in proc closefile - seems to solve the shrink
3492 bug (if the initial Untitled.sce is closed, then the next setfontscipadN,
3493 openfile,newfile command causes the window to shrink to its minimal size).
3494 Not sure it is the right thing to do. The bug is cured and the only
3495 apparent side effect is that the window does not resize upon font change
3496 (was never exact anyway)
3497 *fixed tagging of radiobuttons in the windows menu when files are closed
3498 *added comment selection command (glitch - adds // after the last newline
3499 also when the selection ends there)
3500 *added uncomment selection command (glitch - removes also the white space
3501 between beginning of line and //)
3504 closing/reopening scipad remembers previous font size
3505 cursor doesn't disappear any more (it used to every second keypress or so or
3508 cursor is positioned at 1.1 when opening an existing file
3511 * added colorization pattern for "number"; separated pattern "xmltag" from
3513 * xmltags colorized only if filename contains ".xml"
3514 *corrected bug - scipad(newfilename) began in an unnamed buffer
3515 [connected in scipad.sci: scipad(filename) does not open an additional
3519 changed text font from helvetica bold to courier medium
3520 added accelerators Ctrl-w, Ctrl-n, Ctrl-q, Ctrl-p, Ctrl-P, Ctrl-S, Ctrl-g;
3522 fixed "unset pad" in closewin rather than exitapp - fixes a bug apparent when
3523 exiting scipad by closing the last active buffer and trying to relaunch it
3524 colorization: added "punct", "operator"; changed colors of the colorization
3525 corrected "parencesis" in blinkbrace - fixes highlighting of ()
3526 "Scilab specials" in colorize -- added code to distinguish {} [], () from ;:
3527 [external but connected: new list of keywords "words"]
3529 modified by Matthieu PHILIPPE 03/01/2002
3533 - Higlighting Braces
3534 - Some Keys and Words Binding
3535 - Colorization for Scilab syntaxes
3536 - Recolorization of a cuted and pasted text
3537 - Multiple opened files.
3539 Tk NotePad by Joseph Acosta
3540 modified by Matthieu PHILIPPE 01/01/2003
3542 - cut/paste with ctrl-x/ctrl-v
3543 - select then unselect then type any key doesn't crash scipad any more !