summaryrefslogtreecommitdiff
path: root/emacs/guix-backend.el
AgeCommit message (Collapse)Author
2015-12-15emacs: Use socket instead of port.Alex Kost
Suggested by Florian Paul Schmidt. * emacs/guix-backend.el (guix-default-port): Remove. (guix-repl-socket-file-name-function, guix-repl-current-socket): New variables. (guix-repl-socket-file-name, guix-repl-delete-socket-maybe): New procedures. (guix-get-guile-program): Take socket as an optional argument. (guix-start-repl-maybe): Adjust accordingly.
2015-11-23emacs: Expand 'guix-load-path'.Alex Kost
Reported by Mathieu Lirzin <mthl@gnu.org> at <http://lists.gnu.org/archive/html/guix-devel/2015-11/msg00585.html>. * emacs/guix-backend.el (guix-start-repl): Expand 'guix-load-path' to avoid a potentially relative directory name in Guile %load-path.
2015-10-20emacs: config: Use "emacs-config-" prefix for constants.Alex Kost
* 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'.
2015-09-22emacs: Move code for evaluating to "guix-geiser.el".Alex Kost
* 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".
2015-09-22emacs: Move guile related code to "guix-guile.el".Alex Kost
* 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.
2015-08-30emacs: Use only one guix-load-path variable.Mathieu Lirzin
emacs/guix-init.el (guix-load-path): Move to ... emacs/guix-backend.el (guix-load-path): ... Here. Redefine it.
2015-08-30emacs: Fix guix-guile-program default value.Mathieu Lirzin
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.
2014-12-02emacs: Handle autoloading Emacs packages installed with Guix.Alex Kost
* emacs/guix-emacs.el: New file. * emacs.am (ELFILES): Add it. * emacs/guix-backend.el (guix-after-repl-operation-hook): Add 'guix-emacs-load-autoloads-maybe'. * emacs/guix-init.el.in: Autoload emacs packages. (guix-package-enable-at-startup): New variable.
2014-11-20emacs: Don't override the user's 'geiser-guile-load-path'.Ludovic Courtès
* emacs/guix-backend.el (guix-start-repl): Add GUIX-LOAD-PATH to the front of GEISER-GUILE-LOAD-PATH instead of overriding it.
2014-10-27emacs: Improve REPL procedures.Alex Kost
* emacs/guix-backend.el (guix-start-process-maybe): Add 'start-msg' and 'end-msg' optional arguments. (guix-start-repl-maybe): Likewise. Do not kill buffer with a dead process. (guix-repl-exit): New procedure. (guix-eval-in-repl): Use 'geiser-repl--send'.
2014-10-27emacs: Introduce REPL operation type.Alex Kost
* emacs/guix-backend.el (guix-repl-operation-type): New variable. (guix-repl-output-filter): Run type hooks after performing an operation. (guix-eval-read): Add 'operation-type' argument.
2014-10-16emacs: Support auto-updating after performing REPL operation.Alex Kost
* emacs/guix-backend.el (guix-operation-buffer): New variable. (guix-eval-in-repl): Use it. Add optional 'operation-buffer' argument. * emacs/guix-base.el (guix-update-after-operation): New variable. (guix-switch-to-buffer, guix-list-or-info-buffer-p, guix-buffers, guix-update-buffers-maybe): New procedures. (guix-set-buffer): Use 'guix-switch-to-buffer'. Add optional 'no-display' argument. (guix-process-package-actions, guix-delete-generations, guix-switch-to-generation): Add optional 'operation-buffer' argument. * emacs/guix-info.el (guix-package-info-insert-action-button, guix-generation-info-insert-number, guix-generation-info-insert-current): Adjust for using operation buffer. * emacs/guix-list.el (guix-list-execute-package-actions, guix-generation-list-switch, guix-generation-list-execute): Likewise.
2014-10-16emacs: Add hooks for REPL operations.Alex Kost
* emacs/guix-backend.el (guix-before-repl-operation-hook, guix-after-repl-operation-hook, guix-repl-operation-p): New variables. (guix-repl-operation-success-message, guix-repl-output-filter): New procedures. (guix-start-repl): Adjust for using 'guix-repl-output-filter'. (guix-eval-in-repl): Honor 'guix-before-repl-operation-hook'.
2014-09-03Add Emacs user interface.Alex Kost
* configure.ac (emacsuidir): New variable. (AC_CONFIG_FILES): Add 'emacs/guix-init.el', 'emacs/guix-helper.scm'. * Makefile.am: Include 'emacs.am'. * emacs.am: New file. * doc/emacs.texi: New file. * doc/guix.texi: Include 'emacs.texi'. * emacs/guix-backend.el: New file. * emacs/guix-base.el: New file. * emacs/guix-helper.scm.in: New file. * emacs/guix-history.el: New file. * emacs/guix-info.el: New file. * emacs/guix-init.el.in: New file. * emacs/guix-list.el: New file. * emacs/guix-main.scm: New file. * emacs/guix-utils.el: New file. * emacs/guix.el: New file.