jed-users mailing list

[2005 Date Index] [2005 Thread Index] [Other years]
[Thread Prev] [Thread Next]      [Date Prev] [Date Next]

wjed B0.9.17-56 and slang2-pre2-rc3 patches


Hi John, Jedders:
 
I got some time to try the last prerelease of jed on Windows, using the last
slang2 prerelease. 

Note that I'm using visual studio 6.

The first problem arises while trying to compile slang2. In the file
'makefile.all', while creating the 'response file', the overwriting
redirection (>) is used for some object names instead of appending
redirection (>>). This way the response doesn't contains all the needed
files, and linking Jed against this library fails complaining about a lot of
symbols undefined.

The patch (slang-pre3-fix-win-makefile-redirection.diff) is attached.

After this patch, both jed and wjed can be compiled without problems. But
while redrawing lines with different colors (e.g. a syntax highlighted C or
SLang code), wjed writes only the characters with the first color. After a
bit of debugging, I found the problem: for redrawing wjed does a loop on
VTerm_Display lines, and for every lines, scans characters until the color
changes, and then uses 'tt_write', the same function used to write for the
first time. tt_write calls vterm_write_nchars() to store the new chars in
VTerm_Display, but before writing the new data, tt_write clears all the
remaining line with a memset(). But this is the same line that
msw_write_smgchars() is scanning! So after writing the first set of
characters, the line is cleared and there's nothing more to write.

A simple patch (in jed-clear-vterm-carefully.diff) is to be a bit more
careful when clearing the VTerm_Display line. I have tested this lighty on
Linux, and seems to work, but a bit more testing is needed.

If we want to keep the full memset and change it only on wjed side, a lot of
changes will be needed.

Another annoing 'feature' of jed on windows is that it picks the startup
file jed.rc from the current directory, if no HOME or JED_HOME environment
variable is set. A more nicer way is to check for USERPROFILE variable (this
is set at least on Win2K, WinXP and Win2003, I don't know for Win95 and
Win98, let alone win 3.1), and to fallback to "C:\", instead of "".

You can find this change in jed-set-home-for-windows.diff.

Another problem is the windows style menu: we already talked about this, it
is very nice, but is completely outdated, doesn't uses the standard menu
functions, and some modes in the standard jed package fails if not
(standard) menu is defined. So I ask to change the configuration to use by
default the text-mode menus, like on every other supported platform. The
change can be found in wjed-use-text-menus.diff.

The last problem was already also reported but still in the last jed B0.17
prerelease: cua.sl binds Key_Del to "delete_cmd", a non existing function. I
don't know if Guenter already patched this, anyway the patch
jed-B0.99-17-cua-use-delete_char_cmd.diff changes it to use delete_char_cmd.
Guenter, what do you think about this?

I'm still have to try wjed with utf-8 files.

One last note: One friend show me how easy was to create installer packages
for windows using Inno Setup (http://www.jrsoftware.org/), so I did an
installer for jed. I hope to put some packages (both for jed 0.9.16 and the
prerelease) somewhere on the web next week.

Thanks,
									Dino


Attachment: slang-pre3-fix-win-makefile-redirection.diff
Description: Binary data

Attachment: jed-clear-vterm-carefully.diff
Description: Binary data

Attachment: jed-set-home-for-windows.diff
Description: Binary data


[2005 date index] [2005 thread index]
[Thread Prev] [Thread Next]      [Date Prev] [Date Next]