Jump to content
Muxe Inc Forums
Sign in to follow this  
AngelsHolocaust

New Release: 2.30.6303

Recommended Posts

hi *!

 

Sorry, again not as much news as I wanted to achieve.

 

whatsnew:

 

[!] replaced my nickname in the about box with my real name

[*] providing host define HOST_OS to the makefile: %WINDIR% check for NT/9x

else assume D32

[+] WatchDog unit to handle NDN/created thread crashes

-> added VP\SOURCE\RTL\watchdog.pas

-> contains shortcut calls for one main watchdog

-> custom watchdogs can be created

[*] fileio.TTextReader now inherits from fileio.TMemReader

- TMemReader can now check for a complete string of ANY length in

consecutive buffers if the inheriting object provides the interface

(see TTextReader)

- CR/LF/CRLF check and result generation now placed into TMemReader

including cfMix support

 

W32/D32/LNX/OS2/VIRTUAL PASCAL COMPATIBILITIES:

[!] D32 finally NDN can be developed in DOS directly thanks to the newest

version of the nice HX DOS Extender (http://www.japheth.de/)

-> this didn't work the last time I tried with an older version

-> necessary files and interface now included into VPUPDATE

[*] W32: - removed the extra SysPlatform handling from w32\vpkbdw32.pas,

now using vpsyslow.SysPlatformID()

- Platform init code is now again in vpsyslow.SysPlatformID()

[*] LNX: several changes to prevent hangups

- drivers6.ReportFatalError() quits waiting for keypress if

the KbdThread died and uses vpsyslow.SysFlushKeyBuf() instead of

custom code

- added CustomWatchDogCheck() to dnapp.GetEvent() which quits NDN

as soon as the kbd thread dies

[*] D32: moved main.RunMainProgram().RemoveDpmi32Exceptionhandlers()

to vpsysd32.SysCtrlExitProcess()

[*] D32: moved Options.Configuration.System Setup."Fast" Command Execution

(Int 2eh) into

Options.Configuration.Miscellaneous Options.Operating System

-> commands.ossFastExec renamed to commands.osFastExec and now D32 only

[+] W32: added support for wintitle.GetTitle()

-> WINAPI.GetConsoleTitle()

[*] W32: added (german) start menu shortcut creation to the user menu [F2]

[-] D32/W9x: window title showed "NDN - NDN - Edit - ..." [A] (Oleg Arkhangelsky)

-> wintitle.SetTitle() prepended 'NDN - ' to the title strings, but this

is not necessary since W9x adds this internally

-> wintitle.GetTitle() didn't return any data

[-] LNX: writeln() from within NDN is not correct because of the OPOST bit

in the terminal settings (LF != BOL) [V]

-> not corrected in vpsyslnx.TrmInit()

 

VIEWER

[-] QuickView content only visible when changing to panel [A] (Zaimskih)

-> viewer colors in quickview were not initialized anymore

-> added manual fviewer.TFileViewer.ReadFile().UpdateColors()

 

SCREEN SAVER

[-] W32: monitor off and lock turned the monitor on again after lock [A]

-> monitor off needs to be the last action performed

-> put the monitor off code to the end of idlers.TMonitorSaver.Init()

 

KEYBOARD

[-] D32: [CTRL-? ?] didn't work anymore (editor) [A]

-> was due to the change from [CTRL] press to release keycode generation

-> drivers.GetKeyMouseEvent() does not send a key release when another

key was pressed during holding the [CTRL] key

 

FILE PANEL

[-] scrolling mouse wheel didn't update panel information lines [A] (Sir Yaro)

-> TFilePanel.HandleEvent.evMouseWheel didn't redraw the info view

[-] pressing [CTRL-O] in user screen [ESC] hid the panel [A]

-> main3.MyApp.GetEvent().kbCtrlO will not work if UserScreenIsOn is true

[+] LNX: when copying a filename without path to the commandline NDN will

prepend './'

-> flpanelx.TFilePanelRoot.CommandHandle().MakeFName()

 

SCREEN/VIDEOMODES

[*] LNX X: user screen ([CTRL-O] [ALT-F5]) had several display problems:

- some X terminal programs do not keep the screen content of the

alternate buffer when switching to the normal buffer (gnome-terminal)

-> dnapp.TApplication.ShowUserScreen() calls video.UpdateScreen()

- clock (memory, date...) and statusline were visible in normal buffer

-> dnapp.TApplication.ShowUserScreen() hides the views respectively

-> added gauges.TClockView.SetState()

- mouse moves/clicks refreshed cells in normal screen buffer when

Options.Configuration.Mouse.Hardware Cursor was turned off or on mouse

clicks

-> added drivers.MouseEnabled and drivers.(Disable|Enable)Mouse(),

used in dnapp.TApplication.ShowUserScreen()

- leaving user screen with [CTRL-O] didn't work

-> main3.MyApp.GetEvent().kbCtrlO will not work if UserScreenIsOn is true

-> improved dnutil.TDnApplication.HandleCommand().GetUserScreen()

[-] LNX X: resizing with mouse hung up NDN [A]

-> depended on terminal emulator (no problems in gnome-terminal)

-> added parameter KeepScreenSaved to video.DoneVideo(),

used in dnapp.TProgram.SetScreenMode()

[*] D32: replaced custom PreNDNCursor asm code from video.DoneVideo() with

SysTVSetCurPos and SysTVSetCurType

 

TURBOVISION: VIEWS/DIALOGS/MENUS/OBJECTS

[-] open dialog, [CTRL-O], [ESC/CTRL-F4] and commandline didn't work [DNOC]

-> dialogs.TDialog.HandleEvent() checks usermenu.UserWindowIsOn and

routes the events to cmdline.TCommandLine.HandleEvent()

[-] dnstddlg.TFileDialog.GetFileName() appended the extension of the input

filename if the inputline contained a name without dot (abc != abc.)

-> now only adds the extension if the user entered a wildcard in the

filename extension

 

DNEXEC/EXTERNAL VIEWER/EDITOR DNEXEC.EXECUTEFILEEXT/LOCAL_GLOBAL_MENUS

[-] Executing external files from NDN.EXT:

- problems when the block end character, i.e. ]}) was the last character

