erc-commit
[Top][All Lists]
Advanced

[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)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]