Skip to content
Fetching contributors…
Cannot retrieve contributors at this time
82 lines (70 sloc) 2.79 KB
;;
;; Copyright (c) 2005-2012 uim Project http://code.google.com/p/uim/
;;
;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or
;; without modification, are permitted provided that the
;; following conditions are met:
;;
;; 1. Redistributions of source code must retain the above
;; copyright notice, this list of conditions and the
;; following disclaimer.
;; 2. Redistributions in binary form must reproduce the above
;; copyright notice, this list of conditions and the
;; following disclaimer in the documentation and/or other
;; materials provided with the distribution.
;; 3. Neither the name of authors nor the names of its
;; contributors may be used to endorse or promote products
;; derived from this software without specific prior written
;; permission.
;;
;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
;; CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
;; INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
;; MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
;; DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
;; CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
;; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
;; NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
;; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
;; HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
;; CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
;; OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
;;
(defvar uim-debug-enable nil)
(defvar uim-debug-buffer nil)
(defconst uim-debug-buffer-name "uim-debug")
(defvar uim-timestamp-list nil)
(defun uim-debug (msg)
(if uim-debug-enable
(progn
(if (not uim-debug-buffer)
(setq uim-debug-buffer (get-buffer-create uim-debug-buffer-name)))
(save-current-buffer
(set-buffer uim-debug-buffer)
(goto-char 0)
(insert msg)
(insert "\n")))))
(defun uim-timestamp (name)
(setq uim-timestamp-list (append uim-timestamp-list
(list (list (current-time) name)))))
(defun uim-reset-timestamp ()
(setq uim-timestamp-list nil))
(defun uim-show-timestamp ()
(let (sec1 sec2 microsec current (start 0))
(while uim-timestamp-list
(setq sec1 (nth 0 (caar uim-timestamp-list)))
(setq sec2 (nth 1 (caar uim-timestamp-list)))
(setq microsec (nth 2 (caar uim-timestamp-list)))
(setq current (+ (* (+ (lsh sec1 16) sec2) 1000) (/ microsec 1000)))
(if (= start 0)
(setq start current))
(uim-debug (format "%5d :%s (%d)"
(- current start)
(car (cdar uim-timestamp-list))
(memory-limit)
))
(setq uim-timestamp-list (cdr uim-timestamp-list)))))
(provide 'uim-debug)
Something went wrong with that request. Please try again.