1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-15 10:30:25 -08:00
Commit graph

355 commits

Author SHA1 Message Date
Philip Kaludercic
1c3bad8c2e
Display server buffer after connecting
* rcirc.el (rcirc-display-server-buffer): Add new option
(rcirc): Respect rcirc-display-server-buffer
2021-09-14 19:07:18 +02:00
Philip Kaludercic
8eb9eb0c41
Allow for multiple attempts when reconnecting
* doc/misc/rcirc.texi (rcirc commands): Mention rcirc-reconnect-attempts
* etc/NEWS: Document change
(rcirc-connect): Ensure no other process exists
(rcirc-reconnect-attempts): Add option
(rcirc-failed-attempts): Add local variable
(rcirc-reconnection-timer): Add local variable
(rcirc-reconnect): Add function
(rcirc-sentinel): Manage multiple reconnection attempts
(rcirc-process-server-response): Change user for error messages
(rcirc-mode): Don't set rcirc-last-connect-time
(reconnect): Extract functionality to rcirc-reconnect
2021-09-14 19:05:12 +02:00
Philip Kaludercic
767fa9761f
* rcirc.el (rcirc-server-alist): Add #emacs to default server list
Author:
2021-09-14 18:14:57 +02:00
Philip Kaludercic
7a89e0f822
Rename rcirc-omit-after-reconnect to rcirc-omit-after-connect
* rcirc.el (rcirc-omit-after-reconnect): Remove variable
(rcirc-omit-responses-after-join): Add variable
(rcirc-reconncting): Remove variable
(rcirc-joined): Add variable
(rcirc-get-buffer-create): Set rcirc-joined
(rcirc-print): Use rcirc-joined
(reconnect): Remove code relating to rcirc-reconncting
2021-09-11 15:53:05 +02:00
Philip Kaludercic
6d31d5b4b4
Merge branch 'master' into feature/rcirc-update 2021-09-10 20:33:15 +02:00
Philip Kaludercic
a66fd7bb37
Fix double reconnection bug
* rcirc.el (rcirc-sentinel): Don't reconnect if reconnecting
(reconnect): Use delete-process instead of kill-process
2021-09-10 18:57:11 +02:00
Philip Kaludercic
2ef6691602
Add rcirc-track-ignore-server-buffer-flag option
* rcirc.el (rcirc-track-ignore-server-buffer-flag): Add option
(rcirc-record-activity): Use rcirc-track-ignore-server-buffer-flag
2021-09-07 21:53:22 +02:00
Philip Kaludercic
ec0e46d66b
Use fresh symbol for argument list
* rcirc.el (rcirc-define-command): Use make-symbol instead of gensym
2021-09-07 11:03:36 +02:00
Philip Kaludercic
4a0c0e5606
Allow /reconnect while connecting
* rcirc.el (reconnect): Kill previous process and start a new one
2021-09-07 10:33:51 +02:00
Philip Kaludercic
8275f0b117
Mention list of capabilities that should be implemented
* rcirc.el (rcirc-implemented-capabilities): Add comment
2021-09-06 23:26:05 +02:00
Philip Kaludercic
354929a85a
Implement standard-replies capability
* rcirc.el (rcirc-implemented-capabilities): Add standard-replies to list
(rcirc-response-formats): Add response formats for WARN, FAIL and NOTE
(rcirc-handler-FAIL): Add handler
(rcirc-handler-WARN): Add handler
(rcirc-handler-NOTE): Add handler
2021-09-06 23:19:52 +02:00
Philip Kaludercic
659a77a0eb
Connect to server asynchronously
* rcirc.el (rcirc-connect): Add :nowait option to open-network-stream
(rcirc-sentinel): Handle "open\n" events
2021-09-06 23:19:46 +02:00
Philip Kaludercic
70d459914f
Implement multi-prefix capability
* rcirc.el (rcirc-implemented-capabilities): Add capability
(rcirc-user-nick): Handle multiple prefixes
2021-09-05 20:46:14 +02:00
Philip Kaludercic
e37f3ce3b4
Fix rcirc-track-abbrevate-flag documentation
* rcirc.el (rcirc-track-abbrevate-flag): Rephrase docstring
2021-09-05 20:34:18 +02:00
Philip Kaludercic
0f1db3dc2b
Store symbols in rcirc-acked-capabilities
* rcirc.el (rcirc-handler-CAP): Use intern and downcase
2021-09-05 20:30:43 +02:00
Philip Kaludercic
008a033bbb
Print value on malformed input
* rcirc.el (rcirc-define-command): Unquote argument
2021-09-05 19:13:48 +02:00
Philip Kaludercic
608b2ec9be
Replace with-current-buffer with buffer-local-value where applicable
* rcirc.el (rcirc-buffer-process): Use buffer-local-value
(rcirc-last-quit-line): Use buffer-local-value
(rcirc-bury-buffers): Use buffer-local-value
(rcirc-record-activity): Use buffer-local-value
2021-09-05 01:39:52 +02:00
Stefan Kangas
0034067f47 Avoid cl-lib alias for cadadr and friends
* lisp/edmacro.el (edmacro-fix-menu-commands):
* lisp/frameset.el (frameset-move-onscreen):
* lisp/htmlfontify.el (hfy-face-at, hfy-merge-adjacent-spans)
(hfy-mark-tag-names):
* lisp/mail/footnote.el (footnote--make-hole)
(footnote-back-to-message):
* lisp/net/eudc.el (eudc-get-email, eudc-get-phone):
* lisp/net/rcirc.el (rcirc-make-trees, rcirc-handler-333)
(rcirc-authenticate):
* lisp/play/5x5.el (5x5-draw-grid, 5x5-solver):
* lisp/play/decipher.el (decipher-insert-frequency-counts):
* lisp/ses.el (ses-relocate-range):
* test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-step-into-macro-error)
(edebug-tests-error-stepping-into-subr): Avoid using cl-lib aliases
for cadadr and friends that now reside in subr.el.
2021-09-03 10:18:54 +02:00
Mattias Engdegård
051434fdef Use string-replace instead of replace-regexp-in-string
`string-replace` is easier to understand, less error-prone, much
faster, and results in shorter Lisp and byte code.  Use it where
applicable and obviously safe (erring on the conservative side).

