Age | Commit message (Collapse) | Author |
|
|
|
|
|
The name of the io_lib_pretty:print/2 option 'max_chars' is changed to
'line_max_chars' (used by module shell only).
The new option for limiting the number of returned characters of
io_lib_pretty:print() is called 'chars_limit'.
|
|
|
|
A minor fix.
If the Erlang shell saves no results (history(0) or results(0)), the
evaluator process now garbage collects itself. This means that any
huge binaries created by the evaluation are reclaimed faster than
before.
|
|
|
|
If record with recursive typespec such as
-record(r,{f :: #r{} | undefined}).
is used in interactive shell it stucks in inifinite loop when
trying to find definitions for all records used in expression.
|
|
find and use source directive when searching for source file
|
|
As of Erlang/OTP 20.0, the type of ETS tables, ets:tid(), is a
reference(). A request was put forward that the Erlang shell should be
able to handle references in its input.
This commit introduces an extended parser in module lib. It can parse
pids, ports, references, and external funs under the condition that
they can be created in the running system. The parser is meant to be
used internally in Erlang/OTP. The alternative, to extend erl_scan and
erl_parse, was deemed inferior as it would require the abstract format
be able to represent pids, ports, references, and funs, which would be
confusing as they are not expressions as such, but data types.
|
|
The Erlang shell's temporary support for Unicode node names is
removed. There will be no support for Unicode node names in
Erlang/OTP 20.0.
|
|
|
|
See also ERL-182.
|
|
|
|
The shell command 'rp' prints strings as lists of integers
when pretty printing of lists is 'false'.
|
|
|
|
|
|
|
|
Reported-by: Danil Zagoskin
|
|
The current code for the evaluation of ordinary funs is dependent
on the order on variables in the fun environment as returned by
erlang:fun_info(Fun, env).
To avoid the problem in the future, make sure that we only have one
free variable in the funs that we will need to inspect using
erlang:fun_info(Fun, env).
|
|
|
|
The I/O-server group.erl echoed the skipped line.
|
|
This makes the shell output binaries and list as intended by
the +pc setting.
|
|
Also let the Erlang shell use the new function io:printable_range().
|
|
Use the new function shell:strings/1 to toggle how the Erlang shell
outputs lists of integers.
|
|
|
|
|
|
* bjorn/remove-packages/OTP-10348:
erl_lint: Remove vestiges of package support
shell: Remove vestiges of package support
|
|
Remove the which/1 command which provides no useful information
for a non-package module.
Remove references to the deleted commands import/1, import_all/1,
use/1, and use_all/1 (removed in f31ee362c3421922518).
Remove code that handles {module,_} in bindings.
|
|
|
|
|
|
The Erlang shell now skips the rest of the line when
it encounters an Erlang scanner error.
Examples:
1> $\xtt.
* 1: illegal character
1> "$\xtt".
* 1: illegal character
1>
|
|
Expect modifications, additions and corrections.
There is a kludge in file_io_server and
erl_scan:continuation_location() that's not so pleasing.
|
|
|
|
This commit is a preparation for introducing location information
(filename/line number) in stacktraces in exceptions. Currently
a stack trace looks like:
[{Mod1,Function1,Arity1},
.
.
.
{ModN,FunctionN,ArityN}]
Add a forth element to each tuple that can be used indication
the filename and line number of the source file:
[{Mod1,Function1,Arity1,Location1},
.
.
.
{ModN,FunctionN,ArityN,LocationN}]
In this commit, the fourth element will just be an empty list,
and we will change all code that look at or manipulate stacktraces.
|
|
|
|
configuration parameter shell_prompt_func can be used for
customizing the Erlang shell prompt.
|
|
|