Age | Commit message (Expand) | Author |
2015-10-31 | emacs: Disable minor modes in 'guix-build-log-mode'....* emacs/guix-build-log.el (guix-build-log-mode-hook): Remove
'compilation-shell-minor-mode' as it is slow on big buffers, and
'view-mode' as it rebinds too many keys.
(guix-build-log-mode-map): Add "c" and "v" key bindings for the
removed minor modes.
| Alex Kost |
2015-10-31 | emacs: Add key bindings for 'guix-build-log-minor-mode'....* emacs/guix-build-log.el (guix-build-log-mode-map): Move keys to ...
(guix-build-log-common-map): ...here. New variable.
(guix-build-log-minor-mode-map): New variable.
(guix-build-log-minor-mode): Use it.
* doc/emacs.texi (Emacs Build Log): Document it.
| Alex Kost |
2015-10-31 | emacs: Add shell completions for 'guix refresh --type'....* emacs/guix-pcomplete.el (guix-pcomplete-refresh-updaters): New function.
(guix-pcomplete-complete-option-arg): Complete '-t/--type' option for
'guix refresh' command.
| Alex Kost |
2015-10-28 | services: Add 'modify-services'....* gnu/services.scm (%modify-service, modify-services): New macros.
* gnu/services/base.scm (mingetty-service-type, guix-service-type):
Export.
* emacs/guix-devel.el (guix-devel-keywords): Add 'modify-services'.
Ditto in 'guix-devel-scheme-indent' call.
* doc/guix.texi (Using the Configuration System): Give an example of
'modify-services'.
(Service Reference): Document it.
| Ludovic Courtès |
2015-10-27 | emacs: Use 'switch-to-generation*'....This is a followup to commit 06d45f4566469364b4c1fe6d3c71ecf58f5d4838.
* emacs/guix-base.el (guix-switch-to-generation): Replace
'switch-to-generation' with 'switch-to-generation*'.
| Alex Kost |
2015-10-27 | emacs: Add "Packages" option for 'guix challenge' popup....* emacs/guix-command.el (guix-command-rest-argument): Add "challenge".
| Alex Kost |
2015-10-27 | emacs: Add shell completions for 'guix challenge'....* emacs/guix-pcomplete.el (guix-pcomplete-complete-command-arg): Add
"challenge" to complete package names for it.
| Alex Kost |
2015-10-20 | emacs: devel: Add indentation rules for 'modify-phases' keywords....* emacs/guix-devel.el: Add indentation rules for 'modify-phases' keywords.
(guix-devel-indent-modify-phases-keyword,
guix-devel-indent-modify-phases-keyword-1,
guix-devel-indent-modify-phases-keyword-2): New functions.
| Alex Kost |
2015-10-20 | emacs: config: Use "emacs-config-" prefix for constants....* emacs/guix-config.el.in (guix-emacs-interface-directory,
guix-state-directory): Rename to ...
(guix-config-emacs-interface-directory, guix-config-state-directory):
...this.
(guix-config-guile-program): New constant.
(guix-guile-program): Move to ...
* emacs/guix-external.el (guix-guile-program): ...here. Make it a
'defcustom'.
* emacs/guix-profiles.el (guix-default-profile): Use
'guix-config-state-directory'.
* emacs/guix-backend.el (guix-load-path): Use
'guix-config-emacs-interface-directory'.
| Alex Kost |
2015-10-20 | build: Set DOT_USER_PROGRAM for Emacs interface....Suggested by Ludovic Courtès <ludo@gnu.org>.
* configure.ac: Set DOT_USER_PROGRAM variable.
* emacs/guix-config.el.in (guix-config-dot-program): New constant.
* emacs/guix-external.el (guix-dot-program): Use it.
| Alex Kost |
2015-10-17 | emacs: devel: Highlight Guix keywords....* emacs/guix-devel.el (guix-devel-keywords): New constant.
(guix-devel-font-lock-keywords): Use it.
| Alex Kost |
2015-10-17 | emacs: Improve file names of generated graphs....Suggested by Ludovic Courtès <ludo@gnu.org>.
* emacs/guix-external.el (guix-png-file-name): Change prefix of a file
name to "guix-emacs-graph-" to avoid possible conflicts.
| Alex Kost |
2015-10-16 | emacs: Add "View graph" actions to system graph commands....* emacs/guix-command.el (guix-command-additional-execute-arguments,
guix-command-special-executors): Add "View graph" actions for
'dmd-graph' and 'extension-graph' commands.
| Alex Kost |
2015-10-16 | emacs: Disambiguate "d" key in 'system' popup....* emacs/guix-command.el (guix-command-improve-system-argument): Use "D"
key for 'disk-image' action (leave "d" for 'dmd-graph').
| Alex Kost |
2015-10-16 | emacs: init: Add "share/emacs/site-lisp" to 'load-path'....Fixes a regression introduced in 7741139080a6b00aa4f1846fe7668859e91bec58.
Reported by Ludovic Courtès <ludo@gnu.org>.
Not all emacs packages have "...-autoloads.el" files, so there is a
chance that "~/.guix-profile/share/emacs/site-lisp" will not be added to
'load-path', so add it unconditionally.
* emacs/guix-init.el: Add guix emacs directory to 'load-path'. Move
requiring 'guix-emacs' to the top-level.
| Alex Kost |
2015-10-14 | emacs: devel: Add indentation rules....Suggested by Ludovic Courtès <ludo@gnu.org>.
* emacs/guix-devel.el: Add indentation rules for Guix macros/procedures.
(guix-devel-scheme-indent): New macro.
(guix-devel-indent-package): New function.
| Alex Kost |
2015-10-12 | emacs: Add 'guix-devel-build-package-source'....Suggested by Ludovic Courtès <ludo@gnu.org>.
* guix/scripts.scm (build-package-source): New procedure.
* emacs/guix-devel.el (guix-devel-build-package-source): New command.
(guix-devel-keys-map): Add key binding for it.
* doc/emacs.texi (Emacs Development): Document it.
| Alex Kost |
2015-10-09 | emacs: Add 'guix-devel-lint-package'...Suggested by Ludovic Courtès <ludo@gnu.org>.
* emacs/guix-devel.el (guix-devel-setup-repl): Add a workaround for
'guix-warning-port'.
(guix-devel-lint-package): New command.
(guix-devel-keys-map): Add key binding for it.
* doc/emacs.texi (Emacs Development): Document it.
| Alex Kost |
2015-10-09 | emacs: Add 'guix-devel-with-definition'....* emacs/guix-devel.el (guix-devel-with-definition): New macro.
(guix-devel-build-package-definition): Use it.
(guix-devel-emacs-font-lock-keywords): New variable.
| Alex Kost |
2015-10-09 | emacs: Fix 'guix-devel-setup-repl'....Setting up guix ports needs to be done in Geiser REPL synchronously,
otherwise this operation may not be finished before the further
evaluating of guile code.
* emacs/guix-guile.el (guix-guile-prompt?): New function.
* emacs/guix-geiser.el (guix-geiser-eval-in-repl-synchronously): New
function.
* emacs/guix-devel.el (guix-devel-setup-repl): Use it.
| Alex Kost |
2015-10-09 | emacs: Fix 'guix-build-log-phase-toggle-all'....* emacs/guix-build-log.el (guix-build-log-phase-toggle-all): Handle the
case when there are no characters before the first phase:
'guix-build-log-next-phase' moves to the second phase in such a case,
and the toggling is not done properly, so use 're-search-forward'
instead.
| Alex Kost |
2015-10-09 | emacs: devel: Fix 'modify-phases' highlighting....* emacs/guix-devel.el (guix-devel-modify-phases-font-lock-pre): Handle
the case when 'modify-phases' is commented.
| Alex Kost |
2015-10-09 | emacs: devel: Highlight gexp symbols....Suggested by Ludovic Courtès <ludo@gnu.org>.
* emacs/guix-devel.el (guix-devel-gexp-symbol): New face.
(guix-devel-font-lock-keywords): Adjust to handle gexp symbols.
| Alex Kost |
2015-09-26 | emacs: devel: Highlight 'modify-phases' keywords....* emacs/guix-guile.el (guix-guile-keyword-regexp): New function.
* emacs/guix-devel.el (guix-devel-faces): New custom group.
(guix-devel-modify-phases-keyword): New face.
(guix-devel-modify-phases-keyword-regexp,
guix-devel-font-lock-keywords): New variables.
(guix-devel-modify-phases-font-lock-matcher,
guix-devel-modify-phases-font-lock-pre): New functions.
(guix-devel-mode): Adjust to add/remove font-lock-keywords.
| Alex Kost |
2015-09-25 | emacs: build-log: Improve regexp for the phase end....* emacs/guix-build-log.el (guix-build-log-phase-end-regexp): Handle
fractional number of seconds (like "0.8").
| Alex Kost |
2015-09-23 | emacs: Add 'guix-devel-build-package-definition'....Suggested by Ludovic Courtès <ludo@gnu.org>.
* emacs/guix-guile.el (guix-guile-definition-regexp): New variable.
(guix-guile-current-definition, guix-guile-boolean): New functions.
* emacs/guix-devel.el: Require 'guix-base'.
(guix-devel-repl-processes): New variable.
(guix-devel-setup-repl, guix-devel-setup-repl-maybe): New functions.
(guix-devel-build-package-definition): New command.
* doc/emacs.texi (Emacs Development): Document it.
| Alex Kost |
2015-09-23 | emacs: Add development utils....* emacs/guix-guile.el (guix-guile-current-module): New function.
* emacs/guix-devel.el: New file.
* emacs.am (ELFILES): Add it.
* doc/emacs.texi (Emacs Development): New node.
(Emacs Interface): Add it.
* doc/contributing.texi (The Perfect Setup): Mention it.
* doc/guix.texi (Top): Add it.
* emacs/guix-init.el: Add 'guix-devel-activate-mode-maybe' to
'scheme-mode-hook'.
| Alex Kost |
2015-09-23 | emacs: Add "View map" action to 'size' popup....* emacs/guix-command.el (guix-run-view-size-map): New function.
(guix-command-additional-execute-arguments,
guix-command-special-executors): Add entries for "View map" action.
| Alex Kost |
2015-09-22 | emacs: Add code to call guile procedures....* emacs/guix-guile.el (guix-guile-make-call-expression): New function.
* emacs/guix-geiser.el: Require 'guix-guile'.
(guix-geiser-call, guix-geiser-call-in-repl): New functions.
| Alex Kost |
2015-09-22 | emacs: Move code for evaluating to "guix-geiser.el"....* emacs/guix-backend.el: Adjust commentary. Move "eval" code to ...
(guix-eval, guix-eval-read, guix-eval-in-repl): Adjust to use new
functions.
* emacs/guix-geiser.el: ...here. New file.
(guix-geiser-eval, guix-geiser-eval-read, guix-geiser-eval-in-repl,
guix-repl-send): New functions.
* emacs.am (ELFILES): Add "guix-geiser.el".
| Alex Kost |
2015-09-22 | emacs: Move guile related code to "guix-guile.el"....* emacs/guix-backend.el (guix-make-guile-expression): Move to...
* emacs/guix-guile.el: ... here. New file.
* emacs/guix-base.el: Use it.
* emacs/guix-command.el: Use it.
* emacs.am (ELFILES): Add it.
| Alex Kost |
2015-09-22 | emacs: Improve 'guix-prettify-regexp'....* emacs/guix-prettify.el (guix-prettify-regexp): Modify to handle "nar"
and "log".
| Alex Kost |
2015-09-18 | emacs: Replace 'guix-any' with 'cl-some'....* emacs/guix-utils.el (guix-any): Remove.
* emacs/guix-command.el (guix-command-improve-argument): Use 'cl-some'
instead of 'guix-any'.
| Alex Kost |
2015-09-18 | emacs: Add commands to show/hide build log phases....Suggested by Ludovic Courtès <ludo@gnu.org>.
* emacs/guix-build-log.el (guix-build-log-phase-end-regexp): New
variable.
(guix-build-log-phase-start, guix-build-log-phase-end,
guix-build-log-phase-hide, guix-build-log-phase-show,
guix-build-log-phase-hidden-p, guix-build-log-phase-toggle-function,
guix-build-log-phase-toggle, guix-build-log-phase-toggle-all): New functions.
(guix-build-log-mode-map): Add 'TAB'/'S-TAB' key bindings.
* doc/emacs.texi (Emacs Build Log): Document them.
| Alex Kost |
2015-09-15 | emacs: Add "View build log" action to build popup....* emacs/guix-command.el (guix-run-view-build-log): New function.
(guix-command-additional-execute-arguments,
guix-command-special-executors): Add entries for "View build log"
action.
* emacs/guix-utils.el (guix-find-file-or-url): New function.
| Alex Kost |
2015-09-15 | emacs: Add modes for viewing build logs....* emacs/guix-build-log.el: New file.
* emacs.am (ELFILES): Add it.
* doc/emacs.texi (Emacs Build Log): Document it. New node.
(Emacs Interface): Add it.
* doc/guix.texi (Top): Likewise.
| Alex Kost |
2015-09-15 | emacs: Display guix command errors in the minibuffer....* emacs/guix-main.scm (output+error): New procedure.
(guix-command-output): Use it.
* emacs/guix-base.el (guix-command-output): Display error output in the
minibuffer.
| Alex Kost |
2015-09-15 | emacs: Add customization groups for faces....* emacs/guix.el (guix-faces): New custom group.
* emacs/guix-base.el (guix-operation-option-key): Use it.
(guix-define-buffer-type): Generate faces group.
* emacs/guix-info.el: Adjust faces to use new groups.
(guix-info-faces): New custom group.
* emacs/guix-list.el: Likewise
(guix-list-faces): New custom group.
| Alex Kost |
2015-09-08 | ui: Add package-description-string....Provide support for Texinfo's markup in package description.
* guix/ui.scm (%text-width): New parameter.
(texi->plain-text): New variable.
(package->recutils): Use them.
(package-description-string): New variable.
* emacs/guix-main.scm (%package-param-alist): Use it.
* gnu/packages/perl.scm (perl-devel-globaldestruction)
(perl-devel-lexalias, perl-exporter-lite): Adapt to Texinfo's markup.
* gnu/packages/python.scm (python2-empy): Likewise.
| Mathieu Lirzin |
2015-09-04 | emacs: Add support for "triplet" package inputs....Fixes <http://bugs.gnu.org/21399>.
* emacs/guix-main.scm (full-name->name+version): Adjust to handle
"name-version:output" string.
(package-inputs-names): Support ("name" package "output") inputs.
| Alex Kost |
2015-09-02 | emacs: Use "r" key for 'cran' action in 'import' popup....* emacs/guix-command.el (guix-command-improve-import-argument): New
variable and function.
(guix-command-argument-improvers): Add it.
| Alex Kost |
2015-09-01 | emacs: Add "View graph" action to graph popup....* emacs/guix-command.el: Require 'guix-external'.
(guix-run-view-graph): New function.
(guix-command-additional-execute-arguments,
guix-command-special-executors): Add entries for "View graph" action.
| Alex Kost |
2015-09-01 | emacs: Allow users to choose a 'find-file' function....* emacs/guix-utils.el (guix-find-file-function): New variable.
(guix-find-file): Use it.
| Alex Kost |
2015-09-01 | emacs: Add code to run 'dot' program....* emacs/guix-external.el: New file.
* emacs.am (ELFILES): Add it.
| Alex Kost |
2015-09-01 | emacs: Add code to pipe guix output to external program....* emacs/guix-main.scm: Use (ice-9 popen) module.
(pipe-guix-output): New procedure.
| Alex Kost |
2015-08-30 | emacs: Use only one guix-load-path variable....emacs/guix-init.el (guix-load-path): Move to ...
emacs/guix-backend.el (guix-load-path): ... Here. Redefine it.
| Mathieu Lirzin |
2015-08-30 | emacs: Fix guix-guile-program default value....Fixes <http://bugs.gnu.org/21127>.
* emacs/guix-backend.el: Use guix-config.
(guix-guile-program): Move to ...
* emacs/guix-config.el.in (guix-guile-program): ... here. Use Guile
program file name from compile-time instead of depending on PATH.
| Mathieu Lirzin |
2015-08-30 | build: Produce 'guix-config' instead of using compile-time tricks....* emacs/guix-{init,profiles}.el.in: Rename to ...
* emacs/guix-{init,profiles}.el: ... these. New files.
Use 'guix-config'.
* emacs/guix-config.el.in: New file.
* emacs.am (nodist_lisp_DATA): Add it. Move them to ...
(ELFILES): ... here.
* .gitignore, configure.ac: Adjust accordingly.
| Mathieu Lirzin |
2015-08-30 | emacs: Use prompt for packages instead popup for edit action....* emacs/guix-base.el (guix-package-location): New function.
(guix-edit-package): Rename and move to ...
* emacs/guix.el (guix-edit): ...here. Make it interactive.
* emacs/guix-command.el (guix-edit-action): New function (alias to
'guix-edit') to override the popup for edit command in "M-x guix".
* emacs/guix-list.el (guix-list-edit-package): Adjust for 'guix-edit'
renaming.
* emacs/guix-main.scm (package-location-string): Allow to accept package
id or package name as argument.
| Alex Kost |
2015-08-30 | emacs: Add popup interface for guix commands....* emacs/guix-command.el: New file.
* emacs.am (ELFILES): Add it.
* doc/emacs.texi (Emacs Initial Setup): Mention 'magit-popup' library.
(Emacs Popup Interface): New node.
(Emacs Interface): Add it.
* doc/guix.texi (Top): Likewise.
| Alex Kost |