diff options
Diffstat (limited to 'man')
| -rw-r--r-- | man/erb.1 | 25 | ||||
| -rw-r--r-- | man/goruby.1 | 4 | ||||
| -rw-r--r-- | man/irb.1 | 173 | ||||
| -rw-r--r-- | man/ri.1 | 181 | ||||
| -rw-r--r-- | man/ruby.1 | 322 |
5 files changed, 276 insertions, 429 deletions
@@ -1,6 +1,6 @@ .\"Ruby is copyrighted by Yukihiro Matsumoto <matz@netlab.jp>. -.Dd November 15, 2012 -.Dt ERB(1) "" "Ruby Programmers Reference Guide" +.Dd December 16, 2018 +.Dt ERB \&1 "Ruby Programmer's Reference Guide" .Os UNIX .Sh NAME .Nm erb @@ -45,9 +45,8 @@ You can omit the one for internal encodings, then the value .Pf ( Li "Encoding.default_internal" ) will be nil. .Pp .It Fl P -Evaluates lines starting with -.Li "%" -as Ruby code and removes the tailing EOLs. +Disables ruby code evaluation for lines beginning with +.Li "%" . .Pp .It Fl S Ar level Specifies the safe level in which eRuby script will run. @@ -77,6 +76,8 @@ And leading whitespaces are removed if the erb directive starts with .Li "<%-" . .Pp .El +.It Fl r +Load a library .Pp .It Fl U can be one of @@ -143,15 +144,17 @@ class. .Pp .Sh REPORTING BUGS .Bl -bullet -.Li Security vulnerabilities should be reported via an email to -.Aq security@ruby-lang.org Ns -.Li . +.It +Security vulnerabilities should be reported via an email to +.Mt security@ruby-lang.org . Reported problems will be published after being fixed. .Pp -.Li And you can report other bugs and feature requests via the -Ruby Issue Tracking System (http://bugs.ruby-lang.org). +.It +Other bugs and feature requests can be reported via the +Ruby Issue Tracking System +.Pq Lk https://bugs.ruby-lang.org/ . Do not report security vulnerabilities -via the system because it publishes the vulnerabilities immediately. +via this system because it publishes the vulnerabilities immediately. .El .Sh AUTHORS Written by Masatoshi SEKI. diff --git a/man/goruby.1 b/man/goruby.1 index 857874f070..a305a5afce 100644 --- a/man/goruby.1 +++ b/man/goruby.1 @@ -1,6 +1,6 @@ .\"Ruby is copyrighted by Yukihiro Matsumoto <matz@netlab.jp>. -.Dd November 15, 2012 -.Dt GORUBY(1) "" "Ruby Programmers Reference Guide" +.Dd April 20, 2017 +.Dt GORUBY \&1 "Ruby Programmer's Reference Guide" .Os UNIX .Sh NAME .Nm goruby diff --git a/man/irb.1 b/man/irb.1 deleted file mode 100644 index 1f1800d45d..0000000000 --- a/man/irb.1 +++ /dev/null @@ -1,173 +0,0 @@ -.\"Ruby is copyrighted by Yukihiro Matsumoto <matz@netlab.jp>. -.Dd November 15, 2012 -.Dt IRB(1) "" "Ruby Programmers Reference Guide" -.Os UNIX -.Sh NAME -.Nm irb -.Nd Interactive Ruby Shell -.Sh SYNOPSIS -.Nm -.Op Fl -version -.Op Fl dfm -.Op Fl I Ar directory -.Op Fl r Ar library -.Op Fl - Ns Oo no Oc Ns inspect -.Op Fl - Ns Oo no Oc Ns readline -.Op Fl -prompt Ar mode -.Op Fl -prompt-mode Ar mode -.Op Fl -inf-ruby-mode -.Op Fl -simple-prompt -.Op Fl -noprompt -.Op Fl -tracer -.Op Fl -back-trace-limit Ar n -.Op Fl -irb_debug Ar n -.Op Fl - -.Op program_file -.Op argument ... -.Pp -.Sh DESCRIPTION -.Nm -is the REPL(read-eval-print loop) environment for Ruby programs. -.Pp -.Sh OPTIONS -.Bl -tag -width "1234567890123" -compact -.Pp -.It Fl -version -Prints the version of -.Nm . -.Pp -.It Fl E Ar external Ns Op : Ns Ar internal -.It Fl -encoding Ar external Ns Op : Ns Ar internal -Same as `ruby -E' . -Specifies the default value(s) for external encodings and internal encoding. Values should be separated with colon (:). -.Pp -You can omit the one for internal encodings, then the value -.Pf ( Li "Encoding.default_internal" ) will be nil. -.Pp -.It Fl I Ar path -Same as `ruby -I' . -Specifies -.Li $LOAD_PATH -directory -.Pp -.It Fl U -Same as `ruby -U' . -Sets the default value for internal encodings -.Pf ( Li "Encoding.default_internal" ) to UTF-8. -.Pp -.It Fl d -Same as `ruby -d' . -Sets -.Li $DEBUG -to true. -.Pp -.It Fl f -Suppresses read of -.Pa ~/.irbrc . -.Pp -.It Fl h -.It Fl -help -Prints a summary of the options. -.Pp -.It Fl m -Bc mode (load mathn, fraction or matrix are available) -.Pp -.It Fl r Ar library -Same as `ruby -r'. -Causes irb to load the library using require. -.Pp -.It Fl -inspect -Uses `inspect' for output (default except for bc mode) -.Pp -.It Fl -noinspect -Doesn't use inspect for output -.Pp -.It Fl -readline -Uses Readline extension module. -.Pp -.It Fl -noreadline -Doesn't use Readline extension module. -.Pp -.It Fl -prompt Ar mode -.It Fl -prompt-mode Ar mode -Switch prompt mode. Pre-defined prompt modes are -`default', `simple', `xmp' and `inf-ruby'. -.Pp -.It Fl -inf-ruby-mode -Uses prompt appropriate for inf-ruby-mode on emacs. -Suppresses --readline. -.Pp -.It Fl -simple-prompt -Makes prompts simple. -.Pp -.It Fl -noprompt -No prompt mode. -.Pp -.It Fl -tracer -Displays trace for each execution of commands. -.Pp -.It Fl -back-trace-limit Ar n -Displays backtrace top -.Ar n -and tail -.Ar n Ns . -The default value is 16. -.Pp -.It Fl -irb_debug Ar n -Sets internal debug level to n (not for popular use) -.Pp -.El -.Pp -.Sh ENVIRONMENT -.Bl -tag -width "RUBYLIB_PREFIX" -compact -.It Ev IRBRC -.Pp -.El -.Pp -Also -.Nm -depends on same variables as -.Xr ruby 1 . -.Pp -.Sh FILES -.Bl -tag -width "RUBYLIB_PREFIX" -compact -.It Pa ~/.irbrc -Personal irb initialization. -.Pp -.El -.Pp -.Sh EXAMPLES -.Dl % irb -.Dl irb(main):001:0> Ic 1 + 1 -.Dl 2 -.Dl irb(main):002:0> Ic def t(x) -.Dl irb(main):003:1> Ic x+1 -.Dl irb(main):004:1> Ic end -.Dl => nil -.Dl irb(main):005:0> Ic t(3) -.Dl => 4 -.Dl irb(main):006:0> Ic if t(3) == 4 -.Dl irb(main):007:1> Ic p :ok -.Dl irb(main):008:1> Ic end -.Dl :ok -.Dl => :ok -.Dl irb(main):009:0> Ic quit -.Dl % -.Pp -.Sh SEE ALSO -.Xr ruby 1 . -.Pp -.Sh REPORTING BUGS -.Bl -bullet -.Li Security vulnerabilities should be reported via an email to -.Aq security@ruby-lang.org Ns -.Li . -Reported problems will be published after being fixed. -.Pp -.Li And you can report other bugs and feature requests via the -Ruby Issue Tracking System (http://bugs.ruby-lang.org). -Do not report security vulnerabilities -via the system because it publishes the vulnerabilities immediately. -.El -.Sh AUTHORS -Written by Keiju ISHITSUKA. diff --git a/man/ri.1 b/man/ri.1 deleted file mode 100644 index bf4efb1ac3..0000000000 --- a/man/ri.1 +++ /dev/null @@ -1,181 +0,0 @@ -.\"Ruby is copyrighted by Yukihiro Matsumoto <matz@netlab.jp>. -.Dd July 10, 2013 -.Dt RI(1) "" "Ruby Programmers Reference Guide" -.Os UNIX -.Sh NAME -.Nm ri -.Nd Ruby API reference front end -.Sh SYNOPSIS -.Nm -.Op Fl Ti -.Op Fl d Ar directory -.Op Fl f Ar format -.Op Fl -list-doc-dirs -.Op Fl -no-standard-docs -.Op Fl - Ns Oo Cm no- Oc Ns Bro Cm system Ns | Ns Cm site Ns | Ns Cm gems Ns | Ns Cm home Brc -.Op Fl - Ns Oo Cm no- Oc Ns Cm use-cache -.Op Fl -width Ns = Ns Ar width -.Op Ar target ... -.Sh DESCRIPTION -.Nm -is a CLI front end for the Ruby API reference. -You can search and read API reference for classes and methods with -.Nm . -.Pp -.Nm -is a part of Ruby. -.Pp -.Ar target -can be one of the following forms: -.Bl -diag -offset indent -.It Class -for classes -.It Class::method -for class methods -.It Class#method -for instance methods -.It Class.method -for both class and instance methods -.It method -for both class and instance methods -.El -.Pp -All class names may be abbreviated to their minimum unambiguous form. If a name -is ambiguous, all valid options will be listed. -.Pp -For example: -.Bd -literal -offset indent -ri Fil -ri File -ri File.new -ri zip -.Ed -.Pp -Note that shell quoting may be required for method names containing -punctuation: -.Bd -literal -offset indent -ri 'Array.[]' -ri compact\! -.Ed -.Sh OPTIONS -.Bl -tag -width "1234567890123" -compact -.Pp -.It Fl -version -Prints the version of -.Nm . -.Pp -.It Fl T -.It Fl -no-pager -Send output directly to stdout, rather than to a pager. -.Pp -.It Fl d Ar directory -.It Fl -doc-dir Ns = Ns Ar directory -List of directories from which to source documentation in addition to the standard -directories. May be repeated. -.Pp -.It Fl f Ar FORMAT -.It Fl -fmt Ar FORMAT -.It Fl -format Ns = Ns FORMAT -Format to use when displaying output: -.Pp -ansi, bs, html, plain, simple -.Pp -Use 'bs' (backspace) with most pager programs. To use ANSI, either disable the -pager or tell the pager to allow control characters. -.Pp -.It Fl i -.It Fl -interactive -This makes -.Nm -go into interactive mode. -.Pp -When -.Nm -is in interactive mode it will allow the user to disambiguate lists of -methods in case multiple methods match against a method search string. It also -will allow the user to enter in a method name (with auto-completion, if readline -is supported) when viewing a class. -.Pp -.It Fl -list-doc-dirs -List the directories from which ri will source documentation on stdout and exit. -.Pp -.It Fl -no-standard-docs -Do not include documentation from the Ruby standard library, -.Pa site_lib , -installed gems, or -.Pa ~/.rdoc . -.Pp -Equivalent to specifying the options -.Fl -no-system , Fl -no-site , Fl -no-gems , -and -.Fl -no-home . -.Pp -.It Fl - Ns Oo Cm no- Oc Ns Cm system -Include documentation from Ruby's standard library. Defaults to true. -.Pp -.It Fl - Ns Oo Cm no- Oc Ns Cm site - Include documentation from libraries installed in site_lib. Defaults to true. -.Pp -.It Fl - Ns Oo Cm no- Oc Ns Cm gems -Include documentation from RubyGems. Defaults to true. -.Pp -.It Fl - Ns Oo Cm no- Oc Ns Cm home -Include documentation stored in ~/.rdoc. Defaults to true. -.Pp -.It Fl - Ns Oo Cm no- Oc Ns Cm use-cache -Whether or not to use -.Nm Ns -.Ns 's cache. True by default. -.Pp -.It Fl w Ar width -.It Fl -width Ns = Ns Ar width -Set the width of the output. -.Pp -.El -.Pp -.Sh ENVIRONMENT -.Bl -tag -width "USERPROFILE" -compact -.Pp -.It Ev RI -Additional options. -.Pp -.It Ev PAGER -Used as the name of pager program for displaying. -.Pp -.It Ev HOME -.It Ev USERPROFILE -.It Ev HOMEPATH -Path to user's home directory. -.El -.Pp -.Sh FILES -.Bl -tag -width "USERPROFILE" -compact -.Pp -.It Pa ~/.ri -Caches recently referenced documents here. -.Pp -.It Pa ~/.rdoc -Searches user-wide documents here. -.Pp -.El -.Pp -.Sh SEE ALSO -.Xr ruby 1 -.Xr rdoc 1 -.Xr gem 1 -.Pp -.Sh REPORTING BUGS -.Bl -bullet -.Li Security vulnerabilities should be reported via an email to -.Aq security@ruby-lang.org Ns -.Li . -Reported problems will be published after being fixed. -.Pp -.Li And you can report other bugs and feature requests via the -Ruby Issue Tracking System (http://bugs.ruby-lang.org). -Do not report security vulnerabilities -via the system because it publishes the vulnerabilities immediately. -.El -.Sh AUTHORS -Written by Dave Thomas -.Aq dave@pragmaticprogrammer.com diff --git a/man/ruby.1 b/man/ruby.1 index 5f13a0f4ed..8141a6d7ef 100644 --- a/man/ruby.1 +++ b/man/ruby.1 @@ -1,7 +1,6 @@ .\"Ruby is copyrighted by Yukihiro Matsumoto <matz@netlab.jp>. -.Dd December 15, 2014 -.Dt RUBY(1) "" "Ruby Programmers Reference Guide" -.\".Dt RUBY 1 +.Dd April 14, 2018 +.Dt RUBY \&1 "Ruby Programmer's Reference Guide" .Os UNIX .Sh NAME .Nm ruby @@ -14,18 +13,19 @@ .Op Fl 0 Ns Op Ar octal .Op Fl C Ar directory .Op Fl E Ar external Ns Op : Ns Ar internal -.Op Fl F Ar pattern +.Op Fl F Ns Op Ar pattern .Op Fl I Ar directory -.Op Fl K Ar c +.Op Fl K Ns Op Ar c .Op Fl T Ns Op Ar level .Op Fl W Ns Op Ar level .Op Fl e Ar command .Op Fl i Ns Op Ar extension .Op Fl r Ar library .Op Fl x Ns Op Ar directory -.Op - Ns Bro Cm enable Ns | Ns Cm disable Brc Ns - Ns Ar FEATURE +.Op Fl - Ns Bro Cm enable Ns | Ns Cm disable Brc Ns - Ns Ar FEATURE .Op Fl -dump Ns = Ns Ar target .Op Fl -verbose +.Op Fl -crash-report Ns = Ns Ar template .Op Fl - .Op Ar program_file .Op Ar argument ... @@ -101,10 +101,10 @@ different character encodings, without dependence on Unicode. .It Sy "Bignums" With built-in bignums, you can for example calculate factorial(400). .Pp -.It Sy "Reflection and domain specific languages" +.It Sy "Reflection and domain-specific languages" Class is also an instance of the Class class. Definition of classes and methods is an expression just as 1+1 is. So your programs can even write and modify programs. -Thus you can write your application in your own programming language on top of Ruby. +Thus, you can write your application in your own programming language on top of Ruby. .Pp .It Sy "Exception handling" As in Java(tm). @@ -120,24 +120,36 @@ On most systems, you can load object files into the Ruby interpreter on-the-fly. .It Sy "Rich libraries" -Libraries called "builtin libraries" and "standard libraries" are bundled with Ruby. -And you can obtain more libraries via the package management system called `RubyGems'. -.Pp -Moreover there are thousands of Ruby projects on GitHub -.Aq Pa https://github.com/languages/Ruby . +In addition to the +.Dq builtin libraries +and +.Dq standard libraries +that are bundled with Ruby, a vast amount of third-party libraries +.Pq Dq gems +are available via the package management system called +.Sq RubyGems , +namely the +.Xr gem 1 +command. Visit RubyGems.org +.Pq Lk https://rubygems.org/ +to find the gems you need, and explore GitHub +.Pq Lk https://github.com/ +to see how they are being developed and used. .El .Pp .Sh OPTIONS -Ruby interpreter accepts following command-line options (switches). +The Ruby interpreter accepts the following command-line options (switches). They are quite similar to those of .Xr perl 1 . .Bl -tag -width "1234567890123" -compact .Pp .It Fl -copyright -Prints the copyright notice. +Prints the copyright notice, and quits immediately without running any +script. .Pp .It Fl -version -Prints the version of Ruby interpreter. +Prints the version of the Ruby interpreter, and quits immediately without +running any script. .Pp .It Fl 0 Ns Op Ar octal (The digit @@ -208,6 +220,18 @@ on machines that don't support it, in the following manner: exec /usr/local/bin/ruby -S $0 $* .Ed .Pp +On some systems +.Li "$0" +does not always contain the full pathname, so you need the +.Fl S +switch to tell Ruby to search for the script if necessary (to handle embedded +spaces and such). A better construct than +.Li "$*" +would be +.Li ${1+"$@"} , +but it does not work if the script is being interpreted by +.Xr csh 1 . +.Pp .It Fl T Ns Op Ar level=1 Turns on taint checks at the specified level (default 1). .Pp @@ -234,7 +258,7 @@ Verbose mode is "verbose". It sets the .Li "$VERBOSE" to true. .Fl W Ns -2 is same as +2 is the same as .Fl w . .El @@ -248,6 +272,11 @@ In auto-split mode, Ruby executes .Dl $F = $_.split at beginning of each loop. .Pp +.It Fl -backtrace-limit Ns = Ns Ar num +Limits the maximum length of backtraces to +.Ar num +lines (default -1, meaning no limit). +.Pp .It Fl c Causes Ruby to check the syntax of the script and exit without executing. If there are no syntax errors, Ruby will print @@ -258,6 +287,8 @@ to the standard output. .It Fl -debug Turns on debug mode. .Li "$DEBUG" +and +.Li "$VERBOSE" will be set to true. .Pp .It Fl e Ar command @@ -290,7 +321,7 @@ Enables automatic line-ending processing, which means to firstly set to the value of .Li "$/" , and secondly chops every line read using -.Li chop! . +.Li chomp! . .Pp .It Fl n Causes Ruby to assume the following loop around your script, which @@ -333,18 +364,6 @@ and set the corresponding variable in the script. For example: print "true\en" if $xyz .Ed .Pp -On some systems -.Li "$0" -does not always contain the full pathname, so you need the -.Fl S -switch to tell Ruby to search for the script if necessary (to handle embedded -spaces and such). A better construct than -.Li "$*" -would be -.Li ${1+"$@"} , -but it does not work if the script is being interpreted by -.Xr csh 1 . -.Pp .It Fl v Enables verbose mode. Ruby will print its version at the beginning and set the variable @@ -377,7 +396,7 @@ before executing script. .Pp .It Fl y .It Fl -yydebug -DO NOT USE. +This option is not guaranteed to be compatible. .Pp Turns on compiler debug mode. Ruby will print a bunch of internal state messages during compilation. Only specify this switch you are going to @@ -386,8 +405,7 @@ debug the Ruby interpreter. .It Fl -disable- Ns Ar FEATURE .It Fl -enable- Ns Ar FEATURE Disables (or enables) the specified -.Ar FEATURE Ns -\&. +.Ar FEATURE . .Bl -tag -width "--disable-rubyopt" -compact .It Fl -disable-gems .It Fl -enable-gems @@ -409,26 +427,59 @@ Disables (or enables) all features. .El .Pp .It Fl -dump Ns = Ns Ar target -DO NOT USE. +Dump some information. .Pp Prints the specified target. .Ar target -can be one of; -.Bl -hang -offset indent -.It Sy insns -disassembled instructions +can be one of: +.Bl -hang -offset indent -width "version" +.It Sy version +Print version description (same as +.Fl -version). +.It Sy usage +Print a brief usage message (same as +.Fl h). +.It Sy help +Show long help message (same as +.Fl -help). +.It Sy syntax +Check syntax (same as +.Fl c +.Fl -yydebug). .Pp .El .Pp -Only specify this switch if you are going to debug the Ruby interpreter. +Or one of the following, which are intended for debugging the interpreter: +.Bl -hang -offset indent -width "parsetree" +.It Sy yydebug +Enable compiler debug mode (same as +.Fl -yydebug). +.It Sy parsetree +Print a textual representation of the Ruby AST for the program. +.It Sy insns +Print a list of disassembled bytecode instructions. +.It Sy -optimize +Disable various optimizations to print a list disassembled bytecode instructions. +.It Sy +error-tolerant +Enable error-tolerant parsing, when yydebug or parsetree. +.It Sy +comment +Annotate a textual representation of the Ruby AST for the program with the associated Ruby source code. +.El .Pp .It Fl -verbose Enables verbose mode without printing version message at the beginning. It sets the .Li "$VERBOSE" variable to true. -If this switch is given, and no other switches are present, Ruby quits -after printing its version. +If this switch is given, and no script arguments (script file or +.Fl e +options) are present, Ruby quits immediately. +.Pp +.It Fl -crash-report Ns = Ns Ar template +Sets the template of path name to save crash report. +See +.Ev RUBY_CRASH_REPORT +environment variable for details. .El .Pp .Sh ENVIRONMENT @@ -468,6 +519,43 @@ enabled for only mswin32, mingw32, and OS/2 platforms. If this variable is not defined, Ruby refers to .Ev COMSPEC . .Pp +.It Ev RUBY_FREE_AT_EXIT +If set, Ruby tries to free all dynamically allocated memories. +Introduced in Ruby 3.3, default: unset. +.Pp +.It Ev RUBY_BOX +If set to +.Li 1 , +Ruby Box is enabled and users will be able to execute +.Li Ruby::Box.new . +Ruby Box is an experimental feature introduced in Ruby 4.0. +.Pp +.It Ev RUBY_IO_BUFFER_DEFAULT_SIZE +The custom default buffer size of +.Li IO::Buffer . +.Pp +.It Ev RUBY_MAX_CPU +The maximum number of native threads used by M:N Threads scheduler +Introduced in Ruby 3.3, default: 8. +.Pp +.It Ev RUBY_MN_THREADS +If set to +.Li 1 , +M:N Thread scheduler is enabled on the main Ractor. +Introduced in Ruby 3.3, default: unset. +.Pp +.It Ev RUBY_PAGER +The pager command that will be used for +.Fl -help +option. +Introduced in Ruby 3.0, default: +.Ev PAGER +environment variable. +.Pp +.It Ev RUBY_THREAD_TIMESLICE +Sets the default thread time slice (thread quantum) in milliseconds. +Introduced in Ruby 3.4, default: 100ms. +.Pp .It Ev PATH Ruby refers to the .Ev PATH @@ -484,14 +572,14 @@ as below. .Pp .Sh GC ENVIRONMENT The Ruby garbage collector (GC) tracks objects in fixed-sized slots, -but each object may have auxillary memory allocations handled by the +but each object may have auxiliary memory allocations handled by the malloc family of C standard library calls ( .Xr malloc 3 , .Xr calloc 3 , and .Xr realloc 3 ) . -In this documentatation, the "heap" refers to the Ruby object heap -of fixed-sized slots, while "malloc" refers to auxillary +In this documentation, the "heap" refers to the Ruby object heap +of fixed-sized slots, while "malloc" refers to auxiliary allocations commonly referred to as the "process heap". Thus there are at least two possible ways to trigger GC: .Bl -hang -offset indent @@ -512,10 +600,16 @@ Reaching the old malloc limit. .El .Pp There are currently 4 possible areas where the GC may be tuned by -the the following 11 environment variables: -.Bl -hang -compact -width "RUBY_GC_OLDMALLOC_LIMIT_GROWTH_FACTOR" -.It Ev RUBY_GC_HEAP_INIT_SLOTS -Initial allocation slots. Introduced in Ruby 2.1, default: 10000. +the following environment variables: +.Bl -hang -compact -width "RUBY_GC_HEAP_n_INIT_SLOTS" +.Pp +.It Ev RUBY_GC_HEAP_ Ns Ar n Ns Ev _INIT_SLOTS +Initial allocation of slots in a specific heap. +The available heaps can be found in the keys of +.Li GC.stat_heap . +.Ar n +is a decimal number between 0 and 4. +Introduced in Ruby 3.3. .Pp .It Ev RUBY_GC_HEAP_FREE_SLOTS Prepare at least this amount of slots after GC. @@ -537,6 +631,12 @@ where R is this factor and N is the number of old objects after the last full GC. Introduced in Ruby 2.1.1, default: 2.0 .Pp +.It Ev RUBY_GC_HEAP_REMEMBERED_WB_UNPROTECTED_OBJECTS_LIMIT_RATIO +Used to calculate the +.Li remembered_wb_unprotected_objects_limit +using a ratio of +.Li old_objects . +Introduced in Ruby 3.3, default: 0.1, minimum: 0.0 .It Ev RUBY_GC_MALLOC_LIMIT The initial limit of young generation allocation from the malloc-family. GC will start when this limit is reached. @@ -553,6 +653,31 @@ GC frequency but increasing malloc growth until RUBY_GC_MALLOC_LIMIT_MAX is reached. Introduced in Ruby 2.1, default: 1.4, minimum: 1.0 (no growth) .Pp +.It Ev RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO +Allocate additional pages when the number of free slots is +lower than the value +.Li (total_slots * (this ratio)) . +Introduced in Ruby 2.4, default: 0.2, minimum: 0.0, maximum: 1.0 +.Pp +.It Ev RUBY_GC_HEAP_FREE_SLOTS_MAX_RATIO +Allow to free pages when the number of free slots is greater than the value +.Li (total_slots * (this ratio)) . +Introduced in Ruby 2.4, default: 0.4, minimum: +.Li RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO, +maximum: 1.0 +.Pp +.It Ev RUBY_GC_HEAP_FREE_SLOTS_GOAL_RATIO +Allocate slots to satisfy this formula: +.Li free_slots = total_slots * goal_ratio +In other words, prepare +.Li (total_slots * goal_ratio) +free slots. +if this value is 0.0, then use RUBY_GC_HEAP_GROWTH_FACTOR directly. +Introduced in Ruby 2.4, default: 0.65, minimum: +.Li RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO, +maximum: +.Li RUBY_GC_HEAP_FREE_SLOTS_MAX_RATIO +.Pp .It Ev RUBY_GC_OLDMALLOC_LIMIT The initial limit of old generation allocation from malloc, a full GC will start when this limit is reached. @@ -570,6 +695,11 @@ GC frequency but increasing malloc growth until RUBY_GC_OLDMALLOC_LIMIT_MAX is reached. Introduced in Ruby 2.1, default: 1.2, minimum: 1.0 (no growth) .Pp +.It Ev RUBY_SHARED_FIBER_POOL_FREE_STACKS +Frees stacks of pooled fibers, if set to 1. +Do not free the stacks if set to 0. +Introduced in Ruby 2.7, default: 1 (no growth) +.Pp .El .Sh STACK SIZE ENVIRONMENT Stack size environment variables are implementation-dependent and @@ -585,11 +715,11 @@ All values are specified in bytes. .Bl -hang -compact -width "RUBY_THREAD_MACHINE_STACK_SIZE" .It Ev RUBY_THREAD_VM_STACK_SIZE VM stack size used at thread creation. -default: 131072 (32-bit CPU) or 262144 (64-bit) +default: 524288 (32-bit CPU) or 1048576 (64-bit) .Pp .It Ev RUBY_THREAD_MACHINE_STACK_SIZE Machine stack size used at thread creation. -default: 524288 or 1048575 +default: 524288 or 1048576 .Pp .It Ev RUBY_FIBER_VM_STACK_SIZE VM stack size used at fiber creation. @@ -600,30 +730,98 @@ Machine stack size used at fiber creation. default: 262144 or 524288 .Pp .El +.Sh CRASH REPORT ENVIRONMENT +.Pp +.Bl -tag -compact -width "RUBY_CRASH_REPORT" +.It Ev RUBY_CRASH_REPORT +The template of path name to save crash report. +default: none +.El +.Ss Naming crash report files +The template can contain +.Li \fB%\fP +specifiers which are substituted by the following values when a crash +report file is created: +.Pp +.Bl -hang -compact -width "%NNN" +.It Li \fB%%\fP +A single +.Li \fB%\fP +character. +.It Li \fB%e\fP +Basename of executable. +.It Li \fB%E\fP +Pathname of executable, +with slashes (\fB/\fP) replaced by exclamation marks (\fB!\fP). +.It Li \fB%f\fP +Basename of the program name, +.Li "$0" . +.It Li \fB%F\fP +Pathname of the program name, +.Li "$0", +with slashes (\fB/\fP) replaced by exclamation marks (\fB!\fP). +.It Li \fB%p\fP +PID of dumped process. +.It Li \fB%t\fP +Time of dump, expressed as seconds since the +Epoch, 1970-01-01 00:00:00 +0000 (UTC). +.It Li \fB%NNN\fP +A character code in octal. +.El +.Pp +A single +.Li \fB%\fP +at the end of the template is dropped from the core filename, as is +the combination of a +.Li \fB%\fP +followed by any character other than those listed above. All other +characters in the template become a literal part of the core filename. +The template may include \(aq/\(aq characters, which are interpreted +as delimiters for directory names. +.Ss Piping crash reports to a program +If the first character of this file is a pipe symbol (\fB|\fP), +then the remainder of the line is interpreted as the command-line for +a program (or script) that is to be executed. +.Pp +The pipe template is split on spaces into an argument list before the +template parameters are expanded. +.Sh MISC ENVIRONMENT +.Pp +.Bl -hang -compact -width "RUBY_TCP_NO_FAST_FALLBACK" +.It Ev RUBY_TCP_NO_FAST_FALLBACK +If set to +.Li 1 , +disables the fast fallback feature by default in TCPSocket.new and Socket.tcp. +When set to +.Li 0 +or left unset, the fast fallback feature is enabled. +Introduced in Ruby 3.4, default: unset. .Sh SEE ALSO -.Bl -hang -compact -width "http://www.ruby-lang.org/123" -.It https://www.ruby-lang.org/ +.Bl -hang -compact -width "https://www.ruby-toolbox.com/" +.It Lk https://www.ruby-lang.org/ The official web site. -.It https://www.ruby-toolbox.com/ +.It Lk https://www.ruby-toolbox.com/ Comprehensive catalog of Ruby libraries. .El .Pp .Sh REPORTING BUGS .Bl -bullet -.Li Security vulnerabilities should be reported via an email to -.Aq security@ruby-lang.org Ns -.Li . -Reported problems will be published after they've been fixed. -.Pp -.Li And you can report other bugs and feature requests via the -Ruby Issue Tracking System (https://bugs.ruby-lang.org/). +.It +Security vulnerabilities should be reported via an email to +.Mt security@ruby-lang.org . +Reported problems will be published after being fixed. +.Pp +.It +Other bugs and feature requests can be reported via the +Ruby Issue Tracking System +.Pq Lk https://bugs.ruby-lang.org/ . Do not report security vulnerabilities -via the system because it publishes the vulnerabilities immediately. +via this system because it publishes the vulnerabilities immediately. .El .Sh AUTHORS Ruby is designed and implemented by .An Yukihiro Matsumoto Aq matz@netlab.jp . .Pp See -.Aq Pa https://bugs.ruby-lang.org/projects/ruby/wiki/Contributors +.Aq Lk https://github.com/ruby/ruby/graphs/contributors for contributors to Ruby. |
