Commit d1036d28 authored by l3thal's avatar l3thal
Browse files

backport: erc bugfixes

parent 7d820561
2014-11-04 Stefan Monnier <monnier@iro.umontreal.ca> 2014-11-05 Stefan Monnier <monnier@iro.umontreal.ca>
* erc.el (erc-send-input): Bind `str' dynamically (bug#18936). * erc.el (erc-send-input): Bind `str' dynamically (bug#18936).
2014-10-29 Paul Eggert <eggert@cs.ucla.edu>
Simplify use of current-time and friends.
* erc-backend.el (TOPIC): Omit unnecessary call to current-time.
* erc.el (erc-emacs-time-to-erc-time): Simplify by using float-time.
(erc-current-time): Simplify by using erc-emacs-time-to-erc-time.
2014-10-20 Glenn Morris <rgm@gnu.org> 2014-10-20 Glenn Morris <rgm@gnu.org>
* Version 24.4 released. * Merge in all changes up to 24.4 release.
2014-10-15 Ivan Shmakov <ivan@siamics.net>
* erc-track.el (erc-modified-channels-display): Update mode line
more frequently (bug#18510).
2014-10-10 Kelvin White <kwhite@gnu.org>
* erc.el (erc-initialize-log-marker): Only initialize
erc-last-saved-position if not already a marker.
2014-10-04 Stefan Monnier <monnier@iro.umontreal.ca>
* erc.el (erc-channel-receive-names): Silence compiler warning.
(erc-format-@nick, erc-update-modes): Idem.
2014-09-24 Stefan Monnier <monnier@iro.umontreal.ca> 2014-10-03 Kelvin White <kwhite@gnu.org>
* erc.el (erc-rename-buffers): Use defcustom instead of defvar for
buffer renaming configuration option.
2014-10-02 Paul Eggert <eggert@cs.ucla.edu>
* erc.el (erc-nick-at-point): Fix format-string typo (Bug#17755).
2014-10-02 Kelvin White <kwhite@gnu.org>
* erc.el (erc-rename-buffer-p): When set to t buffers will be
renamed to the current irc network.
(erc-format-target-and/or-network): Use `erc-rename-buffer-p' when
renaming buffers.
* erc-ring.el (erc-input-ring-setup): Fixes Bug #18599
2014-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
* erc-track.el (erc-modified-channels-display): Update all mode lines * erc-track.el (erc-modified-channels-display): Update all mode lines
if needed (bug#18510). Remove call to erc-modified-channels-object if needed (bug#18510). Remove call to erc-modified-channels-object
where we ignored the return value. where we ignored the return value.
(erc-modified-channels-update): Don't force-mode-line-update here any more. (erc-modified-channels-update): Don't force-mode-line-update here
any more.
2014-09-26 Kelvin White <kwhite@gnu.org>
* erc.el (erc-format-nick): Fix code regression - Bug #18551
2014-09-25 Kelvin White <kwhite@gnu.org>
* erc.el: Follow Emacs version instead of tracking it seperately.
(erc-quit/part-reason-default) : Clean up quit/part message
functions by abstracting repetitive code, change version string.
(erc-quit-reason-various, erc-quit-reason-normal, erc-quit-reason-zippy)
(erc-part-reason-normal, erc-part-reason-zippy, erc-part-reason-various)
(erc-cmd-SV, erc-ctcp-query-VERSION, erc-version, erc-version-string):
Change version string.
2014-08-13 Kelvin White <kwhite@gnu.org>
* erc.el (erc-send-input): Disable display commands in current buffer
(erc-format-target-and/or-network): Fix cases when buffer name is set
2014-08-12 Stefan Monnier <monnier@iro.umontreal.ca>
* erc-stamp.el (erc-timestamp-intangible): Disable by default because
`intangible' is evil.
2014-08-07 Kelvin White <kwhite@gnu.org>
* erc.el (erc-channel-receive-names): Fix variable names
(erc-format-target-and/or-network): Rename server-buffers to
network name if possible
2014-07-08 Stefan Monnier <monnier@iro.umontreal.ca>
* erc.el (erc-channel-receive-names): Reduce redundancy.
2014-06-19 Kelvin White <kwhite@gnu.org>
* erc-backend.el: Handle user modes in relevant server responses
* erc.el: Better user mode support.
(erc-channel-user): Add members for new modes.
(erc-channel-member-halfop-p, erc-channel-user-admin-p)
(erc-channel-user-owner-p): Use new struct members.
(erc-format-nick, erc-format-@nick): Display user modes as nick prefix.
(erc-nick-prefix-face, erc-my-nick-prefix-face): Add new faces
(erc-get-user-mode-prefix): Return symbol for mode prefix.
(erc-update-channel-member, erc-update-current-channel-member)
(erc-channel-receive-names): Update channel users.
(erc-nick-at-point): Return correct user info.
2014-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
* erc.el (erc-invite-only-mode, erc-toggle-channel-mode): Simplify.
(erc-load-script): Tighten a regexp.
2014-02-25 Julien Danjou <julien@danjou.info> 2014-02-25 Julien Danjou <julien@danjou.info>
...@@ -360,9 +454,9 @@ ...@@ -360,9 +454,9 @@
2011-11-28 Mike Kazantsev <mk.fraggod@gmail.com> (tiny change) 2011-11-28 Mike Kazantsev <mk.fraggod@gmail.com> (tiny change)
* erc-dcc.el (erc-dcc-ctcp-query-send-regexp): Updated regexp to * erc-dcc.el (erc-dcc-ctcp-query-send-regexp): Update regexp to
match quoted filenames with spaces inside. match quoted filenames with spaces inside.
(erc-dcc-handle-ctcp-send): Updated regexp match group numbers, (erc-dcc-handle-ctcp-send): Update regexp match group numbers,
added processing of escaped quotes and backslashes if filename added processing of escaped quotes and backslashes if filename
itself was in quotes. itself was in quotes.
...@@ -625,4 +719,3 @@ See ChangeLog.08 for earlier changes. ...@@ -625,4 +719,3 @@ See ChangeLog.08 for earlier changes.
;; coding: utf-8 ;; coding: utf-8
;; add-log-time-zone-rule: t ;; add-log-time-zone-rule: t
;; End: ;; End:
...@@ -679,7 +679,7 @@ Conditionally try to reconnect and take appropriate action." ...@@ -679,7 +679,7 @@ Conditionally try to reconnect and take appropriate action."
(when (buffer-live-p buf) (when (buffer-live-p buf)
(with-current-buffer buf (with-current-buffer buf
(erc-log (format (erc-log (format
"SENTINEL: proc: %S status: %S event: %S (quitting: %S)" "SENTINEL: proc: %S status: %S event: %S (quitting: %S)"
cproc (process-status cproc) event erc-server-quitting)) cproc (process-status cproc) event erc-server-quitting))
(if (string-match "^open" event) (if (string-match "^open" event)
;; newly opened connection (no wait) ;; newly opened connection (no wait)
...@@ -1208,7 +1208,6 @@ add things to `%s' instead." ...@@ -1208,7 +1208,6 @@ add things to `%s' instead."
parsed 'notice 'active parsed 'notice 'active
'INVITE ?n nick ?u login ?h host ?c chnl))))) 'INVITE ?n nick ?u login ?h host ?c chnl)))))
(define-erc-response-handler (JOIN) (define-erc-response-handler (JOIN)
"Handle join messages." "Handle join messages."
nil nil
...@@ -1244,7 +1243,7 @@ add things to `%s' instead." ...@@ -1244,7 +1243,7 @@ add things to `%s' instead."
(erc-format-message (erc-format-message
'JOIN ?n nick ?u login ?h host ?c chnl)))))) 'JOIN ?n nick ?u login ?h host ?c chnl))))))
(when buffer (set-buffer buffer)) (when buffer (set-buffer buffer))
(erc-update-channel-member chnl nick nick t nil nil host login) (erc-update-channel-member chnl nick nick t nil nil nil nil nil host login)
;; on join, we want to stay in the new channel buffer ;; on join, we want to stay in the new channel buffer
;;(set-buffer ob) ;;(set-buffer ob)
(erc-display-message parsed nil buffer str)))))) (erc-display-message parsed nil buffer str))))))
...@@ -1413,7 +1412,7 @@ add things to `%s' instead." ...@@ -1413,7 +1412,7 @@ add things to `%s' instead."
;; message. We will accumulate private identities indefinitely ;; message. We will accumulate private identities indefinitely
;; at this point. ;; at this point.
(erc-update-channel-member (if privp nick tgt) nick nick (erc-update-channel-member (if privp nick tgt) nick nick
privp nil nil host login nil nil t) privp nil nil nil nil nil host login nil nil t)
(let ((cdata (erc-get-channel-user nick))) (let ((cdata (erc-get-channel-user nick)))
(setq fnick (funcall erc-format-nick-function (setq fnick (funcall erc-format-nick-function
(car cdata) (cdr cdata)))))) (car cdata) (cdr cdata))))))
...@@ -1466,11 +1465,10 @@ add things to `%s' instead." ...@@ -1466,11 +1465,10 @@ add things to `%s' instead."
"The channel topic has changed." nil "The channel topic has changed." nil
(let* ((ch (car (erc-response.command-args parsed))) (let* ((ch (car (erc-response.command-args parsed)))
(topic (erc-trim-string (erc-response.contents parsed))) (topic (erc-trim-string (erc-response.contents parsed)))
(time (format-time-string erc-server-timestamp-format (time (format-time-string erc-server-timestamp-format)))
(current-time))))
(pcase-let ((`(,nick ,login ,host) (pcase-let ((`(,nick ,login ,host)
(erc-parse-user (erc-response.sender parsed)))) (erc-parse-user (erc-response.sender parsed))))
(erc-update-channel-member ch nick nick nil nil nil host login) (erc-update-channel-member ch nick nick nil nil nil nil nil nil host login)
(erc-update-channel-topic ch (format "%s\C-o (%s, %s)" topic nick time)) (erc-update-channel-topic ch (format "%s\C-o (%s, %s)" topic nick time))
(erc-display-message parsed 'notice (erc-get-buffer ch proc) (erc-display-message parsed 'notice (erc-get-buffer ch proc)
'TOPIC ?n nick ?u login ?h host 'TOPIC ?n nick ?u login ?h host
...@@ -1800,8 +1798,7 @@ See `erc-display-server-message'." nil ...@@ -1800,8 +1798,7 @@ See `erc-display-server-message'." nil
(when (string-match "\\(^[0-9]+ \\)\\(.*\\)$" full-name) (when (string-match "\\(^[0-9]+ \\)\\(.*\\)$" full-name)
(setq hopcount (match-string 1 full-name)) (setq hopcount (match-string 1 full-name))
(setq full-name (match-string 2 full-name))) (setq full-name (match-string 2 full-name)))
(erc-update-channel-member channel nick nick nil nil nil host (erc-update-channel-member channel nick nick nil nil nil nil nil nil host user full-name)
user full-name)
(erc-display-message parsed 'notice 'active 's352 (erc-display-message parsed 'notice 'active 's352
?c channel ?n nick ?a away-flag ?c channel ?n nick ?a away-flag
?u user ?h host ?f full-name)))) ?u user ?h host ?f full-name))))
......
...@@ -67,7 +67,8 @@ variable.") ...@@ -67,7 +67,8 @@ variable.")
(defun erc-input-ring-setup () (defun erc-input-ring-setup ()
"Do the setup required so that we can use comint style input rings. "Do the setup required so that we can use comint style input rings.
Call this function when setting up the mode." Call this function when setting up the mode."
(setq erc-input-ring (make-ring comint-input-ring-size)) (unless (ring-p erc-input-ring)
(setq erc-input-ring (make-ring comint-input-ring-size)))
(setq erc-input-ring-index nil)) (setq erc-input-ring-index nil))
(defun erc-add-to-input-ring (s) (defun erc-add-to-input-ring (s)
......
...@@ -147,10 +147,11 @@ the minibuffer." ...@@ -147,10 +147,11 @@ the minibuffer."
:group 'erc-stamp :group 'erc-stamp
:type 'string) :type 'string)
(defcustom erc-timestamp-intangible t (defcustom erc-timestamp-intangible nil
"Whether the timestamps should be intangible, i.e. prevent the point "Whether the timestamps should be intangible, i.e. prevent the point
from entering them and instead jump over them." from entering them and instead jump over them."
:group 'erc-stamp :group 'erc-stamp
:version "25.1"
:type 'boolean) :type 'boolean)
(defface erc-timestamp-face '((t :weight bold :foreground "green")) (defface erc-timestamp-face '((t :weight bold :foreground "green"))
......
...@@ -858,7 +858,7 @@ Use `erc-make-mode-line-buffer-name' to create buttons." ...@@ -858,7 +858,7 @@ Use `erc-make-mode-line-buffer-name' to create buttons."
faces (cdr faces))) faces (cdr faces)))
strings))) strings)))
(newobject (erc-modified-channels-object strings))) (newobject (erc-modified-channels-object strings)))
(unless (equal oldobject newobject) (unless (equal-including-properties oldobject newobject)
(setq erc-modified-channels-object newobject) (setq erc-modified-channels-object newobject)
(force-mode-line-update t))))) (force-mode-line-update t)))))
......
This diff is collapsed.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment