Global and module variables using the same name

An important compiler bug has been fixed in 2.0x. This bug is referenced as #5752: When you declare a module variable with the same name as a global variable, a compilation error must be thrown.

This is critical to avoid confusion with the variable usage:
GLOBALS
  DEFINE level INTEGER
END GLOBALS
GLOBALS "globals.4gl"
DEFINE level INTEGER
FUNCTION func1()
  LET level = 123  -- is this the global or the module variable?
END FUNCTION

In version 1.3x, the compiler did not detect this and the module variable was used, but one might want to use the global variable instead!

If you have module variables defined with the same name as global variables, the compiler now raises the following error:
-4319: The symbol 'variable-name' has been defined more than once.

You can easily fix this by renaming the module variable. There is no risk to do this modification, since the module variable was used in 1.3x, not the global variable.

Remark: The compiler now also detects duplicate global variable declaration. Just remove the duplicated lines in your source.