gnu: emacs-yasnippet: Fix build.
* gnu/packages/patches/emacs-yasnippet-fix-empty-snippet-next.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it here. * gnu/packages/emacs-xyz.scm (emacs-yasnippet)[source]<patches>: Use it here. * gnu/packages/patches/emacs-yasnippet-fix-tests.patch: Also fix delete-numberless-inner-snippet-issue-562.master
parent
f9b3bcac9a
commit
ca7e310f7a
|
@ -1107,6 +1107,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/emacs-telega-path-placeholder.patch \
|
||||
%D%/packages/patches/emacs-telega-test-env.patch \
|
||||
%D%/packages/patches/emacs-wordnut-require-adaptive-wrap.patch \
|
||||
%D%/packages/patches/emacs-yasnippet-fix-empty-snippet-next.patch \
|
||||
%D%/packages/patches/emacs-yasnippet-fix-tests.patch \
|
||||
%D%/packages/patches/emacs-kv-fix-tests.patch \
|
||||
%D%/packages/patches/emacs-pgtk-super-key-fix.patch \
|
||||
|
|
|
@ -17117,7 +17117,8 @@ the Emacs TempEl package.")
|
|||
(sha256
|
||||
(base32 "0via9dzw8m5lzymg1h78xkwjssh39zr3g6ccyamlf1rjzjsyxknv"))
|
||||
(patches
|
||||
(search-patches "emacs-yasnippet-fix-tests.patch"))))
|
||||
(search-patches "emacs-yasnippet-fix-empty-snippet-next.patch"
|
||||
"emacs-yasnippet-fix-tests.patch"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
`(#:tests? #t
|
||||
|
|
|
@ -0,0 +1,59 @@
|
|||
From 925292484162bc35c4258e72c36462bb13a5c69a Mon Sep 17 00:00:00 2001
|
||||
From: Liliana Marie Prikler <liliana.prikler@gmail.com>
|
||||
Date: Sat, 19 Aug 2023 08:38:17 +0200
|
||||
Subject: [PATCH] Guard against empty snippet in yas-next-field.
|
||||
|
||||
---
|
||||
yasnippet.el | 29 +++++++++++++++--------------
|
||||
1 file changed, 15 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/yasnippet.el b/yasnippet.el
|
||||
index e0b5537..41d86dd 100644
|
||||
--- a/yasnippet.el
|
||||
+++ b/yasnippet.el
|
||||
@@ -136,6 +136,7 @@
|
||||
(declare-function cl-progv-after "cl-extra") ; Needed for 23.4.
|
||||
(require 'easymenu)
|
||||
(require 'help-mode)
|
||||
+(require 'subr-x)
|
||||
|
||||
(defvar yas--editing-template)
|
||||
(defvar yas--guessed-modes)
|
||||
@@ -3386,20 +3387,20 @@ Otherwise delegate to `yas-next-field'."
|
||||
If there's none, exit the snippet."
|
||||
(interactive)
|
||||
(unless arg (setq arg 1))
|
||||
- (let* ((active-field (overlay-get yas--active-field-overlay 'yas--field))
|
||||
- (snippet (car (yas-active-snippets (yas--field-start active-field)
|
||||
- (yas--field-end active-field))))
|
||||
- (target-field (yas--find-next-field arg snippet active-field)))
|
||||
- (yas--letenv (yas--snippet-expand-env snippet)
|
||||
- ;; Apply transform to active field.
|
||||
- (when active-field
|
||||
- (let ((yas-moving-away-p t))
|
||||
- (when (yas--field-update-display active-field)
|
||||
- (yas--update-mirrors snippet))))
|
||||
- ;; Now actually move...
|
||||
- (if target-field
|
||||
- (yas--move-to-field snippet target-field)
|
||||
- (yas-exit-snippet snippet)))))
|
||||
+ (and-let* ((active-field (overlay-get yas--active-field-overlay 'yas--field))
|
||||
+ (snippet (car (yas-active-snippets (yas--field-start active-field)
|
||||
+ (yas--field-end active-field)))))
|
||||
+ (let ((target-field (yas--find-next-field arg snippet active-field)))
|
||||
+ (yas--letenv (yas--snippet-expand-env snippet)
|
||||
+ ;; Apply transform to active field.
|
||||
+ (when active-field
|
||||
+ (let ((yas-moving-away-p t))
|
||||
+ (when (yas--field-update-display active-field)
|
||||
+ (yas--update-mirrors snippet))))
|
||||
+ ;; Now actually move...
|
||||
+ (if target-field
|
||||
+ (yas--move-to-field snippet target-field)
|
||||
+ (yas-exit-snippet snippet))))))
|
||||
|
||||
(defun yas--place-overlays (snippet field)
|
||||
"Correctly place overlays for SNIPPET's FIELD."
|
||||
--
|
||||
2.41.0
|
||||
|
|
@ -10,6 +10,11 @@ Content-Transfer-Encoding: 8bit
|
|||
- A test that was temporarily broken passes again.
|
||||
- The default for ‘org-adapt-indentation’ has changed.
|
||||
- buffer-list may be called with arguments when native-comp is enabled.
|
||||
|
||||
2023-08-19 Liliana Marie Prikler <liliana.prikler@gmail.com>
|
||||
|
||||
* delete-numberless-inner-snippet-issue-562: Correct value in
|
||||
looking-at.
|
||||
---
|
||||
yasnippet-tests.el | 45 ++++++++++++++++++++++++++++-----------------
|
||||
1 file changed, 28 insertions(+), 17 deletions(-)
|
||||
|
@ -26,6 +31,15 @@ index f7ca2bb..7618ab7 100644
|
|||
|
||||
;; Author: João Távora <joaot@siscog.pt>
|
||||
;; Keywords: emulations, convenience
|
||||
@@ -289,7 +289,7 @@ attention to case differences."
|
||||
(should (looking-at "testblable"))
|
||||
(ert-simulate-command '(yas-next-field-or-maybe-expand))
|
||||
(ert-simulate-command '(yas-skip-and-clear-field))
|
||||
- (should (looking-at "ble"))
|
||||
+ (should (looking-at "blable"))
|
||||
(should (null (yas-active-snippets)))))
|
||||
|
||||
(ert-deftest delete-nested-simple-field-issue-824 ()
|
||||
@@ -556,16 +556,19 @@ XXXXX ------------------------"))))
|
||||
(yas-mock-insert "foo bar")
|
||||
(ert-simulate-command '(yas-next-field))
|
||||
|
|
Reference in New Issue