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

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

[elpa] externals/denote f90d151f68 1/5: Make denote-retrieve-or-create-f


From: ELPA Syncer
Subject: [elpa] externals/denote f90d151f68 1/5: Make denote-retrieve-or-create-file-identifier public
Date: Wed, 14 Sep 2022 03:57:33 -0400 (EDT)

branch: externals/denote
commit f90d151f68fbad6a460cd40dc393449687f0b192
Author: Protesilaos Stavrou <info@protesilaos.com>
Commit: Protesilaos Stavrou <info@protesilaos.com>

    Make denote-retrieve-or-create-file-identifier public
    
    We are working towards version 1.0.0.  The idea is to provide functions
    that users/developers can rely on.  By making them public (removing the
    double hyphens) we signify that those forms are (i) in a stable
    state, and (ii) any change to them will be handled with care and
    documented accordingly.
---
 denote.el | 41 ++++++++++++++++++++++++++---------------
 1 file changed, 26 insertions(+), 15 deletions(-)

diff --git a/denote.el b/denote.el
index 6319b5deda..6994da7096 100644
--- a/denote.el
+++ b/denote.el
@@ -873,7 +873,9 @@ contain the newline."
 ;;;; Front matter or content retrieval functions
 
 (defun denote-retrieve-filename-identifier (file)
-  "Extract identifier from FILE name."
+  "Extract identifier from FILE name.
+To only 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)
@@ -885,6 +887,21 @@ contain the newline."
   'denote-retrieve-filename-identifier
   "1.0.0")
 
+(defun denote-retrieve-or-create-file-identifier (file)
+  "Return FILE identifier, else generate one.
+To only return an existing identifier, refer to the function
+`denote-retrieve-filename-identifier'."
+  (cond
+   ((string-match denote--id-regexp file)
+    (substring file (match-beginning 0) (match-end 0)))
+   ((denote--file-attributes-time file))
+   (t (format-time-string denote--id-format))))
+
+(define-obsolete-function-alias
+  'denote--file-name-id
+  'denote-retrieve-or-create-file-identifier
+  "1.0.0")
+
 (defun denote-retrieve-filename-title (file)
   "Extract title from FILE name, else return `file-name-base'."
   (if (and (file-exists-p file)
@@ -1433,14 +1450,6 @@ the file type is assumed to be the first of 
`denote-file-types'."
    denote--id-format
    (file-attribute-modification-time (file-attributes file))))
 
-(defun denote--file-name-id (file)
-  "Return FILE identifier, else generate one."
-  (cond
-   ((string-match denote--id-regexp file)
-    (substring file (match-beginning 0) (match-end 0)))
-   ((denote--file-attributes-time file))
-   (t (format-time-string denote--id-format))))
-
 (defun denote-update-dired-buffers ()
   "Update Dired buffers of variable `denote-directory'."
   (mapc
@@ -1634,7 +1643,7 @@ files)."
        (denote--retrieve-title-or-filename file file-type))
       (denote-keywords-prompt))))
   (let* ((dir (file-name-directory file))
-         (id (denote--file-name-id file))
+         (id (denote-retrieve-or-create-file-identifier file))
          (extension (file-name-extension file t))
          (file-type (denote-filetype-heuristics file))
          (new-name (denote--format-file
@@ -1698,7 +1707,7 @@ The operation does the following:
           (progn
             (dolist (file marks)
               (let* ((dir (file-name-directory file))
-                     (id (denote--file-name-id file))
+                     (id (denote-retrieve-or-create-file-identifier file))
                      (file-type (denote-filetype-heuristics file))
                      (title (denote--retrieve-title-or-filename file 
file-type))
                      (extension (file-name-extension file t))
@@ -1744,7 +1753,7 @@ typos and the like."
             (title (denote-retrieve-title-value file file-type))
             (keywords (denote-retrieve-keywords-value file file-type))
             (extension (file-name-extension file t))
-            (id (denote--file-name-id file))
+            (id (denote-retrieve-or-create-file-identifier file))
             (dir (file-name-directory file))
             (new-name (denote--format-file
                        dir id keywords (denote--sluggify title) extension)))
@@ -1790,7 +1799,7 @@ their respective front matter."
       (progn
         (dolist (file marks)
           (let* ((dir (file-name-directory file))
-                 (id (denote--file-name-id file))
+                 (id (denote-retrieve-or-create-file-identifier file))
                  (file-type (denote-filetype-heuristics file))
                  (title (denote-retrieve-title-value file file-type))
                  (keywords (denote-retrieve-keywords-value file file-type))
@@ -1838,8 +1847,10 @@ relevant front matter."
     (denote-title-prompt)
     (denote-keywords-prompt)))
   (when (denote--writable-and-supported-p file)
-    (denote--add-front-matter file title keywords (denote--file-name-id file)
-                              (denote-filetype-heuristics file))))
+    (denote--add-front-matter
+     file title keywords
+     (denote-retrieve-or-create-file-identifier file)
+     (denote-filetype-heuristics file))))
 
 ;;;; The Denote faces
 



reply via email to

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