From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Michael Heerdegen Newsgroups: gmane.emacs.help Subject: Re: Prompt for files with given extensions Date: Wed, 11 Feb 2015 16:35:53 +0100 Message-ID: <878ug4mpeu.fsf@web.de> References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1423668997 25845 80.91.229.3 (11 Feb 2015 15:36:37 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 11 Feb 2015 15:36:37 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Wed Feb 11 16:36:30 2015 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1YLZL2-00082r-Sn for geh-help-gnu-emacs@m.gmane.org; Wed, 11 Feb 2015 16:36:29 +0100 Original-Received: from localhost ([::1]:45511 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YLZL2-0003up-6o for geh-help-gnu-emacs@m.gmane.org; Wed, 11 Feb 2015 10:36:28 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:45952) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YLZKj-0003sA-WD for help-gnu-emacs@gnu.org; Wed, 11 Feb 2015 10:36:11 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YLZKe-0001D9-M2 for help-gnu-emacs@gnu.org; Wed, 11 Feb 2015 10:36:09 -0500 Original-Received: from plane.gmane.org ([80.91.229.3]:36836) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YLZKe-0001CA-GF for help-gnu-emacs@gnu.org; Wed, 11 Feb 2015 10:36:04 -0500 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1YLZKc-0007mN-Dl for help-gnu-emacs@gnu.org; Wed, 11 Feb 2015 16:36:02 +0100 Original-Received: from ip-90-186-231-226.web.vodafone.de ([90.186.231.226]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 11 Feb 2015 16:36:02 +0100 Original-Received: from michael_heerdegen by ip-90-186-231-226.web.vodafone.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 11 Feb 2015 16:36:02 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 25 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: ip-90-186-231-226.web.vodafone.de User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) Cancel-Lock: sha1:C374Ch/l6iJDMfz4fBGJEEg5yXw= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.91.229.3 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:102639 Archived-At: Robin Neatherway writes: > At the moment I use `read-file-name` with `foo.results` as a default, > but I would like to filter the possible completions by file extension. > Is this possible? You can just use the PREDICATE arg of `read-file-name' for that: --8<---------------cut here---------------start------------->8--- ;; -*- lexical-binding: t -*- (defun my-filter-file-by-extension (extension) (lambda (file) (let ((file-extension (file-name-extension file))) (and (stringp file-extension) (string= file-extension extension))))) ;; Use like this: (read-file-name "File: " "~/" nil t nil (my-filter-file-by-extension "txt")) --8<---------------cut here---------------end--------------->8--- Michael.