X-Git-Url: https://cgit.sxemacs.org/?p=riece;a=blobdiff_plain;f=lisp%2Friece-emacs.el;h=bd21b5e3048f725780280fdf577f24579514ac8c;hp=1cfddda5512583cd9848b06c24aced29b53f21a5;hb=1b78545e7589bafe056d3eb41117d78c249e0133;hpb=901672044dcd8a48b9a34103c42ce0c204492380 diff --git a/lisp/riece-emacs.el b/lisp/riece-emacs.el index 1cfddda..bd21b5e 100644 --- a/lisp/riece-emacs.el +++ b/lisp/riece-emacs.el @@ -103,6 +103,25 @@ (defalias 'riece-facep 'facep) +;;; stolen (and renamed) from emacsbug.el. +(defun riece-recent-messages (n) + "Return N most recent messages, most recent first. +If N is nil, all messages will be returned." + (let ((message-buf (get-buffer "*Messages*"))) + (if message-buf + (with-temp-buffer + (let (beg-pos end-pos) + (with-current-buffer message-buf + (setq end-pos (goto-char (point-max))) + (if n + (progn + (forward-line (- n)) + (setq beg-pos (point))) + (setq beg-pos (point-min)))) + (insert-buffer-substring message-buf beg-pos end-pos) + (reverse-region (point-min) (point-max)) + (buffer-string)))))) + (provide 'riece-emacs) ;;; riece-emacs.el ends here