So nrepl-mode was just renamed to nrepl-repl-mode, so nrepl-mode-map is likely now nrepl-repl-mode-map. My presumption is that this breaks compatability with nrepl-ritz. I don't understand why the rename happened either. But yea that should fix it.
https://github.com/clojure-emacs/nrepl.el/commit/1d92c44ed6e9a75ea60233b4afb638fa38e0bcf3 Charles Comstock On Thursday, October 3, 2013 3:01:05 PM UTC-5, Stephen Cagle wrote: > > I can actually get ritz to load without error in emacs by using the > aforementioned website's instructions and then, after ritz is pulled, going > into .emacs.d/elpa/nrepl-ritz-20130516.1339/nrepl-ritz.el and > M-x replace-string RET nrepl-mode-map RET nrepl-repl-mode-map > > Why? Not really sure. > > On Monday, September 30, 2013 11:07:56 PM UTC-7, Stephen Cagle wrote: >> >> Basically, I get a error when I try to follow the directions at >> http://ianeslick.com/2013/05/17/clojure-debugging-13-emacs-nrepl-and-ritz/ . >> In my init.el, I get a error when evaluating: >> *(require 'nrepl-ritz) ;;after (require 'nrepl)* >> >> the error is: >> *Debugger entered--Lisp error: (void-variable nrepl-mode-map)* >> * byte-code("\302 \303\304#\210\302 \305\304#\207" >> [nrepl-interaction-mode-map nrepl-mode-map define-key [3 134217844] >> nrepl-ritz-threads [3 134217844]] 4)* >> * require(nrepl-ritz)* >> * eval((require (quote nrepl-ritz)) nil)* >> * eval-last-sexp-1(nil)* >> * eval-last-sexp(nil)* >> * call-interactively(eval-last-sexp nil nil)* >> >> clearly, it has no idea what nrepl-mode-map is. Why this is I do not >> know. >> >> The rest of this message is just all the things I could think of that you >> might ask, and the contents of my init.el and profiles.clj file. If you >> know what problem I am having already, there is no reason to read it. I am >> just trying to preemptively guess what you will ask. >> >> This is the warning when I start up emacs: >> >> *Warning (initialization): An error occurred while loading >> `/home/stephen/.emacs.d/init.el':* >> * >> * >> *Symbol's value as variable is void: nrepl-mode-map* >> * >> * >> *To ensure normal operation, you should investigate and remove the* >> *cause of the error in your initialization file. Start Emacs with* >> *the `--debug-init' option to view a complete error backtrace.* >> >> My emacs version is: >> M-x emacs-version => *GNU Emacs 24.3.1 (x86_64-pc-linux-gnu, GTK+ >> Version 3.6.4) of 2013-08-22 on menkib, modified by Debian* >> >> I have the following in my ~/.lein/profile.clj >> *{:user {:plugins [;; [lein-marginalia "0.7.1"]* >> * ;; [lein-try "0.3.1"]* >> * ;; [lein-pprint "1.1.1"]* >> * ;; [lein-ancient "0.4.4"]* >> * ;; [lein-bikeshed "0.1.3"]* >> * ;; [lein-cljsbuild "0.3.3"]* >> * ;; [lein-ring "0.8.7"]* >> * ;; [com.keminglabs/cljx "0.3.0"]* >> * [lein-ritz "0.7.0"]]* >> * :dependencies [[nrepl-inspect "0.3.0"]* >> * [ritz/ritz-nrepl-middleware "0.7.0"]]* >> * :repl-options {:nrepl-middleware* >> * [inspector.middleware/wrap-inspect* >> * ritz.nrepl.middleware.javadoc/wrap-javadoc* >> * >> ritz.nrepl.middleware.simple-complete/wrap-simple-complete]}}}* >> * >> * >> and the folowing ~/.emacs.d/init.el file: >> * >> * >> *;;;-----------------------------------------------------------------* >> *; From http://clojure.roboloco.net/?tag=paredit* >> * >> * >> *(setq inhibit-startup-message t) ;; No splash screen* >> *;; (setq initial-scratch-message nil) ;; No scratch message* >> *;; (tool-bar-mode nil) ;; No toolbars* >> *;; Create backup files in .emacs-backup instead of everywhere* >> *(defvar user-temporary-file-directory "~/.emacs-backup")* >> *(make-directory user-temporary-file-directory t)* >> *(setq backup-by-copying t)* >> *(setq backup-directory-alist* >> * `(("." . ,user-temporary-file-directory)* >> * (,tramp-file-name-regexp nil)))* >> *(setq auto-save-list-file-prefix* >> * (concat user-temporary-file-directory ".auto-saves-"))* >> *(setq auto-save-file-name-transforms* >> * `((".*" ,user-temporary-file-directory t)))* >> * >> * >> *(set-face-attribute 'default nil :height 110)* >> *; http://www.emacswiki.org/emacs/ShowParenMode* >> *(require 'paren)* >> *(set-face-background 'show-paren-match-face (face-background 'default))* >> *(set-face-foreground 'show-paren-match-face "#0f0")* >> *(set-face-attribute 'show-paren-match-face nil :weight 'extra-bold)* >> *(show-paren-mode 1)* >> * >> * >> *;;;-----------------------------------------------------------------* >> * >> * >> *(require 'package)* >> *(add-to-list 'package-archives* >> * '("marmalade" . "http://marmalade-repo.org/packages/")* >> * '("melpa" . "http://melpa.milkbox.net/packages/"))* >> *(package-initialize)* >> * >> * >> *(defvar my-packages '(;starter-kit* >> * ;starter-kit-lisp* >> * ;starter-kit-bindings* >> * ;starter-kit-eshell* >> * ac-nrepl* >> * clojure-mode* >> * clojure-test-mode* >> * >> * >> * nrepl* >> * nrepl-ritz* >> * rainbow-delimiters* >> * paredit* >> * ))* >> * >> * >> *(dolist (p my-packages)* >> * (when (not (package-installed-p p))* >> * (package-install p)))* >> * >> * >> *; from >> http://ianeslick.com/2013/05/17/clojure-debugging-13-emacs-nrepl-and-ritz/ >> * >> *(require 'nrepl)* >> * >> * >> *;; Configure nrepl.el* >> *(setq nrepl-hide-special-buffers t)* >> *(setq nrepl-popup-stacktraces-in-repl t)* >> *(setq nrepl-history-file "~/.emacs.d/nrepl-history")* >> * * >> *;; Some default eldoc facilities* >> *(add-hook 'nrepl-connected-hook* >> * (defun pnh-clojure-mode-eldoc-hook ()* >> * (add-hook 'clojure-mode-hook 'turn-on-eldoc-mode)* >> * (add-hook 'nrepl-interaction-mode-hook 'nrepl-turn-on-eldoc-mode)* >> * (nrepl-enable-on-existing-clojure-buffers)))* >> * * >> *;; Repl mode hook* >> *(add-hook 'nrepl-mode-hook 'subword-mode)* >> * * >> *;; Auto completion for NREPL* >> *(require 'ac-nrepl)* >> *(eval-after-load "auto-complete"* >> * '(add-to-list 'ac-modes 'nrepl-mode))* >> *(add-hook 'nrepl-mode-hook 'ac-nrepl-setup)* >> * >> * >> * >> * >> *; nrepl inspect* >> *(load-file "~/nrepl-inspect/nrepl-inspect.el")* >> *(define-key nrepl-mode-map (kbd "C-c C-i") 'nrepl-inspect)* >> * >> * >> *; nrepl-ritz* >> *(require 'nrepl-ritz) ;; after (require 'nrepl)* >> * * >> *;; Ritz middleware* >> *(define-key nrepl-interaction-mode-map (kbd "C-c C-j") 'nrepl-javadoc)* >> *(define-key nrepl-mode-map (kbd "C-c C-j") 'nrepl-javadoc)* >> *(define-key nrepl-interaction-mode-map (kbd "C-c C-a") 'nrepl-apropos)* >> *(define-key nrepl-mode-map (kbd "C-c C-a") 'nrepl-apropos)* >> * >> * >> *; paredit* >> *(require 'paredit)* >> *(add-hook 'clojure-mode-hook * >> * (lambda () * >> * (paredit-mode)* >> * (rainbow-delimiters-mode)* >> * (highlight-parentheses-mode t)))* >> >> If I run "lein ritz-nrepl" in my project, I get no particular errors, it >> says: >> *nREPL server started on port 50129* >> >> After doing the above, if I go to emacs and try to nrepl to >> 127.0.0.1:50129, it just hangs and the ritz-nrepl terminal prints: >> *[WARNING] No nREPL middleware descriptor in metadata of >> clojure.core$comp$fn__4154@7e090a0a, see >> clojure.tools.middleware/set-descriptor![WARNING] No nREPL middleware >> descriptor in metadata of clojure.core$comp$fn__4154@47b8c9d1, see >> clojure.tools.middleware/set-descriptor![WARNING] No nREPL middleware >> descriptor in metadata of clojure.core$comp$fn__4154@34c9dd20, see >> clojure.tools.middleware/set-descriptor![WARNING] No nREPL middleware >> descriptor in metadata of clojure.core$comp$fn__4154@30d47af3, see >> clojure.tools.middleware/set-descriptor![WARNING] No nREPL middleware >> descriptor in metadata of clojure.core$comp$fn__4154@4dd40090, see >> clojure.tools.middleware/set-descriptor!ERROR: Unhandled REPL handler >> exception processing message {:id 2, :op clone}* >> *java.lang.NullPointerException* >> * at clojure.core$deref_future.invoke(core.clj:2108)* >> * at clojure.core$deref.invoke(core.clj:2129)* >> * at >> cljx.repl_middleware$wrap_cljx$fn__9054.invoke(repl_middleware.clj:11)* >> * at >> clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__410.invoke(middleware.clj:17) >> * >> * at >> clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__410.invoke(middleware.clj:17) >> * >> * at >> ritz.nrepl.middleware.simple_complete$wrap_simple_complete$fn__1621.invoke(simple_complete.clj:27) >> * >> * at >> clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__410.invoke(middleware.clj:17) >> * >> * at clojure.tools.nrepl.server$handle_STAR_.invoke(server.clj:18)* >> * at ritz.nrepl.exec$exec.invoke(exec.clj:36)* >> * at clojure.core$eval9089$fn__9090.invoke(NO_SOURCE_FILE:0)* >> * at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)* >> * at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >> * >> * at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >> * >> * at java.lang.reflect.Method.invoke(Method.java:606)* >> * at classlojure.core$eval_in_STAR_.doInvoke(core.clj:86)* >> * at clojure.lang.RestFn.applyTo(RestFn.java:142)* >> * at clojure.core$apply.invoke(core.clj:621)* >> * at classlojure.core$eval_in.doInvoke(core.clj:100)* >> * at clojure.lang.RestFn.applyTo(RestFn.java:142)* >> * at clojure.core$apply.invoke(core.clj:621)* >> * at >> ritz.repl_utils.classloader$eval_clojure_in.doInvoke(classloader.clj:115) >> * >> * at clojure.lang.RestFn.applyTo(RestFn.java:142)* >> * at clojure.core$apply.invoke(core.clj:621)* >> * at >> ritz.repl_utils.classloader$eval_clojure.doInvoke(classloader.clj:121)* >> * at clojure.lang.RestFn.invoke(RestFn.java:423)* >> * at ritz.nrepl.exec$exec_using_classloader.invoke(exec.clj:61)* >> * at clojure.core$eval2238.invoke(NO_SOURCE_FILE)* >> * at clojure.lang.Compiler.eval(Compiler.java:6619)* >> * at clojure.lang.Compiler.eval(Compiler.java:6582)* >> * at clojure.lang.Util.sneakyThrow0(Util.java:242)* >> * at clojure.lang.Util.sneakyThrow(Util.java:236)* >> * at clojure.lang.AFn.run(AFn.java:28)* >> * at java.lang.Thread.run(Thread.java:724)* >> *ERROR: Unhandled REPL handler exception processing message {:id 1, :op >> clone}* >> *java.lang.NullPointerException* >> * at clojure.core$deref_future.invoke(core.clj:2108)* >> * at clojure.core$deref.invoke(core.clj:2129)* >> * at >> cljx.repl_middleware$wrap_cljx$fn__9054.invoke(repl_middleware.clj:11)* >> * at >> clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__410.invoke(middleware.clj:17) >> * >> * at >> clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__410.invoke(middleware.clj:17) >> * >> * at >> ritz.nrepl.middleware.simple_complete$wrap_simple_complete$fn__1621.invoke(simple_complete.clj:27) >> * >> * at >> clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__410.invoke(middleware.clj:17) >> * >> * at clojure.tools.nrepl.server$handle_STAR_.invoke(server.clj:18)* >> * at ritz.nrepl.exec$exec.invoke(exec.clj:36)* >> * at clojure.core$eval9095$fn__9096.invoke(NO_SOURCE_FILE:0)* >> * at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)* >> * at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >> * >> * at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >> * >> * at java.lang.reflect.Method.invoke(Method.java:606)* >> * at classlojure.core$eval_in_STAR_.doInvoke(core.clj:86)* >> * at clojure.lang.RestFn.applyTo(RestFn.java:142)* >> * at clojure.core$apply.invoke(core.clj:621)* >> * at classlojure.core$eval_in.doInvoke(core.clj:100)* >> * at clojure.lang.RestFn.applyTo(RestFn.java:142)* >> * at clojure.core$apply.invoke(core.clj:621)* >> * at >> ritz.repl_utils.classloader$eval_clojure_in.doInvoke(classloader.clj:115) >> * >> * at clojure.lang.RestFn.applyTo(RestFn.java:142)* >> * at clojure.core$apply.invoke(core.clj:621)* >> * at >> ritz.repl_utils.classloader$eval_clojure.doInvoke(classloader.clj:121)* >> * at clojure.lang.RestFn.invoke(RestFn.java:423)* >> * at ritz.nrepl.exec$exec_using_classloader.invoke(exec.clj:61)* >> * at clojure.core$eval2240.invoke(NO_SOURCE_FILE)* >> * at clojure.lang.Compiler.eval(Compiler.java:6619)* >> * at clojure.lang.Compiler.eval(Compiler.java:6582)* >> * at clojure.lang.Util.sneakyThrow0(Util.java:242)* >> * at clojure.lang.Util.sneakyThrow(Util.java:236)* >> * at clojure.lang.AFn.run(AFn.java:28)* >> * at java.lang.Thread.run(Thread.java:724)* >> *ERROR: Unhandled REPL handler exception processing message {:op >> describe, :id 3, :descriptors #<PersistentArrayMap {"jpda" {:requires >> {"code" "A boolean true or false"}, :returns {"status" "done"}, :doc >> "Evaluate code in the debugger's own VM."}, "disassemble-frame" {:requires >> {"frame-number" "The stack frame to disassemble.", "thread-id" "The thread >> executing the code to disassemble."}, :returns {"status" "done"}, :doc >> "Disassemble the code associated with the specified frame."}, >> "frame-locals" {:requires {"frame-number" "The stack frame to return locals >> for.", "thread-id" "The thread executing the code to disassemble."}, >> :returns {"status" "done"}, :doc "List the local variables visible in the >> specified frame. Each local is presented in a list with name and value >> components."}, "frame-source" {:requires {"frame-number" "The stack frame >> to return locals for.", "thread-id" "The thread executing the code to >> disassemble."}, :returns {"status" "done"}, :doc "Locate the source code >> for the specified frame. The location is passed back in a name value list >> specifying file, zip, and line number."}, "frame-eval" {:requires >> {"frame-number" "The stack frame to return locals for.", "code" "The >> expression to evaluate", "thread-id" "The thread executing the code to >> disassemble."}, :returns {"status" "done"}, :optional {"pprint" "Flag to >> specify pretty-printing of the result"}, :doc "Evaluate code with in the >> locals environment of the specified frame."}, "invoke-restart" {:requires >> {"restart-number" "The (ordinal) number of the restart to invoke", >> "restart-name" "The name of the restart to invoke.", "thread-id" "The >> thread executing the code to disassemble."}, :returns {"status" "done"}, >> :doc "Invoke the specified restart number or name for the specified >> thread."}, "break-on-exception" {:requires {"flag" "A boolean true or >> false"}, :returns {"status" "done"}, :doc "Flag to control whether >> exceptions break into the debugger."}, "source-forms" {:doc "Query or reset >> source forms.", :optional {"source-id" "A message ID identifying the source >> form to return", "reset" "A flag to reset the source forms"}, :returns >> {}}}>}* >> *java.lang.NullPointerException* >> * at clojure.core$deref_future.invoke(core.clj:2108)* >> * at clojure.core$deref.invoke(core.clj:2129)* >> * at >> cljx.repl_middleware$wrap_cljx$fn__9054.invoke(repl_middleware.clj:11)* >> * at >> clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__410.invoke(middleware.clj:17) >> * >> * at >> clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__410.invoke(middleware.clj:17) >> * >> * at >> ritz.nrepl.middleware.simple_complete$wrap_simple_complete$fn__1621.invoke(simple_complete.clj:27) >> * >> * at >> clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__410.invoke(middleware.clj:17) >> * >> * at clojure.tools.nrepl.server$handle_STAR_.invoke(server.clj:18)* >> * at ritz.nrepl.exec$exec.invoke(exec.clj:36)* >> * at clojure.core$eval9101$fn__9102.invoke(NO_SOURCE_FILE:0)* >> * at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)* >> * at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >> * >> * at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >> * >> * at java.lang.reflect.Method.invoke(Method.java:606)* >> * at classlojure.core$eval_in_STAR_.doInvoke(core.clj:86)* >> * at clojure.lang.RestFn.applyTo(RestFn.java:142)* >> * at clojure.core$apply.invoke(core* >> > -- -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.