summaryrefslogtreecommitdiff
path: root/man/ruby.1
diff options
context:
space:
mode:
Diffstat (limited to 'man/ruby.1')
-rw-r--r--man/ruby.1122
1 files changed, 98 insertions, 24 deletions
diff --git a/man/ruby.1 b/man/ruby.1
index 944844b639..a0cda14641 100644
--- a/man/ruby.1
+++ b/man/ruby.1
@@ -25,6 +25,7 @@
.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 ...
@@ -100,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).
@@ -271,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
@@ -388,7 +394,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
@@ -423,35 +429,37 @@ Dump some information.
.Pp
Prints the specified target.
.Ar target
-can be one of;
+can be one of:
.Bl -hang -offset indent
.It Sy version
-version description same as
-.Fl -version
+Print version description (same as
+.Fl -version).
.It Sy usage
-brief usage message same as
-.Fl h
+Print a brief usage message (same as
+.Fl h).
.It Sy help
-Show long help message same as
-.Fl -help
+Show long help message (same as
+.Fl -help).
.It Sy syntax
-check of syntax same as
+Check syntax (same as
.Fl c
-.Fl -yydebug
-.It Sy yydebug
-compiler debug mode, same as
-.Fl -yydebug
+.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 -tag -width "parsetree_with_comment"
+.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 parsetree_with_comment
-AST nodes tree
-.Pp
-Only specify this switch if you are going to debug the Ruby interpreter.
+Print a textual representation of the Ruby AST for the program, but with each node annotated with the associated Ruby source code.
.It Sy insns
-disassembled instructions
-.Pp
-Only specify this switch if you are going to debug the Ruby interpreter.
+Print a list of disassembled bytecode instructions.
+.It Sy insns_without_opt
+Print the list of disassembled bytecode instructions before various optimizations have been applied.
.El
.Pp
.It Fl -verbose
@@ -462,6 +470,12 @@ variable to true.
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
@@ -548,7 +562,12 @@ There are currently 4 possible areas where the GC may be tuned by
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.
+Initial allocation slots. Applies to all slot sizes. Introduced in Ruby 2.1, default: 10000.
+.Pp
+.It Ev RUBY_GC_HEAP_%d_INIT_SLOTS
+Initial allocation of slots in a specific heap.
+The available heaps can be found in the keys of `GC.stat_heap`.
+Introduced in Ruby 3.3.
.Pp
.It Ev RUBY_GC_HEAP_FREE_SLOTS
Prepare at least this amount of slots after GC.
@@ -633,6 +652,61 @@ 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 SEE ALSO
.Bl -hang -compact -width "https://www.ruby-toolbox.com/"
.It Lk https://www.ruby-lang.org/
@@ -660,5 +734,5 @@ Ruby is designed and implemented by
.An Yukihiro Matsumoto Aq matz@netlab.jp .
.Pp
See
-.Aq Lk https://bugs.ruby-lang.org/projects/ruby/wiki/Contributors
+.Aq Lk https://github.com/ruby/ruby/graphs/contributors
for contributors to Ruby.