me
/
guix
Archived
1
0
Fork 0
Commit Graph

21 Commits (3c309a7b7020a9645bfe775d9f53f43f05d076bf)

Author SHA1 Message Date
Liliana Marie Prikler 74d723b4a8
gnu: emacs-next: Update to 30.0.60-1.4e22ef8.
* gnu/packages/aux-files/emacs/comp-integrity-next.el: New file.
* Makefile.am (AUX_FILES): Register it here.
* gnu/packages/emacs.scm (emacs-next-minimal): Update to 30.0.60-1.4e22ef8.
(emacs->emacs-next)[arguments]: Swap out ‘validate-comp-integrity’ phase,
so as to refer to the new integrity check.
2024-07-07 08:04:47 +02:00
Liliana Marie Prikler 9e22ef64ad
gnu: emacs: Only verify integrity of bound symbols.
Some variants, like emacs-no-x, come with a reduced set of preloaded symbols,
so don't expect them to always be native.

* gnu/packages/aux-files/emacs/comp-integrity.el (expect-native-if-bound): New
function.
(x-setup-function-keys, dynamic-setting-handle-config-changed-event)
(fontset-plain-name, fringe-mode, image-type, regexp-opt, scroll-bar-scale):
Use ‘expect-native-if-bound’.
(x-handle-no-bitmap-icon): Likewise, was already conditional.
2024-03-22 22:45:13 +01:00
Liliana Marie Prikler 19fc252ab7
aux-files: comp-integrity: Adjust for emacs-pgtk.
* gnu/packages/aux-files/emacs/comp-integrity.el (x-dnd-init-frame): Require
x-dnd.
(x-handle-no-bitmap-icon): Only test this if it's bound.
2024-03-04 20:54:49 +01:00
Liliana Marie Prikler 84e125eb27
gnu: emacs-next-minimal: Update to 30.0.50-2.170c655.
* gnu/packages/emacs.scm (emacs-next-minimal): Update to 30.0.50-2.170c655.
* gnu/packages/aux-files/emacs/comp-integrity.el: Adjust accordingly.
2024-03-02 18:04:22 +01:00
Liliana Marie Prikler 35fc3027f3
gnu: emacs: Check integrity of native-compiled files.
In the previous commit, we've added a patch that potentially messes with
how built-in (especially preloaded) Lisp libraries are loaded.  Thus, we
might want to assert that these files still load fine, as reported when
querying the builtin documentation of functions provided by them.

