X-Git-Url: https://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Friece-xemacs.el;h=70735ace2a31e535443acb3df74e5c0c86964b6a;hb=7f7c2c5a7c7a658da6603437498a6d222b76c1e6;hp=72efb4c0a7ce34e566ba247c1d8d81ecfa70ddf8;hpb=5db60d6053bc53f4f90cfd1afa3c1c40b8b6d762;p=riece diff --git a/lisp/riece-xemacs.el b/lisp/riece-xemacs.el index 72efb4c..70735ac 100644 --- a/lisp/riece-xemacs.el +++ b/lisp/riece-xemacs.el @@ -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,69 @@ 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))) + (provide 'riece-xemacs) ;;; riece-xemacs.el ends here