(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
(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
(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)))
+
(provide 'riece-xemacs)
;;; riece-xemacs.el ends here