aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Ingebrigtsen2016-02-23 12:51:24 +1100
committerLars Ingebrigtsen2016-02-23 12:51:24 +1100
commitdfcdc1cbed773041e907a389b8901ca845af49bb (patch)
treef70889e1028b5d860b166fc86944116e09a148c1
parentad1879b7be9f641250e7616d4630eb29a3fa6a52 (diff)
downloademacs-dfcdc1cbed773041e907a389b8901ca845af49bb.tar.gz
emacs-dfcdc1cbed773041e907a389b8901ca845af49bb.zip
Allow deleting all non-matching cookies
* lisp/url/url-cookie.el (url-cookie-delete-cookies): Allow keeping matching cookies (bug#22720).
-rw-r--r--lisp/url/url-cookie.el13
1 files changed, 9 insertions, 4 deletions
diff --git a/lisp/url/url-cookie.el b/lisp/url/url-cookie.el
index a4b7a58fdf3..6848230c28f 100644
--- a/lisp/url/url-cookie.el
+++ b/lisp/url/url-cookie.el
@@ -353,14 +353,19 @@ to run the `url-cookie-setup-save-timer' function manually."
353 url-cookie-save-interval 353 url-cookie-save-interval
354 #'url-cookie-write-file)))) 354 #'url-cookie-write-file))))
355 355
356(defun url-cookie-delete-cookies (&optional regexp) 356(defun url-cookie-delete-cookies (&optional regexp keep)
357 "Delete all cookies from the cookie store where the domain matches REGEXP. 357 "Delete all cookies from the cookie store where the domain matches REGEXP.
358If REGEXP is nil, all cookies are deleted." 358If REGEXP is nil, all cookies are deleted. If KEEP is non-nil,
359instead delete all cookies that do not match REGEXP."
359 (dolist (variable '(url-cookie-secure-storage url-cookie-storage)) 360 (dolist (variable '(url-cookie-secure-storage url-cookie-storage))
360 (let ((cookies (symbol-value variable))) 361 (let ((cookies (symbol-value variable)))
361 (dolist (elem cookies) 362 (dolist (elem cookies)
362 (when (or (null regexp) 363 (when (or (and (null keep)
363 (string-match regexp (car elem))) 364 (or (null regexp)
365 (string-match regexp (car elem))))
366 (and keep
367 regexp
368 (not (string-match regexp (car elem)))))
364 (setq cookies (delq elem cookies)))) 369 (setq cookies (delq elem cookies))))
365 (set variable cookies))) 370 (set variable cookies)))
366 (setq url-cookies-changed-since-last-save t) 371 (setq url-cookies-changed-since-last-save t)