anchor.diff:  
       path:= AModuleName+','+AMethodName;
   
  -    //check-2: this command has already any key?
  +    //check: this command has already any key?
       if not AOverwriteKey then
         if c.GetValue(path+'/s1', sl, '') then exit;
   
  
positive.code:       exit(item.Command);
    end;
  end;
  
  function Keymap_HasDuplicateForKey(AKeymap: TATKeymap; AHotkey, AKeyComboSeparator: string): boolean;
  var
    item: TATKeymapItem;
    i: integer;
  begin
    Result:= false;
    if AHotkey='' then exit;
  
    //KeyArrayToString has separator ' * '
    AHotkey:= StringReplace(AHotkey, AKeyComboSeparator, ' * ', [rfReplaceAll]);
  
    for i:= 0 to AKeymap.Count-1 do
    begin
      item:= AKeymap.Items[i];
      if (item.Keys1.ToString=AHotkey) or
         (item.Keys2.ToString=AHotkey) then exit(true);
    end;
  end;
  
  
  procedure Keymap_LoadConfig(AKeymap: TATKeymap; const AFileName: string; AForLexer: boolean);
  var
  
negative.code:   path, s_item: string;
    Sep: TATStringSeparator;
  begin
    if ALexerName<>'' then
      SFilename:= AppFile_HotkeysForLexer(ALexerName)
    else
  