You can subscribe to this list here.
2002 |
Jan
(2) |
Feb
(30) |
Mar
(17) |
Apr
(34) |
May
(25) |
Jun
(13) |
Jul
(20) |
Aug
(22) |
Sep
(39) |
Oct
(8) |
Nov
(20) |
Dec
(27) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(43) |
Feb
(18) |
Mar
(6) |
Apr
(78) |
May
(27) |
Jun
(23) |
Jul
(31) |
Aug
(14) |
Sep
(49) |
Oct
(2) |
Nov
(2) |
Dec
(38) |
2004 |
Jan
(52) |
Feb
(7) |
Mar
(15) |
Apr
(46) |
May
(27) |
Jun
(42) |
Jul
(31) |
Aug
(16) |
Sep
(42) |
Oct
(69) |
Nov
(75) |
Dec
(26) |
2005 |
Jan
(18) |
Feb
(18) |
Mar
(13) |
Apr
(3) |
May
(3) |
Jun
(6) |
Jul
(22) |
Aug
(6) |
Sep
(6) |
Oct
(24) |
Nov
(8) |
Dec
(23) |
2006 |
Jan
(24) |
Feb
(8) |
Mar
(16) |
Apr
|
May
(16) |
Jun
(9) |
Jul
|
Aug
(7) |
Sep
|
Oct
(1) |
Nov
(1) |
Dec
(9) |
2007 |
Jan
(62) |
Feb
(16) |
Mar
(19) |
Apr
(17) |
May
(15) |
Jun
(16) |
Jul
(16) |
Aug
(2) |
Sep
|
Oct
(5) |
Nov
(8) |
Dec
(2) |
2008 |
Jan
(2) |
Feb
(6) |
Mar
(3) |
Apr
|
May
|
Jun
(4) |
Jul
|
Aug
|
Sep
(12) |
Oct
(7) |
Nov
(2) |
Dec
|
2009 |
Jan
(1) |
Feb
(1) |
Mar
(1) |
Apr
|
May
|
Jun
(5) |
Jul
|
Aug
(1) |
Sep
(4) |
Oct
|
Nov
(1) |
Dec
|
From: Roman K. <rom...@us...> - 2009-11-09 17:15:56
|
Update of /cvsroot/synedit/SynEdit/Packages In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv2427 Added Files: Tag: Unicode_2004_08_31 SynEdit_D2010.dpk SynEdit_D2010.res SynEdit_R2010.dpk SynEdit_R2010.res Log Message: Added project files for D2010 --- NEW FILE: SynEdit_D2010.res --- (This appears to be a binary file; contents omitted.) --- NEW FILE: SynEdit_R2010.dpk --- package SynEdit_R2010; {$R *.res} {$ALIGN 8} {$ASSERTIONS ON} {$BOOLEVAL OFF} {$DEBUGINFO ON} {$EXTENDEDSYNTAX ON} {$IMPORTEDDATA ON} {$IOCHECKS ON} {$LOCALSYMBOLS ON} {$LONGSTRINGS ON} {$OPENSTRINGS ON} {$OPTIMIZATION ON} {$OVERFLOWCHECKS OFF} {$RANGECHECKS OFF} {$REFERENCEINFO ON} {$SAFEDIVIDE OFF} {$STACKFRAMES OFF} {$TYPEDADDRESS OFF} {$VARSTRINGCHECKS ON} {$WRITEABLECONST ON} {$MINENUMSIZE 1} {$IMAGEBASE $400000} {$DESCRIPTION 'SynEdit component suite runtime'} {$RUNONLY} {$IMPLICITBUILD OFF} requires vcl, vcldb, vclx, rtl; contains SynTextDrawer in '..\Source\SynTextDrawer.pas', SynAutoCorrect in '..\Source\SynAutoCorrect.pas', SynAutoCorrectEditor in '..\Source\SynAutoCorrectEditor.pas' {frmAutoCorrectEditor}, SynCompletionProposal in '..\Source\SynCompletionProposal.pas', SynDBEdit in '..\Source\SynDBEdit.pas', SynEdit in '..\Source\SynEdit.pas', SynEditAutoComplete in '..\Source\SynEditAutoComplete.pas', SynEditExport in '..\Source\SynEditExport.pas', SynEditHighlighter in '..\Source\SynEditHighlighter.pas', SynEditKbdHandler in '..\Source\SynEditKbdHandler.pas', SynEditKeyCmdEditor in '..\Source\SynEditKeyCmdEditor.pas' {SynEditKeystrokeEditorForm}, SynEditKeyCmds in '..\Source\SynEditKeyCmds.pas', SynEditKeyCmdsEditor in '..\Source\SynEditKeyCmdsEditor.pas' {SynEditKeystrokesEditorForm}, SynEditKeyConst in '..\Source\SynEditKeyConst.pas', SynEditMiscClasses in '..\Source\SynEditMiscClasses.pas', SynEditMiscProcs in '..\Source\SynEditMiscProcs.pas', SynEditOptionsDialog in '..\Source\SynEditOptionsDialog.pas' {fmEditorOptionsDialog}, SynEditPlugins in '..\Source\SynEditPlugins.pas', SynEditWordWrap in '..\Source\SynEditWordWrap.pas', SynEditPrint in '..\Source\SynEditPrint.pas', SynEditPrinterInfo in '..\Source\SynEditPrinterInfo.pas', SynEditPrintHeaderFooter in '..\Source\SynEditPrintHeaderFooter.pas', SynEditPrintMargins in '..\Source\SynEditPrintMargins.pas', SynEditPrintMarginsDialog in '..\Source\SynEditPrintMarginsDialog.pas' {SynEditPrintMarginsDlg}, SynEditPrintPreview in '..\Source\SynEditPrintPreview.pas', SynEditPrintTypes in '..\Source\SynEditPrintTypes.pas', SynEditPythonBehaviour in '..\Source\SynEditPythonBehaviour.pas', SynEditRegexSearch in '..\Source\SynEditRegexSearch.pas', SynEditSearch in '..\Source\SynEditSearch.pas', SynEditStrConst in '..\Source\SynEditStrConst.pas', SynEditTextBuffer in '..\Source\SynEditTextBuffer.pas', SynEditTypes in '..\Source\SynEditTypes.pas', SynExportHTML in '..\Source\SynExportHTML.pas', SynExportRTF in '..\Source\SynExportRTF.pas', SynExportTeX in '..\Source\SynExportTeX.pas', SynHighlighterADSP21xx in '..\Source\SynHighlighterADSP21xx.pas', SynHighlighterAsm in '..\Source\SynHighlighterAsm.pas', SynHighlighterAWK in '..\Source\SynHighlighterAWK.pas', SynHighlighterBaan in '..\Source\SynHighlighterBaan.pas', SynHighlighterBat in '..\Source\SynHighlighterBat.pas', SynHighlighterCAC in '..\Source\SynHighlighterCAC.pas', SynHighlighterCache in '..\Source\SynHighlighterCache.pas', SynHighlighterCobol in '..\Source\SynHighlighterCobol.pas', SynHighlighterCPM in '..\Source\SynHighlighterCPM.pas', SynHighlighterCpp in '..\Source\SynHighlighterCpp.pas', SynHighlighterCS in '..\Source\SynHighlighterCS.pas', SynHighlighterDfm in '..\Source\SynHighlighterDfm.pas', SynHighlighterDml in '..\Source\SynHighlighterDml.pas', SynHighlighterFortran in '..\Source\SynHighlighterFortran.pas', SynHighlighterFoxpro in '..\Source\SynHighlighterFoxpro.pas', SynHighlighterGalaxy in '..\Source\SynHighlighterGalaxy.pas', SynHighlighterGeneral in '..\Source\SynHighlighterGeneral.pas', SynHighlighterGWS in '..\Source\SynHighlighterGWS.pas', SynHighlighterHashEntries in '..\Source\SynHighlighterHashEntries.pas', SynHighlighterHaskell in '..\Source\SynHighlighterHaskell.pas', SynHighlighterHC11 in '..\Source\SynHighlighterHC11.pas', SynHighlighterHP48 in '..\Source\SynHighlighterHP48.pas', SynHighlighterHtml in '..\Source\SynHighlighterHtml.pas', SynHighlighterIDL in '..\Source\SynHighlighterIDL.pas', SynHighlighterIni in '..\Source\SynHighlighterIni.pas', SynHighlighterInno in '..\Source\SynHighlighterInno.pas', SynHighlighterJava in '..\Source\SynHighlighterJava.pas', SynHighlighterJScript in '..\Source\SynHighlighterJScript.pas', SynHighlighterKix in '..\Source\SynHighlighterKix.pas', SynHighlighterM3 in '..\Source\SynHighlighterM3.pas', SynHighlighterModelica in '..\Source\SynHighlighterModelica.pas', SynHighlighterMsg in '..\Source\SynHighlighterMsg.pas', SynHighlighterMulti in '..\Source\SynHighlighterMulti.pas', SynHighlighterPas in '..\Source\SynHighlighterPas.pas', SynHighlighterPerl in '..\Source\SynHighlighterPerl.pas', SynHighlighterPHP in '..\Source\SynHighlighterPHP.pas', SynHighlighterProgress in '..\Source\SynHighlighterProgress.pas', SynHighlighterPython in '..\Source\SynHighlighterPython.pas', SynHighlighterRC in '..\Source\SynHighlighterRC.pas', SynHighlighterRuby in '..\Source\SynHighlighterRuby.pas', SynHighlighterSDD in '..\Source\SynHighlighterSDD.pas', SynHighlighterSml in '..\Source\SynHighlighterSml.pas', SynHighlighterSQL in '..\Source\SynHighlighterSQL.pas', SynHighlighterST in '..\Source\SynHighlighterST.pas', SynHighlighterTclTk in '..\Source\SynHighlighterTclTk.pas', SynHighlighterTeX in '..\Source\SynHighlighterTeX.pas', SynHighlighterUNIXShellScript in '..\Source\SynHighlighterUNIXShellScript.pas', SynHighlighterUnreal in '..\Source\SynHighlighterUnreal.pas', SynHighlighterVB in '..\Source\SynHighlighterVB.pas', SynHighlighterVBScript in '..\Source\SynHighlighterVBScript.pas', SynHighlighterXML in '..\Source\SynHighlighterXML.pas', SynMacroRecorder in '..\Source\SynMacroRecorder.pas', SynMemo in '..\Source\SynMemo.pas', SynRegExpr in '..\Source\SynRegExpr.pas', SynHighlighterCss in '..\Source\SynHighlighterCss.pas', SynHighlighterLDraw in '..\Source\SynHighlighterLDraw.pas', SynHighlighterURI in '..\Source\SynHighlighterURI.pas', SynURIOpener in '..\Source\SynURIOpener.pas', SynHighlighterDOT in '..\Source\SynHighlighterDOT.pas', SynHighlighterVrml97 in '..\Source\SynHighlighterVrml97.pas', SynHighlighterEiffel in '..\Source\SynHighlighterEiffel.pas', SynUnicode in '..\Source\SynUnicode.pas', SynUsp10 in '..\Source\SynUsp10.pas'; end. --- NEW FILE: SynEdit_R2010.res --- (This appears to be a binary file; contents omitted.) --- NEW FILE: SynEdit_D2010.dpk --- package SynEdit_D2010; {$R *.res} {$R '..\Source\SynEditReg.dcr'} {$ALIGN 8} {$ASSERTIONS ON} {$BOOLEVAL OFF} {$DEBUGINFO ON} {$EXTENDEDSYNTAX ON} {$IMPORTEDDATA ON} {$IOCHECKS ON} {$LOCALSYMBOLS ON} {$LONGSTRINGS ON} {$OPENSTRINGS ON} {$OPTIMIZATION ON} {$OVERFLOWCHECKS OFF} {$RANGECHECKS OFF} {$REFERENCEINFO ON} {$SAFEDIVIDE OFF} {$STACKFRAMES OFF} {$TYPEDADDRESS OFF} {$VARSTRINGCHECKS ON} {$WRITEABLECONST ON} {$MINENUMSIZE 1} {$IMAGEBASE $400000} {$DESCRIPTION 'SynEdit component suite'} {$DESIGNONLY} {$IMPLICITBUILD ON} requires designide, SynEdit_R2010; contains SynEditReg in '..\Source\SynEditReg.pas', SynEditPropertyReg in '..\Source\SynEditPropertyReg.pas', SynHighlighterManager in '..\Source\SynHighlighterManager.pas'; end. |
From: Maël Hörz <ma...@us...> - 2009-09-29 01:03:13
|
Update of /cvsroot/synedit/SynEdit/Source In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv2040 Modified Files: Tag: Unicode_2004_08_31 SynEditSearch.pas Log Message: Fixed wrong fShiftInitialized value Index: SynEditSearch.pas =================================================================== RCS file: /cvsroot/synedit/SynEdit/Source/SynEditSearch.pas,v retrieving revision 1.12.2.5 retrieving revision 1.12.2.6 diff -u -d -r1.12.2.5 -r1.12.2.6 --- SynEditSearch.pas 29 Sep 2009 00:13:16 -0000 1.12.2.5 +++ SynEditSearch.pas 29 Sep 2009 00:16:46 -0000 1.12.2.6 @@ -254,7 +254,7 @@ Pat := CasedPat else Pat := SynWideLowerCase(CasedPat); - fShiftInitialized := True; + fShiftInitialized := False; end; end; |
From: Maël Hörz <ma...@us...> - 2009-09-29 01:02:40
|
Update of /cvsroot/synedit/SynEdit/Source In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv1668/Source Modified Files: Tag: Unicode_2004_08_31 SynEditSearch.pas Log Message: Fix potential access violation in TSynEditSearch Index: SynEditSearch.pas =================================================================== RCS file: /cvsroot/synedit/SynEdit/Source/SynEditSearch.pas,v retrieving revision 1.12.2.4 retrieving revision 1.12.2.5 diff -u -d -r1.12.2.4 -r1.12.2.5 --- SynEditSearch.pas 14 Sep 2008 16:24:59 -0000 1.12.2.4 +++ SynEditSearch.pas 29 Sep 2009 00:13:16 -0000 1.12.2.5 @@ -72,6 +72,7 @@ fWhole: Boolean; fResults: TList; fShiftInitialized: Boolean; + FTextToSearch: UnicodeString; function GetFinished: Boolean; procedure InitShiftTable; procedure SetCaseSensitive(const Value: Boolean); @@ -286,9 +287,10 @@ if fTextLen >= PatLen then begin if CaseSensitive then - Origin := PWideChar(NewText) + FTextToSearch := NewText else - Origin := PWideChar(SynWideLowerCase(NewText)); + FTextToSearch := SynWideLowerCase(NewText); + Origin := PWideChar(FTextToSearch); TheEnd := Origin + fTextLen; Run := (Origin - 1); Result := Next; |
From: Maël Hörz <ma...@us...> - 2009-09-28 19:16:18
|
Update of /cvsroot/synedit/SynEdit/Source In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv27813 Modified Files: Tag: Unicode_2004_08_31 SynHighlighterProgress.pas Log Message: - Keywords added to Progress-Highlighter by Peter Schmitz Index: SynHighlighterProgress.pas =================================================================== RCS file: /cvsroot/synedit/SynEdit/Source/SynHighlighterProgress.pas,v retrieving revision 1.16.2.7 retrieving revision 1.16.2.8 diff -u -d -r1.16.2.7 -r1.16.2.8 --- SynHighlighterProgress.pas 28 Sep 2009 17:54:20 -0000 1.16.2.7 +++ SynHighlighterProgress.pas 28 Sep 2009 19:16:08 -0000 1.16.2.8 @@ -298,7 +298,7 @@ 'com8 com9 combo-box command complete ' + 'com-self con connect connected ' + 'constrained contains contents context context-popup ' + - 'control-container convert convert-3d-colors convert-to-offset count ' + + 'control-container convert convert-3d-colors convert-to-offset count copy-lob ' + 'cpcase cpcoll cpinternal cplog cpprint ' + 'cprcodein cprcodeout cpterm crc-value create-control ' + 'create-result-list-entry create-test-file current_date current-column ' + @@ -315,8 +315,8 @@ 'eq error error-col error-column error-row ' + 'events event-type exp expand extended ' + 'extent external extract fetch-selected-row fgc ' + - 'fgcolor file filename file-name ' + - 'file-offset file-type filled fill-in filters ' + + 'fgcolor file filename file-create-date file-create-time file-mod-date file-mod-time file-name ' + + 'file-offset file-size file-type filled fill-in filters ' + 'first-child first-column first-proc first-procedure first-server ' + 'first-tab-item fixed-only focused-row font-table force-file ' + 'foreground forwards frame-spacing frame-x frame-y ' + @@ -337,7 +337,7 @@ 'image-size-pixels image-up immediate-display indexed-reposition index-hint ' + 'info information init initial initial-dir ' + 'initial-filter initiate inner inner-chars inner-lines input-value ' + - 'insert-backtab insert-file insert-row insert-string insert-tab ' + + 'insert-backtab insert-file insert-row insert-string insert-tab instantiating-procedure ' + 'internal-entries is-lead-byte is-row-selected is-selected item ' + 'items-per-row join-by-sqldb keep-frame-z-order keep-messages keep-tab-order ' + 'key keyword-all label-bgc label-bgcolor label-dc ' + |
Update of /cvsroot/synedit/SynEdit/Source In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv17521 Modified Files: Tag: Unicode_2004_08_31 SynEdit.pas SynEditHighlighter.pas SynEditMiscProcs.pas SynHighlighterProgress.pas SynUnicode.pas Log Message: - AdditionalWordBreakChars/IdentChars options by Peter Schmitz - Fixes by Erik Berry - Tab-related fix by Jan Fiala Index: SynEdit.pas =================================================================== RCS file: /cvsroot/synedit/SynEdit/Source/SynEdit.pas,v retrieving revision 1.386.2.75 retrieving revision 1.386.2.76 diff -u -d -r1.386.2.75 -r1.386.2.76 --- SynEdit.pas 17 Sep 2008 13:59:11 -0000 1.386.2.75 +++ SynEdit.pas 28 Sep 2009 17:54:20 -0000 1.386.2.76 @@ -486,6 +486,9 @@ fChainUndoAdded: TNotifyEvent; fChainRedoAdded: TNotifyEvent; + FAdditionalWordBreakChars: TSysCharSet; + FAdditionalIdentChars: TSysCharSet; + {$IFDEF SYN_COMPILER_6_UP} fSearchNotFound: TCustomSynEditSearchNotFoundEvent; OnFindBeforeSearch: TNotifyEvent; @@ -610,6 +613,8 @@ procedure UpdateScrollBars; procedure WriteAddedKeystrokes(Writer: TWriter); procedure WriteRemovedKeystrokes(Writer: TWriter); + procedure SetAdditionalIdentChars(const Value: TSysCharSet); + procedure SetAdditionalWordBreakChars(const Value: TSysCharSet); {$IFDEF SYN_COMPILER_6_UP} procedure DoSearchFindFirstExecute(Action: TSearchFindFirst); @@ -876,6 +881,8 @@ aUndo, aRedo: TSynEditUndoList); procedure UnHookTextBuffer; public + property AdditionalIdentChars: TSysCharSet read FAdditionalIdentChars write SetAdditionalIdentChars; + property AdditionalWordBreakChars: TSysCharSet read FAdditionalWordBreakChars write SetAdditionalWordBreakChars; property BlockBegin: TBufferCoord read GetBlockBegin write SetBlockBegin; property BlockEnd: TBufferCoord read GetBlockEnd write SetBlockEnd; property CanPaste: Boolean read GetCanPaste; @@ -7426,10 +7433,13 @@ if SpaceCount2 > 0 then begin SpaceBuffer := Copy(Lines[BackCounter], 1, SpaceCount2); + InternalCaretXY := BufferCoord(1, CaretY +1); for i := 1 to Length(SpaceBuffer) do - CommandProcessor(ecChar, SpaceBuffer[i], nil); + if SpaceBuffer[i] = #9 then + CommandProcessor(ecTab, #0, nil) + else + CommandProcessor(ecChar, SpaceBuffer[i], nil); end; - InternalCaretXY := BufferCoord(SpaceCount2 +1, CaretY +1); end; fUndoList.AddChange(crLineBreak, Caret, Caret, '', smNormal); end; @@ -7956,6 +7966,16 @@ end; end; +procedure TCustomSynEdit.SetAdditionalIdentChars(const Value: TSysCharSet); +begin + FAdditionalIdentChars := Value; +end; + +procedure TCustomSynEdit.SetAdditionalWordBreakChars(const Value: TSysCharSet); +begin + FAdditionalWordBreakChars := Value; +end; + procedure TCustomSynEdit.BeginUndoBlock; begin fUndoList.BeginBlock; @@ -10291,6 +10311,11 @@ else Result := AChar >= #33; + if Assigned(Highlighter) then + Result := Result or CharInSet(AChar, Highlighter.AdditionalIdentChars) + else + Result := Result or CharInSet(AChar, Self.AdditionalIdentChars); + Result := Result and not IsWordBreakChar(AChar); end; @@ -10320,6 +10345,17 @@ else Result := False; end; + + if Assigned(Highlighter) then + begin + Result := Result or CharInSet(AChar, Highlighter.AdditionalWordBreakChars); + Result := Result and not CharInSet(AChar, Highlighter.AdditionalIdentChars); + end + else + begin + Result := Result or CharInSet(AChar, Self.AdditionalWordBreakChars); + Result := Result and not CharInSet(AChar, Self.AdditionalIdentChars); + end; end; procedure TCustomSynEdit.SetSearchEngine(Value: TSynEditSearchCustom); Index: SynEditHighlighter.pas =================================================================== RCS file: /cvsroot/synedit/SynEdit/Source/SynEditHighlighter.pas,v retrieving revision 1.36.2.18 retrieving revision 1.36.2.19 diff -u -d -r1.36.2.18 -r1.36.2.19 --- SynEditHighlighter.pas 14 Sep 2008 16:24:58 -0000 1.36.2.18 +++ SynEditHighlighter.pas 28 Sep 2009 17:54:20 -0000 1.36.2.19 @@ -129,7 +129,13 @@ fAttrChangeHooks: TSynNotifyEventChain; fUpdateCount: Integer; fEnabled: Boolean; + FAdditionalWordBreakChars: TSysCharSet; + FAdditionalIdentChars: TSysCharSet; + FExportName: string; + function GetExportName: string; procedure SetEnabled(const Value: Boolean); + procedure SetAdditionalIdentChars(const Value: TSysCharSet); + procedure SetAdditionalWordBreakChars(const Value: TSysCharSet); protected fCasedLine: PWideChar; fCasedLineStr: UnicodeString; @@ -205,7 +211,7 @@ {$IFNDEF SYN_CLX} function LoadFromRegistry(RootKey: HKEY; Key: string): Boolean; virtual; function SaveToRegistry(RootKey: HKEY; Key: string): Boolean; virtual; - function LoadFromFile(AFileName: string): Boolean; + function LoadFromFile(AFileName: string): Boolean; function SaveToFile(AFileName: string): Boolean; {$ENDIF} procedure HookAttrChangeEvent(ANotifyEvent: TNotifyEvent); @@ -216,6 +222,8 @@ property FriendlyLanguageName: UnicodeString read GetFriendlyLanguageNameProp; property LanguageName: string read GetLanguageNameProp; public + property AdditionalIdentChars: TSysCharSet read FAdditionalIdentChars write SetAdditionalIdentChars; + property AdditionalWordBreakChars: TSysCharSet read FAdditionalWordBreakChars write SetAdditionalWordBreakChars; property AttrCount: Integer read GetAttribCount; property Attribute[Index: Integer]: TSynHighlighterAttributes read GetAttribute; @@ -233,6 +241,7 @@ index SYN_ATTR_SYMBOL read GetDefaultAttribute; property WhitespaceAttribute: TSynHighlighterAttributes index SYN_ATTR_WHITESPACE read GetDefaultAttribute; + property ExportName: string read GetExportName; published property DefaultFilter: string read GetDefaultFilter write SetDefaultFilter stored IsFilterStored; @@ -265,6 +274,7 @@ implementation uses + SynEditMiscProcs, {$IFDEF UNICODE} WideStrUtils, {$ENDIF} @@ -978,6 +988,13 @@ Result := fExpandedTokenPos; end; +function TSynCustomHighlighter.GetExportName: string; +begin + if FExportName = '' then + FExportName := SynEditMiscProcs.DeleteTypePrefixAndSynSuffix(ClassName); + Result := FExportName; +end; + function TSynCustomHighlighter.GetExpandedToken: UnicodeString; var Len: Integer; @@ -1154,6 +1171,18 @@ begin end; +procedure TSynCustomHighlighter.SetAdditionalIdentChars( + const Value: TSysCharSet); +begin + FAdditionalIdentChars := Value; +end; + +procedure TSynCustomHighlighter.SetAdditionalWordBreakChars( + const Value: TSysCharSet); +begin + FAdditionalWordBreakChars := Value; +end; + procedure TSynCustomHighlighter.SetAttributesOnChange(AEvent: TNotifyEvent); var i: Integer; Index: SynEditMiscProcs.pas =================================================================== RCS file: /cvsroot/synedit/SynEdit/Source/SynEditMiscProcs.pas,v retrieving revision 1.35.2.7 retrieving revision 1.35.2.8 diff -u -d -r1.35.2.7 -r1.35.2.8 --- SynEditMiscProcs.pas 14 Sep 2008 16:24:58 -0000 1.35.2.7 +++ SynEditMiscProcs.pas 28 Sep 2009 17:54:20 -0000 1.35.2.8 @@ -173,6 +173,8 @@ procedure SynDrawGradient(const ACanvas: TCanvas; const AStartColor, AEndColor: TColor; ASteps: Integer; const ARect: TRect; const AHorizontal: Boolean); +function DeleteTypePrefixAndSynSuffix(S: string): string; + implementation uses @@ -844,7 +846,7 @@ for i := 0 to Schemes.Count - 1 do begin - UniqueAttriName := DeleteTypePrefixAndSynSuffix(Highlighter.ClassName) + + UniqueAttriName := Highlighter.ExportName + IntToStr(GetHighlighterIndex(Highlighter, HighlighterList)) + '.' + Schemes[i].MarkerAttri.Name + IntToStr(i + 1); @@ -860,7 +862,7 @@ else if Assigned(Highlighter) then for i := 0 to Highlighter.AttrCount - 1 do begin - UniqueAttriName := DeleteTypePrefixAndSynSuffix(Highlighter.ClassName) + + UniqueAttriName := Highlighter.ExportName + IntToStr(GetHighlighterIndex(Highlighter, HighlighterList)) + '.' + Highlighter.Attribute[i].Name; Index: SynUnicode.pas =================================================================== RCS file: /cvsroot/synedit/SynEdit/Source/Attic/SynUnicode.pas,v retrieving revision 1.1.2.45 retrieving revision 1.1.2.46 diff -u -d -r1.1.2.45 -r1.1.2.46 --- SynUnicode.pas 23 Feb 2009 15:43:50 -0000 1.1.2.45 +++ SynUnicode.pas 28 Sep 2009 17:54:20 -0000 1.1.2.46 @@ -2567,7 +2567,7 @@ ErrorMessage: UnicodeString; {$ENDIF} begin - if Mode = fmCreate then + if ((Mode and fmCreate) = fmCreate) then begin inherited Create(WideFileCreate(FileName, Rights)); if Handle < 0 then Index: SynHighlighterProgress.pas =================================================================== RCS file: /cvsroot/synedit/SynEdit/Source/SynHighlighterProgress.pas,v retrieving revision 1.16.2.6 retrieving revision 1.16.2.7 diff -u -d -r1.16.2.6 -r1.16.2.7 --- SynHighlighterProgress.pas 14 Aug 2009 14:20:48 -0000 1.16.2.6 +++ SynHighlighterProgress.pas 28 Sep 2009 17:54:20 -0000 1.16.2.7 @@ -275,7 +275,7 @@ DefaultNonReservedKeywords: UnicodeString = 'abs absolute accelerator across add-events-procedure ' + - 'add-first add-last advise alert-box allow-replication ' + + 'add-first add-interval add-last advise alert-box allow-replication ' + 'ansi-only anywhere append appl-alert appl-alert-boxes ' + 'application as-cursor ask-overwrite attachment auto-endkey ' + 'auto-end-key auto-go auto-indent auto-resize auto-zap ' + |
From: Maël Hörz <ma...@us...> - 2009-08-14 14:20:56
|
Update of /cvsroot/synedit/SynEdit/Source In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv25220 Modified Files: Tag: Unicode_2004_08_31 SynHighlighterProgress.pas Log Message: Added keyword updates per Peter Schmitz. Index: SynHighlighterProgress.pas =================================================================== RCS file: /cvsroot/synedit/SynEdit/Source/SynHighlighterProgress.pas,v retrieving revision 1.16.2.5 retrieving revision 1.16.2.6 diff -u -d -r1.16.2.5 -r1.16.2.6 --- SynHighlighterProgress.pas 14 Sep 2008 16:25:02 -0000 1.16.2.5 +++ SynHighlighterProgress.pas 14 Aug 2009 14:20:48 -0000 1.16.2.6 @@ -224,10 +224,10 @@ 'last-key last-of lastkey ldbname leave ' + 'library like line-count line-counter line-number ' + 'listing locked long lookup machine-class ' + - 'map member memptr message ' + + 'map max-button member memptr message ' + 'message-lines mouse mpe new next ' + 'next-prompt no no-attr-space no-error no-fill ' + - 'no-help no-hide no-label no-labels no-lock ' + + 'no-help no-hide no-label no-labels no-lobs no-lock ' + 'no-map no-message no-pause no-prefetch no-undo ' + 'no-validate no-wait not null num-aliases ' + 'num-dbs num-entries of off old ' + @@ -250,7 +250,7 @@ 'set setuserid share share-lock shared ' + 'short show-stats skip some space ' + 'status stream stream-io string-xref system-dialog ' + - 'table term terminal text text-cursor ' + + 'table tab-stop term terminal text text-cursor ' + 'text-height text-seg-growth then this-procedure ' + 'time title to top-only trans ' + 'transaction trigger triggers trim true ' + @@ -259,7 +259,7 @@ 'update use-index use-revvideo use-underline user ' + 'userid using v6frame value values ' + 'view view-as vms wait-for web-context ' + - 'when where while window window-maximized ' + + 'when where while widget-id window window-maximized ' + 'window-minimized window-normal with work-table workfile ' + 'write xcode xref yes _actailog ' + '_actbilog _actbuffer _actindex _actiofile _actiotype ' + @@ -309,7 +309,7 @@ 'default-extension defined delete-current-row delete-selected-row delete-selected-rows ' + 'deselect-focused-row deselect-rows deselect-selected-row design-mode dialog-box ' + 'dialog-help dir disabled display-message display-type ' + - 'drag-enabled drop-down drop-down-list dump dynamic ' + + 'drag-enabled drop-down drop-down-list dump dynamic dynamic-function ' + 'echo edge edge-chars edge-pixels edit-can-undo ' + 'editor edit-undo empty end-key entered ' + 'eq error error-col error-column error-row ' + @@ -336,7 +336,7 @@ 'image image-down image-insensitive image-size image-size-chars ' + 'image-size-pixels image-up immediate-display indexed-reposition index-hint ' + 'info information init initial initial-dir ' + - 'initial-filter initiate inner inner-chars inner-lines ' + + 'initial-filter initiate inner inner-chars inner-lines input-value ' + 'insert-backtab insert-file insert-row insert-string insert-tab ' + 'internal-entries is-lead-byte is-row-selected is-selected item ' + 'items-per-row join-by-sqldb keep-frame-z-order keep-messages keep-tab-order ' + @@ -345,7 +345,7 @@ 'label-pfcolor labels languages large large-to-small ' + 'last-child last-proc last-procedure last-server last-tab-item ' + 'lc le leading left-aligned left-trim ' + - 'length line list-events list-items list-query-attrs ' + + 'length line list-events list-items list-item-pairs list-query-attrs ' + 'list-set-attrs list-widgets load load-control loadcontrols ' + 'load-icon load-image load-image-down load-image-insensitive load-image-up ' + 'load-mouse-pointer load-small-icon log-id lookahead lower ' + @@ -377,11 +377,11 @@ 'orientation os-drives os-error ' + 'os-getenv outer outer-join override owner ' + 'paged page-size page-width parent partial-key ' + - 'pascal pathname pfc pfcolor pinnable ' + + 'pascal password-field pathname pfc pfcolor pinnable ' + 'pixels-per-col pixels-per-column pixels-per-row popup-menu popup-only ' + 'position precision preselect prev prev-column ' + 'prev-sibling prev-tab-item primary printer-control-handle printer-name ' + - 'printer-port printer-setup private-data prn procedure ' + + 'printer-port printer-setup private private-data prn procedure ' + 'progress-source proxy put-double put-float put-long ' + 'put-short put-string put-unsigned-short query-off-end question ' + 'radio-buttons radio-set random raw-transfer read-file ' + @@ -476,9 +476,9 @@ 'white window-close window-resized window-restored'; DefaultDataTypes: UnicodeString = - 'char character com-handle date dec ' + + 'char character com-handle component-handle date datetime datetime-tz dec ' + 'decimal double float handle int ' + - 'integer log logical raw rowid ' + + 'integer int64 log logical longchar raw rowid ' + 'widget widget-handle'; implementation |
From: Maël Hörz <ma...@us...> - 2009-06-14 14:11:48
|
Update of /cvsroot/synedit/SynEdit/Source In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv12411 Modified Files: Tag: Unicode_2004_08_31 SynDBEdit.pas Log Message: Assume DefaultEncoding when loading from BlobStream Index: SynDBEdit.pas =================================================================== RCS file: /cvsroot/synedit/SynEdit/Source/SynDBEdit.pas,v retrieving revision 1.11.2.1 retrieving revision 1.11.2.2 diff -u -d -r1.11.2.1 -r1.11.2.2 --- SynDBEdit.pas 31 Aug 2004 12:55:16 -0000 1.11.2.1 +++ SynDBEdit.pas 14 Jun 2009 13:33:38 -0000 1.11.2.2 @@ -363,7 +363,7 @@ BlobStream := TBlobStream.Create(BlobField, bmRead); {$ENDIF} Lines.BeginUpdate; - Lines.LoadFromStream(BlobStream); + Lines.LoadFromStream(BlobStream{$IFDEF UNICODE}, TEncoding.Default{$ENDIF}); Lines.EndUpdate; BlobStream.Free; Modified := False; |
From: Maël Hörz <ma...@us...> - 2009-06-14 14:11:47
|
Update of /cvsroot/synedit/SynEdit/Source In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv14874 Modified Files: Tag: Unicode_2004_08_31 SynEdit.inc SynEditTextBuffer.pas Log Message: Merged minor updates from gexperts UniSynEdit version Index: SynEditTextBuffer.pas =================================================================== RCS file: /cvsroot/synedit/SynEdit/Source/SynEditTextBuffer.pas,v retrieving revision 1.63.2.14 retrieving revision 1.63.2.15 diff -u -d -r1.63.2.14 -r1.63.2.15 --- SynEditTextBuffer.pas 17 Mar 2009 18:12:14 -0000 1.63.2.14 +++ SynEditTextBuffer.pas 14 Jun 2009 13:41:44 -0000 1.63.2.15 @@ -601,30 +601,29 @@ end; function TSynEditStringList.GetTextStr: UnicodeString; + + procedure RemoveTrailingUnicodeLineBreak; + begin // The Delphi 2009+ RTL forces a trailing line break when getting the text, so we remove it + {$IFDEF UNICODE} + if Copy(Result, Length(Result) - Length(LineBreak) + 1, Length(LineBreak)) = LineBreak then + SetLength(Result, Length(Result) - Length(LineBreak)); + {$ENDIF} + end; + var SLineBreak: UnicodeString; begin if not FStreaming then begin Result := inherited GetTextStr; -{$IFDEF UNICODE} - if copy(Result, Length(Result) - Length(LineBreak) + 1, Length(LineBreak)) = - LineBreak then - begin - SetLength(Result, Length(Result) - Length(LineBreak)); - end; -{$ENDIF} + RemoveTrailingUnicodeLineBreak; end else begin {$IFDEF UNICODE} SLineBreak := LineBreak; Result := inherited GetTextStr; - if copy(Result, Length(Result) - Length(LineBreak) + 1, Length(LineBreak)) = - LineBreak then - begin - SetLength(Result, Length(Result) - Length(LineBreak)); - end; + RemoveTrailingUnicodeLineBreak; {$ELSE} case FileFormat of sffDos: Index: SynEdit.inc =================================================================== RCS file: /cvsroot/synedit/SynEdit/Source/SynEdit.inc,v retrieving revision 1.16.2.18 retrieving revision 1.16.2.19 diff -u -d -r1.16.2.18 -r1.16.2.19 --- SynEdit.inc 6 Jan 2009 16:26:01 -0000 1.16.2.18 +++ SynEdit.inc 14 Jun 2009 13:41:44 -0000 1.16.2.19 @@ -76,6 +76,8 @@ (* SYN_DELPHI_2007_UP : Delphi 2007 or higher is being used. *) (* SYN_DELPHI_2009 : Delphi 2009 is being used. *) (* SYN_DELPHI_2009_UP : Delphi 2009 or higher is being used. *) +(* SYN_DELPHI_2010 : Delphi 2010 is being used. *) +(* SYN_DELPHI_2010_UP : Delphi 2010 or higher is being used. *) (* SYN_KYLIX : Kylix 1.0 is being using. *) (* SYN_CLX : A CLX application is being created. *) (******************************************************************************) @@ -122,6 +124,12 @@ { VERXXX to SYN_COMPILERX, SYN_DELPHIX and SYN_CPPBX mappings } {------------------------------------------------------------------------------} +{$IFDEF VER210} + {$DEFINE SYN_COMPILER_14} + {$DEFINE SYN_DELPHI} + {$DEFINE SYN_DELPHI_2010} +{$ENDIF} + {$IFDEF VER200} {$DEFINE SYN_COMPILER_12} {$DEFINE SYN_DELPHI} @@ -331,6 +339,22 @@ {$DEFINE SYN_COMPILER_12_UP} {$ENDIF} +{$IFDEF SYN_COMPILER_14} + {$DEFINE SYN_COMPILER_1_UP} + {$DEFINE SYN_COMPILER_2_UP} + {$DEFINE SYN_COMPILER_3_UP} + {$DEFINE SYN_COMPILER_4_UP} + {$DEFINE SYN_COMPILER_5_UP} + {$DEFINE SYN_COMPILER_6_UP} + {$DEFINE SYN_COMPILER_7_UP} + {$DEFINE SYN_COMPILER_8_UP} + {$DEFINE SYN_COMPILER_9_UP} + {$DEFINE SYN_COMPILER_10_UP} + {$DEFINE SYN_COMPILER_11_UP} + {$DEFINE SYN_COMPILER_12_UP} + {$DEFINE SYN_COMPILER_14_UP} +{$ENDIF} + {$IFDEF SYN_DELPHI_2} {$DEFINE SYN_DELPHI_2_UP} {$ENDIF} @@ -430,6 +454,21 @@ {$DEFINE SYN_DELPHI_2009_UP} {$ENDIF} +{$IFDEF SYN_DELPHI_2010} + {$DEFINE SYN_DELPHI_2_UP} + {$DEFINE SYN_DELPHI_3_UP} + {$DEFINE SYN_DELPHI_4_UP} + {$DEFINE SYN_DELPHI_5_UP} + {$DEFINE SYN_DELPHI_6_UP} + {$DEFINE SYN_DELPHI_7_UP} + {$DEFINE SYN_DELPHI_8_UP} + {$DEFINE SYN_DELPHI_2005_UP} + {$DEFINE SYN_DELPHI_2006_UP} + {$DEFINE SYN_DELPHI_2007_UP} + {$DEFINE SYN_DELPHI_2009_UP} + {$DEFINE SYN_DELPHI_20010_UP} +{$ENDIF} + {$IFDEF SYN_CPPB_6} {$DEFINE SYN_CPPB_3_UP} {$DEFINE SYN_CPPB_4_UP} |
From: Roman K. <rom...@us...> - 2009-06-12 15:19:16
|
Update of /cvsroot/synedit/SynEdit/Source In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv11151 Modified Files: SynEdit.pas Log Message: Fixed the clipboard for Unicode Index: SynEdit.pas =================================================================== RCS file: /cvsroot/synedit/SynEdit/Source/SynEdit.pas,v retrieving revision 1.459 retrieving revision 1.460 diff -u -d -r1.459 -r1.460 --- SynEdit.pas 23 Apr 2009 14:24:14 -0000 1.459 +++ SynEdit.pas 12 Jun 2009 15:19:00 -0000 1.460 @@ -1003,6 +1003,14 @@ FrameWidth = 2; { the border width when BoderStyle = bsSingle (until we support TWidgetStyle...) } {$ENDIF} +//Text-Format for the clipboard +const +{$IFDEF UNICODE} + cClipboardTextFormat = CF_UNICODETEXT; +{$ELSE} + cClipboardTextFormat = CF_TEXT; +{$ENDIF} + function TrimTrailingSpaces(const S: string): string; var I: Integer; @@ -1158,14 +1166,14 @@ EmptyClipboard; // Put it on the clipboard as normal text format so it can be pasted into // things like notepad or Delphi. - Mem := GlobalAlloc(GMEM_MOVEABLE or GMEM_DDESHARE, SLen + 1); + Mem := GlobalAlloc(GMEM_MOVEABLE or GMEM_DDESHARE, (SLen + 1) * SizeOf(Char)); if Mem <> 0 then begin P := GlobalLock(Mem); try if P <> nil then begin - Move(PChar(SText)^, P^, SLen + 1); + Move(PChar(SText)^, P^, (SLen + 1) * SizeOf(Char)); // Put it on the clipboard in text format - Failed := SetClipboardData(CF_TEXT, Mem) = 0; + Failed := SetClipboardData(cClipboardTextFormat, Mem) = 0; end; finally GlobalUnlock(Mem); @@ -1176,15 +1184,14 @@ if not Failed then begin // Copy it in our custom format so we know what kind of block it is. // That effects how it is pasted in. - Mem := GlobalAlloc(GMEM_MOVEABLE or GMEM_DDESHARE, SLen + - SizeOf(TSynSelectionMode) + 1); + Mem := GlobalAlloc(GMEM_MOVEABLE or GMEM_DDESHARE, (SLen + SizeOf(TSynSelectionMode) + 1) * SizeOf(Char)); P := GlobalLock(Mem); try if P <> nil then begin // Our format: TSynSelectionMode value followed by text. PSynSelectionMode(P)^ := fActiveSelectionMode; inc(P, SizeOf(TSynSelectionMode)); - Move(PChar(SText)^, P^, SLen + 1); + Move(PChar(SText)^, P^, (SLen + 1) * SizeOf(Char)); Failed := SetClipboardData(SynEditClipboardFormat, Mem) = 0; end; finally @@ -1550,7 +1557,7 @@ P := PChar(Result); StrPCopy(P, Copy(S, Index, Count)); Inc(P, Length(S)); - FillChar(P^, DstLen - Srclen, $20); + FillChar(P^, (DstLen - Srclen) * SizeOf(Char), $20); end; end; @@ -1567,7 +1574,7 @@ Dec(Index); pSrc := PChar(S) + Index; DstLen := Min(SrcLen - Index, Count); - Move(pSrc^, P^, DstLen); + Move(pSrc^, P^, DstLen * SizeOf(Char)); Inc(P, DstLen); P^ := #0; end; @@ -1586,7 +1593,7 @@ Len := Count - (P - OldP); if not (eoTrimTrailingSpaces in Options) then begin - FillChar(P^, Len, #$20); + FillChar(P^, Len * SizeOf(Char), #$20); Inc(P, Len); end else @@ -3514,7 +3521,7 @@ Clipboard.Close; end; // If our special format isn't there, check for regular text format. - end else if Clipboard.HasFormat(CF_TEXT) then begin + end else if Clipboard.HasFormat(cClipboardTextFormat) then begin {$ENDIF} fUndoList.AddChange(crPasteBegin, BlockBegin, BlockEnd, '', smNormal); AddPasteEndMarker := True; @@ -4207,7 +4214,7 @@ if P <> Start then begin SetLength(Str, P - Start); - Move(Start^, Str[1], P - Start); + Move(Start^, Str[1], (P - Start) * SizeOf(Char)); if CaretY > Lines.Count then begin Inc( Result ); @@ -5199,8 +5206,7 @@ {$IFDEF SYN_CLX} Result := not ReadOnly and Clipboard.Provides(CF_TEXT); {$ELSE} - Result := not ReadOnly and ( Clipboard.HasFormat(CF_TEXT) - or Clipboard.HasFormat(SynEditClipboardFormat) ); + Result := not ReadOnly and (Clipboard.HasFormat(cClipboardTextFormat) or Clipboard.HasFormat(SynEditClipboardFormat)); {$ENDIF} end; |
From: Roman K. <rom...@us...> - 2009-06-12 09:07:12
|
Update of /cvsroot/synedit/SynEdit/Packages In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv29464 Added Files: SynEdit_D2007.dpk SynEdit_D2009.dpk SynEdit_R2007.dpk SynEdit_R2009.dpk Log Message: Added packages fro Delphi 2007 and 2009. --- NEW FILE: SynEdit_R2007.dpk --- package SynEdit_R2007; {$R *.res} {$ALIGN 8} {$ASSERTIONS OFF} {$BOOLEVAL OFF} {$DEBUGINFO OFF} {$EXTENDEDSYNTAX ON} {$IMPORTEDDATA ON} {$IOCHECKS OFF} {$LOCALSYMBOLS OFF} {$LONGSTRINGS ON} {$OPENSTRINGS ON} {$OPTIMIZATION ON} {$OVERFLOWCHECKS OFF} {$RANGECHECKS OFF} {$REFERENCEINFO OFF} {$SAFEDIVIDE OFF} {$STACKFRAMES OFF} {$TYPEDADDRESS OFF} {$VARSTRINGCHECKS ON} {$WRITEABLECONST ON} {$MINENUMSIZE 1} {$IMAGEBASE $400000} {$DESCRIPTION 'SynEdit component suite runtime'} {$RUNONLY} {$IMPLICITBUILD OFF} requires vcl, vcldb, vclx; contains SynTextDrawer in '..\Source\SynTextDrawer.pas', SynAutoCorrect in '..\Source\SynAutoCorrect.pas', SynAutoCorrectEditor in '..\Source\SynAutoCorrectEditor.pas' {frmAutoCorrectEditor}, SynCompletionProposal in '..\Source\SynCompletionProposal.pas', SynDBEdit in '..\Source\SynDBEdit.pas', SynEdit in '..\Source\SynEdit.pas', SynEditAutoComplete in '..\Source\SynEditAutoComplete.pas', SynEditExport in '..\Source\SynEditExport.pas', SynEditHighlighter in '..\Source\SynEditHighlighter.pas', SynEditKbdHandler in '..\Source\SynEditKbdHandler.pas', SynEditKeyCmdEditor in '..\Source\SynEditKeyCmdEditor.pas' {SynEditKeystrokeEditorForm}, SynEditKeyCmds in '..\Source\SynEditKeyCmds.pas', SynEditKeyCmdsEditor in '..\Source\SynEditKeyCmdsEditor.pas' {SynEditKeystrokesEditorForm}, SynEditKeyConst in '..\Source\SynEditKeyConst.pas', SynEditMiscClasses in '..\Source\SynEditMiscClasses.pas', SynEditMiscProcs in '..\Source\SynEditMiscProcs.pas', SynEditOptionsDialog in '..\Source\SynEditOptionsDialog.pas' {fmEditorOptionsDialog}, SynEditPlugins in '..\Source\SynEditPlugins.pas', SynEditWordWrap in '..\Source\SynEditWordWrap.pas', SynEditPrint in '..\Source\SynEditPrint.pas', SynEditPrinterInfo in '..\Source\SynEditPrinterInfo.pas', SynEditPrintHeaderFooter in '..\Source\SynEditPrintHeaderFooter.pas', SynEditPrintMargins in '..\Source\SynEditPrintMargins.pas', SynEditPrintMarginsDialog in '..\Source\SynEditPrintMarginsDialog.pas' {SynEditPrintMarginsDlg}, SynEditPrintPreview in '..\Source\SynEditPrintPreview.pas', SynEditPrintTypes in '..\Source\SynEditPrintTypes.pas', SynEditPythonBehaviour in '..\Source\SynEditPythonBehaviour.pas', SynEditRegexSearch in '..\Source\SynEditRegexSearch.pas', SynEditSearch in '..\Source\SynEditSearch.pas', SynEditStrConst in '..\Source\SynEditStrConst.pas', SynEditTextBuffer in '..\Source\SynEditTextBuffer.pas', SynEditTypes in '..\Source\SynEditTypes.pas', SynExportHTML in '..\Source\SynExportHTML.pas', SynExportRTF in '..\Source\SynExportRTF.pas', SynExportTeX in '..\Source\SynExportTeX.pas', SynHighlighterADSP21xx in '..\Source\SynHighlighterADSP21xx.pas', SynHighlighterAsm in '..\Source\SynHighlighterAsm.pas', SynHighlighterAWK in '..\Source\SynHighlighterAWK.pas', SynHighlighterBaan in '..\Source\SynHighlighterBaan.pas', SynHighlighterBat in '..\Source\SynHighlighterBat.pas', SynHighlighterCAC in '..\Source\SynHighlighterCAC.pas', SynHighlighterCache in '..\Source\SynHighlighterCache.pas', SynHighlighterCobol in '..\Source\SynHighlighterCobol.pas', SynHighlighterCPM in '..\Source\SynHighlighterCPM.pas', SynHighlighterCpp in '..\Source\SynHighlighterCpp.pas', SynHighlighterCS in '..\Source\SynHighlighterCS.pas', SynHighlighterDfm in '..\Source\SynHighlighterDfm.pas', SynHighlighterDml in '..\Source\SynHighlighterDml.pas', SynHighlighterFortran in '..\Source\SynHighlighterFortran.pas', SynHighlighterFoxpro in '..\Source\SynHighlighterFoxpro.pas', SynHighlighterGalaxy in '..\Source\SynHighlighterGalaxy.pas', SynHighlighterGeneral in '..\Source\SynHighlighterGeneral.pas', SynHighlighterGWS in '..\Source\SynHighlighterGWS.pas', SynHighlighterHashEntries in '..\Source\SynHighlighterHashEntries.pas', SynHighlighterHaskell in '..\Source\SynHighlighterHaskell.pas', SynHighlighterHC11 in '..\Source\SynHighlighterHC11.pas', SynHighlighterHP48 in '..\Source\SynHighlighterHP48.pas', SynHighlighterHtml in '..\Source\SynHighlighterHtml.pas', SynHighlighterIDL in '..\Source\SynHighlighterIDL.pas', SynHighlighterIni in '..\Source\SynHighlighterIni.pas', SynHighlighterInno in '..\Source\SynHighlighterInno.pas', SynHighlighterJava in '..\Source\SynHighlighterJava.pas', SynHighlighterJScript in '..\Source\SynHighlighterJScript.pas', SynHighlighterKix in '..\Source\SynHighlighterKix.pas', SynHighlighterM3 in '..\Source\SynHighlighterM3.pas', SynHighlighterModelica in '..\Source\SynHighlighterModelica.pas', SynHighlighterMsg in '..\Source\SynHighlighterMsg.pas', SynHighlighterMulti in '..\Source\SynHighlighterMulti.pas', SynHighlighterPas in '..\Source\SynHighlighterPas.pas', SynHighlighterPerl in '..\Source\SynHighlighterPerl.pas', SynHighlighterPHP in '..\Source\SynHighlighterPHP.pas', SynHighlighterProgress in '..\Source\SynHighlighterProgress.pas', SynHighlighterPython in '..\Source\SynHighlighterPython.pas', SynHighlighterRC in '..\Source\SynHighlighterRC.pas', SynHighlighterRuby in '..\Source\SynHighlighterRuby.pas', SynHighlighterSDD in '..\Source\SynHighlighterSDD.pas', SynHighlighterSml in '..\Source\SynHighlighterSml.pas', SynHighlighterSQL in '..\Source\SynHighlighterSQL.pas', SynHighlighterST in '..\Source\SynHighlighterST.pas', SynHighlighterTclTk in '..\Source\SynHighlighterTclTk.pas', SynHighlighterTeX in '..\Source\SynHighlighterTeX.pas', SynHighlighterUNIXShellScript in '..\Source\SynHighlighterUNIXShellScript.pas', SynHighlighterUnreal in '..\Source\SynHighlighterUnreal.pas', SynHighlighterVB in '..\Source\SynHighlighterVB.pas', SynHighlighterVBScript in '..\Source\SynHighlighterVBScript.pas', SynHighlighterXML in '..\Source\SynHighlighterXML.pas', SynMacroRecorder in '..\Source\SynMacroRecorder.pas', SynMemo in '..\Source\SynMemo.pas', SynRegExpr in '..\Source\SynRegExpr.pas', SynHighlighterCss in '..\Source\SynHighlighterCss.pas', SynHighlighterLDraw in '..\Source\SynHighlighterLDraw.pas', SynHighlighterURI in '..\Source\SynHighlighterURI.pas', SynURIOpener in '..\Source\SynURIOpener.pas', SynHighlighterDOT in '..\Source\SynHighlighterDOT.pas', SynHighlighterVrml97 in '..\Source\SynHighlighterVrml97.pas', SynHighlighterEiffel in '..\Source\SynHighlighterEiffel.pas'; end. --- NEW FILE: SynEdit_D2009.dpk --- package SynEdit_D2009; {$R *.res} {$R '..\Source\SynEditReg.dcr'} {$ALIGN 8} {$ASSERTIONS ON} {$BOOLEVAL OFF} {$DEBUGINFO ON} {$EXTENDEDSYNTAX ON} {$IMPORTEDDATA ON} {$IOCHECKS ON} {$LOCALSYMBOLS ON} {$LONGSTRINGS ON} {$OPENSTRINGS ON} {$OPTIMIZATION ON} {$OVERFLOWCHECKS OFF} {$RANGECHECKS OFF} {$REFERENCEINFO ON} {$SAFEDIVIDE OFF} {$STACKFRAMES OFF} {$TYPEDADDRESS OFF} {$VARSTRINGCHECKS ON} {$WRITEABLECONST ON} {$MINENUMSIZE 1} {$IMAGEBASE $400000} {$DESCRIPTION 'SynEdit component suite'} {$DESIGNONLY} {$IMPLICITBUILD OFF} requires designide, SynEdit_R2009; contains SynEditReg in '..\Source\SynEditReg.pas', SynEditPropertyReg in '..\Source\SynEditPropertyReg.pas', SynHighlighterManager in '..\Source\SynHighlighterManager.pas'; end. --- NEW FILE: SynEdit_D2007.dpk --- package SynEdit_D2007; {$R *.res} {$R '..\Source\SynEditReg.dcr'} {$ALIGN 8} {$ASSERTIONS ON} {$BOOLEVAL OFF} {$DEBUGINFO ON} {$EXTENDEDSYNTAX ON} {$IMPORTEDDATA ON} {$IOCHECKS ON} {$LOCALSYMBOLS ON} {$LONGSTRINGS ON} {$OPENSTRINGS ON} {$OPTIMIZATION ON} {$OVERFLOWCHECKS OFF} {$RANGECHECKS OFF} {$REFERENCEINFO ON} {$SAFEDIVIDE OFF} {$STACKFRAMES OFF} {$TYPEDADDRESS OFF} {$VARSTRINGCHECKS ON} {$WRITEABLECONST ON} {$MINENUMSIZE 1} {$IMAGEBASE $400000} {$DESCRIPTION 'SynEdit component suite'} {$DESIGNONLY} {$IMPLICITBUILD OFF} requires designide, SynEdit_R2007; contains SynEditReg in '..\Source\SynEditReg.pas', SynEditPropertyReg in '..\Source\SynEditPropertyReg.pas', SynHighlighterManager in '..\Source\SynHighlighterManager.pas'; end. --- NEW FILE: SynEdit_R2009.dpk --- package SynEdit_R2009; {$R *.res} {$ALIGN 8} {$ASSERTIONS OFF} {$BOOLEVAL OFF} {$DEBUGINFO OFF} {$EXTENDEDSYNTAX ON} {$IMPORTEDDATA ON} {$IOCHECKS OFF} {$LOCALSYMBOLS OFF} {$LONGSTRINGS ON} {$OPENSTRINGS ON} {$OPTIMIZATION ON} {$OVERFLOWCHECKS OFF} {$RANGECHECKS OFF} {$REFERENCEINFO OFF} {$SAFEDIVIDE OFF} {$STACKFRAMES OFF} {$TYPEDADDRESS OFF} {$VARSTRINGCHECKS ON} {$WRITEABLECONST ON} {$MINENUMSIZE 1} {$IMAGEBASE $400000} {$DESCRIPTION 'SynEdit component suite runtime'} {$RUNONLY} {$IMPLICITBUILD OFF} requires vcl, vcldb, vclx; contains SynTextDrawer in '..\Source\SynTextDrawer.pas', SynAutoCorrect in '..\Source\SynAutoCorrect.pas', SynAutoCorrectEditor in '..\Source\SynAutoCorrectEditor.pas' {frmAutoCorrectEditor}, SynCompletionProposal in '..\Source\SynCompletionProposal.pas', SynDBEdit in '..\Source\SynDBEdit.pas', SynEdit in '..\Source\SynEdit.pas', SynEditAutoComplete in '..\Source\SynEditAutoComplete.pas', SynEditExport in '..\Source\SynEditExport.pas', SynEditHighlighter in '..\Source\SynEditHighlighter.pas', SynEditKbdHandler in '..\Source\SynEditKbdHandler.pas', SynEditKeyCmdEditor in '..\Source\SynEditKeyCmdEditor.pas' {SynEditKeystrokeEditorForm}, SynEditKeyCmds in '..\Source\SynEditKeyCmds.pas', SynEditKeyCmdsEditor in '..\Source\SynEditKeyCmdsEditor.pas' {SynEditKeystrokesEditorForm}, SynEditKeyConst in '..\Source\SynEditKeyConst.pas', SynEditMiscClasses in '..\Source\SynEditMiscClasses.pas', SynEditMiscProcs in '..\Source\SynEditMiscProcs.pas', SynEditOptionsDialog in '..\Source\SynEditOptionsDialog.pas' {fmEditorOptionsDialog}, SynEditPlugins in '..\Source\SynEditPlugins.pas', SynEditWordWrap in '..\Source\SynEditWordWrap.pas', SynEditPrint in '..\Source\SynEditPrint.pas', SynEditPrinterInfo in '..\Source\SynEditPrinterInfo.pas', SynEditPrintHeaderFooter in '..\Source\SynEditPrintHeaderFooter.pas', SynEditPrintMargins in '..\Source\SynEditPrintMargins.pas', SynEditPrintMarginsDialog in '..\Source\SynEditPrintMarginsDialog.pas' {SynEditPrintMarginsDlg}, SynEditPrintPreview in '..\Source\SynEditPrintPreview.pas', SynEditPrintTypes in '..\Source\SynEditPrintTypes.pas', SynEditPythonBehaviour in '..\Source\SynEditPythonBehaviour.pas', SynEditRegexSearch in '..\Source\SynEditRegexSearch.pas', SynEditSearch in '..\Source\SynEditSearch.pas', SynEditStrConst in '..\Source\SynEditStrConst.pas', SynEditTextBuffer in '..\Source\SynEditTextBuffer.pas', SynEditTypes in '..\Source\SynEditTypes.pas', SynExportHTML in '..\Source\SynExportHTML.pas', SynExportRTF in '..\Source\SynExportRTF.pas', SynExportTeX in '..\Source\SynExportTeX.pas', SynHighlighterADSP21xx in '..\Source\SynHighlighterADSP21xx.pas', SynHighlighterAsm in '..\Source\SynHighlighterAsm.pas', SynHighlighterAWK in '..\Source\SynHighlighterAWK.pas', SynHighlighterBaan in '..\Source\SynHighlighterBaan.pas', SynHighlighterBat in '..\Source\SynHighlighterBat.pas', SynHighlighterCAC in '..\Source\SynHighlighterCAC.pas', SynHighlighterCache in '..\Source\SynHighlighterCache.pas', SynHighlighterCobol in '..\Source\SynHighlighterCobol.pas', SynHighlighterCPM in '..\Source\SynHighlighterCPM.pas', SynHighlighterCpp in '..\Source\SynHighlighterCpp.pas', SynHighlighterCS in '..\Source\SynHighlighterCS.pas', SynHighlighterDfm in '..\Source\SynHighlighterDfm.pas', SynHighlighterDml in '..\Source\SynHighlighterDml.pas', SynHighlighterFortran in '..\Source\SynHighlighterFortran.pas', SynHighlighterFoxpro in '..\Source\SynHighlighterFoxpro.pas', SynHighlighterGalaxy in '..\Source\SynHighlighterGalaxy.pas', SynHighlighterGeneral in '..\Source\SynHighlighterGeneral.pas', SynHighlighterGWS in '..\Source\SynHighlighterGWS.pas', SynHighlighterHashEntries in '..\Source\SynHighlighterHashEntries.pas', SynHighlighterHaskell in '..\Source\SynHighlighterHaskell.pas', SynHighlighterHC11 in '..\Source\SynHighlighterHC11.pas', SynHighlighterHP48 in '..\Source\SynHighlighterHP48.pas', SynHighlighterHtml in '..\Source\SynHighlighterHtml.pas', SynHighlighterIDL in '..\Source\SynHighlighterIDL.pas', SynHighlighterIni in '..\Source\SynHighlighterIni.pas', SynHighlighterInno in '..\Source\SynHighlighterInno.pas', SynHighlighterJava in '..\Source\SynHighlighterJava.pas', SynHighlighterJScript in '..\Source\SynHighlighterJScript.pas', SynHighlighterKix in '..\Source\SynHighlighterKix.pas', SynHighlighterM3 in '..\Source\SynHighlighterM3.pas', SynHighlighterModelica in '..\Source\SynHighlighterModelica.pas', SynHighlighterMsg in '..\Source\SynHighlighterMsg.pas', SynHighlighterMulti in '..\Source\SynHighlighterMulti.pas', SynHighlighterPas in '..\Source\SynHighlighterPas.pas', SynHighlighterPerl in '..\Source\SynHighlighterPerl.pas', SynHighlighterPHP in '..\Source\SynHighlighterPHP.pas', SynHighlighterProgress in '..\Source\SynHighlighterProgress.pas', SynHighlighterPython in '..\Source\SynHighlighterPython.pas', SynHighlighterRC in '..\Source\SynHighlighterRC.pas', SynHighlighterRuby in '..\Source\SynHighlighterRuby.pas', SynHighlighterSDD in '..\Source\SynHighlighterSDD.pas', SynHighlighterSml in '..\Source\SynHighlighterSml.pas', SynHighlighterSQL in '..\Source\SynHighlighterSQL.pas', SynHighlighterST in '..\Source\SynHighlighterST.pas', SynHighlighterTclTk in '..\Source\SynHighlighterTclTk.pas', SynHighlighterTeX in '..\Source\SynHighlighterTeX.pas', SynHighlighterUNIXShellScript in '..\Source\SynHighlighterUNIXShellScript.pas', SynHighlighterUnreal in '..\Source\SynHighlighterUnreal.pas', SynHighlighterVB in '..\Source\SynHighlighterVB.pas', SynHighlighterVBScript in '..\Source\SynHighlighterVBScript.pas', SynHighlighterXML in '..\Source\SynHighlighterXML.pas', SynMacroRecorder in '..\Source\SynMacroRecorder.pas', SynMemo in '..\Source\SynMemo.pas', SynRegExpr in '..\Source\SynRegExpr.pas', SynHighlighterCss in '..\Source\SynHighlighterCss.pas', SynHighlighterLDraw in '..\Source\SynHighlighterLDraw.pas', SynHighlighterURI in '..\Source\SynHighlighterURI.pas', SynURIOpener in '..\Source\SynURIOpener.pas', SynHighlighterDOT in '..\Source\SynHighlighterDOT.pas', SynHighlighterVrml97 in '..\Source\SynHighlighterVrml97.pas', SynHighlighterEiffel in '..\Source\SynHighlighterEiffel.pas'; end. |
From: Roman K. <rom...@us...> - 2009-06-12 09:06:32
|
Update of /cvsroot/synedit/SynEdit/Source In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv29327 Modified Files: SynAutoCorrect.pas SynDBEdit.pas Log Message: Fixed two bugs concerning LoadFromStream. Added TEncoding.DefaultEncoding under Unicode. Index: SynAutoCorrect.pas =================================================================== RCS file: /cvsroot/synedit/SynEdit/Source/SynAutoCorrect.pas,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- SynAutoCorrect.pas 23 Apr 2009 14:24:14 -0000 1.14 +++ SynAutoCorrect.pas 12 Jun 2009 09:05:15 -0000 1.15 @@ -332,7 +332,7 @@ Result := False; if FileExists(AFileName) then begin - FItems.LoadFromFile(AFileName); + FItems.LoadFromFile(AFileName{$IFDEF UNICODE}, TEncoding.Default{$ENDIF}); Result := True; end; end; Index: SynDBEdit.pas =================================================================== RCS file: /cvsroot/synedit/SynEdit/Source/SynDBEdit.pas,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- SynDBEdit.pas 28 Mar 2004 18:37:27 -0000 1.11 +++ SynDBEdit.pas 12 Jun 2009 09:05:15 -0000 1.12 @@ -365,7 +365,7 @@ BlobStream := TBlobStream.Create(BlobField, bmRead); {$ENDIF} Lines.BeginUpdate; - Lines.LoadFromStream(BlobStream); + Lines.LoadFromStream(BlobStream{$IFDEF UNICODE}, TEncoding.Default{$ENDIF}); Lines.EndUpdate; BlobStream.Free; Modified := false; |
From: Maël Hörz <ma...@us...> - 2009-03-17 18:12:20
|
Update of /cvsroot/synedit/SynEdit/Source In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv30967 Modified Files: Tag: Unicode_2004_08_31 SynEditTextBuffer.pas Log Message: Fix: Delphi 2009 adds an additional linebreak to the Text-property compared to older Delphi versions (Delphi 7) Index: SynEditTextBuffer.pas =================================================================== RCS file: /cvsroot/synedit/SynEdit/Source/SynEditTextBuffer.pas,v retrieving revision 1.63.2.13 retrieving revision 1.63.2.14 diff -u -d -r1.63.2.13 -r1.63.2.14 --- SynEditTextBuffer.pas 14 Sep 2008 16:24:59 -0000 1.63.2.13 +++ SynEditTextBuffer.pas 17 Mar 2009 18:12:14 -0000 1.63.2.14 @@ -605,12 +605,26 @@ SLineBreak: UnicodeString; begin if not FStreaming then - Result := inherited GetTextStr + begin + Result := inherited GetTextStr; +{$IFDEF UNICODE} + if copy(Result, Length(Result) - Length(LineBreak) + 1, Length(LineBreak)) = + LineBreak then + begin + SetLength(Result, Length(Result) - Length(LineBreak)); + end; +{$ENDIF} + end else begin {$IFDEF UNICODE} SLineBreak := LineBreak; Result := inherited GetTextStr; + if copy(Result, Length(Result) - Length(LineBreak) + 1, Length(LineBreak)) = + LineBreak then + begin + SetLength(Result, Length(Result) - Length(LineBreak)); + end; {$ELSE} case FileFormat of sffDos: |
From: Maël Hörz <ma...@us...> - 2009-02-23 15:43:57
|
Update of /cvsroot/synedit/SynEdit/Source In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv27246 Modified Files: Tag: Unicode_2004_08_31 SynHighlighterPas.pas SynUnicode.pas Log Message: Add changes by Erik Berry to read the color settings from recent IDE versions. Index: SynUnicode.pas =================================================================== RCS file: /cvsroot/synedit/SynEdit/Source/Attic/SynUnicode.pas,v retrieving revision 1.1.2.44 retrieving revision 1.1.2.45 diff -u -d -r1.1.2.44 -r1.1.2.45 --- SynUnicode.pas 5 Oct 2008 19:51:53 -0000 1.1.2.44 +++ SynUnicode.pas 23 Feb 2009 15:43:50 -0000 1.1.2.45 @@ -855,15 +855,11 @@ var Stream: TStream; begin + Stream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyNone); try - Stream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyNone); - try - LoadFromStream(Stream); - finally - Stream.Free; - end; - except - RaiseLastOSError; + LoadFromStream(Stream); + finally + Stream.Free; end; end; Index: SynHighlighterPas.pas =================================================================== RCS file: /cvsroot/synedit/SynEdit/Source/SynHighlighterPas.pas,v retrieving revision 1.27.2.9 retrieving revision 1.27.2.10 diff -u -d -r1.27.2.9 -r1.27.2.10 --- SynHighlighterPas.pas 14 Sep 2008 16:25:01 -0000 1.27.2.9 +++ SynHighlighterPas.pas 23 Feb 2009 15:43:50 -0000 1.27.2.10 @@ -87,6 +87,7 @@ const LastDelphiVersion = dvDelphi2005; + BDSVersionPrefix = 'BDS'; type TSynPasSyn = class(TSynCustomHighlighter) @@ -1085,25 +1086,44 @@ end; procedure TSynPasSyn.EnumUserSettings(DelphiVersions: TStrings); -begin - { returns the user settings that exist in the registry } -{$IFNDEF SYN_CLX} - with TBetterRegistry.Create do + + procedure LoadKeyVersions(const Key, Prefix: string); + var + Versions: TStringList; + i: Integer; begin - try - RootKey := HKEY_LOCAL_MACHINE; - if OpenKeyReadOnly('\SOFTWARE\Borland\Delphi') then - begin - try - GetKeyNames(DelphiVersions); - finally - CloseKey; + with TBetterRegistry.Create do + begin + try + RootKey := HKEY_LOCAL_MACHINE; + if OpenKeyReadOnly(Key) then + begin + try + Versions := TStringList.Create; + try + GetKeyNames(Versions); + for i := 0 to Versions.Count - 1 do + DelphiVersions.Add(Prefix + Versions[i]); + finally + FreeAndNil(Versions); + end; + finally + CloseKey; + end; end; + finally + Free; end; - finally - Free; end; end; + +begin + { returns the user settings that exist in the registry } +{$IFNDEF SYN_CLX} + // See UseUserSettings below where these strings are used + LoadKeyVersions('\SOFTWARE\Borland\Delphi', ''); + LoadKeyVersions('\SOFTWARE\Borland\BDS', BDSVersionPrefix); + LoadKeyVersions('\SOFTWARE\CodeGear\BDS', BDSVersionPrefix); {$ENDIF} end; @@ -1115,10 +1135,13 @@ // False: problem reading settings or invalid version specified - old settings // were preserved -{$IFNDEF SYN_CLX} +{$IFNDEF SYN_CLX} function ReadDelphiSettings(settingIndex: Integer): Boolean; function ReadDelphiSetting(settingTag: string; attri: TSynHighlighterAttributes; key: string): Boolean; + var + Version: Currency; + VersionStr: string; function ReadDelphi2Or3(settingTag: string; attri: TSynHighlighterAttributes; name: string): Boolean; var @@ -1136,11 +1159,39 @@ '\Software\Borland\Delphi\'+settingTag+'\Editor\Highlight',key,False); end; { ReadDelphi4OrMore } + function ReadDelphi8To2007(settingTag: string; attri: TSynHighlighterAttributes; key: string): Boolean; + begin + Result := attri.LoadFromBorlandRegistry(HKEY_CURRENT_USER, + '\Software\Borland\BDS\'+settingTag+'\Editor\Highlight',key,False); + end; { ReadDelphi8OrMore } + + function ReadDelphi2009OrMore(settingTag: string; attri: TSynHighlighterAttributes; key: string): Boolean; + begin + Result := attri.LoadFromBorlandRegistry(HKEY_CURRENT_USER, + '\Software\CodeGear\BDS\'+settingTag+'\Editor\Highlight',key,False); + end; { ReadDelphi2009OrMore } + begin { ReadDelphiSetting } try - if (settingTag[1] = '2') or (settingTag[1] = '3') - then Result := ReadDelphi2Or3(settingTag, attri, key) - else Result := ReadDelphi4OrMore(settingTag, attri, key); + if Pos('BDS', settingTag) = 1 then // BDS product + begin + VersionStr := Copy(settingTag, Length(BDSVersionPrefix) + 1, 999); + Version := 0; + if not TryStrToCurr(StringReplace(VersionStr, '.', DecimalSeparator, []), Version) then + begin + Result := False; + Exit; + end; + if Version >= 6 then + Result := ReadDelphi2009OrMore(VersionStr, attri, key) + else + Result := ReadDelphi8To2007(VersionStr, attri, key); + end + else begin // Borland Delphi 7 or earlier + if (settingTag[1] = '2') or (settingTag[1] = '3') + then Result := ReadDelphi2Or3(settingTag, attri, key) + else Result := ReadDelphi4OrMore(settingTag, attri, key); + end; except Result := False; end; end; { ReadDelphiSetting } @@ -1152,7 +1203,7 @@ begin { ReadDelphiSettings } {$IFDEF SYN_COMPILER_7_UP} {$IFNDEF SYN_COMPILER_9_UP} - Result := False; // Silence the compiler warning + Result := False; // Silence the compiler warning {$ENDIF} {$ENDIF} iVersions := TStringList.Create; |
From: Maël Hörz <ma...@us...> - 2009-01-06 16:26:06
|
Update of /cvsroot/synedit/SynEdit/Source In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv5492 Modified Files: Tag: Unicode_2004_08_31 SynEdit.inc SynEditStrConst.pas Added Files: Tag: Unicode_2004_08_31 SynEditJedi.inc Removed Files: Tag: Unicode_2004_08_31 jedi.inc Log Message: Rename jedi.inc to SynEditJedi.inc to avoid problems with other versions of jedi.inc in the search path. --- jedi.inc DELETED --- Index: SynEdit.inc =================================================================== RCS file: /cvsroot/synedit/SynEdit/Source/SynEdit.inc,v retrieving revision 1.16.2.17 retrieving revision 1.16.2.18 diff -u -d -r1.16.2.17 -r1.16.2.18 --- SynEdit.inc 17 Sep 2008 13:59:11 -0000 1.16.2.17 +++ SynEdit.inc 6 Jan 2009 16:26:01 -0000 1.16.2.18 @@ -95,11 +95,12 @@ {$ENDIF} {------------------------------------------------------------------------------} -{ Pull in all defines from jedi.inc (must be done after the common compiler } -{ defines to work correctly) } +{ Pull in all defines from SynEditJedi.inc (must be done after the common } +{ compiler defines to work correctly). Use SynEdit-prefix to avoid problems } +{ with other versions of jedi.inc in the search-path. } {------------------------------------------------------------------------------} -{$I jedi.inc} +{$I SynEditJedi.inc} {------------------------------------------------------------------------------} { SYN_WIN32, SYN_LINUX and SYN_KYLIX defines } --- NEW FILE: SynEditJedi.inc --- {$IFNDEF JEDI_INC} {$DEFINE JEDI_INC} {**************************************************************************************************} { } { The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License");} { you may not use this file except in compliance with the License. You may obtain a copy of the } { License at http://www.mozilla.org/MPL/ } { } { Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF } { ANY KIND, either express or implied. See the License for the specific language governing rights } { and limitations under the License. } { } { The Original Code is: jedi.inc. } { The Initial Developer of the Original Code is Project JEDI http://www.delphi-jedi.org } { } { Alternatively, the contents of this file may be used under the terms of the GNU Lesser General } { Public License (the "LGPL License"), in which case the provisions of the LGPL License are } { applicable instead of those above. If you wish to allow use of your version of this file only } [...1143 lines suppressed...] {$IFOPT L+} {$DEFINE LOCALSYMBOLS} {$ENDIF} {$IFOPT M+} {$DEFINE TYPEINFO_ON} {$ENDIF} {$IFOPT O+} {$DEFINE OPTIMIZATION_ON} {$ENDIF} {$IFOPT P+} {$DEFINE OPENSTRINGS_ON} {$ENDIF} {$IFOPT Q+} {$DEFINE OVERFLOWCHECKS_ON} {$ENDIF} {$IFOPT R+} {$DEFINE RANGECHECKS_ON} {$ENDIF} // Real compatibility {$IFOPT T+} {$DEFINE TYPEDADDRESS_ON} {$ENDIF} {$IFOPT U+} {$DEFINE SAFEDIVIDE_ON} {$ENDIF} {$IFOPT V+} {$DEFINE VARSTRINGCHECKS_ON} {$ENDIF} {$IFOPT W+} {$DEFINE STACKFRAMES_ON} {$ENDIF} // Warnings {$IFOPT X+} {$DEFINE EXTENDEDSYNTAX_ON} {$ENDIF} // for Delphi/BCB trial versions remove the point from the line below {.$UNDEF SUPPORTS_WEAKPACKAGEUNIT} {$ENDIF ~JEDI_INC} Index: SynEditStrConst.pas =================================================================== RCS file: /cvsroot/synedit/SynEdit/Source/SynEditStrConst.pas,v retrieving revision 1.41.2.4 retrieving revision 1.41.2.5 diff -u -d -r1.41.2.4 -r1.41.2.5 --- SynEditStrConst.pas 30 Jan 2008 20:39:46 -0000 1.41.2.4 +++ SynEditStrConst.pas 6 Jan 2009 16:26:01 -0000 1.41.2.5 @@ -433,7 +433,7 @@ SYNS_FilterCAClipper = 'CA-Clipper Files (*.prg;*.ch;*.inc)|*.prg;*.ch;*.inc'; SYNS_FilterCORBAIDL = 'CORBA IDL Files (*.idl)|*.idl'; SYNS_FilterCPM = 'CPM Reports (*.rdf;*.rif;*.rmf;*.rxf)|*.rdf;*.rif;*.rmf;*.rxf'; - SYNS_FilterCPP = 'C/C++ Files (*.c;*.cpp;*.cc;*.h;*.hpp;*.hh;*.cxx;*.hxx)|*.c;*.cpp;*.cc;*.h;*.hpp;*.hh;*.cxx;*.hxx'; + SYNS_FilterCPP = 'C/C++ Files (*.c;*.cpp;*.cc;*.h;*.hpp;*.hh;*.cxx;*.hxx;*.cu)|*.c;*.cpp;*.cc;*.h;*.hpp;*.hh;*.cxx;*.hxx;*.cu'; SYNS_FilterCS = 'C# Files (*.cs)|*.cs'; SYNS_FilterJava = 'Java Files (*.java)|*.java'; SYNS_FilterPerl = 'Perl Files (*.pl;*.pm;*.cgi)|*.pl;*.pm;*.cgi'; |
From: Maël Hörz <ma...@us...> - 2008-11-08 15:48:43
|
Update of /cvsroot/synedit/SynEdit In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv3824 Modified Files: Tag: Unicode_2004_08_31 Readme.txt Log Message: Update the readme.txt to include some notes about Unicode SynEdit and CVS access Index: Readme.txt =================================================================== RCS file: /cvsroot/synedit/SynEdit/Readme.txt,v retrieving revision 1.3.2.1 retrieving revision 1.3.2.2 diff -u -d -r1.3.2.1 -r1.3.2.2 --- Readme.txt 9 Oct 2004 18:34:26 -0000 1.3.2.1 +++ Readme.txt 8 Nov 2008 15:48:34 -0000 1.3.2.2 @@ -1,43 +1,63 @@ -This is version 1.2 of the SynEdit project. +Unicode SynEdit +=============== -SynEdit has been started as an attempt to continue the no longer maintained -sources of the mwEdit project. The last public version 0.92a of mwEdit can be -found at the SynEdit website in the download section. -The mwEdit project was started in 1998 by Martin Waldenburg, aim was to produce -a syntax highlighting editor component for an Open Source IDE. In the 15 months -that mwEdit was developped in public Martin was increasingly dissatisfied with -the direction the development of mwEdit took, so he finally requested that his -name and initials had to be removed from the project. -Therefore this is now called SynEdit, and it is an Open Source project under the -MPL (Mozilla Public License, but see the individual source files for the terms). -There would however be no such project if Martin had not started to develop -mwEdit, so we would like to thank Martin Waldenburg for his efforts, and of -course all the other developers of the mwEdit project. +This is the Unicode version of SynEdit, a syntax highlighting editor that had +originally been designed for ANSI character sets. -The primary purpose of SynEdit is to be a syntax highlighting editor for -programming languages. There are already more than 30 highlighter components for -different languages, and writing a highlighter is not very difficult. -You should however keep some things in mind when using the SynEdit components: -- Support for real tabs is under construction. +For the available information check out the "Unicode SynEdit" Web-site at: + + http://mh-nexus.de/en/unisynedit.php + +The ANSI version of SynEdit is located at: + + http://synedit.sourceforge.net + +The SynEdit project has also a page at SourceForge + + http://sourceforge.net/projects/synedit + +where you may find additional information. + +Installation note: The Unicode and ANSI version of SynEdit may not be used +together on the same system. If you used ANSI SynEdit before delete every DCU +and BPL it created. Also make sure your library/source path in the environment +options is set correctly. To get started check out the different examples. If you have questions, please subscribe to the SynEdit user list and ask there, if you want to hack SynEdit -you should subscribe to the SynEdit developer list. General feedback and -suggestions or fixes are very welcome. +you should subscribe to the SynEdit developer list. General feedback and +suggestions or fixes are welcome. There is no documentation yet, help in this area is especially welcome! -For the available information check out the SynEdit website +CVS access +---------- - http://synedit.sourceforge.net +CVSROOT is: +:pserver:ano...@sy...:/cvsroot/synedit -and the SynEdit project page at SourceForge +To get Unicode SynEdit you have to choose the tag/branch: +Unicode_2004_08_31 - http://sourceforge.net/projects/synedit +Note that the date stamp included above was the date when the branch was made +and does not have any correlation with the latest release date, i.e. you will +always get the latest version using the branch above. -where you will find the necessary links. +Historical Note +--------------- --- -Michael Hieke +SynEdit has been started as an attempt to continue the no longer maintained +sources of the mwEdit project.The last public version 0.92a of mwEdit can be +found at the SynEdit website in the download section. +The mwEdit project was started in 1998 by Martin Waldenburg, aim was to produce +a syntax highlighting editor component for an Open Source IDE. In the 15 months +that mwEdit was developped in public Martin was increasingly dissatisfied with +the direction the development of mwEdit took, so he finally requested that his +name and initials had to be removed from the project. +Therefore this is now called SynEdit, and it is an Open Source project under the +MPL (Mozilla Public License, but see the individual source files for the terms). +There would however be no such project if Martin had not started to develop +mwEdit, so we would like to thank Martin Waldenburg for his efforts, and of +course all the other developers of the mwEdit project. $Id$ |
From: Maël Hörz <ma...@us...> - 2008-11-08 15:48:43
|
Update of /cvsroot/synedit/SynEdit/SynGen In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv3824/SynGen Modified Files: Tag: Unicode_2004_08_31 SynGen.dproj Log Message: Update the readme.txt to include some notes about Unicode SynEdit and CVS access Index: SynGen.dproj =================================================================== RCS file: /cvsroot/synedit/SynEdit/SynGen/Attic/SynGen.dproj,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -d -r1.1.2.1 -r1.1.2.2 --- SynGen.dproj 25 Oct 2008 23:15:48 -0000 1.1.2.1 +++ SynGen.dproj 8 Nov 2008 15:48:35 -0000 1.1.2.2 @@ -1,10 +1,9 @@  <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> - <ProjectGuid>{9663C79A-BA0C-4D08-8E76-71CFA5CFD341}</ProjectGuid> + <ProjectGuid>{D07287B3-D7A2-49F2-976D-C72D97331FC3}</ProjectGuid> <MainSource>SynGen.dpr</MainSource> <Config Condition="'$(Config)'==''">Debug</Config> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> - <ProjectVersion>12.0</ProjectVersion> </PropertyGroup> <PropertyGroup Condition="'$(Config)'=='Basis' or '$(Base)'!=''"> <Base>true</Base> @@ -21,10 +20,9 @@ </PropertyGroup> <PropertyGroup Condition="'$(Base)'!=''"> <DCC_ImageBase>00400000</DCC_ImageBase> - <DCC_UsePackage>vclx;vcl;dbrtl;Rave76VCL;bdertl;rtl;vclactnband;vcldb;vcldbx;dsnap;dsnapcon;TeeUI;TeeDB;Tee;adortl;vclib;ibxpress;IndyCore;IndySystem;IndyProtocols;xmlrtl;inet;intrawebdb_100_120;Intraweb_100_120;VclSmp;vclie;websnap;webdsnap;inetdbbde;inetdbxpress;soaprtl;vclribbon;dbexpress;DbxCommonDriver;DataSnapIndy10ServerTransport;DataSnapProviderClient;DataSnapServer;DbxClientDriver;DBXInterBaseDriver;DBXMySQLDriver;dbxcds;DBXSybaseASEDriver;DBXSybaseASADriver;DBXOracleDriver;DBXMSSQLDriver;DBXInformixDriver;DBXDb2Driver;SynEdit_R2009;XmUnitsPack_D2009;tb2k_d12;tbx_d12</DCC_UsePackage> + <DCC_E>false</DCC_E> <DCC_Platform>x86</DCC_Platform> <DCC_DependencyCheckOutputName>SynGen.exe</DCC_DependencyCheckOutputName> - <DCC_E>false</DCC_E> <DCC_N>false</DCC_N> <DCC_S>false</DCC_S> <DCC_F>false</DCC_F> |
From: Maël Hörz <ma...@us...> - 2008-10-25 23:30:37
|
Update of /cvsroot/synedit/SynEdit/SynGen In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv10116/SynGen Modified Files: Tag: Unicode_2004_08_31 GenLex.pas SynGenUnit.pas Log Message: Compatibility fixes for Delphi 7 Index: GenLex.pas =================================================================== RCS file: /cvsroot/synedit/SynEdit/SynGen/GenLex.pas,v retrieving revision 1.4.2.3 retrieving revision 1.4.2.4 diff -u -d -r1.4.2.3 -r1.4.2.4 --- GenLex.pas 25 Oct 2008 23:15:48 -0000 1.4.2.3 +++ GenLex.pas 25 Oct 2008 23:30:31 -0000 1.4.2.4 @@ -42,7 +42,7 @@ interface uses - SysUtils, Windows, Messages, Classes, Controls, LongIntList; + SysUtils, Windows, Messages, Classes, Controls, LongIntList, SynUnicode; var Identifiers: array[#0..#255] of ByteBool; @@ -75,20 +75,20 @@ TGenLex = class(TObject) private fIgnoreComments: Boolean; - fOrigin: PChar; + fOrigin: PWideChar; fProcTable: array[#0..#255] of procedure of object; fFuncTable: array[#0..#255] of function: TIdTokenKind of object; Run: Integer; Walker: LongInt; Running: LongInt; fStringLen: Integer; - fToIdent: PChar; + fToIdent: PWideChar; fTokenizing: Boolean; FLinePosList: TLongIntList; FTokenPositionsList: TLongIntList; fIdentFuncTable: array[0..150] of function: TIdTokenKind of object; - function KeyHash(ToHash: PChar): Integer; - function KeyComp(aKey: string): Boolean; + function KeyHash(ToHash: PWideChar): Integer; + function KeyComp(aKey: UnicodeString): Boolean; function Func49: TIdTokenKind; function Func60: TIdTokenKind; function Func67: TIdTokenKind; @@ -118,12 +118,12 @@ function UnknownFunc: TIdTokenKind; function AltFunc: TIdTokenKind; procedure InitIdent; - function IdentKind(MayBe: PChar): TIdTokenKind; - procedure SetOrigin(NewValue: PChar); + function IdentKind(MayBe: PWideChar): TIdTokenKind; + procedure SetOrigin(NewValue: PWideChar); procedure SetRunPos(Value: Integer); procedure MakeMethodTables; function GetRunId: TIdTokenKind; - function GetRunToken: string; + function GetRunToken: UnicodeString; protected public constructor Create; @@ -131,12 +131,12 @@ procedure Tokenize; procedure Next; property IgnoreComments: Boolean read fIgnoreComments write fIgnoreComments; - property Origin: PChar read fOrigin write SetOrigin; + property Origin: PWideChar read fOrigin write SetOrigin; property RunPos: Integer read Run write SetRunPos; - function NextToken: string; + function NextToken: UnicodeString; function EOF: Boolean; property RunId: TIdTokenKind read GetRunId; - property RunToken: string read GetRunToken; + property RunToken: UnicodeString read GetRunToken; published end; @@ -184,21 +184,21 @@ end; end; -function TGenLex.KeyHash(ToHash: PChar): Integer; +function TGenLex.KeyHash(ToHash: PWideChar): Integer; begin Result := 0; while CharInSet(ToHash^, ['_', '0'..'9', 'a'..'z', 'A'..'Z']) do begin - Inc(Result, mHashTable[ToHash^]); + Inc(Result, mHashTable[Char(ToHash^)]); Inc(ToHash); end; fStringLen := ToHash - fToIdent; end; { KeyHash } -function TGenLex.KeyComp(aKey: string): Boolean; +function TGenLex.KeyComp(aKey: UnicodeString): Boolean; var I: Integer; - Temp: PChar; + Temp: PWideChar; begin Temp := fToIdent; if Length(aKey) = fStringLen then @@ -206,7 +206,7 @@ Result := True; for i := 1 to fStringLen do begin - if mHashTable[Temp^] <> mHashTable[aKey[i]] then + if mHashTable[Char(Temp^)] <> mHashTable[Char(aKey[i])] then begin Result := False; break; @@ -311,7 +311,7 @@ Result := IdIdentifier; end; -function TGenLex.IdentKind(MayBe: PChar): TIdTokenKind; +function TGenLex.IdentKind(MayBe: PWideChar): TIdTokenKind; var HashKey: Integer; begin @@ -389,7 +389,7 @@ FLinePosList.Free; end; { Destroy } -procedure TGenLex.SetOrigin(NewValue: PChar); +procedure TGenLex.SetOrigin(NewValue: PWideChar); begin fOrigin := NewValue; Run := 0; @@ -490,7 +490,7 @@ procedure TGenLex.IdentProc; begin inc(Walker); - while Identifiers[fOrigin[Walker]] do + while Identifiers[Char(fOrigin[Walker])] do inc(Walker); end; @@ -568,10 +568,10 @@ function TGenLex.GetRunId: TIdTokenKind; begin Running := FTokenPositionsList[Run]; - Result := fFuncTable[fOrigin[Running]]; + Result := fFuncTable[Char(fOrigin[Running])]; end; -function TGenLex.GetRunToken: string; +function TGenLex.GetRunToken: UnicodeString; var StartPos, EndPos, StringLen: Integer; begin @@ -585,7 +585,7 @@ begin fTokenizing := True; repeat - fProcTable[fOrigin[Walker]]; + fProcTable[Char(fOrigin[Walker])]; FTokenPositionsList.Add(Walker); until fOrigin[Walker] = #0; fTokenizing := False; @@ -596,7 +596,7 @@ Inc(Run); end; -function TGenLex.NextToken: string; +function TGenLex.NextToken: UnicodeString; var StartPos, EndPos, Len: LongInt; begin Index: SynGenUnit.pas =================================================================== RCS file: /cvsroot/synedit/SynEdit/SynGen/SynGenUnit.pas,v retrieving revision 1.18.2.10 retrieving revision 1.18.2.11 diff -u -d -r1.18.2.10 -r1.18.2.11 --- SynGenUnit.pas 25 Oct 2008 23:15:48 -0000 1.18.2.10 +++ SynGenUnit.pas 25 Oct 2008 23:30:31 -0000 1.18.2.11 @@ -57,7 +57,7 @@ uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, - StdCtrls, GenLex, ComCtrls, Menus; + StdCtrls, GenLex, ComCtrls, Menus, SynUnicode; var mKeyHashTable: array[#0..#255] of Integer; @@ -195,7 +195,7 @@ {$IFDEF SYN_COMPILER_6_UP} StrUtils, {$ENDIF} - Registry, SynUnicode, HashTableGen; + Registry, HashTableGen; const BoolStrs: array[Boolean] of string = ('False', 'True'); // Do not localize @@ -850,10 +850,12 @@ Writeln(OutFile, ' QGraphics,'); Writeln(OutFile, ' QSynEditTypes,'); Writeln(OutFile, ' QSynEditHighlighter,'); + Writeln(OutFile, ' QSynUnicode,'); Writeln(OutFile, '{$ELSE}'); Writeln(OutFile, ' Graphics,'); Writeln(OutFile, ' SynEditTypes,'); Writeln(OutFile, ' SynEditHighlighter,'); + Writeln(OutFile, ' SynUnicode,'); Writeln(OutFile, '{$ENDIF}'); Writeln(OutFile, ' SysUtils,'); Writeln(OutFile, ' Classes;'); |
From: Maël Hörz <ma...@us...> - 2008-10-25 23:30:35
|
Update of /cvsroot/synedit/SynEdit/Demos/HighlighterDemo In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv10116/Demos/HighlighterDemo Modified Files: Tag: Unicode_2004_08_31 SynHighlighterSample.pas Log Message: Compatibility fixes for Delphi 7 Index: SynHighlighterSample.pas =================================================================== RCS file: /cvsroot/synedit/SynEdit/Demos/HighlighterDemo/SynHighlighterSample.pas,v retrieving revision 1.6.2.12 retrieving revision 1.6.2.13 diff -u -d -r1.6.2.12 -r1.6.2.13 --- SynHighlighterSample.pas 25 Oct 2008 23:15:48 -0000 1.6.2.12 +++ SynHighlighterSample.pas 25 Oct 2008 23:30:31 -0000 1.6.2.13 @@ -47,10 +47,12 @@ QGraphics, QSynEditTypes, QSynEditHighlighter, + QSynUnicode, {$ELSE} Graphics, SynEditTypes, SynEditHighlighter, + SynUnicode, {$ENDIF} SysUtils, Classes; |
From: Maël Hörz <ma...@us...> - 2008-10-25 23:15:56
|
Update of /cvsroot/synedit/SynEdit/SynGen In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv9391/SynGen Modified Files: Tag: Unicode_2004_08_31 GenLex.pas SynGenUnit.pas Added Files: Tag: Unicode_2004_08_31 SynGen.dproj Log Message: - SynGenUnit.pas: Use UnicodeString instead of MemoryStream to load the flle contents of a .msg-file , since now the assumption that one Char = one Byte doesn't hold anymore. It was very dangerous to use MemoryStream anyway. - Fix other small issues and warnings for Delphi 2009 Index: SynGenUnit.pas =================================================================== RCS file: /cvsroot/synedit/SynEdit/SynGen/SynGenUnit.pas,v retrieving revision 1.18.2.9 retrieving revision 1.18.2.10 diff -u -d -r1.18.2.9 -r1.18.2.10 --- SynGenUnit.pas 14 Sep 2008 16:27:16 -0000 1.18.2.9 +++ SynGenUnit.pas 25 Oct 2008 23:15:48 -0000 1.18.2.10 @@ -154,7 +154,7 @@ IniFile: string; OutFile: TextFile; Sensitivity: Boolean; - Stream: TMemoryStream; + LexFileContents: UnicodeString; Lex: TGenLex; KeyList: TList; SetList: TList; @@ -224,7 +224,7 @@ Result := ''; end; -function StuffString(const Value: AnsiString): AnsiString; +function StuffString(const Value: UnicodeString): UnicodeString; var i: Integer; begin @@ -252,22 +252,23 @@ end; {$ENDIF} -function ToAlphaNum(S: UnicodeString): AnsiString; +function ToAlphaNum(S: UnicodeString): UnicodeString; var - c: AnsiChar; + c: Char; begin - Result := S; for c := #33 to #47 do - Result := AnsiReplaceStr(Result, c, IntToStr(Ord(c))); + S := AnsiReplaceStr(S, c, IntToStr(Ord(c))); for c := #58 to #64 do - Result := AnsiReplaceStr(Result, c, IntToStr(Ord(c))); + S := AnsiReplaceStr(S, c, IntToStr(Ord(c))); for c := #91 to #96 do - Result := AnsiReplaceStr(Result, c, IntToStr(Ord(c))); + S := AnsiReplaceStr(S, c, IntToStr(Ord(c))); for c := #123 to #191 do - Result := AnsiReplaceStr(Result, c, IntToStr(Ord(c))); + S := AnsiReplaceStr(S, c, IntToStr(Ord(c))); + + Result := S; end; function IsASCIIAlphaNum(S: UnicodeString): Boolean; @@ -313,7 +314,7 @@ begin for I := #0 to #255 do begin - case I in ['_', 'A'..'Z', 'a'..'z'] of + case CharInSet(I, ['_', 'A'..'Z', 'a'..'z']) of True: begin if (I > #64) and (I < #91) then @@ -334,7 +335,7 @@ for I := #0 to #255 do begin J := UpperCase(I)[1]; - case I in ['_', 'A'..'Z', 'a'..'z'] of + case CharInSet(I, ['_', 'A'..'Z', 'a'..'z']) of True: mKeyHashTable[I] := Ord(J) - 64; else mKeyHashTable[I] := 0; @@ -482,7 +483,6 @@ TComboBox(FrmMain.Components[i]).Items.Add('SYNS_AttrVariable'); end; PageControl.ActivePage := PageControl.Pages[0]; - Stream := TMemoryStream.Create; Lex := TGenLex.Create; KeyList := TList.Create; SetList := TList.Create; @@ -546,7 +546,6 @@ begin ClearAll; Lex.Free; - Stream.Free; IdentList.Free; KeyList.Free; SetList.Free; @@ -554,13 +553,21 @@ end; procedure TFrmMain.BtnStartClick(Sender: TObject); +var + LexFileLines: TUnicodeStringList; begin ClearAll; Screen.Cursor := crHourGlass; - Stream.Clear; - Stream.LoadFromFile(OpenDialog.FileName); - Lex.Origin := Stream.Memory; + + LexFileLines := TUnicodeStringList.Create; + try + LexFileLines.LoadFromFile(OpenDialog.FileName); + LexFileContents := LexFileLines.Text; + finally + LexFileLines.Free; + end; + Lex.Origin := PWideChar(LexFileContents); Lex.Tokenize; while Lex.RunId <> IDIdentifier do @@ -1177,9 +1184,9 @@ I := 0; while I < KeyList.Count do begin - Writeln(OutFile, ' function Func' + + Writeln(OutFile, AnsiString(' function Func' + ToAlphaNum(FirstLetterCap(TLexKeys(KeyList[I]).KeyName)) + - '(Index: Integer): T' + IdentPre + 'TokenKind;'); + '(Index: Integer): T' + IdentPre + 'TokenKind;')); inc(I); end; Index: GenLex.pas =================================================================== RCS file: /cvsroot/synedit/SynEdit/SynGen/GenLex.pas,v retrieving revision 1.4.2.2 retrieving revision 1.4.2.3 diff -u -d -r1.4.2.2 -r1.4.2.3 --- GenLex.pas 24 Feb 2005 21:02:22 -0000 1.4.2.2 +++ GenLex.pas 25 Oct 2008 23:15:48 -0000 1.4.2.3 @@ -154,7 +154,7 @@ Identifiers[I] := False; end; J := UpperCase(I)[1]; - case I in ['_', 'a'..'z', 'A'..'Z'] of + case CharInSet(I, ['_', 'a'..'z', 'A'..'Z']) of True: mHashTable[I] := Ord(J) - 64 else mHashTable[I] := 0; @@ -187,7 +187,7 @@ function TGenLex.KeyHash(ToHash: PChar): Integer; begin Result := 0; - while ToHash^ in ['_', '0'..'9', 'a'..'z', 'A'..'Z'] do + while CharInSet(ToHash^, ['_', '0'..'9', 'a'..'z', 'A'..'Z']) do begin Inc(Result, mHashTable[ToHash^]); Inc(ToHash); @@ -502,7 +502,7 @@ procedure TGenLex.NullProc; begin if fTokenizing then - if not (FOrigin[Walker - 1] in [#10, #13]) then + if not CharInSet(FOrigin[Walker - 1], [#10, #13]) then FLinePosList.Add(Walker); end; @@ -513,7 +513,7 @@ procedure TGenLex.SpaceProc; begin - while fOrigin[Walker] in [#1..#9, #11, #12, #14..#32] do + while CharInSet(fOrigin[Walker], [#1..#9, #11, #12, #14..#32]) do inc(Walker); end; --- NEW FILE: SynGen.dproj --- (This appears to be a binary file; contents omitted.) |
From: Maël Hörz <ma...@us...> - 2008-10-25 23:15:56
|
Update of /cvsroot/synedit/SynEdit/Demos/HighlighterDemo In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv9391/Demos/HighlighterDemo Modified Files: Tag: Unicode_2004_08_31 SynHighlighterSample.pas uMain.dfm Added Files: Tag: Unicode_2004_08_31 HighlighterDemo.dproj Log Message: - SynGenUnit.pas: Use UnicodeString instead of MemoryStream to load the flle contents of a .msg-file , since now the assumption that one Char = one Byte doesn't hold anymore. It was very dangerous to use MemoryStream anyway. - Fix other small issues and warnings for Delphi 2009 --- NEW FILE: HighlighterDemo.dproj --- (This appears to be a binary file; contents omitted.) Index: uMain.dfm =================================================================== RCS file: /cvsroot/synedit/SynEdit/Demos/HighlighterDemo/uMain.dfm,v retrieving revision 1.2.2.2 retrieving revision 1.2.2.3 diff -u -d -r1.2.2.2 -r1.2.2.3 --- uMain.dfm 10 Nov 2004 21:33:49 -0000 1.2.2.2 +++ uMain.dfm 25 Oct 2008 23:15:48 -0000 1.2.2.3 @@ -1,126 +1,125 @@ -object Form1: TForm1 - Left = 268 - Top = 107 - Width = 696 - Height = 480 - Caption = 'Highlighter demo' - Color = clBtnFace - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'MS Sans Serif' - Font.Style = [] - OldCreateOrder = True - OnCreate = FormCreate - PixelsPerInch = 96 - TextHeight = 13 - object SynEdit1: TSynEdit - Left = 0 - Top = 0 - Width = 688 - Height = 446 - Align = alClient - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -13 - Font.Name = 'Courier New' - Font.Style = [] - TabOrder = 0 - Gutter.Font.Charset = DEFAULT_CHARSET - Gutter.Font.Color = clWindowText - Gutter.Font.Height = -11 - Gutter.Font.Name = 'Terminal' - Gutter.Font.Style = [] - Lines.WideStrings = 'SynEdit1' - RemovedKeystrokes = < - item - Command = ecCut - ShortCut = 8238 - end - item - Command = ecPaste - ShortCut = 8237 - end - item - Command = ecDeleteChar - ShortCut = 46 - end - item - Command = ecContextHelp - ShortCut = 112 - end - item - Command = ecPaste - ShortCut = 16470 - end - item - Command = ecCut - ShortCut = 16472 - end - item - Command = ecBlockIndent - ShortCut = 24649 - end - item - Command = ecBlockUnindent - ShortCut = 24661 - end - item - Command = ecLineBreak - ShortCut = 16461 - end - item - Command = ecInsertLine - ShortCut = 16462 - end - item - Command = ecDeleteWord - ShortCut = 16468 - end> - AddedKeystrokes = < - item - Command = ecPaste - ShortCut = 8238 - end - item - Command = ecDeleteChar - ShortCut = 8237 - end - item - Command = ecCut - ShortCut = 46 - end - item - Command = ecContextHelp - ShortCut = 16496 - end - item - Command = ecBlockIndent - ShortCut = 16470 - end - item - Command = ecLineBreak - ShortCut = 16472 - end - item - Command = ecInsertLine - ShortCut = 24649 - end - item - Command = ecDeleteWord - ShortCut = 24661 - end - item - Command = ecBlockUnindent - ShortCut = 16461 - end - item - Command = ecPaste - ShortCut = 16462 - end - item - Command = ecCut - ShortCut = 16468 - end> - end -end +object Form1: TForm1 + Left = 268 + Top = 107 + Caption = 'Highlighter demo' + ClientHeight = 446 + ClientWidth = 688 + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + OldCreateOrder = True + OnCreate = FormCreate + PixelsPerInch = 96 + TextHeight = 13 + object SynEdit1: TSynEdit + Left = 0 + Top = 0 + Width = 688 + Height = 446 + Align = alClient + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Courier New' + Font.Style = [] + TabOrder = 0 + Gutter.Font.Charset = DEFAULT_CHARSET + Gutter.Font.Color = clWindowText + Gutter.Font.Height = -11 + Gutter.Font.Name = 'Terminal' + Gutter.Font.Style = [] + RemovedKeystrokes = < + item + Command = ecCut + ShortCut = 8238 + end + item + Command = ecPaste + ShortCut = 8237 + end + item + Command = ecDeleteChar + ShortCut = 46 + end + item + Command = ecContextHelp + ShortCut = 112 + end + item + Command = ecPaste + ShortCut = 16470 + end + item + Command = ecCut + ShortCut = 16472 + end + item + Command = ecBlockIndent + ShortCut = 24649 + end + item + Command = ecBlockUnindent + ShortCut = 24661 + end + item + Command = ecLineBreak + ShortCut = 16461 + end + item + Command = ecInsertLine + ShortCut = 16462 + end + item + Command = ecDeleteWord + ShortCut = 16468 + end> + AddedKeystrokes = < + item + Command = ecPaste + ShortCut = 8238 + end + item + Command = ecDeleteChar + ShortCut = 8237 + end + item + Command = ecCut + ShortCut = 46 + end + item + Command = ecContextHelp + ShortCut = 16496 + end + item + Command = ecBlockIndent + ShortCut = 16470 + end + item + Command = ecLineBreak + ShortCut = 16472 + end + item + Command = ecInsertLine + ShortCut = 24649 + end + item + Command = ecDeleteWord + ShortCut = 24661 + end + item + Command = ecBlockUnindent + ShortCut = 16461 + end + item + Command = ecPaste + ShortCut = 16462 + end + item + Command = ecCut + ShortCut = 16468 + end> + end +end Index: SynHighlighterSample.pas =================================================================== RCS file: /cvsroot/synedit/SynEdit/Demos/HighlighterDemo/SynHighlighterSample.pas,v retrieving revision 1.6.2.11 retrieving revision 1.6.2.12 diff -u -d -r1.6.2.11 -r1.6.2.12 --- SynHighlighterSample.pas 14 Sep 2008 16:24:57 -0000 1.6.2.11 +++ SynHighlighterSample.pas 25 Oct 2008 23:15:48 -0000 1.6.2.12 @@ -9,10 +9,10 @@ the specific language governing rights and limitations under the License. Code template generated with SynGen. -The original code is: D:\Quellen\Komponenten\SynEdit\Demos\HighlighterDemo\SynHighlighterSample.pas, released 2005-07-01. +The original code is: D:\Quellen\Komponenten\SynEdit\Demos\HighlighterDemo\SynHighlighterSample.pas, released 2008-10-25. Description: The initial author of this file is Maël Hörz. -Copyright (c) 2005, all rights reserved. +Copyright (c) 2008, all rights reserved. Contributors to the SynEdit and mwEdit projects are listed in the Contributors.txt file. @@ -287,7 +287,7 @@ Inc(Run); if (fLine[Run] = '*') then begin - Inc(Run); + Inc(Run, 1); fRange := rsCStyleComment; fTokenID := tkComment; end |
From: Maël Hörz <ma...@fd...> - 2008-10-05 19:52:03
|
Update of /cvsroot/synedit/SynEdit/Source In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv28520 Modified Files: Tag: Unicode_2004_08_31 SynUnicode.pas Log Message: Set SaveFormat instead of SaveUnicode, since SaveFormat is more precise and SaveUnicode returns if SaveFormat is a Unicode-Format. Index: SynUnicode.pas =================================================================== RCS file: /cvsroot/synedit/SynEdit/Source/Attic/SynUnicode.pas,v retrieving revision 1.1.2.43 retrieving revision 1.1.2.44 diff -u -d -r1.1.2.43 -r1.1.2.44 --- SynUnicode.pas 3 Oct 2008 18:50:12 -0000 1.1.2.43 +++ SynUnicode.pas 5 Oct 2008 19:51:53 -0000 1.1.2.44 @@ -3150,7 +3150,7 @@ UnicodeStrings.Text := UTF8ToUnicodeString(UTF8Str); {$ELSE} UnicodeStrings.Text := UTF8Decode(UTF8Str); - UnicodeStrings.SaveUnicode := True; + UnicodeStrings.SaveFormat := sfUTF8; {$ENDIF} end; seUTF16LE: @@ -3159,7 +3159,7 @@ Stream.ReadBuffer(WideStr[1], Size); UnicodeStrings.Text := WideStr; {$IFNDEF UNICODE} - UnicodeStrings.SaveUnicode := True; + UnicodeStrings.SaveFormat := sfUTF16LSB; {$ENDIF} end; seUTF16BE: @@ -3169,7 +3169,7 @@ StrSwapByteOrder(PWideChar(WideStr)); UnicodeStrings.Text := WideStr; {$IFNDEF UNICODE} - UnicodeStrings.SaveUnicode := True; + UnicodeStrings.SaveFormat := sfUTF16MSB; {$ENDIF} end; seAnsi: @@ -3178,7 +3178,7 @@ Stream.ReadBuffer(AnsiStr[1], Size); UnicodeStrings.Text := UnicodeString(AnsiStr); {$IFNDEF UNICODE} - UnicodeStrings.SaveUnicode := False; + UnicodeStrings.SaveFormat := sfAnsi; {$ENDIF} end; end; |
From: Maël Hörz <ma...@fd...> - 2008-10-03 18:50:19
|
Update of /cvsroot/synedit/SynEdit/Source In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv14402 Modified Files: Tag: Unicode_2004_08_31 SynUnicode.pas Log Message: Minor formatting fix. Index: SynUnicode.pas =================================================================== RCS file: /cvsroot/synedit/SynEdit/Source/Attic/SynUnicode.pas,v retrieving revision 1.1.2.42 retrieving revision 1.1.2.43 diff -u -d -r1.1.2.42 -r1.1.2.43 --- SynUnicode.pas 3 Oct 2008 18:47:03 -0000 1.1.2.42 +++ SynUnicode.pas 3 Oct 2008 18:50:12 -0000 1.1.2.43 @@ -915,7 +915,7 @@ System.Move(ByteOrderMask[2], SW[1] ,BytesRead - 2); // max 4 bytes = 2 widechars if Size > BytesRead then // first 2 chars (maximum) were copied by System.Move - Stream.Read(SW[3], Size-BytesRead); + Stream.Read(SW[3], Size - BytesRead); StrSwapByteOrder(PWideChar(SW)); end; SetTextStr(SW); @@ -1051,7 +1051,7 @@ Stream.WriteBuffer(SW[1], Length(SW) * SizeOf(WideChar)); FSaved := True; end; - sfUTF8 : + sfUTF8: begin if WithBOM then Stream.WriteBuffer(UTF8BOM[0], SizeOf(UTF8BOM)); @@ -1059,7 +1059,7 @@ Stream.WriteBuffer(SA[1], Length(SA) * SizeOf(AnsiChar)); FSaved := True; end; - sfAnsi : + sfAnsi: begin SA := SW; Stream.WriteBuffer(SA[1], Length(SA) * SizeOf(AnsiChar)); |
From: Maël Hörz <ma...@fd...> - 2008-10-03 18:47:14
|
Update of /cvsroot/synedit/SynEdit/Source In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv14198 Modified Files: Tag: Unicode_2004_08_31 SynUnicode.pas Log Message: Commit changes by Erik Berry: TUnicodeStrings can now load files in different formats, not only UTF-16LE. Index: SynUnicode.pas =================================================================== RCS file: /cvsroot/synedit/SynEdit/Source/Attic/SynUnicode.pas,v retrieving revision 1.1.2.41 retrieving revision 1.1.2.42 diff -u -d -r1.1.2.41 -r1.1.2.42 --- SynUnicode.pas 23 Sep 2008 14:02:59 -0000 1.1.2.41 +++ SynUnicode.pas 3 Oct 2008 18:47:03 -0000 1.1.2.42 @@ -86,6 +86,8 @@ UTF8BOM: array[0..2] of Byte = ($EF, $BB, $BF); UTF16BOMLE: array[0..1] of Byte = ($FF, $FE); UTF16BOMBE: array[0..1] of Byte = ($FE, $FF); + UTF32BOMLE: array[0..3] of Byte = ($FF, $FE, $00, $00); + UTF32BOMBE: array[0..3] of Byte = ($00, $00, $FE, $FF); const // constants describing range of the Unicode Private Use Area (Unicode 3.2) @@ -118,6 +120,13 @@ BOM_MSB_FIRST = WideChar($FFFE); type + TSaveFormat = (sfUTF16LSB, sfUTF16MSB, sfUTF8, sfAnsi); + +const + sfUnicodeLSB = sfUTF16LSB; + sfUnicodeMSB = sfUTF16MSB; + +type TFontCharSet = 0..255; {$IFDEF UNICODE} @@ -137,11 +146,10 @@ TUnicodeStrings = class(TPersistent) private FUpdateCount: Integer; - FSaved, // set in SaveToStream, True in case saving was successfull otherwise False - FSaveUnicode: Boolean; // flag set on loading to keep track in which format to save - // (can be set explicitely, but expect losses if there's true Unicode content - // and this flag is set to False) + FSaved: Boolean; // set in SaveToStream, True in case saving was successfull otherwise False FOnConfirmConversion: TConfirmConversionEvent; + FSaveFormat: TSaveFormat; // overrides the FSaveUnicode flag, initialized when a file is loaded, + // expect losses if it is set to sfAnsi before saving function GetCommaText: UnicodeString; function GetName(Index: Integer): UnicodeString; function GetValue(const Name: UnicodeString): UnicodeString; @@ -149,6 +157,8 @@ procedure SetCommaText(const Value: UnicodeString); procedure SetValue(const Name, Value: UnicodeString); procedure WriteData(Writer: TWriter); + function GetSaveUnicode: Boolean; + procedure SetSaveUnicode(const Value: Boolean); protected procedure DefineProperties(Filer: TFiler); override; procedure DoConfirmConversion(var Allowed: Boolean); virtual; @@ -185,10 +195,10 @@ function IndexOfObject(AObject: TObject): Integer; procedure Insert(Index: Integer; const S: UnicodeString); virtual; abstract; procedure InsertObject(Index: Integer; const S: UnicodeString; AObject: TObject); - procedure LoadFromFile(const FileName: string); virtual; + procedure LoadFromFile(const FileName: TFileName); virtual; procedure LoadFromStream(Stream: TStream); virtual; procedure Move(CurIndex, NewIndex: Integer); virtual; - procedure SaveToFile(const FileName: string); virtual; + procedure SaveToFile(const FileName: TFileName); virtual; procedure SaveToStream(Stream: TStream; WithBOM: Boolean = True); virtual; procedure SetTextStr(const Value: UnicodeString); virtual; @@ -199,7 +209,8 @@ property Objects[Index: Integer]: TObject read GetObject write PutObject; property Values[const Name: UnicodeString]: UnicodeString read GetValue write SetValue; property Saved: Boolean read FSaved; - property SaveUnicode: Boolean read FSaveUnicode write FSaveUnicode default True; + property SaveUnicode: Boolean read GetSaveUnicode write SetSaveUnicode default True; + property SaveFormat: TSaveFormat read FSaveFormat write FSaveFormat default sfUnicodeLSB; property Strings[Index: Integer]: UnicodeString read Get write Put; default; property Text: UnicodeString read GetTextStr write SetTextStr; @@ -398,6 +409,8 @@ out WithBOM: Boolean): TSynEncoding; overload; function LoadFromStream(UnicodeStrings: TUnicodeStrings; Stream: TStream; Encoding: TSynEncoding; out WithBOM: Boolean): TSynEncoding; overload; +function LoadFromStream(UnicodeStrings: TUnicodeStrings; Stream: TStream; + Encoding: TSynEncoding): TSynEncoding; overload; function ClipboardProvidesText: Boolean; function GetClipboardText: UnicodeString; @@ -456,7 +469,20 @@ constructor TUnicodeStrings.Create; begin inherited; - FSaveUnicode := True; + FSaveFormat := sfUnicodeLSB; +end; + +function TUnicodeStrings.GetSaveUnicode: Boolean; +begin + Result := SaveFormat in [sfUTF16LSB, sfUTF16MSB, sfUTF8]; +end; + +procedure TUnicodeStrings.SetSaveUnicode(const Value: Boolean); +begin + if Value then + SaveFormat := sfUnicodeLSB + else + SaveFormat := sfAnsi; end; function TUnicodeStrings.Add(const S: UnicodeString): Integer; @@ -598,7 +624,7 @@ // Defines a private property for the content of the list. // There's a bug in the handling of text DFMs in Classes.pas which prevents // UnicodeStrings from loading under some circumstances. Zbysek Hlinka -// (zh...@lo...) brought this to my attention and supplied also a solution. +// (zhlinka att login dott cz) brought this to my attention and supplied also a solution. // See ReadData and WriteData methods for implementation details. function DoWrite: Boolean; @@ -825,15 +851,19 @@ PutObject(Index, AObject); end; -procedure TUnicodeStrings.LoadFromFile(const FileName: string); +procedure TUnicodeStrings.LoadFromFile(const FileName: TFileName); var Stream: TStream; begin - Stream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite); try - LoadFromStream(Stream); - finally - Stream.Free; + Stream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyNone); + try + LoadFromStream(Stream); + finally + Stream.Free; + end; + except + RaiseLastOSError; end; end; @@ -842,30 +872,85 @@ var Size, BytesRead: Integer; - Order: WideChar; + ByteOrderMask: array[0..5] of Byte; // BOM size is max 5 bytes (cf: wikipedia) + // but it is easier to implement with a multiple of 2 + Loaded: Boolean; SW: UnicodeString; SA: AnsiString; begin BeginUpdate; try + Loaded := False; + Size := Stream.Size - Stream.Position; - BytesRead := Stream.Read(Order, 2); - if (Order = BOM_LSB_FIRST) or (Order = BOM_MSB_FIRST) then + BytesRead := Stream.Read(ByteOrderMask[0], SizeOf(ByteOrderMask)); + + // UTF16 LSB = Unicode LSB/LE + if (BytesRead >= 2) and (ByteOrderMask[0] = UTF16BOMLE[0]) + and (ByteOrderMask[1] = UTF16BOMLE[1]) then begin - FSaveUnicode := True; - SetLength(SW, (Size - 2) div 2); - Stream.Read(PWideChar(SW)^, Size - 2); - if Order = BOM_MSB_FIRST then + FSaveFormat := sfUTF16LSB; + SetLength(SW, (Size - 2) div SizeOf(WideChar)); + Assert((Size and 1) <> 1, 'Number of chars must be a multiple of 2'); + if BytesRead > 2 then + begin + System.Move(ByteOrderMask[2], SW[1], BytesRead - 2); // max 4 bytes = 2 widechars + if Size > BytesRead then + // first 2 chars (maximum) were copied by System.Move + Stream.Read(SW[3], Size - BytesRead); + end; + SetTextStr(SW); + Loaded := True; + end; + + // UTF16 MSB = Unicode MSB/BE + if (BytesRead >= 2) and (ByteOrderMask[0] = UTF16BOMBE[0]) + and (ByteOrderMask[1] = UTF16BOMBE[1]) then + begin + FSaveFormat := sfUTF16MSB; + SetLength(SW, (Size - 2) div SizeOf(WideChar)); + Assert((Size and 1) <> 1, 'Number of chars must be a multiple of 2'); + if BytesRead > 2 then + begin + System.Move(ByteOrderMask[2], SW[1] ,BytesRead - 2); // max 4 bytes = 2 widechars + if Size > BytesRead then + // first 2 chars (maximum) were copied by System.Move + Stream.Read(SW[3], Size-BytesRead); StrSwapByteOrder(PWideChar(SW)); + end; SetTextStr(SW); - end - else + Loaded := True; + end; + + // UTF8 + if (BytesRead >= 3) and (ByteOrderMask[0] = UTF8BOM[0]) + and (ByteOrderMask[1] = UTF8BOM[1]) and (ByteOrderMask[2] = UTF8BOM[2]) then begin - // without byte order mark it is assumed that we are loading ANSI text - FSaveUnicode := False; - Stream.Seek(-BytesRead, soFromCurrent); - SetLength(SA, Size); - Stream.Read(PAnsiChar(SA)^, Size); + FSaveFormat := sfUTF8; + SetLength(SA, (Size - 3) div SizeOf(AnsiChar)); + if BytesRead > 3 then + begin + System.Move(ByteOrderMask[3], SA[1], BytesRead - 3); // max 3 bytes = 3 chars + if Size > BytesRead then + // first 3 chars were copied by System.Move + Stream.Read(SA[4], Size - BytesRead); + SW := UTF8Decode(SA); + end; + SetTextStr(SW); + Loaded := True; + end; + + // default case (Ansi) + if not Loaded then + begin + FSaveFormat := sfAnsi; + SetLength(SA, Size div SizeOf(AnsiChar)); + if BytesRead > 0 then + begin + System.Move(ByteOrderMask[0], SA[1], BytesRead); // max 6 bytes = 6 chars + if Size > BytesRead then + Stream.Read(SA[7], Size - BytesRead); // first 6 chars were copied by System.Move + end; SetTextStr(SA); end; finally @@ -902,7 +987,7 @@ end; end; -procedure TUnicodeStrings.SaveToFile(const FileName: string); +procedure TUnicodeStrings.SaveToFile(const FileName: TFileName); var Stream: TStream; begin @@ -918,7 +1003,7 @@ // Saves the currently loaded text into the given stream. WithBOM determines whether to write a // byte order mark or not. Note: when saved as ANSI text there will never be a BOM. var - SW, BOM: UnicodeString; + SW: UnicodeString; SA: AnsiString; Allowed: Boolean; Run: PWideChar; @@ -934,7 +1019,7 @@ FSaved := False; // be pessimistic // A check for potential information loss makes only sense if the application has // set an event to be used as call back to ask about the conversion. - if not FSaveUnicode and Assigned(FOnConfirmConversion) then + if not SaveUnicode and Assigned(FOnConfirmConversion) then begin // application requests to save only ANSI characters, so check the text and // call back in case information could be lost @@ -950,19 +1035,37 @@ if Allowed then begin // only save if allowed - if FSaveUnicode then - begin - BOM := BOM_LSB_FIRST; - Stream.WriteBuffer(PWideChar(BOM)^, 2); - // SW has already been filled - Stream.WriteBuffer(PWideChar(SW)^, 2 * Length(SW)); - end - else - begin - SA := AnsiString(PWideChar(SW)); - Stream.WriteBuffer(PAnsiChar(SA)^, Length(SA)); + case SaveFormat of + sfUTF16LSB: + begin + if WithBOM then + Stream.WriteBuffer(UTF16BOMLE[0], SizeOf(UTF16BOMLE)); + Stream.WriteBuffer(SW[1], Length(SW) * SizeOf(WideChar)); + FSaved := True; + end; + sfUTF16MSB: + begin + if WithBOM then + Stream.WriteBuffer(UTF16BOMBE[0], SizeOf(UTF16BOMBE)); + StrSwapByteOrder(PWideChar(SW)); + Stream.WriteBuffer(SW[1], Length(SW) * SizeOf(WideChar)); + FSaved := True; + end; + sfUTF8 : + begin + if WithBOM then + Stream.WriteBuffer(UTF8BOM[0], SizeOf(UTF8BOM)); + SA := UTF8Encode(SW); + Stream.WriteBuffer(SA[1], Length(SA) * SizeOf(AnsiChar)); + FSaved := True; + end; + sfAnsi : + begin + SA := SW; + Stream.WriteBuffer(SA[1], Length(SA) * SizeOf(AnsiChar)); + FSaved := True; + end; end; - FSaved := True; end; end; @@ -2968,6 +3071,14 @@ end; function LoadFromStream(UnicodeStrings: TUnicodeStrings; Stream: TStream; + Encoding: TSynEncoding): TSynEncoding; overload; +var + Dummy: Boolean; +begin + Result := LoadFromStream(UnicodeStrings, Stream, Encoding, Dummy); +end; + +function LoadFromStream(UnicodeStrings: TUnicodeStrings; Stream: TStream; Encoding: TSynEncoding; out WithBOM: Boolean): TSynEncoding; var WideStr: UnicodeString; |
From: Maël Hörz <ma...@us...> - 2008-09-17 06:59:19
|
Update of /cvsroot/synedit/SynEdit/Source In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv16399/Source Modified Files: Tag: Unicode_2004_08_31 SynCompletionProposal.pas SynEdit.inc SynEdit.pas SynEditExport.pas SynEditMiscClasses.pas SynTextDrawer.pas SynUnicode.pas SynUsp10.pas Added Files: Tag: Unicode_2004_08_31 jedi.inc Log Message: - Several improvements by Erik Berry - Added jedi.inc to get more expressive IFDEFs (for example SUPPORTS_INLINE) - Fixes to the D2009 packages Index: SynCompletionProposal.pas =================================================================== RCS file: /cvsroot/synedit/SynEdit/Source/SynCompletionProposal.pas,v retrieving revision 1.73.2.10 retrieving revision 1.73.2.11 diff -u -d -r1.73.2.10 -r1.73.2.11 --- SynCompletionProposal.pas 14 Sep 2008 16:24:57 -0000 1.73.2.10 +++ SynCompletionProposal.pas 17 Sep 2008 13:59:11 -0000 1.73.2.11 @@ -1518,6 +1518,7 @@ {$ENDIF} end; +{$MESSAGE 'Check what must be adapted in DoKeyPressW and related methods'} procedure TSynBaseCompletionProposalForm.DoKeyPressW(Key: WideChar); begin if Key <> #0 then Index: SynTextDrawer.pas =================================================================== RCS file: /cvsroot/synedit/SynEdit/Source/SynTextDrawer.pas,v retrieving revision 1.6.2.16 retrieving revision 1.6.2.17 diff -u -d -r1.6.2.16 -r1.6.2.17 --- SynTextDrawer.pas 14 Sep 2008 16:25:03 -0000 1.6.2.16 +++ SynTextDrawer.pas 17 Sep 2008 13:59:12 -0000 1.6.2.17 @@ -253,8 +253,10 @@ implementation +{$IFDEF SYN_UNISCRIBE} uses SynUsp10; +{$ENDIF} var gFontsInfoManager: TheFontsInfoManager; @@ -280,13 +282,17 @@ // See here for details: http://groups.google.com/group/microsoft.public.win32.programmer.international/browse_thread/thread/77cd596f2b96dc76/146300208098285c?lnk=st&q=font+substitution+problem#146300208098285c function UniversalExtTextOut(DC: HDC; X, Y: Integer; Options: TTextOutOptions; Rect: TRect; Str: PWideChar; Count: Integer; ETODist: PIntegerArray): Boolean; +{$IFDEF SYN_UNISCRIBE} const SSAnalyseFlags = SSA_GLYPHS or SSA_FALLBACK or SSA_LINK; SpaceString: UnicodeString = ' '; +{$ENDIF} var TextOutFlags: DWORD; +{$IFDEF SYN_UNISCRIBE} GlyphBufferSize: Integer; saa: TScriptStringAnalysis; +{$ENDIF} begin TextOutFlags := 0; if tooOpaque in Options then @@ -294,6 +300,7 @@ if tooClipped in Options then TextOutFlags := TextOutFlags or ETO_CLIPPED; +{$IFDEF SYN_UNISCRIBE} if Usp10IsInstalled then begin // UniScribe requires that the string contains at least one character. @@ -326,6 +333,7 @@ Result := Result and Succeeded(ScriptStringFree(@saa)); end else +{$ENDIF} begin Result := ExtTextOutW(DC, X, Y, TextOutFlags, @Rect, Str, Count, Pointer(ETODist)); @@ -876,7 +884,7 @@ ReallocMem(FETODist, Length * SizeOf(Integer)); for i := 0 to Length - 1 do begin - Size := TextExtent(@Text[i], 1); + Size := TextExtent(PWideChar(@Text[i]), 1); FETODist[i] := Ceil(Size.cx / CharWidth) * CharWidth; end; end; Index: SynEdit.inc =================================================================== RCS file: /cvsroot/synedit/SynEdit/Source/SynEdit.inc,v retrieving revision 1.16.2.16 retrieving revision 1.16.2.17 diff -u -d -r1.16.2.16 -r1.16.2.17 --- SynEdit.inc 14 Sep 2008 16:24:57 -0000 1.16.2.16 +++ SynEdit.inc 17 Sep 2008 13:59:11 -0000 1.16.2.17 @@ -82,6 +82,29 @@ {$DEFINE SYNEDIT_INCLUDE} +{------------------------------------------------------------------------------} +{ Common compiler defines } +{ (remove the dot in front of a define to enable it) } +{------------------------------------------------------------------------------} + +{$B-,H+} // defaults are short evaluation of boolean values and long strings + +{.$DEFINE SYN_DEVELOPMENT_CHECKS} // additional tests for debugging +{$IFDEF SYN_DEVELOPMENT_CHECKS} + {$R+,Q+,S+,T+} +{$ENDIF} + +{------------------------------------------------------------------------------} +{ Pull in all defines from jedi.inc (must be done after the common compiler } +{ defines to work correctly) } +{------------------------------------------------------------------------------} + +{$I jedi.inc} + +{------------------------------------------------------------------------------} +{ SYN_WIN32, SYN_LINUX and SYN_KYLIX defines } +{------------------------------------------------------------------------------} + {$IFDEF WIN32} {$DEFINE SYN_WIN32} {$ENDIF} @@ -94,6 +117,10 @@ {$DEFINE SYN_DELPHI_6} {$ENDIF} +{------------------------------------------------------------------------------} +{ VERXXX to SYN_COMPILERX, SYN_DELPHIX and SYN_CPPBX mappings } +{------------------------------------------------------------------------------} + {$IFDEF VER200} {$DEFINE SYN_COMPILER_12} {$DEFINE SYN_DELPHI} @@ -440,21 +467,8 @@ {$ENDIF} {------------------------------------------------------------------------------} -{ Common compiler defines } -{------------------------------------------------------------------------------} - -// defaults are short evaluation of boolean values and long strings - -{$B-,H+} - -{$IFDEF SYN_WIN32} - {$IFNDEF UNICODE} - {$DEFINE OWN_UnicodeString_MEMMGR} - {$ENDIF} -{$ENDIF} - -{------------------------------------------------------------------------------} -{ Please change this to suit your needs (to activate an option remove the dot) } +{ Please change this to suit your needs (to activate an option remove the dot } +{ in front of a DEFINE) } {------------------------------------------------------------------------------} // "Heredoc" syntax highlighting @@ -464,14 +478,14 @@ // properly store Range State information {.$DEFINE SYN_HEREDOC} -// additional tests for debugging - -{.$DEFINE SYN_DEVELOPMENT_CHECKS} - -{$IFDEF SYN_DEVELOPMENT_CHECKS} - -{$R+,Q+,S+,T+} - +// Define OWN_UnicodeString_MEMMGR to speed up WideStrings-handling +{$IFDEF SYN_WIN32} + {$IFNDEF UNICODE} + {$DEFINE OWN_UnicodeString_MEMMGR} + {$ENDIF} {$ENDIF} +// Turn this off if you don't need complex script support, since it is slower +{.$DEFINE SYN_UNISCRIBE} + // $Id$ Index: SynEditMiscClasses.pas =================================================================== RCS file: /cvsroot/synedit/SynEdit/Source/SynEditMiscClasses.pas,v retrieving revision 1.35.2.8 retrieving revision 1.35.2.9 diff -u -d -r1.35.2.8 -r1.35.2.9 --- SynEditMiscClasses.pas 14 Sep 2008 16:24:58 -0000 1.35.2.8 +++ SynEditMiscClasses.pas 17 Sep 2008 13:59:12 -0000 1.35.2.9 @@ -1527,7 +1527,7 @@ if not Relative then Delete(S, 1, 1); TempKey := 0; - Result := RegOpenKeyExA(GetBaseKey(Relative), PAnsiChar(S), 0, + Result := RegOpenKeyEx(GetBaseKey(Relative), PChar(S), 0, KEY_READ, TempKey) = ERROR_SUCCESS; if Result then begin Index: SynUnicode.pas =================================================================== RCS file: /cvsroot/synedit/SynEdit/Source/Attic/SynUnicode.pas,v retrieving revision 1.1.2.39 retrieving revision 1.1.2.40 diff -u -d -r1.1.2.39 -r1.1.2.40 --- SynUnicode.pas 14 Sep 2008 16:25:03 -0000 1.1.2.39 +++ SynUnicode.pas 17 Sep 2008 13:59:12 -0000 1.1.2.40 @@ -319,8 +319,8 @@ function SynIsCharAlpha(const C: WideChar): Boolean; function SynIsCharAlphaNumeric(const C: WideChar): Boolean; {$IFNDEF UNICODE} -function CharInSet(C: AnsiChar; const CharSet: TSysCharSet): Boolean; overload; {$MESSAGE 'add inline; for Delphi versions that support it'} -function CharInSet(C: WideChar; const CharSet: TSysCharSet): Boolean; overload; {$MESSAGE 'add inline; for Delphi versions that support it'} +function CharInSet(C: AnsiChar; const CharSet: TSysCharSet): Boolean; overload; {$IFDEF SUPPORTS_INLINE} inline; {$ENDIF} +function CharInSet(C: WideChar; const CharSet: TSysCharSet): Boolean; overload; {$IFDEF SUPPORTS_INLINE} inline; {$ENDIF} {$ENDIF} function WideLastDelimiter(const Delimiters, S: UnicodeString): Integer; @@ -428,7 +428,9 @@ QSynEditTextBuffer, {$ELSE} SynEditTextBuffer, - SynUsp10, + {$IFDEF SYN_UNISCRIBE} + SynUsp10, + {$ENDIF} {$ENDIF} Math, {$IFDEF SYN_LINUX} @@ -2310,17 +2312,22 @@ {$ENDIF} function GetTextSize(DC: HDC; Str: PWideChar; Count: Integer): TSize; +{$IFDEF SYN_UNISCRIBE} const SSAnalyseFlags = SSA_GLYPHS or SSA_FALLBACK or SSA_LINK; +{$ENDIF} var tm: TTextMetricA; + {$IFDEF SYN_UNISCRIBE} GlyphBufferSize: Integer; saa: TScriptStringAnalysis; lpSize: PSize; + {$ENDIF} begin Result.cx := 0; Result.cy := 0; +{$IFDEF SYN_UNISCRIBE} if Usp10IsInstalled then begin if Count <= 0 then Exit; @@ -2347,6 +2354,7 @@ end; end else +{$ENDIF} begin GetTextExtentPoint32W(DC, Str, Count, Result); if not Win32PlatformIsUnicode then @@ -2479,7 +2487,7 @@ raise EFCreateError.CreateResFmt(PResStringRec(@SFCreateErrorEx), [ExpandFileName(FileName), SysErrorMessage(GetLastError)]); {$ELSE} - raise EFCreateError.CreateResFmt(@SFCreateError, [FileName]); + raise EFCreateError.CreateResFmt(PResStringRec(@SFCreateError), [FileName]); {$ENDIF} {$ENDIF} end @@ -2502,7 +2510,7 @@ raise EFOpenError.CreateResFmt(PResStringRec(@SFOpenErrorEx), [ExpandFileName(FileName), SysErrorMessage(GetLastError)]); {$ELSE} - raise EFOpenError.CreateResFmt(@SFOpenError, [FileName]); + raise EFOpenError.CreateResFmt(PResStringRec(@SFOpenError), [FileName]); {$ENDIF} {$ENDIF} end; --- NEW FILE: jedi.inc --- {$IFNDEF JEDI_INC} {$DEFINE JEDI_INC} {**************************************************************************************************} { } { The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License");} { you may not use this file except in compliance with the License. You may obtain a copy of the } { License at http://www.mozilla.org/MPL/ } { } { Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF } { ANY KIND, either express or implied. See the License for the specific language governing rights } { and limitations under the License. } { } { The Original Code is: jedi.inc. } { The Initial Developer of the Original Code is Project JEDI http://www.delphi-jedi.org } { } { Alternatively, the contents of this file may be used under the terms of the GNU Lesser General } { Public License (the "LGPL License"), in which case the provisions of the LGPL License are } { applicable instead of those above. If you wish to allow use of your version of this file only } [...1143 lines suppressed...] {$IFOPT L+} {$DEFINE LOCALSYMBOLS} {$ENDIF} {$IFOPT M+} {$DEFINE TYPEINFO_ON} {$ENDIF} {$IFOPT O+} {$DEFINE OPTIMIZATION_ON} {$ENDIF} {$IFOPT P+} {$DEFINE OPENSTRINGS_ON} {$ENDIF} {$IFOPT Q+} {$DEFINE OVERFLOWCHECKS_ON} {$ENDIF} {$IFOPT R+} {$DEFINE RANGECHECKS_ON} {$ENDIF} // Real compatibility {$IFOPT T+} {$DEFINE TYPEDADDRESS_ON} {$ENDIF} {$IFOPT U+} {$DEFINE SAFEDIVIDE_ON} {$ENDIF} {$IFOPT V+} {$DEFINE VARSTRINGCHECKS_ON} {$ENDIF} {$IFOPT W+} {$DEFINE STACKFRAMES_ON} {$ENDIF} // Warnings {$IFOPT X+} {$DEFINE EXTENDEDSYNTAX_ON} {$ENDIF} // for Delphi/BCB trial versions remove the point from the line below {.$UNDEF SUPPORTS_WEAKPACKAGEUNIT} {$ENDIF ~JEDI_INC} Index: SynEdit.pas =================================================================== RCS file: /cvsroot/synedit/SynEdit/Source/SynEdit.pas,v retrieving revision 1.386.2.74 retrieving revision 1.386.2.75 diff -u -d -r1.386.2.74 -r1.386.2.75 --- SynEdit.pas 14 Sep 2008 16:24:57 -0000 1.386.2.74 +++ SynEdit.pas 17 Sep 2008 13:59:11 -0000 1.386.2.75 @@ -2108,6 +2108,7 @@ type TAccessWinControl = class(TWinControl); +{$MESSAGE 'Check what must be adapted in DoKeyPressW and related methods'} procedure TCustomSynEdit.DoKeyPressW(var Message: TWMKey); var Form: TCustomForm; @@ -11092,7 +11093,7 @@ begin // Hooking GetMessage/PeekMessage-calls is necessary as the use of // PeekMessageA in TApplication.ProcessMessage mutilates Unicode-messages. - GetMsgHook := SetWindowsHookExW(WH_GETMESSAGE, @GetMsgProc, 0, + GetMsgHook := SetWindowsHookExW(WH_GETMESSAGE, GetMsgProc, 0, GetCurrentThreadId); end else Index: SynEditExport.pas =================================================================== RCS file: /cvsroot/synedit/SynEdit/Source/SynEditExport.pas,v retrieving revision 1.17.2.7 retrieving revision 1.17.2.8 diff -u -d -r1.17.2.7 -r1.17.2.8 --- SynEditExport.pas 14 Sep 2008 16:24:58 -0000 1.17.2.7 +++ SynEditExport.pas 17 Sep 2008 13:59:12 -0000 1.17.2.8 @@ -486,9 +486,12 @@ while not Highlighter.GetEOL do begin Attri := Highlighter.GetTokenAttribute; - Token := ReplaceReservedChars(Highlighter.GetToken); - SetTokenAttribute(Attri); - FormatToken(Token); + if Assigned(Attri) then // The .pas highlighter, for example, can return a nil Attri above for a trailing EOF/null that was loaded from a stream + begin + Token := ReplaceReservedChars(Highlighter.GetToken); + SetTokenAttribute(Attri); + FormatToken(Token); + end; Highlighter.Next; end; FormatNewLine; Index: SynUsp10.pas =================================================================== RCS file: /cvsroot/synedit/SynEdit/Source/Attic/SynUsp10.pas,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -d -r1.1.2.1 -r1.1.2.2 --- SynUsp10.pas 2 Feb 2008 15:13:33 -0000 1.1.2.1 +++ SynUsp10.pas 17 Sep 2008 13:59:12 -0000 1.1.2.2 @@ -2206,11 +2206,12 @@ end; var - _ScriptFreeCache: Pointer; + _ScriptFreeCache: Pointer = nil; function ScriptFreeCache; begin - GetProcedureAddress(_ScriptFreeCache, Usp10DLL, 'ScriptFreeCache'); + if _ScriptFreeCache = nil then + GetProcedureAddress(_ScriptFreeCache, Usp10DLL, 'ScriptFreeCache'); asm MOV ESP, EBP POP EBP @@ -2219,11 +2220,12 @@ end; var - _ScriptItemize: Pointer; + _ScriptItemize: Pointer = nil; function ScriptItemize; begin - GetProcedureAddress(_ScriptItemize, Usp10DLL, 'ScriptItemize'); + if _ScriptItemize = nil then + GetProcedureAddress(_ScriptItemize, Usp10DLL, 'ScriptItemize'); asm MOV ESP, EBP POP EBP @@ -2232,11 +2234,12 @@ end; var - _ScriptLayout: Pointer; + _ScriptLayout: Pointer = nil; function ScriptLayout; begin - GetProcedureAddress(_ScriptLayout, Usp10DLL, 'ScriptLayout'); + if _ScriptLayout = nil then + GetProcedureAddress(_ScriptLayout, Usp10DLL, 'ScriptLayout'); asm MOV ESP, EBP POP EBP @@ -2245,11 +2248,12 @@ end; var - _ScriptShape: Pointer; + _ScriptShape: Pointer = nil; function ScriptShape; begin - GetProcedureAddress(_ScriptShape, Usp10DLL, 'ScriptShape'); + if _ScriptShape = nil then + GetProcedureAddress(_ScriptShape, Usp10DLL, 'ScriptShape'); asm MOV ESP, EBP POP EBP @@ -2258,11 +2262,12 @@ end; var - _ScriptPlace: Pointer; + _ScriptPlace: Pointer = nil; function ScriptPlace; begin - GetProcedureAddress(_ScriptPlace, Usp10DLL, 'ScriptPlace'); + if _ScriptPlace = nil then + GetProcedureAddress(_ScriptPlace, Usp10DLL, 'ScriptPlace'); asm MOV ESP, EBP POP EBP @@ -2271,11 +2276,12 @@ end; var - _ScriptTextOut: Pointer; + _ScriptTextOut: Pointer = nil; function ScriptTextOut; begin - GetProcedureAddress(_ScriptTextOut, Usp10DLL, 'ScriptTextOut'); + if _ScriptTextOut = nil then + GetProcedureAddress(_ScriptTextOut, Usp10DLL, 'ScriptTextOut'); asm MOV ESP, EBP POP EBP @@ -2284,11 +2290,12 @@ end; var - _ScriptJustify: Pointer; + _ScriptJustify: Pointer = nil; function ScriptJustify; begin - GetProcedureAddress(_ScriptJustify, Usp10DLL, 'ScriptJustify'); + if _ScriptJustify = nil then + GetProcedureAddress(_ScriptJustify, Usp10DLL, 'ScriptJustify'); asm MOV ESP, EBP POP EBP @@ -2297,11 +2304,12 @@ end; var - _ScriptBreak: Pointer; + _ScriptBreak: Pointer = nil; function ScriptBreak; begin - GetProcedureAddress(_ScriptBreak, Usp10DLL, 'ScriptBreak'); + if _ScriptBreak = nil then + GetProcedureAddress(_ScriptBreak, Usp10DLL, 'ScriptBreak'); asm MOV ESP, EBP POP EBP @@ -2310,11 +2318,12 @@ end; var - _ScriptCPtoX: Pointer; + _ScriptCPtoX: Pointer = nil; function ScriptCPtoX; begin - GetProcedureAddress(_ScriptCPtoX, Usp10DLL, 'ScriptCPtoX'); + if _ScriptCPtoX = nil then + GetProcedureAddress(_ScriptCPtoX, Usp10DLL, 'ScriptCPtoX'); asm MOV ESP, EBP POP EBP @@ -2323,11 +2332,12 @@ end; var - _ScriptXtoCP: Pointer; + _ScriptXtoCP: Pointer = nil; function ScriptXtoCP; begin - GetProcedureAddress(_ScriptXtoCP, Usp10DLL, 'ScriptXtoCP'); + if _ScriptXtoCP = nil then + GetProcedureAddress(_ScriptXtoCP, Usp10DLL, 'ScriptXtoCP'); asm MOV ESP, EBP POP EBP @@ -2336,11 +2346,12 @@ end; var - _ScriptGetLogicalWidths: Pointer; + _ScriptGetLogicalWidths: Pointer = nil; function ScriptGetLogicalWidths; begin - GetProcedureAddress(_ScriptGetLogicalWidths, Usp10DLL, 'ScriptGetLogicalWidths'); + if _ScriptGetLogicalWidths = nil then + GetProcedureAddress(_ScriptGetLogicalWidths, Usp10DLL, 'ScriptGetLogicalWidths'); asm MOV ESP, EBP POP EBP @@ -2349,11 +2360,12 @@ end; var - _ScriptApplyLogicalWidth: Pointer; + _ScriptApplyLogicalWidth: Pointer = nil; function ScriptApplyLogicalWidth; begin - GetProcedureAddress(_ScriptApplyLogicalWidth, Usp10DLL, 'ScriptApplyLogicalWidth'); + if _ScriptApplyLogicalWidth = nil then + GetProcedureAddress(_ScriptApplyLogicalWidth, Usp10DLL, 'ScriptApplyLogicalWidth'); asm MOV ESP, EBP POP EBP @@ -2362,11 +2374,12 @@ end; var - _ScriptGetCMap: Pointer; + _ScriptGetCMap: Pointer = nil; function ScriptGetCMap; begin - GetProcedureAddress(_ScriptGetCMap, Usp10DLL, 'ScriptGetCMap'); + if _ScriptGetCMap = nil then + GetProcedureAddress(_ScriptGetCMap, Usp10DLL, 'ScriptGetCMap'); asm MOV ESP, EBP POP EBP @@ -2375,11 +2388,12 @@ end; var - _ScriptGetGlyphABCWidth: Pointer; + _ScriptGetGlyphABCWidth: Pointer = nil; function ScriptGetGlyphABCWidth; begin - GetProcedureAddress(_ScriptGetGlyphABCWidth, Usp10DLL, 'ScriptGetGlyphABCWidth'); + if _ScriptGetGlyphABCWidth = nil then + GetProcedureAddress(_ScriptGetGlyphABCWidth, Usp10DLL, 'ScriptGetGlyphABCWidth'); asm MOV ESP, EBP POP EBP @@ -2388,11 +2402,12 @@ end; var - _ScriptGetProperties: Pointer; + _ScriptGetProperties: Pointer = nil; function ScriptGetProperties; begin - GetProcedureAddress(_ScriptGetProperties, Usp10DLL, 'ScriptGetProperties'); + if _ScriptGetProperties = nil then + GetProcedureAddress(_ScriptGetProperties, Usp10DLL, 'ScriptGetProperties'); asm MOV ESP, EBP POP EBP @@ -2401,11 +2416,12 @@ end; var - _ScriptGetFontProperties: Pointer; + _ScriptGetFontProperties: Pointer = nil; function ScriptGetFontProperties; begin - GetProcedureAddress(_ScriptGetFontProperties, Usp10DLL, 'ScriptGetFontProperties'); + if _ScriptGetFontProperties = nil then + GetProcedureAddress(_ScriptGetFontProperties, Usp10DLL, 'ScriptGetFontProperties'); asm MOV ESP, EBP POP EBP @@ -2414,11 +2430,12 @@ end; var - _ScriptCacheGetHeight: Pointer; + _ScriptCacheGetHeight: Pointer = nil; function ScriptCacheGetHeight; begin - GetProcedureAddress(_ScriptCacheGetHeight, Usp10DLL, 'ScriptCacheGetHeight'); + if _ScriptCacheGetHeight = nil then + GetProcedureAddress(_ScriptCacheGetHeight, Usp10DLL, 'ScriptCacheGetHeight'); asm MOV ESP, EBP POP EBP @@ -2427,11 +2444,12 @@ end; var - _ScriptStringAnalyse: Pointer; + _ScriptStringAnalyse: Pointer = nil; function ScriptStringAnalyse; begin - GetProcedureAddress(_ScriptStringAnalyse, Usp10DLL, 'ScriptStringAnalyse'); + if _ScriptStringAnalyse = nil then + GetProcedureAddress(_ScriptStringAnalyse, Usp10DLL, 'ScriptStringAnalyse'); asm MOV ESP, EBP POP EBP @@ -2440,11 +2458,12 @@ end; var - _ScriptStringFree: Pointer; + _ScriptStringFree: Pointer = nil; function ScriptStringFree; begin - GetProcedureAddress(_ScriptStringFree, Usp10DLL, 'ScriptStringFree'); + if _ScriptStringFree = nil then + GetProcedureAddress(_ScriptStringFree, Usp10DLL, 'ScriptStringFree'); asm MOV ESP, EBP POP EBP @@ -2453,11 +2472,12 @@ end; var - _ScriptString_pSize: Pointer; + _ScriptString_pSize: Pointer = nil; function ScriptString_pSize; begin - GetProcedureAddress(_ScriptString_pSize, Usp10DLL, 'ScriptString_pSize'); + if _ScriptString_pSize = nil then + GetProcedureAddress(_ScriptString_pSize, Usp10DLL, 'ScriptString_pSize'); asm MOV ESP, EBP POP EBP @@ -2466,11 +2486,12 @@ end; var - _ScriptString_pcOutChars: Pointer; + _ScriptString_pcOutChars: Pointer = nil; function ScriptString_pcOutChars; begin - GetProcedureAddress(_ScriptString_pcOutChars, Usp10DLL, 'ScriptString_pcOutChars'); + if _ScriptString_pcOutChars = nil then + GetProcedureAddress(_ScriptString_pcOutChars, Usp10DLL, 'ScriptString_pcOutChars'); asm MOV ESP, EBP POP EBP @@ -2479,11 +2500,12 @@ end; var - _ScriptString_pLogAttr: Pointer; + _ScriptString_pLogAttr: Pointer = nil; function ScriptString_pLogAttr; begin - GetProcedureAddress(_ScriptString_pLogAttr, Usp10DLL, 'ScriptString_pLogAttr'); + if _ScriptString_pLogAttr = nil then + GetProcedureAddress(_ScriptString_pLogAttr, Usp10DLL, 'ScriptString_pLogAttr'); asm MOV ESP, EBP POP EBP @@ -2492,11 +2514,12 @@ end; var - _ScriptStringGetOrder: Pointer; + _ScriptStringGetOrder: Pointer = nil; function ScriptStringGetOrder; begin - GetProcedureAddress(_ScriptStringGetOrder, Usp10DLL, 'ScriptStringGetOrder'); + if _ScriptStringGetOrder = nil then + GetProcedureAddress(_ScriptStringGetOrder, Usp10DLL, 'ScriptStringGetOrder'); asm MOV ESP, EBP POP EBP @@ -2505,11 +2528,12 @@ end; var - _ScriptStringCPtoX: Pointer; + _ScriptStringCPtoX: Pointer = nil; function ScriptStringCPtoX; begin - GetProcedureAddress(_ScriptStringCPtoX, Usp10DLL, 'ScriptStringCPtoX'); + if _ScriptStringCPtoX = nil then + GetProcedureAddress(_ScriptStringCPtoX, Usp10DLL, 'ScriptStringCPtoX'); asm MOV ESP, EBP POP EBP @@ -2518,11 +2542,12 @@ end; var - _ScriptStringXtoCP: Pointer; + _ScriptStringXtoCP: Pointer = nil; function ScriptStringXtoCP; begin - GetProcedureAddress(_ScriptStringXtoCP, Usp10DLL, 'ScriptStringXtoCP'); + if _ScriptStringXtoCP = nil then + GetProcedureAddress(_ScriptStringXtoCP, Usp10DLL, 'ScriptStringXtoCP'); asm MOV ESP, EBP POP EBP @@ -2531,11 +2556,12 @@ end; var - _ScriptStringGetLogicalWidths: Pointer; + _ScriptStringGetLogicalWidths: Pointer = nil; function ScriptStringGetLogicalWidths; begin - GetProcedureAddress(_ScriptStringGetLogicalWidths, Usp10DLL, 'ScriptStringGetLogicalWidths'); + if _ScriptStringGetLogicalWidths = nil then + GetProcedureAddress(_ScriptStringGetLogicalWidths, Usp10DLL, 'ScriptStringGetLogicalWidths'); asm MOV ESP, EBP POP EBP @@ -2544,11 +2570,12 @@ end; var - _ScriptStringValidate: Pointer; + _ScriptStringValidate: Pointer = nil; function ScriptStringValidate; begin - GetProcedureAddress(_ScriptStringValidate, Usp10DLL, 'ScriptStringValidate'); + if _ScriptStringValidate = nil then + GetProcedureAddress(_ScriptStringValidate, Usp10DLL, 'ScriptStringValidate'); asm MOV ESP, EBP POP EBP @@ -2557,11 +2584,12 @@ end; var - _ScriptStringOut: Pointer; + _ScriptStringOut: Pointer = nil; function ScriptStringOut; begin - GetProcedureAddress(_ScriptStringOut, Usp10DLL, 'ScriptStringOut'); + if _ScriptStringOut = nil then + GetProcedureAddress(_ScriptStringOut, Usp10DLL, 'ScriptStringOut'); asm MOV ESP, EBP POP EBP @@ -2570,11 +2598,12 @@ end; var - _ScriptIsComplex: Pointer; + _ScriptIsComplex: Pointer = nil; function ScriptIsComplex; begin - GetProcedureAddress(_ScriptIsComplex, Usp10DLL, 'ScriptIsComplex'); + if _ScriptIsComplex = nil then + GetProcedureAddress(_ScriptIsComplex, Usp10DLL, 'ScriptIsComplex'); asm MOV ESP, EBP POP EBP @@ -2583,11 +2612,12 @@ end; var - _ScriptRecordDigitSubstitution: Pointer; + _ScriptRecordDigitSubstitution: Pointer = nil; function ScriptRecordDigitSubstitution; begin - GetProcedureAddress(_ScriptRecordDigitSubstitution, Usp10DLL, 'ScriptRecordDigitSubstitution'); + if _ScriptRecordDigitSubstitution = nil then + GetProcedureAddress(_ScriptRecordDigitSubstitution, Usp10DLL, 'ScriptRecordDigitSubstitution'); asm MOV ESP, EBP POP EBP @@ -2596,11 +2626,12 @@ end; var - _ScriptApplyDigitSubstitution: Pointer; + _ScriptApplyDigitSubstitution: Pointer = nil; function ScriptApplyDigitSubstitution; begin - GetProcedureAddress(_ScriptApplyDigitSubstitution, Usp10DLL, 'ScriptApplyDigitSubstitution'); + if _ScriptApplyDigitSubstitution = nil then + GetProcedureAddress(_ScriptApplyDigitSubstitution, Usp10DLL, 'ScriptApplyDigitSubstitution'); asm MOV ESP, EBP POP EBP |
From: Maël Hörz <ma...@us...> - 2008-09-17 06:59:17
|
Update of /cvsroot/synedit/SynEdit/Packages In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv16399/Packages Modified Files: Tag: Unicode_2004_08_31 SynEdit_D2009.dpk SynEdit_D2009.dproj SynEdit_R2009.dproj SynEdit_R2009.res Log Message: - Several improvements by Erik Berry - Added jedi.inc to get more expressive IFDEFs (for example SUPPORTS_INLINE) - Fixes to the D2009 packages Index: SynEdit_D2009.dproj =================================================================== RCS file: /cvsroot/synedit/SynEdit/Packages/Attic/SynEdit_D2009.dproj,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -d -r1.1.2.1 -r1.1.2.2 --- SynEdit_D2009.dproj 14 Sep 2008 16:24:57 -0000 1.1.2.1 +++ SynEdit_D2009.dproj 17 Sep 2008 13:59:11 -0000 1.1.2.2 @@ -1,6 +1,6 @@  <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> - <ProjectGuid>{F58B53AB-8F66-4CB6-BBB9-D15D329BB52C}</ProjectGuid> + <ProjectGuid>{E6EF4080-D6D5-4D42-96F0-FE5CF57E9351}</ProjectGuid> <MainSource>SynEdit_D2009.dpk</MainSource> <Config Condition="'$(Config)'==''">Debug</Config> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> @@ -20,15 +20,14 @@ <Base>true</Base> </PropertyGroup> <PropertyGroup Condition="'$(Base)'!=''"> - <DCC_ImageBase>00400000</DCC_ImageBase> <DesignOnlyPackage>true</DesignOnlyPackage> <DCC_WriteableConstants>true</DCC_WriteableConstants> - <DCC_DependencyCheckOutputName>C:\Dokumente und Einstellungen\All Users\Dokumente\RAD Studio\6.0\Bpl\SynEdit_D2009.bpl</DCC_DependencyCheckOutputName> - <DCC_UnitAlias>WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;$(DCC_UnitAlias)</DCC_UnitAlias> + <DCC_SymbolReferenceInfo>1</DCC_SymbolReferenceInfo> + <DCC_ImageBase>00400000</DCC_ImageBase> <DCC_Platform>x86</DCC_Platform> <DCC_Description>SynEdit component suite</DCC_Description> - <DCC_SymbolReferenceInfo>1</DCC_SymbolReferenceInfo> - <DCC_N>true</DCC_N> + <DCC_DependencyCheckOutputName>C:\Dokumente und Einstellungen\All Users\Dokumente\RAD Studio\6.0\Bpl\SynEdit_D2009.bpl</DCC_DependencyCheckOutputName> + <DCC_N>false</DCC_N> <DCC_S>false</DCC_S> <GenDll>true</GenDll> <DCC_K>false</DCC_K> @@ -51,7 +50,7 @@ </DelphiCompile> <DCCReference Include="..\Source\SynEditReg.dcr"/> <DCCReference Include="designide.dcp"/> - <DCCReference Include="SynEdit_R2006.dcp"/> + <DCCReference Include="SynEdit_R2009.dcp"/> <DCCReference Include="..\Source\SynEditReg.pas"/> <DCCReference Include="..\Source\SynEditPropertyReg.pas"/> <DCCReference Include="..\Source\SynHighlighterManager.pas"/> Index: SynEdit_R2009.dproj =================================================================== RCS file: /cvsroot/synedit/SynEdit/Packages/Attic/SynEdit_R2009.dproj,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -d -r1.1.2.1 -r1.1.2.2 --- SynEdit_R2009.dproj 14 Sep 2008 16:24:57 -0000 1.1.2.1 +++ SynEdit_R2009.dproj 17 Sep 2008 13:59:11 -0000 1.1.2.2 @@ -1,10 +1,10 @@  <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> - <ProjectGuid>{7B131184-5C5C-48CB-820F-E136997F8ED9}</ProjectGuid> + <ProjectGuid>{373F77C4-A9F5-440B-9DB3-056D0C25109D}</ProjectGuid> <MainSource>SynEdit_R2009.dpk</MainSource> - <ProjectVersion>12.0</ProjectVersion> <Config Condition="'$(Config)'==''">Debug</Config> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> + <ProjectVersion>12.0</ProjectVersion> </PropertyGroup> <PropertyGroup Condition="'$(Config)'=='Basis' or '$(Base)'!=''"> <Base>true</Base> @@ -20,23 +20,21 @@ <Base>true</Base> </PropertyGroup> <PropertyGroup Condition="'$(Base)'!=''"> - <DesignOnlyPackage>false</DesignOnlyPackage> <DCC_ImageBase>00400000</DCC_ImageBase> - <DCC_DependencyCheckOutputName>C:\Dokumente und Einstellungen\All Users\Dokumente\RAD Studio\6.0\Bpl\SynEdit_R2009.bpl</DCC_DependencyCheckOutputName> - <DCC_SymbolReferenceInfo>1</DCC_SymbolReferenceInfo> <DCC_WriteableConstants>true</DCC_WriteableConstants> + <DCC_SymbolReferenceInfo>1</DCC_SymbolReferenceInfo> + <DCC_DependencyCheckOutputName>C:\Dokumente und Einstellungen\All Users\Dokumente\RAD Studio\6.0\Bpl\SynEdit_R2009.bpl</DCC_DependencyCheckOutputName> <DCC_Platform>x86</DCC_Platform> - <DCC_UnitAlias>WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;$(DCC_UnitAlias)</DCC_UnitAlias> - <RuntimeOnlyPackage>true</RuntimeOnlyPackage> <DCC_Description>SynEdit component suite runtime</DCC_Description> + <RuntimeOnlyPackage>true</RuntimeOnlyPackage> + <GenPackage>true</GenPackage> <DCC_S>false</DCC_S> - <DCC_N>true</DCC_N> - <GenDll>true</GenDll> <DCC_OutputNeverBuildDcps>true</DCC_OutputNeverBuildDcps> + <GenDll>true</GenDll> + <DCC_N>false</DCC_N> <DCC_E>false</DCC_E> - <GenPackage>true</GenPackage> - <DCC_K>false</DCC_K> <DCC_F>false</DCC_F> + <DCC_K>false</DCC_K> </PropertyGroup> <PropertyGroup Condition="'$(Cfg_1)'!=''"> <DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols> @@ -190,7 +188,7 @@ <Parameters Name="LoadUnspecifiedSymbols">False</Parameters> </Parameters> <VersionInfo> - <VersionInfo Name="IncludeVerInfo">True</VersionInfo> + <VersionInfo Name="IncludeVerInfo">False</VersionInfo> <VersionInfo Name="AutoIncBuild">False</VersionInfo> <VersionInfo Name="MajorVer">1</VersionInfo> <VersionInfo Name="MinorVer">0</VersionInfo> @@ -217,7 +215,6 @@ <VersionInfoKeys Name="Comments"/> </VersionInfoKeys> </Delphi.Personality> - <ModelSupport>False</ModelSupport> </BorlandProject> <ProjectFileVersion>12</ProjectFileVersion> </ProjectExtensions> Index: SynEdit_D2009.dpk =================================================================== RCS file: /cvsroot/synedit/SynEdit/Packages/Attic/SynEdit_D2009.dpk,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -d -r1.1.2.1 -r1.1.2.2 --- SynEdit_D2009.dpk 14 Sep 2008 16:24:57 -0000 1.1.2.1 +++ SynEdit_D2009.dpk 17 Sep 2008 13:59:11 -0000 1.1.2.2 @@ -29,7 +29,7 @@ requires designide, - SynEdit_R2006; + SynEdit_R2009; contains SynEditReg in '..\Source\SynEditReg.pas', Index: SynEdit_R2009.res =================================================================== RCS file: /cvsroot/synedit/SynEdit/Packages/Attic/SynEdit_R2009.res,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -d -r1.1.2.1 -r1.1.2.2 Binary files /tmp/cvslCg8sD and /tmp/cvsQtIQ0b differ |