Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 14 additions & 11 deletions class.c
Original file line number Diff line number Diff line change
Expand Up @@ -226,14 +226,6 @@ struct duplicate_id_tbl_data {
VALUE klass;
};

static enum rb_id_table_iterator_result
duplicate_classext_id_table_i(ID key, VALUE value, void *data)
{
struct rb_id_table *tbl = (struct rb_id_table *)data;
rb_id_table_insert(tbl, key, value);
return ID_TABLE_CONTINUE;
}

static enum rb_id_table_iterator_result
duplicate_classext_m_tbl_i(ID key, VALUE value, void *data)
{
Expand Down Expand Up @@ -262,8 +254,19 @@ duplicate_classext_m_tbl(struct rb_id_table *orig, VALUE klass, bool init_missin
return tbl;
}

static enum rb_id_table_iterator_result
duplicate_classext_cvc_tbl_i(ID key, VALUE value, void *data)
{
struct rb_id_table *tbl = (struct rb_id_table *)data;
struct rb_cvar_class_tbl_entry *cvc_entry = (struct rb_cvar_class_tbl_entry *)value;
struct rb_cvar_class_tbl_entry *copy = ALLOC(struct rb_cvar_class_tbl_entry);
MEMCPY(copy, cvc_entry, struct rb_cvar_class_tbl_entry, 1);
rb_id_table_insert(tbl, key, (VALUE)copy);
return ID_TABLE_CONTINUE;
}

static struct rb_id_table *
duplicate_classext_id_table(struct rb_id_table *orig, bool init_missing)
duplicate_classext_cvc_tbl(struct rb_id_table *orig, bool init_missing)
{
struct rb_id_table *tbl;

Expand All @@ -274,7 +277,7 @@ duplicate_classext_id_table(struct rb_id_table *orig, bool init_missing)
return NULL;
}
tbl = rb_id_table_create(rb_id_table_size(orig));
rb_id_table_foreach(orig, duplicate_classext_id_table_i, tbl);
rb_id_table_foreach(orig, duplicate_classext_cvc_tbl_i, tbl);
return tbl;
}

