(require 'riece-compat) ;riece-make-interval-regexp
;;; Constants:
-(defconst riece-channel-regexp
+(defconst riece-strict-channel-regexp
(concat "\\([+&#]\\|!"
(riece-make-interval-regexp "[A-Z0-9]" 5)
"\\|!!\\)[^\0\7\r\n ,:]*\\(:[^\0\7\r\n ,:]*\\)?"))
-(defconst riece-user-regexp
+(defconst riece-strict-user-regexp
(concat "[][\\\\`_^{|}A-Za-z]"
(riece-make-interval-regexp "[][\\\\`_^{|}A-Za-z0-9-]" 0 8)))
+(defconst riece-laxed-channel-regexp
+ "[+&#!][^\0\7\r\n ,:]*\\(:[^\0\7\r\n ,:]*\\)?")
+
+(defconst riece-laxed-user-regexp
+ "[][\\\\`_^{|}A-Za-z][][\\\\`_^{|}A-Za-z0-9-]*")
+
+(defvar riece-channel-regexp riece-laxed-channel-regexp)
+(defvar riece-user-regexp riece-laxed-user-regexp)
+
;;; Global variables:
(defvar riece-server-process-alist nil
"An alist mapping server names to processes.")
(defvar riece-read-point nil
"Point at the last input was seen.
Local to the server buffers.")
+(defvar riece-send-queue nil
+ "Send queue for avoiding client flood.
+Local to the server buffers.")
+(defvar riece-send-size nil
+ "Size of the last send.
+Local to the server buffers.")
+(defvar riece-last-send-time nil
+ "Timestamp of the last send.
+Local to the server buffers.")
(defvar riece-obarray nil
"Namespace of the IRC world.
Local to the server buffers.")
;;; Variables local to the channel buffers:
(defvar riece-freeze nil
- "If t, channel window is not scrolled.
-If 'own, channel window is not scrolled until you speak.
+ "If t, channel window is locked and will not be scrolled.
+If 'own, channel window is locked until the user begins to speak.
+Local to the channel buffers.")
+
+(defvar riece-freeze-indicator nil
+ "String displayed on the modeline to allow the user to tell if the
+channel buffer is locked.
+Local to the channel buffers.")
+
+(defvar riece-channel-buffer-window-point nil
+ "Last value of point in window which displayed the channel buffer.
Local to the channel buffers.")
;;; Modeline indicators:
(defvar riece-channel-indicator "None"
- "A modeline indicator of the current channel.")
+ "String displayed on the modeline to indicate the current channel.")
(defvar riece-long-channel-indicator "None"
- "A modeline indicator of the current channel.")
+ "String displayed on the modeline to indicate the current channel.
+Generally, this string will contain more information than
+riece-channel-indicator.")
(defvar riece-channel-list-indicator "No channel"
- "A modeline indicator of the current joined channels.")
-(defvar riece-user-indicator nil)
-
-(defvar riece-away-indicator "-")
-(defvar riece-operator-indicator "-")
-(defvar riece-freeze-indicator "-")
+ "String displayed on the modeline to show the joined channels.")
+(defvar riece-user-indicator nil
+ "String displayed on the modeline to show the current nickname.")
+
+(defvar riece-away-indicator "-"
+ "String displayed on the modeline to allow the user to tell if the
+user is away.")
+(defvar riece-operator-indicator "-"
+ "String displayed on the modeline to allow the user to tell if the
+user is an operator.")
+(defvar riece-channel-status-indicator "-"
+ "String displayed on the modeline to allow the user to tell if the
+user's status on the current channel.")
;;; Buffers:
(defvar riece-command-buffer nil
"Buffer for channel list.")
(defvar riece-user-list-buffer nil
"Buffer for user list.")
-
(defvar riece-channel-buffer nil
"Buffer for messages arrived in the current channel.")
+(defvar riece-temp-buffer nil
+ "Buffer for temporally use.")
(defvar riece-buffer-list nil)
(defvar riece-overriding-server-name nil)