X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=lisp%2Friece-xemacs.el;h=4ebad2be331e8b83bcfe13b76de71030ce32a500;hb=bf2df5d4bf0f70c7f102eb924e352f83d46f3fa4;hp=72efb4c0a7ce34e566ba247c1d8d81ecfa70ddf8;hpb=2c51c5f4e3a1a3fc3eb6f2c3b9429462b2ba08cb;p=elisp%2Friece.git diff --git a/lisp/riece-xemacs.el b/lisp/riece-xemacs.el index 72efb4c..4ebad2b 100644 --- a/lisp/riece-xemacs.el +++ b/lisp/riece-xemacs.el @@ -18,8 +18,8 @@ ;; 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., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Code: @@ -39,22 +39,6 @@ (add-hook 'riece-user-list-mode-hook 'riece-xemacs-hide-modeline) (add-hook 'riece-channel-list-mode-hook 'riece-xemacs-hide-modeline) -(defun riece-xemacs-mode-line-buffer-identification (line) - "Decorate 1st element of `mode-line-buffer-identification' LINE. -Modify whole identification by side effect." - (let ((id (car line)) chop) - (if (and (stringp id) (string-match "^Riece:" id)) - (progn - (setq chop (match-end 0)) - (nconc - (list - (cons (copy-extent modeline-buffer-id-left-extent) - (substring id 0 chop)) - (cons (copy-extent modeline-buffer-id-right-extent) - (substring id chop))) - (cdr line))) - line))) - (defun riece-xemacs-simplify-modeline-format () "Remove unnecessary information from `modeline-format'." (setq modeline-format @@ -62,15 +46,9 @@ Modify whole identification by side effect." (delq 'modeline-multibyte-status (copy-sequence mode-line-format))))) -(defalias 'riece-mode-line-buffer-identification - 'riece-xemacs-mode-line-buffer-identification) - (defalias 'riece-simplify-mode-line-format 'riece-xemacs-simplify-modeline-format) -(defalias 'riece-set-case-syntax-pair - 'put-case-table-pair) - ;;; stolen (and renamed) from gnus-xmas.el. ;;; In GNU Emacs, user can intercept whole mouse tracking events by ;;; assigning [mouse-X]. In XEmacs, however, which causes different @@ -96,6 +74,71 @@ Modify whole identification by side effect." (defalias 'riece-overlay-start 'extent-start-position) (defalias 'riece-overlay-buffer 'extent-buffer) +(defun riece-overlays-in (start end) + (extent-list (current-buffer) start end)) + +(defalias 'riece-delete-overlay 'delete-extent) + +(defun riece-kill-all-overlays () + "Delete all extents in the current buffer." + (map-extents (lambda (extent ignore) + (delete-extent extent) + nil))) + +;;; stolen (and renamed) from nnheaderxm.el. +(defun riece-xemacs-generate-timer-name (&optional prefix) + (let ((counter '(0))) + (format "%s-%d" + (or prefix + "riece-xemacs-timer") + (prog1 (car counter) + (setcar counter (1+ (car counter))))))) + +(defun riece-run-at-time (time repeat function &rest args) + (let ((name (riece-xemacs-generate-timer-name "riece-run-at-time"))) + (start-itimer + name + `(lambda () + (,function ,@args)) + time repeat) + name)) + +(defun riece-run-with-idle-timer (time repeat function &rest args) + (let ((name (riece-xemacs-generate-timer-name "riece-run-with-idle-timer"))) + (start-itimer + name + `(lambda () + (,function ,@args)) + time (if repeat 1) t) + name)) + +(defalias 'riece-cancel-timer 'delete-itimer) + +(defun riece-match-string-no-properties (number &optional string) + (format "%s" (match-string number string))) + +(defun riece-propertize-modeline-string (string &rest properties) + (let ((extent (make-extent nil nil))) + (set-extent-properties extent properties) + (cons extent string))) + +(defalias 'riece-normalize-modeline-string 'identity) + +(defalias 'riece-facep 'find-face) + +(defun riece-put-text-property-nonsticky (start end prop value + &optional object) + (add-text-properties start end (list prop value 'start-open t 'end-open t) + object)) + +(defun riece-recent-messages (n) + "Return N most recent messages, most recent first. +If N is nil, all messages will be returned." + (with-output-to-string + (print-recent-messages n))) + +(defalias 'riece-remprop 'remprop) + (provide 'riece-xemacs) ;;; riece-xemacs.el ends here