diff --git a/etc/ERC-NEWS b/etc/ERC-NEWS index 5e5779cfcd5..c7d157eacfb 100644 --- a/etc/ERC-NEWS +++ b/etc/ERC-NEWS @@ -216,12 +216,12 @@ changes are encouraged to voice their concerns on the bug list. *** Miscellaneous changes Two helper macros from GNU ELPA's Compat library are now available to third-party modules as 'erc-compat-call' and 'erc-compat-function'. -In the area of buttons, 'Info-goto-node' has been supplanted by plain -old 'info' in 'erc-button-alist', and the bracketed "" -pattern entry has been removed because it was more or less redundant. -And the "TAB" key is now bound to a new command, 'erc-tab', that only -calls 'completion-at-point' when point is in the input area and -module-specific commands, like 'erc-button-next', otherwise. +In 'erc-button-alist', 'Info-goto-node' has been supplanted by plain +old 'info', and the "" entry has been removed because it was +more or less redundant. In all ERC buffers, the "" key is now +bound to a new command, 'erc-tab', that calls 'completion-at-point' +inside the input area and otherwise dispatches module-specific +commands, like 'erc-button-next'. * Changes in ERC 5.5 diff --git a/lisp/erc/erc-button.el b/lisp/erc/erc-button.el index 4307dc3b860..33b93ff6744 100644 --- a/lisp/erc/erc-button.el +++ b/lisp/erc/erc-button.el @@ -128,6 +128,7 @@ longer than `erc-fill-column'." ;; things hard to maintain. '((nicknames 0 erc-button-buttonize-nicks erc-nick-popup 0) (erc-button-url-regexp 0 t browse-url-button-open-url 0) + ;; (" ]+\\) *>" 0 t browse-url-button-open-url 1) ;;; ("(\\(\\([^~\n \t@][^\n \t@]*\\)@\\([a-zA-Z0-9.:-]+\\)\\)" 1 t finger 2 3) ;; emacs internal ("[`‘]\\([a-zA-Z][-a-zA-Z_0-9!*<=>+]+\\)['’]" @@ -629,15 +630,13 @@ greater than `point-min' with a text property of `erc-callback'.") "Go to the ARGth next button." (declare (advertised-calling-convention (arg) "30.1")) (interactive "p") - (setq arg (pcase arg ((pred listp) (prefix-numeric-value arg)) (_ arg))) - (erc--button-next arg)) + (erc--button-next (or arg 1))) (defun erc-button-previous (&optional arg) "Go to ARGth previous button." (declare (advertised-calling-convention (arg) "30.1")) (interactive "p") - (setq arg (pcase arg ((pred listp) (prefix-numeric-value arg)) (_ arg))) - (erc--button-next (- arg))) + (erc--button-next (- (or arg 1)))) (defun erc-button-previous-of-nick (arg) "Go to ARGth previous button for nick at point." diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el index aad6f7d9d54..a84e38e70e5 100644 --- a/lisp/erc/erc.el +++ b/lisp/erc/erc.el @@ -4773,11 +4773,11 @@ This places `point' just after the prompt, or at the beginning of the line." "Functions to try when user hits \\`TAB' outside of input area. Called with a numeric prefix arg.") -(defun erc-tab (&optional arg) +(defun erc-tab (arg) "Call `completion-at-point' when typing in the input area. -Otherwise call members of `erc--tab-functions' with raw prefix -ARG until one of them returns non-nil." - (interactive "P") +Otherwise call members of `erc--tab-functions' with a numeric +prefix ARG until one of them returns non-nil." + (interactive "p") (if (>= (point) erc-input-marker) (completion-at-point) (run-hook-with-args-until-success 'erc--tab-functions arg)))