~ruther/guix-local

ref: dabd7c9b68f33a095ef615cf6d341bd2d4d9d060 guix-local/emacs.am -rw-r--r-- 2.2 KiB
54523748 — Mathieu Lirzin 10 years ago
build: Remove guix-autoloads.el from the distribution.

* emacs.am [HAVE_EMACS] (dist_lisp_DATA): Move $(AUTOLOADS) to ...
[HAVE_EMACS] (nodist_lisp_DATA): ... here.
(CLEANFILES) [HAVE_EMACS]: Add $(AUTOLOADS).
71ed439b — Mathieu Lirzin 10 years ago
build: Add 'EMACS' silent rule.

* Makefile.am (AM_V_EMACS, AM_V_EMACS_, AM_V_EMACS_0): New variables.
* emacs.am [HAVE_EMACS] ($(AUTOLOADS)): Use $(AM_V_EMACS).
71310ccc — Alex Kost 10 years ago
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.
afe9f409 — Mark H Weaver 10 years ago
Merge branch 'master' into core-updates
67cedc4b — Alex Kost 10 years ago
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.
53334dd6 — Ludovic Courtès 10 years ago
Merge branch 'master' into core-updates
32950fc8 — Alex Kost 10 years ago
emacs: Add Hydra interface.

* emacs/guix-utils.el (guix-hexify, guix-number->bool): New procedures.
  (guix-while-null): New macro.
* emacs/guix-hydra.el: New file.
* emacs/guix-hydra-build.el: New file.
* emacs/guix-hydra-jobset.el: New file.
* emacs.am (ELFILES): Add them.
* doc/emacs.texi (Emacs Hydra): New node.
  (Emacs Interface): Add it.
* doc/guix.texi (Top): Add it.
  (Substitutes): Mention Emacs interface.
c80ce104 — Alex Kost 10 years ago
emacs: Reorganize package/generation UI code.

Move the code for packages/generations interface from "guix-info.el",
"guix-list.el", "guix-base.el" and "guix.el" to "guix-ui-package.el" and
"guix-ui-generation.el".

* emacs/guix-base.el (guix-package-entry->name-specification)
  (guix-package-entries->name-specifications)
  (guix-package-id-and-output-by-output-id)
  (guix-package-installed-outputs, guix-process-package-actions)
  (guix-package-list-type, guix-package-info-type)
  (guix-continue-package-operation-p, guix-get-package-strings)
  (guix-insert-package-strings): Move to "guix-ui-package.el".
  (guix-generation-packages-buffer-name-function, guix-output-name-width)
  (guix-generation-packages-update-buffer, guix-generation-packages)
  (guix-generation-packages-buffer-name-default)
  (guix-generation-packages-buffer-name-long)
  (guix-generation-packages-buffer-name, guix-generation-packages-buffer)
  (guix-generation-insert-packages, guix-generation-insert-package)
  (guix-profile-generation-manifest-file, guix-delete-generations)
  (guix-profile-generation-packages-buffer, guix-switch-to-generation):
  Move to "guix-ui-generation.el".
* emacs/guix-info.el (guix-package-location, guix-package-name)
  (guix-package-source, guix-package-info-source)
  (guix-package-info-heading, guix-package-info-license)
  (guix-package-info-name, guix-package-info-name-button)
  (guix-package-info-version, guix-package-info-location)
  (guix-package-info-synopsis, guix-package-info-description)
  (guix-package-info-obsolete, guix-package-info-installed-outputs)
  (guix-package-info-uninstalled-outputs)
  (guix-package-info-insert-heading)
  (guix-package-info-define-insert-inputs)
  (guix-package-info-obsolete-string)
  (guix-package-info-insert-obsolete-text)
  (guix-package-info-insert-non-unique-text)
  (guix-package-info-insert-outputs, guix-package-info-insert-output)
  (guix-package-info-insert-action-button)
  (guix-package-info-auto-find-source)
  (guix-package-info-auto-download-source)
  (guix-package-info-download-buffer, guix-package-info-show-source)
  (guix-package-info-download-source, guix-package-info-insert-source)
  (guix-package-info-redisplay-after-download)
  (guix-output-info-insert-version, guix-output-info-insert-output):
  Move to "guix-ui-package.el".
  (guix-generation-info-number, guix-generation-info-current)
  (guix-generation-not-current, guix-generation-info-insert-number)
  (guix-generation-info-insert-current): Move to "guix-ui-generation.el".
