Ok, it's old, but here is the answer. Found it in Unix & Linux.
You can use print -s or print -S for this:
-s
Place the results in the history list instead of on the standard output. Each argument to the print command is treated as a single word in the history, regardless of its content.
-S
Place the results in the history list instead of on the standard output. In this case only a single argument is allowed; it will be split into words as if it were a full shell command line. The effect is similar to reading the line from a history file with the HIST_LEX_WORDS option active.
Ok, it's old, but here is the answer. Found it in Unix & Linux.
Example of how it works: