branch: externals/yasnippet commit 2384fe1655c60e803521ba59a34c0a7e48a25d06 Author: Stefan Monnier <monn...@iro.umontreal.ca> Commit: Stefan Monnier <monn...@iro.umontreal.ca>
yasnippet.el (yas--version): Delete variable. (yas-about): Fall back to the Git description only if the package version is not available. (yas--make-menu-binding): Don't quote lambdas. --- yasnippet.el | 35 +++++++++++++++-------------------- 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/yasnippet.el b/yasnippet.el index 9156108d60..806f2bca8f 100644 --- a/yasnippet.el +++ b/yasnippet.el @@ -588,8 +588,6 @@ can be useful." ;;; Internal variables -(defconst yas--version "0.14.0") - (defvar yas--menu-table (make-hash-table) "A hash table of MAJOR-MODE symbols to menu keymaps.") @@ -1672,8 +1670,9 @@ Here's a list of currently recognized directives: (directory-files directory t))) (defun yas--make-menu-binding (template) - (let ((mode (yas--table-mode (yas--template-table template)))) - `(lambda () (interactive) (yas--expand-or-visit-from-menu ',mode ,(yas--template-uuid template))))) + (let ((mode (yas--table-mode (yas--template-table template))) + (uuid (yas--template-uuid template))) + (lambda () (interactive) (yas--expand-or-visit-from-menu mode uuid)))) (defun yas--expand-or-visit-from-menu (mode uuid) (let* ((table (yas--table-get-create mode)) @@ -2120,27 +2119,23 @@ This works by stubbing a few functions, then calling (defun yas-about () (interactive) (message "yasnippet (version %s) -- pluskid/joaotavora/npostavs" - (or (ignore-errors (car (let ((default-directory yas--loaddir)) - (process-lines "git" "describe" - "--tags" "--dirty")))) - (eval-when-compile + (or (eval-when-compile (and (fboundp 'package-get-version) (package-get-version))) - (when (and (featurep 'package) + (when (and (boundp 'package-alist) (fboundp 'package-desc-version) (fboundp 'package-version-join)) - (defvar package-alist) (ignore-errors - (let* ((yas-pkg (cdr (assq 'yasnippet package-alist))) - (version (package-version-join - (package-desc-version (car yas-pkg))))) - ;; Special case for MELPA's bogus version numbers. - (if (string-match "\\`20..[01][0-9][0-3][0-9][.][0-9]\\{3,4\\}\\'" - version) - (concat yas--version "-snapshot" version) - version)))) - yas--version))) - + (let* ((yas-pkg (cdr (assq 'yasnippet package-alist)))) + (when yas-pkg + (package-version-join + (package-desc-version (car yas-pkg))))))) + ;; The Git description can be misleading, for lack of + ;; recent tags, so we prefer package version info. + (ignore-errors (car (let ((default-directory yas--loaddir)) + (process-lines "git" "describe" + "--tags" "--dirty")))) + "unknown"))) ;;; Apropos snippet menu: ;;