+(defun cus-test-cus-load-groups (&optional cus-load)
+ "Return a list of current custom groups.
+If CUS-LOAD is non-nil, include groups from cus-load.el."
+ (append (mapcar 'cdr custom-current-group-alist)
+ (if cus-load
+ (with-temp-buffer
+ (insert-file-contents (locate-library "cus-load.el"))
+ (search-forward "(put '")
+ (beginning-of-line)
+ (let (res)
+ (while (and (looking-at "^(put '\\(\\S-+\\)")
+ (zerop (forward-line 1)))
+ (push (intern (match-string 1)) res))
+ res)))))
+
+(defun cus-test-get-options (regexp &optional group)
+ "Return a list of custom options matching REGEXP.
+If GROUP is non-nil, return groups rather than options.
+If GROUP is `cus-load', include groups listed in cus-loads as well as
+currently defined groups."
+ (let ((groups (if group (cus-test-cus-load-groups (eq group 'cus-load))))
+ found)