Mercurial > emacs
view lisp/url/url-irc.el @ 65764:375ab086d366
* image.c (slurp_file, xbm_read_bitmap_data): Cast to the correct
type.
* xterm.c (handle_one_xevent, handle_one_xevent): Likewise.
* unexelf.c (fatal): Fix prototype.
* term.c (fatal): Implement using varargs.
* regex.c (re_char): Move typedef ...
* regex.h (re_char): ... here.
(re_iswctype, re_wctype, re_set_whitespace_regexp): New
prototypes.
* emacs.c (malloc_set_state): Fix return type.
(endif): Fix type.
* lisp.h (fatal): Add argument types.
* dispextern.h (fatal): Delete prototype.
* systime.h: (make_time): Prototype moved from ...
* editfns.c (make_time): ... here.
* editfns.c: Move systime.h include after lisp.h.
* dired.c:
* xsmfns.c:
* process.c: Likewise.
* alloc.c (old_malloc_hook, old_realloc_hook, old_realloc_hook):
Add parameter types.
(__malloc_hook, __realloc_hook, __free_hook): Fix prototypes.
(emacs_blocked_free): Change definition to match __free_hook.
(emacs_blocked_malloc): Change definition to match __malloc_hook.
(emacs_blocked_realloc): Change definition to match
__realloc_hook.
author | Dan Nicolaescu <dann@ics.uci.edu> |
---|---|
date | Fri, 30 Sep 2005 22:38:16 +0000 |
parents | 875dcc490074 |
children | e8a3fb527b77 532e0a9335a9 |
line wrap: on
line source
;;; url-irc.el --- IRC URL interface ;; Copyright (C) 1996, 1997, 1998, 1999, 2004, ;; 2005 Free Software Foundation, Inc. ;; Keywords: comm, data, processes ;; This file is part of GNU Emacs. ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to the ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ;; Boston, MA 02110-1301, USA. ;;; Commentary: ;; IRC URLs are defined in http://www.w3.org/Addressing/draft-mirashi-url-irc-01.txt ;;; Code: (require 'url-vars) (require 'url-parse) (defconst url-irc-default-port 6667 "Default port for IRC connections") (defcustom url-irc-function 'url-irc-zenirc "*Function to actually open an IRC connection. Should be a function that takes several argument: HOST - the hostname of the IRC server to contact PORT - the port number of the IRC server to contact CHANNEL - What channel on the server to visit right away (can be nil) USER - What username to use PASSWORD - What password to use" :type '(choice (const :tag "ZEN IRC" :value 'url-irc-zenirc) (function :tag "Other")) :group 'url) (defun url-irc-zenirc (host port channel user password) (let ((zenirc-buffer-name (if (and user host port) (format "%s@%s:%d" user host port) (format "%s:%d" host port))) (zenirc-server-alist (list (list host port password nil user)))) (zenirc) (goto-char (point-max)) (if (not channel) nil (insert "/join " channel) (zenirc-send-line)))) ;;;###autoload (defun url-irc (url) (let* ((host (url-host url)) (port (url-port url)) (pass (url-password url)) (user (url-user url)) (chan (url-filename url))) (if (url-target url) (setq chan (concat chan "#" (url-target url)))) (if (string-match "^/" chan) (setq chan (substring chan 1 nil))) (if (= (length chan) 0) (setq chan nil)) (funcall url-irc-function host port chan user pass) nil)) (provide 'url-irc) ;;; arch-tag: 2e5eecf8-9eb3-436b-9fbd-c26f2fb2bf3e ;;; url-irc.el ends here