From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Mark Oteiza Newsgroups: gmane.emacs.devel Subject: [PATCH] checking eww download directory Date: Fri, 27 Jan 2017 14:10:51 -0500 Message-ID: <87wpdgmi84.fsf@udel.edu> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1485544284 21102 195.159.176.226 (27 Jan 2017 19:11:24 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 27 Jan 2017 19:11:24 +0000 (UTC) Cc: Lars Ingebrigtsen To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jan 27 20:11:20 2017 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cXBvI-0003YJ-BZ for ged-emacs-devel@m.gmane.org; Fri, 27 Jan 2017 20:11:00 +0100 Original-Received: from localhost ([::1]:47457 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cXBvN-0004RW-Hp for ged-emacs-devel@m.gmane.org; Fri, 27 Jan 2017 14:11:05 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:50633) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cXBvH-0004RD-D7 for emacs-devel@gnu.org; Fri, 27 Jan 2017 14:11:00 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cXBvD-0007MZ-Dt for emacs-devel@gnu.org; Fri, 27 Jan 2017 14:10:59 -0500 Original-Received: from mail-qt0-x236.google.com ([2607:f8b0:400d:c0d::236]:35050) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cXBvD-0007LJ-8q for emacs-devel@gnu.org; Fri, 27 Jan 2017 14:10:55 -0500 Original-Received: by mail-qt0-x236.google.com with SMTP id x49so149601099qtc.2 for ; Fri, 27 Jan 2017 11:10:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=udel-edu.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:mime-version; bh=w7O9Vs68ysb2k0xB22IjfBPqoHRoKZkj9b73XlNtyok=; b=JO0aXZ6ulojFXXABvIzi76CxU1EeZjQnWUAMD3dxB+e7lJp3uIstEZ29FX8zujOad1 mz04hcCoZSp1F7IGugQwKVtwgUFjpu1Os1EYbsqgAw/FnI2tatnrfEXRaMHajnnY9Vh7 w4A+PoUBlqw7SYiwajnCBaMJpSDt9WJYTzJXIs0HhjJagqmcuKEWsQQVrEOrMintmF16 oY7kD9NZAbaq7qj1n5g3DMkWC7GkeXDH2daOt1jS5tnlOj7QpwTmJYikNsEfzylrI08Y zKssZxR0R5v84M+mDyHjSjiyZTjMjntff07sArfKwjThtSokdM0AZ6znteq0XTj2VuP8 7g1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version; bh=w7O9Vs68ysb2k0xB22IjfBPqoHRoKZkj9b73XlNtyok=; b=oFIk6XEnskp4xivpI4fW8m/n1rN1ZouTSy8v4gcoNsUvBURlHL6hi5B/xraKqznxVW vvzsuGKE7CyMG+HCDw8S9jwpUuZL/uoMwJEj4xIMt22kNdeIBt2mlkEdz2D3Cgflulxr 8aAPhgwxwfzQQ+YCX47TOumXZxTnUYpGei8I+47Exp/bjiiy1PJ5se9W2PNc0TkMcAmU bOt39XGHwKQjVm32eGgdAvSAjyEZTfe00QoLnu6dIvd/hMpyvXeXJSxrLcB2ZTGUVC1+ uFU80tKzlWp0+w0YUXEqhyg+qjwPHoqE0mUA8jH1URKGg6GQaDlUxCJeyFZZYXDrTixz LXvw== X-Gm-Message-State: AIkVDXI4mH88Dj+rAkYbcd3F4VO8066/5y5Ku0X3cpmPNmzCy2s8twr4htSAoDRAg5TbSzh7 X-Received: by 10.200.53.50 with SMTP id y47mr9202774qtb.114.1485544252710; Fri, 27 Jan 2017 11:10:52 -0800 (PST) Original-Received: from holos.localdomain (pool-173-67-40-97.bltmmd.fios.verizon.net. [173.67.40.97]) by smtp.gmail.com with ESMTPSA id w138sm4859262qka.27.2017.01.27.11.10.52 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 27 Jan 2017 11:10:52 -0800 (PST) Original-Received: by holos.localdomain (Postfix, from userid 1000) id B70AF66372; Fri, 27 Jan 2017 14:10:51 -0500 (EST) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2607:f8b0:400d:c0d::236 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:211650 Archived-At: Two things: - it would be nice if eww looked a little harder for an existing downloads directory. Perhaps what's below is too much, comments welcome - currently if eww-download-directory isn't accessible, emacs will download a file and the sentinel will fail, and one is left with a hidden buffer with the downloaded contents and no saved file. Easy solution: fail early by checking with access-file diff --git a/lisp/net/eww.el b/lisp/net/eww.el index 0282fe68e6..6c62729849 100644 --- a/lisp/net/eww.el +++ b/lisp/net/eww.el @@ -55,9 +55,20 @@ eww-search-prefix :group 'eww :type 'string) -(defcustom eww-download-directory "~/Downloads/" +(defcustom eww-download-directory + (cond + ((memq system-type '(ms-dos windows-nt cygwin)) + (expand-file-name "Downloads" (getenv "USERPROFILE"))) + ((cl-some + (lambda (str) + (let ((f (expand-file-name str "~"))) + (and (file-directory-p f) + (string-match-p "downloads?" (downcase f)) + (abbreviate-file-name f)))) + (directory-files "~"))) + (t "~/Downloads/")) "Directory where files will downloaded." - :version "24.4" + :version "26.1" :group 'eww :type 'directory) @@ -1501,6 +1512,7 @@ eww-copy-page-url (defun eww-download () "Download URL under point to `eww-download-directory'." (interactive) + (access-file eww-download-directory "Download failed") (let ((url (get-text-property (point) 'shr-url))) (if (not url) (message "No URL under point")