title: Robot framework Run Keyword if not updating variables in the rest of the code?
body: <p>I'm editing a variable in a custom keyword that I run conditionally when a condition is met. At first I thought the arguments were not being returned so I created a global keyword and made modifications inside this part of the code, and when returning to the main and logging that variable, it still has the value I declared for that global variable.
  Is there a bug that prevents modifying variables when running Run Keyword If?</p>
  
  <p><a href="https://i.stack.imgur.com/bg0yp.jpg" rel="nofollow noreferrer">Log</a></p>
  
  <pre><code>....
  FOR  ${i}  IN RANGE  -1  -4  -1
       ${temp_names_cell} =  Get table cell  ${table_locator}  ${i}  1
       Loop columns  ${i}  ${temp_values_cell}  ${column_count}  ${table_locator}
       log  ${WORKAROUND}
       Set to dictionary  ${test}  ${temp_names_cell}  ${WORKAROUND}  #${temp_values_cell}
  log dictionary  ${test}
  END
  
  Loop columns
      [Arguments]  ${i}  ${temp_values_cell}  ${column_count}  ${table_locator}
      ${column_name} =  Set variable
      FOR  ${j}  IN RANGE  1  ${column_count}+1  1
          ${column_name} =  get table cell  ${table_locator}  1  ${j}
          ${column_name} =  Replace string  ${column_name}  \n  ${SPACE}
          Run keyword if  "${column_name}" == "Short Term Backlog"   Get cell value  ${temp_values_cell}  ${table_locator}  ${i}  ${j}
          log  ${temp_values_cell}
      END
      [Return]  ${i}  ${temp_values_cell}  ${column_count}  ${table_locator}
  
  Get cell value
      [Arguments]  ${temp_values_cell}  ${table_locator}  ${i}  ${j}
      ${temp_values_cell} =  Get table cell  ${table_locator}  ${i}  ${j}
      ${WORKAROUND} =  Get table cell  ${table_locator}  ${i}  ${j}
      [Return]  ${temp_values_cell}  ${table_locator}  ${i}  ${j}
  </code></pre>