467b7c1bca
Its use is not only strongly discouraged[0], we also rely on it injecting variables into the global scope to get command-line-like behavior. That behavior is incompatible with strict mode[1], and in extension with ES6 classes (which imply strict mode). So to prepare for porting to ES6 classes, replace it with a somewhat less evil construct that is compatible with strict mode. [0] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval#Do_not_ever_use_eval! [1] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode#Simplifying_variable_uses https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/350