Jump to content
Muxe Inc Forums
Sign in to follow this  

New Beta: 2.30.8497

Recommended Posts

Hey everyone.


This time there's a little more news than the past 3-5 releases.

At the moment I am working on the viewer, unfortunately I couldn't fix more problems

for this release, but the next release wil have a pretty much usable viewer.




     from saving any configuration and history data
[!] rewrote 0mk.bat & tools/#mk.bat (no more mistakes in D32 resources)

[*] "Unmark Block" undo/redo was not working good enough
     -> improvments to micro_2.EdConvert4do(), EdMakeUndo() and
     -> Blocks aren't cleared anymore on Un/Redo if no Un/Redo-record exists
[-] New (empty) file save crash: Force CRLF at EOF (zlatan tajic) [A]
     -> sblocks.TBlocker.LocateIndex() didn't check for boundaries
[-] New (empty) file save error: line counter becomes 0 and no more data
     can be entered without reloading the file [A]
     -> Options ADelTrailingEmptyLines (OptimalFill) created that problem in
        microed.WriteBlock(), now ignores files with lines < 2
[-] Options.Configuration.Editor setup."Force CRLF at EOF" didn't work when
     a file was opened on NDN startup [A]
     -> microed2.EditorLoad() didn't handle microed.TEditOptions.ForceNewlineAtEOF
        correctly, the value was initialized at all
[*] Merged [CTRL-F8] cmPrintFile & [SHIFT-F8] cmPrintBlock into
     [CTRL-F3] cmPrintBlock: print whatever is marked or whole file
     -> [CTRL-P K] didn't work, fixed
     -> modified micro_4.EdPrintBlock()
[+] XLT support (Eugeniusz Kosek)
     -> converted microed2.EditorInit() and EditorLoad() to functions returning
        success via a boolean
     -> removed microed.TFileEditor.KeyMapConvertStr()
     -> using keymap.TXLat
[-] new file loading bugs [A]
     * tab replacement: TMemReader.GetData() didn't correctly place spaces
       in place of tabs, needed to take current position and align to TabSize
     * CRLF: TMemReader.GetData() didn't use the WasCRLF boolean for line
       continuation evaluation

[*] merged XLat code from dbfview & fviewer
     -> transparent support for previous history versions of the (dbf)viewer,
        the XLat/keymap settings will be lost however
     -> created keymap.TXLat object, added objtype.otXLat and inc\keymap.reg
        to dnutil2
     -> removed a lot of duplicate code from dbfview and fviewer
[-] editor/viewer infoline drawing not correct when reducing window x size [NC]
     -> extended size.x check in fviewer.TViewInfo.Draw() and
[*] Save File As: use current file name as default instead of *.*
     and/or ignore operation if the same filename has been chosen
     -> modified...
        * microed2.EditorSaveFileAs(), microed2.EditorOpenFile(),
        * spreadsh.TCalcView.HandleEvent().ExportToFile(),
        * fviewer.TFileViewer.HandleEvent().cmReanimator,
          replaced cmSaveAll with cmSaveTextAs
     -> replaced spreadsh.GetFileName() with dnstddlg.GetFileNameDialog()
        in spreadsh and dnutil.TDnApplication.HandleCommand().LoadSheet()
[-] XltMenu sorted in wrong direction (Vladimir Bochkarev) [NC]
     -> improved code in keymap.TXlat.LoadXlatMenu() by using a
        sorted list and removing multiple lfn.lFind(First|Next|Close)() calls

[+] realtime inputline histories while typing (idea from Opera browser)
     -> modified dialogs.THistory|THistoryWindow|THistoryViewer and
        added histlist.HistoryStrPtr()
     -> new define stdefine.USE_NEW_HISTORY to signal new code
     -> added Options.Configuration.Interface.New Inputline Histories and
     -> the old history operation is still supported (Mouse or [CURSOR DOWN])
     -> turned on by default
[*] views.TListViewer now can select/focus no item unless user movement
     -> added views.TListViewer.(FocusItemNone|IsFocusedNone) and
[*] Inputlines: Delete line [CTRL-Y] switches between empty/previous content
     -> dialogs.TInputLine.HandleEvent().^Y using undo code if the line
        is empty