* admin/authors.el (authors-scan-change-log):
* lisp/autoinsert.el (auto-insert-alist):
* lisp/calc/calc-prog.el (calc-edit-macro-combine-alg-ent)
(calc-edit-macro-combine-ext-command)
(calc-edit-macro-combine-var-name):
* lisp/calc/calc-units.el (math-make-unit-string):
* lisp/calendar/cal-html.el (cal-html-comment):
* lisp/calendar/cal-tex.el (cal-tex-comment):
* lisp/calendar/icalendar.el (icalendar--convert-string-for-export)
(icalendar--convert-string-for-import):
* lisp/calendar/iso8601.el (iso8601--concat-regexps)
(iso8601--full-time-match, iso8601--combined-match):
* lisp/calendar/time-date.el (format-seconds):
* lisp/calendar/todo-mode.el (todo-filter-items-filename):
* lisp/cedet/cedet-files.el (cedet-directory-name-to-file-name)
(cedet-file-name-to-directory-name):
* lisp/comint.el (comint-watch-for-password-prompt):
* lisp/dired-aux.el (dired-do-chmod):
* lisp/dired-x.el (dired-man):
* lisp/dired.el (dired-insert-directory, dired-goto-file-1):
* lisp/emacs-lisp/comp.el (comp-c-func-name):
* lisp/emacs-lisp/re-builder.el (reb-copy):
* lisp/erc/erc-dcc.el (erc-dcc-unquote-filename):
* lisp/erc/erc.el (erc-quit-reason-zippy, erc-part-reason-zippy)
(erc-update-mode-line-buffer, erc-message-english-PART):
* lisp/files.el (make-backup-file-name-1, files--transform-file-name)
(read-file-modes):
* lisp/fringe.el (fringe-mode):
* lisp/gnus/gnus-art.el (gnus-button-handle-info-url):
* lisp/gnus/gnus-group.el (gnus-group-completing-read):
* lisp/gnus/gnus-icalendar.el (gnus-icalendar-event-from-ical):
* lisp/gnus/gnus-mlspl.el (gnus-group-split-fancy):
* lisp/gnus/gnus-search.el (gnus-search-query-parse-date)
(gnus-search-transform-expression, gnus-search-run-search):
* lisp/gnus/gnus-start.el (gnus-dribble-enter):
* lisp/gnus/gnus-sum.el (gnus-summary-refer-article):
* lisp/gnus/gnus-util.el (gnus-mode-string-quote):
* lisp/gnus/message.el (message-put-addresses-in-ecomplete)
(message-parse-mailto-url, message-mailto-1):
* lisp/gnus/mml-sec.el (mml-secure-epg-sign):
* lisp/gnus/mml-smime.el (mml-smime-epg-verify):
* lisp/gnus/mml2015.el (mml2015-epg-verify):
* lisp/gnus/nnmaildir.el (nnmaildir--system-name)
(nnmaildir-request-list, nnmaildir-retrieve-groups)
(nnmaildir-request-group, nnmaildir-retrieve-headers):
* lisp/gnus/nnrss.el (nnrss-node-text):
* lisp/gnus/spam-report.el (spam-report-gmane-internal)
(spam-report-user-mail-address):
* lisp/ibuffer.el (name):
* lisp/image-dired.el (image-dired-pngnq-thumb)
(image-dired-pngcrush-thumb, image-dired-optipng-thumb)
(image-dired-create-thumb-1):
* lisp/info.el (Info-set-mode-line):
* lisp/international/mule-cmds.el (describe-language-environment):
* lisp/mail/rfc2231.el (rfc2231-parse-string):
* lisp/mail/rfc2368.el (rfc2368-parse-mailto-url):
* lisp/mail/rmail.el (rmail-insert-inbox-text)
(rmail-simplified-subject-regexp):
* lisp/mail/rmailout.el (rmail-output-body-to-file):
* lisp/mail/undigest.el (rmail-digest-rfc1153):
* lisp/man.el (Man-default-man-entry):
* lisp/mouse.el (minor-mode-menu-from-indicator):
* lisp/mpc.el (mpc--debug):
* lisp/net/browse-url.el (browse-url-mail):
* lisp/net/eww.el (eww-update-header-line-format):
* lisp/net/newst-backend.el (newsticker-save-item):
* lisp/net/rcirc.el (rcirc-sentinel):
* lisp/net/soap-client.el (soap-decode-date-time):
* lisp/nxml/rng-cmpct.el (rng-c-literal-2-re):
* lisp/nxml/xmltok.el (let*):
* lisp/obsolete/nnir.el (nnir-run-swish-e, nnir-run-hyrex)
(nnir-run-find-grep):
* lisp/play/dunnet.el (dun-doassign):
* lisp/play/handwrite.el (handwrite):
* lisp/proced.el (proced-format-args):
* lisp/profiler.el (profiler-report-header-line-format):
* lisp/progmodes/gdb-mi.el (gdb-mi-quote):
* lisp/progmodes/make-mode.el (makefile-bsdmake-rule-action-regex)
(makefile-make-font-lock-keywords):
* lisp/progmodes/prolog.el (prolog-guess-fill-prefix):
* lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
* lisp/progmodes/sql.el (sql-remove-tabs-filter, sql-str-literal):
* lisp/progmodes/which-func.el (which-func-current):
* lisp/replace.el (query-replace-read-from)
(occur-engine, replace-quote):
* lisp/select.el (xselect--encode-string):
* lisp/ses.el (ses-export-tab):
* lisp/subr.el (shell-quote-argument):
* lisp/term/pc-win.el (msdos-show-help):
* lisp/term/w32-win.el (w32--set-selection):
* lisp/term/xterm.el (gui-backend-set-selection):
* lisp/textmodes/picture.el (picture-tab-search):
* lisp/thumbs.el (thumbs-call-setroot-command):
* lisp/tooltip.el (tooltip-show-help-non-mode):
* lisp/transient.el (transient-format-key):
* lisp/url/url-mailto.el (url-mailto):
* lisp/vc/log-edit.el (log-edit-changelog-ours-p):
* lisp/vc/vc-bzr.el (vc-bzr-status):
* lisp/vc/vc-hg.el (vc-hg--glob-to-pcre):
* lisp/vc/vc-svn.el (vc-svn-after-dir-status):
* lisp/xdg.el (xdg-desktop-strings):
* test/lisp/electric-tests.el (defun):
* test/lisp/term-tests.el (term-simple-lines):
* test/lisp/time-stamp-tests.el (formatz-mod-del-colons):
* test/lisp/wdired-tests.el (wdired-test-bug32173-01)
(wdired-test-unfinished-edit-01):
* test/src/json-tests.el (json-parse-with-custom-null-and-false-objects):
Use `string-replace` instead of `replace-regexp-in-string`.
2021-08-08 19:25:26 +02:00
Philip Kaludercic
c817a34edd
Add new option rcirc-channel-filter
* rcirc.el (rcirc-channel-filter): Add option
(rcirc-short-buffer-name): Respect rcirc-channel-filter
(rcirc-handler-JOIN): Respect rcirc-channel-filter
(rcirc-handler-PART): Respect rcirc-channel-filter
(rcirc-handler-KICK): Respect rcirc-channel-filter
(rcirc-handler-QUIT): Respect rcirc-channel-filter
(rcirc-handler-INVITE): Respect rcirc-channel-filter
2021-08-06 20:12:04 +02:00
Philip Kaludercic
ade9653108
Add new option rcirc-track-abbrevate-flag
* rcirc.el (rcirc-track-abbrevate-flag): Add option
(rcirc-short-buffer-name): Respect rcirc-track-abbrevate-flag
2021-08-06 20:01:38 +02:00
Philip Kaludercic
190ea9cd3e
Replace cl-c[ad]+r with regular c[ad]+r
* rcirc.el (rcirc-make-trees): Replace cl-cdadr with cdadr
(rcirc-handler-333): Replace cl-cadddr with cadddr
(rcirc-authenticate): Replace cl-cdddr with cdddr
2021-07-28 10:31:57 +02:00
Philip Kaludercic
7e13bfd4a8
Remove removal of text properties from rcirc-buffer-alist keys
* rcirc.el (rcirc-mode): Remove set-text-properties call
2021-07-27 20:01:49 +02:00
Philip Kaludercic
fb27708f51
Fix checkdoc issues
* rcirc.el (rcirc-finished-sasl): Add period.
(rcirc-mode): Expand docstring.
(rcirc-handler-900): Document sender and process
2021-07-27 17:42:32 +02:00
Philip Kaludercic
402385393a
Update rcirc-buffer-alist after receiving NICK
* rcirc.el (rcirc-handler-NICK): Remove old nick and add new nick
2021-07-27 17:30:22 +02:00
Philip Kaludercic
262fbe1a47
Fix TOPIC command
* rcirc.el (topic): Add target argument.
2021-07-27 10:08:06 +02:00
Philip Kaludercic
47b5dcdcf5
Ensure that rcirc-buffer-alist has no text properties
* rcirc.el (rcirc-mode): Remove text properties from
  rcirc-buffer-alist keys
