What kind of car might help. If it uses a MAF, vacuum leak would be my first suggestion. cleaning the throttle body and IAC are next either way.
It also decides whether the crank sensor will throw a code (very unlikely to cause a warm idle problem and nothing at any other time though)
If the timing belt slipped a tooth the ignition timing would NOT be correct (except for very few cases) and it would run MUCH worse.
1991 Toyota Pickup 22R-E 2.4 I4/5 speed
1990 Toyota Cressida 7M-GE 3.0 I6/5-speed manual
mechanic, carpenter, stagehand, rigger, and know-it-all smartass
"You don't get to judge me for how I fix what you break"
Here is an update. I've rechecked the timing marks and I believe it is dead-on perfect.
I have a 2000 Mazda Protege 1.6L 5 speed.
I've cleaned the MAF sensor, checked intake hose for cracks, tested the resistance of the IAC and throttle position sensor. The IAC was at the maximum resistance allowed and the throttle position sensor was midrange of resistance allowance.
I've replaced the throttle body gasket and verified all vacuum hoses are attached. The previous owner took out the EGR valve and piping so there is no issue there.
My last effort will be to replace the intake manifold gasket and injector O-rings in the hope that there are vacuum leaks at those points. If the gasket and O-rings don't fix it then I will buy a new IAC valve ($$$$).