[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 5af9276 27/40: Support yas/ symbols in yas-define-menu
From: |
Noam Postavsky |
Subject: |
[elpa] master 5af9276 27/40: Support yas/ symbols in yas-define-menu |
Date: |
Wed, 26 Oct 2016 23:06:33 +0000 (UTC) |
branch: master
commit 5af9276f212b7d51ac99040ac5208ea76d17d84f
Author: Noam Postavsky <address@hidden>
Commit: Noam Postavsky <address@hidden>
Support yas/ symbols in yas-define-menu
These symbols were overlooked in backporting because they're not bound
or fbound.
* yasnippet.el (yas--define-menu-1): Rewrite with `cl-loop', and support
yas/ prefixed symbols.
---
yasnippet.el | 56 +++++++++++++++++++++++++++++++-------------------------
1 file changed, 31 insertions(+), 25 deletions(-)
diff --git a/yasnippet.el b/yasnippet.el
index 1dfadb2..6b1f954 100644
--- a/yasnippet.el
+++ b/yasnippet.el
@@ -2075,31 +2075,37 @@ omitted from MODE's menu, even if they're manually
loaded."
(defun yas--define-menu-1 (table menu-keymap menu uuidhash &optional
group-list)
"Helper for `yas-define-menu'."
- (dolist (e (reverse menu))
- (cond ((eq (first e) 'yas-item)
- (let ((template (or (gethash (second e) uuidhash)
- (puthash (second e)
- (yas--make-template
- :table table
- :perm-group group-list
- :uuid (second e))
- uuidhash))))
- (define-key menu-keymap (vector (gensym))
- (car (yas--template-menu-binding-pair-get-create template
:stay)))))
- ((eq (first e) 'yas-submenu)
- (let ((subkeymap (make-sparse-keymap)))
- (define-key menu-keymap (vector (gensym))
- `(menu-item ,(second e) ,subkeymap))
- (yas--define-menu-1 table
- subkeymap
- (third e)
- uuidhash
- (append group-list (list (second e))))))
- ((eq (first e) 'yas-separator)
- (define-key menu-keymap (vector (gensym))
- '(menu-item "----")))
- (t
- (yas--message 1 "Don't know anything about menu entry %s" (first
e))))))
+ (cl-loop
+ for (type name submenu) in (reverse menu)
+ if (or (eq type 'yas-item)
+ (and yas-alias-to-yas/prefix-p
+ (eq type 'yas/item)))
+ do (let ((template (or (gethash name uuidhash)
+ (puthash name
+ (yas--make-template
+ :table table
+ :perm-group group-list
+ :uuid name)
+ uuidhash))))
+ (define-key menu-keymap (vector (gensym))
+ (car (yas--template-menu-binding-pair-get-create template :stay))))
+ else if (or (eq type 'yas-submenu)
+ (and yas-alias-to-yas/prefix-p
+ (eq type 'yas/submenu)))
+ do (let ((subkeymap (make-sparse-keymap)))
+ (define-key menu-keymap (vector (gensym))
+ `(menu-item ,name ,subkeymap))
+ (yas--define-menu-1 table
+ subkeymap
+ submenu
+ uuidhash
+ (append group-list (list name))))
+ else if (or (eq type 'yas-separator)
+ (and yas-alias-to-yas/prefix-p
+ (eq type 'yas/separator)))
+ do (define-key menu-keymap (vector (gensym))
+ '(menu-item "----"))
+ else do (yas--message 1 "Don't know anything about menu entry %s" type)))
(defun yas--define (mode key template &optional name condition group)
"Define a snippet. Expanding KEY into TEMPLATE.
- [elpa] master bc80f67 01/40: .travis.yml: Don't notify on success, (continued)
- [elpa] master bc80f67 01/40: .travis.yml: Don't notify on success, Noam Postavsky, 2016/10/26
- [elpa] master 6b785e1 08/40: Say how to hide the backquote side-effect warning, Noam Postavsky, 2016/10/26
- [elpa] master 1735a28 02/40: Add region contents to new snippet, Noam Postavsky, 2016/10/26
- [elpa] master ee4efdb 05/40: Revert "Separate parsing from evaluation of backquote lisp", Noam Postavsky, 2016/10/26
- [elpa] master 85f39ce 06/40: Warn about backquote exprs modifying the buffer, Noam Postavsky, 2016/10/26
- [elpa] master e21420a 04/40: Separate parsing from evaluation of backquote lisp, Noam Postavsky, 2016/10/26
- [elpa] master c744148 03/40: Make yas-describe-tables easier to use from lisp, Noam Postavsky, 2016/10/26
- [elpa] master d218ed8 11/40: Do indent the first line of mirrors, but in correct order, Noam Postavsky, 2016/10/26
- [elpa] master 0db65ee 20/40: Don't clobber match data in modification hooks, Noam Postavsky, 2016/10/26
- [elpa] master dc098cf 25/40: Fix yas--message verbosity levels, Noam Postavsky, 2016/10/26
- [elpa] master 5af9276 27/40: Support yas/ symbols in yas-define-menu,
Noam Postavsky <=
- [elpa] master ea9581f 22/40: Fix some quoting problems in doc strings, Noam Postavsky, 2016/10/26
- [elpa] master ee6e7a9 09/40: Fix some compilation warnings, Noam Postavsky, 2016/10/26
- [elpa] master 7661dc1 19/40: yasnippet.el (yas-escape-text): No error on nil text, Noam Postavsky, 2016/10/26
- [elpa] master 351c1e3 10/40: Don't indent first line of mirrors, Noam Postavsky, 2016/10/26
- [elpa] master 655bda8 07/40: Merge: restore backquote evaluation behaviour, Noam Postavsky, 2016/10/26
- [elpa] master 8907fd1 14/40: Escape yas-selected-text for new snippet., Noam Postavsky, 2016/10/26
- [elpa] master a4fafc3 16/40: Add test for loading snippet with same uuid, Noam Postavsky, 2016/10/26
- [elpa] master 8ca8c7d 13/40: Merge: a different fix for #712., Noam Postavsky, 2016/10/26
- [elpa] master 85a43ad 35/40: Explain about backquote expressions in doc, Noam Postavsky, 2016/10/26
- [elpa] master 3129040 24/40: Load snippet after saving, Noam Postavsky, 2016/10/26