[-] MessageBoxes: crashed if no TUI initialized (dnapp.Desktop) [DNOC]
     -> handle uninitialized TUI, output errors to console
     -> added messages.WriteToConsole(), which checks the TUI and writes to
        console if needed, used in messages.MessageBox() and MessageBox2()
     -> renamed advance0.ruk to RepeatUntilKeypressed, used in
        messages.WriteToConsole(), drivers6.ReportFatalError()

[+] Upcase table now allows to use the ascii-table [CTRL-B]
[+] get the country information from the operating system
     -> automatically used on first run of a new NDN install (VirginDN)
     -> improved english Options.Configuration.Country support dialog layout
     -> added 1$0 currency format (code support)
     -> W32 code partially from DNOSPW
     -> added country.pas with functions to fill startup.CountryInfo
     -> LNX: added csource/locale.lib/locale.c which is compiled into
        a shared object, used to access glibc functions

[-] DUMP/HEX: no redraw when changing window size [A]
     -> added fviewer.TFileViewer.DoHexPos() to fviewer.TFileViewer.Draw()
        in the vmHex/vmDump modes to recalculate the data x size
     -> rewrote DoHexPos(), using it in fviewer.TFileViewer.CurrentYPos()
[-] DUMP/HEX/ASM: additional bytes displayed after EOF (Zaimskih) [A]
     -> fviewer.TFileViewer.Draw() in the vmHex/vmDump modes used a wrong
        variable (L instead of J) to calculate the data count for each line
     -> vmAsm used D.Offset instead of L
[-] Relative goto didn't work anymore [A]
     -> temporary variable tmp0 in fviewer.TFileViewer.HandleEvent().cmGotoCell
        was overwritten for some unknown reason, now using
        fviewer.TFileViewer.CurrentPos() directly
     -> improved the dialog: using +/- in front of the number signals a relative
        goto, removed the absolute/relative radiobuttons and
[*] code cleanup: removed old commented code
[-] no main menu access when "rdonly or buf = nil" -> Write(BelChar); [NC]
     -> removed the unused fviewer.TFileViewer.RdOnly & no more belchar sound
     -> keypresses which do not create any readable characters will
        be ignored: Charcodes 0-31 + 255
[*] TEXT: reset X position to 0 on wrap change
     -> fviewer.TFileViewer.HandleEvent().cmUnWrap sets XDelta to 0
[-] TEXT: * Tabs were treated as CRLF (Dandv/Avchent) [A]
     * In the Viewer, some tabs are not showed (naX)
     * viewing a file with tabs in wordwrap mode hides the tabs (DandV)
     -> modified fviewer.TFileViewer.MakeLines(): removed local P1/P2,
        fviewer.TFileViewer.TabSize was not correctly read in the asm code,
        improved the asm code by removing the division
[-] DUMP/HEX/ASM: disabled [F2] (user menu)
     -> [F2] is intercepted in fviewer.TFileViewer.HandleEvent().evKeyDown.kbF2
[-] first search result was never highlighted (Garl) [A]
     -> fviewer.TFileViewer.HandleEvent().cmSearch|cmReplace did another
        screen redraw, which cleared the displayed result, CED -> CE
[-] delay before viewing (Dandv) [N]
     -> could not reproduce with latest versions
[-] TEXT: crash in wrap mode when switching to ASM,[CTRL-PGDN] and
     switching back to TEXT (Dandv) [A]
     -> could not reproduce with latest versions
[-] following bug couldn't be recreated, probably fixed by accident: (Minimus)
     open my log file in Viewer and go to the end (press Ctrl-End) NDN crash.
     -> http://www.filefactory.com/file/8ac0ce/ -> F:\NDN\SOURCE\!bugs\1cv7.zip
[-] vmAsm: crash when [DEL] 2 times on EOF [A]
     -> fviewer.TFileViewer.HandleEvent().kbDel didn't call MakeLines()
     -> also added this call to kbIns, which enables to move cursor
        into the newly added bytes
[-] DUMP/HEX/ASM: DEL'ing a whole line changes to BOL not EOL (Dandv) [A]
     -> fviewer.TFileViewer.HandleEvent().kbDel now calls @Self.kbLeft before
        redraw to correctly set the cursor
