Sync from upstream ERC
[bpt/emacs.git] / lisp / erc / erc.el
index 2c5786a..7b27f27 100644 (file)
@@ -3014,6 +3014,11 @@ LINE has the format \"USER ACTION\"."
    (t nil)))
 (put 'erc-cmd-ME 'do-not-parse-args t)
 
+(defun erc-cmd-ME\'S (line)
+  "Do a /ME command, but add the string \" 's\" to the beginning."
+  (erc-cmd-ME (concat " 's" line)))
+(put 'erc-cmd-ME\'S 'do-not-parse-args t)
+
 (defun erc-cmd-LASTLOG (line)
   "Show all lines in the current buffer matching the regexp LINE.
 
@@ -3669,7 +3674,7 @@ If `point' is at the beginning of a channel name, use that as default."
                   (set-buffer (process-buffer erc-server-process))
                   erc-channel-list)))
       (completing-read "Join channel: " table nil nil nil nil chnl))
-    (when erc-prompt-for-channel-key
+    (when (or current-prefix-arg erc-prompt-for-channel-key)
       (read-from-minibuffer "Channel key (RET for none): " nil))))
   (erc-cmd-JOIN channel (when (>= (length key) 1) key)))
 
@@ -5033,7 +5038,7 @@ Specifically, return the position of `erc-insert-marker'."
    erc-input-marker
    (erc-end-of-input-line)))
 
-(defvar erc-command-regexp "^/\\([A-Za-z]+\\)\\(\\s-+.*\\|\\s-*\\)$"
+(defvar erc-command-regexp "^/\\([A-Za-z']+\\)\\(\\s-+.*\\|\\s-*\\)$"
   "Regular expression used for matching commands in ERC.")
 
 (defun erc-send-input (input)