* emacs/guix-list.el (guix-package-list-generation-marking-enabled)
  (guix-package-list-installed, guix-package-list-obsolete)
  (guix-package-list-get-name, guix-package-list-get-installed-outputs)
  (guix-package-list-marking-check, guix-package-list-mark-outputs)
  (guix-package-list-mark-install, guix-package-list-mark-delete)
  (guix-package-list-mark-upgrade, guix-package-list-mark-upgrades)
  (guix-list-mark-package-upgrades, guix-list-execute-package-actions)
  (guix-package-list-execute, guix-package-list-make-action)
  (guix-package-list-edit, guix-output-list-mark-install)
  (guix-output-list-mark-delete, guix-output-list-mark-upgrade)
  (guix-output-list-mark-upgrades, guix-output-list-make-action)
  (guix-output-list-describe, guix-output-list-edit): Move to
  "guix-ui-package.el".
  (guix-generation-list-get-current, guix-generation-list-switch)
  (guix-generation-list-generations-to-compare)
  (guix-generation-list-compare, guix-generation-list-show-packages)
  (guix-generation-list-show-added-packages)
  (guix-generation-list-show-removed-packages)
  (guix-generation-list-diff, guix-generation-list-diff-manifests)
  (guix-generation-list-ediff, guix-generation-list-ediff-manifests)
  (guix-generation-list-diff-packages)
  (guix-generation-list-ediff-packages)
  (guix-generation-list-mark-delete, guix-generation-list-execute): Move
  to "guix-ui-generation.el".
* emacs/guix.el: Remove.
  (guix, guix-faces, guix-edit): Move to "guix-base.el".
  (guix-list-single-package, guix-search-params, guix-search-history)
  (guix-get-show-packages, guix-search-by-name, guix-search-by-regexp)
  (guix-installed-packages, guix-obsolete-packages)
  (guix-all-available-packages, guix-newest-available-packages): Move
  to "guix-ui-package.el".
  (guix-get-show-generations, guix-generations, guix-last-generations)
  (guix-generations-by-time): Move to "guix-ui-generation.el".
* emacs.am (ELFILES): Remove "guix.el".  Add "guix-ui-package.el" and
  "guix-ui-generation.el".
* doc/emacs.texi (Emacs Appearance): Adjust accordingly.
6c40b7b7 — Alex Kost 10 years ago
emacs: Generalize buffer interface.

Extract the code for defining buffer interface from "guix-base.el",
generalize it and move to "guix-buffer.el".

* emacs.am (ELFILES): Add "emacs/guix-buffer.el".
* emacs/guix-base.el (guix-profile, guix-entries, guix-buffer-type)
  (guix-entry-type, guix-search-type, guix-search-vals, guix-set-vars)
  (guix-get-symbol, guix-show-entries, guix-get-show-entries)
  (guix-set-buffer, guix-history-call, guix-make-history-item)
  (guix-get-params-for-receiving): Remove.
  (guix-switch-to-buffer): Rename to 'guix-buffer-display' and move to
  "guix-buffer.el".
  (guix-get-entries): Rename to 'guix-ui-get-entries' and move to
  "guix-ui.el".
  (guix-buffer-data, guix-buffer-value, guix-buffer-param-title)
  (guix-buffer-name, guix-buffer-history-size)
  (guix-buffer-revert-confirm?, guix-buffer-map, guix-buffer-revert)
  (guix-buffer-after-redisplay-hook, guix-buffer-redisplay)
  (guix-buffer-redisplay-goto-button): Move to...
