io.c (rb_io_ctl): do not call ioctl/fcntl for f2, if f and f2
have same fileno.
eval.c (rb_load): raise LocaJumpError if unexpected local jumps
appear during load.
ext/socket/socket.c (bsock_close_read): don't call rb_thread_fd_close();
it's supposed to be called by io_io_close().
ext/socket/socket.c (bsock_close_read): do not modify f and f2.
ext/socket/socket.c (bsock_close_write): ditto.
ext/socket/socket.c (sock_new): avoid dup(2) on sockets.
parse.y (primary): preserve and clear in_single and in_def using
stack to prevent nested method errors in singleton class bodies.