[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/projectile 147162babd 05/11: Drop support for Emacs 25
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/projectile 147162babd 05/11: Drop support for Emacs 25 |
Date: |
Thu, 30 Jan 2025 04:01:05 -0500 (EST) |
branch: elpa/projectile
commit 147162babd65aeaf88d5d8791041ad50b7804f73
Author: Bozhidar Batsov <bozhidar@batsov.dev>
Commit: Bozhidar Batsov <bozhidar@batsov.dev>
Drop support for Emacs 25
Emacs 25 is ancient at this point and likely no one is using it anymore.
---
.github/workflows/test.yml | 2 +-
CHANGELOG.md | 4 ++
doc/modules/ROOT/pages/installation.adoc | 2 +-
doc/modules/ROOT/pages/projectile_vs_project.adoc | 2 +-
doc/modules/ROOT/pages/projects.adoc | 6 +--
projectile.el | 50 +++++++++++------------
6 files changed, 35 insertions(+), 31 deletions(-)
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index fa8052c0a1..08b48c253e 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -14,7 +14,7 @@ jobs:
strategy:
matrix:
# Earliest supported + latest in each stable branch + snapshot.
- emacs_version: ['25.1', '25.3', '26.3', '27.1', '28.1', '29.1',
'snapshot']
+ emacs_version: ['26.3', '27.1', '28.1', '29.1', 'snapshot']
steps:
- name: Set up Emacs
diff --git a/CHANGELOG.md b/CHANGELOG.md
index be12eb4954..66f1ac50ab 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -24,6 +24,10 @@
* [#1850](https://github.com/bbatsov/projectile/issues/1850): Ensure the
presence of a project in `projectile-compilation-dir`.
* [#1811](https://github.com/bbatsov/projectile/issues/1811): Revert a change
to `projectile-ignored-directories` that had converted them into regular
expressions.
+### Changes
+
+* Drop support for Emacs 25.
+
## 2.8.0 (2023-10-13)
### New features
diff --git a/doc/modules/ROOT/pages/installation.adoc
b/doc/modules/ROOT/pages/installation.adoc
index 058ba71359..71812547f9 100644
--- a/doc/modules/ROOT/pages/installation.adoc
+++ b/doc/modules/ROOT/pages/installation.adoc
@@ -1,6 +1,6 @@
= Installation
-NOTE: Projectile officially supports Emacs 25.1+.
+NOTE: Projectile officially supports Emacs 26.1+.
The recommended way to install Projectile is via `package.el`.
diff --git a/doc/modules/ROOT/pages/projectile_vs_project.adoc
b/doc/modules/ROOT/pages/projectile_vs_project.adoc
index 9e86103ace..01ffff31f3 100644
--- a/doc/modules/ROOT/pages/projectile_vs_project.adoc
+++ b/doc/modules/ROOT/pages/projectile_vs_project.adoc
@@ -106,7 +106,7 @@ rely on the third-party applications and it's significance
today is not that big
== Projectile's Pros
-* Projectile targets Emacs 25, so you can get all the features even with older
Emacs releases
+* Projectile targets Emacs 26, so you can get all the features even with older
Emacs releases
* Projectile has different project indexing strategies, which offer you a lot
of flexibility in different situations
* Projectile supports a lot of project types out-of-the-box (e.g. `ruby`,
`Rails`, `cabal` and `dune`)
* Projectile has a lot more features, although one can argue that some of them
are rarely needed
diff --git a/doc/modules/ROOT/pages/projects.adoc
b/doc/modules/ROOT/pages/projects.adoc
index 6206145527..7da369c9c9 100644
--- a/doc/modules/ROOT/pages/projects.adoc
+++ b/doc/modules/ROOT/pages/projects.adoc
@@ -549,9 +549,9 @@ A custom function for the project using multiple
programming languages with diff
(defun my/related-files(file)
(let ((ext-to-test-prefix '(("cpp" . "Test")
("py" . "test_"))))
- (if-let ((ext (file-name-extension file))
- (test-prefix (assoc-default ext ext-to-test-prefix))
- (file-name (file-name-nondirectory file)))
+ (if-let* ((ext (file-name-extension file))
+ (test-prefix (assoc-default ext ext-to-test-prefix))
+ (file-name (file-name-nondirectory file)))
(if (string-prefix-p test-prefix file-name)
(let ((suffix (concat "/" (substring file-name (length
test-prefix)))))
(list :impl (lambda (other-file)
diff --git a/projectile.el b/projectile.el
index 9e0a71daf6..305ca328e6 100644
--- a/projectile.el
+++ b/projectile.el
@@ -6,7 +6,7 @@
;; URL: https://github.com/bbatsov/projectile
;; Keywords: project, convenience
;; Version: 2.9.0-snapshot
-;; Package-Requires: ((emacs "25.1"))
+;; Package-Requires: ((emacs "26.1"))
;; This file is NOT part of GNU Emacs.
@@ -2194,7 +2194,7 @@ project-root for every file."
The list depends on `:related-files-fn' project option and
`projectile-other-file-alist'. For the latter, FLEX-MATCHING can be used
to match any basename."
- (if-let ((plist (projectile--related-files-plist-by-kind file-name :other)))
+ (if-let* ((plist (projectile--related-files-plist-by-kind file-name
:other)))
(projectile--related-files-from-plist plist)
(projectile--other-extension-files file-name
(projectile-current-project-files)
@@ -2652,7 +2652,7 @@ With a prefix arg INVALIDATE-CACHE invalidates the cache
first."
(defun projectile--related-files-plist (project-root file)
"Return a plist containing all related files information for FILE.
PROJECT-ROOT is the project root."
- (if-let ((rel-path (if (file-name-absolute-p file)
+ (if-let* ((rel-path (if (file-name-absolute-p file)
(file-relative-name file project-root)
file))
(custom-function (funcall projectile-related-files-fn-function
(projectile-project-type))))
@@ -2666,7 +2666,7 @@ PROJECT-ROOT is the project root."
(defun projectile--related-files-plist-by-kind (file kind)
"Return a plist containing :paths and/or :predicate of KIND for FILE."
- (if-let ((project-root (projectile-project-root))
+ (if-let* ((project-root (projectile-project-root))
(plist (projectile--related-files-plist project-root file))
(has-kind? (plist-member plist kind)))
(let* ((kind-value (plist-get plist kind))
@@ -2701,7 +2701,7 @@ PROJECT-ROOT is the project root."
(defun projectile--related-files-kinds(file)
"Return a list o keywords meaning available related kinds for FILE."
- (if-let ((project-root (projectile-project-root))
+ (if-let* ((project-root (projectile-project-root))
(plist (projectile--related-files-plist project-root file)))
(cl-loop for key in plist by #'cddr
collect key)))
@@ -2714,13 +2714,13 @@ PROJECT-ROOT is the project root."
"Choose a file from files related to FILE as KIND.
If KIND is not provided, a list of possible kinds can be chosen."
(unless kind
- (if-let ((available-kinds (projectile--related-files-kinds file)))
+ (if-let* ((available-kinds (projectile--related-files-kinds file)))
(setq kind (if (= (length available-kinds) 1)
(car available-kinds)
(intern (projectile-completing-read "Kind :"
available-kinds))))
(error "No related files found")))
- (if-let ((candidates (projectile--related-files file kind)))
+ (if-let* ((candidates (projectile--related-files file kind)))
(projectile-expand-root (projectile--choose-from-candidates candidates))
(error
"No matching related file as `%s' found for project type `%s'"
@@ -2751,7 +2751,7 @@ If KIND is not provided, a list of possible kinds can be
chosen."
(defun projectile-related-files-fn-groups(kind groups)
"Generate a related-files-fn which relates as KIND for files in each of
GROUPS."
(lambda (path)
- (if-let ((group-found (cl-find-if (lambda (group)
+ (if-let* ((group-found (cl-find-if (lambda (group)
(member path group))
groups)))
(list kind (cl-remove path group-found :test 'equal)))))
@@ -3134,14 +3134,14 @@ it acts on the current project."
(defun projectile--cmake-command-presets-shallow (filename command-type)
"Get CMake COMMAND-TYPE presets from FILENAME."
- (when-let ((preset (projectile--cmake-read-preset (projectile-expand-root
filename))))
+ (when-let* ((preset (projectile--cmake-read-preset (projectile-expand-root
filename))))
(cl-remove-if
(lambda (preset) (equal (gethash "hidden" preset) t))
(gethash (projectile--cmake-command-preset-array-id command-type)
preset))))
(defun projectile--cmake-command-presets (filename command-type)
"Get CMake COMMAND-TYPE presets from FILENAME. Follows included files."
- (when-let ((preset (projectile--cmake-read-preset (projectile-expand-root
filename))))
+ (when-let* ((preset (projectile--cmake-read-preset (projectile-expand-root
filename))))
(append
(projectile--cmake-command-presets-shallow filename command-type)
(mapcar
@@ -3191,7 +3191,7 @@ select a name of a command preset, or opt a manual
command by selecting
`projectile--cmake-no-preset'.
- Else `projectile--cmake-no-preset' is used."
- (if-let ((use-presets (projectile--cmake-use-command-presets command-type))
+ (if-let* ((use-presets (projectile--cmake-use-command-presets command-type))
(preset-names (projectile--cmake-command-preset-names
command-type)))
(projectile-completing-read
"Use preset: "
@@ -3673,7 +3673,7 @@ on the current project.
The project type is cached for improved performance."
(or (and (not dir) projectile-project-type)
- (if-let ((project-root (projectile-project-root dir)))
+ (if-let* ((project-root (projectile-project-root dir)))
(or (gethash project-root projectile-project-type-cache)
(projectile-detect-project-type dir)))))
@@ -3792,7 +3792,7 @@ Occurrences of the `projectile-default-src-directory' in
the directory of
IMPL-DIR-PATH are replaced with `projectile-default-test-directory'. Nil is
returned if `projectile-default-src-directory' is not a substring of
IMPL-DIR-PATH."
- (when-let ((file (projectile--complementary-file
+ (when-let* ((file (projectile--complementary-file
impl-dir-path
(lambda (f)
(when (string-match-p projectile-default-src-directory f)
@@ -3810,7 +3810,7 @@ Occurrences of `projectile-default-test-directory' in the
directory of
TEST-DIR-PATH are replaced with `projectile-default-src-directory'. Nil is
returned if `projectile-default-test-directory' is not a substring of
TEST-DIR-PATH."
- (when-let ((file (projectile--complementary-file
+ (when-let* ((file (projectile--complementary-file
test-dir-path
(lambda (f)
(when (string-match-p projectile-default-test-directory
f)
@@ -4006,7 +4006,7 @@ concatenated with FILENAME-FN applied to the file name of
FILE-PATH.
If either function returns nil, return nil."
(let ((filename (file-name-nondirectory file-path)))
- (when-let ((complementary-filename (funcall filename-fn filename))
+ (when-let* ((complementary-filename (funcall filename-fn filename))
(dir (funcall dir-fn (file-name-directory file-path))))
(concat (file-name-as-directory dir) complementary-filename))))
@@ -4015,7 +4015,7 @@ If either function returns nil, return nil."
Return a path relative to the project root for the impl file of FILE-NAME
using the src-dir and test-dir properties of the current project type which
should be strings, nil returned if this is not the case."
- (when-let ((complementary-file (projectile--complementary-file
+ (when-let* ((complementary-file (projectile--complementary-file
file-name
#'projectile--test-to-impl-dir
#'projectile--impl-name-for-test-name)))
@@ -4026,7 +4026,7 @@ should be strings, nil returned if this is not the case."
Return a path relative to the project root for the test file of FILE-NAME
using the src-dir and test-dir properties of the current project type which
should be strings, nil returned if this is not the case."
- (when-let (complementary-file (projectile--complementary-file
+ (when-let* (complementary-file (projectile--complementary-file
file-name
#'projectile--impl-to-test-dir
#'projectile--test-name-for-impl-name))
@@ -4038,7 +4038,7 @@ Return the implementation file path for the absolute path
TEST-FILE
relative to the project root in the case the current project type's src-dir
has been set to a custom function, return nil if this is not the case or
the path points to a file that does not exist."
- (when-let ((src-dir (projectile-src-directory (projectile-project-type))))
+ (when-let* ((src-dir (projectile-src-directory (projectile-project-type))))
(when (functionp src-dir)
(let ((impl-file (projectile--complementary-file
test-file
@@ -4052,7 +4052,7 @@ the path points to a file that does not exist."
Return the test file path for the absolute path IMPL-FILE relative to the
project root, in the case the current project type's test-dir has been set
to a custom function, else return nil."
- (when-let ((test-dir (projectile-test-directory (projectile-project-type))))
+ (when-let* ((test-dir (projectile-test-directory (projectile-project-type))))
(when (functionp test-dir)
(file-relative-name
(projectile--complementary-file
@@ -4145,12 +4145,12 @@ The precedence for determining implementation files to
return is:
(defun projectile-find-matching-test (impl-file)
"Compute the name of the test matching IMPL-FILE."
- (when-let ((candidates (projectile--find-matching-test impl-file)))
+ (when-let* ((candidates (projectile--find-matching-test impl-file)))
(projectile--choose-from-candidates candidates)))
(defun projectile-find-matching-file (test-file)
"Compute the name of a file matching TEST-FILE."
- (when-let ((candidates (projectile--find-matching-file test-file)))
+ (when-let* ((candidates (projectile--find-matching-file test-file)))
(projectile--choose-from-candidates candidates)))
(defun projectile-grep-default-files ()
@@ -5489,21 +5489,21 @@ An open project is a project with any open buffers."
(delq nil
(mapcar (lambda (buffer)
(with-current-buffer buffer
- (when-let ((project-root (projectile-project-root)))
+ (when-let* ((project-root (projectile-project-root)))
(when (projectile-project-buffer-p buffer project-root)
(abbreviate-file-name project-root)))))
(buffer-list)))))
(defun projectile--remove-current-project (projects)
"Remove the current project (if any) from the list of PROJECTS."
- (if-let ((project (projectile-project-root)))
+ (if-let* ((project (projectile-project-root)))
(projectile-difference projects
(list (abbreviate-file-name project)))
projects))
(defun projectile--move-current-project-to-end (projects)
"Move current project (if any) to the end of list in the list of PROJECTS."
- (if-let ((project (projectile-project-root)))
+ (if-let* ((project (projectile-project-root)))
(append
(projectile--remove-current-project projects)
(list (abbreviate-file-name project)))
@@ -5650,7 +5650,7 @@ Return a list of projects removed."
(defun projectile-cleanup-known-projects ()
"Remove known projects that don't exist anymore."
(interactive)
- (if-let ((projects-removed (projectile--cleanup-known-projects)))
+ (if-let* ((projects-removed (projectile--cleanup-known-projects)))
(message "Projects removed: %s"
(mapconcat #'identity projects-removed ", "))
(message "No projects needed to be removed.")))
- [nongnu] elpa/projectile updated (74165f722d -> 4c025a4a64), ELPA Syncer, 2025/01/30
- [nongnu] elpa/projectile 69af288a8b 04/11: [Fix #1811] Revert a change to `projectile-ignored-directories` that had converted them into regular expressions, ELPA Syncer, 2025/01/30
- [nongnu] elpa/projectile 07fc5ebc48 10/11: Fix a couple of broken tests, ELPA Syncer, 2025/01/30
- [nongnu] elpa/projectile 09e8191683 01/11: feat: add support for swift projects, ELPA Syncer, 2025/01/30
- [nongnu] elpa/projectile 55894d2a00 02/11: Update Bloop project config (#1901), ELPA Syncer, 2025/01/30
- [nongnu] elpa/projectile 6d55bd5820 03/11: Fix formatting, ELPA Syncer, 2025/01/30
- [nongnu] elpa/projectile 147162babd 05/11: Drop support for Emacs 25,
ELPA Syncer <=
- [nongnu] elpa/projectile 7019a047c3 07/11: Fix a broken when-let*, ELPA Syncer, 2025/01/30
- [nongnu] elpa/projectile 72a0aa5201 08/11: [Docs] Remove support page, ELPA Syncer, 2025/01/30
- [nongnu] elpa/projectile a0b59af86e 09/11: [Docs] Update a comparison entry, ELPA Syncer, 2025/01/30
- [nongnu] elpa/projectile 4c025a4a64 11/11: Fix broken tests, take 2, ELPA Syncer, 2025/01/30
- [nongnu] elpa/projectile 09fd852606 06/11: Convert directory names to regular expressions when needed, ELPA Syncer, 2025/01/30