rcaloras / bash-preexec

⚡ preexec and precmd functions for Bash just like Zsh.
MIT License
876 stars 93 forks source link

preexec is called / not called in weird moments #104

Open mkielar opened 4 years ago

mkielar commented 4 years ago

I have single preexec and precmd functions defined.

preexec() { 
    echo "preexec for $@"
}
precmd() {
    echo "precmd for $@"
}

When I open new bash window, I get this:

precmd for
preexec for <last command from history>
14:08 ● /home/mkielar
→ ls
file1 file2
precmd for

14:09 ● /home/mkielar
→ ls
preexec for ls
file1 file2
precmd for

14:09 ● /home/mkielar
→ ls

So, it is called when I open new bash session, it;s not being called for first command in that bash session, and then it's being called again for any subsequent commands....

sullivan-sean commented 3 years ago

Has anyone found a solution for this? I'm also running into this issue running bash 5.1.8(1)-release and bash-preexec v0.4.1

rcaloras commented 3 years ago

@sullivan-sean same exactly as described here? And bash-preexec.sh is the last thing included in your bash configuration?

slash-dev commented 1 year ago

Please ignore, this was a clash with another tool. Now working as intended. Sorry!

I also have a similar problem. preexec is called when I open the terminal then it's never called again. It used to but since few months it's not working anymore.

rcaloras commented 1 year ago

@slash-dev could you share what your debug trap and PROMPT_COMMAND look like: e.g. running on my local machine

[rcaloras:~] 3s $ trap && echo "$PROMPT_COMMAND"
trap -- '__bp_preexec_invoke_exec "$_"' DEBUG
__bp_precmd_invoke_cmd
__lp_set_prompt
__bp_interactive_mode
slash-dev commented 1 year ago

Please ignore, this was a clash with another tool. Now working as intended. Sorry!