emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[elpa] externals/denote a090eb007c 04/11: Add optional parameter no-erro


From: ELPA Syncer
Subject: [elpa] externals/denote a090eb007c 04/11: Add optional parameter no-error to denote-retrieve-filename-identifier
Date: Sun, 8 Oct 2023 03:57:49 -0400 (EDT)

branch: externals/denote
commit a090eb007c772adf32975ad791c1c17baa12b44f
Author: Jean-Philippe Gagné Guay <jeanphilippe150@gmail.com>
Commit: Jean-Philippe Gagné Guay <jeanphilippe150@gmail.com>

    Add optional parameter no-error to denote-retrieve-filename-identifier
---
 denote.el | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/denote.el b/denote.el
index 3f7fbab817..b29190702a 100644
--- a/denote.el
+++ b/denote.el
@@ -1334,15 +1334,18 @@ contain the newline."
 
 ;;;; Front matter or content retrieval functions
 
-(defun denote-retrieve-filename-identifier (file)
+(defun denote-retrieve-filename-identifier (file &optional no-error)
   "Extract identifier from FILE name.
-To return an existing identifier or create a new one, refer to
-the function `denote-retrieve-or-create-file-identifier'."
-  (if (denote-file-has-identifier-p file)
-      (progn
-        (string-match denote-id-regexp file)
-        (match-string 0 file))
-    (error "Cannot find `%s' as a file with a Denote identifier" file)))
+If NO-ERROR is nil and an identifier is not found, return an
+error, else return nil.
+
+To create a new one, refer to the function
+`denote-create-unique-file-identifier'."
+  (let ((file-name (file-name-nondirectory file)))
+    (if (string-match (concat "\\`" denote-id-regexp) file-name)
+        (match-string-no-properties 0 file-name)
+      (when (not no-error)
+        (error "Cannot find `%s' as a file with a Denote identifier" file)))))
 
 (define-obsolete-function-alias
   'denote--retrieve-filename-identifier



reply via email to

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