* gnu/packages/aux-files/emacs/comp-integrity.el: New file.
* gnu/Makefile.am (dist_noinst_DATA): Register it here.
* gnu/packages/emacs.scm (emacs-no-x)[#:phases]: Add ‘validate-comp-integrity’.
2024-02-24 08:08:17 +01:00
Liliana Marie Prikler 6750c114e3
gnu: guix-emacs: Reword docstrings.
The current documentation strings cause compilation warnings; thus improve
them.

* gnu/packages/aux-files/emacs/guix-emacs.el (guix-emacs-autoload-regexp)
(guix-emacs-find-autoloads, guix-emacs-autoload-packages): Make do without
quoting 'autoload'.  Reserve quotation to variables and functions.
2023-09-07 20:25:07 +02:00
Maxim Cournoyer b02ad19305
gnu: emacs: Reload subdirs.el files in ‘guix-emacs-autoload-packages’.
This fixes a regression introduced with 79cfe30f3 ("build-system: emacs: Use
subdirectories again.") which caused the 'guix-emacs-autoload-packages' to no
longer be able to autoload all packages.

* gnu/packages/aux-files/emacs/guix-emacs.el
(guix-emacs-autoload-packages): Reload subdirs.el files unless NO-RELOAD is
provided.  Update docstring.
* doc/guix.texi (Application Setup): Document that
‘guix-emacs-autoload-packages’ can be invoked interactively to auto-reload
newly installed Emacs packages.
* gnu/packages/emacs.scm (emacs)[arguments]<#:phases>: Call
guix-emacs-autoload-packages with an argument in the site-start.el file.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2023-09-07 20:25:07 +02:00
Maxim Cournoyer 05e4b3cba8
gnu: emacs: Allow producing verbose messages when loading autoloads.
* gnu/packages/aux-files/emacs/guix-emacs.el: Expound commentary.
(guix-emacs-verbose): New variable.
(guix-emacs--load-file-no-error): New procedure.
(guix-emacs-autoload-packages): Use it.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2023-09-07 20:25:06 +02:00
Maxim Cournoyer d3bf08872b
gnu: emacs: Factorize a ‘guix-emacs--subdirs-files’ procedure.
* gnu/packages/aux-files/emacs/guix-emacs.el
(guix-emacs--subdirs-files): New procedure.
(guix-emacs-load-package-descriptors): Use it.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2023-09-07 20:25:06 +02:00
Maxim Cournoyer 16cc7b9678
gnu: emacs: Use lexical binding for guix-emacs.el startup library.
* gnu/packages/aux-files/emacs/guix-emacs.el: Declare LEXCICAL-BINDING file
variable to true.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2023-09-07 20:25:06 +02:00
Andrew Tropin c77a3d4554
gnu: emacs: Add TREE_SITTER_GRAMMAR_PATH support.
gnu/packages/emacs.scm (emacs)[native-search-paths]: Add a search-path for
tree-sitter grammars.
gnu/packages/aux-files/emacs/guix-emacs.el: Add directories from
TREE_SITTER_GRAMMAR_PATH to treesit-extra-load-path.
2023-02-11 12:02:46 +04:00
André A. Gomes fab316f7ec
gnu: emacs: Suppress loading messages for guix emacs packages.
* gnu/packages/aux-files/emacs/guix-emacs.el
(guix-emacs-autoload-packages): Pass NOMESSAGE as t for 'load'.

Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2022-08-03 15:07:55 +08:00
Liliana Marie Prikler 15404ff19b
gnu: emacs: Load package descriptors from packages referenced by subdirs.el
* gnu/packages/aux-files/emacs/guix-emacs.el
(guix-emacs--non-core-load-path): New procedure.
(guix-emacs-autoload-packages): Use it here.
(guix-emacs-load-package-descriptors): New procedure.
* gnu/packages/emacs.scm (emacs)[install-site-start]: Install advice to run
‘guix-emacs-load-package-descriptors’.
2021-12-03 21:39:50 +01:00
Maxim Cournoyer 155f9afde5
gnu: emacs: Remove obsolete FIXME comment.
* gnu/packages/aux-files/emacs/guix-emacs.el: Remove comment.
2020-03-22 21:17:38 -04:00
Maxim Cournoyer 9659459f06
emacs-build-system: Byte compile the autoload files.
* guix/build/emacs-build-system.scm (enable-autoloads-compilation)
(validate-compiled-autoloads): Add procedures.
(%standard-phases): Register the new procedures.
* gnu/packages/aux-files/emacs/guix-emacs.el (guix-emacs-find-autoloads):
Remove duplicates in the list of autoload files found.
* guix/build/emacs-utils.scm (expr->string): Add procedure.
(emacs-batch-eval, emacs-batch-edit-file): Use it.
2020-02-27 16:59:07 -05:00
Maxim Cournoyer 903765f0d9
gnu: emacs: Use load-path instead of EMACSLOADPATH.
This enables the use of the subdirs.el feature of Emacs, where specifying a
directory in EMACSLOADPATH translates into a `load-path' variable containing
the directory and all its sub-directories.

* gnu/packages/aux-files/emacs/guix-emacs.el (guix-emacs-autoload-packages):
Use `load-path' directly instead of parsing EMACSLOADPATH.

Reported-by: Leo Prikler <leo.prikler@student.tugraz.at>
Signed-off-by: Clément Lassieur <clement@lassieur.org>
2019-12-04 11:06:49 +01:00
Maxim Cournoyer c320acd633
gnu: emacs: Fix guix-emacs.el indentation.
* gnu/packages/aux-files/emacs/guix-emacs.el: Fix indentation.

Signed-off-by: Clément Lassieur <clement@lassieur.org>
2019-12-04 11:06:49 +01:00
Maxim Cournoyer 47b3b4c2aa
gnu: emacs: Adapt the autoloads auxiliary code to use EMACSLOADPATH.
The Elisp directories to scan for autoloads are now taken from EMACSLOADPATH
instead of from the user profile, environment profile or system profile.
Manually adding the Elisp directories to the `load-path' is no longer
necessary, as this is covered by Emacs when they are in EMACSLOADPATH.  The
caching logic is also removed, as this code is not typically run often and the
gain is marginal (loading autoloads files is cheap).

* gnu/packages/aux-files/emacs/guix-emacs.el (guix-emacs-directory)
(guix-emacs-subdirs, guix-emacs-directories): Remove procedures.
(guix-emacs-find-autoloads): Filter the directory entries by passing the
regexp to `directory-files' directly, which is ten times faster.  Remove
deduplication.
(guix-emacs-autoloads-regexp): Remove the group, which used to filter out the
file extension; it no longer works this way due to passing the regexp to the
`directory-files' procedure directly, which doesn't care about groups.
(guix-emacs-autoload-packages): Update doc.  Search package directories from
EMACSLOADPATH.  Do not populate the load-path.  Remove cache.
2019-11-18 14:34:41 +09:00
Kyle Meyer 24b115dff5
gnu: emacs: Check GUIX_ENVIRONMENT when autoloading packages.
Check the environment profile so that we autoload packages that are given as
arguments to "guix environment" but are not in the system or user profile.
Note that the union of Emacs packages in the system, user, and environment
profiles will be autoloaded even when --pure was passed to "guix environment",
because it's not clear how to detect that --pure was given.

* gnu/packages/aux-files/emacs/guix-emacs.el (guix-emacs-autoload-packages):
Add Emacs packages from GUIX_ENVIRONMENT profile.

Signed-off-by: Alex Kost <alezost@gmail.com>
2017-07-29 23:19:17 +03:00
Alex Kost 9bd94544be
gnu: emacs: Simplify "guix-emacs.el".
* gnu/packages/aux-files/emacs/guix-emacs.el: Do not try to require
'guix-profiles'.  Do not call 'guix-emacs-autoload-packages' in the top
level.
(guix-package-enable-at-startup): Remove.  This variable can't be set by
a user since this file is loaded before user config.
(guix-emacs-autoload-packages): Use 'guix-read-package-profile' instead
of 'guix-profile-prompt' in interactive clause (it was renamed in
Emacs-Guix).
* gnu/packages/emacs.scm (emacs)[arguments]: Call
'guix-emacs-autoload-packages' in "site-start.el" after requiring
'guix-emacs'.
2017-02-27 16:44:58 +03:00
Alex Kost 59d04f63df
gnu: emacs: Move "guix-emacs.el" to "aux-files".
* emacs/guix-emacs.el: Rename to...
* gnu/packages/aux-files/emacs/guix-emacs.el: ... this.
* Makefile.am (AUX_FILES): Add it.
* gnu/packages/emacs.scm (emacs)[inputs]: Remove 'guix' source.
[native-inputs]: Add "guix-emacs.el" auxiliary file.
[arguments]: Adjust 'install-site-start' phase accordingly.
2017-02-27 16:44:58 +03:00