summaryrefslogtreecommitdiff
path: root/bog.el
diff options
context:
space:
mode:
Diffstat (limited to 'bog.el')
-rw-r--r--bog.el51
1 files changed, 28 insertions, 23 deletions
diff --git a/bog.el b/bog.el
index acb8047..d8b04c1 100644
--- a/bog.el
+++ b/bog.el
@@ -1,12 +1,12 @@
;;; bog.el --- Extensions for research notes in Org mode -*- lexical-binding: t -*-
;; Copyright (C) 2013-2016 Kyle Meyer <kyle@kyleam.com>
-;; Copyright (C) 2020 Basil L. Contovounesios <contovob@tcd.ie>
+;; Copyright (C) 2020-2023 Basil L. Contovounesios <basil@contovou.net>
;; Author: Kyle Meyer <kyle@kyleam.com>
;; URL: https://github.com/kyleam/bog
;; Keywords: bib, outlines
-;; Version: 1.3.2
+;; Version: 1.3.3
;; Package-Requires: ((cl-lib "0.5"))
;; This program is free software; you can redistribute it and/or modify
@@ -517,15 +517,12 @@ If NO-CONTEXT is non-nil, immediately fall back."
"List citekeys that appear in notes but don't have a heading.
With prefix argument FILE, include only orphan citekeys from that
file."
- (interactive (list (and current-prefix-arg
- (bog-read-note-file-name))))
- (let ((files (or (and file (list file))
- (bog-notes)))
- (heading-cks (bog-all-heading-citekeys))
- (bufname "*Bog orphan citekeys*"))
- (with-current-buffer (get-buffer-create bufname)
+ (interactive (and current-prefix-arg
+ (list (bog-read-note-file-name))))
+ (let ((files (if file (list file) (bog-notes)))
+ (heading-cks (bog-all-heading-citekeys)))
+ (with-current-buffer (get-buffer-create "*Bog orphan citekeys*")
(erase-buffer)
- (insert "\n")
(dolist (file files)
(let* ((text-cks (bog-non-heading-citekeys-in-file file))
(nohead-cks (bog--set-difference text-cks heading-cks)))
@@ -533,11 +530,15 @@ file."
(insert (format "* %s\n\n%s\n\n"
(file-name-nondirectory file)
(mapconcat #'identity nohead-cks "\n"))))))
- (org-mode)
- (bog-mode 1)
- (bog--outline-show-all)
- (goto-char (point-min)))
- (pop-to-buffer bufname)))
+ (if (> (buffer-size) 0)
+ (progn
+ (org-mode)
+ (bog-mode)
+ (bog--outline-show-all)
+ (goto-char (point-min))
+ (pop-to-buffer (current-buffer)))
+ (kill-buffer)
+ (message "No orphans found")))))
(defun bog-list-duplicate-heading-citekeys (&optional clear-cache)
"List citekeys that have more than one heading.
@@ -554,7 +555,7 @@ is only active if `bog-use-citekey-cache' is non-nil)."
(kill-buffer bufname)))
(with-current-buffer (get-buffer-create bufname)
(erase-buffer)
- (insert (mapconcat #'identity dup-cks "\n"))
+ (insert (mapconcat #'identity dup-cks "\n") ?\n)
(org-mode)
(bog-mode 1)
(goto-char (point-min)))
@@ -795,7 +796,6 @@ Generate a file name with the form
(with-current-buffer (get-buffer-create "*Bog orphan files*")
(erase-buffer)
(setq default-directory bog-root-directory)
- (insert ?\n)
(with-syntax-table bog-citekey-syntax-table
(dolist (ck-file (bog-all-citekey-files))
(let ((base-name (file-name-nondirectory ck-file))
@@ -808,7 +808,7 @@ Generate a file name with the form
(file-relative-name ck-file)))))))
(goto-char (point-min))
(org-mode)
- (if (/= (buffer-size) 1)
+ (if (> (buffer-size) 0)
(pop-to-buffer (current-buffer))
(message "No orphans found")
(kill-buffer)))))
@@ -976,8 +976,7 @@ instead of citekeys from file names in `bog-bib-directory'."
(with-current-buffer (get-buffer-create orphan-bufname)
(erase-buffer)
(setq default-directory bog-root-directory)
- (insert ?\n)
- (insert (mapconcat #'identity orphans "\n"))
+ (insert (mapconcat #'identity orphans "\n") ?\n)
(goto-char (point-min))
(org-mode)
(pop-to-buffer (current-buffer)))
@@ -1033,6 +1032,12 @@ Groups are specified by `bog-citekey-web-search-groups'."
;;; Notes-related
+;; `org-show-context' is obsolete as of Org 9.6.
+(defalias 'bog--fold-show-context
+ (if (fboundp 'org-fold-show-context)
+ #'org-fold-show-context
+ 'org-show-context))
+
;;;###autoload
(defun bog-goto-citekey-heading-in-notes (&optional no-context)
"Find citekey heading in notes.
@@ -1063,7 +1068,7 @@ buffer, the narrowing is removed."
(> marker (point-max)))
(widen))
(goto-char marker)
- (org-show-context))))
+ (bog--fold-show-context))))
(defun bog--find-citekey-heading-in-buffer (citekey &optional pos-only)
"Return the marker of heading for CITEKEY.
@@ -1333,7 +1338,7 @@ With argument ARG, do it ARG times."
(re-search-forward bog-citekey-format nil t))
(unless (org-at-heading-p)
(setq arg (1- arg))))))
- (org-show-context)))
+ (bog--fold-show-context)))
;;;###autoload
(defun bog-previous-non-heading-citekey (&optional arg)
@@ -1348,7 +1353,7 @@ With argument ARG, do it ARG times."
(unless (org-at-heading-p)
(setq arg (1- arg)))))
(skip-syntax-backward "w"))
- (org-show-context))
+ (bog--fold-show-context))
;;;###autoload
(defun bog-jump-to-topic-heading ()