[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#29533: Fwd: [Feature Request] ERC: let erc-join-channel support to s
From: |
Stefan Kangas |
Subject: |
bug#29533: Fwd: [Feature Request] ERC: let erc-join-channel support to select channels from history or a defined list |
Date: |
Mon, 18 May 2020 17:15:33 -0700 |
Hi Amin,
stardiviner <numbchild@gmail.com> writes:
> At last, I attached my generated commit in attachment.
Could you please help review the below patch? I don't really use ERC.
Thanks in advance.
Best regards,
Stefan Kangas
> From 26f73fe065196ab8759f6c7f046587e47672ad47 Mon Sep 17 00:00:00 2001
> From: stardiviner <numbchild@gmail.com>
> Date: Mon, 18 May 2020 20:16:21 +0800
> Subject: [PATCH] Join channel smartly from alist of stored channels
>
> * lisp/erc/erc.el (erc-mode-map): Add an option to store your frequently
> joined channels. And replace original `erc-join-channel' with
> `erc-join-channel-select'.
> ---
> lisp/erc/erc.el | 41 ++++++++++++++++++++++++++++++++++++++++-
> 1 file changed, 40 insertions(+), 1 deletion(-)
>
> diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el
> index cfde84e19a..be59b4203f 100644
> --- a/lisp/erc/erc.el
> +++ b/lisp/erc/erc.el
> @@ -1161,7 +1161,7 @@ erc-mode-map
> (define-key map "\C-c\C-e" 'erc-toggle-ctcp-autoresponse)
> (define-key map "\C-c\C-f" 'erc-toggle-flood-control)
> (define-key map "\C-c\C-i" 'erc-invite-only-mode)
> - (define-key map "\C-c\C-j" 'erc-join-channel)
> + (define-key map "\C-c\C-j" 'erc-join-channel-select)
> (define-key map "\C-c\C-n" 'erc-channel-names)
> (define-key map "\C-c\C-o" 'erc-get-channel-mode-from-keypress)
> (define-key map "\C-c\C-p" 'erc-part-from-channel)
> @@ -3993,6 +3993,34 @@ erc-input-action
> (if (not (string-match "^\\s-*$" action))
> (erc-send-action (erc-default-target) action))))
>
> +(defcustom erc-join-channels-alist nil
> + "Alist of channels to select when you join channels.
> +
> +Every element in the alist has the form (SERVER . CHANNELS).
> +SERVER is a regexp matching the server, and channels is the
> +list of channels to join.
> +
> +If the channel(s) require channel keys for joining, the passwords
> +are found via auth-source. For instance, if you use ~/.authinfo
> +as your auth-source backend, then put something like the
> +following in that file:
> +
> +machine irc.example.net login \"#fsf\" password sEcReT
> +
> +Customize this variable to set the value for your first connect.
> +Once you are connected and join and part channels, this alist
> +keeps track of what channels you are on, and will join them
> +again when you get disconnected. When you restart Emacs, however,
> +those changes are lost, and the customization you saved the last
> +time is used again."
> + :group 'erc-join
> + :type '(repeat (cons :tag "Server"
> + (regexp :tag "Name")
> + (repeat :tag "Channels"
> + (string :tag "Name")))))
> +
> +(setq erc-join-channels-alist '(("*.freenode.net" "#emacs" "#org-mode")))
> +
> (defun erc-join-channel (channel &optional key)
> "Join CHANNEL.
>
> @@ -4008,6 +4036,17 @@ erc-join-channel
> (read-from-minibuffer "Channel key (RET for none): " nil))))
> (erc-cmd-JOIN channel (when (>= (length key) 1) key)))
>
> +(defun erc-join-channel-select ()
> + "Select a channel to join from alist of channels to."
> + (interactive)
> + (erc-join-channel
> + (completing-read
> + "Select a channel: "
> + (cdr (assoc
> + (completing-read "Select a server: "
> + (mapcar 'car erc-join-channels-alist))
> + erc-join-channels-alist)))))
> +
> (defun erc-part-from-channel (reason)
> "Part from the current channel and prompt for a REASON."
> (interactive
> --
> 2.26.2
- bug#29533: Fwd: [Feature Request] ERC: let erc-join-channel support to select channels from history or a defined list, (continued)
- bug#29533: Fwd: [Feature Request] ERC: let erc-join-channel support to select channels from history or a defined list, stardiviner, 2020/05/04
- bug#29533: Fwd: [Feature Request] ERC: let erc-join-channel support to select channels from history or a defined list, Stefan Kangas, 2020/05/04
- bug#29533: Fwd: [Feature Request] ERC: let erc-join-channel support to select channels from history or a defined list, stardiviner, 2020/05/12
- bug#29533: Fwd: [Feature Request] ERC: let erc-join-channel support to select channels from history or a defined list, Stefan Kangas, 2020/05/12
- bug#29533: Fwd: [Feature Request] ERC: let erc-join-channel support to select channels from history or a defined list, stardiviner, 2020/05/13
- bug#29533: Fwd: [Feature Request] ERC: let erc-join-channel support to select channels from history or a defined list, stardiviner, 2020/05/13
- bug#29533: Fwd: [Feature Request] ERC: let erc-join-channel support to select channels from history or a defined list, Stefan Kangas, 2020/05/13
- bug#29533: Fwd: [Feature Request] ERC: let erc-join-channel support to select channels from history or a defined list, stardiviner, 2020/05/13
- bug#29533: Fwd: [Feature Request] ERC: let erc-join-channel support to select channels from history or a defined list, Stefan Kangas, 2020/05/14
- bug#29533: Fwd: [Feature Request] ERC: let erc-join-channel support to select channels from history or a defined list, stardiviner, 2020/05/18
- bug#29533: Fwd: [Feature Request] ERC: let erc-join-channel support to select channels from history or a defined list,
Stefan Kangas <=
- bug#29533: Fwd: [Feature Request] ERC: let erc-join-channel support to select channels from history or a defined list, Noam Postavsky, 2020/05/13
- bug#29533: Fwd: [Feature Request] ERC: let erc-join-channel support to select channels from history or a defined list, stardiviner, 2020/05/13