emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master dfcdc1c: Allow deleting all non-matching cookies


From: Lars Ingebrigtsen
Subject: [Emacs-diffs] master dfcdc1c: Allow deleting all non-matching cookies
Date: Tue, 23 Feb 2016 01:52:39 +0000

branch: master
commit dfcdc1cbed773041e907a389b8901ca845af49bb
Author: Lars Ingebrigtsen <address@hidden>
Commit: Lars Ingebrigtsen <address@hidden>

    Allow deleting all non-matching cookies
    
    * lisp/url/url-cookie.el (url-cookie-delete-cookies): Allow
    keeping matching cookies (bug#22720).
---
 lisp/url/url-cookie.el |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/lisp/url/url-cookie.el b/lisp/url/url-cookie.el
index a4b7a58..6848230 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."
                                          url-cookie-save-interval
                                          #'url-cookie-write-file))))
 
-(defun url-cookie-delete-cookies (&optional regexp)
+(defun url-cookie-delete-cookies (&optional regexp keep)
   "Delete all cookies from the cookie store where the domain matches REGEXP.
-If REGEXP is nil, all cookies are deleted."
+If REGEXP is nil, all cookies are deleted.  If KEEP is non-nil,
+instead delete all cookies that do not match REGEXP."
   (dolist (variable '(url-cookie-secure-storage url-cookie-storage))
     (let ((cookies (symbol-value variable)))
       (dolist (elem cookies)
-        (when (or (null regexp)
-                  (string-match regexp (car elem)))
+        (when (or (and (null keep)
+                       (or (null regexp)
+                           (string-match regexp (car elem))))
+                  (and keep
+                       regexp
+                       (not (string-match regexp (car elem)))))
           (setq cookies (delq elem cookies))))
       (set variable cookies)))
   (setq url-cookies-changed-since-last-save t)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]