I\'m having difficulty distinguishing files with extensions, from files without extensions, and hidden files. I\'m using (file-name-extens
How about
(let* ((input-regexp '("odt" "wpd" "docx" "doc" "xls" "pdf" "tif" "bmp" "jpg"))
(input-filename (dired-get-file-for-visit))
(ext (file-name-extension input-filename)))
(unless (and ext (regexp-match-p input-regexp ext))
(find-file input-filename)))
Alternatively, redefine
(defun regexp-match-p (regexps string)
(and string
(catch 'matched
(let ((inhibit-changing-match-data t)) ; small optimization
(dolist (regexp regexps)
(when (string-match regexp string)
(throw 'matched t)))))))