Skip to content

elpaca-browse: don't strip uri extension when it's only git#493

Closed
ananashawaw wants to merge 1801 commits intoprogfolio:masterfrom
ananashawaw:master
Closed

elpaca-browse: don't strip uri extension when it's only git#493
ananashawaw wants to merge 1801 commits intoprogfolio:masterfrom
ananashawaw:master

Conversation

@ananashawaw
Copy link

progfolio and others added 30 commits December 21, 2023 17:03
elpaca--date-version-schema-min: heuristic for detecting "YYYYMMDD" style
version requirements. These are relatively rare, but found in some popular
packages hosted on MELPA.
More performant. cl-loop "thereis" clause and destructuring make for shorter
code.
The loop is shorter and easier to read.
Removes carriage return on Windows.
Fixes: progfolio#218
Allows programmatically declaring a package's version.
Useful for packages which do not declare their versions in the standard way.
For example, auctex requires running Make at installation time to
embed version information in tex-site.el rather than in a -pkg.el file
or the main elisp file's metadata header.

doc: add :version recipe keyword section and example.
elpaca--declared-version: prefer :version recipe keyword if present

See: progfolio#217
Previous method of manually constructing a list of files was intended to be faster.
The performance gain in negligible and using a regexp + directory-files based
search is able to better find files in non-standard locations.
Users who are using Emacs versions not covered by the default value will want to
set this variable prior to package versions being checked.
Ensure package name has no prefix.
Otherwise, "helm-org-ql.el" was being detected as main file for org-ql.
Also affected: prescient (probably others, too).
elpaca--main-file: hoist definition before first use
elpaca-core-date, elpaca--date-version-schema-min: move closer to usage site
Augment version-regexp-alist to include a more generic regexp.
I'm not sure why this isn't the default. Possibly worth discussing upstream with
Emacs dev.

See: progfolio#231
elpaca--cache-version: store cache version
elpaca--menu-cache: ensure current cache version met
elpaca--write-menu-cache: write cache version

Related: progfolio#232 progfolio#188 progfolio#205
Covers case where stable version being built from source.
Consider Major and Minor version numbers when matching `elpaca--emacs-releases`.
Give a version specific warning if a development build is detected, but the
previous stable release's core date is assigned. This hopefully strikes a
balance between being too "loud" about this type of warning and providing a
practical fallback value for elpaca-core-date on development Emacs versions.
Related: progfolio#235

Co-authored-by: Psionik K <[email protected]>
Respect user's native-comp-eln-load-path when startup-redirect-eln-cache is
used.

See: progfolio#238
We don't need to do anything with the matches here.
Emacs <= 28 also doesn't accept the INHIBIT-MODIFY arg.
progfolio and others added 25 commits May 23, 2025 10:20
manual.org: Update :repo recipe keyword documentation to reflect above.

Related: progfolio#459
839901f commit renamed and added `test/elpaca-tests.el` but did not
remove the `test/elpaca-test.el` file.
…io#473)

The `git switch -C` introduced in `b182f36` requires git 2.23, released in August 2019.
required for Emacs versions less than 29
git.sr.ht/~bzg appears to track releases.
GNU's Savannah servers experience outages due to DDOS.
The Github mirror is a reasonably reliable and up-to-date replacement.

Related: progfolio#484
Currently diffs are intended to be read-only.
Related: progfolio#485
Move autoloaded definitions to elpaca.el.
This prevents elpaca-ui and elpaca-log features from being loaded if they are
not used, which should reduce start-up time.
Nil has not been a valid order value for quite some time.
For whatever reason, when working with the interpreted source files the
caller-name would be off-by-one. Explicitly examining the entire backtrace and
skipping known uninteresting functions seems to work in both the interpreted and
byte-compiled case.
Convenience macro for executing elisp in an async Emacs subprocess.
elpaca--generate-autoloads-aysnc, elpaca--byte-compile: use it.
@progfolio
Copy link
Owner

I appreciate the suggestion. I think I'll hold on this for now. I'm planning on releasing a significant refactor which will allow for dispatching via generic functions. When that lands I will include one so that each package type can have more flexible control over the URL used for browsing.

@ananashawaw
Copy link
Author

np !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.