"Package assoc is obsolete!" #143

Closed
bixuanzju opened this Issue Apr 28, 2012 · 11 comments

Comments

Projects
None yet
5 participants
Contributor

bixuanzju commented Apr 28, 2012

I find in Messages buffer "Package assoc is obsolete!". What does that mean? are there any problems with my config?
Thanks!

Owner

bbatsov commented Apr 30, 2012

When do you see that message? Is it during initialization or later on?

Contributor

bixuanzju commented Apr 30, 2012

Every time I start it, I then switch to the message buffer to see if everything is working right. So then I see "Package assoc is obsolete" in the buffer...But anyway, so far it has no obvious impact on me. I am just curious...

Contributor

4e6 commented Apr 30, 2012

I can see the same message, it appears in the very end, after initialization.

Prelude is powering up... Be patient, Master _4e6!
Warning: ad-Orig-kill-region called with 3 arguments, but accepts only 2
Loading /home/_4e6/.emacs.d/recentf...done
Cleaning up the recentf list...done (0 removed)
Warning: ad-Orig-kill-region called with 3 arguments, but accepts only 2
[yas] Loaded /home/_4e6/.emacs.d/elpa/yasnippet-20120422/snippets
[yas] Loaded ~/.emacs.d/snippets
[yas] Loaded /home/_4e6/.emacs.d/snippets/
[yas] Reloaded everything....
Loading /home/_4e6/.emacs.d/personal/auctex.el (source)...done
Loading /home/_4e6/.emacs.d/personal/ensime.el (source)...done
Loading /home/_4e6/.emacs.d/personal/jade-mode.el (source)...done
Loading /home/_4e6/.emacs.d/personal/tuareg-mode.el (source)...done
Prelude is ready to do thy bidding, Master _4e6!
Starting Emacs daemon.
Package assoc is obsolete!
When done with this frame, type C-x 5 0
Owner

bbatsov commented May 1, 2012

It's probably just a deprecation warning in Emacs. I'll investigate it further.

malcook commented May 1, 2012

FWIW: I can reproduce with

emacs --quick --eval "(require 'url)"

using GNU Emacs 24.1.50.2 HEAD in OSX

in my case i found it comes from the 'url package being required by

(require 'auto-install)

which in turn calls

(require 'url)

indeed, the file assoc.el is found in

/usr/local/share/emacs/24.1.50/lisp/obsolete/assoc.el

one way of not getting such warnings is given in http://stackoverflow.com/questions/5468952/how-do-i-hide-emacs-obsolete-variable-warnings

Owner

bbatsov commented May 1, 2012

I don't recall the use of auto-install anywhere in Prelude.

malcook commented May 1, 2012

Hi,

I didntt mean to suggest that prelude used auto-install, only give some
insight that it must be requiring assoc in some chain of dependencies.

Sleuthing, in your case, prelude winds up requiring the obsolete assoc by
way of the traceback below.

The issue appear to be with the fact the some 'obsolete' packages are still
required by other emacs packages.

Regards,

Malcolm

Debugger entered--Lisp error: (file-error "Cannot open load file" "assoc")

  • require(assoc)*

byte-code("\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\306\307\310"\210\306\311\310"\210\306\312\310"\210\306\313\310"\210\306\314\310"\210\306\315\310"\210\306\316\310"\210\306\317\320"\210\306\321\322"\210\306\323\322"\210\306\324\322"\210\306\325\322"\210\306\326\322"\210\306\327\322"\210\306\330\331"\210\306\332\331"\210\306\333\331"\210\306\334\331"\210\306\335\331"\210\306\336\337\340\341$\210\342\343\340\344\345\346\347\350&
\207" [require password-cache mm-util gnus-util assoc eieio autoload
secrets-create-item "secrets" secrets-delete-item secrets-get-alias
secrets-get-attributes secrets-get-secret secrets-list-collections
secrets-search-items rfc2104-hash "rfc2104" plstore-open "plstore"
plstore-find plstore-put plstore-delete plstore-save plstore-get-file
epg-make-context "epg" epg-context-set-passphrase-callback
epg-decrypt-string epg-context-set-armor epg-encrypt-string help-mode
"help-mode" nil t custom-declare-group auth-source "Authentication
sources." :version "23.1" :group gnus] 8)*

  • require(auth-source)*

byte-code("\301\302!\210\301\303!\210\304\305\306"\210\307\310\311\312#\210\310\313N\204,\307\310\313\314#\210\315
\307\310\316\317\320 !!#\210)\301\207" [file require url-vars auth-source
autoload url-scheme-get-property "url-methods" put url-type
cl-compiler-macro #[(_cl-whole-arg cl-x) "\301\302\303\304\211\211 & \207"
[cl-x cl-defsubst-expand (cl-x) (block url-type (or (and (memq (aref cl-x
0) cl-struct-url-tags)) (error "%s accessing a non-%s" (quote url-type)
(quote url))) (aref cl-x 1)) nil] 7] byte-compile
cl-byte-compile-compiler-macro
"/private/tmp/homebrew-emacs-HEAD-JPm7/lisp/url/url-parse.el"
compiler-macro-file purecopy file-name-nondirectory] 6)*

  • require(url-parse)*

byte-code("\300\301!\210\300\302!\210\303\304\305"\210\303\306\305"\210\303\307\310"\207"
[require url-parse url-vars autoload timezone-parse-date "timezone"
timezone-make-date-arpa-standard mail-header-extract "mailheader"] 3)*

  • require(url-util)*

byte-code("\301\302!\210\301\303!\210\301\304!\210\305\306\307\310\311\312\311\313\314\315&
\210\316\317\320\321#\210\317\322N\2048\316\317\322\323#\210\324
\316\317\325\326\327 !!#\210)\307\207" [file require url-util url-parse
url-domsuf custom-declare-group url-cookie nil "URL cookies." :prefix
"url-" "url-cookie-" :group url put url-cookie-name cl-compiler-macro
#[(_cl-whole-arg cl-x) "\301\302\303\304\211\211 & \207" [cl-x
cl-defsubst-expand (cl-x) (block url-cookie-name (or (and (memq (aref cl-x
0) cl-struct-url-cookie-tags)) (error "%s accessing a non-%s" (quote
url-cookie-name) (quote url-cookie))) (aref cl-x 1)) nil] 7] byte-compile
cl-byte-compile-compiler-macro
"/private/tmp/homebrew-emacs-HEAD-JPm7/lisp/url/url-cookie.el"
compiler-macro-file purecopy file-name-nondirectory] 10)*

  • require(url-cookie)*

