Issue #16607 has been updated by naruse (Yui NARUSE).

Backport changed from 2.5: DONTNEED, 2.6: DONTNEED, 2.7: REQUIRED to 2.5: DONTNEED, 2.6: DONTNEED, 2.7: DONE

ruby_2_7 c7e0ce67430b5e312eb626a2c2f4b6a810b3b68b.

----------------------------------------
Bug #16607: retried require does not raise Exception even if a library has SyntaxError
https://bugs.ruby-lang.org/issues/16607#change-84630

* Author: gotoken (Kentaro Goto)
* Status: Closed
* Priority: Normal
* ruby -v: ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux]
* Backport: 2.5: DONTNEED, 2.6: DONTNEED, 2.7: DONE
----------------------------------------
From shell:

```
% echo "class C" > c.rb
% ruby -e 'begin p require "./c" ; rescue SyntaxError; end; p require "./c"; C'
```

**expected result:** SyntaxError
**2.7 and current master output:**

```
false
Traceback (most recent call last):
-e:1:in `<main>': uninitialized constant C (NameError)
```



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>