~ruther/guix-local

ref: 1cb16f1ea3a182339b4d4cbf28107a2cba29ac55 guix-local/emacs d---------
ccb52232 — Mark H Weaver 10 years ago
Merge branch 'master' into dbus-update
5d86684d — Alex Kost 10 years ago
emacs: devel: Highlight Guix keywords.

* emacs/guix-devel.el (guix-devel-keywords): New constant.
  (guix-devel-font-lock-keywords): Use it.
7c0b02f5 — Alex Kost 10 years ago
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.
72749575 — Alex Kost 10 years ago
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.
e0c5309a — Alex Kost 10 years ago
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').
b1b53df3 — Alex Kost 10 years ago
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.
17fa842b — Alex Kost 10 years ago
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.
ad8b83bd — Alex Kost 10 years ago
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.
b94ef11a — Alex Kost 10 years ago
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.
5952111c — Alex Kost 10 years ago
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.
5a60d569 — Alex Kost 10 years ago
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.
7c786db4 — Alex Kost 10 years ago
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.
88908d55 — Alex Kost 10 years ago
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.
1af9815d — Alex Kost 10 years ago
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.
730bf808 — Alex Kost 10 years ago
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.
665ce1eb — Alex Kost 10 years ago
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").
1007b6bf — Ludovic Courtès 10 years ago
Merge branch 'master' into core-updates
1a6c4c2f — Alex Kost 10 years ago
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.
187f80c6 — Alex Kost 10 years ago
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'.
6f05a24d — Alex Kost 10 years ago
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.
Next