Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Emacs ElScreen getting "(wrong-type-argument consp nil)" every time I try to create new window

Tags:

emacs

elisp

I enabled debugging by putting "(setq debug-on-error t)" before I initialize ElScreen in my .emacs file, and get the following backtrace:

Debugger entered--Lisp error: (wrong-type-argument consp nil)
elscreen-append-screen-to-history(0)
elscreen-create-internal()
elscreen-create()
call-interactively(elscreen-create nil nil)

To me this suggests that the elscreen-append-screen-to-history function is expecting a non-numeric argument, but I'm not sure. I get this same wrong-type-argument error even when I try evaluating the function with an argument greater than zero. I'm running emacs 24.2.1 and using the ElScreen version available here (the only living link I could find) https://github.com/knu/elscreen.

I initialize ElScreen as follows in my .emacs file: 
;; ---------------------------------------
;; load elscreen
;; ---------------------------------------
(setq debug-on-error t)
(defun load_elscreen ()
  "load elscreen"
  (interactive)
  (add-to-list 'load-path "~/elscreen")
  (load "elscreen" "ElScreen" t)
)

;; F12 enables elscreen
(global-set-key (kbd "<f12>") 'load_elscreen)

;; F9 creates a new elscreen, shift-F9 kills it
(global-set-key (kbd "<f9>") 'elscreen-create)
(global-set-key (kbd "C-c t a b d") 'elscreen-kill)

;; Windowskey+PgUP/PgDown switches between elscreens
(global-set-key (kbd "C-M-_") 'elscreen-previous)
(global-set-key (kbd "C-M-+") 'elscreen-next)

Everything worked fine before I switched to a new version of Fedora, and I'm not sure if I'm using the same version of ElScreen as before or not.

Has anyone gotten this to work, encountered this problem or have any ideas?


like image 979
Eru_Iluvatar Avatar asked Oct 20 '25 12:10

Eru_Iluvatar


2 Answers

You need to call elscreen-start. Add this to your load_elscreen, after the call to load:

(elscreen-start)
like image 136
juanleon Avatar answered Oct 23 '25 06:10

juanleon


You need to call elscreen-start. Add this to your load_elscreen, after the call to load:

(elscreen-start)
like image 37
juanleon Avatar answered Oct 23 '25 08:10

juanleon



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!