Skip to content

Commit

Permalink
Merge pull request JuliaEditorSupport#208 from tpapp/tp/ci-add-emacs-29
Browse files Browse the repository at this point in the history
add 29.x Emacs versions to CI matrix
  • Loading branch information
tpapp committed Apr 9, 2024
2 parents df79de4 + 0f1f8f5 commit c19d10e
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 16 deletions.
3 changes: 3 additions & 0 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@ jobs:
- 27.2
- 28.1
- 28.2
- 29.1
- 29.2
- 29.3
ignore_warnings:
- true
# NOTE commented out because failure notifications are a distraction
Expand Down
40 changes: 24 additions & 16 deletions julia-mode-tests.el
Original file line number Diff line number Diff line change
Expand Up @@ -64,28 +64,36 @@
"Assert that TEXT at position POS gets font-locked with FACE in `julia-mode'."
`(should (eq ,face (julia--get-font-lock ,text ,pos))))

(defun julia--should-move-point-helper (text fun from to &optional end arg)
"Takes the same arguments as `julia--should-move-point', returns a cons of the expected and the actual point."
(with-temp-buffer
(julia-mode)
(insert text)
(indent-region (point-min) (point-max))
(goto-char (point-min))
(if (stringp from)
(re-search-forward from)
(goto-char from))
(funcall fun arg)
(let ((actual-to (point))
(expected-to
(if (stringp to)
(progn (goto-char (point-min))
(re-search-forward to)
(if end (goto-char (match-end 0))
(goto-char (match-beginning 0))
(point-at-bol)))
to)))
(cons expected-to actual-to))))

(defmacro julia--should-move-point (text fun from to &optional end arg)
"With TEXT in `julia-mode', after calling FUN, the point should move FROM\
to TO. If FROM is a string, move the point to matching string before calling
function FUN. If TO is a string, match resulting point to point a beginning of
matching line or end of match if END is non-nil. Optional ARG is passed to FUN."
(declare (indent defun))
`(with-temp-buffer
(julia-mode)
(insert ,text)
(indent-region (point-min) (point-max))
(goto-char (point-min))
(if (stringp ,from)
(re-search-forward ,from)
(goto-char ,from))
(funcall ,fun ,arg)
(should (eq (point) (if (stringp ,to)
(progn (goto-char (point-min))
(re-search-forward ,to)
(if ,end (goto-char (match-end 0))
(goto-char (match-beginning 0))
(point-at-bol)))
,to)))))
`(let ((positions (julia--should-move-point-helper ,text ,fun ,from ,to ,end ,arg)))
(should (eq (car positions) (cdr positions)))))

;;; indent tests

Expand Down

0 comments on commit c19d10e

Please sign in to comment.