What's the idiomatic Emacs way to soft-require a feature, then use that feature if it's available?
The require
function allows “soft require” by specifying a non-nil third argument:
(require 'projectile nil 'missing-okay)
What's the best way to then use that feature to do more things, only if the feature is now present?
(if succeeds
(require 'projectile nil 'missing-okay)
(do-some-stuff-that-needs-projectile))
or
(require 'projectile nil 'missing-okay)
(when feature-is-available 'projectile
(do-some-stuff-that-needs-projectile))
or something else?