-;;; murk.el --- Multiserver Unibuffer iRc Klient -*- lexical-binding:t -*-
+;;; murk.el --- Multinetwork Unibuffer iRc Klient -*- lexical-binding:t -*-
;; Copyright (C) 2024 plugd
;;; Commentary:
-;; A very simple IRC server which uses only a single buffer.
+;; A very simple IRC client which uses only a single buffer.
;;; Code:
;;; Customizations
(defgroup murk nil
- "Multiserver Unibuffer iRc Klient"
+ "Multinetwork Unibuffer iRc Klient"
:group 'network)
(defcustom murk-default-nick "plugd"
;;
(defvar murk-connection-table nil
- "An alist associating servers to connection information.
+ "An alist associating networks to connection information.
This includes the process and the response string.")
-(defun murk-connection-process (server)
- (elt (assoc server murk-connection-table) 1))
+(defun murk-connection-process (network)
+ (elt (assoc network murk-connection-table) 1))
-(defun murk-connection-nick (server)
- (elt (assoc server murk-connection-table) 2))
+(defun murk-connection-nick (network)
+ (elt (assoc network murk-connection-table) 2))
-(defun murk-set-connection-nick (server nick)
- (setf (elt (assoc server murk-connection-table) 2) nick))
+(defun murk-set-connection-nick (network nick)
+ (setf (elt (assoc network murk-connection-table) 2) nick))
-(defun murk-connection-response (server)
- (elt (assoc server murk-connection-table) 3))
+(defun murk-connection-response (network)
+ (elt (assoc network murk-connection-table) 3))
-(defun murk-set-connection-response (server string)
- (setf (elt (assoc server murk-connection-table) 3) string))
+(defun murk-set-connection-response (network string)
+ (setf (elt (assoc network murk-connection-table) 3) string))
-(defun murk-connection-new (server process nick)
+(defun murk-connection-new (network process nick)
(add-to-list 'murk-connection-table
- (list server process nick "")))
+ (list network process nick "")))
-(defun murk-connection-remove (server)
+(defun murk-connection-remove (network)
(setq murk-connection-table
- (seq-remove (lambda (row) (equal (car row) server))
+ (seq-remove (lambda (row) (equal (car row) network))
murk-connection-table)))
-(defun murk-make-server-filter (server)
+(defun murk-make-network-filter (network)
(lambda (_proc string)
- (dolist (line (split-string (concat (murk-connection-response server) string)
+ (dolist (line (split-string (concat (murk-connection-response network) string)
"\n"))
(if (string-suffix-p "\r" line)
- (murk-eval-msg-string server (string-trim line))
- (murk-set-connection-response server line)))))
+ (murk-eval-msg-string network (string-trim line))
+ (murk-set-connection-response network line)))))
-(defun murk-make-server-sentinel (server)
+(defun murk-make-network-sentinel (network)
(lambda (_proc string)
(unless (equal "open" (string-trim string))
- (murk-display-error "Disconnected from server.")
- (murk-connection-remove server)
- (murk-remove-server-contexts server)
+ (murk-display-error "Disconnected from network.")
+ (murk-connection-remove network)
+ (murk-remove-network-contexts network)
(murk-highlight-current-context)
(murk-render-prompt))))
-(defun murk-start-process (server)
- (let* ((row (assoc server murk-networks))
+(defun murk-start-process (network)
+ (let* ((row (assoc network murk-networks))
(host (elt row 1))
(port (elt row 2))
(flags (seq-drop row 3)))
- (make-network-process :name (concat "murk-" server)
+ (make-network-process :name (concat "murk-" network)
:host host
:service port
:family nil
- :filter (murk-make-server-filter server)
- :sentinel (murk-make-server-sentinel server)
+ :filter (murk-make-network-filter network)
+ :sentinel (murk-make-network-sentinel network)
:nowait nil
:tls-parameters (if (memq :notls flags)
nil
;; IDEA: Have a single ping timer which pings all connected hosts
-(defun murk-connect (server)
- (if (assoc server murk-connection-table)
+(defun murk-connect (network)
+ (if (assoc network murk-connection-table)
(murk-display-error "Already connected to this network")
- (if (not (assoc server murk-networks))
- (murk-display-error "Network '" server "' is unknown.")
- (let ((proc (murk-start-process server)))
- (murk-connection-new server proc murk-default-nick))
- (murk-send-msg server (murk-msg nil nil "USER" murk-default-nick 0 "*" murk-default-nick))
- (murk-send-msg server (murk-msg nil nil "NICK" murk-default-nick))
- (murk-add-context (list server))
+ (if (not (assoc network murk-networks))
+ (murk-display-error "Network '" network "' is unknown.")
+ (let ((proc (murk-start-process network)))
+ (murk-connection-new network proc murk-default-nick))
+ (murk-send-msg network (murk-msg nil nil "USER" murk-default-nick 0 "*" murk-default-nick))
+ (murk-send-msg network (murk-msg nil nil "NICK" murk-default-nick))
+ (murk-add-context (list network))
(murk-highlight-current-context)
(murk-render-prompt))))
-(defun murk-send-msg (server msg)
+(defun murk-send-msg (network msg)
(if murk-debug
(murk-display-string nil nil (murk-msg->string msg)))
- (let ((proc (murk-connection-process server)))
+ (let ((proc (murk-connection-process network)))
(if (and proc (eq (process-status proc) 'open))
(process-send-string proc (concat (murk-msg->string msg) "\r\n"))
- (murk-display-error "No server connection established"))))
+ (murk-display-error "No network connection established"))))
-;;; Server messages
+;;; network messages
;;
(defun murk-msg (tags src cmd &rest params)
;;; Contexts
;;
-;; A context is a list (server channel users) identifying the server
+;; A context is a list (network channel users) identifying the network
;; and channel. The tail of the list contains the nicks of users
;; present in the channel.
;;
-;; Each server has a special context (server) used for messages
-;; to/from the server itself.
+;; Each network has a special context (network) used for messages
+;; to/from the network itself.
(defvar murk-contexts nil
"List of currently-available contexts.
nil))
(defun murk-contexts-equal (c1 c2)
- (if (murk-server-context-p c1)
- (and (murk-server-context-p c2)
- (equal (murk-context-server c1)
- (murk-context-server c2)))
- (and (not (murk-server-context-p c2))
+ (if (murk-network-context-p c1)
+ (and (murk-network-context-p c2)
+ (equal (murk-context-network c1)
+ (murk-context-network c2)))
+ (and (not (murk-network-context-p c2))
(equal (seq-take c1 2)
(seq-take c2 2)))))
-(defun murk-context-server (ctx)
+(defun murk-context-network (ctx)
(elt ctx 0))
(defun murk-context-channel (ctx)
(defun murk-set-context-users (ctx users)
(setcar (cddr ctx) users))
-(defun murk-server-context-p (ctx)
+(defun murk-network-context-p (ctx)
(not (cdr ctx)))
(defun murk-add-context (ctx)
(murk-contexts-equal this-ctx ctx))
murk-contexts)))
-(defun murk-remove-server-contexts (server)
+(defun murk-remove-network-contexts (network)
(setq murk-contexts
- (seq-remove (lambda (row) (equal (car row) server))
+ (seq-remove (lambda (row) (equal (car row) network))
murk-contexts)))
(defun murk-context->string (ctx)
- (if (murk-server-context-p ctx)
- (concat "[" (murk-context-server ctx) "]")
+ (if (murk-network-context-p ctx)
+ (concat "[" (murk-context-network ctx) "]")
(concat (murk-context-channel ctx) "@"
- (murk-context-server ctx))))
+ (murk-context-network ctx))))
(defun murk-string->context (string)
(if (not (string-prefix-p "#" string))
(murk-get-context string)
(let* ((parts (string-split string "@"))
(channel (elt parts 0))
- (server (elt parts 1)))
- (murk-get-context server channel))))
+ (network (elt parts 1)))
+ (murk-get-context network channel))))
-(defun murk-get-context (server &optional channel)
+(defun murk-get-context (network &optional channel)
(if (and channel (string-prefix-p "#" channel))
- (let ((test-ctx (list server channel)))
+ (let ((test-ctx (list network channel)))
(seq-find (lambda (ctx)
(equal (seq-take ctx 2) test-ctx))
murk-contexts))
- (car (member (list server) murk-contexts))))
+ (car (member (list network) murk-contexts))))
(defun murk-cycle-contexts (&optional reverse)
(setq murk-contexts
ctx
(delete user (murk-context-users ctx))))
-(defun murk-del-server-user (server user)
+(defun murk-del-network-user (network user)
(dolist (ctx murk-contexts)
- (if (and (equal (murk-context-server ctx) server)
- (not (murk-server-context-p ctx)))
+ (if (and (equal (murk-context-network ctx) network)
+ (not (murk-network-context-p ctx)))
(murk-del-context-user ctx user))))
-(defun murk-rename-server-user (server old-nick new-nick)
+(defun murk-rename-network-user (network old-nick new-nick)
(dolist (ctx murk-contexts)
- (when (and (equal (murk-context-server ctx) server)
+ (when (and (equal (murk-context-network ctx) network)
(member old-nick (murk-context-users ctx)))
(murk-del-context-user ctx old-nick)
(murk-add-context-users ctx (list new-nick)))))
'((:eval
(let* ((ctx (murk-current-context)))
(if ctx
- (let ((server (murk-context-server ctx)))
+ (let ((network (murk-context-network ctx)))
(concat
- "Network: " server ", "
- (if (murk-server-context-p ctx)
- "Server"
+ "Network: " network ", "
+ (if (murk-network-context-p ctx)
+ "network"
(concat
"Channel: "
(murk-context-channel ctx)
'invisible context-atom)))))))
(murk-scroll-windows-to-last-line))
-(defun murk-display-message (server from to text)
+(defun murk-display-message (network from to text)
(let ((context (if (string-prefix-p "#" to)
- (murk-get-context server to)
- (murk-get-context server))))
+ (murk-get-context network to)
+ (murk-get-context network))))
(murk-display-string
context
(propertize
- (if (murk-server-context-p context)
+ (if (murk-network-context-p context)
(concat "[" from "->" to "]")
(concat (murk-context->string context) " <" from ">"))
'face (murk-get-context-facelist context))
text)))
-(defun murk-display-action (server from to action-text)
+(defun murk-display-action (network from to action-text)
(let ((context (if (string-prefix-p "#" to)
- (murk-get-context server to)
- (murk-get-context server))))
+ (murk-get-context network to)
+ (murk-get-context network))))
(murk-display-string
context
(propertize
;;; Message evaluation
;;
-(defun murk-eval-msg-string (server string)
+(defun murk-eval-msg-string (network string)
(if murk-debug
(murk-display-string nil nil string))
(let* ((msg (murk-string->msg string)))
- (murk-process-autoreplies server msg)
+ (murk-process-autoreplies network msg)
(pcase (murk-msg-cmd msg)
("PING"
- (murk-send-msg server
+ (murk-send-msg network
(murk-msg nil nil "PONG" (murk-msg-params msg))))
("PONG")
(let* ((params (murk-msg-params msg))
(nick (elt params 0))
(text (string-join (seq-drop params 1) " ")))
- (murk-set-connection-nick server nick)
- (murk-display-notice (murk-get-context server) text)))
+ (murk-set-connection-nick network nick)
+ (murk-display-notice (murk-get-context network) text)))
("353" ; NAMEREPLY
(let* ((params (murk-msg-params msg))
(channel (elt params 2))
(names (split-string (elt params 3)))
- (ctx (murk-get-context server channel)))
+ (ctx (murk-get-context network channel)))
(if ctx
(murk-add-context-users ctx names)
(murk-display-notice nil "Users in " channel
("366" ; ENDOFNAMES
(let* ((params (murk-msg-params msg))
(channel (elt params 1))
- (ctx (murk-get-context server channel)))
+ (ctx (murk-get-context network channel)))
(if ctx
(murk-display-notice
ctx
("331" ; RPL_NOTOPIC
(let* ((params (murk-msg-params msg))
(channel (elt params 1))
- (ctx (murk-get-context server channel)))
+ (ctx (murk-get-context network channel)))
(murk-display-notice ctx "No topic set.")))
("332" ; RPL_TOPIC
(let* ((params (murk-msg-params msg))
(channel (elt params 1))
(topic (elt params 2))
- (ctx (murk-get-context server channel)))
+ (ctx (murk-get-context network channel)))
(murk-display-notice ctx "Topic: " topic)))
((rx (= 3 (any digit)))
- (murk-display-notice (murk-get-context server)
+ (murk-display-notice (murk-get-context network)
(mapconcat 'identity (cdr (murk-msg-params msg)) " ")))
((and "JOIN"
- (guard (equal (murk-connection-nick server)
+ (guard (equal (murk-connection-nick network)
(murk-msg-src msg))))
(let ((channel (car (murk-msg-params msg))))
- (murk-add-context (list server channel nil))
+ (murk-add-context (list network channel nil))
(murk-display-notice (murk-current-context)
- "Joining channel " channel " on " server)
+ "Joining channel " channel " on " network)
(murk-highlight-current-context)
(murk-render-prompt)))
("JOIN"
(let* ((channel (car (murk-msg-params msg)))
(nick (murk-msg-src msg))
- (ctx (murk-get-context server channel)))
+ (ctx (murk-get-context network channel)))
(murk-add-context-users ctx (list nick))
(if murk-show-joins
(murk-display-notice ctx nick " joined channel " channel
- " on " server))))
+ " on " network))))
((and "PART"
- (guard (equal (murk-connection-nick server)
+ (guard (equal (murk-connection-nick network)
(murk-msg-src msg))))
(let ((channel (car (murk-msg-params msg))))
(murk-display-notice (murk-current-context) "Left channel " channel)
- (murk-remove-context (list server channel))
+ (murk-remove-context (list network channel))
(murk-highlight-current-context)
(murk-render-prompt)))
("PART"
(let* ((channel (car (murk-msg-params msg)))
(nick (murk-msg-src msg))
- (ctx (murk-get-context server channel)))
+ (ctx (murk-get-context network channel)))
(murk-del-context-user ctx nick)
(if murk-show-joins
(murk-display-notice ctx nick " left channel " channel
- " on " server))))
+ " on " network))))
((and "NICK"
- (guard (equal (murk-connection-nick server)
+ (guard (equal (murk-connection-nick network)
(murk-msg-src msg))))
(let ((new-nick (car (murk-msg-params msg)))
- (old-nick (murk-connection-nick server)))
- (murk-set-connection-nick server new-nick)
- (murk-rename-server-user server old-nick new-nick)
- (murk-display-notice (murk-get-context server)
- "Nick set to " new-nick " on " server)))
+ (old-nick (murk-connection-nick network)))
+ (murk-set-connection-nick network new-nick)
+ (murk-rename-network-user network old-nick new-nick)
+ (murk-display-notice (murk-get-context network)
+ "Nick set to " new-nick " on " network)))
("NICK"
(let ((old-nick (murk-msg-src msg))
(new-nick (car (murk-msg-params msg))))
(murk-display-notice nil old-nick " is now known as " new-nick
- " on " server)
- (murk-rename-server-user server old-nick new-nick)))
+ " on " network)
+ (murk-rename-network-user network old-nick new-nick)))
("TOPIC"
(let ((channel (car (murk-msg-params msg)))
(nick (murk-msg-src msg))
(topic (cadr (murk-msg-params msg))))
- (murk-display-notice (murk-get-context server channel)
+ (murk-display-notice (murk-get-context network channel)
nick " set the topic: " topic)))
("QUIT"
(let ((nick (murk-msg-src msg))
(reason (mapconcat 'identity (murk-msg-params msg) " ")))
- (murk-del-server-user server nick)
+ (murk-del-network-user network nick)
(if murk-show-joins
- (murk-display-notice (murk-get-context server)
- nick " quit: " reason))))
+ (murk-display-notice (murk-get-context network)
+ nick " on " network " has quit: " reason))))
("NOTICE"
(let ((nick (murk-msg-src msg))
((rx (: "\01VERSION "
(let version (* (not "\01")))
"\01"))
- (murk-display-notice (murk-get-context server)
+ (murk-display-notice (murk-get-context network)
"CTCP version reply from " nick ": " version))
(_
- (murk-display-notice (murk-get-context server channel) text)))))
+ (murk-display-notice (murk-get-context network channel) text)))))
("PRIVMSG"
(let* ((from (murk-msg-src msg))
(pcase text
("\01VERSION\01"
(let ((version-string (concat murk-version " - running on GNU Emacs " emacs-version)))
- (murk-send-msg server
+ (murk-send-msg network
(murk-msg nil nil "NOTICE"
(list from (concat "\01VERSION "
version-string
"\01")))))
- (murk-display-notice (murk-get-context server)
+ (murk-display-notice (murk-get-context network)
"CTCP version request received from "
- from " on " server))
+ from " on " network))
((rx (let ping (: "\01PING " (* (not "\01")) "\01")))
- (murk-send-msg server (murk-msg nil nil "NOTICE" (list from ping)))
- (murk-display-notice (murk-get-context server)
- "CTCP ping received from " from " on " server))
+ (murk-send-msg network (murk-msg nil nil "NOTICE" (list from ping)))
+ (murk-display-notice (murk-get-context network)
+ "CTCP ping received from " from " on " network))
("\01USERINFO\01"
- (murk-display-notice (murk-get-context server)
+ (murk-display-notice (murk-get-context network)
"CTCP userinfo request from " from
- " on " server " (no response sent)"))
+ " on " network " (no response sent)"))
("\01CLIENTINFO\01"
- (murk-display-notice (murk-get-context server)
+ (murk-display-notice (murk-get-context network)
"CTCP clientinfo request from " from
- " on " server " (no response sent)"))
+ " on " network " (no response sent)"))
((rx (: "\01ACTION " (let action-text (* (not "\01"))) "\01"))
- (murk-display-action server from to action-text))
+ (murk-display-action network from to action-text))
(_
- (murk-display-message server from to text)))))
+ (murk-display-message network from to text)))))
(_
- (murk-display-notice (murk-get-context server)
+ (murk-display-notice (murk-get-context network)
(murk-msg->string msg))))))
nil)
t))
-(defun murk-process-autoreply (server msg autoreply)
+(defun murk-process-autoreply (network msg autoreply)
(let ((matcher (car autoreply))
(reply (cadr autoreply)))
- (let ((target-server (car matcher)))
- (when (and (or (not target-server)
- (and (equal server target-server)))
+ (let ((target-network (car matcher)))
+ (when (and (or (not target-network)
+ (and (equal network target-network)))
(murk--lists-equal (cdr matcher)
(append (list (murk-msg-src msg)
(murk-msg-cmd msg))
(murk-msg-params msg))))
- (murk-send-msg server
+ (murk-send-msg network
(murk-msg nil nil (car reply) (cdr reply)))))))
-(defun murk-process-autoreplies (server msg)
+(defun murk-process-autoreplies (network msg)
(mapc
(lambda (autoreply)
- (murk-process-autoreply server msg autoreply))
+ (murk-process-autoreply network msg autoreply))
murk-autoreply-table))
(defun murk-command-networks (_params)
(murk-display-notice nil "Currently-known networks:")
(dolist (row murk-networks)
- (seq-let (network server port &rest _others) row
+ (seq-let (network network port &rest _others) row
(murk-display-notice nil "\t" network
- " [" server
+ " [" network
" " (number-to-string port) "]")))
(murk-display-notice nil "(Modify the `murk-networks' variable to add more.)"))
(defun murk-command-quit (params)
(let ((ctx (murk-current-context)))
(if (not ctx)
- (murk-display-error "No current server")
+ (murk-display-error "No current network")
(let ((quit-msg (if params (string-join params " ") murk-default-quit-msg)))
(murk-send-msg
- (murk-context-server ctx)
+ (murk-context-network ctx)
(murk-msg nil nil "QUIT" quit-msg))))))
(defun murk-command-join (params)
(if params
- (let ((server (murk-context-server (murk-current-context))))
+ (let ((network (murk-context-network (murk-current-context))))
(dolist (channel params)
- (murk-send-msg server (murk-msg nil nil "JOIN" channel))))
+ (murk-send-msg network (murk-msg nil nil "JOIN" channel))))
(murk-display-notice nil "Usage: /join channel [channel2 ...]")))
(defun murk-command-part (params)
- (let* ((server (murk-context-server (murk-current-context)))
+ (let* ((network (murk-context-network (murk-current-context)))
(channel (if params
(car params)
(murk-context-channel (murk-current-context)))))
(if channel
- (murk-send-msg server (murk-msg nil nil "PART" channel))
+ (murk-send-msg network (murk-msg nil nil "PART" channel))
(murk-display-error "No current channel to leave"))))
(defun murk-command-nick (params)
(let ((new-nick (string-join params " "))
(ctx (murk-current-context)))
(if ctx
- (murk-send-msg (murk-context-server ctx)
+ (murk-send-msg (murk-context-network ctx)
(murk-msg nil nil "NICK" new-nick))
(murk-display-error "No current connection")))
(murk-display-notice nil "Usage: /nick <new-nick>")))
(if ctx
(if (not params)
(murk-display-notice nil "This command can generate lots of output. Use `/LIST -yes' if you really want this, or `/LIST <channel_regexp>' to reduce the output.")
- (let ((server (murk-context-server ctx)))
+ (let ((network (murk-context-network ctx)))
(if (equal (upcase (car params)) "-YES")
- (murk-send-msg server (murk-msg nil nil "LIST"))
- (murk-send-msg server (murk-msg nil nil "LIST"
+ (murk-send-msg network (murk-msg nil nil "LIST"))
+ (murk-send-msg network (murk-msg nil nil "LIST"
(car params))))))
(murk-display-error "No current connection"))))
(defun murk-command-topic (params)
(let ((ctx (murk-current-context)))
- (if (and ctx (not (murk-server-context-p ctx)))
- (let ((server (murk-context-server ctx))
+ (if (and ctx (not (murk-network-context-p ctx)))
+ (let ((network (murk-context-network ctx))
(channel (murk-context-channel ctx)))
(if params
- (murk-send-msg server
+ (murk-send-msg network
(murk-msg nil nil "TOPIC" channel
(string-join params " ")))
- (murk-send-msg server
+ (murk-send-msg network
(murk-msg nil nil "TOPIC" channel))))
(murk-display-notice nil "No current channel."))))
(defun murk-command-msg (params)
- (let ((server (murk-context-server (murk-current-context))))
+ (let ((network (murk-context-network (murk-current-context))))
(if (and params (>= (length params) 2))
(let ((to (car params))
(text (string-join (cdr params) " ")))
- (murk-send-msg server (murk-msg nil nil "PRIVMSG" to text))
- (murk-display-message server
- (murk-connection-nick server)
+ (murk-send-msg network (murk-msg nil nil "PRIVMSG" to text))
+ (murk-display-message network
+ (murk-connection-nick network)
to text))
(murk-display-notice nil "Usage: /msg <nick> <message>"))))
(defun murk-command-me (params)
(let* ((ctx (murk-current-context))
- (server (murk-context-server ctx)))
- (if (and ctx (not (murk-server-context-p ctx)))
+ (network (murk-context-network ctx)))
+ (if (and ctx (not (murk-network-context-p ctx)))
(if params
(let* ((channel (murk-context-channel ctx))
- (my-nick (murk-connection-nick server))
+ (my-nick (murk-connection-nick network))
(action (string-join params " "))
(ctcp-text (concat "\01ACTION " action "\01")))
- (murk-send-msg server
+ (murk-send-msg network
(murk-msg nil nil "PRIVMSG"
(list channel ctcp-text)))
- (murk-display-action server my-nick channel action))
+ (murk-display-action network my-nick channel action))
(murk-display-notice nil "Usage: /me <action>"))
(murk-display-notice nil "No current channel."))))
(let ((ctx (murk-current-context)))
(if ctx
(if params
- (let ((server (murk-context-server ctx))
+ (let ((network (murk-context-network ctx))
(nick (car params)))
- (murk-send-msg server
+ (murk-send-msg network
(murk-msg nil nil "PRIVMSG"
(list nick "\01VERSION\01")))
(murk-display-notice ctx "CTCP version request sent to "
- nick " on " server))
+ nick " on " network))
(murk-display-notice ctx "Usage: /version <nick>"))
(murk-display-notice nil "No current channel."))))
(defun murk-command-users (_params)
(let ((ctx (murk-current-context)))
- (if (and ctx (not (murk-server-context-p ctx)))
+ (if (and ctx (not (murk-network-context-p ctx)))
(let ((channel (murk-context-channel ctx))
- (server (murk-context-server ctx))
+ (network (murk-context-network ctx))
(users (murk-context-users ctx)))
- (murk-display-notice ctx "Users in " channel " on " server ":")
+ (murk-display-notice ctx "Users in " channel " on " network ":")
(murk-display-notice ctx (string-join users " ")))
(murk-display-notice nil "No current channel."))))
(if (and command-row (elt command-row 2))
(funcall (elt command-row 2) params)
(murk-send-msg
- (murk-context-server (murk-current-context))
+ (murk-context-network (murk-current-context))
(murk-msg nil nil (upcase cmd-str) params)))))
(_
(murk-display-error "Badly formed command")))
(unless (string-empty-p string)
(let ((ctx (murk-current-context)))
(if ctx
- (if (not (murk-server-context-p ctx))
- (let ((server (murk-context-server ctx))
+ (if (not (murk-network-context-p ctx))
+ (let ((network (murk-context-network ctx))
(channel (murk-context-channel ctx)))
- (murk-send-msg server
+ (murk-send-msg network
(murk-msg nil nil "PRIVMSG" channel string))
- (murk-display-message server
- (murk-connection-nick server)
+ (murk-display-message network
+ (murk-connection-nick network)
channel string))
(murk-display-error "No current channel"))
(murk-display-error "No current context"))))))