You can find the README file with more detailed info at
Great news!Can you tell, what means "optimized process state changes"?
Been reading the README and I'm pretty excited for a lot of the changes
there. Especially anything related to contention and better parallel
behaviour for ETS tables, processes, ports, and module loading. I'll be
interested to see how well a stable version does for us in production.
"The rewrite was also necessary in order to make it possible to schedule signals from processes to ports."Can I intercept sighup now in driver? I can write proper fork/execve driver now?
History between sessions is not implemented (I get readline-style
ctrl-r in same session fine which is super cool)?
/home/motiejus$ erl -config hist.config -name labas
Erlang R16A (erts-5.10) [source] [smp:2:2] [async-threads:10] [hipe]
[kernel-poll:false]
Eshell V5.10 (abort with ^G)
(la...@precise.local)1> application:get_all_env(kernel).
[{hist_file,"erlang-history"},
{included_applications,[]},
{error_logger,tty},
{hist_size,120},
{hist_drop,["q().","init:stop()."]}]
(la...@precise.local)2> q().
ok
(la...@precise.local)3> %
/home/motiejus$ ls -lA | grep erlang
-r-------- 1 motiejus motiejus 20 Rgp 23 23:00 .erlang.cookie
--
Motiejus Jakštys
I have https://github.com/ferd/erlang-history that implements a search
that can be saved, but there's still work to do in it before it can be
good enough for OTP:
1. it relies on DETS, and DETS seems to corrupt files from time to time
either when too many shells write to it, or when it's interrupted
while dumping. I want to get rid of DETS at some point for some other
line utility, maybe disk_log.
2. I'll need to make it use a .erlang/ directory in $HOME rather than
plenty of .erlang.$NAME files. There's a truckload of .erlang.*
config files around, and one per named shell is problematic.
3. Multiple shells are implemented in an okay way, but there may be a
need to correct codes when many shells write to the same file
(usually multiple non-distributed shells).
4. The usual OTP cleanup and formatting is required.
5. I haven't considered the issue of multiple encodings used in the same
shell history file yet.
6. I haven't asked the OTP team what they think should be done at that
point, but I'd be fine forking this thread to start discussing it.
Lately I haven't had the time/motivation to do that heavy lifting,
but with the book and university done, I'll probably find time here and
there to try and make a better implementation.
In the mean time, I'll keep the repository above up to date. It's not
yet ready for R16A support -- I use the compiler versions to deal with
things and the new code can't be the same to make it there. It should
work fine with the new ^R support feature.
Shell history is a tiny bit about injecting history in a shell and is
*mostly* about handling files on disk. Shell history search is pretty
much handling the line stack in the shell and edlin, so that one was
much simpler to deal with than history to make it part of OTP :)
Regards,
Fred.
Because from one computer you can be using remote shells to many
different Erlang VMs running with different names.
I always figured that the history for test@mycomputer would be something
you would like a different history from something like pr...@other.host,
especially considering histories disappearing over time and whatnot.
That way, different projects or nodes get isolated histories.
So far I've enjoyed it and the fact I can get a clean shell history for
projects I haven't touched in months whereas the shell I use to test
everything locally (nonode@nohost) is chuck full of unrelated garbage
and experiments.
If people tell me they don't give a crap, I'm open to consider getting
rid of that, but there's really no complexity attached to any of this. I
simply add a call atom_to_list(node()) when opening the table/file and
that's it.
Regards,
Fred.
Hi Fred!Kernel and stdlib will always be started first. Other applications you can sort as you want.
I've tested it locally on my machines and it still works fine here.
Regards,
Fred.
On 01/30, Motiejus Jakštys wrote: