[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Erc-commit] [commit][emacs22] Make sure IRC process is terminated after
From: |
mwolson |
Subject: |
[Erc-commit] [commit][emacs22] Make sure IRC process is terminated after /QUIT. |
Date: |
Sun, 14 Oct 2007 00:48:24 -0400 |
commit 63ba7248c290289e5d8a00c0e8d8e9b350a23ca7
Merge: 287dc8e... 48a009c... d4a55ce...
Author: Michael Olson <address@hidden>
Date: Sun Aug 6 08:24:06 2006 +0000
Make sure IRC process is terminated after /QUIT.
* erc-backend.el (erc-server-send-ping): New function that sends a ping
to the IRC process corresponding with the given buffer. Split from
erc-server-setup-periodical-ping. Use delete-process instead of
kill-process. Set the timer slot to nil in the timer-alist, not the
buffer slot.
(erc-server-setup-periodical-ping): Rename from
erc-server-setup-periodical-server-ping.
(erc-server-filter-function): Use erc-current-time instead of
current-time.
* erc.el (erc-cmd-QUIT): If the IRC process has not terminated itself
within 4 seconds of completing our quit-hook, kill it manually.
Freenode in particular needs this.
(erc-connection-established): Use erc-server-setup-periodical-ping
instead of erc-server-setup-periodical-server-ping.
git-archimport-id: address@hidden/erc--main--0--patch-36
diff --cc ChangeLog
index 42b6daf,063f8b1,cef3944..c977823
--- a/ChangeLog
+++ b/ChangeLog
@@@@ -1,681 -1,580 -1,12 +1,692 @@@@
+2006-08-06 Michael Olson <address@hidden>
+
++ * erc-backend.el (erc-server-send-queue): Update from Circe
++ version of this function.
++ (erc-server-ping-timer-alist): New variable that keeps track of
++ ping timers according to their associated server.
++ (erc-server-last-received-time): New variable that specifies the
++ time of the last message we received from the server. This is
++ used to detect hung processes.
- (erc-server-setup-periodical-server-ping): If the server buffer no
- longer exists, cancel the timer. If the server process has not
- given us a message, including PING responses, since the last PING,
- kill it. This is necessary to deal with some aberrant freenode
- behavior. Idea taken from rcirc.
+++ (erc-server-send-ping): New function that sends a ping to the IRC
+++ process corresponding with the given buffer. Split from
+++ erc-server-setup-periodical-ping. If the server buffer no longer
+++ exists, cancel the timer. If the server process has not given us
+++ a message, including PING responses, since the last PING, kill it.
+++ This is necessary to deal with some aberrant freenode behavior.
+++ Idea taken from rcirc.
+++ (erc-server-setup-periodical-ping): Rename from
+++ erc-server-setup-periodical-server-ping.
+++ (erc-server-filter-function): Use erc-current-time instead of
+++ current-time.
++
+ * erc.el (erc-arrange-session-in-multiple-windows): Fix bug with
+ multi-tty Emacs.
+ (erc-select-startup-file): Fix bug introduced by recent change.
+++ (erc-cmd-QUIT): If the IRC process has not terminated itself
+++ within 4 seconds of completing our quit-hook, kill it manually.
+++ Freenode in particular needs this.
+++ (erc-connection-established): Use erc-server-setup-periodical-ping
+++ instead of erc-server-setup-periodical-server-ping.
+
+2006-08-05 Michael Olson <address@hidden>
+
+ * erc-log.el (erc-log-standardize-name): New function that returns
+ a filename that is safe for use for a log file.
+ (erc-current-logfile): Use it.
+
+ * erc.el (erc-startup-file-list): Search in ~/.emacs.d first,
+ since that is a fairly standard directory.
+ (erc-select-startup-file): Re-write to use
+ convert-standard-filename, which will ensure that MS-DOS systems
+ look for the _ercrc.el file.
+
+2006-08-02 Michael Olson <address@hidden>
+
+ * erc.el (erc-version-string): Release ERC 5.1.4.
+
+ * Makefile, NEWS, erc.texi: Update for the 5.1.4 release.
+
+ * erc.el (erc-active-buffer): Fix bug that caused messages to go
+ to the wrong buffer. Thanks to offby1 for the report.
+
+ * erc-backend.el (erc-coding-system-for-target): Handle case where
+ target is nil. Thanks to Kai Fan for the patch.
+
+2006-07-29 Michael Olson <address@hidden>
+
+ * erc-log.el (erc-log-setup-logging): Don't offer to save the
+ buffer. It will be saved automatically killed. Thanks to Johan
+ Bockgård and Tassilo Horn for pointing this out.
+
+2006-07-27 Johan Bockgård <address@hidden>
+
+ * erc.el (define-erc-module): Make find-function and find-variable
+ find the names constructed by `define-erc-module' in Emacs 22.
+
+2006-07-14 Michael Olson <address@hidden>
+
+ * erc-log.el (log): Make sure that we enable logging on
+ already-opened buffers as well, in case the user toggles this
+ module after loading ERC. Also be sure to remove logging ability
+ from all ERC buffers when the module is disabled.
+ (erc-log-setup-logging): Set buffer-file-name to nil rather than
+ the empty string. This should fix some errors that occur when
+ quitting Emacs without first killing all ERC buffers.
+ (erc-log-disable-logging): New function that removes the logging
+ ability from the current buffer.
+
+ * erc-spelling.el (spelling): Use dolist and buffer-live-p.
+
+2006-07-12 Michael Olson <address@hidden>
+
+ * erc-match.el (erc-log-matches): Bind inhibit-read-only rather
+ than call toggle-read-only.
+
+ * Makefile (debrelease-mwolson): Remove and consolidate with the
+ `debrelease' target.
+ (debrevision): Rename from `debrevision-mwolson'.
+
+ * erc.el (erc-handle-irc-url): Move here from erc-goodies.el and
+ add autoload cookie.
+
+2006-07-09 Michael Olson <address@hidden>
+
+ * erc.el (erc-version-string): Release ERC 5.1.3.
+
+ * erc.texi, Makefile, NEWS: Update for the 5.1.3 release.
+
+ * servers.pl: Add copyright notice.
+
+ * erc-autoaway.el (erc-autoaway-set-back): Fix bug after returning
+ from being set automatically away and current buffer is not an ERC
+ buffer.
+
+ * erc-identd.el: Fix compiler error.
+
+ * erc.texi (Development): Use @subheading instead of @subsection.
+ (Advanced Usage): Add menu.
+ (Connecting): Fully document how to connect to an IRC server.
+ (Options, Tips and Tricks, Sample Configuration): New unwritten
+ sections.
+
+ * erc.el (erc-server, erc-port, erc-nick, erc-nick-uniquifier)
+ (erc-user-full-name, erc-password): Docfixes and customization
+ interface tweaks.
+ (erc-try-new-nick-p): Rename from
+ `erc-manual-set-nick-on-bad-nick-p' and invert meaning.
+ (erc-nickname-in-use): Use `erc-try-new-nick-p'. Check the length
+ of `erc-nick-uniquifier', in case someone wants multiple
+ characters.
+ (erc-compute-server, erc-compute-nick, erc-compute-full-name)
+ (erc-compute-port): Docfixes.
+
+ * FOR-RELEASE: Put in future-first order.
+
+ * erc-log.el (log): Move all add-hook calls here, rather than
+ executing them immediately, and also cause them to be un-hooked
+ when the module is removed.
+ (erc-save-buffer-on-part): Move next to
+ `erc-save-queries-on-quit'.
+ (erc-save-buffer-on-quit, erc-save-queries-on-quit): Default to t.
+ (erc-log-write-after-send, erc-log-write-after-insert): Default to
+ nil. This makes things fast, but reasonably failsafe, by default.
+
+2006-07-08 Michael Olson <address@hidden>
+
+ * erc-log.el (erc-log-insert-log-on-open): Make this nil by
+ default, since most IRC clients don't do this.
+ (erc-log-write-after-send): New option that determines whether the
+ log file will be written to after every sent message.
+ (erc-log-write-after-insert): New option that determines whether
+ the log file will be written to when new text is added to a logged
+ ERC buffer.
+ (log): Use the aforementioned options.
+
+ * erc.texi (Modules): Document the "completion" module.
+
+ * erc-pcomplete.el (pcomplete-erc-nicks): Make sure that we don't
+ have a nil element in the list when ignore-self is non-nil.
+
+2006-07-05 Michael Olson <address@hidden>
+
- * erc.el (erc-modules): Use `set' instead of `set-default', since
- this setting should never be buffer-local. Add the `list' and
- `page' modules to the list.
++ * erc.el (erc-modules): Add the `page' module to the list.
+
+ * erc.texi (Modules): Add entries for `list' and `page' modules.
+ Change "spell" to "spelling".
+ (History): Use past tense throughout.
+
+2006-07-02 Michael Olson <address@hidden>
+
+ * erc-backend.el (erc-call-hooks): Fix (stringp nil) error that
+ can happen when doing /PART.
+
+ * erc.el (erc-quit-reason-various-alist)
+ (erc-part-reason-various-alist): In the example, use "^$" as an
+ example, since "" matches anything.
+ (erc-quit-reason-various, erc-part-reason-various): If no argument
+ is given, and no matches are found, use our default reason instead
+ of "nil".
+
+2006-07-01 Michael Olson <address@hidden>
+
+ * erc-identd.el (erc-identd-start): XEmacs defines neither
+ `make-network-process' nor `open-network-stream-server', so just
+ fail silently.
+
+2006-06-30 Michael Olson <address@hidden>
+
+ * HISTORY: Update.
+
+ * erc.texi (Modules): Mention identd.
+ (Releases): Update mailing list address and download location.
+ (Development): Refactor. Provide updated directions for Arch.
+ Make URLs clickable.
+ (Keystroke Summary): Typo fix. Use more Texinfo syntax.
+ (Getting Started): Give simpler example. We do not need to
+ explicitly load every module.
+ (History): Update.
+
- * erc-autoaway.el, erc-autojoin.el, erc-backend.el, erc-bbdb.el:
- erc-button.el, erc-chess.el, erc-compat.el, erc-complete.el:
++ * erc-autoaway.el, erc-join.el, erc-backend.el, erc-bbdb.el:
++ erc-button.el, erc-chess.el, erc-compat.el, erc-hecomplete.el:
+ erc-dcc.el, erc-ezbounce.el, erc-fill.el, erc-ibuffer.el:
+ erc-imenu.el, erc-list.el, erc-log.el, erc-match.el, erc-menu.el:
- erc-nets.el, erc-netsplit.el, erc-nicklist.el, erc-nickserv.el:
- erc-pcomplete.el, erc-replace.el, erc-ring.el, erc-speedbar.el:
- erc-spelling.el, erc-stamp.el, erc-track.el, erc.el: Remove
- version strings.
++ erc-networks.el, erc-netsplit.el, erc-nicklist.el:
++ erc-services.el, erc-pcomplete.el, erc-replace.el, erc-ring.el:
++ erc-speedbar.el, erc-spelling.el, erc-stamp.el, erc-track.el:
++ erc.el: Remove version strings.
+
+ * erc.el (erc-cmd-SMV): Remove, since we do not have meaningful
+ module versions anymore.
+ (erc-version-modules): Remove, since we do not use this function
+ anymore.
+ (erc-latest-version, erc-ediff-latest-version): Remove, since this
+ was only useful back when ERC consisted of one file.
+ (erc-modules): Add line for identd.
+ (erc-get-channel-mode-from-keypress): Typo fix.
+
+ * erc-imenu.el: Remove unnecessary lines in header.
+
+ * erc-goodies.el (erc-handle-irc-url): Docfix.
+
+ * erc-identd.el: Define an ERC module for this.
+ (erc-identd-start): Don't create a process buffer if possible.
+ Otherwise, use conventional hidden names for process buffers.
+
+2006-06-29 Michael Olson <address@hidden>
+
+ * erc-backend.el (erc-coding-system-for-target): Match
+ case-insensitively. Use a pattern match instead of `assoc', as
+ per the documentation for `erc-encoding-coding-alist'.
+
+ * erc-track.el (erc-track-shorten-aggressively): Fix typo.
+
+2006-06-27 Michael Olson <address@hidden>
+
+ * erc.el: Update maintainer information and URLs.
+
+2006-06-21 Michael Olson <address@hidden>
+
+ * Makefile (upload): Make this work with the GNU upload system.
+
+2006-06-14 Michael Olson <address@hidden>
+
+ * erc.el (erc-active-buffer): If the active buffer has been
+ deleted, default to the server buffer.
+ (erc-toggle-flood-control): When the user hits C-c C-f, make flood
+ control really toggle, not unconditionally turn off.
+
+2006-06-12 Michael Olson <address@hidden>
+
+ * NEWS: Add items since the 5.1.2 release.
+
+ * erc-autoaway.el (erc-autoaway-caused-away): New variable that
+ indicates whether the current away status was caused by this
+ module.
+ (erc-autoaway-set-back): Only set back if this module set the user
+ away.
+ (erc-autoaway-set-away): Update `erc-autoaway-caused-away'.
+ (erc-autoaway-reset-indicators): New function that resets some
+ indicators when the user is no longer away.
+ (autoaway): Add the above function to the 305 hook.
+
+2006-06-05 Romain Francoise <address@hidden>
+
+ * erc.texi (History): Fix various typos.
+
+2006-06-04 Michael Olson <address@hidden>
+
+ * erc-autoaway.el (erc-autoaway-idle-method): Move after the
+ definition of the autoaway module.
+ (autoaway): Don't do anything if erc-autoaway-idle-method is
+ unbound. This prevents an error on startup.
+
+2006-06-03 Michael Olson <address@hidden>
+
+ * erc-autoaway.el: Thanks to Mark Plaksin for the ideas and patch.
+ (erc-autoaway-idle-method): Renamed from
+ `erc-autoaway-use-emacs-idle'. We have more than two choices for
+ how to do this, so it's best to make this take symbol values.
+ Improve documentation. Remove warning against Emacs idle-time;
+ the point is moot now that we get user idle time via a different
+ method. Make sure we disable and re-enable the module when
+ changing this value.
+ (autoaway): Conditionalize on the above option. If using the idle
+ timer or user idle methods, don't add anything to the
+ send-completed or server-001 hooks, since it is unnecessary.
+ (erc-autoaway-reestablish-idletimer, erc-autoaway-message):
+ Docfix.
+ (erc-autoaway-idle-seconds): Use erc-autoaway-idle-method.
+ (erc-autoaway-reset-idle-irc): Renamed from
+ `erc-autoaway-reset-idle'. Don't pass line to
+ `erc-autoaway-set-away', since it is not used.
+ (erc-autoaway-reset-idle-user): New function that resets the idle
+ state for user idle time.
+ (erc-autoaway-set-back): Remove line argument, since it is not
+ used.
+
+ * Makefile (upload): Make this work for Savannah uploads.
+
+ * AUTHORS: Update for Savannah move. No old entries have been
+ removed, in case people have not registered yet on Savannah.
+
+2006-06-01 Michael Olson <address@hidden>
+
+ * erc.el (erc-buffer-filter): Make sure all buffers returned from
+ this are live.
+
+2006-05-15 Michael Olson <address@hidden>
+
+ * README: Add License information. Permit images to be used,
+ distributed, and modified without restriction.
+
+2006-05-01 Edward O'Connor <address@hidden>
+
+ * erc-goodies.el: (erc-handle-irc-url): New function, suitable as
+ a value for `url-irc-function'.
+
+2006-04-18 Diane Murray <address@hidden>
+
+ * erc-pcomplete.el (pcomplete-erc-nicks): Added new optional
+ argument IGNORE-SELF. If this is non-nil, don't return the user's
+ current nickname. Doc fix.
+ (pcomplete/erc-mode/complete-command): Don't complete the current
+ nickname.
+
+2006-04-05 Diane Murray <address@hidden>
+
+ * erc.el (erc-cmd-SV): Removed the exclamation point. Show the
+ build date as it's shown in `emacs-version'.
+
+ * erc-capab.el (erc-capab-identify-add-prefix): Insert the prefix
+ with the same face property as the previous character.
+
+2006-04-02 Michael Olson <address@hidden>
+
+ * erc-backend.el, erc-ezbounce.el, erc-join.el, erc-netsplit.el,
+ erc.el: Make sure to include a newline inside of negated classes,
+ so that a newline is not matched.
+
+2006-04-01 Michael Olson <address@hidden>
+
+ * erc-backend.el (erc-server-connect-function): Don't try to
+ detect the existence of the `open-network-stream-nowait' function,
+ since I can't find it in Emacs21, XEmacs21, or Emacs22.
+
+2006-03-27 Michael Olson <address@hidden>
+
+ * erc.texi: Update direntry. Remove unneeded local variables.
+
+2006-03-26 Michael Olson <address@hidden>
+
+ * erc.el (erc-header-line): New face that will be used to colorize
+ the text of the header-line, provided that
+ `erc-header-line-face-method' is non-nil.
+ (erc-prompt-face): Fix formatting.
+ (erc-header-line-face-method): New option that determines the
+ method used for colorizing header-line text. This may be a
+ function, nil, or non-nil.
+ (erc-update-mode-line-buffer): Use the aforementioned option and
+ face to colorize the header-line text, if that is what the user
+ wants.
+ (erc-send-input): If flood control is not activated, don't split
+ the input line.
+
+2006-03-25 Michael Olson <address@hidden>
+
+ * erc.el (erc-cmd-QUOTE): Install patch from Aravind Gottipati
+ that fixes the case where there is no leading whitespace. Only
+ remove the first space character, though.
+
+ * erc-identd.el (erc-identd-start): Fix a bug by making sure that
+ erc-identd-process is set properly.
+ (erc-identd-start, erc-identd-stop): Add autoload cookies.
+ (erc-identd-start): Pass :host parameter so this works with Emacs
+ 22.
+
+2006-03-21 Michael Olson <address@hidden>
+
+ * CREDITS: Add Nelson Ferreira. Change contact address.
+
+ * erc-bbdb.el: Install patch from Nelson Ferreira.
+ (erc-bbdb-electric-p): New option that indicates whether to make
+ the BBDB buffer electric. Defaults to "not electric".
+ (erc-bbdb-show-entry): Use `erc-bbdb-electric-p'.
+
+2006-03-09 Diane Murray <address@hidden>
+
+ * erc-button.el (erc-button-keymap): Use <backtab> rather than
+ <C-tab> for `erc-button-previous' as it is a more standard key
+ binding for this type of function.
+
++2006-02-28 Diane Murray <address@hidden>
++
++ * erc-capab.el: Removed things that were accidentally committed on
++ 2006-02-20. Removed Todo section.
++ (erc-capab-unidentified): Removed.
++
++2006-02-26 Michael Olson <address@hidden>
++
++ * erc-capab.el: Use (eval-when-compile (require 'cl)).
++ (erc-capab-unidentified): Fix compiler warning by specifying
++ group.
++
++2006-02-20 Diane Murray <address@hidden>
++
++ * erc-capab.el (erc-capab-send-identify-messages): Fixed comment
++ to explain thoughts better. `erc-server-parameters' is an
++ associated list when it's set, not a string.
++
+2006-02-19 Michael Olson <address@hidden>
+
++ * erc-capab.el (erc-capab-send-identify-messages): Make sure some
++ parameters are strings before using them. Thanks to Alejandro
++ Benitez for the report.
++
+ * erc.el (erc-version-string): Release ERC 5.1.2.
+
+2006-02-19 Diane Murray <address@hidden>
+
+ * erc-button.el (erc-button-keymap): Bind `erc-button-previous' to
+ <C-tab>.
+ (erc-button-previous): New function.
+
+2006-02-15 Michael Olson <address@hidden>
+
++ * NEWS: Add category for ERC 5.2.
++
+ * erc.el (erc): Move to the end of the buffer when a continued
+ session is detected. Thanks to e1f and indio for the report and
+ testing a potential fix.
+
+2006-02-14 Michael Olson <address@hidden>
+
+ * debian/changelog: Prepare a new Debian package.
+
+ * Makefile (debprepare): New rule that creates an ERC snapshot
+ directory for use in both new Debian releases and revisions for
+ Debian packages.
+ (debrelease, debrevision-mwolson): Use debprepare.
+
+ * NEWS: Bring up-to-date.
+
+ * erc-stamp.el (erc-insert-timestamp-right): For now, put
+ timestamps before rather than after erc-fill-column when
+ erc-timestamp-right-column is nil. This way we won't surprise
+ anyone unpleasantly, or so it is hoped.
+
+2006-02-13 Michael Olson <address@hidden>
+
+ * erc-dcc.el: Use (eval-when-compile (require 'cl)).
+
+2006-02-11 Michael Olson <address@hidden>
+
++ * erc.el (erc-update-modules): Handle erc-capab-identify
++ correctly. Make some requirements shorter, so that it's easier to
++ see why they are needed.
++
++ * erc-capab.el: Add autoload cookie for capab-identify.
++ (erc-capab-send-identify-messages, erc-capab-identify-activate):
++ Minor whitespace fix in code.
++
+ * erc-stamp.el (erc-timestamp-use-align-to): Renamed from
+ `erc-timestamp-right-align-by-pixel'. Set the default based on
+ whether we are in Emacs 22, and using X. Improve documentation.
+ (erc-insert-aligned): Remove calculation of offset, since
+ :align-to pos works after all. Unlike the previous solution, this
+ one works when erc-stamp.el is compiled.
+ (erc-insert-timestamp-right): Don't add length of string, and then
+ later remove its displayed width. This puts timestamps after
+ erc-fill-column when erc-timestamp-right-column is nil, rather
+ than before it. It also fixes a subtle bug. Remove use of
+ `current-window', since there is no variable by that name in
+ Emacs21, Emacs22, or XEmacs21 beta. Check to see whether
+ `erc-fill-column' is non-nil before using it.
+
+2006-02-11 Diane Murray <address@hidden>
+
+ * erc-list.el: Define `list' module which sets the alias
+ `erc-cmd-LIST' to `erc-list-channels' when enabled and
+ `erc-list-channels-simple' when disabled.
+ (erc-list-channels): Was `erc-cmd-LIST', renamed.
+ (erc-list-channels-simple): New function.
+
+ * erc.el (erc-modules): Added `list' to enabled modules. Changed
+ `capab-identify' description. Moved customization options left in
+ source code.
+
+ * erc-menu.el (erc-menu-definition): Use `erc-list-channels'.
+
++ * erc-capab.el: Put a little more detail into Usage section.
++ (define-erc-module): Run `erc-capab-identify-setup' in all open
++ server buffers when enabling.
++ (erc-capab-identify-setup): Make PROC and PARSED optional
++ arguments.
++ (erc-capab-identify-add-prefix): Simplified nickname regexp. This
++ should now also match nicknames that are formatted differently
++ than the default.
++
+ * erc-spelling.el (define-erc-module): Make sure there's a buffer
+ before calling `with-current-buffer'.
+
+2006-02-10 Michael Olson <address@hidden>
+
+ * Makefile (debbuild): Split from debrelease.
+ (debrevision-mwolson): New rule that causes a Debian revision to
+ be built.
+
++ * erc.el (erc-migrate-modules): Use a better algorithm. Thanks to
++ Johan Bockgård.
++ (erc-modules): Change use of 'pcomplete to 'completion.
++
+2006-02-09 Diane Murray <address@hidden>
+
- * erc.el (erc-get-parsed-vector, erc-get-parsed-vector-nick)
++ * erc-capab.el: Require erc.
++ (erc-capab-send-identify-messages): Use `erc-server-send'.
++ (erc-capab-identify-remove/set-identified-flag): Use 1 and 0 as
++ the flags so we can also check whether the `erc-identified' text
++ property is there at all.
++ (erc-capab-identify-add-prefix): Use `erc-capab-find-parsed'.
++ This fixes a bug where the prefix wasn't inserted when timestamps
++ are inserted on the right. Tweaked nickname regexp.
++ (erc-capab-find-parsed): New function.
++ (erc-capab-get-unidentified-nickname): Updated to check for 0
++ flag. Only get nickname if there's a nickuserhost associated with
++ this message.
++
++ * erc-capab.el: New file. Adds the new module
++ `erc-capab-identify', which allows flagging of unidentified users
++ on servers running an ircd based on dancer - irc.freenode.net, for
++ example.
++
++ * erc.el (erc-modules): Added `capab-identify' to options.
++ (erc-get-parsed-vector, erc-get-parsed-vector-nick)
+ (erc-get-parsed-vector-type): Moved here from erc-match.el.
+ (erc-version-string): Remove "(CVS)".
+ (erc-open-ssl-stream): Go back to using ssl.el so that SSL
+ connections work as expected. Connecting with `open-tls-stream'
+ only seems to work (if at all?) when using the tls.el located in
+ lisp/net/ in Emacs22.
+
+ * erc-match.el (erc-get-parsed-vector, erc-get-parsed-vector-nick)
+ (erc-get-parsed-vector-type): Moved these functions to erc.el
+ since they can be useful outside of the text matching module.
+
- * NEWS: Added tls.el -> ssl.el change.
++ * CREDITS: Added erc-capab.el. List both erc-nickserv.el and
++ erc-services.el since the file name has changed.
++
++ * NEWS: Added erc-capab.el. Added tls.el -> ssl.el change.
+
+ * erc-dcc.el, erc-stamp.el, erc-xdcc.el: Changed "Emacs IRC Client"
+ to "ERC".
+
+2006-02-07 Michael Olson <address@hidden>
+
++ * ChangeLog.01, ChangeLog.02, ChangeLog.03, ChangeLog.04,
++ ChangeLog.05: Rename from ChangeLog.NNNN in order to disambiguate
++ the filenames in DOS.
++
++ * erc-goodies.el: Comment fix.
++
++ * erc-hecomplete.el: Rename from erc-complete.el. Update
++ commentary. Use define-erc-module so that it's possible to
++ actually use this.
++ (erc-hecomplete): Rename function from `erc-complete'.
++ (erc-hecomplete): Rename group from `erc-old-complete'. Docfix.
++
++ * erc-join.el: Rename from erc-autojoin.el.
++
++ * erc-networks.el: Rename from erc-nets.el.
++
++ * erc-services.el: Rename from erc-nickserv.el.
++
+ * erc-stamp.el (erc-insert-aligned): Don't take 3rd argument. Use
+ the simpler `indent-to' function when
+ `erc-timestamp-right-align-by-pixel' is nil.
+ (erc-insert-timestamp-right): If the timestamp goes on the
+ following line, don't add timestamp properties to the spaces in
+ front of it.
+
++ * erc.el (erc-migrate-modules): New function that eases migration
++ of module names.
++ (erc-modules): Call erc-migrate-modules in the :get accessor.
++ (erc-modules, erc-update-modules): Update for new modules names.
++
+2006-02-05 Diane Murray <address@hidden>
+
+ * FOR-RELEASE: Added two things to do before the next release of
+ Emacs: 1. using M-x erc instead of M-x erc-select and 2. changing
+ the `C-c C-SPC' and `C-c C-@' global keybindings.
+
+2006-02-05 Michael Olson <address@hidden>
+
+ * Makefile (debrelease): Remove images/.arch-ids or images/CVS
+ directory correctly.
+
+ * debian/changelog: Update for 5.1.1 release.
+
+ * debian/control (Suggests): Suggest emacs-chess instead of
+ Recommending it. Thanks to Era Eriksson for the report.
+
+ * debian/maint/postinst: Install the Info documentation.
+
+ * debian/maint/prerm: Handle removing of Info documentation.
+
+ * debian/rules (configure, configure-stamp, build, build-stamp):
+ Generate HTML and Info documentation.
+ (binary-erc): Install HTML and Info documentation.
+
+ * erc-spelling.el (erc-spelling-init): If
+ `erc-spelling-dictionaries' is nil, do not set
+ ispell-local-dictionary. Before, it was being set to nil, which
+ was causing a long delay while the ispell process restarted.
+ (erc-spelling-unhighlight-word): New function that removes
+ flyspell properties from a spell-checked word.
+ (erc-spelling-flyspell-verify): Don't spell-check nicks or words
+ that have '/' before them.
+
+2006-02-04 Michael Olson <address@hidden>
+
+ * Makefile (VERSION): Update to 5.1.1.
+
+ * NEWS: Update for ERC 5.1.1. Use the same wording for headings
+ that Emacs does in its NEWS file.
+
+ * erc-autojoin.el: Use (eval-when-compile (require 'cl)).
+
+ * erc-complete.el (erc-nick-completion-exclude-myself)
+ (erc-try-complete-nick): Use better function for getting list of
+ channel users.
+
+ * erc-goodies.el: Docfix.
+
+ * erc-stamp.el: Use new arch tagline, since the other one wasn't
+ being treated properly.
+
+ * erc.texi (History): Note that ERC is now included with Emacs.
+
+ * erc.el (erc-version-string): Release ERC 5.1.1.
+
+2006-01-31 Michael Olson <address@hidden>
+
+ * erc-stamp.el: Update copyright years.
+
+2006-01-30 Simon Josefsson <address@hidden>
+
+ * erc.el (erc-open-ssl-stream): Use tls.el.
+
+2006-01-30 Michael Olson <address@hidden>
+
+ * erc-stamp.el (erc-timestamp-right-align-by-pixel): New option
+ that determines whether to use pixel values to align right
+ timestamps. The default is not to do so, since it only works with
+ Emacs22 on X, and even then some people have trouble.
+ (erc-insert-aligned): Use `erc-timestamp-right-align-by-pixel'.
+
+2006-01-29 Edward O'Connor <address@hidden>
+
+ * erc-viper.el: Ensure we only alter Viper's configuration when
+ necessary, as Viper may already take ERC into account.
+
+2006-01-29 Michael Olson <address@hidden>
+
+ * ChangeLog, ChangeLog.2005, ChangeLog.2004, ChangeLog.2003,
+ ChangeLog.2002, ChangeLog.2001: Add "See ChangeLog.NNNN" line for
+ earlier changes. Use utf-8 encoding. Fix some accent typos.
+
+ * erc-speedbar.el (erc-speedbar-buttons): Fix reference to free
+ variable.
+ (erc-speedbar-goto-buffer): Fix compiler warning.
+
+ * erc-ibuffer.el: Use `define-ibuffer-filter' instead of
+ `ibuffer-degine-limiter'. Use `define-ibuffer-column' instead of
+ `ibuffer-define-column'. Require 'ibuf-ext so that the macros
+ work without compiler warnings.
+
+ * man/erc.texi (Obtaining ERC, Installation): Note that these
+ sections may be skipped if using the version of ERC that comes
+ with Emacs.
+
2006-01-28 Michael Olson <address@hidden>
- * erc-*.el, erc.texi: Add Arch taglines as per Emacs guidelines.
- Space out copyright years like the rest of Emacs. Use the Emacs
- copyright statement. Refer to ourselves as ERC rather than "Emacs
- IRC Client", since there are now several IRC clients for Emacs.
+ * erc-*.el, erc.texi, NEWS: Add Arch taglines as per Emacs
+ guidelines.
+
+ * erc-*.el: Space out copyright years like the rest of Emacs. Use
+ the Emacs copyright statement. Refer to ourselves as ERC rather
+ than "Emacs IRC Client", since there are now several IRC clients
+ for Emacs.
+
+ * erc-compat.el (erc-emacs-build-time): Define as a variable.
- * erc-stamp.el (erc-insert-aligned): If using a text terminal,
- insert spaces instead of using special text property.
+ * erc-ibuffer.el: Require 'erc.
+
+ * erc-log.el (erc-log-setup-logging): Use write-file-functions if
+ it exists.
+
+ * erc-stamp.el (erc-insert-aligned): Only use the special text
+ property when window-system is X.
+
+ * erc.texi (History): Note that ERC 5.1 is released.
2006-01-28 Johan Bockgård <address@hidden>
@@@@ -979,10 -878,10 -309,6 +990,10 @@@@
* erc-track.el (erc-track-remove-from-mode-line): Handle case
where global-mode-string is not a list. Emacs22 permits this.
- See ChangeLog.2005 for earlier changes.
- Copyright (C) 2006 Free Software Foundation, Inc.
- Copying and distribution of this file, with or without modification,
- are permitted provided the copyright notice and this notice are preserved.
++See ChangeLog.05 for earlier changes.
+
+;; Local Variables:
+;; coding: utf-8
+;; End:
+
+;; arch-tag: 865a75f6-2bcb-46df-bf0c-b514dadf688a
diff --cc erc-backend.el
index b73433c,705ca7a,8c4b915..62dc017
--- a/erc-backend.el
+++ b/erc-backend.el
@@@@ -407,33 -399,20 -407,20 +407,34 @@@@ Currently this is called by
`erc-send-i
(upcase-word 1)
(buffer-string)))
---(defun erc-server-setup-periodical-server-ping (&rest ignore)
+++(defun erc-server-send-ping (buf)
+++ "Send a ping to the IRC server buffer in BUF.
+++Additionally, detect whether the IRC process has hung."
+++ (if (buffer-live-p buf)
+++ (with-current-buffer buf
+++ (if (> (erc-time-diff (erc-current-time)
+++ erc-server-last-received-time)
+++ erc-server-send-ping-interval)
+++ ;; if the process is hung, kill it
+++ (delete-process erc-server-process)
+++ (erc-server-send (format "PING %.0f" (erc-current-time)))))
+++ ;; remove timer if the server buffer has been killed
+++ (let ((timer (assq buf erc-server-ping-timer-alist)))
+++ (when timer
+++ (erc-cancel-timer (cdr timer))
+++ (setcdr timer nil)))))
+++
+++(defun erc-server-setup-periodical-ping (&rest ignore)
"Set up a timer to periodically ping the current server."
(and erc-server-ping-handler (erc-cancel-timer erc-server-ping-handler))
(when erc-server-send-ping-interval
--- (setq erc-server-ping-handler
--- (run-with-timer
--- 4 erc-server-send-ping-interval
--- (lambda (buf)
- (if (buffer-live-p buf)
- (with-current-buffer buf
- (if (> (erc-time-diff (erc-current-time)
- erc-server-last-received-time)
- erc-server-send-ping-interval)
- ;; if the process is hung, kill it
- (kill-process erc-server-process)
- (erc-server-send
- (format "PING %.0f"
- (erc-current-time)))))
- ;; remove timer if the server buffer has been killed
- (let ((timer (assq buf erc-server-ping-timer-alist)))
- (when timer
- (erc-cancel-timer (cdr timer))
- (setcar timer nil)))))
- (current-buffer)))
-- (when (buffer-live-p buf)
-- (with-current-buffer buf
-- (erc-server-send
-- (format "PING %.0f"
-- (erc-current-time))))))
-- (current-buffer)))))
+++ (setq erc-server-ping-handler (run-with-timer
+++ 4 erc-server-send-ping-interval
+++ #'erc-server-send-ping
+++ (current-buffer)))
++ (setq erc-server-ping-timer-alist (cons (cons (current-buffer)
++ erc-server-ping-handler)
++ erc-server-ping-timer-alist))))
(defun erc-server-process-alive ()
"Return non-nil when `erc-server-process' is open or running."
@@@@ -483,7 -460,6 -468,6 +484,7 @@@@ We will store server variables in the c
(defun erc-server-filter-function (process string)
"The process filter for the ERC server."
(with-current-buffer (process-buffer process)
- (setq erc-server-last-received-time (current-time))
+++ (setq erc-server-last-received-time (erc-current-time))
;; If you think this is written in a weird way - please refer to the
;; docstring of `erc-server-processing-p'
(if erc-server-processing-p
diff --cc erc.el
index e237003,d6dbed2,98a369f..dbe5888
--- a/erc.el
+++ b/erc.el
@@@@ -67,7 -67,7 -66,7 +67,7 @@@@
;;; Code:
- (defconst erc-version-string "Version 5.1.4"
-(defconst erc-version-string "Version 5.1 (CVS) $Revision: 1.799 $"
++(defconst erc-version-string "Version 5.1.4 (devel)"
"ERC version. This is used by function `erc-version'.")
(eval-when-compile (require 'cl))
@@@@ -1777,49 -1765,43 -1736,40 +1777,49 @@@@ removed from the list will be
disabled.
;; this test is for the case where erc hasn't been loaded yet
(when (fboundp 'erc-update-modules)
(erc-update-modules)))
-- :type '(set :greedy t
-- (const :tag "Set away status automatically" autoaway)
-- (const :tag "Join channels automatically" autojoin)
-- (const :tag "Integrate with Big Brother Database" bbdb)
-- (const :tag "Buttonize URLs, nicknames, and other text" button)
-- (const :tag "Wrap long lines" fill)
- (const :tag "Launch an identd server on port 8113" identd)
-- (const :tag "Highlight or remove IRC control characters"
-- irccontrols)
- (const :tag "List channels nicely in a separate buffer" list)
-- (const :tag "Save buffers in logs" log)
-- (const :tag "Highlight pals, fools, and other keywords" match)
-- (const :tag "Detect netsplits" netsplit)
-- (const :tag "Don't display non-IRC commands after evaluation"
-- noncommands)
-- (const :tag
-- "Notify when the online status of certain users changes"
-- notify)
- (const :tag "Process CTCP PAGE requests from IRC" page)
-- (const :tag "Complete nicknames and commands (programmable)"
-- pcomplete)
-- (const :tag "Complete nicknames and commands (old)" completion)
-- (const :tag "Make displayed lines read-only" readonly)
-- (const :tag "Replace text in messages" replace)
-- (const :tag "Enable an input history" ring)
-- (const :tag "Scroll to the bottom of the buffer" scrolltobottom)
-- (const :tag "Identify to Nickserv (IRC Services) automatically"
-- services)
-- (const :tag "Convert smileys to pretty icons" smiley)
-- (const :tag "Play sounds when you receive CTCP SOUND requests"
-- sound)
-- (const :tag "Add timestamps to messages" stamp)
-- (const :tag "Check spelling" spelling)
-- (const :tag "Track channel activity in the mode-line" track)
-- (const :tag "Truncate buffers to a certain size" truncate)
-- (const :tag "Translate morse code in messages" unmorse)
-- (repeat :tag "Others" :inline t symbol))
++ :type
++ '(set
++ :greedy t
++ (const :tag "Set away status automatically" autoaway)
++ (const :tag "Join channels automatically" autojoin)
++ (const :tag "Integrate with Big Brother Database" bbdb)
++ (const :tag "Buttonize URLs, nicknames, and other text" button)
++ (const
++ :tag
++ "Mark unidentified users on freenode and other servers supporting CAPAB"
++ capab-identify)
++ (const :tag "Wrap long lines" fill)
++ (const :tag "Launch an identd server on port 8113" identd)
++ (const :tag "Highlight or remove IRC control characters"
++ irccontrols)
++ (const :tag "List channels in a separate buffer" list)
++ (const :tag "Save buffers in logs" log)
++ (const :tag "Highlight pals, fools, and other keywords" match)
++ (const :tag "Detect netsplits" netsplit)
++ (const :tag "Don't display non-IRC commands after evaluation"
++ noncommands)
++ (const :tag
++ "Notify when the online status of certain users changes"
++ notify)
++ (const :tag "Complete nicknames and commands (programmable)"
++ completion)
++ (const :tag "Complete nicknames and commands (old)" hecomplete)
++ (const :tag "Process CTCP PAGE requests from IRC" page)
++ (const :tag "Make displayed lines read-only" readonly)
++ (const :tag "Replace text in messages" replace)
++ (const :tag "Enable an input history" ring)
++ (const :tag "Scroll to the bottom of the buffer" scrolltobottom)
++ (const :tag "Identify to Nickserv (IRC Services) automatically"
++ services)
++ (const :tag "Convert smileys to pretty icons" smiley)
++ (const :tag "Play sounds when you receive CTCP SOUND requests"
++ sound)
++ (const :tag "Add timestamps to messages" stamp)
++ (const :tag "Check spelling" spelling)
++ (const :tag "Track channel activity in the mode-line" track)
++ (const :tag "Truncate buffers to a certain size" truncate)
++ (const :tag "Translate morse code in messages" unmorse)
++ (repeat :tag "Others" :inline t symbol))
:group 'erc)
(defun erc-update-modules ()
@@@@ -3130,7 -3110,7 -3074,7 +3130,14 @@@@ the message given by REASON.
(erc-server-send (format "QUIT :%s" reason)))
(run-hook-with-args 'erc-quit-hook erc-server-process)
(when erc-kill-queries-on-quit
--- (erc-kill-query-buffers erc-server-process)))
+++ (erc-kill-query-buffers erc-server-process))
+++ ;; if the process has not been killed within 4 seconds, kill it
+++ (run-at-time 4 nil
+++ (lambda (proc)
+++ (when (and (processp proc)
+++ (memq (process-status proc) '(run open)))
+++ (delete-process proc)))
+++ erc-server-process))
t)
(t nil)))
@@@@ -4057,7 -4037,7 -4006,7 +4064,7 @@@@ Set user modes and run
`erc-after-conne
(setq erc-server-connected t)
(erc-update-mode-line)
(erc-set-initial-user-mode nick)
--- (erc-server-setup-periodical-server-ping)
+++ (erc-server-setup-periodical-ping)
(run-hook-with-args 'erc-after-connect server nick))))
(defun erc-set-initial-user-mode (nick)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Erc-commit] [commit][emacs22] Make sure IRC process is terminated after /QUIT.,
mwolson <=