[-] freed window related F? hotkeys (BMW) [A]
     -> modified english/russian/serbian ndn.dnr.STATUSLINE.hcView
        [CTRL-F2..F4] -> [ALT-CTRL-F1..F3], [CTRL-F5] -> [CTRL-F2]
        cmClose -> [CTRL-F4], cmResize -> [CTRL-F5]
[-] paste didn't work anymore [A]
     -> fviewer.TFileViewer.HandleEvent()._PasteBlock() didn't get line 0
        from clipboard but line -1
[-] buffer problems http://forums.muxe.com/index.php?showtopic=580 (GPFault)
     * 1.1 after paste/[INS] [ESC] exits w/o confirmation
       -> couldn't be recreated
     * 1.2 If file is or become empty pressing a key results in crash
       -> couldn't be recreated
     * 2.1 Block delete(Ctrl+Del) delete extra symbol after block too if file
       size is greater than buffer size
       -> fviewer.TFileViewer.HandleEvent().kbDel.not FullyLoaded removed 1
          byte too much
     * 2.3 DUMP/HEX/ASM: deltas are not subtracted from block ofs, resulting in bad
       block selection f.ex. when going to EOF with [CTRL-PGDN] or after moving
       the view w/o cursor with [CTRL-LEFT/RIGHT]
       -> fviewer.TFileViewer.Draw() block drawing code didn't compute the
          block offsets correctly
     * 2.4 all view modes: Last char in (buffersize+1)byte file is always shown as #0
       -> couldn't be recreated
     * 2.5 all view modes: If buffer size is set to small value (100) files with size
       more than buffer but less than 32768 are shown as empty files
       -> couldn't be recreated
     * 2.2 Block copy didn't handle block sizes > buf size; complete code was
       incorrect (GPFault) [A]
       -> rewrote fviewer.TFileViewer.HandleEvent()._CopyBlock() by handling
          every possible layout
       -> problems with block paste remain!
[*] Options.Configuration.Viewer.Buf size allowed to enter buffer sizes below
     the default buffer size ($8000)
     -> modified setups.SetupViewerDefaults() to check the value before and after
        opening the dialog
[-] blocks were lost on window change with [CTRL/SHIFT-TAB] or kbd input [A]
     -> standard and unhandled keyboard input set Block.Open to FALSE
        unconditionally in fviewer.TFileViewer.HandleEvent(), replaced
        with DoBlock() and moved to the content changing keyboard code
[-] persistent blocks didn't work correctly [A]
     * persistent blocks were drawn, but not valid
       -> moved the persistent block checks from fviewer.TFileViewer.Draw() to
     * blocks weren't reset on new [SHIFT+CURSOR] marking
       -> DoBlock() remembers and checks the previous ShiftState

[-] file export/save to text didn't save any data to non existing files [NC]
     -> added fileio.ClrIo() to spreadsh.TCalcView.HandleEvent().ExportToFile()
        to clear IO errors

[*] Improved [CTRL-ALT-F1..F12] keycode generation
     -> removed 2 keycodes (CTRL-ALT-F1/F2) drivers.from MaxKeyCodes,
        drivers.MyKeyShiftCodes and drivers.MyKeyScanCodes

[-] Info line: missing space between filename and filesize if
     'No extra LFN line' off and length of filename exactly fitting between
     border and file size string [A]
     -> vfs_drive.TDrive.GetDown() provided wrong value to stringsx.CutBeg(),
        added -1
     -> stringsx.CutBeg() added bytes to the length instead of 1, resulting in
        2 spaces instead of 1

[*] new option to ignore unused strings in ndn.dnl: /IGNOREUNKNOWN
     -> modified defcoll.TDefCollection.Init() to support multiple options
     -> added rcp.bIgnoreUnknownIdentifiers, used in


download: http://ndn.muxe.com/download/


Stefan / AH

Share this post

Link to post
Share on other sites
RayeR    0

Hm, unfortunatelly problem (which I had reported on prev. beta) with command line when running associated program to extension (NDN.EXT) under NT-based not corrected on NDN DOS version :\ Hope it will be fixed in some next beta, I think runing correct command interpret with right program and args wouldn't be serious problem.

Share this post

Link to post
Share on other sites




Sorry, I didn't have the time to check this again.



True, I have fixed that.

The CMS unfortunately doesn't update the filetimes automatically, so I have to do it by hand.



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