aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBozhidar Batsov <bozhidar@batsov.dev>2022-04-19 14:02:56 +0300
committerBozhidar Batsov <bozhidar@batsov.dev>2022-04-19 14:02:56 +0300
commitb014d79f5bca2103cf055b27334ad89f007a6ac8 (patch)
tree324ea0e95192c25ef00c71217b85abc6f55aa56e
parent28076814eae53e1d574902a605024d02c068cd9c (diff)
Fix version extraction logic
-rw-r--r--CHANGELOG.md3
-rw-r--r--projectile.el19
2 files changed, 15 insertions, 7 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4601edd..a5683df 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -19,7 +19,8 @@
* [#1714](https://github.com/bbatsov/projectile/issues/1714): Fix `projectile-discover-projects-in-directory` not interactive.
* [#1734](https://github.com/bbatsov/projectile/pull/1734): Make `projectile--find-matching-test` use `src-dir/test-dir` properties.
* [#1750](https://github.com/bbatsov/projectile/issues/1750): Fix source and test directories for Maven projects.
-* [#1765](https://github.com/bbatsov/projectile/issues/1765): Fix `src-dir`/`test-dir` not defaulting to `"src/"` and `"test/"` with `projectile-toggle-between-implementation-and-test`
+* [#1765](https://github.com/bbatsov/projectile/issues/1765): Fix `src-dir`/`test-dir` not defaulting to `"src/"` and `"test/"` with `projectile-toggle-between-implementation-and-test`.
+* Fix version extraction logic.
### Changes
diff --git a/projectile.el b/projectile.el
index 4330fbf..51097ad 100644
--- a/projectile.el
+++ b/projectile.el
@@ -823,11 +823,17 @@ If the value is nil, there is no limit to the opend buffers count."
;;; Version information
-(defconst projectile-version
- (eval-when-compile
- (lm-version (or load-file-name buffer-file-name)))
+(defconst projectile-version "2.6.0-snapshot"
"The current version of Projectile.")
+(defun projectile--pkg-version ()
+ "Extract Projectile's package version from its package metadata."
+ ;; Use `cond' below to avoid a compiler unused return value warning
+ ;; when `package-get-version' returns nil. See #3181.
+ ;; FIXME: Inline the logic from package-get-version and adapt it
+ (cond ((fboundp 'package-get-version)
+ (package-get-version))))
+
;;;###autoload
(defun projectile-version (&optional show-version)
"Get the Projectile version as string.
@@ -842,9 +848,10 @@ If the version number could not be determined, signal an error,
if called interactively, or if SHOW-VERSION is non-nil, otherwise
just return nil."
(interactive (list t))
- (if show-version
- (message "Projectile %s" projectile-version)
- projectile-version))
+ ((let ((version (or (projectile--pkg-version) projectile-version))))
+ (if show-version
+ (message "Projectile %s" version)
+ version)))
;;; Misc utility functions
(defun projectile-difference (list1 list2)