From 6aed30803596fec5db723666b61fa6a38743529d Mon Sep 17 00:00:00 2001 From: Basile Burg Date: Tue, 17 Mar 2015 02:16:44 +0100 Subject: [PATCH] fix, dcd ddoc mouse hint, decl finder, location is not based on the speific document line ending kind but on the system one --- src/ce_common.pas | 34 +--------------------------------- src/ce_editor.pas | 3 --- src/ce_synmemo.pas | 4 ++-- 3 files changed, 3 insertions(+), 38 deletions(-) diff --git a/src/ce_common.pas b/src/ce_common.pas index dabc51e0..88725a73 100644 --- a/src/ce_common.pas +++ b/src/ce_common.pas @@ -205,10 +205,8 @@ type function AppIsRunning(const ExeName: string):Boolean; (** - * Returns the length of the line ending in aFilename; + * Returns the length of the line ending of the system *) - //function getLineEndingLength(const aFilename: string): byte; - function getSysLineEndLen: byte; implementation @@ -758,36 +756,6 @@ begin aProcess.Options := aProcess.Options + [poNewConsole]; end; -// TODO-cbugfix: confirm that DCD location info are based on system Line ending and not the one existing in a specific file - -//function getLineEndingLength(const aFilename: string): byte; -//var -// value: char; -// le: string; -//begin -// value := #0; -// le := LineEnding; -// result := length(le); -// if not fileExists(aFilename) then -// exit; -// with TMemoryStream.Create do -// try -// LoadFromFile(aFilename); -// while true do -// begin -// if Position = Size then -// exit; -// read(value,1); -// if value = #10 then -// exit(1); -// if value = #13 then -// exit(2); -// end; -// finally -// Free; -// end; -//end; - function getSysLineEndLen: byte; begin {$IFDEF WINDOWS} diff --git a/src/ce_editor.pas b/src/ce_editor.pas index 41d031a7..37603846 100644 --- a/src/ce_editor.pas +++ b/src/ce_editor.pas @@ -375,10 +375,7 @@ begin openDocument(fname); if srcpos <> -1 then begin - // note: SelStart only matches srcpos if the target file has the same line ending - // as the operating system: the pos has to be found manually. sum := 0; - //len := getLineEndingLength(fDoc.fileName); len := getSysLineEndLen; for i := 0 to fDoc.Lines.Count-1 do begin diff --git a/src/ce_synmemo.pas b/src/ce_synmemo.pas index 64751295..e3548a50 100644 --- a/src/ce_synmemo.pas +++ b/src/ce_synmemo.pas @@ -620,9 +620,9 @@ var i, len: Integer; begin result := 0; - //len := getLineEndingLength(fFilename); + len := getSysLineEndLen; for i:= 0 to fMousePos.y-2 do - result += length(Lines.Strings[i]) + getSysLineEndLen; + result += length(Lines.Strings[i]) + len; result += fMousePos.x; end;