Telling it to attack the new target is sufficient enough if you don't have it in assist mode. The only reason you would ever need to tell it to stop attack on the old target is if you wanted to clear its threat list. This is only useful to call it off from attacking a CC target after its current one dies. Whatever target you manually tell it to attack will automatically appear at the top of your pet's threat list. You shouldn't need to change its attitude in this example. This is only if you're not in assist mode, in which the game automatically makes sure your pet is attacking the same one you're hitting. In the time you're switching through the list of attitudes, none of the others will take any effect at all.

As far as your character's autoattacks, they always hit whatever you're currently targeting if it's already active. The only reason for /startattack is to activate it.

__________________

"All I want is a pretty girl, a decent meal, and the right to shoot lightning at fools."

It should replace my auto-shot. and call in huntersmark + pet assist.
that works so far, but I cannot tell it to call off my pet and set it to defensive while stop my attacks.

The macro you've written does the

Code:

/cast Hunter's Mark
/startattack
/petassist

regardless of whether or not you're holding down a modifier key. Thus, when you hit this while holding a modifier key, it stops your attack and calls off your pet... then immediately starts them up again.

Right now, your trailing

Code:

/stopmacro [mod]

doesn't do anything at all -- you're already at the end of the macro, so there's nothing it's actually cutting off. I think what you meant to code may be this: