aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/src/shell_default.erl
diff options
context:
space:
mode:
authorRichard Carlsson <[email protected]>2016-12-06 12:14:18 +0100
committerRichard Carlsson <[email protected]>2017-02-06 15:36:20 +0100
commit0eb45e21d406539caaad98bfc1740f9a11e32565 (patch)
treee7254e79a17efe61e25ecc4f6efbea4c919c0340 /lib/stdlib/src/shell_default.erl
parenteab4b024957a27be018f8bc155bdd1dc05ec7969 (diff)
downloadotp-0eb45e21d406539caaad98bfc1740f9a11e32565.tar.gz
otp-0eb45e21d406539caaad98bfc1740f9a11e32565.tar.bz2
otp-0eb45e21d406539caaad98bfc1740f9a11e32565.zip
Add shell shortcut for recompiling existing modules
This extends the shell function c/1 and c/2 so that if the argument is a module name instead of a file name, it automatically locates the .beam file and the corresponding source file, and then recompiles the module using the same compiler options (plus any options passed to c/2). If compilation fails, the old beam file is preserved. Also adds c(Mod, Opts, Filter), where the Filter argument allows you to remove old compiler options before the new options are added.
Diffstat (limited to 'lib/stdlib/src/shell_default.erl')
-rw-r--r--lib/stdlib/src/shell_default.erl3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/stdlib/src/shell_default.erl b/lib/stdlib/src/shell_default.erl
index cd63ab28b5..a0c1d98513 100644
--- a/lib/stdlib/src/shell_default.erl
+++ b/lib/stdlib/src/shell_default.erl
@@ -23,7 +23,7 @@
-module(shell_default).
--export([help/0,lc/1,c/1,c/2,nc/1,nl/1,l/1,i/0,pid/3,i/3,m/0,m/1,lm/0,mm/0,
+-export([help/0,lc/1,c/1,c/2,c/3,nc/1,nl/1,l/1,i/0,pid/3,i/3,m/0,m/1,lm/0,mm/0,
memory/0,memory/1,uptime/0,
erlangrc/1,bi/1, regs/0, flush/0,pwd/0,ls/0,ls/1,cd/1,
y/1, y/2,
@@ -72,6 +72,7 @@ bi(I) -> c:bi(I).
bt(Pid) -> c:bt(Pid).
c(File) -> c:c(File).
c(File, Opt) -> c:c(File, Opt).
+c(File, Opt, Filter) -> c:c(File, Opt, Filter).
cd(D) -> c:cd(D).
erlangrc(X) -> c:erlangrc(X).
flush() -> c:flush().