-*- mode: text; mode: fold -*- Changes since B0.99-15 1. lib/edt.sl: Hard-coded escape sequences \e= and \e> were swapped. This affected the use of the application keypad on systems that did not have terminfo entries specifying these strings. 2. src/file.c: if write failed, report errno and num failed bytes. 3. src/screen.c: Unlock buffer files when exiting as a result of a fatal error. 4. lib/cmode.sl: c_indent_line would auto-insert // even when configured not to do so by the user. 5. lib/site.sl: Collapse multiple occurances of / characters in filenames that appear on the command line. 6. src/ledit.c: If a file to be loaded really a directory, then skip it. (SANGOID at lloydadriatico, it) 7. src/*.c: use _SLvsnprintf instead of vprintf to avoid buffer overflows. Also use safe_strcpy instead of strcpy. 8. src/sysdep.c: tweak to expand_filename to deal with very large filenames (much larger than OS permits). 9. lib/compress.sl: avoid using a regexp to get extname. 10. src/pty.c: tweaked for compiling with CYGWIN--- Requires slang 1.4.5 if you intend to build a cygwin version. 11. src/main.c: If jed-script is symlinked to jed, then the result is equivalent to running jed with the -script option. This is useful for using jed in an executable script, e.g., #!/usr/bin/env jed-script vmessage ("Script name: %s", __argv[0]); quit_jed (); Also, if the script defines a function called "jedscript_main", then that function will get called after the file is loaded. 12. doc/rtl/keys.tm: get_key_binding documentation corrected by Guenter Milde . 13. lib/filter.sl: filter_region function was not working. 14. src/menu.c: New function: menu_select_menu. This enables a menu item to be executed from a function call, e.g., menu_select_menu ("Global.W&indows.&Color Schemes"); will popup the color-schemes menu. 15. src/ledit.c: bug-fix involving loading files such as xxx-1.0.sl when loaded as ()=evalfile("xxx-1.0"). 16. src/colors.c: new intrinsics: get_color, add_color_object. The idea behind these was conceived by Francesc Rocher. A "custom_color" function analogous to "custom_variable" was also added. 17. src/wterm.c: patch from Paul Shirley to have ALT keys return scancodes instead of win32 virtual keycodes. 18. doc/tm/rtl/*.tm: Fixed synopsis lines and various other documentation improvments (Guenter Milde ) 19. src/indent.c: New intrinsic: what_syntax_table returns the name of the current syntax table. 20. src/unix.c: fixed a problem in the filename expansion routines that affects older systems that do not have glob.h. 21. lib/site.sl: If Tab_Always_Insert_Tabs is non-zero, the pressing the tab key will cause a tab to be inserted. The default value is 0. 22. When objects (files or buffers) are loaded, they are given the full path name. This means that the slang pseudo-variable __FILE__ will expand to the full pathname of the file being loaded. 23. lib/cmode.sl: treat formfeeds like whitespace 24. lib/comments.sl: Add support for java comments (Nathan Smith ) 25. lib/os.sl: x_*_selection functions aliased to x_*_cutbuffer if undefined. This permitted #ifdefs to be removed from lib/mouse.sl to avoid problems with mouse.sl byte-compiled with jed but used with xjed. 26. src/xterm.c: Handle selection events while waiting for keyboard input. This allows, e.g., x_insert_selection to be bound to a key. 27. src/indent.c: Added support for a second string character to the syntax tables. This improves the highlighting of, e.g., python code which uses two string characters. 28. lib/pymode.sl: minor cleanups. 29. src/wterm.c, w32cons.c: make NumLock return ESC O P when NUMLOCK_IS_GOLD is set. Hopefully EDT emulation will now work properly on win32 systems. 30. src/menu.c: Ctrl-G causes abortion of menu mode. 31. src/wterm.c: drag/drop functionality for wjed ("John Skilleter" ) 32. lib/html.sl: updated to support euro, etc. (Kees Serier ) 33. src/win32.c:w32_pclose: add a work-around to what may be a Borland compiler bug. ("John Skilleter" ) 34. src/xterm.c: internal border width of the of xjed window is now configurable via -ib xjed option (Jim Clifton ) 35. lib/krconv.sl: respect the value of C_BRA_NEWLINE (Ulrich Bernert ) 36. src/buffer.c,ledit.c: If a file is read through a symbolic link, set the name of the buffer to the name of the symlink and not the actual file. This is allows e.g., foo.c --> /dev/c/0013 to be interpreted as a C file. 37. src/win32.c: differentiate between (shift|alt|ctrl)-backspace (John Skilleter ) 38. src/cmisc.sl: Make c_end_of_function symmetric with c_top_of_function. (Reuben Thomas ) 39. src/wterm.c: fix problem with calculation of font-height for wjed. Also added new intrinsic for setting the font: w32_select_font (John Skilleter) 40. New internal hooks added: _jed_before_key_hooks, _jed_after_key_hooks 41. lib/wmark.sl: rewritten to use _jed_before/after_key hooks. The result is that one is now able to use the regions with menu and minibuffer commands. 42. lib/popups.sl: Edit menu enhanced with more region functions. Register functions moved to region functions popup. 43. src/menu.c: disabled access to the menus from the minibuffer 44. lib/cmode.sl: added mode-specific menu entries to list all functions and macros defined by the file. This affects C mode and SLang mode. 45. New intrinsics: exit, _exit. These are useful in jed scripts to return an exit value to the shell. exit is like exit_jed and _exit is like quit_jed except an argument is required. 46. lib/tmmode.sl: This file implements the tm_mode for editing text-macro files. In addition, the text-macro processing code (textmac.sl) was removed from the jed distribution as well as lib/tm/*. Instead, the text-macro processing code and macros will be made available as a separate package. 47. src/sig.c: Changed the way SIGHUP and SIGTERM are handled to avoid a possible race condition. 48. lib/latex.sl,ltx-math.sl: If another tex file was loaded while latex math mode was active, then latex_math_mode would cease to work in the first buffer. This has been fixed. 49. lib/perl.sl: Updated to Mark Olesen's latest version. See lib/perl.sl for details. 50. lib/sccs.sl: New file supporting SCCS revision control (Philip Brown). 51. src/intrin.c: New intrinsic function: run_program. This plays the same role as the "system" function except jed resets the display first, if run in a terminal. For X, it runs the specified program in another xterm, or the terminal set by the XTerm_Pgm variable. *** Note: This function needs to be fixed to work asynchronously on win32. Any volunteers?? 52. src/xterm.c: Added Charl Botha's XRENDER patch to Xjed. 53. lib/ide.sl: Remove references to ide_function_help (Guido Gonzato). 54. lib/site.sl: save_buffer was not calling read_file_from_mini without a prompt string 55. doc/tm/*.tm: removed docs for obsolete functions 56. lib/mouse.sl: wheel mouse was not ignoring hidden lines 57. lib/f90.sl: Merged fix and free formats into the same file. In addition to f90_mode, there is now f90_fixed_format_mode and f90_free_format_mode. The default format for f90_mode is "free", which may be set via the F90_Default_Format variable. 58. lib/registers.sl: rewritten to allow registers to be given meaningful names by the user. Also, fixed limit of 95 registers removed. 59. lib/folding.sl: Fixed endless loop during a call to fold_whole_buffer when a fold-start mark is at the end of the buffer. Several other tweaks aimed at preserving the current position when closing folds (klaus.schmid at kdt, de) 60. lib/edt.sl: multiple definition of exit corrected (joukj at hrem.stm.tudelft, nl (Jacob (=Jouk) Jansen)) 61. lib/search.sl,isearch.sl: If the search string contains any upper case characters then a case-sensitive search will be performed. 62. src/mkfiles/makefile.all: Add CFLAGS macro to MINGW32/CYGWIN32 section. Miquel Garriga 63. src/screen.c: Make the [EOB] line read-only. Miquel Garriga 64. src/version.c: Use __MINGW32_VERSION if defined to get the compiler version. Miquel Garriga 65. lib/os.sl: make sure W32shell_Perform_Globbing is declared. Miquel Garriga 66. lib/cal.sl: avoid interpretation of 08 in dates as octal. Miquel Garriga 67. src/screen.c: %F may be used to specify complete pathname on the mode-line. (John Skilleter). 68. doc/tm/keys.tm: get_key_binding documentation corrected. (Klaus Schmid ) 69. src/mkfiles/makefile.all: Make sure CFLAGS defines JED. Also add support for creating wjed in cygwin environment (Paul Shirley). 70. New intrinsic: expand_symlink expands symbolic links