From 8bd9b241370588510f9cdd6df00926f18c69980d Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 21 Jun 2018 13:41:51 +0200 Subject: [PATCH] Add unset capability to set-file-template! --- modules/feature/file-templates/autoload.el | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/modules/feature/file-templates/autoload.el b/modules/feature/file-templates/autoload.el index 7109de471..bccb93a2e 100644 --- a/modules/feature/file-templates/autoload.el +++ b/modules/feature/file-templates/autoload.el @@ -1,5 +1,10 @@ ;;; feature/file-templates/autoload.el -*- lexical-binding: t; -*- +(defun +file-templates--set (pred plist) + (if (null (car-safe plist)) + (setq +file-templates-alist (map-delete +file-templates-alist pred)) + (push `(,pred ,@plist) +file-templates-alist))) + ;;;###autodef (defun set-file-template! (pred &rest plist) "Register a file template. @@ -23,13 +28,14 @@ these properties: If non-nil, don't expand any template for this file and don't test any other file template rule against this buffer." (after! (:when (boundp '+file-templates-alist)) - (push `(,pred ,@plist) +file-templates-alist))) + (+file-templates--set pred plist))) ;;;###autodef (defun set-file-templates! (&rest templates) "Like `set-file-templates!', but register many file templates at once." (after! (:when (boundp '+file-templates-alist)) - (setq +file-templates-alist (append (list templates) +file-templates-alist)))) + (dolist (template templates) + (+file-templates--set (car template) (cdr template))))) ;; FIXME obsolete :file-template ;;;###autoload