branch: externals/org-real commit 80d49f12575d85bfe5033e16cde721e31e5badd4 Merge: c191844 3031e19 Author: Tyler Grinn <ty...@tygr.info> Commit: Tyler Grinn <ty...@tygr.info>
Merge branch 'next' into 'main' v1.0.3 Bug fixes * Added org 9.3 dependency * Added 'ol to autoloads for org-link-set-parameters * Removed reimplementation of org-link-make-string See merge request tygrdev/org-real!14 --- .gitignore | 2 ++ Eldev | 6 +++++- demo/garage.org | 32 ++++++++++++++++---------------- deps/boxy | 2 +- org-real.el | 38 ++++++++++++-------------------------- 5 files changed, 36 insertions(+), 44 deletions(-) diff --git a/.gitignore b/.gitignore index f67a22e..7c2927c 100644 --- a/.gitignore +++ b/.gitignore @@ -3,5 +3,7 @@ /Eldev-local /dist *.elc +*-autoloads.el + diff --git a/Eldev b/Eldev index a46205d..4d346c4 100644 --- a/Eldev +++ b/Eldev @@ -1,7 +1,11 @@ ; -*- mode: emacs-lisp; lexical-binding: t -*- +(eldev-use-package-archive 'gnu) + (setq eldev-standard-excludes '(".*" "/dist/" "/deps/")) +(eldev-use-plugin 'autoloads) + (eldev-use-local-dependency "deps/boxy" 'packaged) (eldev-defcommand @@ -37,7 +41,7 @@ "\033[0;32mPASS\033[0m" "\033[0;31mFAIL\033[0m") title) - (if (not result) + (if (and (not result) (fboundp 'diff-buffers)) (let ((expected (get-expected))) (save-window-excursion (with-temp-buffer diff --git a/demo/garage.org b/demo/garage.org index ca2c554..abded66 100644 --- a/demo/garage.org +++ b/demo/garage.org @@ -1,17 +1,17 @@ * Items in the garage - - [[real://garage/workbench][workbench]] - - [[real://garage/workbench/paintbrush?rel=in front of][paintbrush]] - - [[real://garage/workbench/paintbrush?rel=in front of/wrench?rel=to the left of][wrench]] - - [[real://garage/workbench/nails?rel=on top of/screwdriver?rel=on top of][screwdriver]] - - [[real://garage/workbench/ratchet?rel=on top of][ratchet]] - - [[real://garage/east wall/rake?rel=on/hoe?rel=to the left of/snowblower?rel=above/shovel?rel=above][shovel]] - - [[real://garage/east wall/rake?rel=on][rake]] - - [[real://garage/workbench/hammer?rel=on][hammer]] - - [[real://garage/east wall/rake?rel=on/hoe?rel=to the left of][hoe]] - - [[real://garage/car/air freshener][air freshener]] - - [[real://garage/workbench/nails?rel=on top of][nails]] - - [[real://garage/east wall][East wall]] - - [[real://garage/east wall/rake?rel=on/hoe?rel=to the left of/snowblower?rel=above][snowblower]] - - [[real://garage/workbench/nails?rel=on top of/screws?rel=above][screws]] - - [[real://garage/saw?rel=on][saw]] - - [[real://garage/workbench/paintbrush?rel=in front of/wrench?rel=to the left of/pliers?rel=below][pliers]] + - [[real://house/garage/workbench][workbench]] + - [[real://house/garage/workbench/paintbrush?rel=in front of][paintbrush]] + - [[real://house/garage/workbench/paintbrush?rel=in front of/wrench?rel=to the left of][wrench]] + - [[real://house/garage/workbench/nails?rel=on top of/screwdriver?rel=on top of][screwdriver]] + - [[real://house/garage/workbench/ratchet?rel=on top of][ratchet]] + - [[real://house/garage/east wall/rake?rel=on/hoe?rel=to the left of/snowblower?rel=above/shovel?rel=above][shovel]] + - [[real://house/garage/east wall/rake?rel=on][rake]] + - [[real://house/garage/workbench/hammer?rel=on][hammer]] + - [[real://house/garage/east wall/rake?rel=on/hoe?rel=to the left of][hoe]] + - [[real://house/garage/car/air freshener][air freshener]] + - [[real://house/garage/workbench/nails?rel=on top of][nails]] + - [[real://house/garage/east wall][East wall]] + - [[real://house/garage/east wall/rake?rel=on/hoe?rel=to the left of/snowblower?rel=above][snowblower]] + - [[real://house/garage/workbench/nails?rel=on top of/screws?rel=above][screws]] + - [[real://house/garage/saw?rel=on][saw]] + - [[real://house/garage/workbench/paintbrush?rel=in front of/wrench?rel=to the left of/pliers?rel=below][pliers]] diff --git a/deps/boxy b/deps/boxy index a20250a..bda3f52 160000 --- a/deps/boxy +++ b/deps/boxy @@ -1 +1 @@ -Subproject commit a20250aea0970b1afd58ff4fea11559866326664 +Subproject commit bda3f524f68a962ba36265882df39eafc80b6dfd diff --git a/org-real.el b/org-real.el index 1060618..670ad09 100644 --- a/org-real.el +++ b/org-real.el @@ -3,9 +3,9 @@ ;; Copyright (C) 2021 Free Software Foundation, Inc. ;; Author: Tyler Grinn <tylergr...@gmail.com> -;; Version: 1.0.2 +;; Version: 1.0.3 ;; File: org-real.el -;; Package-Requires: ((emacs "26.1") (boxy "1.0")) +;; Package-Requires: ((emacs "26.1") (boxy "1.0") (org "9.3")) ;; Keywords: tools ;; URL: https://gitlab.com/tygrdev/org-real @@ -49,17 +49,21 @@ ;;;; Requirements +;;;###autoload +(require 'ol) + (require 'boxy) (require 'eieio) (require 'org-element) (require 'cl-lib) (require 'ispell) (require 'url-parse) +(require 'subr-x) ;;;; Options (defgroup org-real nil - "Customization options for org-real" + "Customization options for org-real." :group 'applications) (defcustom org-real-margin-x 2 @@ -300,7 +304,7 @@ diagram." (org-in-regexp org-link-bracket-re 1) (match-end 2) (match-string-no-properties 2)))) - (new-link (org-real--link-make-string replace-link old-desc))) + (new-link (org-link-make-string replace-link old-desc))) (push `(lambda () (save-excursion @@ -517,7 +521,10 @@ level." ;;;; Utility expressions (defun org-real--find-last-index (pred sequence) - "Return the index of the last element for which (PRED element) is non-nil in SEQUENCE." + "Return the index of the last matching element. + +Calls (PRED element) for each element in SEQUENCE until a match +is found." (let ((i (- (length sequence) 1))) (catch 'match (mapc @@ -527,27 +534,6 @@ level." (reverse sequence)) nil))) -(defun org-real--link-make-string (link &optional description) - "Make a bracket link, consisting of LINK and DESCRIPTION. -LINK is escaped with backslashes for inclusion in buffer." - (let* ((zero-width-space (string ?\x200B)) - (description - (and (org-string-nw-p description) - ;; Description cannot contain two consecutive square - ;; brackets, or end with a square bracket. To prevent - ;; this, insert a zero width space character between - ;; the brackets, or at the end of the description. - (replace-regexp-in-string - "\\(]\\)\\(]\\)" - (concat "\\1" zero-width-space "\\2") - (replace-regexp-in-string "]\\'" - (concat "\\&" zero-width-space) - (org-trim description)))))) - (if (not (org-string-nw-p link)) description - (format "[[%s]%s]" - (org-link-escape link) - (if description (format "[%s]" description) ""))))) - (defun org-real--parse-url (str &optional marker) "Parse STR into a list of plists.