Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: about beta11



> -zefram
> 
> P.S.  Can we expect an beta11-test release any time soon, Richard?
> 

I've been working on some ambitious changes for beta11.  As usual, it
is taking longer than I expected.  I was hoping to have a test
release available this week, but now I'm not sure.  I'll be leaving
for vacation (just one week) at the end of next week (Jun 22).

One of the things I'm doing for beta11 is splitting the hash table
cmdnamtab into three separate tables for shell functions, builtins,
and external commands.  This fixes some of the weird command name
space problems that would have been difficult to fix any other way.
This required lots of changes to builtin.c and exec.c (actually just
execcmd).  I've already fixed everything in builtin.c (which lead to
much cleaner code in many of the builtins).  What is taking so long
is the changes to exec.c since it is quite complicated and has very
little in the way of comments.

One of the benefits of this change is that is allows much more
precise control of the various hash tables.  There are a few
changes to various builtins to deal with this.

1) enable/disable by default will only work on builtin functions
2) enable -f, disable -f will enable/disable shell functions
3) enable -r, disable -r will enable/disable reserved words
4) unhash by default will only unhash external commands.
5) unhash -f will remove shell functions.  unfunction is now
   just an alias for unhash -f.
6) unhash -a will remove aliases.  unalias is now just an
   alias for unhash -a.

Zefram, were you the one that wrote the code for named directories?
Is there anything preventing us from using a hash table for this
rather than a linked list (which is what it currently uses)?  This
way we could reuse all the new hashtable code.  For instance, then
unhash -d could be used to remove entries from the named directories
table.

rc



Messages sorted by: Reverse Date, Date, Thread, Author