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

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

[elpa] externals/denote a74adca476 3/4: Remove private function; make in


From: ELPA Syncer
Subject: [elpa] externals/denote a74adca476 3/4: Remove private function; make internal adjustments
Date: Sun, 25 Sep 2022 23:57:31 -0400 (EDT)

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

    Remove private function; make internal adjustments
    
    This was the right moment to also address the TODO about the
    buttonisation of links outside the 'denote-directory'.
---
 denote.el | 41 +++++++++++++++--------------------------
 1 file changed, 15 insertions(+), 26 deletions(-)

diff --git a/denote.el b/denote.el
index 485a8a5d08..4cf1a5cc94 100644
--- a/denote.el
+++ b/denote.el
@@ -539,20 +539,14 @@ FILE must be an absolute path."
   'denote-get-file-name-relative-to-denote-directory
   "1.0.0")
 
-;; TODO 2022-09-14: Do we actually need the following two given the
-;; above predicate functions?
+;; TODO 2022-09-26: Maybe we can consolidate this with
+;; `denote--dir-in-denote-directory-p'?  Another check for the
+;; directory prefix is done in `denote-file-is-note-p'.
 (defun denote--default-dir-has-denote-prefix ()
   "Test `default-directory' for variable `denote-directory' prefix."
   (string-prefix-p (denote-directory)
                    (expand-file-name default-directory)))
 
-(defun denote--current-file-is-note-p ()
-  "Return non-nil if current file likely is a Denote note."
-  (and (buffer-file-name)
-       (or (string-match-p denote--id-regexp (buffer-file-name))
-           (string-match-p denote--id-regexp (buffer-name)))
-       (denote--default-dir-has-denote-prefix)))
-
 (defun denote-directory-files ()
   "Return list of absolute file paths in variable `denote-directory'.
 The returned files only need to have an identifier.  This may
@@ -2347,13 +2341,8 @@ this.
 When called from Lisp, with optional BEG and END as buffer
 positions, limit the process to the region in-between."
   (interactive)
-  ;; TODO 2022-09-05: Perhaps we need a more relaxed check that does not
-  ;; account for the `denote-directory' instead of
-  ;; `denote--current-file-is-note-p'?  For the use-case, see commit
-  ;; a3cc59a.  Basically, a 'denote:' link will work for as long as the
-  ;; target file is in the `denote-directory'.  So why not buttonize
-  ;; those links even from outside the `denote-directory'?
-  (when (and (not (derived-mode-p 'org-mode)) (denote--current-file-is-note-p))
+  (when (and (not (derived-mode-p 'org-mode))
+             (denote-file-has-identifier-p (buffer-file-name)))
     (save-excursion
       (goto-char (or beg (point-min)))
       (while (re-search-forward denote--id-regexp end t)
@@ -2611,16 +2600,16 @@ interface by first selecting the `denote:' hyperlink 
type."
 
 (defun denote-link-ol-store()
   "Handler for `org-store-link' adding support for denote: links."
-  (when (denote--current-file-is-note-p)
-    (let* ((file (buffer-file-name))
-           (file-type (denote-filetype-heuristics file))
-           (file-id (denote-retrieve-filename-identifier file))
-           (file-title (denote--retrieve-title-or-filename file file-type)))
-      (org-link-store-props
-       :type "denote"
-       :description file-title
-       :link (concat "denote:" file-id)))
-    org-store-link-plist))
+  (when-let* ((file (buffer-file-name))
+              (denote-file-is-note-p file)
+              (file-type (denote-filetype-heuristics file))
+              (file-id (denote-retrieve-filename-identifier file))
+              (file-title (denote--retrieve-title-or-filename file file-type)))
+    (org-link-store-props
+     :type "denote"
+     :description file-title
+     :link (concat "denote:" file-id)))
+  org-store-link-plist)
 
 (defun denote-link-ol-export (link description format)
   "Export a `denote:' link from Org files.



reply via email to

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