[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/hyperbole 721ab10894 063/143: hsys-flymake.el improveme
From: |
ELPA Syncer |
Subject: |
[elpa] externals/hyperbole 721ab10894 063/143: hsys-flymake.el improvements; hyrolo-tests.el improvements |
Date: |
Mon, 19 Feb 2024 15:58:59 -0500 (EST) |
branch: externals/hyperbole
commit 721ab10894825bf725de4de909602e499080541f
Author: bw <rsw@gnu.org>
Commit: bw <rsw@gnu.org>
hsys-flymake.el improvements; hyrolo-tests.el improvements
*HyRolo* buffer {n} and {p} improvements across file headers but
not fully finished.
---
ChangeLog | 21 ++++++++
hibtypes.el | 8 +--
hsys-flymake.el | 66 +++++++++++++++--------
hui-mouse.el | 3 +-
hyrolo.el | 108 +++++++++++++++++++++++++------------
man/hyperbole.texi | 6 +--
test/hyrolo-tests.el | 146 +++++++++++++++++++++++++--------------------------
7 files changed, 216 insertions(+), 142 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index b6f5e6b1ee..82e0c02ec3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,24 @@
+2024-01-04 Bob Weiner <rsw@gnu.org>
+
+* hyrolo.el (hyrolo-org-mode): Force font-lock-mode off in this major mode for
speed.
+
+* hui-mouse.el (hsys-flymake): Move loading of this library here from
"hibtypes.el".
+ hsys-flymake.el (hsys-flymake-issue-at-point,
hsys-flymake-issue-at-point:help):
+ Remove this ibtype and its :help function. Hyperbole uses 'hkey-alist'
Smart
+ Key invocations of functions from this file instead now.
+ Also, add documentation of all commands and key bindings.
+
+* test/hyrolo-tests.el: Changed all 'header' to 'heading'.
+ (hyrolo-tests--generate-heading-contents-for-tests): Generalized to take
+ a 'heading-prefix-char' argument, to allow for markdown outline generation
+ as well.
+
+* hyrolo.el (hyrolo-hdr-move-after-p): Fix and improve to handle point
+ anywhere within a file header, not just on delim or loc lines.
+ (hyrolo-outline-next-visible-heading,
+ hyrolo-outline-previous-visible-heading): Fix to handle file
+ headers properly when moving more than one entry at a time.
+
2024-01-03 Bob Weiner <rsw@gnu.org>
* hui-mouse.el (smart-eolp): Change 'hsys-flymake-get-issue-at-point' to
diff --git a/hibtypes.el b/hibtypes.el
index e1e9bee453..b32db16f28 100644
--- a/hibtypes.el
+++ b/hibtypes.el
@@ -3,7 +3,7 @@
;; Author: Bob Weiner
;;
;; Orig-Date: 19-Sep-91 at 20:45:31
-;; Last-Mod: 3-Jan-24 at 23:34:58 by Mats Lidell
+;; Last-Mod: 4-Jan-24 at 22:48:49 by Bob Weiner
;;
;; SPDX-License-Identifier: GPL-3.0-or-later
;;
@@ -88,12 +88,6 @@
;; them. Use load instead to ensure are reloaded when resetting
;; ibtype priorities.
-;;; ========================================================================
-;;; Keymap with repeat and source buffer control for flymake code linter
-;;; ========================================================================
-
-(load "hsys-flymake")
-
;;; ========================================================================
;;; Jumps to source line from Python traceback lines
;;; ========================================================================
diff --git a/hsys-flymake.el b/hsys-flymake.el
index 09e96159e2..10d167972f 100644
--- a/hsys-flymake.el
+++ b/hsys-flymake.el
@@ -7,7 +7,7 @@
;; E-mail: rsw@gnu.org
;;
;; Orig-Date: 31-Dec-23 at 13:54:08
-;; Last-Mod: 4-Jan-24 at 10:18:18 by Mats Lidell
+;; Last-Mod: 4-Jan-24 at 22:51:11 by Bob Weiner
;;
;; SPDX-License-Identifier: GPL-3.0-or-later
;;
@@ -21,15 +21,51 @@
;; These functions all work in the source code buffer, not the flymake
;; diagnostics buffer.
;;
-;; We want to load this so the implicit button type defined herein
-;; takes effect, but we don't require `flymake-mode' or
-;; `repeat-mode'. Instead we leave it to each function to check
-;; whether it is enabled and active in the current buffer. This way,
-;; if the user never uses `flymake-mode' that library is never loaded
-;; and the implicit button type never triggers.
+;; This library defines the following key bindings and associated functions.
+;;
+;; {C-c C-l t} - `hsys-flymake-toggle' - Global binding to toggle whether
+;; flymake minor mode is enabled in the current buffer.
+;;
+;; The rest of these key bindings are local and enabled only when flymake
+;; minor mode is enabled.
+;;
+;; {C-c C-l d} - `flymake-show-buffer-diagnostics' - Display list of flymake
+;; issues with this buffer.
+;;
+;; {C-c C-l g} - `hsys-flymake-display-this-or-next-issue' - Display issue
at
+;; point or if no issue there, move to next issue location and display it.
+;;
+;; {C-c C-l i} - `hsys-flymake-insert-issue-at-point' - Insert issue at
point
+;; on a separate new line below the current line so that its text can be
+;; utilized.
+;;
+;; {C-c C-l l} - `flymake-switch-to-log-buffer' - For developers of new
+;; language flymake backends: Jump to a log of internal flymake processing.
+;;
+;; {C-c C-l n} - `flymake-goto-next-error' - In source buffer, move to next
+;; flymake issue. Wrap around at the end of the buffer if
+;; `flymake-wrap-around' is non-nil. Repeat with {n}.
+;;
+;; {C-c C-l p} - `flymake-goto-prev-error' - In source buffer, move to
+;; previous flymake issue. Wrap around at the beginning of the buffer
+;; if `flymake-wrap-around' is non-nil. Repeat with {p}.
+;;
+;; {C-c C-l s} - `flymake-start' - Force a run of flymake to update issues
+;; with the current buffer.
+;;
+;; {C-c C-l w} - `hsys-flymake-toggle-wraparound' - Toggle whether next
+;; and previous issue commands wrap around at the end and beginning of the
+;; buffer. Repeat with {w}.
;;
;;; Code:
+;; Don't require `flymake-mode' or `repeat-mode' here. Instead we
+;; leave it to each function to check whether `flymake-mode' is
+;; enabled and active in the current buffer. This way, if the user
+;; never uses `flymake-mode' that library is never loaded and the
+;; Smart Key context from `hkey-alist' in "hui-mouse.el" that invokes
+;; functions from herein, never triggers.
+
(require 'hbut)
;;; ************************************************************************
@@ -46,22 +82,6 @@
;;; Public functions
;;; ************************************************************************
-(defib hsys-flymake-issue-at-point ()
- "Display the flymake diagnostic issue at source buffer point, if any."
- (let ((issue (hsys-flymake-get-issue-at-position)))
- (when issue
- (ibut:label-set issue)
- (hact 'message issue))))
-
-(defun hsys-flymake-issue-at-point:help (ibut)
- "With flymake enabled and point on its highlighted text, insert the issue."
- (interactive)
- (let ((issue (car (hattr:get ibut 'args))))
- (when issue
- (save-excursion
- (end-of-visible-line)
- (insert "\n" issue "\n")))))
-
(defun hsys-flymake-display-issue-at-point ()
"Display the flymake diagnostic issue at source buffer point, if any."
(interactive)
diff --git a/hui-mouse.el b/hui-mouse.el
index 7781a6a650..3c9affdb67 100644
--- a/hui-mouse.el
+++ b/hui-mouse.el
@@ -3,7 +3,7 @@
;; Author: Bob Weiner
;;
;; Orig-Date: 04-Feb-89
-;; Last-Mod: 3-Jan-24 at 23:43:10 by Mats Lidell
+;; Last-Mod: 4-Jan-24 at 22:51:41 by Bob Weiner
;;
;; SPDX-License-Identifier: GPL-3.0-or-later
;;
@@ -40,6 +40,7 @@
;;; ************************************************************************
(require 'ert-results nil t) ;; Action Key support in ERT result buffers
+(require 'hsys-flymake)
(require 'hload-path)
(require 'hsys-org)
(require 'hbut)
diff --git a/hyrolo.el b/hyrolo.el
index 07f21d3abe..37d78dd560 100644
--- a/hyrolo.el
+++ b/hyrolo.el
@@ -3,7 +3,7 @@
;; Author: Bob Weiner
;;
;; Orig-Date: 7-Jun-89 at 22:08:29
-;; Last-Mod: 4-Jan-24 at 00:12:17 by Mats Lidell
+;; Last-Mod: 4-Jan-24 at 22:51:55 by Bob Weiner
;;
;; SPDX-License-Identifier: GPL-3.0-or-later
;;
@@ -1606,7 +1606,7 @@ Stop at the first and last subheadings of a superior
heading."
(hyrolo-move-forward #'outline-forward-same-level arg))
(defun hyrolo-hdr-to-first-line-p ()
- "If point is on a file hdr single text/sep/loc line, go to its first line.
+ "If point is within a file header, go to its first line.
Return t in such cases. Otherwise, don't move and return nil.
The header includes lines matching both `hyrolo-hdr-regexp' and
@@ -1616,7 +1616,7 @@ The header includes lines matching both
`hyrolo-hdr-regexp' and
t))
(defun hyrolo-hdr-to-last-line-p ()
- "If point is on a file hdr single text/sep/loc line, go to its last line.
+ "If point is within a file header, go to its last line.
Return t in such cases. Otherwise, don't move and return nil.
The header includes lines matching both `hyrolo-hdr-regexp' and
@@ -1626,37 +1626,42 @@ The header includes lines matching both
`hyrolo-hdr-regexp' and
t))
(defun hyrolo-hdr-in-p ()
- "If point is on a file hdr single text/separator/loc line, return t, else
nil."
+ "If point is within a file header, return t, else nil."
(save-excursion (hyrolo-hdr-move-after-p)))
(defun hyrolo-hdr-move-after-p ()
- "If point is on a file hdr separator/loc line, move past the hdr and return
t.
+ "If point is within a file header, move past the hdr and return non-nil.
Otherwise, don't move and return nil."
- (let ((opoint (point))
- (hdr-delim-count 0)
- (loc-count 0))
- (while (save-excursion
- (beginning-of-line)
- (or (when (looking-at hyrolo-hdr-regexp)
- (cl-incf hdr-delim-count))
+ (let (result)
+ (if (save-excursion
+ (beginning-of-line)
+ (zerop (% (count-matches hyrolo-hdr-regexp (point-min) (point)) 2)))
+ (cond ((save-excursion
+ (beginning-of-line)
+ (looking-at hyrolo-hdr-regexp))
+ (setq result t)
+ ;; On the first line of a file header pair
+ (beginning-of-line)
+ (when (re-search-forward hyrolo-hdr-regexp nil t 2)
+ (forward-line 1)
(when (looking-at hbut:source-prefix)
- (cl-incf loc-count))
- ;; Handle textual single line between header delimiter lines
- (when (and (forward-line -1)
- (looking-at hyrolo-hdr-regexp)
- (forward-line 2)
- (looking-at hyrolo-hdr-regexp))
- (forward-line -1)
- (cl-incf loc-count))))
- (forward-line 1))
- (when (and (/= (point) opoint) (< hdr-delim-count 2) (zerop loc-count))
- (if (looking-at hyrolo-hdr-regexp)
- (forward-line 1)
- (when (re-search-forward hyrolo-hdr-regexp nil t)
- (forward-line 1)
- (when (looking-at hbut:source-prefix)
- (forward-line 1)))))
- (/= (point) opoint)))
+ ;; @loc> line after header
+ (forward-line 1))))
+ ((save-excursion
+ (beginning-of-line)
+ (looking-at hbut:source-prefix))
+ ;; @loc> line after header
+ (setq result t)
+ (forward-line 1)))
+ ;; Within a file header pair,
+ (beginning-of-line)
+ (when (re-search-forward hyrolo-hdr-regexp nil t)
+ (setq result t)
+ (forward-line 1)
+ (when (looking-at hbut:source-prefix)
+ ;; @loc> line after header
+ (forward-line 1))))
+ result))
;;;###autoload
(defun hyrolo-grep-directories (file-regexp &rest dirs)
@@ -2054,7 +2059,43 @@ With ARG, repeats or can move backward if negative.
A heading is one that starts with an `outline-regexp' match.
A match buffer header is one that starts with `hyrolo-hdr-regexp'."
(interactive "p")
- (hyrolo-move-forward #'outline-next-visible-heading arg))
+ (condition-case nil
+ (progn
+ (if (< arg 0)
+ (beginning-of-line)
+ (end-of-line))
+ (let ((found-heading-p)
+ (opoint (point)))
+ (while (and (not (bobp)) (< arg 0))
+ (while (and (not (bobp))
+ (progn (hyrolo-hdr-to-first-line-p)
+ (hyrolo-funcall-match
+ (lambda ()
+ (setq found-heading-p
+ (re-search-backward
+ (concat "^\\(?:" outline-regexp "\\)")
+ nil 'move)))))
+ (progn (hyrolo-hdr-to-first-line-p)
+ (outline-invisible-p))))
+ (setq arg (1+ arg)))
+ (while (and (not (eobp)) (> arg 0))
+ (while (and (not (eobp))
+ (progn (hyrolo-hdr-move-after-p)
+ (hyrolo-funcall-match
+ (lambda ()
+ (setq found-heading-p
+ (re-search-forward
+ (concat "^\\(?:" outline-regexp "\\)")
+ nil 'move)))))
+ (outline-invisible-p (match-beginning 0))))
+ (setq arg (1- arg)))
+ (if found-heading-p (beginning-of-line))))
+ ;; Prevent error and move to start or end of file header at point,
+ ;; if any
+ (error (if (>= arg 0)
+ (hyrolo-hdr-move-after-p)
+ (hyrolo-hdr-to-first-line-p))))
+ (point))
(defun hyrolo-outline-previous-heading ()
"Move to the previous (possibly invisible) heading line."
@@ -2068,7 +2109,7 @@ With ARG, repeats or can move forward if negative.
A heading is one that starts with an `outline-regexp' match.
A match buffer header is one that starts with `hyrolo-hdr-regexp'."
(interactive "p")
- (hyrolo-move-backward #'outline-previous-visible-heading arg))
+ (hyrolo-outline-next-visible-heading (- arg)))
(defun hyrolo-outline-promote (&optional which)
"Promote headings higher up the tree.
@@ -2554,6 +2595,7 @@ Any non-nil value returned is a cons of (<entry-name> .
<entry-source>)."
outline-regexp (concat hyrolo-hdr-prefix-regexp "^\\(\\*+\\)\\(
\\)")
outline-level #'hyrolo-org-outline-level)
(use-local-map org-mode-map)
+ (font-lock-mode -1) ;; Never font-lock in this mode to keep it fast
;; Modify a few syntax entries
(modify-syntax-entry ?\" "\"")
(modify-syntax-entry ?\\ "_")
@@ -2806,8 +2848,8 @@ prior to applying FUNC."
(defun hyrolo-funcall-match (func &optional narrow-flag)
"Apply FUNC with no arguments to the entry at point.
-If on a display match entry, set the appropriate major mode based
-on its source location prior to applying FUNC.
+If on a display match entry or file header, set the appropriate
+major mode based on its source location prior to applying FUNC.
With point in the HyRolo display matches buffer and optional
NARROW-FLAG non-nil, narrow to the current file of matches
diff --git a/man/hyperbole.texi b/man/hyperbole.texi
index 0e56f171cd..8b4dbcd8c2 100644
--- a/man/hyperbole.texi
+++ b/man/hyperbole.texi
@@ -7,7 +7,7 @@
@c Author: Bob Weiner
@c
@c Orig-Date: 6-Nov-91 at 11:18:03
-@c Last-Mod: 3-Jan-24 at 13:55:25 by Bob Weiner
+@c Last-Mod: 4-Jan-24 at 13:12:14 by Bob Weiner
@c %**start of header (This is for running Texinfo on a region.)
@setfilename hyperbole.info
@@ -10420,7 +10420,7 @@ buffer or not.
@kindex C-c C-l d
@kitem C-c C-l d
@code{flymake-show-buffer-diagnostics} - Display list of flymake
-issues for this buffer.
+issues with this buffer.
@findex hsys-flymake-display-this-or-next-issue
@kindex C-c C-l g
@@ -10459,7 +10459,7 @@ flymake issue. Wrap around at the beginning of the
buffer if
@findex flymake-start
@kindex C-c C-l s
@kitem C-c C-l s
-@code{flymake-start} - Force a run of flymake to update issues for the
+@code{flymake-start} - Force a run of flymake to update issues with the
current buffer.
@cindex key binding, C-c C-l t
diff --git a/test/hyrolo-tests.el b/test/hyrolo-tests.el
index 9856a93147..f35e9405ad 100644
--- a/test/hyrolo-tests.el
+++ b/test/hyrolo-tests.el
@@ -3,7 +3,7 @@
;; Author: Mats Lidell <matsl@gnu.org>
;;
;; Orig-Date: 19-Jun-21 at 22:42:00
-;; Last-Mod: 1-Jan-24 at 22:38:40 by Mats Lidell
+;; Last-Mod: 4-Jan-24 at 13:19:35 by Bob Weiner
;;
;; SPDX-License-Identifier: GPL-3.0-or-later
;;
@@ -487,73 +487,75 @@ sequence up to depth starting from 2.
(number-to-string (+ 1 d))))))
result))
-(defun hyrolo-tests--generate-header-contents-for-tests (header section body
depth)
- "Generate the HEADER and BODY contents for the SECTION with DEPTH."
+(defun hyrolo-tests--generate-heading-contents-for-tests (heading-prefix-char
heading section body depth)
+ "Generate the HEADING and BODY contents for the SECTION with DEPTH."
(let (result)
(dotimes (d depth)
(setq result
(concat result
- (make-string (1+ d) ?*) " " header " "
(hyrolo-tests--level-number section (1+ d)) "\n"
+ (make-string (1+ d) heading-prefix-char)
+ " " heading " " (hyrolo-tests--level-number section (1+ d))
"\n"
body " " (hyrolo-tests--level-number section (1+ d))
"\n")))
result))
-(defun hyrolo-tests--gen-outline (header sections body depth)
+(defun hyrolo-tests--gen-outline (heading-prefix-char heading sections body
depth)
"Generate an outline structure suitable for hyrolo outline test.
-The contents is constructed with an outline HEADER and BODY text.
-Each is repeated in SECTIONS with one set of hierarchical headers
-to the specified DEPTH.
+The contents is constructed with an outline HEADING-PREFIX-CHAR,
+HEADING and BODY text. Each is repeated in SECTIONS with one set
+of hierarchical headings to the specified DEPTH.
Example:
- * header 1
+ * heading 1
body 1
- ** header 2
+ ** heading 2
body 1.2
[...]
- * header <sections>
+ * heading <sections>
body <sections>
- ** header <sections>.2
+ ** heading <sections>.2
body <section>.2
[...]"
(let (result)
(dotimes (section sections)
(setq result
(concat result
- (hyrolo-tests--generate-header-contents-for-tests header
(1+ section) body depth))))
+ (hyrolo-tests--generate-heading-contents-for-tests
+ heading-prefix-char heading (1+ section) body depth))))
result))
-(ert-deftest hyrolo-tests--outline-next-visible-header ()
- "Verify movement to next visible header."
+(ert-deftest hyrolo-tests--outline-next-visible-heading ()
+ "Verify movement to next visible heading."
(let* ((org-file (make-temp-file "hypb" nil ".org"
- (hyrolo-tests--gen-outline "header" 2
"body" 2)))
+ (hyrolo-tests--gen-outline ?* "heading" 2
"body" 2)))
(hyrolo-file-list (list org-file)))
(unwind-protect
(progn
(hyrolo-grep "body")
- (should (string= "*HyRolo*" (buffer-name)))
+ (should (string= hyrolo-display-buffer (buffer-name)))
;; Move down
(should (looking-at-p "==="))
(should (hact 'kbd-key "n"))
- (should (looking-at-p "^\\* header 1"))
+ (should (looking-at-p "^\\* heading 1"))
(should (hact 'kbd-key "n"))
- (should (looking-at-p "^\\*\\* header 1\\.2"))
+ (should (looking-at-p "^\\*\\* heading 1\\.2"))
(should (hact 'kbd-key "n"))
- (should (looking-at-p "^\\* header 2"))
+ (should (looking-at-p "^\\* heading 2"))
(should (hact 'kbd-key "n"))
- (should (looking-at-p "^\\*\\* header 2\\.2"))
+ (should (looking-at-p "^\\*\\* heading 2\\.2"))
(should (hact 'kbd-key "n"))
(should (eobp))
;; Move back up
(should (hact 'kbd-key "p"))
- (should (looking-at-p "^\\*\\* header 2\\.2"))
+ (should (looking-at-p "^\\*\\* heading 2\\.2"))
(should (hact 'kbd-key "p"))
- (should (looking-at-p "^\\* header 2"))
+ (should (looking-at-p "^\\* heading 2"))
(should (hact 'kbd-key "p"))
- (should (looking-at-p "^\\*\\* header 1\\.2"))
+ (should (looking-at-p "^\\*\\* heading 1\\.2"))
(should (hact 'kbd-key "p"))
- (should (looking-at-p "^\\* header 1"))
+ (should (looking-at-p "^\\* heading 1"))
(should (hact 'kbd-key "p"))
;; BUG: This fails in Emacs 29 and 30
@@ -563,87 +565,81 @@ Example:
;; This is what we get
(should (looking-at-p "@loc>"))
(should (= 2 (line-number-at-pos))))
- (kill-buffer "*HyRolo*")
+ (kill-buffer hyrolo-display-buffer)
(hy-delete-file-and-buffer org-file))))
-(ert-deftest hyrolo-tests--outline-up-header ()
- "Verify movement from sub header to next header one level above."
+(ert-deftest hyrolo-tests--outline-up-heading ()
+ "Verify movement from sub heading to next heading one level above."
(let* ((org-file (make-temp-file "hypb" nil ".org"
- (hyrolo-tests--gen-outline "header" 2
"body" 3)))
+ (hyrolo-tests--gen-outline ?* "heading" 2
"body" 3)))
(hyrolo-file-list (list org-file)))
(unwind-protect
(progn
(hyrolo-grep "body")
- (should (string= "*HyRolo*" (buffer-name)))
+ (should (string= hyrolo-display-buffer (buffer-name)))
- ;; Move to last header
+ ;; Move to last heading
(goto-char (point-max))
(forward-line -2)
- (should (looking-at-p "^\\*\\*\\* header 2\\.2\\.3$"))
+ (should (looking-at-p "^\\*\\*\\* heading 2\\.2\\.3$"))
(should (hact 'kbd-key "u"))
- (should (looking-at-p "^\\*\\* header 2\\.2$"))
+ (should (looking-at-p "^\\*\\* heading 2\\.2$"))
(should (hact 'kbd-key "u"))
- (should (looking-at-p "^\\* header 2$"))
+ (should (looking-at-p "^\\* heading 2$"))
(should-error (hact 'kbd-key "u")))
- (kill-buffer "*HyRolo*")
+ (kill-buffer hyrolo-display-buffer)
(hy-delete-file-and-buffer org-file))))
-(ert-deftest hyrolo-tests--outline-next-visible-header-two-sections ()
- "Verify movement to next visible header with two sections."
+(ert-deftest hyrolo-tests--outline-next-visible-heading-two-sections ()
+ "Verify movement to next visible heading with two sections."
(let* ((org-file1 (make-temp-file "hypb" nil ".org"
- (hyrolo-tests--gen-outline "header-a" 1
"body-a" 2)))
- (org-file2 (make-temp-file "hypb" nil ".org"
- (hyrolo-tests--gen-outline "header-b" 1
"body-b" 2)))
- (hyrolo-file-list (list org-file1 org-file2)))
+ (hyrolo-tests--gen-outline ?* "heading-a"
1 "body-a" 2)))
+ (md-file1 (make-temp-file "hypb" nil ".md"
+ (hyrolo-tests--gen-outline ?# "heading-b"
1 "body-b" 2)))
+ (hyrolo-file-list (list org-file1 md-file1)))
(unwind-protect
(progn
(hyrolo-grep "body")
- (should (string= "*HyRolo*" (buffer-name)))
+ (should (string= hyrolo-display-buffer (buffer-name)))
;; Move down
(should (looking-at-p "==="))
(should (hact 'kbd-key "n"))
- (should (looking-at-p "^\\* header-a 1$"))
- (should (hact 'kbd-key "n"))
- (should (looking-at-p "^\\*\\* header-a 1\\.2$"))
+ (should (looking-at-p "^\\* heading-a 1$"))
(should (hact 'kbd-key "n"))
- (should (looking-at-p "^\\* header-b 1$"))
+ (should (looking-at-p "^\\*\\* heading-a 1\\.2$"))
+ (should (hact 'kbd-key "nn"))
+ (should (looking-at-p "^# heading-b 1$"))
(should (hact 'kbd-key "n"))
- (should (looking-at-p "^\\*\\* header-b 1\\.2$"))
+ (should (looking-at-p "^## heading-b 1\\.2$"))
(should (hact 'kbd-key "n"))
(should (eobp))
;; Move back up
(should (hact 'kbd-key "p"))
- (should (looking-at-p "^\\*\\* header-b 1\\.2$"))
+ (should (looking-at-p "^## heading-b 1\\.2$"))
(should (hact 'kbd-key "p"))
- (should (looking-at-p "^\\* header-b 1$"))
+ (should (looking-at-p "^# heading-b 1$"))
+ (should (hact 'kbd-key "pp"))
+ (should (looking-at-p "^\\*\\* heading-a 1\\.2$"))
(should (hact 'kbd-key "p"))
- (should (looking-at-p "^\\*\\* header-a 1\\.2$"))
+ (should (looking-at-p "^\\* heading-a 1$"))
(should (hact 'kbd-key "p"))
- (should (looking-at-p "^\\* header-a 1$"))
- (should (hact 'kbd-key "p"))
-
- ;; BUG: This fails in Emacs 29 and 30
- ;; This is the expected behavior that works in Emacs 27 and 28.
- ;; (should (looking-at-p "==="))
- ;; (should (bobp))
- ;; This is what we get
- (should (looking-at-p "@loc>"))
- (should (= 2 (line-number-at-pos))))
- (kill-buffer "*HyRolo*")
+ (should (looking-at-p "==="))
+ (should (= 1 (line-number-at-pos))))
+ (kill-buffer hyrolo-display-buffer)
(hy-delete-file-and-buffer org-file1)
- (hy-delete-file-and-buffer org-file2))))
+ (hy-delete-file-and-buffer md-file1))))
(ert-deftest hyrolo-tests--outline-hide-show-heading ()
- "Verify hiding and showing headers."
+ "Verify hiding and showing headings."
(let* ((org-file (make-temp-file "hypb" nil ".org"
- (hyrolo-tests--gen-outline "header" 2
"body" 2)))
+ (hyrolo-tests--gen-outline ?* "heading" 2
"body" 2)))
(hyrolo-file-list (list org-file)))
(unwind-protect
(progn
(hyrolo-grep "body")
- (should (string= "*HyRolo*" (buffer-name)))
+ (should (string= hyrolo-display-buffer (buffer-name)))
;; Hide first line hides whole section
(should (looking-at-p "==="))
@@ -655,27 +651,27 @@ Example:
(should (looking-at-p "^===+$"))
(should (hact 'kbd-key "n"))
- (should (looking-at-p "^* header 1$"))
+ (should (looking-at-p "^* heading 1$"))
;; BUG: This gives an unexpected error when trying to hide
;; org-fold-region: Calling ‘org-fold-core-region’ with missing SPEC
(should-error (hact 'kbd-key "h"))
- ;; Expected is not to fail on hiding the header.
+ ;; Expected is not to fail on hiding the heading.
;; Seems to be version dependent for 29 and 30!?
;; TBC - When bug above is resolved or understood better.
)
- (kill-buffer "*HyRolo*")
+ (kill-buffer hyrolo-display-buffer)
(hy-delete-file-and-buffer org-file))))
(ert-deftest hyrolo-tests--tab-through-matches ()
"Verify tabbing through search matches."
(let* ((org-file (make-temp-file "hypb" nil ".org"
- (hyrolo-tests--gen-outline "header" 2
"body" 2)))
+ (hyrolo-tests--gen-outline ?* "heading" 2
"body" 2)))
(hyrolo-file-list (list org-file)))
(unwind-protect
(progn
(hyrolo-grep "body")
- (should (string= "*HyRolo*" (buffer-name)))
+ (should (string= hyrolo-display-buffer (buffer-name)))
;; Search Down
(should (looking-at-p "==="))
@@ -698,18 +694,18 @@ Example:
(should (hact 'kbd-key "<backtab>"))
(should (looking-at-p "^body 1$"))
(should-error (hact 'kbd-key "<backtab>")))
- (kill-buffer "*HyRolo*")
+ (kill-buffer hyrolo-display-buffer)
(hy-delete-file-and-buffer org-file))))
(ert-deftest hyrolo-tests--edit-entry ()
"Verify {e} brings up entry in new window."
(let* ((org-file (make-temp-file "hypb" nil ".org"
- (hyrolo-tests--gen-outline "header" 1
"body" 2)))
+ (hyrolo-tests--gen-outline ?* "heading" 1
"body" 2)))
(hyrolo-file-list (list org-file)))
(unwind-protect
(progn
(hyrolo-grep "body")
- (should (string= "*HyRolo*" (buffer-name)))
+ (should (string= hyrolo-display-buffer (buffer-name)))
;; Search Down
(should (looking-at-p "==="))
@@ -724,14 +720,14 @@ Example:
(should (looking-at-p "^body 1$"))
;; Edit next record
- (switch-to-buffer "*HyRolo*")
+ (switch-to-buffer hyrolo-display-buffer)
(should (hact 'kbd-key "TAB"))
(should (looking-at-p "^body 1\\.2$"))
(should (hact 'kbd-key "e"))
(should (string= (buffer-name) (file-name-nondirectory org-file)))
(should (looking-at-p "^body 1\\.2$"))
)
- (kill-buffer "*HyRolo*")
+ (kill-buffer hyrolo-display-buffer)
(hy-delete-file-and-buffer org-file))))
(provide 'hyrolo-tests)
- [elpa] externals/hyperbole 97f4e12386 023/143: hui--link-possible-types - ensure only 1 specific type per test, (continued)
- [elpa] externals/hyperbole 97f4e12386 023/143: hui--link-possible-types - ensure only 1 specific type per test, ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole badf1e5281 027/143: Merge remote branch 'rsw' into rsw, ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole 00d5af41be 039/143: Add Smart Key support for rsw's new ert-results.el package, ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole 586a568992 054/143: Update ChangeLog, ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole 84fe259016 064/143: hyrolo.el - Fix *HyRolo* {n} and {p} movement commands, ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole 7a5e3071b6 097/143: Merge branch 'rsw' of hyperbole into rsw, ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole ac7d6ed874 106/143: Remove unused function (#455), ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole 678f62a79d 105/143: hyperbole-web-search: when service is a func, let it prompt for term, ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole c4325885a0 114/143: Add single file match tests for some hyrolo hide and show commands (#458), ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole 29fd0c8540 060/143: Update manual for "hsys-flymake.el" and add to hkey-alist, ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole 721ab10894 063/143: hsys-flymake.el improvements; hyrolo-tests.el improvements,
ELPA Syncer <=
- [elpa] externals/hyperbole 270aab31c7 074/143: Matsl rsw fix more warnings reported by ci/cd (#438), ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole d5a9715ef0 079/143: Fix hyrolo-org-mode to conditionalize ref to org-fold if unbound, ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole 34d4e22f28 087/143: Add tests with more file types and outline structure depth, ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole 2c67943e47 084/143: Fix a few warnings/bugs pointed out by the byte-compiler, ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole 2f2d51b816 088/143: Merge pull request #444 from rswgnu/matsl-rsw-add-tests-for-forward-and-backwards-using-multi-file-and-depth-structure, ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole 7ad3cabb7e 098/143: Revert "Remove skip guard on test that works in batch mode" (#448), ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole 68564a0f0d 110/143: Enable HyRolo's extended reveal-mode used in *HyRolo* buffer, ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole 92ee298bf4 111/143: HyRolo - Fix major-mode and reveal-mode issues affecting *HyRolo*, ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole 5e85e72772 107/143: hyperbole-web-search-alist: Add 'ducKduckgo' search engine, ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole 2f5d06dd4c 012/143: Add tests for hpath:expand and hpath:expand-list, ELPA Syncer, 2024/02/19