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

Re: first adventures



On Oct 26, 12:57pm, Ray Andrews wrote:
}
} > No, that there isn't, though if you look around line 296 of input.c where
} > the VERBOSE option is handled, you'll get close.  The input line is read
} > into what's called "metafied" form by zleread() and has to be unmetafied
} But.  But ... we can't get the string before it's metafied in the first 
} place?

The following is a lot oversimplified, but:

It's read one character at a time and each character is then metafied
before being aggregated into the string buffer.

} How is it possible for it to be metafied before 'it' exists? If I can
} have a meta-fried egg, surely at some point there was a raw egg?

It's more like having a bag of popcorn; they don't all pop at the same
time, but ideally you don't open the bag until all of them have.

} I was looking in hist.c, because the one place where 
} things seem to be stored 'literally' is in .histfile.

History isn't stored until after bangchar references have been expanded, 
so although it's closer to literal it's still not the actual input line.

} The Tao of zsh is a deep thing.

Partly this is from separating ZLE into a module years after the shell
was first written.  It's designed so that somebody else could write and
plug in a different line editor module, but no one got that ambitious.

} But somehow I just can't get anything to print if interactive.

It works for me:

torch% echo hello
echo hello
hello
torch% 

Are you sure that you're actually executing the correct binary when you
are running interactively?  Maybe a startup file is "exec"-ing another
path?  What happens if you start zsh with the -v option?



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