* emacs/guix-buffer.el: ... here.  New file.
  (guix-buffer-item): New variable.
  (guix-buffer-with-item, guix-buffer-with-current-item)
  (guix-buffer-define-current-item-accessor)
  (guix-buffer-define-current-item-accessors)
  (guix-buffer-define-current-args-accessor)
  (guix-buffer-define-current-args-accessors): New macros.
  (guix-buffer-get-entries, guix-buffer-mode-enable)
  (guix-buffer-mode-initialize, guix-buffer-insert-entries)
  (guix-buffer-show-entries-default, guix-buffer-show-entries)
  (guix-buffer-message, guix-buffer-history-item, guix-buffer-set)
  (guix-buffer-display-entries-current)
  (guix-buffer-get-display-entries-current)
  (guix-buffer-display-entries, guix-buffer-get-display-entries): New
  procedures.
* emacs/guix-info.el: Adjust for the procedures renaming.
  (guix-info-define-interface): Add ':show-entries-function' keyword.
* emacs/guix-list.el: Likewise.
* emacs/guix-ui.el (guix-ui-define-interface): Generate
  'guix-ENTRY-TYPE-BUFFER-TYPE-get-entries' procedure based on
  'guix-ui-get-entries'.
* emacs/guix.el (guix-get-show-packages, guix-get-show-generations):
  Adjust for the procedures renaming.
7735c503 — Alex Kost 10 years ago
emacs: Factorize macros for defining interfaces.

Make a root 'guix-buffer-define-interface' macro.  It should generate a
common code for any type of interface.  Inherit 'guix-info-define-interface'
and 'guix-list-define-interface' from it.  They should provide a general
'info'/'list' interface for any data.  Finally, make
'guix-ui-define-interface' for the common code for interfaces to Guix
packages and generations, and inherit 'guix-ui-info-define-interface' and
'guix-ui-list-define-interface' from it.

* emacs/guix-base.el (guix-define-buffer-type): Rename to...
  (guix-buffer-define-interface): ... this.  Rename internal
  variables ('buf-' -> 'buffer-').  Move ':required' keyword to
  'guix-ui-define-interface'.
* emacs/guix-info.el (guix-info-define-interface): New macro.
  (guix-info-font-lock-keywords): New variable.
* emacs/guix-list.el (guix-list-define-entry-type): Rename to...
  (guix-list-define-interface): ... this.
  (guix-list-font-lock-keywords): New variable.
  (guix-list-describe-ids): Move and rename to...
* emacs/guix-ui.el: New file.
  (guix-ui-list-describe): ... this.
  (guix-ui-define-interface, guix-ui-info-define-interface)
  (guix-ui-list-define-interface): New macros.
  (guix-ui-font-lock-keywords): New variable.
* emacs.am (ELFILES): Add "emacs/guix-ui.el"
73ce3c19 — Alex Kost 10 years ago
emacs: Add API for 'guix-entry'.

* emacs/guix-info.el: Use new entry procedures.
* emacs/guix-list.el: Likewise.
* emacs/guix-base.el: Likewise.
  (guix-get-entry-by-id): Move and rename to ...
* emacs/guix-entry.el (guix-entry-by-id): ...this.  New file.
  (guix-entry-value, guix-entry-id, guix-entries-by-ids)
  (guix-replace-entry): New procedures.
* emacs.am (ELFILES): Add new file.
1007b6bf — Ludovic Courtès 10 years ago
Merge branch 'master' into core-updates
187f80c6 — Alex Kost 11 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'.
bd90127a — Mark H Weaver 10 years ago
Merge branch 'master' into core-updates
f029f8a7 — Alex Kost 11 years ago
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".
c74cd6cc — Alex Kost 11 years ago
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.
34850cd5 — Alex Kost 10 years ago
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.
75710da6 — Ludovic Courtès 10 years ago
Merge branch 'master' into core-updates
70fabd49 — Alex Kost 10 years ago
emacs: Add code to run 'dot' program.

* emacs/guix-external.el: New file.
* emacs.am (ELFILES): Add it.
bd6163d1 — Mathieu Lirzin 10 years ago
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.
Next