dimitri / el-get

Manage the external elisp bits and pieces upon which you depend!
http://tapoueh.org/emacs/el-get.html
1.64k stars 457 forks source link

Failing to load el-get from config with error "Wrong number of arguments: (3 . 4), 2" #2805

Closed Jdogzz closed 3 years ago

Jdogzz commented 3 years ago

After updating my copy of el-get to the latest version on github I no longer am able to successfully load my config. I ran git pull in my el-get directory, and am running a freshly compiled copy of emacs from the development branch (GNU Emacs 28.0.50). The debugger outputs the following:

Debugger entered--Lisp error: (wrong-number-of-arguments (3 . 4) 2)
  #f(compiled-function (obsolete-name current-name when &optional docstring) "Set OBSOLETE-NAME's function definition to CURRENT-NAME and mark it obsolete.\n\n(define-obsolete-function-alias \\='old-fun \\='new-fun \"22.1\" \"old-fun's doc.\")\n\nis equivalent to the following two lines of code:\n\n(defalias \\='old-fun \\='new-fun \"old-fun's doc.\")\n(make-obsolete \\='old-fun \\='new-fun \"22.1\")\n\nWHEN should be a string indicating when the function was first\nmade obsolete, for example a date or a release number.\n\nSee the docstrings of `defalias' and `make-obsolete' for more details." #<bytecode 0x15d157173772650d>)('el-get-package-status 'el-get-read-package-status)
  (define-obsolete-function-alias 'el-get-package-status 'el-get-read-package-status)
  eval-buffer(#<buffer  *load*-180382> nil "/home/username/emacs/el-get/el-get/el-get-status..." nil t)  ; Reading at buffer position 7064
  load-with-code-conversion("/home/username/emacs/el-get/el-get/el-get-status..." "/home/username/emacs/el-get/el-get/el-get-status..." nil t)
  require(el-get-status)
  eval-buffer(#<buffer  *load*-188779> nil "/home/username/emacs/el-get/el-get/el-get.el" nil t)  ; Reading at buffer position 8196
  load-with-code-conversion("/home/username/emacs/el-get/el-get/el-get.el" "/home/username/emacs/el-get/el-get/el-get.el" t t)
  require(el-get nil noerror)
  (if (require 'el-get nil 'noerror) nil (require 'package) (add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/")) (package-refresh-contents) (package-initialize) (package-install 'el-get) (require 'el-get))
  eval-buffer(#<buffer  *load*> nil "/home/username/emacs/emacsconfig.el" nil t)  ; Reading at buffer position 513
  load-with-code-conversion("/home/username/emacs/emacsconfig.el" "/home/username/emacs/emacsconfig.el" nil nil)
  load("/home/username/emacs/emacsconfig.el" nil nil t)
  load-file("~/emacs/emacsconfig.el")
  org-babel-load-file("~/emacs/emacsconfig.org")
  eval-buffer()  ; Reading at buffer position 194
  funcall-interactively(eval-buffer)
  call-interactively(eval-buffer record nil)
  command-execute(eval-buffer record)
  execute-extended-command(nil "eval-buffer" "eval-buffer")
  funcall-interactively(execute-extended-command nil "eval-buffer" "eval-buffer")
  call-interactively(execute-extended-command nil nil)
  command-execute(execute-extended-command)

Here is the portion of my config that seems relevant (it is taken from the readme):

  (setq el-get-dir "~/emacs/el-get/")
  (setq el-get-user-package-directory "~/emacs/el-get-init-files/")
  (add-to-list 'load-path "~/emacs/el-get/el-get")

  (unless (require 'el-get nil 'noerror)
    (require 'package)
    (add-to-list 'package-archives
         '("melpa" . "http://melpa.org/packages/"))
    (package-refresh-contents)
    (package-initialize)
    (package-install 'el-get)
    (require 'el-get))
MithicSpirit commented 3 years ago

Effectively a dupe of #2796 and #2801.

Jdogzz commented 3 years ago

Thank you for directing me to those pull requests. I have patched my copy of el-get as shown and it works perfectly now. I can leave this issue open if it is considered useful until the pull request(s) are accepted.

tarao commented 3 years ago

This should have been fixed by #2801. Please reopen if it's not.