I just noticed something odd. :reset (or :set &var) doesn't
restore a compile-time default if the default is empty.
:set smtp_url=foo
:set ?smtp_url
smtp_url="foo"
:reset smtp_url
:set ?smtp_url
smtp_url="foo"
Contrast this to a variable that has a non-empty default value:
:set sendmail=foo
:set ?sendmail
sendmail="foo"
:reset sendmail
:set ?sendmail
sendmail="/usr/sbin/sendmail -oem -oi"
Seems like a bug?