AngelsHolocaust 0 Report post Posted December 13, 2007 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. Whatsnew: [+] DEBUG ONLY: added /DBG_NO_CFG_WRITE_ON_EXIT (/DNCWOE) to prevent NDN from saving any configuration and history data [!] rewrote 0mk.bat & tools/#mk.bat (no more mistakes in D32 resources) EDITOR [*] "Unmark Block" undo/redo was not working good enough -> improvments to micro_2.EdConvert4do(), EdMakeUndo() and EdMakeRedo() -> 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 EDITOR/VIEWER/DBVIEWER/WKZVIEWER(Spreadsheet) [*] 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 microed7.InfoLineDraw() [*] 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(), microed2.MicroEd2.EditorBlockWrite() * spreadsh.TCalcView.HandleEvent().ExportToFile(), spreadsh.TCalcView.HandleEvent().cmOpen, spreadsh.TCalcView.SaveSheetAs() * fviewer.TFileViewer.HandleEvent().cmReanimator, fviewer.TFileViewer.HandleEvent().cmViewNewFile 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 TURBOVISION: VIEWS/DIALOGS/MENUS/OBJECTS/MESSAGES [+] 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 commands.ouiNewHistory -> 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 views.lvFocusedNone [*] 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() COUNTRY SETUP [+] 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 VIEWER [-] 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 fviewer.TFileViewer.GotoAdd.Mode [*] 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] http://forums.muxe.com/index.php?showtopic=536&st=0�entry1528 -> could not reproduce with latest versions [-] TEXT: crash in wrap mode when switching to ASM,[CTRL-PGDN] and switching back to TEXT (Dandv) [A] http://forums.muxe.com/index.php?showtopic=523 -> 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 fviewer.TFileViewer.HandleEvent().DoBlock() * blocks weren't reset on new [SHIFT+CURSOR] marking -> DoBlock() remembers and checks the previous ShiftState SPREADSHEET [-] 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 KEYBOARD [*] Improved [CTRL-ALT-F1..F12] keycode generation -> removed 2 keycodes (CTRL-ALT-F1/F2) drivers.from MaxKeyCodes, drivers.MyKeyShiftCodes and drivers.MyKeyScanCodes FILE PANEL [-] 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 RCP/RESOURCE [*] new option to ignore unused strings in ndn.dnl: /IGNOREUNKNOWN -> modified defcoll.TDefCollection.Init() to support multiple options -> added rcp.bIgnoreUnknownIdentifiers, used in rcp.ProcessDLs() download: http://ndn.muxe.com/download/ Stefan / AH Share this post Link to post Share on other sites
RayeR 0 Report post Posted December 17, 2007 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
Minimus 0 Report post Posted December 19, 2007 download: http://ndn.muxe.com/download/ On http://ndn.muxe.com/download/ date of new beta 23.10.2007 23.10.2007 - Latest W32 Beta Download >> 12.07.2005 - NDN 2.15 Build 4000 (Windows) Download >> But link point to 2.30.8497 :rolleyes: Share this post Link to post Share on other sites
AngelsHolocaust 0 Report post Posted December 19, 2007 Hi!! @RayeR: Sorry, I didn't have the time to check this again. @Minimus: True, I have fixed that. The CMS unfortunately doesn't update the filetimes automatically, so I have to do it by hand. Bye, Stefan / AH Share this post Link to post Share on other sites