2021-07-24 16:57:00 +02:00
Philip Kaludercic
1967b9c474
Generate no message when activating rcirc-omit-mode
* rcirc.el (rcirc-omit-mode): Remove (message ...) expressions
2021-07-24 11:19:54 +02:00
Lars Ingebrigtsen
f3806ee149 Fix an rcirc merge problem
* lisp/net/rcirc.el (rcirc-get-server-method)
(rcirc-get-server-password): Remove double definition after merge.
2021-07-23 14:13:38 +02:00
Philip Kaludercic
55a19a1da2
Merge branch 'feature/rcirc-update' 2021-07-23 13:23:35 +02:00
Philip Kaludercic
77631c2a77
Add query command removed in 4ff1f66b12
* rcirc.el (query): Readd accidentally removed command
2021-07-06 08:52:50 +02:00
Philip Kaludercic
1d73575681
Fix issues with argument parsing in rcirc-define-command
* rcirc.el (rcirc-define-command): Fix issues
2021-07-06 08:50:21 +02:00
Amin Bandali
8d957f2dd8
Merge from origin/emacs-27
348b2aed0c Update IRC-related references to point to Libera.Chat
b0e725e2fe Fix typo in c-macro-expand docstring

# Conflicts:
#	doc/misc/erc.texi
#	doc/misc/gnus-faq.texi
#	doc/misc/rcirc.texi
#	etc/NEWS
#	lisp/erc/erc-services.el
#	lisp/erc/erc.el
#	lisp/ldefs-boot.el
#	lisp/net/rcirc.el
2021-07-04 00:14:47 -04:00
Amin Bandali
348b2aed0c
Update IRC-related references to point to Libera.Chat
Per GNU and FSF's announcements [0, 1] of moving official IRC channels
to the Libera.Chat IRC network, as well as several Emacs-related
channels following suit [2], update IRC-related references to reflect
the migration.

