From 1803fc05ff37ba46dafd1cbafcdff56023a9bc40 Mon Sep 17 00:00:00 2001 From: mattias Date: Fri, 2 Oct 2009 18:39:23 +0000 Subject: [PATCH] codetools: ExtractOperand: do not return if cursor in front of expression git-svn-id: trunk@21984 - --- components/codetools/stdcodetools.pas | 3 +++ ide/main.pp | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/components/codetools/stdcodetools.pas b/components/codetools/stdcodetools.pas index 7b137e2c99..a0246cdf61 100644 --- a/components/codetools/stdcodetools.pas +++ b/components/codetools/stdcodetools.pas @@ -3509,6 +3509,8 @@ begin Node:=FindDeepestNodeAtPos(CleanPos,true); StartPos:=FindStartOfTerm(CleanPos,NodeTermInType(Node)); if StartPos<1 then exit; + StartPos:=FindNextNonSpace(Src,StartPos); + if StartPos>CleanPos then exit; EndPos:=FindEndOfTerm(CleanPos,false,WithAsOperator); if not WithPostTokens then begin MoveCursorToCleanPos(CleanPos); @@ -3517,6 +3519,7 @@ begin EndPos:=CurPos.EndPos; end; if EndPos<1 then exit; + DebugLn(['TStandardCodeTool.ExtractOperand "',dbgstr(copy(Src,StartPos,EndPOs-StartPos)),'"']); Operand:=ExtractCode(StartPos,EndPos,[phpCommentsToSpace]); Result:=true; end; diff --git a/ide/main.pp b/ide/main.pp index edd423119e..56dc3fd2a2 100644 --- a/ide/main.pp +++ b/ide/main.pp @@ -13541,7 +13541,7 @@ begin Expression := SrcEdit.GetText(True) else Expression := SrcEdit.GetOperandFromCaret(CaretPos); - //DebugLn(['TMainIDE.OnSrcNotebookShowHintForSource Expression="',Expression,'"']); + DebugLn(['TMainIDE.OnSrcNotebookShowHintForSource Expression="',Expression,'"']); if not DebugBoss.Evaluate(Expression, DebugEval) or (DebugEval = '') then DebugEval := '???'; SmartHintStr := Expression + ' = ' + DebugEval;