byte-code("\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\300\306!\210\300\307!\210\300\310!\210\300\311!\210\300\312!\207"
[require mailcap url-vars url-cookie url-history url-expand url-privacy
url-methods url-proxy url-parse url-util] 2)*

  • url-retrieve-synchronously("http://elpa.gnu.org/packages/archive-contents
    ")*
  • package--download-one-archive(("gnu" . "http://elpa.gnu.org/packages/")
    "archive-contents")*
  • #nil "\301 \302"\207" [archive package--download-one-archive
    "archive-contents"] 3
    *
  • package-refresh-contents()*
  • (if (prelude-packages-installed-p) nil (message "%s" "Emacs Prelude is
    now refreshing its package database...") (package-refresh-contents)
    (message "%s" " done.") (dolist (p prelude-packages) (unless
    (package-installed-p p) (package-install p))))*
  • (unless (prelude-packages-installed-p) (message "%s" "Emacs Prelude is
    now refreshing its package database...") (package-refresh-contents)
    (message "%s" " done.") (dolist (p prelude-packages) (unless
    (package-installed-p p) (package-install p))))*
  • prelude-install-packages()*
  • eval-buffer(#<buffer load> nil
    "/Users/mec/prelude/prelude/prelude-packages.el" nil t) ; Reading at
    buffer position 2194*

load-with-code-conversion("/Users/mec/prelude/prelude/prelude-packages.el"
"/Users/mec/prelude/prelude/prelude-packages.el" nil t)*

  • require(prelude-packages)*
  • eval((require (quote prelude-packages)) nil)*
  • eval-last-sexp-1(nil)*
  • eval-last-sexp(nil)*
  • call-interactively(eval-last-sexp nil nil)*

Malcolm Cook
h - 913.642.5257
c - 913.226.1542
w - 816.926.4449

On Tue, May 1, 2012 at 2:54 PM, Bozhidar Batsov <
reply@reply.github.com

wrote:

I don't recall the use of auto-install anywhere in Prelude.


Reply to this email directly or view it on GitHub:
#143 (comment)

Owner

bbatsov commented May 1, 2012

Yep, I imagined that package.el might be involved :-) Anyways - nothing we can do about that, Emacs's maintainers will probably update the affected packages soon enough.

Hello,
I have no recall of using package.el However the problematic package indeed stop my full .emacs from being loaded completely.
I narrow the problem down to the line:
(setq org-log-done t
org-agenda-files (list "/org/work.org
"
/org/home.org))
If I remove that line it works although I have some other functions that rely on "assoc" but now it is just a warning.

If assoc is no longer there, do we have a replacement for it that you know?

Thanks in advance

malcook commented May 7, 2012

I read elsewhere "assoc is now implemented in c code" -
http://www.emacswiki.org/emacs-en/assoc-deprecated

Presumably modules which require assoc can simply remove the require
statement.

--Malcolm

On Thu, May 3, 2012 at 6:40 PM, donpicoro <
reply@reply.github.com

wrote:

Hello,
I have no recall of using package.el However the problematic package
indeed stop my full .emacs from being loaded completely.
I narrow the problem down to the line:
(setq org-log-done t
org-agenda-files (list "/org/work.org
"
/org/home.org))
If I remove that line it works although I have some other functions that
rely on "assoc" but now it is just a warning.

If assoc is no longer there, do we have a replacement for it that you know?

Thanks in advance


Reply to this email directly or view it on GitHub:
#143 (comment)

Contributor

bixuanzju commented May 8, 2012

That worked! Thank you @malcook

@bbatsov bbatsov closed this May 11, 2012

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment