The SPF record for domain replace the current record. The macro-expanded domain is also substituted for the current-domain in those look-ups.
In the following example, the client IP is 22.214.171.124 and the current-domain is example.com.
If example.com has no SPF record, that is an error; the result is unknown. Suppose example.com's SPF record was "v=spf1 a -all". Look up the A record for example.com. If it matches 126.96.36.199, return Pass. If there is no match, the exec fails to match, and the -all value is used.
The domain and current-domain meaning is not very clear here.
What happens, if example1.com spf was queried,
example1.com IN MX 0 mx.example1.com. example1.com IN TXT "v=spf1 redirect=example2.com" mx.example1.com IN A 188.8.131.52 example2.com IN MX 0 mx.example2.com. example2.com IN TXT "v=spf1 mx -all" mx.example2.com IN A 184.108.40.206
Should the spf result be 220.127.116.11 OR 18.104.22.168?