diff options
| author | Stefan Kangas | 2023-01-11 06:30:12 +0100 |
|---|---|---|
| committer | Stefan Kangas | 2023-01-11 06:30:12 +0100 |
| commit | 033f2cc6140d03e78403f37689b9f54b64bded01 (patch) | |
| tree | 9e4c355a0f082cb048d45810dbcd8a1fb5f88408 | |
| parent | 60240f54e5fed16a0522fb766ffef073db596f1f (diff) | |
| parent | 1cbc22b9c7f836f5b3311213dca8afa853513442 (diff) | |
| download | emacs-033f2cc6140d03e78403f37689b9f54b64bded01.tar.gz emacs-033f2cc6140d03e78403f37689b9f54b64bded01.zip | |
Merge from origin/emacs-29
1cbc22b9c7f CC Mode: partially revert commit from 2022-10-04
136c0272215 Fix reftex-citation docstring (bug#60710)
64fe6bdb618 Improve 'describe-char-fold-equivalences' docstring
fda1ad4a9ec Remove obsolete server buffers on MOTD in erc-track
bb98666d03f ; Fix wrong type in erc-ignore hide-list options
c267cd01517 ; Kill some stray buffers left behind by ERC tests
f31e65694ca Fix completion-auto-help docstring (bug#60709)
| -rw-r--r-- | lisp/char-fold.el | 18 | ||||
| -rw-r--r-- | lisp/erc/erc-networks.el | 6 | ||||
| -rw-r--r-- | lisp/erc/erc-track.el | 12 | ||||
| -rw-r--r-- | lisp/erc/erc.el | 6 | ||||
| -rw-r--r-- | lisp/minibuffer.el | 2 | ||||
| -rw-r--r-- | lisp/progmodes/cc-fonts.el | 4 | ||||
| -rw-r--r-- | lisp/textmodes/reftex-cite.el | 2 | ||||
| -rw-r--r-- | test/lisp/erc/erc-scenarios-base-association.el | 49 | ||||
| -rw-r--r-- | test/lisp/erc/erc-services-tests.el | 9 | ||||
| -rw-r--r-- | test/lisp/erc/resources/erc-d/erc-d-t.el | 2 | ||||
| -rw-r--r-- | test/lisp/erc/resources/networks/merge-server/track.eld | 44 |
11 files changed, 141 insertions, 13 deletions
diff --git a/lisp/char-fold.el b/lisp/char-fold.el index eff2f5558b3..6da2dae8471 100644 --- a/lisp/char-fold.el +++ b/lisp/char-fold.el | |||
| @@ -436,7 +436,23 @@ specify the character). With no input, i.e. when CHAR is nil, | |||
| 436 | describe all available character equivalences of `char-fold-to-regexp'. | 436 | describe all available character equivalences of `char-fold-to-regexp'. |
| 437 | Optional argument LAX (interactively, the prefix argument), if | 437 | Optional argument LAX (interactively, the prefix argument), if |
| 438 | non-nil, means also include partially matching ligatures and | 438 | non-nil, means also include partially matching ligatures and |
| 439 | non-canonical equivalences." | 439 | non-canonical equivalences. |
| 440 | |||
| 441 | Each line of the display shows the equivalences in two different | ||
| 442 | ways separated by a colon: | ||
| 443 | |||
| 444 | - as the literal character or sequence | ||
| 445 | - using an ASCII-only escape syntax | ||
| 446 | |||
| 447 | For example, for the letter \\='r\\=', the first line is | ||
| 448 | |||
| 449 | r: ?\\N{LATIN SMALL LETTER R} | ||
| 450 | |||
| 451 | which is for the requested character itself, and a later line has | ||
| 452 | |||
| 453 | ṟ: ?\\N{LATIN SMALL LETTER R}?\\N{COMBINING MACRON BELOW} | ||
| 454 | |||
| 455 | which clearly shows what the constituent characters are." | ||
| 440 | (interactive (list (ignore-errors | 456 | (interactive (list (ignore-errors |
| 441 | (read-char-by-name | 457 | (read-char-by-name |
| 442 | (format-prompt "Unicode name, single char, or hex" | 458 | (format-prompt "Unicode name, single char, or hex" |
diff --git a/lisp/erc/erc-networks.el b/lisp/erc/erc-networks.el index 4044be08f92..95fd8990c99 100644 --- a/lisp/erc/erc-networks.el +++ b/lisp/erc/erc-networks.el | |||
| @@ -1366,6 +1366,11 @@ ANNOUNCED is the server's reported host name." | |||
| 1366 | erc-server-connected t | 1366 | erc-server-connected t |
| 1367 | erc-networks--id nid)))))) | 1367 | erc-networks--id nid)))))) |
| 1368 | 1368 | ||
| 1369 | (defvar erc-networks--copy-server-buffer-functions nil | ||
| 1370 | "Abnormal hook run in new server buffers when deduping. | ||
| 1371 | Passed the existing buffer to be killed, whose contents have | ||
| 1372 | already been copied over to the current, replacement buffer.") | ||
| 1373 | |||
| 1369 | (defun erc-networks--copy-over-server-buffer-contents (existing name) | 1374 | (defun erc-networks--copy-over-server-buffer-contents (existing name) |
| 1370 | "Kill off existing server buffer after copying its contents. | 1375 | "Kill off existing server buffer after copying its contents. |
| 1371 | Must be called from the replacement buffer." | 1376 | Must be called from the replacement buffer." |
| @@ -1386,6 +1391,7 @@ Must be called from the replacement buffer." | |||
| 1386 | erc-kill-server-hook | 1391 | erc-kill-server-hook |
| 1387 | erc-kill-buffer-hook) | 1392 | erc-kill-buffer-hook) |
| 1388 | (erc-networks--insert-transplanted-content text) | 1393 | (erc-networks--insert-transplanted-content text) |
| 1394 | (run-hook-with-args 'erc-networks--copy-server-buffer-functions existing) | ||
| 1389 | (kill-buffer name))) | 1395 | (kill-buffer name))) |
| 1390 | 1396 | ||
| 1391 | ;; This stands alone for testing purposes | 1397 | ;; This stands alone for testing purposes |
diff --git a/lisp/erc/erc-track.el b/lisp/erc/erc-track.el index 61c0c66abfb..7fd7b53602e 100644 --- a/lisp/erc/erc-track.el +++ b/lisp/erc/erc-track.el | |||
| @@ -521,7 +521,9 @@ keybindings will not do anything useful." | |||
| 521 | (add-hook 'erc-disconnected-hook #'erc-modified-channels-update)) | 521 | (add-hook 'erc-disconnected-hook #'erc-modified-channels-update)) |
| 522 | ;; enable the tracking keybindings | 522 | ;; enable the tracking keybindings |
| 523 | (add-hook 'erc-connect-pre-hook #'erc-track-minor-mode-maybe) | 523 | (add-hook 'erc-connect-pre-hook #'erc-track-minor-mode-maybe) |
| 524 | (erc-track-minor-mode-maybe))) | 524 | (erc-track-minor-mode-maybe)) |
| 525 | (add-hook 'erc-networks--copy-server-buffer-functions | ||
| 526 | #'erc-track--replace-killed-buffer)) | ||
| 525 | ;; Disable: | 527 | ;; Disable: |
| 526 | ((when (boundp 'erc-track-when-inactive) | 528 | ((when (boundp 'erc-track-when-inactive) |
| 527 | (erc-track-remove-from-mode-line) | 529 | (erc-track-remove-from-mode-line) |
| @@ -539,7 +541,9 @@ keybindings will not do anything useful." | |||
| 539 | ;; disable the tracking keybindings | 541 | ;; disable the tracking keybindings |
| 540 | (remove-hook 'erc-connect-pre-hook #'erc-track-minor-mode-maybe) | 542 | (remove-hook 'erc-connect-pre-hook #'erc-track-minor-mode-maybe) |
| 541 | (when erc-track-minor-mode | 543 | (when erc-track-minor-mode |
| 542 | (erc-track-minor-mode -1))))) | 544 | (erc-track-minor-mode -1))) |
| 545 | (remove-hook 'erc-networks--copy-server-buffer-functions | ||
| 546 | #'erc-track--replace-killed-buffer))) | ||
| 543 | 547 | ||
| 544 | (defcustom erc-track-when-inactive nil | 548 | (defcustom erc-track-when-inactive nil |
| 545 | "Enable channel tracking even for visible buffers, if you are inactive." | 549 | "Enable channel tracking even for visible buffers, if you are inactive." |
| @@ -942,6 +946,10 @@ reverse it." | |||
| 942 | (interactive "p") | 946 | (interactive "p") |
| 943 | (erc-track--switch-buffer 'switch-to-buffer-other-window arg)) | 947 | (erc-track--switch-buffer 'switch-to-buffer-other-window arg)) |
| 944 | 948 | ||
| 949 | (defun erc-track--replace-killed-buffer (existing) | ||
| 950 | (when-let ((found (assq existing erc-modified-channels-alist))) | ||
| 951 | (setcar found (current-buffer)))) | ||
| 952 | |||
| 945 | (provide 'erc-track) | 953 | (provide 'erc-track) |
| 946 | 954 | ||
| 947 | ;;; erc-track.el ends here | 955 | ;;; erc-track.el ends here |
diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el index 6315d5aa482..ba7db15cf8c 100644 --- a/lisp/erc/erc.el +++ b/lisp/erc/erc.el | |||
| @@ -323,7 +323,8 @@ A typical value would be \((\"Libera.Chat\" \"MODE\") | |||
| 323 | \(\"OFTC\" \"JOIN\" \"QUIT\"))." | 323 | \(\"OFTC\" \"JOIN\" \"QUIT\"))." |
| 324 | :version "25.1" | 324 | :version "25.1" |
| 325 | :group 'erc-ignore | 325 | :group 'erc-ignore |
| 326 | :type 'erc-message-type) | 326 | :type '(alist :key-type string :value-type erc-message-type |
| 327 | :options ("Libera.Chat"))) | ||
| 327 | 328 | ||
| 328 | (defcustom erc-channel-hide-list nil | 329 | (defcustom erc-channel-hide-list nil |
| 329 | "A list of IRC channels to hide message types from. | 330 | "A list of IRC channels to hide message types from. |
| @@ -331,7 +332,8 @@ A typical value would be \((\"#emacs\" \"QUIT\" \"JOIN\") | |||
| 331 | \(\"#erc\" \"NICK\")." | 332 | \(\"#erc\" \"NICK\")." |
| 332 | :version "25.1" | 333 | :version "25.1" |
| 333 | :group 'erc-ignore | 334 | :group 'erc-ignore |
| 334 | :type 'erc-message-type) | 335 | :type '(alist :key-type string :value-type erc-message-type |
| 336 | :options ("#emacs"))) | ||
| 335 | 337 | ||
| 336 | (defcustom erc-disconnected-hook nil | 338 | (defcustom erc-disconnected-hook nil |
| 337 | "Run this hook with arguments (NICK IP REASON) when disconnected. | 339 | "Run this hook with arguments (NICK IP REASON) when disconnected. |
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index f47299bd0da..21d4607e7cf 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el | |||
| @@ -986,7 +986,7 @@ already visible. | |||
| 986 | If the value is `visible', the *Completions* buffer is displayed | 986 | If the value is `visible', the *Completions* buffer is displayed |
| 987 | whenever completion is requested but cannot be done for the first time, | 987 | whenever completion is requested but cannot be done for the first time, |
| 988 | but remains visible thereafter, and the list of completions in it is | 988 | but remains visible thereafter, and the list of completions in it is |
| 989 | updated for subsequent attempts to complete.." | 989 | updated for subsequent attempts to complete." |
| 990 | :type '(choice (const :tag "Don't show" nil) | 990 | :type '(choice (const :tag "Don't show" nil) |
| 991 | (const :tag "Show only when cannot complete" t) | 991 | (const :tag "Show only when cannot complete" t) |
| 992 | (const :tag "Show after second failed completion attempt" lazy) | 992 | (const :tag "Show after second failed completion attempt" lazy) |
diff --git a/lisp/progmodes/cc-fonts.el b/lisp/progmodes/cc-fonts.el index d84c4f8ad8a..4dcc3e0ade9 100644 --- a/lisp/progmodes/cc-fonts.el +++ b/lisp/progmodes/cc-fonts.el | |||
| @@ -2530,8 +2530,8 @@ higher." | |||
| 2530 | (get-text-property (match-beginning 0) 'fontified) | 2530 | (get-text-property (match-beginning 0) 'fontified) |
| 2531 | (not (memq (c-get-char-property (match-beginning 0) 'face) | 2531 | (not (memq (c-get-char-property (match-beginning 0) 'face) |
| 2532 | c-literal-faces))) | 2532 | c-literal-faces))) |
| 2533 | (c-put-font-lock-face (match-beginning 0) (match-end 0) | 2533 | (put-text-property (match-beginning 0) (match-end 0) |
| 2534 | font-lock-type-face)) | 2534 | 'fontified nil)) |
| 2535 | (dolist (win-boundary window-boundaries) | 2535 | (dolist (win-boundary window-boundaries) |
| 2536 | (when (and (< (match-beginning 0) (cdr win-boundary)) | 2536 | (when (and (< (match-beginning 0) (cdr win-boundary)) |
| 2537 | (> (match-end 0) (car win-boundary)) | 2537 | (> (match-end 0) (car win-boundary)) |
diff --git a/lisp/textmodes/reftex-cite.el b/lisp/textmodes/reftex-cite.el index 77373707d65..6beae816257 100644 --- a/lisp/textmodes/reftex-cite.el +++ b/lisp/textmodes/reftex-cite.el | |||
| @@ -636,7 +636,7 @@ command, it will add another key, ignoring the value of | |||
| 636 | 636 | ||
| 637 | The regular expression uses an expanded syntax: && is interpreted as `and'. | 637 | The regular expression uses an expanded syntax: && is interpreted as `and'. |
| 638 | Thus, `aaaa&&bbb' matches entries which contain both `aaaa' and `bbb'. | 638 | Thus, `aaaa&&bbb' matches entries which contain both `aaaa' and `bbb'. |
| 639 | While entering the regexp, completion on knows citation keys is possible. | 639 | While entering the regexp, completion on known citation keys is possible. |
| 640 | `=' is a good regular expression to match all entries in all files." | 640 | `=' is a good regular expression to match all entries in all files." |
| 641 | (interactive) | 641 | (interactive) |
| 642 | 642 | ||
diff --git a/test/lisp/erc/erc-scenarios-base-association.el b/test/lisp/erc/erc-scenarios-base-association.el index 1e280d0fdd7..a40a4cb7550 100644 --- a/test/lisp/erc/erc-scenarios-base-association.el +++ b/test/lisp/erc/erc-scenarios-base-association.el | |||
| @@ -26,7 +26,9 @@ | |||
| 26 | 26 | ||
| 27 | (declare-function erc-network-name "erc-networks") | 27 | (declare-function erc-network-name "erc-networks") |
| 28 | (declare-function erc-network "erc-networks") | 28 | (declare-function erc-network "erc-networks") |
| 29 | (declare-function erc-track-get-active-buffer "erc-track" (arg)) | ||
| 29 | (defvar erc-autojoin-channels-alist) | 30 | (defvar erc-autojoin-channels-alist) |
| 31 | (defvar erc-track-mode) | ||
| 30 | (defvar erc-network) | 32 | (defvar erc-network) |
| 31 | 33 | ||
| 32 | ;; Two networks, same channel name, no confusion (no bouncer). Some | 34 | ;; Two networks, same channel name, no confusion (no bouncer). Some |
| @@ -190,4 +192,51 @@ | |||
| 190 | (with-current-buffer "#chan@barnet" | 192 | (with-current-buffer "#chan@barnet" |
| 191 | (erc-d-t-search-for 10 "I'll bid adieu"))))) | 193 | (erc-d-t-search-for 10 "I'll bid adieu"))))) |
| 192 | 194 | ||
| 195 | ;; Some modules may need to perform housekeeping when a newly | ||
| 196 | ;; connected server buffer is deemed a duplicate after its persistent | ||
| 197 | ;; network context is discovered on MOTD end. One such module is | ||
| 198 | ;; `track', which needs to rid its list of modified channels of the | ||
| 199 | ;; buffer being killed. Without this, a user may encounter an | ||
| 200 | ;; "Attempt to display deleted buffer" error when they try switching | ||
| 201 | ;; to it. | ||
| 202 | |||
| 203 | (ert-deftest erc-scenarios-networks-merge-server-track () | ||
| 204 | :tags '(:expensive-test) | ||
| 205 | (erc-scenarios-common-with-cleanup | ||
| 206 | ((erc-scenarios-common-dialog "networks/merge-server") | ||
| 207 | (dumb-server (erc-d-run "localhost" t 'track 'track)) | ||
| 208 | (port (process-contact dumb-server :service)) | ||
| 209 | (erc-server-flood-penalty 0.1) | ||
| 210 | (expect (erc-d-t-make-expecter))) | ||
| 211 | |||
| 212 | (ert-info ("Connect") | ||
| 213 | (with-current-buffer (erc :server "127.0.0.1" | ||
| 214 | :port port | ||
| 215 | :nick "tester") | ||
| 216 | (should (string= (buffer-name) (format "127.0.0.1:%d" port))) | ||
| 217 | (should erc-track-mode) | ||
| 218 | (funcall expect 5 "changed mode for tester") | ||
| 219 | (erc-cmd-JOIN "#chan"))) | ||
| 220 | |||
| 221 | (ert-info ("Join channel and quit") | ||
| 222 | (with-current-buffer (erc-d-t-wait-for 10 (get-buffer "#chan")) | ||
| 223 | (funcall expect 5 "The hour that fools should ask") | ||
| 224 | (erc-cmd-QUIT "")) | ||
| 225 | (with-current-buffer "FooNet" | ||
| 226 | (funcall expect 5 "finished"))) | ||
| 227 | |||
| 228 | (ert-info ("Reconnect") | ||
| 229 | (with-current-buffer (erc :server "127.0.0.1" | ||
| 230 | :port port | ||
| 231 | :nick "tester") | ||
| 232 | (should (string= (buffer-name) (format "127.0.0.1:%d" port))) | ||
| 233 | (funcall expect 5 "changed mode for tester"))) | ||
| 234 | |||
| 235 | (with-current-buffer "#chan" | ||
| 236 | (funcall expect 5 "The hour that fools should ask") | ||
| 237 | ;; Simulate the old `erc-track-switch-buffer' | ||
| 238 | (switch-to-buffer (erc-track-get-active-buffer 1)) | ||
| 239 | (erc-d-t-wait-for 10 (eq (get-buffer "FooNet") (current-buffer))) | ||
| 240 | (erc-cmd-QUIT "")))) | ||
| 241 | |||
| 193 | ;;; erc-scenarios-base-association.el ends here | 242 | ;;; erc-scenarios-base-association.el ends here |
diff --git a/test/lisp/erc/erc-services-tests.el b/test/lisp/erc/erc-services-tests.el index b1d36d868eb..9181a47ee3b 100644 --- a/test/lisp/erc/erc-services-tests.el +++ b/test/lisp/erc/erc-services-tests.el | |||
| @@ -248,7 +248,8 @@ | |||
| 248 | (let ((auth-sources (list plstore-file)) | 248 | (let ((auth-sources (list plstore-file)) |
| 249 | (auth-source-do-cache nil)) | 249 | (auth-source-do-cache nil)) |
| 250 | (erc-services-tests--auth-source-standard | 250 | (erc-services-tests--auth-source-standard |
| 251 | #'erc-services-test--call-with-plstore)))) | 251 | #'erc-services-test--call-with-plstore)) |
| 252 | (kill-buffer (get-file-buffer plstore-file)))) | ||
| 252 | 253 | ||
| 253 | (ert-deftest erc--auth-source-search--plstore-announced () | 254 | (ert-deftest erc--auth-source-search--plstore-announced () |
| 254 | (ert-with-temp-file plstore-file | 255 | (ert-with-temp-file plstore-file |
| @@ -264,7 +265,8 @@ | |||
| 264 | (let ((auth-sources (list plstore-file)) | 265 | (let ((auth-sources (list plstore-file)) |
| 265 | (auth-source-do-cache nil)) | 266 | (auth-source-do-cache nil)) |
| 266 | (erc-services-tests--auth-source-announced | 267 | (erc-services-tests--auth-source-announced |
| 267 | #'erc-services-test--call-with-plstore)))) | 268 | #'erc-services-test--call-with-plstore)) |
| 269 | (kill-buffer (get-file-buffer plstore-file)))) | ||
| 268 | 270 | ||
| 269 | (ert-deftest erc--auth-source-search--plstore-overrides () | 271 | (ert-deftest erc--auth-source-search--plstore-overrides () |
| 270 | (ert-with-temp-file plstore-file | 272 | (ert-with-temp-file plstore-file |
| @@ -296,7 +298,8 @@ | |||
| 296 | (let ((auth-sources (list plstore-file)) | 298 | (let ((auth-sources (list plstore-file)) |
| 297 | (auth-source-do-cache nil)) | 299 | (auth-source-do-cache nil)) |
| 298 | (erc-services-tests--auth-source-overrides | 300 | (erc-services-tests--auth-source-overrides |
| 299 | #'erc-services-test--call-with-plstore)))) | 301 | #'erc-services-test--call-with-plstore)) |
| 302 | (kill-buffer (get-file-buffer plstore-file)))) | ||
| 300 | 303 | ||
| 301 | ;; auth-source JSON backend | 304 | ;; auth-source JSON backend |
| 302 | 305 | ||
diff --git a/test/lisp/erc/resources/erc-d/erc-d-t.el b/test/lisp/erc/resources/erc-d/erc-d-t.el index 282c193b707..7b2adf4f07b 100644 --- a/test/lisp/erc/resources/erc-d/erc-d-t.el +++ b/test/lisp/erc/resources/erc-d/erc-d-t.el | |||
| @@ -32,7 +32,7 @@ | |||
| 32 | (dolist (buf (buffer-list)) | 32 | (dolist (buf (buffer-list)) |
| 33 | (with-current-buffer buf | 33 | (with-current-buffer buf |
| 34 | (when (or erc-d-u--process-buffer | 34 | (when (or erc-d-u--process-buffer |
| 35 | (derived-mode-p 'erc-mode)) | 35 | (derived-mode-p 'erc-mode 'erc-dcc-chat-mode)) |
| 36 | (push buf buflist)))) | 36 | (push buf buflist)))) |
| 37 | (dolist (buf buflist) | 37 | (dolist (buf buflist) |
| 38 | (when (and (boundp 'erc-server-flood-timer) | 38 | (when (and (boundp 'erc-server-flood-timer) |
diff --git a/test/lisp/erc/resources/networks/merge-server/track.eld b/test/lisp/erc/resources/networks/merge-server/track.eld new file mode 100644 index 00000000000..4a97f92f722 --- /dev/null +++ b/test/lisp/erc/resources/networks/merge-server/track.eld | |||
| @@ -0,0 +1,44 @@ | |||
| 1 | ;; -*- mode: lisp-data; -*- | ||
| 2 | ((nick 10 "NICK tester")) | ||
| 3 | ((user 10 "USER user 0 * :unknown") | ||
| 4 | (0.00 ":irc.example.net NOTICE * :*** Looking up your hostname...") | ||
| 5 | (0.01 ":irc.example.net NOTICE tester :*** Could not resolve your hostname: Domain not found; using your IP address (10.0.2.100) instead.") | ||
| 6 | (0.10 ":irc.example.net 001 tester :Welcome to the FooNet IRC Network tester!user@10.0.2.100") | ||
| 7 | (0.02 ":irc.example.net 002 tester :Your host is irc.example.net, running version InspIRCd-3") | ||
| 8 | (0.02 ":irc.example.net 003 tester :This server was created 05:58:57 Jan 04 2023") | ||
| 9 | (0.01 ":irc.example.net 004 tester irc.example.net InspIRCd-3 BIRcgikorsw ACHIKMORTXabcefghijklmnopqrstvz :HIXabefghjkloqv") | ||
| 10 | (0.00 ":irc.example.net 005 tester ACCEPT=30 AWAYLEN=200 BOT=B CALLERID=g CASEMAPPING=ascii CHANLIMIT=#:20 CHANMODES=IXbeg,k,Hfjl,ACKMORTcimnprstz CHANNELLEN=64 CHANTYPES=# ELIST=CMNTU ESILENCE=CcdiNnPpTtx EXCEPTS=e :are supported by this server") | ||
| 11 | (0.02 ":irc.example.net 005 tester EXTBAN=,ACORTUacjrwz HOSTLEN=64 INVEX=I KEYLEN=32 KICKLEN=255 LINELEN=512 MAXLIST=I:100,X:100,b:100,e:100,g:100 MAXTARGETS=20 MODES=20 MONITOR=30 NAMELEN=128 NAMESX NETWORK=FooNet :are supported by this server") | ||
| 12 | (0.01 ":irc.example.net 005 tester NICKLEN=30 PREFIX=(qaohv)~&@%+ SAFELIST SILENCE=32 STATUSMSG=~&@%+ TOPICLEN=307 UHNAMES USERIP USERLEN=10 USERMODES=,,s,BIRcgikorw WHOX :are supported by this server") | ||
| 13 | (0.01 ":irc.example.net 251 tester :There are 2 users and 0 invisible on 2 servers") | ||
| 14 | (0.01 ":irc.example.net 253 tester 1 :unknown connections") | ||
| 15 | (0.01 ":irc.example.net 254 tester 1 :channels formed") | ||
| 16 | (0.00 ":irc.example.net 255 tester :I have 2 clients and 1 servers") | ||
| 17 | (0.00 ":irc.example.net 265 tester :Current local users: 2 Max: 3") | ||
| 18 | (0.00 ":irc.example.net 266 tester :Current global users: 2 Max: 3") | ||
| 19 | (0.00 ":irc.example.net 375 tester :irc.example.net message of the day") | ||
| 20 | (0.00 ":irc.example.net 372 tester : Have fun with the image!") | ||
| 21 | (0.00 ":irc.example.net 376 tester :End of message of the day.")) | ||
| 22 | |||
| 23 | ((mode 10 "MODE tester +i") | ||
| 24 | (0.00 ":irc.example.net 501 tester x :is not a recognised user mode.") | ||
| 25 | (0.00 ":NickServ!NickServ@services.int NOTICE tester :Welcome to FooNet, tester! Here on FooNet, we provide services to enable the registration of nicknames and channels! For details, type \2/msg NickServ help\2 and \2/msg ChanServ help\2.") | ||
| 26 | (0.02 ":tester!user@10.0.2.100 MODE tester :+i")) | ||
| 27 | |||
| 28 | ((join 10 "JOIN #chan") | ||
| 29 | (0.01 ":tester!user@10.0.2.100 JOIN :#chan")) | ||
| 30 | |||
| 31 | ((mode 10 "MODE #chan") | ||
| 32 | (0.01 ":irc.example.net 353 tester = #chan :@alice bob tester") | ||
| 33 | (0.01 ":irc.example.net 366 tester #chan :End of /NAMES list.") | ||
| 34 | (0.00 ":alice!alice@0::1 PRIVMSG #chan :tester, welcome!") | ||
| 35 | (0.02 ":bob!bob@0::1 PRIVMSG #chan :tester, welcome!") | ||
| 36 | (0.02 ":irc.example.net 324 tester #chan :+nt") | ||
| 37 | (0.01 ":irc.example.net 329 tester #chan :1672811954") | ||
| 38 | (0.07 ":alice!alice@0::1 PRIVMSG #chan :bob: This afternoon, sir ? well, she shall be there.") | ||
| 39 | (0.05 ":bob!bob@0::1 PRIVMSG #chan :alice: The hour that fools should ask.")) | ||
| 40 | |||
| 41 | ((quit 10 "QUIT :\2ERC\2") | ||
| 42 | (0.04 "ERROR :Closing link: (user@10.0.2.100) [Quit: \2ERC\2]")) | ||
| 43 | |||
| 44 | ((drop 1 DROP)) | ||