In case `(and (null custom-file) init-file-had-error)' do the same
thing we'd do if `(null user-init-file)', which is to either error out
or return nil. This is in line with `custom-save-all' which would
throw an error in that situation. (bug#20355)
(defun custom-file (&optional no-error)
"Return the file name for saving customizations."
- (if (null user-init-file)
+ (if (or (null user-init-file)
+ (and (null custom-file) init-file-had-error))
;; Started with -q, i.e. the file containing Custom settings
;; hasn't been read. Saving settings there won't make much
;; sense.