how to upgrade ASDF to version 3 - lisp

I need a version 3 ASDF. I am on GNU CLISP 2.49, Emacs 23.5.1, Ubuntu 16.04, SBCL 1.3.1 Debian.
The current problem is
CL-USER> (asdf:asdf-version) => "3.3.2"
but
CL-USER> (ql:quickload :quickproject)
=> Evaluation aborted on
#<ASDF-2.26:LOAD-SYSTEM-DEFINITION-ERROR #x21C57D9E>
My question is; were I to uninstall, purge and then reinstall both Clisp and Emacs, would this provide me with a version 3 ASDF?
I got here by copying a new asdf.lisp and referring to it in ~/.clisprc.lisp
(let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp"
(user-homedir-pathname))))
(when (probe-file quicklisp-init)
(load quicklisp-init)))
(load (compile-file #P"~/.quicklisp/asdf.lisp"))
Perhaps removing reference to this copied asdf.lisp will get me back to version 2 of ASDF.
Re: This earlier Stack Overflow reply to make from an ASDF Git pull refers to ASDF build/install tutorial which sure seems complicated.

Related

process inferior-lisp not running

I installed sbcl
sudo apt-get install sbcl
then loaded quicklisp
sbcl --load ~/Downloads/quicklisp.lisp
then ran the installation command for installing quicklisp
(quicklisp-quickstart:install)
added quicklisp to my init file
(ql:add-to-init-file)
and then installed slime
(ql:quickload "quicklisp-slime-helper")
which then printed out:
(load (expand-file-name "~/quicklisp/slime-helper.el"))
;; Replace "sbcl" with the path to your implementation
(setq inferior-lisp-program "sbcl")
Which I dutifully copied to my Emacs initialization file.
Upon running M-xslime I got the following error:
Searching for program: No such file or directory, sbcl
so I changed inferior-lisp-program to "/usr/bin/sbcl" as such:
(setq inferior-lisp-program "/usr/bin/sbcl")
Now, when I run M-xslime I get:
Process inferior-lisp not running
and in ielm when I enter inferior-lisp-program I get
ELISP> inferior-lisp-program
"/usr/bin/sbcl"
So I am all out of ideas of what I might have gone wrong. This is a new install by me, and I have used Common Lisp and SBCL in the past with no hiccups. What did I screw up?
edit:
It turns out I was getting this information in the **Inferior Lisp** buffer:
emacs: /usr/bin/sbcl: No such file or directory
Process inferior-lisp exited abnormally with code 127
Turns out it is because I installed Emacs via Flatpak. Emacs installed via Ubuntu's default repository is able to use SBCL and other binaries.

Is there a way to install ELPA packages from command line?

I'm interested in standardizing the emacs configurations that a few of us use (~5 people).
Is there a way to install ELPA packages from lisp functions that can be included in a script if we know the set of packages we want? All I can find is how to call up list-packages and install individual packages graphically.
What you need is to use package-install function, like:
(mapc 'package-install install-list)
the install-list variable should contain a list of names of packages that you want to install.
Another thing you can do it make your own package that depends on the other packages that you want installed. Then install that package.
Packages can be installed from file with:
M-x package-install-from-file
or you can make your own package archive with the package in, you can use elpakit to do that.
You can also do this from the command line:
emacs -e "(progn (package-initialize)(package-install 'packagename))"
to install from the operating system command line if you wish.
You may also want to take a look at cask. It allows you to declare the packages you want to install in file named Cask using a DSL described here. Then from the command line go to the directory and run cask. It will install all the packages declared in the Cask file.
In you init file you will need to add the following lines to use the packages installed by cask.
(require 'cask "~/.cask/cask.el")
(cask-initialize)
In addition you can get the list of already installed ELPA packages by
(defun eab/print-0 (body)
"Insert value of body in current-buffer."
(let ((print-length nil)
(eval-expression-print-length nil))
(prin1 `,body (current-buffer))))
(defun eab/package-installed ()
"Get the list of ELPA installed packages."
(mapcar (lambda (x) (car x)) package-alist))
(eab/print-0 (eab/package-installed))
and the same for el-get packages
(defun eab/el-get-installed ()
"Get the list of el-get installed packages."
(mapcar 'intern
(el-get-list-package-names-with-status "installed")))
(eab/print-0 (eab/el-get-installed))

Matlab-emacs integration - Symbol's value as variable is void: letion

I am new to emacs and I was trying to install the Matlab mode for emacs following the instruction on this page:
matlab script editing
Everything compiled fine, but I ran into this error:
Symbol's value as variable is void: letion
When I did "emacs --init-debug" it gave me the following:
Debugger entered--Lisp error: (void-variable letion)
eval-buffer(#<buffer *load*> nil "/home/wjlee/.emacs" nil t) ; Reading at buffer position 404
load-with-code-conversion("/home/wjlee/.emacs" "/home/wjlee/.emacs" t t)
load("~/.emacs" t t)
#[0 "\205\262
I googled around a bit and some people said it's related to using older versions of emacs (emacs23 or older), however, I have emacs24.3.1, so I am not sure why this is still the case. Does anyone know how to fix this, please?
I decided to go a clean install of emacs24.3.1 again, without recompiling cedet and the matlab-emacs components, and somehow it works now... It seems like (from what I found on the web) although the newest version of CEDET is not bundled with emacs24, those that are already in there is enough for me to do the matlab-emacs integration.
Since I am very new to using all these, I'll just post what I found here:
To do a clean install of emacs24:
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:cassou/emacs
sudo apt-get update
sudo apt-get purge emacs-snapshot-common emacs-snapshot-bin-common emacs-snapshot emacs-snapshot-el emacs-snapshot-gtk emacs23 emacs23-bin-common emacs23-common emacs23-el emacs23-nox emacs23-lucid auctex emacs24 emacs24-bin-common emacs24-common emacs24-common-non-dfsg
sudo apt-get install emacs24 emacs24-el emacs24-common-non-dfsg
sudo rm /etc/apt/sources.list.d/cassou-emacs-precise.list
Download matlab.el:
cvs -d:pserver:anonymous#matlab-emacs.cvs.sourceforge.net:/cvsroot/matlab-emacs login
cvs -z3 -d:pserver:anonymous#matlab-emacs.cvs.sourceforge.net:/cvsroot/matlab-emacs co -P matlab-emacs
And modify ~/.emacs:
(add-to-list 'load-path "~/.emacs.d/matlab-emacs")
(load-library "matlab-load")
I also found the following useful:
(custom-set-variables
'(matlab-shell-command-switches '("-nodesktop -nosplash")))
And some short-cuts:
Some useful short cuts to begin with:
C-c C-r : run region in matlab
C-c C-s : save and run the file in matlab
C-c C-c E : insert a matching END statment
M-TAB : symbol/variable completion based on the script
M-s : brings up matlab-shell (in a different buffer if available)
M-p, M-n : in matlab-shell (or any emacs shell) cycle through past commands

Emacs 23.2 with ECB 2.40 | File error: Cannot open load file, semantic-ctxt

How I can use the Emacs Code Browser v2.40 with my fresh installed Emacs 23.2 (Debian distro)
In my init.el I have:
(semantic-mode)
(add-to-list 'load-path
"~/.emacs.d/plugins/ecb-2.40")
(require 'ecb)
When I run Emacs, I get an Error message on statrup:
File error: Cannot open load file, semantic-ctxt
I have read CEDET suite is build in from Emacs 23, so I don't have installed it.
This did the trick for me with 2.40:
(require 'semantic/analyze)
(provide 'semantic-analyze)
(provide 'semantic-ctxt)
(provide 'semanticdb)
(provide 'semanticdb-find)
(provide 'semanticdb-mode)
(provide 'semantic-load)
(add-to-list 'load-path "~/ecb-2.40")
(require 'ecb)
I haven't been using it for long, but the obvious features seem to work.
UPDATE: or you can just use the latest CVS snapshot, it's updated for integrated CEDET.
Many people have complained about problems with the CEDET shipped with Emacs 23.2, so I recommend you to try using the standalone CEDET distribution and see if you have the problem with it as well.

Running Clojure with 'lein swank' on Aquamacs problem

I installed leiningen and ran lein swank,
sudo lein deps
lein swank
Aquamacs has everything about SLIME, so it's OK.
Solution to this problem
David helped me to be out of trouble.
As Aquamacs has built-in SLIME, I didn't need anything complex about the setup. I just needed one line - (slime-setup '(slime-repl)).
I had the same problem if I used (slime-setup '(slime-fancy)). Changing it to (slime-setup '(slime-repl)) fixed it.
I found this the easiest setup for the latest version of everything. Here's a quick summary where I"m assuming you have leiningen installed.
Install the swank-clojure plugin
$ lein plugin install swank-clojure 1.3.2
Create your clojure project
$ lein new test-project
$ cd test-project
$ lein deps
Then open one of the clojure files from your project in emacs and run clojure-jack-in
M-x clojure-jack-in
You are now in a slime buffer with clojure and the dependencies for your project loaded.
I found that I needed this in my .emacs to get it to work:
(eval-after-load "slime"
'(progn
(slime-setup '(slime-fancy slime-asdf))))