[0]: https://lists.gnu.org/archive/html/info-gnu/2021-06/msg00005.html
[1]: https://lists.gnu.org/archive/html/info-gnu/2021-06/msg00007.html
[2]: https://lists.gnu.org/archive/html/info-gnu-emacs/2021-06/msg00000.html
2021-07-03 23:39:18 -04:00
Philip Kaludercic
f222fe6163
* rcirc.el (rcirc-define-command): Mention name of malformed command
Author:
2021-07-02 20:11:08 +02:00
Alex McGrath
e3f456255b Fix SASL joining channels after auth 2021-06-29 17:07:00 +02:00
Alex McGrath
a85d27278e Send CAP END after authentication has been successful 2021-06-29 13:41:28 +02:00
Alex McGrath
df6efb1c8b Fix SASL on rcirc-update 2021-06-28 21:41:52 +02:00
Alex McGrath
6122e4c1f0 Add SASL authentication to rcirc
* lisp/net/rcirc.el (rcirc-handler-AUTHENTICATE): New function
(bug#48601).
(rcirc-authenticate):
(rcirc-connect): Support sasl.
(rcirc-get-server-password, rcirc-get-server-method): New functions.
(rcirc-authinfo): Document it.
2021-06-24 23:27:20 +02:00
Alex McGrath
8db520837a Add SASL authentication to rcirc
* lisp/net/rcirc.el (rcirc-handler-AUTHENTICATE): New function
(bug#48601).
(rcirc-authenticate):
(rcirc-connect): Support sasl.
(rcirc-get-server-password, rcirc-get-server-method): New functions.
(rcirc-authinfo): Document it.
2021-06-24 18:45:08 +02:00
Philip Kaludercic
b81c977799 Query encryption using yes-or-no-p
* rcirc.el (rcirc-prompt-for-encryption): Replace completing-read
  prompt with yes-or-no-p
2021-06-21 09:12:25 +02:00
Philip Kaludercic
869db473cb Use add-to-list instead of manually modifying minor-mode-alist 2021-06-19 10:43:26 +02:00
Philip Kaludercic
21148f67f1 Force mode line update after modifying activity string
* rcirc.el (rcirc-update-activity-string): Call force-mode-line-update
2021-06-16 09:43:05 +02:00
Philip Kaludercic
b5d935bb7f Fix edge case with single argument for rcirc-define-command
* rcirc.el (rcirc-define-command): Update regular expression generator
2021-06-15 23:44:56 +02:00
Philip Kaludercic
7e5360f322 Fix argument parser for rcirc-define-command with string input
* rcirc.el (rcirc-define-command): Require at least one space between
arguments
2021-06-15 23:12:02 +02:00
Philip Kaludercic
1181c606b3 Check if server buffer is live
* rcirc.el (with-rcirc-server-buffer): Use live-buffer-p
(rcirc-buffer-nick): Use with-rcirc-server-buffer
(rcirc-switch-to-server-buffer): Use with-rcirc-server-buffer
2021-06-15 18:16:58 +02:00
Philip Kaludercic
946ceca26f Improve message markup
* rcirc.el (rcirc-markup-text-functions): Add rcirc-color-attributes,
rcirc-remove-markup-codes
(rcirc-markup-attributes): Recognize strike-through and monospace,
don't remove control codes
(rcirc-color-attributes): Recognize mIRC color codes
(rcirc-remove-markup-codes): Add function
(rcirc-monospace-text): Add face
2021-06-15 09:37:17 +02:00
Philip Kaludercic
3e31846468 Fix construction of interactive specification in rcirc-define-command
* rcirc.el (rcirc-define-command): Ensure that only one argument is passed.
2021-06-14 18:02:24 +02:00
Philip Kaludercic
f1e79a33b5 Rename set-rcirc-{encode,decode}-coding-system
* rcirc.el (set-rcirc-decode-coding-system): Deprecate command
(rcirc-set-decode-coding-system): New command
(set-rcirc-encode-coding-system): Deprecate command
(rcirc-set-encode-coding-system): New command
2021-06-14 13:25:57 +02:00
Philip Kaludercic
88e07af18c Preserve order of completion during cycling
* rcirc.el (rcirc-completion-at-point): Specify cycle-sort-function
2021-06-14 11:52:28 +02:00