Expand Down Expand Up @@ -411,7 +414,7 @@ rb_class_duplicate_classext(rb_classext_t *orig, VALUE klass, const rb_box_t *bo
* RCLASSEXT_CC_TBL(copy) = NULL
*/

RCLASSEXT_CVC_TBL(ext) = duplicate_classext_id_table(RCLASSEXT_CVC_TBL(orig), dup_iclass);
RCLASSEXT_CVC_TBL(ext) = duplicate_classext_cvc_tbl(RCLASSEXT_CVC_TBL(orig), dup_iclass);

// Subclasses/back-pointers are only in the prime classext.

Expand Down
64 changes: 48 additions & 16 deletions file.c
Original file line number Diff line number Diff line change
Expand Up @@ -1101,12 +1101,26 @@ static VALUE statx_birthtime(const rb_io_stat_data *st);

/*
* call-seq:
* stat.atime -> time
*
* Returns the last access time for this file as an object of class
* Time.
*
* File.stat("testfile").atime #=> Wed Dec 31 18:00:00 CST 1969
* atime -> new_time
*
* Returns a new Time object containing the access time
* of the object represented by +self+
* at the time +self+ was created;
* see {Snapshot}[rdoc-ref:File::Stat@Snapshot]:
*
* filepath = 't.tmp'
* File.write(filepath, 'foo')
* file = File.new(filepath, 'w')
* stat = File::Stat.new(filepath)
* file.atime # => 2026-03-31 16:26:39.5913207 -0500
* stat.atime # => 2026-03-31 16:26:39.5913207 -0500
* File.write(filepath, 'bar')
* file.atime # => 2026-03-31 16:27:01.4981624 -0500 # Changed by access.
* stat.atime # => 2026-03-31 16:26:39.5913207 -0500 # Unchanged by access.
* stat = File::Stat.new(filepath)
* stat.atime # => 2026-03-31 16:27:01.4981624 -0500 # New access time.
* file.close
* File.delete(filepath)
*
*/

Expand Down Expand Up @@ -2452,13 +2466,23 @@ rb_file_s_ftype(VALUE klass, VALUE fname)

/*
* call-seq:
* File.atime(file_name) -> time
* File.atime(object) -> new_time
*
* Returns the last access time for the named file as a Time object.
* Returns a new Time object containing the time of the most recent
* access (read or write) to the object,
* which may be a string filepath or dirpath, or a File or Dir object:
*
* _file_name_ can be an IO object.
* filepath = 't.tmp'
* File.exist?(filepath) # => false
* File.atime(filepath) # Raises Errno::ENOENT.
* File.write(filepath, 'foo')
* File.atime(filepath) # => 2026-03-31 16:39:37.9290772 -0500
* File.write(filepath, 'bar')
* File.atime(filepath) # => 2026-03-31 16:39:57.7710876 -0500
*
* File.atime("testfile") #=> Wed Apr 09 08:51:48 CDT 2003
* File.atime('.') # => 2026-03-31 16:47:49.0970483 -0500
* File.atime(File.new('README.md')) # => 2026-03-31 11:15:27.8215934 -0500
* File.atime(Dir.new('.')) # => 2026-03-31 12:39:45.5910591 -0500
*
*/

Expand All @@ -2477,12 +2501,20 @@ rb_file_s_atime(VALUE klass, VALUE fname)

/*
* call-seq:
* file.atime -> time
*
* Returns the last access time (a Time object) for <i>file</i>, or
* epoch if <i>file</i> has not been accessed.
*
* File.new("testfile").atime #=> Wed Dec 31 18:00:00 CST 1969
* atime -> new_time
*
* Returns a new Time object containing the time of the most recent
* access (read or write) to the file represented by +self+:
*
* filepath = 't.tmp'
* file = File.new(filepath, 'a+')
* file.atime # => 2026-03-31 17:11:27.7285397 -0500
* file.write('foo')
* file.atime # => 2026-03-31 17:11:27.7285397 -0500 # Unchanged; not yet written.
* file.flush
* file.atime # => 2026-03-31 17:12:11.3408054 -0500 # Changed; now written.
* file.close
* File.delete(filename)
*
*/

Expand Down
2 changes: 1 addition & 1 deletion gems/bundled_gems
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ ostruct 0.6.3 https://github.com/ruby/ostruct
pstore 0.2.1 https://github.com/ruby/pstore
benchmark 0.5.0 https://github.com/ruby/benchmark
logger 1.7.0 https://github.com/ruby/logger
rdoc 7.2.0 https://github.com/ruby/rdoc 911b122a587e24f05434dbeb2c3e39cea607e21f
rdoc 7.2.0 https://github.com/ruby/rdoc 4913d56243f2577c639ba305fd36c40d55c34f1a
win32ole 1.9.3 https://github.com/ruby/win32ole
irb 1.17.0 https://github.com/ruby/irb cfd0b917d3feb01adb7d413b19faeb0309900599
reline 0.6.3 https://github.com/ruby/reline
Expand Down
2 changes: 1 addition & 1 deletion lib/bundler/man/bundle-add.1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" generated with Ronn-NG/v0.10.1
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
.TH "BUNDLE\-ADD" "1" "March 2026" ""
.TH "BUNDLE\-ADD" "1" "April 2026" ""
.SH "NAME"
\fBbundle\-add\fR \- Add gem to the Gemfile and run bundle install
.SH "SYNOPSIS"
Expand Down
2 changes: 1 addition & 1 deletion lib/bundler/man/bundle-binstubs.1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" generated with Ronn-NG/v0.10.1
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
.TH "BUNDLE\-BINSTUBS" "1" "March 2026" ""
.TH "BUNDLE\-BINSTUBS" "1" "April 2026" ""
.SH "NAME"
\fBbundle\-binstubs\fR \- Install the binstubs of the listed gems
.SH "SYNOPSIS"
Expand Down
2 changes: 1 addition & 1 deletion lib/bundler/man/bundle-cache.1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" generated with Ronn-NG/v0.10.1
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
.TH "BUNDLE\-CACHE" "1" "March 2026" ""
.TH "BUNDLE\-CACHE" "1" "April 2026" ""
.SH "NAME"
\fBbundle\-cache\fR \- Package your needed \fB\.gem\fR files into your application
.SH "SYNOPSIS"
Expand Down
2 changes: 1 addition & 1 deletion lib/bundler/man/bundle-check.1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" generated with Ronn-NG/v0.10.1
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
.TH "BUNDLE\-CHECK" "1" "March 2026" ""
.TH "BUNDLE\-CHECK" "1" "April 2026" ""
.SH "NAME"
\fBbundle\-check\fR \- Verifies if dependencies are satisfied by installed gems
.SH "SYNOPSIS"
Expand Down
2 changes: 1 addition & 1 deletion lib/bundler/man/bundle-clean.1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" generated with Ronn-NG/v0.10.1
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
.TH "BUNDLE\-CLEAN" "1" "March 2026" ""
.TH "BUNDLE\-CLEAN" "1" "April 2026" ""
.SH "NAME"
\fBbundle\-clean\fR \- Cleans up unused gems in your bundler directory
.SH "SYNOPSIS"
Expand Down
4 changes: 2 additions & 2 deletions lib/bundler/man/bundle-config.1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" generated with Ronn-NG/v0.10.1
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
.TH "BUNDLE\-CONFIG" "1" "March 2026" ""
.TH "BUNDLE\-CONFIG" "1" "April 2026" ""
.SH "NAME"
\fBbundle\-config\fR \- Set bundler configuration options
.SH "SYNOPSIS"
Expand Down Expand Up @@ -172,7 +172,7 @@ Whether Bundler will install gems into the default system path (\fBGem\.dir\fR)\
\fBplugins\fR (\fBBUNDLE_PLUGINS\fR)
Enable Bundler's experimental plugin system\.
.TP
\fBprefer_patch\fR (BUNDLE_PREFER_PATCH)
\fBprefer_patch\fR (\fBBUNDLE_PREFER_PATCH\fR)
Prefer updating only to next patch version during updates\. Makes \fBbundle update\fR calls equivalent to \fBbundler update \-\-patch\fR\.
.TP
\fBredirect\fR (\fBBUNDLE_REDIRECT\fR)
Expand Down
2 changes: 1 addition & 1 deletion lib/bundler/man/bundle-config.1.ronn
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
Whether Bundler will install gems into the default system path (`Gem.dir`).
* `plugins` (`BUNDLE_PLUGINS`):
Enable Bundler's experimental plugin system.
* `prefer_patch` (BUNDLE_PREFER_PATCH):
* `prefer_patch` (`BUNDLE_PREFER_PATCH`):
Prefer updating only to next patch version during updates. Makes `bundle update` calls equivalent to `bundler update --patch`.
* `redirect` (`BUNDLE_REDIRECT`):
The number of redirects allowed for network requests. Defaults to `5`.
Expand Down
2 changes: 1 addition & 1 deletion lib/bundler/man/bundle-console.1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" generated with Ronn-NG/v0.10.1
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
.TH "BUNDLE\-CONSOLE" "1" "March 2026" ""
.TH "BUNDLE\-CONSOLE" "1" "April 2026" ""
.SH "NAME"
\fBbundle\-console\fR \- Open an IRB session with the bundle pre\-loaded
.SH "SYNOPSIS"
Expand Down
2 changes: 1 addition & 1 deletion lib/bundler/man/bundle-doctor.1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" generated with Ronn-NG/v0.10.1
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
.TH "BUNDLE\-DOCTOR" "1" "March 2026" ""
.TH "BUNDLE\-DOCTOR" "1" "April 2026" ""
.SH "NAME"
\fBbundle\-doctor\fR \- Checks the bundle for common problems
.SH "SYNOPSIS"
Expand Down
2 changes: 1 addition & 1 deletion lib/bundler/man/bundle-env.1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" generated with Ronn-NG/v0.10.1
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
.TH "BUNDLE\-ENV" "1" "March 2026" ""
.TH "BUNDLE\-ENV" "1" "April 2026" ""
.SH "NAME"
\fBbundle\-env\fR \- Print information about the environment Bundler is running under
.SH "SYNOPSIS"
Expand Down
2 changes: 1 addition & 1 deletion lib/bundler/man/bundle-exec.1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" generated with Ronn-NG/v0.10.1
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
.TH "BUNDLE\-EXEC" "1" "March 2026" ""
.TH "BUNDLE\-EXEC" "1" "April 2026" ""
.SH "NAME"
\fBbundle\-exec\fR \- Execute a command in the context of the bundle
.SH "SYNOPSIS"
Expand Down
2 changes: 1 addition & 1 deletion lib/bundler/man/bundle-fund.1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" generated with Ronn-NG/v0.10.1
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
.TH "BUNDLE\-FUND" "1" "March 2026" ""
.TH "BUNDLE\-FUND" "1" "April 2026" ""
.SH "NAME"
\fBbundle\-fund\fR \- Lists information about gems seeking funding assistance
.SH "SYNOPSIS"
Expand Down
2 changes: 1 addition & 1 deletion lib/bundler/man/bundle-gem.1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" generated with Ronn-NG/v0.10.1
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
.TH "BUNDLE\-GEM" "1" "March 2026" ""
.TH "BUNDLE\-GEM" "1" "April 2026" ""
.SH "NAME"
\fBbundle\-gem\fR \- Generate a project skeleton for creating a rubygem
.SH "SYNOPSIS"
Expand Down
2 changes: 1 addition & 1 deletion lib/bundler/man/bundle-help.1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" generated with Ronn-NG/v0.10.1
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
.TH "BUNDLE\-HELP" "1" "March 2026" ""
.TH "BUNDLE\-HELP" "1" "April 2026" ""
.SH "NAME"
\fBbundle\-help\fR \- Displays detailed help for each subcommand
.SH "SYNOPSIS"
Expand Down
2 changes: 1 addition & 1 deletion lib/bundler/man/bundle-info.1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" generated with Ronn-NG/v0.10.1
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
.TH "BUNDLE\-INFO" "1" "March 2026" ""
.TH "BUNDLE\-INFO" "1" "April 2026" ""
.SH "NAME"
\fBbundle\-info\fR \- Show information for the given gem in your bundle
.SH "SYNOPSIS"
Expand Down
2 changes: 1 addition & 1 deletion lib/bundler/man/bundle-init.1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" generated with Ronn-NG/v0.10.1
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
.TH "BUNDLE\-INIT" "1" "March 2026" ""
.TH "BUNDLE\-INIT" "1" "April 2026" ""
.SH "NAME"
\fBbundle\-init\fR \- Generates a Gemfile into the current working directory
.SH "SYNOPSIS"
Expand Down
2 changes: 1 addition & 1 deletion lib/bundler/man/bundle-install.1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" generated with Ronn-NG/v0.10.1
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
.TH "BUNDLE\-INSTALL" "1" "March 2026" ""
.TH "BUNDLE\-INSTALL" "1" "April 2026" ""
.SH "NAME"
\fBbundle\-install\fR \- Install the dependencies specified in your Gemfile
.SH "SYNOPSIS"
Expand Down
2 changes: 1 addition & 1 deletion lib/bundler/man/bundle-issue.1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" generated with Ronn-NG/v0.10.1
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
.TH "BUNDLE\-ISSUE" "1" "March 2026" ""
.TH "BUNDLE\-ISSUE" "1" "April 2026" ""
.SH "NAME"
\fBbundle\-issue\fR \- Get help reporting Bundler issues
.SH "SYNOPSIS"
Expand Down
2 changes: 1 addition & 1 deletion lib/bundler/man/bundle-licenses.1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" generated with Ronn-NG/v0.10.1
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
.TH "BUNDLE\-LICENSES" "1" "March 2026" ""
.TH "BUNDLE\-LICENSES" "1" "April 2026" ""
.SH "NAME"
\fBbundle\-licenses\fR \- Print the license of all gems in the bundle
.SH "SYNOPSIS"
Expand Down
2 changes: 1 addition & 1 deletion lib/bundler/man/bundle-list.1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" generated with Ronn-NG/v0.10.1
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
.TH "BUNDLE\-LIST" "1" "March 2026" ""
.TH "BUNDLE\-LIST" "1" "April 2026" ""
.SH "NAME"
\fBbundle\-list\fR \- List all the gems in the bundle
.SH "SYNOPSIS"
Expand Down
2 changes: 1 addition & 1 deletion lib/bundler/man/bundle-lock.1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" generated with Ronn-NG/v0.10.1
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
.TH "BUNDLE\-LOCK" "1" "March 2026" ""
.TH "BUNDLE\-LOCK" "1" "April 2026" ""
.SH "NAME"
\fBbundle\-lock\fR \- Creates / Updates a lockfile without installing
.SH "SYNOPSIS"
Expand Down
2 changes: 1 addition & 1 deletion lib/bundler/man/bundle-open.1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" generated with Ronn-NG/v0.10.1
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
.TH "BUNDLE\-OPEN" "1" "March 2026" ""
.TH "BUNDLE\-OPEN" "1" "April 2026" ""
.SH "NAME"
\fBbundle\-open\fR \- Opens the source directory for a gem in your bundle
.SH "SYNOPSIS"
Expand Down
2 changes: 1 addition & 1 deletion lib/bundler/man/bundle-outdated.1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" generated with Ronn-NG/v0.10.1
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
.TH "BUNDLE\-OUTDATED" "1" "March 2026" ""
.TH "BUNDLE\-OUTDATED" "1" "April 2026" ""
.SH "NAME"
\fBbundle\-outdated\fR \- List installed gems with newer versions available
.SH "SYNOPSIS"
Expand Down
2 changes: 1 addition & 1 deletion lib/bundler/man/bundle-platform.1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" generated with Ronn-NG/v0.10.1
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
.TH "BUNDLE\-PLATFORM" "1" "March 2026" ""
.TH "BUNDLE\-PLATFORM" "1" "April 2026" ""
.SH "NAME"
\fBbundle\-platform\fR \- Displays platform compatibility information
.SH "SYNOPSIS"
Expand Down
2 changes: 1 addition & 1 deletion lib/bundler/man/bundle-plugin.1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" generated with Ronn-NG/v0.10.1
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
.TH "BUNDLE\-PLUGIN" "1" "March 2026" ""
.TH "BUNDLE\-PLUGIN" "1" "April 2026" ""
.SH "NAME"
\fBbundle\-plugin\fR \- Manage Bundler plugins
.SH "SYNOPSIS"
Expand Down
2 changes: 1 addition & 1 deletion lib/bundler/man/bundle-pristine.1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" generated with Ronn-NG/v0.10.1
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
.TH "BUNDLE\-PRISTINE" "1" "March 2026" ""
.TH "BUNDLE\-PRISTINE" "1" "April 2026" ""
.SH "NAME"
\fBbundle\-pristine\fR \- Restores installed gems to their pristine condition
.SH "SYNOPSIS"
Expand Down
2 changes: 1 addition & 1 deletion lib/bundler/man/bundle-remove.1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" generated with Ronn-NG/v0.10.1
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
.TH "BUNDLE\-REMOVE" "1" "March 2026" ""
.TH "BUNDLE\-REMOVE" "1" "April 2026" ""
.SH "NAME"
\fBbundle\-remove\fR \- Removes gems from the Gemfile
.SH "SYNOPSIS"
Expand Down
2 changes: 1 addition & 1 deletion lib/bundler/man/bundle-show.1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" generated with Ronn-NG/v0.10.1
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
.TH "BUNDLE\-SHOW" "1" "March 2026" ""
.TH "BUNDLE\-SHOW" "1" "April 2026" ""
.SH "NAME"
\fBbundle\-show\fR \- Shows all the gems in your bundle, or the path to a gem
.SH "SYNOPSIS"
Expand Down
2 changes: 1 addition & 1 deletion lib/bundler/man/bundle-update.1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" generated with Ronn-NG/v0.10.1
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
.TH "BUNDLE\-UPDATE" "1" "March 2026" ""
.TH "BUNDLE\-UPDATE" "1" "April 2026" ""
.SH "NAME"
\fBbundle\-update\fR \- Update your gems to the latest available versions
.SH "SYNOPSIS"
Expand Down
Loading