rendered paste body;; Backtrace:
Debugger entered--Lisp error: (wrong-type-argument stringp nil)
make-network-process(:name "ELispDRClient" :buffer #<buffer dragonrealms> :host "prime.dr.game.play.net" :port "4901" :filter dragonrealms-filter)
(setq proc (make-network-process :name client-name :buffer buffer :host (gethash "GAMEHOST" drtable) :port (gethash "GAMEPORT" drtable) :filter (function dragonrealms-filter)))
dragonrealms-connect("ELispDRClient" "dragonrealms" #<hash-table 'equal nil 8/65 0xe35920>)
dragonrealms-mode()
call-interactively(dragonrealms-mode)
execute-extended-command(nil)
call-interactively(execute-extended-command)
;; Code:
(defun dragonrealms-mode ()
(interactive)
(goto-char (point-min))
(setq drtable (make-hash-table :test #'equal))
(while (re-search-forward "^\\([^=\n]+\\)=\\([^\n]+\\)$" nil t)
(puthash (match-string 1) (match-string 2) drtable))
(dragonrealms-connect "ELispDRClient" "dragonrealms" drtable))
(defun dragonrealms-connect (client-name buffer-or-name drtable)
(message client-name)
(setq buffer (get-buffer-create buffer-or-name))
(setq proc
(make-network-process
:name client-name
:buffer buffer
:host (gethash "GAMEHOST" drtable)
:port (gethash "GAMEPORT" drtable)
:filter #'dragonrealms-filter))
(set-marker (process-mark proc) 0 buffer)
(process-send-string proc (concat (gethash "KEY" drtable) "\n"))
(process-send-string proc (concat "/FE:" client-name "/XML\n"))
proc)
(defun dragonrealms-filter (proc input)
(with-current-buffer (process-buffer proc)
(let ((moving (= (point) (process-mark proc))))
(save-excursion
(goto-char (process-mark proc))
(insert input)
(set-marker (process-mark proc) (point)))
(if moving (goto-char (process-mark proc))))))