Age | Commit message (Expand) | Author |
2016-05-05 | emacs: main: Use (guix combinators)....Reported by rsiddharth on #guix.
This is a followup to commit 958dd3ce68733bcd5c1231424c7e4ad39e67594a.
* emacs/guix-main.scm: Use (guix combinators) module as 'memoize' moved there.
| Alex Kost |
2016-04-26 | emacs: Add "edit" command to a list of licenses....* emacs/guix-ui-license.el (guix-license-list-edit): New command.
(guix-license-list-mode-map): Bind it to "e" key.
| Alex Kost |
2016-04-26 | emacs: Add license definition button to License Info buffer....* emacs/guix-ui-license.el (guix-license-insert-file): New procedure.
(guix-license-info-format): Use it.
| Alex Kost |
2016-04-26 | emacs: Add 'guix-find-license-definition' command....* emacs/guix-license.el (guix-license-file): New procedure.
(guix-find-license-definition): New command.
* doc/emacs.texi (Emacs Licenses): Document it.
| Alex Kost |
2016-04-21 | build: Move 'Makefile' fragments to subdirectories....This follows a convention used by some other GNU packages like Autoconf,
Bison, Coreutils, and Gnulib.
* doc.am: Rename to ...
* doc/local.mk: ... this.
* emacs.am: Rename to ...
* emacs/local.mk: ... this.
* gnu-system.am: Rename to ...
* gnu/local.mk: ... this.
* daemon.am: Rename to ...
* nix/local.mk: ... this.
* Makefile.am: Adapt to them.
* doc/guix.texi (Porting to a New Platform): Adapt documentation.
* guix/config.scm.in (%state-directory, %config-directory): Adapt comments.
* emacs/guix-config.el.in (guix-config-state-directory): Likewise.
| Mathieu Lirzin |
2016-04-18 | emacs: Display license info on button press in Package Info buffer....* emacs/guix-ui-package.el (guix-package-license): Adjust button action
to display license info instead of browsing license URL.
| Alex Kost |
2016-04-18 | emacs: Add location "Packages" button to Package Info buffer....* emacs/guix-ui-package.el (guix-package-info-insert-location): New
procedure.
(guix-package-info-format): Use it.
(guix-output-info-format): Likewise.
| Alex Kost |
2016-04-18 | emacs: Add interface for package locations....* emacs/guix-main.scm (%package-location-param-alist): New variable.
(package-location->sexp, package-location-entries): New procedures.
* emacs/guix-ui-location.el: New file.
* emacs.am (ELFILES): Add it.
* doc/emacs.texi (Emacs Package Locations): Document 'guix-locations'.
* NEWS: Mention it.
| Alex Kost |
2016-04-18 | emacs: Make 'guix-find-location' interactive....* emacs/guix-location.el (guix-find-location): Make interactive. Adjust
to handle "reduced" locations (without line and column numbers).
| Alex Kost |
2016-04-18 | emacs: Display message if license not found....* emacs/guix-ui-license.el (guix-license-message): New procedure.
(guix-license-info-message-function): Use it.
(guix-license-list-message-function): Likewise.
| Alex Kost |
2016-04-18 | emacs: Separate package license code....Move list/info interface code from "guix-license.el" to
"guix-ui-license.el".
* emacs/guix-license.el (guix-license-get-entries, guix-license-get-display)
(guix-license-insert-packages-button, guix-license-insert-comment)
(guix-licenses): Move to...
* emacs/guix-ui-license.el: ... here. New file.
* emacs.am (ELFILES): Add it.
| Alex Kost |
2016-04-18 | emacs: Separate package location code....* emacs/guix-base.el (guix-directory, guix-read-directory)
(guix-set-directory): Move to "guix-backend.el".
(guix-find-location, guix-package-location, guix-edit): Move to...
* emacs/guix-location.el: ... here. New file.
* emacs/guix-ui-package.el: Use it.
* emacs.am (ELFILES): Add it.
| Alex Kost |
2016-04-18 | emacs: Add 'guix-packages-by-location' command....* emacs/guix-main.scm (packages-by-location-file, package-location-files):
New procedures.
(%patterns-makers): Add 'location' search type.
* emacs/guix-messages.el (guix-message-packages-by-location): New procedure.
(guix-messages): Use it.
* emacs/guix-read.el (guix-package-locations)
(guix-read-package-location): New procedures.
* emacs/guix-ui-package.el (guix-packages-by-location): New command.
* doc/emacs.texi (Emacs Commands): Document it.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Alex Kost |
2016-04-15 | emacs: Use full profile name in Guix buffer names....* emacs/guix-ui.el (guix-ui-buffer-name-default): Rename to...
(guix-ui-buffer-name-short): ... this.
(guix-ui-buffer-name-full): New procedure.
(guix-ui-buffer-name-function): Set it as default.
| Alex Kost |
2016-04-15 | emacs: Factorize code for buffer names....* emacs/guix-ui.el (guix-ui-buffer-name-default): Extract the code to
compose buffer name and move to...
* emacs/guix-utils.el (guix-compose-buffer-name): ... here. New procedure.
| Alex Kost |
2016-04-04 | emacs: Speed up starting the REPL....Delay initializing variables.
* emacs/guix-main.scm: (%packages): Rename to...
(%package-vhash): ... this. Delay setting the value.
(package-vhash): New procedure (wrapper for '%package-vhash').
(%package-table): Delay setting the value.
(package-table): New procedure (wrapper for '%package-table').
(package-by-address, packages-by-name+version): Use wrappers.
| Alex Kost |
2016-04-04 | emacs: Use (guix scripts lint) only when needed....* emacs/guix-main.scm: Do not use (guix scripts pull) module.
(lint-checker-names): Adjust to use it.
| Alex Kost |
2016-04-04 | emacs: Remove unused module....This is a followup to commit c67e344f21fda2bf5a2a377a34d4749a1c7e7c9c.
* emacs/guix-main.scm: Do not use (guix scripts pull).
| Alex Kost |
2016-04-04 | emacs: Stylistic improvements in guile code....* emacs/guix-main.scm (package-unique?): Use 'match' instead of 'cdr'.
(package-by-address): Likewise.
| Alex Kost |
2016-04-04 | emacs: Use 'build-and-use-profile' from (guix scripts package)....* guix/scripts/package.scm: Export 'build-and-use-profile'.
* emacs/guix-main.scm (process-package-actions): Use it.
| Alex Kost |
2016-03-24 | emacs: Deprecate "guix-init.el"....'guix-init' served 2 purposes:
- to autoload guix commands (by requiring 'guix-autoloads');
- and to autoload Emacs packages installed with Guix (by requiring
'guix-emacs').
The second purpose is not actual anymore, as Emacs package handles this
task now, so there is no need in 'guix-init' anymore.
* emacs/guix-init.el: Do not require 'guix-emacs'. Add a deprecation
message.
* doc/emacs.texi (Emacs Initial Setup): Recommend to use
'guix-autoloads' instead of 'guix-init'.
| Alex Kost |
2016-03-23 | emacs: Use space to separate package name and version in heading....Reported by Ludovic Courtès <ludo@gnu.org>.
* emacs/guix-ui-package.el (guix-package-name): Check 'spec' property.
(guix-package-info-insert-heading): Use "name version" for button label,
write name specification to 'spec' property.
| Alex Kost |
2016-03-23 | emacs: Fix converting scheme into elisp expression....* emacs/guix-geiser.el (guix-geiser-eval-read): Replace #f/#t with nil/t
only when they follow "(" or " ".
| Alex Kost |
2016-03-08 | emacs: Gracefully handle wrong package names passed to 'guix-edit'....Fixes <http://bugs.gnu.org/22933>.
* emacs/guix-main.scm (package-location-string): Rewrite to handle the
case where 'packages-by-name' returns the empty list.
Co-authored-by: Mathieu Lirzin <mthl@gnu.org>
| Ludovic Courtès |
2016-03-04 | emacs: Use '@' to separate package names and version numbers....This is a followup to commit 1b846da8c372bee78851439fd9e72b2499115e5a.
* emacs/guix-base.el (guix-package-name-specification): Use "@" instead
of "-".
* emacs/guix-main.scm (name+version->full-name): Likewise.
(package-inputs-names): Use 'make-package-specification' instead of
'package-full-name'.
(full-name->name+version): Update the docstring.
* emacs/guix-ui-package.el (guix-packages-by-name): Likewise.
| Alex Kost |
2016-03-04 | emacs: hydra: Use '-' to separate job names and version numbers....* emacs/guix-hydra.el (guix-hydra-job-name-specification): New procedure.
* emacs/guix-ui-package.el (guix-package-info-insert-systems)
(guix-package-list-latest-builds): Use it.
| Alex Kost |
2016-02-24 | Do not check package freshness during upgrade....Fixes <http://bugs.gnu.org/22740>.
Reported by Andreas Enge <andreas@enge.fr>.
* gnu/packages.scm (waiting, ftp-open*, check-package-freshness): Remove.
* guix/scripts/package.scm (options->installable): Adjust accordingly.
* emacs/guix-main.scm (package->manifest-entry*): Likewise.
| Alex Kost |
2016-02-22 | emacs: Do not allow a user to modify system profiles....Fixes <http://bugs.gnu.org/22607>.
Reported by myglc2 <myglc2@gmail.com>.
Remove possibilities to install/delete packages to/from a system profile
both for "Package List" and "Package Info" buffers.
* emacs/guix-profiles.el (guix-system-profile-regexp): New variable.
(guix-system-profile?): New procedure.
* emacs/guix-ui-package.el (guix-package-info-insert-output): Do not
display "Install"/"Delete" button for a system profile.
(guix-package-assert-non-system-profile): New procedure.
(guix-package-execute-actions): Use it.
| Alex Kost |
2016-02-22 | emacs: Set 'guix-buffer-item' before displaying entries....* emacs/guix-buffer.el (guix-buffer-set): Set 'guix-buffer-item' early,
so that it can be used during displaying entries. For example, this
allows us to use a value of the current guix profile when package
entries are inserted in a "List" or "Info" buffer.
| Alex Kost |
2016-02-22 | emacs: Add 'M-x guix-installed-{user/system}-packages'....* emacs/guix-ui-package.el (guix-installed-user-packages)
(guix-installed-system-packages): New commands.
* doc/emacs.texi (Emacs Commands): Document them.
| Alex Kost |
2016-02-18 | emacs: Autoload hooks instead of putting them in 'guix-init'....* emacs/guix-init.el: Move adding hooks to...
* emacs/guix-build-log.el: ... here.
* emacs/guix-devel.el: ... and here.
| Alex Kost |
2016-02-10 | emacs: 'C-u M-x guix-edit' prompts for directory....* emacs/guix-base.el (guix-read-directory): New procedure.
(guix-find-location, guix-edit): Add optional 'directory' argument.
* emacs/guix-ui-package.el (guix-package-list-edit)
(guix-output-list-edit): Likewise.
* doc/emacs.texi (Emacs Commands): Mention "C-u".
| Alex Kost |
2016-02-07 | emacs: Find Emacs packages in a system profile....Fixes <http://bugs.gnu.org/22550>.
Reported by myglc2 <myglc2@gmail.com>.
* emacs/guix-emacs.el (guix-emacs-autoload-packages): Autoload Emacs
packages installed in a system profile.
| Alex Kost |
2016-02-07 | emacs: Move the code to load Emacs packages after installing....This code should belong to "guix-backend" as it is run after a REPL
operation to check if new Emacs packages have been installed and to
autoload them if needed.
* emacs/guix-emacs.el (guix-emacs-activate-after-operation)
(guix-emacs-load-autoloads-maybe): Move and rename to...
* emacs/guix-backend.el (guix-emacs-activate-after-operation)
(guix-repl-autoload-emacs-packages-maybe): ... this.
(guix-after-repl-operation-hook): Adjust for the renaming.
| Alex Kost |
2016-02-07 | emacs: Factorize searching for Emacs packages....* emacs/guix-emacs.el: (guix-emacs-directories): New procedure.
(guix-emacs-find-autoloads-in-directory): Rename to...
(guix-emacs-find-autoloads): ... this.
(guix-emacs-load-autoloads): Remove. Replace with...
(guix-emacs-autoload-packages): ... this. New procedure. At first,
find a list of directories with Emacs packages, then add them to
'load-path' and finally, load autoloads.
* doc/emacs.texi (Emacs Initial Setup): Adjust accordingly.
| Alex Kost |
2016-02-04 | emacs: Add missing (require 'guix-profiles)....Reported by Christopher Allan Webber <cwebber@dustycloud.org> on #guix.
Several modules use the code from 'guix-profiles' without requiring it. It
was never noticed before commits e4e2154644ecf76ea02a50304c1405c00c9ffdd1
and 13fe4891fa247d306e203ee14c6886513bd86b52, because 'guix-emacs' required
this module. But now, when 'site-start.el' loads 'guix-emacs',
'guix-profiles' may not exist yet, so it may not be required. This will
lead to an error when some of "M-x guix-..." commands will be used. See
<https://gnunet.org/bot/log/guix/2016-02-03#T898859>.
* emacs/guix-base.el: Require 'guix-profiles'.
* emacs/guix-ui.el: Likewise.
* emacs/guix-ui-generation.el: Likewise.
* emacs/guix-ui-package.el: Likewise.
| Alex Kost |
2016-02-01 | emacs: command: Disambiguate "w" key in build options....This is a followup to commit 47c0f92c37dc7d50d9d4598ce5b91c4cdfec6ed1.
* emacs/guix-command.el (guix-command-improve-common-build-argument):
Use "W" key for '--with-input' option (leave "w" for '--with-source').
| Alex Kost |
2016-01-29 | guix system: Rename 'dmd-graph' to 'shepherd-graph'....* doc/images/dmd-graph.dot: Rename to...
* doc/images/shepherd-graph.dot: ... this.
* doc.am (DOT_FILES): Adjust accordingly.
* guix/scripts/system.scm (dmd-service-node-label)
(dmd-service-node-type, export-dmd-graph): Rename to...
(shepherd-service-node-label, shepherd-service-node-type)
(export-shepherd-graph): ... this.
(show-help, process-action, process-command): Rename 'dmd-graph' to
'shepherd-graph'.
* emacs/guix-command.el (guix-command-additional-execute-arguments)
(guix-command-special-executors): Likewise.
* doc/guix.texi: Likewise.
* doc/emacs.texi (Emacs Popup Interface): Likewise.
| Alex Kost |
2016-01-25 | emacs: Add interface for licenses....* emacs/guix-main.scm (%license-param-alist): New variable.
(license->sexp, find-licenses, license-entries): New procedures.
* emacs/guix-license.el (guix-license-get-entries)
(guix-license-get-display, guix-license-insert-packages-button)
(guix-license-insert-comment, guix-license-list-describe)
(guix-license-list-show-packages): New procedures.
(guix-licenses): New command.
* doc/emacs.texi (Emacs Licenses): New node.
(Emacs Interface): Add it.
* doc/guix.texi (Top): Add it.
* NEWS: Mention new interface.
| Alex Kost |
2016-01-25 | emacs: list: Support displaying URL links....* emacs/guix-list.el (guix-list-url): New face.
(guix-list-get-url): New procedure.
| Alex Kost |
2016-01-25 | emacs: Add 'guix-packages-by-license' command....* emacs/guix-main.scm (packages-by-license): New procedure.
(%patterns-makers): Add 'license' search type.
* emacs/guix-messages.el (guix-message-packages-by-license): New procedure.
(guix-messages): Use it.
* emacs/guix-ui-package.el (guix-packages-by-license): New command.
* doc/emacs.texi (Emacs Commands): Document it.
| Alex Kost |
2016-01-25 | emacs: Buttonize licenses in "Package Info"....* emacs/guix-ui-package.el (guix-package-license): New button type.
(guix-package-info-format, guix-output-info-format): Use it.
* doc/emacs.texi (Emacs Info buffer): Mention it.
| Alex Kost |
2016-01-25 | emacs: Add 'guix-browse-license-url' command....* emacs/guix-main.scm (%licenses): New variable.
(licenses, license-names, lookup-license, lookup-license-uri): New
procedures.
* emacs/guix-read.el (guix-license-names, guix-read-license-name): New
procedures.
* emacs/guix-license.el: New file.
(guix-lookup-license-url): New procedure.
(guix-browse-license-url): New command.
* emacs.am (ELFILES): Add new file.
| Alex Kost |
2016-01-25 | emacs: Rename 'file-path' to 'file-name'....* emacs/guix-info.el (guix-info-file-path): Rename to...
(guix-info-file-name): ... this.
* emacs/guix-list.el (guix-list-file-path): Rename to...
(guix-list-file-name): ... this.
(guix-list-get-file-path): Rename to...
(guix-list-get-file-name): ... this.
* emacs/guix-ui-generation.el (guix-generation-list-format): Adjust
accordingly.
* emacs/guix-ui-system-generation.el (guix-system-generation-list-format):
Likewise.
* NEWS: Mention faces renaming.
| Alex Kost |
2016-01-18 | emacs: Add 'guix-search-by-name'....* emacs/guix-ui-package.el (guix-search-by-name): New command.
* doc/emacs.texi (Emacs Commands): Document it.
| Alex Kost |
2016-01-18 | emacs: Rename 'guix-search-by-name' to 'guix-packages-by-name'....* emacs/guix-ui-package.el (guix-search-by-name): Rename to...
(guix-packages-by-name): ... this. Complete package name.
* doc/emacs.texi (Emacs Commands): Likewise.
| Alex Kost |
2016-01-16 | emacs: Add interface for system generations....* emacs/guix-main.scm (system-generation-boot-parameters)
(system-generation-param-alist, system-generation-sexps): New procedures.
(entries): Add 'system-generation' entry type.
* emacs/guix-messages.el (guix-result-message): Use the same messages
for 'generation' and 'system-generation' entry types.
* emacs/guix-ui-system-generation.el: New file.
* emacs.am (ELFILES): Add it.
* doc/emacs.texi (Emacs Commands): Document new commands.
* NEWS: Mention new interface.
| Alex Kost |
2016-01-16 | emacs: Remove 'generation' search type....Use 'installed' search type instead.
* emacs/guix-main.scm (%patterns-makers): Remove 'generation'.
(package/output-sexps): Adjust accordingly.
* emacs/guix-ui-generation.el (guix-generation-info-insert-number):
Replace 'generation' search with 'installed'.
(guix-generation-list-show-packages): Likewise.
* emacs/guix-messages.el (guix-messages): Remove 'generation'.
| Alex Kost |
2016-01-16 | emacs: Replace 'generation-diff' search with 'profile-diff'....* emacs/guix-main.scm (generation-package-specifications): Rename to...
(profile-package-specifications): ... this. Take a single 'profile'
argument.
(generation-difference): Rename to...
(profile-difference): ... this. Take profiles as arguments.
(package/output-sexps): Adjust accordingly.
* emacs/guix-ui-generation.el (guix-generation-list-profiles-to-compare):
New procedure.
(guix-generation-list-show-added-packages)
(guix-generation-list-show-removed-packages): Use it.
* emacs/guix-messages.el (guix-messages): Replace 'generation-diff' with
'profile-diff'.
(guix-message-outputs-by-diff): Adjust accordingly.
| Alex Kost |
2016-01-16 | emacs: Find packages in system profiles....For a usual profile, packages are placed in a profile directory itself,
but for a system profile, packages are placed in 'profile'
sub-directory. So we need to do some special cases for system profiles
to find packages there as well.
* emacs/guix-base.el (guix-packages-profile): New procedure.
(guix-manifest-file): Use it. Add optional 'system?' argument.
* emacs/guix-ui-generation.el (guix-system-generation?)
(guix-generation-current-packages-profile): New procedures.
(guix-generation-packages, guix-generation-insert-packages): Remove
'generation' argument.
(guix-generation-packages-buffer): Add optional 'system?' argument.
(guix-profile-generation-manifest-file)
(guix-profile-generation-packages-buffer): Adjust accordingly.
* emacs/guix-main.scm (generation-package-specifications+paths): Rename to...
(profile->specifications+paths): ... this. Use a single 'profile' argument.
| Alex Kost |