Jestem w trakcie organizowania mojego pliku .emacs
, aby lepiej śledzić wszystkie rzeczy, które do niego dodajemy.error: package.el nie został jeszcze zainicjowany
Czyniąc tak Zabrakło mi do błędu opisanego w tytule, a nie jestem pewien dokładnie dlaczego
Oto mój plik .emacs
(obciążenie komentarze są dla własnej odniesienie)
;;;; Emacs config file
;; convenience function for loading multiple libs in a single call
(defun load-libs (&rest libs)
(dolist (lib libs)
(load-library lib)))
;; path to custom libraries as well as the libraries themselves
(add-to-list 'load-path "~/.emacs.d/lisp/")
(load-libs "convenience" "editor-behaviour")
;; Add support for the package manager
(require 'package)
;; Add various package archives
(add-to-list 'package-archives
'("marmalade" . "http://marmalade-repo.org/packages/")
'("melpa" . "http://melpa.milkbox.net/packages/"))
;; Installs packages if they aren't already
(package-refresh-and-install ; from convenience.el
'scala-mode2 'sbt-mode 'haskell-mode 'geiser 'auto-complete 'ac-geiser 'cider)
;; Initialise packages
(package-initialize)
;; libs dependent on the packages being initialized go here
(load-library "autocomplete-config")
;; Enable Haskell indentation
(custom-set-variables
'(haskell-mode-hook '(turn-on-haskell-indentation)))
Running emacs .emacs --debug-init
daje mi następujący wynik:
Debugger entered--Lisp error: (error "package.el is not yet initialized!")
signal(error ("package.el is not yet initialized!"))
error("package.el is not yet initialized!")
package-installed-p(scala-mode2)
(if (package-installed-p pkg) nil (package-refresh-contents) (package-install pkg))
(while --dolist-tail-- (setq pkg (car --dolist-tail--)) (if (package-installed-p pkg) $
(let ((--dolist-tail-- pkgs) pkg) (while --dolist-tail-- (setq pkg (car --dolist-tail-$
package-refresh-and-install(scala-mode2 sbt-mode haskell-mode geiser auto-complete ac-$
eval-buffer(#<buffer *load*> nil "/Users/ElectricCoffee/.emacs" nil t) ; Reading at $
load-with-code-conversion("/Users/ElectricCoffee/.emacs" "/Users/ElectricCoffee/.emacs$
load("~/.emacs" t t)
#[0 "^H\205\262^@ \306=\203^Q^@\307^H\310Q\202;^@ \311=\204^^^@\307^H\312Q\202;^@\$
command-line()
normal-top-level()
co sugeruje (według mojego zrozumienia), że ma coś wspólnego z convenience.el
, ale wszystko, co jest w środku to:
(defun package-refresh-and-install (&rest pkgs)
"Utility function to refresh package contents and install several packages at once"
(dolist (pkg pkgs)
(unless (package-installed-p pkg)
(package-refresh-contents)
(package-install pkg))))
Więc nie jestem do końca pewien, gdzie robię błąd tutaj ... Każda pomoc?
to nie jest cały punkt "inicjowania pakietu", aby zainicjować właśnie zainstalowane pakiety? –
@ElectricCoffee Między innymi, 'pakiet-initialize' wypełnia listę zainstalowanych pakietów, stąd oczywiście wymagane jest wywołanie go przed' pakiet-zainstalowany-p'. – lunaryorn