 
 (when (and (erlang-soft-require 'xref)
            (erlang-soft-require 'cl-generic)
+           (erlang-soft-require 'cl-lib)
            (erlang-soft-require 'eieio)
            (erlang-soft-require 'etags))
   ;; The purpose of using eval here is to avoid compilation

;;
;; As mentioned this xref implementation is based on the etags xref
;; implementation.  But in the cases where arity is considered the
;; etags information structures (class xref-etags-location) will be
;; translated to our own structures which include arity (class
;; erlang-xref-location).  This translation is started in the function
;; `erlang-refine-xrefs'.


           t))))

(defun erlang-xrefs-in-file (file kind tag is-regexp)
  (when (and (fboundp 'make-erlang-xref-location)
             (fboundp 'xref-make))
    (with-current-buffer (find-file-noselect file)
      (save-excursion
        (goto-char (point-min))