on any line in the statement block, if the block-start character was

[{[ respectively

-> dnexec._SearchExt()

-> block-end characters will be ignored if entered like: \) or ))

-> only the block-end character will be replaced, not the other 2

ununsed block-characters

- line length shortstring limit (Dandv) [DNC]

-> added GetAStr() to fileio.TTextReader

-> usermenu.MakeString() handles AnsiStrings

[*] reenabled flpanelx.PShootState usage instead of drivers.ShiftState1

[-] LNX: started programs inherited FDs from NDN (GPFault) [V]

-> vpsyslnx.SysExecute() sets FD_CLOEXEC on all open FDs before execve()

[-] LNX X: hang ups after executing NOP programs (sleep 0) (GPFAult) [?] {G}

-> fragmented cursor position reply by XTerm

-> vpsyslnx.KbdTerminalThread().TerminalGetKeyCode()

-> added define X_GETCURPOS_PATCH_GPF

-> could not be reproduced (AH)

 

EDITOR

[*] maximum editor string length is now 2GB

-> microed2.EditorReadBlock() now has 2 file read routines:

the old one, with the 32KB string length limit and

a new one, based on fileio.TTextReader, which can handle (in theory)

strings up to 2GB;

both routines will stay until the new code is proven to be bugfree;

also note that the new code is not enabled by default and that it is

slower than the old code

-> I would like to hear some tests concerning the file loading times with

large files on slower machines

-> added option in Options.Configuration.Editor Setup.New File Loading

-> startup.MaxEdStringLength changed from 32767 to MaxLongInt-1

[*] added mixed line break handling (cfMix) (Necromancer)

-> added Options.Configuration.Editor.Mixed Line Breaks and

commands.edeMixedLineBreaks, used in in microed2.EditorReadBlock()

-> removed global microed.DefLineDivisor and added

microed.GetDefaultLineBreak();

removed load/save of DefLineDivisor in dnutil.TDNApplication.SaveDesktop()

and dnutil.TDNApplication.LoadDesktop() and all other references

-> mixed line breaks will be removed as soon as the file is saved:

microed2.WriteBlock() corrects microed.TFileEditor.EdOptions.ForcedCRLF

 

ARCHIVES

[*] LNX: display of drive in archive name like "C:ABC.RAR" removed

-> vfs_arcv.TArcDrive.GetDir()

[-] TGZ issues (J.B.Lethbridge) []

* the displayed name in the opened archive was wrong when the original

archive name was not given inside the archive (missing .tar ext)

-> arc_tgz.TTGZArchive.GetFile() correctly returns the filename

* trying to extract the TAR archive inside the TGZ didn't work

because the TGZ archiver was "tar[.exe]" and it directly extracts

the tared files from the TGZ - we use GZIP for TGZ archives

-> redirection only way to (un)compress files to wanted location with

gzip

-> for this arc_tgz.TTGZArchive needs to read the filename from the

archive internally for add/extract operations

-> added arc.TArchive.Redirect(Un)Comp to signal use of redirection

for this archive type (gzip only for now - to be improved later?!)

-> modified archiver.MakeArchive(), archiver.UnArchiveFiles(),

vfs_arcv.TArcDrive.ExtractFiles(), vfs_arcv.TArcDrive.UseFile()

[*] put more archive handling code into the archive object

-> created base archive object called arc.TArchive

-> removed the unused arcs.TArchive.PutTempBefore variable

 

 

download:

http://ndn.muxe.com/beta

 

Stefan / AH

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×