gnu: emacs: Simplify "guix-emacs.el".
* gnu/packages/aux-files/emacs/guix-emacs.el: Do not try to require 'guix-profiles'. Do not call 'guix-emacs-autoload-packages' in the top level. (guix-package-enable-at-startup): Remove. This variable can't be set by a user since this file is loaded before user config. (guix-emacs-autoload-packages): Use 'guix-read-package-profile' instead of 'guix-profile-prompt' in interactive clause (it was renamed in Emacs-Guix). * gnu/packages/emacs.scm (emacs)[arguments]: Call 'guix-emacs-autoload-packages' in "site-start.el" after requiring 'guix-emacs'.master
parent
59d04f63df
commit
9bd94544be
|
@ -1,6 +1,6 @@
|
||||||
;;; guix-emacs.el --- Emacs packages installed with Guix
|
;;; guix-emacs.el --- Emacs packages installed with Guix
|
||||||
|
|
||||||
;; Copyright © 2014, 2015, 2016 Alex Kost <alezost@gmail.com>
|
;; Copyright © 2014, 2015, 2016, 2017 Alex Kost <alezost@gmail.com>
|
||||||
|
|
||||||
;; This file is part of GNU Guix.
|
;; This file is part of GNU Guix.
|
||||||
|
|
||||||
|
@ -19,22 +19,14 @@
|
||||||
|
|
||||||
;;; Commentary:
|
;;; Commentary:
|
||||||
|
|
||||||
;; This file provides auxiliary code for working with Emacs packages
|
;; This file provides auxiliary code to autoload Emacs packages
|
||||||
;; installed with Guix.
|
;; installed with Guix.
|
||||||
|
|
||||||
;;; Code:
|
;;; Code:
|
||||||
|
|
||||||
(require 'cl-lib)
|
(require 'cl-lib)
|
||||||
(unless (require 'guix-profiles nil t)
|
|
||||||
(defvar guix-user-profile (expand-file-name "~/.guix-profile")))
|
|
||||||
|
|
||||||
(defcustom guix-package-enable-at-startup t
|
(defvar guix-user-profile (expand-file-name "~/.guix-profile"))
|
||||||
"If non-nil, activate Emacs packages installed in a user profile.
|
|
||||||
Set this variable to nil before requiring `guix-emacs' file to
|
|
||||||
avoid loading autoloads of Emacs packages installed in
|
|
||||||
`guix-user-profile'."
|
|
||||||
:type 'boolean
|
|
||||||
:group 'guix)
|
|
||||||
|
|
||||||
(defvar guix-emacs-autoloads nil
|
(defvar guix-emacs-autoloads nil
|
||||||
"List of the last loaded Emacs autoloads.")
|
"List of the last loaded Emacs autoloads.")
|
||||||
|
@ -92,8 +84,8 @@ profiles.
|
||||||
'Autoload' means add directories with Emacs packages to
|
'Autoload' means add directories with Emacs packages to
|
||||||
`load-path' and load 'autoloads' files matching
|
`load-path' and load 'autoloads' files matching
|
||||||
`guix-emacs-autoloads-regexp'."
|
`guix-emacs-autoloads-regexp'."
|
||||||
(interactive (list (if (fboundp 'guix-profile-prompt)
|
(interactive (list (if (fboundp 'guix-read-package-profile)
|
||||||
(funcall 'guix-profile-prompt)
|
(funcall 'guix-read-package-profile)
|
||||||
guix-user-profile)))
|
guix-user-profile)))
|
||||||
(let ((profiles (or profiles
|
(let ((profiles (or profiles
|
||||||
(list "/run/current-system/profile"
|
(list "/run/current-system/profile"
|
||||||
|
@ -115,9 +107,6 @@ profiles.
|
||||||
(setq guix-emacs-autoloads
|
(setq guix-emacs-autoloads
|
||||||
(append new-autoloads guix-emacs-autoloads))))))))
|
(append new-autoloads guix-emacs-autoloads))))))))
|
||||||
|
|
||||||
(when guix-package-enable-at-startup
|
|
||||||
(guix-emacs-autoload-packages))
|
|
||||||
|
|
||||||
(provide 'guix-emacs)
|
(provide 'guix-emacs)
|
||||||
|
|
||||||
;;; guix-emacs.el ends here
|
;;; guix-emacs.el ends here
|
||||||
|
|
|
@ -144,7 +144,9 @@
|
||||||
(string-append lisp-dir "/guix-emacs.el"))
|
(string-append lisp-dir "/guix-emacs.el"))
|
||||||
(with-output-to-file (string-append lisp-dir "/site-start.el")
|
(with-output-to-file (string-append lisp-dir "/site-start.el")
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(display "(require 'guix-emacs nil t)")))
|
(display
|
||||||
|
(string-append "(when (require 'guix-emacs nil t)\n"
|
||||||
|
" (guix-emacs-autoload-packages))\n"))))
|
||||||
#t))))))
|
#t))))))
|
||||||
(inputs
|
(inputs
|
||||||
`(("gnutls" ,gnutls)
|
`(("gnutls" ,gnutls)
|
||||||
|
|
Reference in New Issue