branch: externals/denote
commit 98e5263b942a15bbf1f6dd5059cd5ad671a34403
Author: Protesilaos Stavrou <[email protected]>
Commit: Protesilaos Stavrou <[email protected]>
Harden denote-retrieve-filename-title; clarify doc
---
README.org | 3 ++-
denote.el | 14 +++++++-------
2 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/README.org b/README.org
index 91483e0360..336ddfa380 100644
--- a/README.org
+++ b/README.org
@@ -2158,7 +2158,8 @@ might change them without further notice.
#+findex: denote-retrieve-filename-title
+ ~denote-retrieve-filename-title~ :: Extract title from =FILE= name,
- else return ~file-name-base~.
+ else return ~file-name-base~. Run ~denote-desluggify~ on the title if
+ the extraction is successful.
#+findex: denote-retrieve-title-value
+ ~denote-retrieve-title-value~ :: Return title value from =FILE= front
diff --git a/denote.el b/denote.el
index c14e1a0096..46045f429f 100644
--- a/denote.el
+++ b/denote.el
@@ -981,13 +981,13 @@ To only return an existing identifier, refer to the
function
"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)
- (denote-file-has-identifier-p file))
- (denote-desluggify
- (progn
- (string-match denote--title-regexp file)
- (match-string 1 file)))
+ "Extract title from FILE name, else return `file-name-base'.
+Run `denote-desluggify' on title if the extraction is sucessful."
+ (if-let* (((file-exists-p file))
+ ((denote-file-has-identifier-p file))
+ ((string-match denote--title-regexp file))
+ (title (match-string 1 file)))
+ (denote-desluggify title)
(file-name-base file)))
(define-obsolete-function-alias