From: Philip K Date: Wed, 5 Aug 2020 20:57:01 +0000 (+0200) Subject: Remove usages of assoc-delete-all in project.el X-Git-Tag: emacs-28.0.90~6786 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=cc365ca6d8ce24b882a39a062ce64f796693f974;p=emacs.git Remove usages of assoc-delete-all in project.el assoc-delete-all is not available for users who have installed project.el via ELPA on older Emacs versions (bug#42668). * lisp/progmodes/project.el (project-remember-project, project--remove-from-project-list): Replace assoc-delete-all with equivalent alternatives. --- diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el index 51b9347bb93..b6161351f0b 100644 --- a/lisp/progmodes/project.el +++ b/lisp/progmodes/project.el @@ -1166,7 +1166,9 @@ Save the result in `project-list-file' if the list of projects has changed." (project--ensure-read-project-list) (let ((dir (project-root pr))) (unless (equal (caar project--list) dir) - (setq project--list (assoc-delete-all dir project--list)) + (dolist (ent project--list) + (when (equal dir (car ent)) + (setq project--list (delq ent project--list)))) (push (list dir) project--list) (project--write-project-list)))) @@ -1176,8 +1178,8 @@ If the directory was in the list before the removal, save the result in `project-list-file'. Announce the project's removal from the list." (project--ensure-read-project-list) - (when (assoc pr-dir project--list) - (setq project--list (assoc-delete-all pr-dir project--list)) + (when-let ((ent (assoc pr-dir project--list))) + (setq project--list (delq ent project--list)) (message "Project `%s' not found; removed from list" pr-dir) (project--write-project-list)))