| Commit message (Expand) | Author | Age | Files | Lines |
| * | Update version to 0.4v0.4 | Alex Kost | 2018-05-19 | 2 | -3/+5 |
| * | Update NEWS | Alex Kost | 2018-05-19 | 1 | -0/+78 |
| * | elisp/guile: Fix finding the current definition•••Reported by Pierre Neidhardt:
<https://github.com/alezost/guix.el/issues/24>. Well, it was not really
the issue but it is better to define the definition from its start
position, anyway.
* elisp/guix-guile.el (guix-guile-current-definition): Define the
current definition properly when the point is in the beginning of it.
| Alex Kost | 2018-05-19 | 1 | -1/+9 |
| * | Add 'guix-default-services' command•••* scheme/emacs-guix/utils.scm (read-eval): New procedure.
* scheme/emacs-guix/services.scm (register/return-services): New procedure.
(find-services): Add 'from-expression' search type.
* elisp/guix-ui-service.el (guix-service-message): Add a message for it.
(guix-default-services-variables): New variable.
(guix-default-services): New command.
* elisp/guix-help.el (guix-help-specifications): Add it.
* doc/emacs-guix.texi (Services): Document it.
| Alex Kost | 2018-05-18 | 5 | -8/+71 |
| * | Display info about shepherd services in "Service Info"•••Inspired by
<http://git.savannah.gnu.org/cgit/guix.git/commit/?id=6ac8b7359a1ac80e558f41dd37004ffa727dd3c6>.
* scheme/emacs-guix/services.scm (%shepherd-service-param-alist): New
variable.
(shepherd-services, shepherd-service->sexp, shepherd-services->sexp):
New procedures.
(service-by-id-or-name): Add 'shepherd' parameter.
* elisp/guix-ui-service.el (guix-shepherd-service): New 'info' interface.
(guix-shepherd-service-info-delimiter): New variable.
(guix-service-insert-shepherd-services): New procedure.
(guix-service-info-format): Use it to display 'shepherd' parameter.
| Alex Kost | 2018-05-18 | 2 | -4/+65 |
| * | elisp: Inherit description faces from 'font-lock-doc-face'•••* elisp/guix-ui-package.el (guix-package-info-description): Inherit from
'font-lock-doc-face'.
* elisp/guix-ui-service.el (guix-service-info-description): Likewise.
| Alex Kost | 2018-05-17 | 2 | -2/+2 |
| * | elisp/ui-service: Add more messages•••This is a followup for commits 08a10d6d9bcfdc97908bd2a85faa54bc4cdc664f
and ff982b85647a8f715810b214d82eb1945329ce99.
* elisp/guix-ui-service.el (guix-service-message): Add messages for
'regexp' and 'location' search types.
| Alex Kost | 2018-05-17 | 1 | -1/+13 |
| * | elisp: Add "Services" button to Service Info•••* elisp/guix-location.el (guix-location-file): New function.
* elisp/guix-ui-package.el (guix-package-info-insert-location): Use it.
* elisp/guix-ui-service.el (guix-service-info-insert-location): New
procedure.
(guix-service-info-format): Use it.
| Alex Kost | 2018-05-16 | 3 | -2/+20 |
| * | README: Update for the recent changes in commands•••* README (About): Mention interface for services and service locations.
(Usage): Rearrange, rename, remove and add some commands.
| Alex Kost | 2018-05-15 | 1 | -19/+25 |
| * | elisp/help: Rearrange commands•••* elisp/guix-help.el (guix-help-insert-specification): Accept 'nil' to
insert a new line.
(guix-help-specifications): Combine commands for packages and their
locations into one group, as well as profiles and their generations;
move commands for services and their locations upper (before licenses).
| Alex Kost | 2018-05-15 | 1 | -22/+20 |
| * | Add 'guix-services-by-regexp' command•••* scheme/emacs-guix/services.scm (services-by-regexp)
(service-param): New procedures.
(find-services): Add 'regexp' search type.
* elisp/guix-ui-service.el (guix-service-search-params)
(guix-service-search-history): New variables.
(guix-services-by-regexp): New command.
* elisp/guix-help.el (guix-help-specifications): Add it.
* doc/emacs-guix.texi (Services): Document it.
| Alex Kost | 2018-05-15 | 4 | -1/+53 |
| * | Add 'guix-find-service-definition' command•••* scheme/emacs-guix/services.scm (service-by-id-or-name)
(service-location-string): New procedures.
* scheme/emacs-guix.scm: Autoload 'service-location-string'.
* elisp/guix-service.el (guix-service-location): New function.
(guix-find-service-definition): New command.
* elisp/guix-help.el (guix-help-specifications): Add it.
* doc/emacs-guix.texi (Services): Document it.
| Alex Kost | 2018-05-15 | 5 | -0/+44 |
| * | Add 'guix-find-service-location-file' command•••* elisp/guix-service.el: New file.
* elisp/local.mk (EL_FILES): Add it.
* elisp/guix-help.el (guix-help-specifications): Add
'guix-find-service-location-file' command.
* doc/emacs-guix.texi (Services): Document it.
| Alex Kost | 2018-05-14 | 4 | -0/+50 |
| * | Add 'guix-service-locations' command•••* elisp/guix-ui-service-location.el: New file.
* elisp/local.mk (EL_FILES): Add it.
* elisp/guix-help.el (guix-help-specifications): Add
'guix-service-locations' command.
* doc/emacs-guix.texi (Services): Document it.
| Alex Kost | 2018-05-14 | 4 | -1/+120 |
| * | Add 'guix-find-license-location-file' command•••* elisp/guix-license.el (guix-find-license-location-file): New command.
(guix-find-license-definition): Use it.
* elisp/guix-help.el (guix-help-specifications): Add it.
* doc/emacs-guix.texi (Package Licenses): Document it.
| Alex Kost | 2018-05-14 | 3 | -2/+15 |
| * | Add 'guix-services-by-location' command•••* scheme/emacs-guix/services.scm (find-services): Add 'location' search
type.
(%service-location-param-alist): New variable.
(services-by-location-file, service-location-files)
(service-location-sexps): New procedures.
* scheme/emacs-guix.scm: Autoload them.
* elisp/guix-read.el (guix-service-location-files)
(guix-read-service-location-file): New functions.
* elisp/guix-ui-service.el (guix-services-by-location): New command.
* elisp/guix-help.el (guix-help-specifications): Add it.
* doc/emacs-guix.texi (Services): Document it.
| Alex Kost | 2018-05-14 | 6 | -4/+76 |
| * | Rename 'location' to 'location-file' where needed•••This is a followup to commit d3881fec140de868265a28376311c9750efdd351.
There is a distinction between these terms as 'location-file' is just a
file, and 'location' is a file plus a position in that file.
So (ideally) there should be the same distinction in the command names,
however most commands already have long names, and using
'guix-packages-by-location-file' instead of 'guix-packages-by-location'
will probably add nothing to the meaning of this command and 5
characters to its name. So this command is left unchanged, but such
commands as 'guix-find-package-location' and
'guix-find-package-definition' may bring confusion. Hopefully, using
'guix-find-package-location-file' name will make it more clear.
* elisp/guix-read.el (guix-read-package-location): Rename to...
(guix-read-package-location-file): ... this.
* elisp/guix-package.el (guix-find-package-location): Rename to...
(guix-find-package-location-file): ... this.
* elisp/guix-help.el (guix-help-specifications): Adjust accordingly.
* elisp/guix-ui-package.el (guix-packages-by-location): Likewise.
* doc/emacs-guix.texi (Package Locations): Likewise.
| Alex Kost | 2018-05-14 | 5 | -17/+15 |
| * | Rename 'location' to 'package-location'•••As that is what it really means: 'service-location' code is coming, so
this rename is needed.
Finishing the work continued at commit
d3881fec140de868265a28376311c9750efdd351.
* doc/emacs-guix.texi (Package Locations): Move from the top level to
"Package Management" section.
* elisp/guix-ui-location.el: Rename file to...
* elisp/guix-ui-package-location.el: ... this. Rename 'guix-location'
to 'guix-package-location' everywhere.
* elisp/guix-help.el (guix-help-specifications): Adjust accordingly.
* elisp/guix-read.el (guix-location-files): Rename to
'guix-package-location-files'.
* elisp/local.mk (EL_FILES): Likewise.
* scheme/emacs-guix/locations.scm: Remove file. Move its contents to...
* scheme/emacs-guix/packages.scm: ... here.
* scheme/emacs-guix.scm: Adjust accordingly.
* scheme/Makefile.am (MODULES): Remove "locations.scm".
| Alex Kost | 2018-05-14 | 9 | -185/+154 |
| * | THANKS: Add Oleg and Pierre | Alex Kost | 2018-05-14 | 1 | -0/+2 |
| * | elisp/profiles: Handle the case when current profile has "~" in it•••Reported by George Clemmer.
* elisp/guix-profiles.el (guix-current-profile?): Wrap 'current-profile'
into 'guix-profile' to make sure "~" is expanded, otherwise "M-x
guix-profiles" won't show this profile as current.
| Alex Kost | 2018-05-14 | 1 | -2/+2 |
| * | elisp/devel: Bind 'guix-devel-code-block-edit' to "C-c . '"•••As it conflicts with the default org key binding.
Reported by Oleg Pykhalov:
<https://github.com/alezost/guix.el/issues/22>.
* elisp/guix-devel.el: Bind 'guix-devel-code-block-edit' to "C-c . '"
instead of "C-c '".
* doc/emacs-guix.texi: Adjust accordingly.
| Alex Kost | 2018-05-11 | 2 | -4/+3 |
| * | elisp: Move "package locations" code to "guix-package.el"•••Continuing the work started at commit
467525b7d72c5bed21d0a44940f1cd3a8fbb8a47.
* elisp/guix-location.el (guix-find-location): Do not make it
interactive.
(guix-package-location, guix-find-package-definition, guix-edit): Move
to...
* elisp/guix-package.el: ... here.
(guix-find-package-location): New command (instead of
'guix-find-location').
* doc/emacs-guix.texi (Package Locations): Adjust accordingly.
* elisp/guix-help.el (guix-help-specifications): Likewise.
* elisp/guix-command.el: Fix file name of the declared function.
| Alex Kost | 2018-05-11 | 5 | -42/+50 |
| * | elisp: Make 'guix-edit' an alias to 'guix-find-package-definition'•••* elisp/guix-location.el (guix-edit): Rename to...
(guix-find-package-definition): ... this to make it analogous to
'guix-find-license-definition'. Make 'guix-edit' an alias to it.
* elisp/guix-help.el (guix-help-specifications): Use
'guix-find-package-definition' instead of 'guix-edit'.
* elisp/guix-command.el: Likewise.
* elisp/guix-ui-package.el: Likewise.
* elisp/guix-repl.el (guix-directory): Likewise.
| Alex Kost | 2018-05-11 | 6 | -11/+18 |
| * | elisp: Switch defun and defalias for package lint commands•••This should have been done in commit
d33b9b3fe97d2a0d7afd4a5d84c4c06f13e54928.
* elisp/guix-package.el (guix-package-lint): Make it 'defun'.
(guix-lint): Make it 'defalias'.
| Alex Kost | 2018-05-11 | 1 | -3/+3 |
| * | doc: Move 'guix-number-of-packages' to another node•••* doc/emacs-guix.texi (Package Commands): Move documentation of
'guix-number-of-packages' to...
(More Package Commands): ... here.
| Alex Kost | 2018-05-11 | 1 | -8/+8 |
| * | elisp: Add 'info' interface for services•••* elisp/guix-ui-service.el (guix-service-info): New interface.
(guix-service-name): New button type.
(guix-service-info-get-entries, guix-service-list-describe): New procedures.
(guix-service-info-required-params): New variable.
(guix-service-info-heading, guix-service-info-description)
(guix-service-info-extension): New faces.
| Alex Kost | 2018-05-10 | 1 | -1/+60 |
| * | Add 'guix-services-by-name' command•••* scheme/emacs-guix/utils.scm (string->symbol*): New procedure.
* scheme/emacs-guix/services.scm (service-names, service-names*)
(services-by-name): New procedures.
(find-services): Add 'name' search type.
* scheme/emacs-guix.scm: Autoload 'service-names*'.
* elisp/guix-read.el (guix-service-names, guix-read-service-name): New
procedures.
* elisp/guix-ui-service.el (guix-services-by-name): New command.
(guix-service-message): Add message for 'name' search type.
* elisp/guix-help.el (guix-help-specifications): Add it.
* doc/emacs-guix.texi (Services): Document it.
| Alex Kost | 2018-05-10 | 7 | -7/+74 |
| * | scheme/packages: Remove unused bit of code•••* scheme/emacs-guix/packages.scm (packages-by-name+version): Remove
unneeded local variable.
| Alex Kost | 2018-05-10 | 1 | -5/+3 |
| * | scheme/packages: Split 'package-names' into 2 procedures•••Distinguish procedures returning a value ('package-names') and
transferring this value to emacs side ('package-names*').
* scheme/emacs-guix/packages.scm (package-names*): New procedure.
* scheme/emacs-guix.scm: Autoload it instead of 'package-names'.
* elisp/guix-read.el (guix-package-names): Use it.
| Alex Kost | 2018-05-10 | 3 | -6/+10 |
| * | Add 'guix-all-services' command•••* scheme/emacs-guix/services.scm: Register all service types in the hash
table for 'service-by-id' and 'register-service' procedures.
(find-services): Add 'all' search type.
* elisp/guix-ui-service.el (guix-service): New command.
(guix-service-message): Add message for 'all' search type.
* elisp/guix-help.el (guix-help-specifications): Add it.
* doc/emacs-guix.texi (Services): Document it.
| Alex Kost | 2018-05-10 | 4 | -10/+34 |
| * | Add new parameters for service interface and document it•••* scheme/emacs-guix/services.scm (%service-param-alist): Rename
'type-name' to 'name'. Add 'description', 'location' and 'extensions'.
(service-type-name*, service-type*, texi-field->string): New procedures.
(services-from-system-config-file): Use 'to-emacs-side'.
* elisp/guix-ui-service.el (guix-service-list-hint): New procedure.
(guix-service-list-edit): New command.
(guix-service-list-format): Add new parameters.
* elisp/guix-help.el (guix-help-specifications): Display 'info' button
for 'guix-services-from-system-config-file'.
* doc/emacs-guix.texi (Services): New node. Document
'guix-services-from-system-config-file' as it worth it now.
| Alex Kost | 2018-05-10 | 4 | -15/+81 |
| * | elisp: Generalize locations for both packages and services•••Remove package-specific bits from the "locations" code to make it usable
by services as well.
* elisp/guix-location.el (guix-location): New face, new button type.
(guix-location-list-specification): New function.
* elisp/guix-ui-location.el (guix-location-list-format): Use it.
(guix-location-list-file-name-specification): Remove function.
* elisp/guix-ui-package.el (guix-package-info-location): Remove face.
(guix-package-location): Remove button type.
(guix-package-info-insert-location): Use 'guix-location' instead.
| Alex Kost | 2018-05-10 | 3 | -28/+28 |
| * | Handle hidden packages•••* scheme/emacs-guix/packages.scm (%package-param-alist): Add 'hidden'
parameter.
(matching-packages): Add 'select?' key argument.
(dependent-packages): Use it.
(hidden-packages): New procedure.
(%patterns-makers): Add 'hidden' search type.
* elisp/guix-ui-package.el (guix-hidden-packages): New procedure.
(guix-package-info-hidden, guix-package-list-hidden): New faces.
(guix-package-info-insert-hidden-text): New procedure.
(guix-package-info-insert-additional-text)
(guix-package-list-get-entries): Adjust accordingly.
| Alex Kost | 2018-05-04 | 2 | -39/+89 |
| * | Remove "-available" part from all/newest package commands•••This "-available" part seemed redundant to me since the very beginning.
Commit 71301c7b71d4c74dc06eef137d7f02b6e0393f4e was a poor attempt to do
something about it. Now I decided to get rid of it completely.
* scheme/emacs-guix/packages.scm (all-available-packages): Rename to...
(all-packages): ... this.
(newest-available-packages): Rename to...
(newest-packages): ... this.
(%patterns-makers): Rename 'all-available'/'newest-available' search
types to 'all'/'newest' accordingly.
* elisp/guix-ui-package.el (guix-all-available-packages)
(guix-newest-available-packages): Make obsolete.
* elisp/guix-help.el (guix-help-specifications): Adjust accordingly.
* elisp/guix-ui-messages.el (guix-messages): Likewise.
* elisp/guix-ui.el (guix-ui-get-entries): Adjust the docstring.
* doc/emacs-guix.texi (Package Commands): Document 'guix-all-packages'
and 'guix-newest-packages' commands.
| Alex Kost | 2018-05-04 | 6 | -34/+34 |
| * | Add 'guix-dependent-packages' command•••* scheme/emacs-guix/packages.scm (objects->packages)
(dependent-packages): New procedures.
(%patterns-makers): Add the new 'dependent' search type.
* elisp/guix-ui-messages.el (guix-messages): Add messages for
'dependent' search type.
* elisp/guix-ui-package.el (guix-dependent-packages): New command.
* elisp/guix-help.el (guix-help-specifications): Add it.
* doc/emacs-guix.texi (Package Commands): Document it.
| Alex Kost | 2018-05-03 | 6 | -3/+71 |
| * | elisp: Add guix-env-var-mode•••* elisp/guix-auto-mode.el: Add 'guix-env-var-mode' to 'auto-mode-alist'.
* elisp/guix-env-var.el: New file.
* elisp/local.mk (EL_FILES): Add it.
* doc/emacs-guix.texi (Prettify Variables): Document the new features.
| Oleg Pykhalov | 2018-04-28 | 4 | -0/+147 |
| * | elisp/help: Highlight "M-x" in the header line•••* elisp/guix-help.el (guix-help-insert-content): Propertize the header
line with 'guix-help-key' face to make it look fancier.
| Alex Kost | 2018-04-28 | 1 | -1/+3 |
| * | doc: Warn about mixing Guix and MELPA installations•••Suggested by Pierre Neidhardt:
<https://github.com/alezost/guix.el/issues/21#issuecomment-383820308>.
* README: Mention potential problems with .scm and .go files.
* doc/emacs-guix.texi (Installation): Likewise.
| Alex Kost | 2018-04-25 | 2 | -2/+8 |
| * | elisp: Add aliases for commands to display all and newest packages•••* elisp/guix-ui-package.el (guix-all-packages): New alias for
'guix-all-available-packages'.
(guix-newest-packages): New alias for 'guix-newest-available-packages'.
| Alex Kost | 2018-04-19 | 1 | -0/+6 |
| * | elisp/command: Disambiguate "gc" options•••* elisp/guix-command.el (guix-command-improve-gc-argument): Use "e" for
"--derivers" ("d" is already used by "--delete" and "D" by "--list-dead").
| Alex Kost | 2018-04-19 | 1 | -0/+1 |
| * | elisp: Add 'guix-number-of-packages' command•••* scheme/emacs-guix/packages.scm (number-of-packages): New function.
* scheme/emacs-guix.scm (emacs-guix): Autoload it.
* elisp/guix-ui-package.el (guix-number-of-packages): New command.
* elisp/guix-help.el (guix-help-specifications): Add it.
* doc/emacs-guix.texi (Package Commands): Document it.
| Alex Kost | 2018-04-15 | 5 | -0/+25 |
| * | Bypass Geiser on big lists to improve performance•••Geiser (or some underlying Emacs code) is slow when big chunks of data
are passed through it (are returned from "the Guile side"). In
particular, this makes "M-x guix-all-available-packages" *very* slow (it
may even fail!).
The workaround for this slowness in this commit is: "the Guile side"
writes the output (list of packages, etc.) to a temporary file, then
"the Emacs side" reads this data from it. It is much faster for big
lists than using Geiser directly, which means
"M-x guix-all-available-packages" is usable again, woohoo!
* elisp/guix-repl.el (guix-repl-max-returned-list-size): New variable.
(guix-repl-configure-guile-side): New procedure.
(guix-repl-after-start-hook): Use it.
(guix-eval-read): Adjust to read Guile output from file.
* scheme/emacs-guix/emacs.scm: New file.
(%max-returned-list-size, %temporary-directory): New variables.
(to-emacs-side): New procedure.
* scheme/emacs-guix.scm (emacs-guix): Autoload them.
* scheme/emacs-guix/licenses.scm (license-sexps): Use 'to-emacs-side'.
* scheme/emacs-guix/locations.scm (package-location-sexps): Likewise.
* scheme/emacs-guix/packages.scm (package/output-sexps)
(package-names): Likewise.
* scheme/emacs-guix/generations.scm (generation-sexps): Likewise.
* scheme/emacs-guix/system-generations.scm
(system-generation-sexps): Likewise.
* scheme/Makefile.am (MODULES): Add "emacs.scm".
| Alex Kost | 2018-04-14 | 9 | -16/+118 |
| * | elisp: Refactor "scheme -> elisp" code•••* elisp/guix-utils.el (guix-replace-match): New procedure.
* elisp/guix-guile.el (guix-guile-read, guix-guile-read-from-file)
(guix-guile-read-from-string): New procedures.
* elisp/guix-geiser.el (guix-geiser-eval-read): Use
'guix-guile-read-from-string'.
| Alex Kost | 2018-04-13 | 3 | -20/+40 |
| * | README: Mention Evil Collection•••Evil key bindings for Emacs-Guix were added by Pierre Neidhardt:
<https://github.com/alezost/guix.el/issues/17>.
| Alex Kost | 2018-04-08 | 1 | -0/+3 |
| * | elisp: Add 'guix-report-bug' command•••Suggested by Pierre Neidhardt:
<https://github.com/alezost/guix.el/issues/18>.
* elisp/guix-misc.el (guix-bug-address): New variable.
(guix-report-bug): New command.
* elisp/guix-help.el (guix-help-specifications): Add it.
* doc/emacs-guix.texi (Miscellaneous Commands): Document it.
| Alex Kost | 2018-04-08 | 3 | -2/+21 |
| * | elisp: Add 'guix-package-names-use-duplicates' variable•••* scheme/emacs-guix/packages.scm (package-names): Do not use
'delete-duplicates'. Make it configurable instead.
* elisp/guix-read.el (guix-package-names-use-duplicates): New variable
(guix-package-names): Use it.
| Alex Kost | 2018-04-08 | 2 | -6/+36 |
| * | build: Add --with-editindirect-lispdir configure option•••* configure.ac: Add '--with-editindirect-lispdir'.
(EDITINDIRECT_DIR): New conditional.
* elisp/local.mk (AM_ELCFLAGS): Add edit-indirect directory if it was
specified.
| Alex Kost | 2018-03-31 | 2 | -2/+15 |
| * | elisp/devel: Move 'guix-devel-ffap-patch' to the end of the file•••* elisp/guix-devel.el (guix-devel-ffap-patch-directories)
(guix-devel-ffap-patch): Move after 'guix-devel-mode' to avoid
compilation warning.
| Alex Kost | 2018-03-29 | 1 | -17/+17 |
| * | elisp/devel: Add 'guix-devel-ffap-patch'•••* elisp/guix-devel.el (guix-devel-ffap-patch-directories): New variable.
(guix-devel-ffap-patch): New procedure.
* doc/emacs-guix.texi (Development): Document how 'ffap' can be
configured for guix patch files.
| Oleg Pykhalov | 2018-03-29 | 2 | -0/+25 |
| * | elisp/devel: Add 'guix-devel-code-block-edit'•••Co-authored-by: Alex Kost <alezost@gmail.com>
* elisp/guix-devel.el: (guix-devel-code-block-regexp): New variable.
(guix-devel-code-block-position): New procedure.
(guix-devel-code-block-edit): New command.
(guix-devel-mode-map): Add it.
* doc/emacs-guix.texi (Development): Document it.
(Requirements): Mention 'edit-indirect'.
* elisp/guix.el: Add 'edit-indirect' to "Package-Requires" header.
| Oleg Pykhalov | 2018-03-24 | 3 | -4/+52 |