Skip to content

Instantly share code, notes, and snippets.

@xaviershay xaviershay/require.log Secret
Created May 31, 2011

What would you like to do?
Description of my patches at
commit e296b80ce27991cb5b7ccc9f1e699322ef569b02
Author: Xavier Shay <>
Date: Tue May 31 09:10:08 2011 +1000
New algorithm for requiring files. rb_locate_file is the entry point.
This code is not called from anywhere yet.
commit f8dddfa2b6581bbdcce56ceb269fe6c1e017204c
Author: Xavier Shay <>
Date: Tue May 31 17:54:58 2011 +1000
Use a proxy object for $LOADED_FEATURES to intercept modifications and
rebuild the internal hash we keep of it. This is contentious! It isn't
compatible with C extensions that push directly to the array via
rb_ary_push. Still need to work out a solution.
commit 1b251b2b81dc9a303cfd0225aa6f9437b9501e90
Author: Xavier Shay <>
Date: Tue May 31 18:13:00 2011 +1000
Switch over require to use the new algorithm.
commit 20e2b5ca998ffc34e39492da94e47dd516cc9fdc
Author: Xavier Shay <>
Date: Tue May 31 19:57:28 2011 +1000
A better way to provide backwards compatibility for
commit 60c55302f95a7ae0995787d0c445a3c68c61fab8
Author: Xavier Shay <>
Date: Tue May 31 20:29:53 2011 +1000
Cache the expansion of filenames to speed up subsequent requires of the
same file. It also speeds up various methods of autoloading that by
using const_defined? and friends can trigger three expansions of the
same file name to load a file (Rails does this).
commit f57d2d6b890245bd442766e72550de6850097584
Author: Xavier Shay <>
Date: Tue May 31 21:51:38 2011 +1000
Use /**/ comments rather than //
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.