From f49c1837f3a47a28483548068641cd57bdacaa98 Mon Sep 17 00:00:00 2001 From: Jethro Kuan Date: Thu, 6 Feb 2020 16:05:22 +0800 Subject: [PATCH] Add polyfill for make-empty-file make-empty-file was only introduced in Emacs 27, which some people are not yet running --- org-roam-polyfill.el | 18 ++++++++++++++++++ org-roam.el | 1 + 2 files changed, 19 insertions(+) create mode 100644 org-roam-polyfill.el diff --git a/org-roam-polyfill.el b/org-roam-polyfill.el new file mode 100644 index 0000000..8515d2a --- /dev/null +++ b/org-roam-polyfill.el @@ -0,0 +1,18 @@ +;; Introduced in Emacs 27.1 +(unless (fboundp 'make-empty-file) + (defun make-empty-file (filename &optional parents) + "Create an empty file FILENAME. +Optional arg PARENTS, if non-nil then creates parent dirs as needed. + +If called interactively, then PARENTS is non-nil." + (interactive + (let ((filename (read-file-name "Create empty file: "))) + (list filename t))) + (when (and (file-exists-p filename) (null parents)) + (signal 'file-already-exists `("File exists" ,filename))) + (let ((paren-dir (file-name-directory filename))) + (when (and paren-dir (not (file-exists-p paren-dir))) + (make-directory paren-dir parents))) + (write-region "" nil filename nil 0))) + +(provide'org-roam-polyfill) diff --git a/org-roam.el b/org-roam.el index db56408..2247972 100644 --- a/org-roam.el +++ b/org-roam.el @@ -5,6 +5,7 @@ ;;; Code: (require 'deft) +(require 'org-roam-polyfill) (require 'org-element) (require 'async) (require 'subr-x)