about summary refs log tree commit diff
path: root/configs/shared/emacs/.emacs.d/elpa/log4e-20170401.1304/log4e.el
diff options
context:
space:
mode:
Diffstat (limited to 'configs/shared/emacs/.emacs.d/elpa/log4e-20170401.1304/log4e.el')
-rw-r--r--configs/shared/emacs/.emacs.d/elpa/log4e-20170401.1304/log4e.el592
1 files changed, 0 insertions, 592 deletions
diff --git a/configs/shared/emacs/.emacs.d/elpa/log4e-20170401.1304/log4e.el b/configs/shared/emacs/.emacs.d/elpa/log4e-20170401.1304/log4e.el
deleted file mode 100644
index 524379430a36..000000000000
--- a/configs/shared/emacs/.emacs.d/elpa/log4e-20170401.1304/log4e.el
+++ /dev/null
@@ -1,592 +0,0 @@
-;;; log4e.el --- provide logging framework for elisp
-
-;; Copyright (C) 2013  Hiroaki Otsu
-
-;; Author: Hiroaki Otsu <ootsuhiroaki@gmail.com>
-;; Keywords: log
-;; Package-Version: 20170401.1304
-;; URL: https://github.com/aki2o/log4e
-;; Version: 0.3.1
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; 
-;; This extension provides logging framework for elisp.
-
-;;; Dependency:
-;; 
-;; Nothing.
-
-;;; Installation:
-;;
-;; Put this to your load-path.
-;; And put the following lines in your elisp file.
-;; 
-;; (require 'log4e)
-
-;;; Configuration:
-;; 
-;; See <https://github.com/aki2o/log4e/blob/master/README.md>
-;; Otherwise, eval following sexp.
-;; (describe-function 'log4e:deflogger)
-
-;;; API:
-;; 
-;; [EVAL] (autodoc-document-lisp-buffer :type 'command :prefix "log4e:" :docstring t)
-;; `log4e:next-log'
-;; Move to start of next log on log4e-mode.
-;; `log4e:previous-log'
-;; Move to start of previous log on log4e-mode.
-;; `log4e:insert-start-log-quickly'
-;; Insert logging statment for trace level log at start of current function/macro.
-;; 
-;;  *** END auto-documentation
-;; 
-;; For detail, see <https://github.com/aki2o/log4e/blob/master/README.md>
-;; 
-;; [Note] Other than listed above, Those specifications may be changed without notice.
-
-;;; Tested On:
-;; 
-;; - Emacs ... GNU Emacs 23.3.1 (i386-mingw-nt5.1.2600) of 2011-08-15 on GNUPACK
-
-
-;; Enjoy!!!
-
-
-;;; Code:
-(eval-when-compile (require 'cl))
-(require 'rx)
-
-
-(defconst log4e-log-level-alist '((fatal . 6)
-                                  (error . 5)
-                                  (warn  . 4)
-                                  (info  . 3)
-                                  (debug . 2)
-                                  (trace . 1))
-  "Alist of log level value.")
-
-(defconst log4e-default-logging-function-name-alist '((fatal . "log-fatal")
-                                                      (error . "log-error")
-                                                      (warn  . "log-warn")
-                                                      (info  . "log-info")
-                                                      (debug . "log-debug")
-                                                      (trace . "log-trace"))
-  "Alist of logging function name at default.")
-
-
-(defmacro log4e--def-symmaker (symnm)
-  `(progn
-     (defsubst ,(intern (concat "log4e--make-symbol-" symnm)) (prefix)
-       (intern (concat ,(format "log4e--%s-" symnm) prefix)))))
-
-(log4e--def-symmaker "log-buffer")
-(log4e--def-symmaker "msg-buffer")
-(log4e--def-symmaker "log-template")
-(log4e--def-symmaker "time-template")
-(log4e--def-symmaker "min-level")
-(log4e--def-symmaker "max-level")
-(log4e--def-symmaker "toggle-logging")
-(log4e--def-symmaker "toggle-debugging")
-(log4e--def-symmaker "buffer-coding-system")
-(log4e--def-symmaker "author-mail-address")
-
-(defmacro log4e--def-level-logger (prefix suffix level)
-  (let ((argform (if suffix
-                     '(msg &rest msgargs)
-                   '(level msg &rest msgargs)))
-        (buff (log4e--make-symbol-log-buffer prefix))
-        (codsys (log4e--make-symbol-buffer-coding-system prefix))
-        (logtmpl (log4e--make-symbol-log-template prefix))
-        (timetmpl (log4e--make-symbol-time-template prefix))
-        (minlvl (log4e--make-symbol-min-level prefix))
-        (maxlvl (log4e--make-symbol-max-level prefix))
-        (logging-p (log4e--make-symbol-toggle-logging prefix)))
-    `(progn
-
-       ;; Define logging function
-       (defun ,(intern (concat prefix "--" (or suffix "log"))) ,argform
-         ,(format "Do logging for %s level log.
-%sMSG/MSGARGS are passed to `format'."
-                  (or (eval level) "any")
-                  (if suffix "" "LEVEL is symbol as a log level in '(trace debug info warn error fatal).\n"))
-         (let ((log4e--current-msg-buffer ,(log4e--make-symbol-msg-buffer prefix)))
-           (apply 'log4e--logging ,buff ,codsys ,logtmpl ,timetmpl ,minlvl ,maxlvl ,logging-p ,(if suffix level 'level) msg msgargs)))
-       
-       ;; Define logging macro
-       (defmacro ,(intern (concat prefix "--" (or suffix "log") "*")) ,argform
-         ,(format "Do logging for %s level log.
-%sMSG/MSGARGS are passed to `format'.
-Evaluation of MSGARGS is invoked only if %s level log should be printed."
-                  (or (eval level) "any")
-                  (if suffix "" "LEVEL is symbol as a log level in '(trace debug info warn error fatal).\n")
-                  (or (eval level) "the"))
-         (let ((prefix ,prefix)
-               (suffix ,suffix)
-               (level ',level)
-               (msg msg)
-               (msgargs msgargs)
-               (buff (log4e--make-symbol-log-buffer ,prefix))
-               (codsys (log4e--make-symbol-buffer-coding-system ,prefix))
-               (logtmpl (log4e--make-symbol-log-template ,prefix))
-               (timetmpl (log4e--make-symbol-time-template ,prefix))
-               (minlvl (log4e--make-symbol-min-level ,prefix))
-               (maxlvl (log4e--make-symbol-max-level ,prefix))
-               (logging-p (log4e--make-symbol-toggle-logging ,prefix)))
-           `(let ((log4e--current-msg-buffer ,(log4e--make-symbol-msg-buffer prefix)))
-              (when (and ,logging-p
-                         (log4e--logging-level-p ,minlvl ,maxlvl ,level))
-                (log4e--logging ,buff ,codsys ,logtmpl ,timetmpl ,minlvl ,maxlvl ,logging-p ,(if suffix level 'level) ,msg ,@msgargs)))))
-       
-       )))
-
-(defsubst log4e--logging-level-p (minlevel maxlevel currlevel)
-  (let ((minlvlvalue (or (assoc-default minlevel log4e-log-level-alist)
-                         1))
-        (maxlvlvalue (or (assoc-default maxlevel log4e-log-level-alist)
-                         6))
-        (currlvlvalue (or (assoc-default currlevel log4e-log-level-alist)
-                          0)))
-    (and (>= currlvlvalue minlvlvalue)
-         (<= currlvlvalue maxlvlvalue))))
-
-(defsubst log4e--get-or-create-log-buffer (buffnm &optional codesys)
-  (or (get-buffer buffnm)
-      (let ((buff (get-buffer-create buffnm)))
-        (with-current-buffer buff
-          (log4e-mode)
-          (when codesys
-            (setq buffer-file-coding-system codesys)))
-        buff)))
-
-(defvar log4e--regexp-msg-format
-  (rx-to-string `(and "%"
-                      (* (any "+#-0"))        ; flags
-                      (* (any "0-9"))         ; width
-                      (? "." (+ (any "0-9"))) ; precision
-                      (any "a-zA-Z"))))
-
-(defsubst log4e--insert-log (logtmpl timetmpl level msg msgargs propertize-p)
-  (let ((timetext (format-time-string timetmpl))
-        (lvltext (format "%-05s" (upcase (symbol-name level))))
-        (buffer-read-only nil))
-    (when propertize-p
-      (put-text-property 0 (length timetext) 'face 'font-lock-doc-face timetext)
-      (put-text-property 0 (length lvltext) 'face 'font-lock-keyword-face lvltext))
-    (let* ((logtext logtmpl)
-           (logtext (replace-regexp-in-string "%t" timetext logtext))
-           (logtext (replace-regexp-in-string "%l" lvltext logtext))
-           (logtext (replace-regexp-in-string "%m" msg logtext))
-           (begin (point)))
-      (insert logtext "\n")
-      (when propertize-p
-        (put-text-property begin (+ begin 1) 'log4e--level level))
-      (loop initially (goto-char begin)
-            while (and msgargs
-                       (re-search-forward log4e--regexp-msg-format nil t))
-            for currtype = (match-string-no-properties 0)
-            for currarg = (pop msgargs)
-            for failfmt = nil
-            for currtext = (condition-case e
-                               (format currtype currarg)
-                             (error (setq failfmt t)
-                                    (format "=%s=" (error-message-string e))))
-            if propertize-p
-            do (ignore-errors
-                 (cond (failfmt (put-text-property 0 (length currtext) 'face 'font-lock-warning-face currtext))
-                       (t       (put-text-property 0 (length currtext) 'face 'font-lock-string-face currtext))))
-            do (replace-match currtext t t))
-      (goto-char begin))))
-
-(defvar log4e--current-msg-buffer nil)
-
-;; We needs this signature be stay for other compiled plugins using old version
-(defun log4e--logging (buffnm codsys logtmpl timetmpl minlevel maxlevel logging-p level msg &rest msgargs)
-  (when (and logging-p
-             (log4e--logging-level-p minlevel maxlevel level))
-    (save-match-data
-      (with-current-buffer (log4e--get-or-create-log-buffer buffnm codsys)
-        (goto-char (point-max))
-        (let* ((buffer-read-only nil)
-               (begin (point))
-               (currlog (progn
-                          (log4e--insert-log logtmpl timetmpl level msg msgargs t)
-                          (goto-char (point-max))
-                          (buffer-substring-no-properties begin (point))))
-               (msgbuf (or (when (and log4e--current-msg-buffer
-                                      (not (eq log4e--current-msg-buffer t)))
-                             (ignore-errors (get-buffer log4e--current-msg-buffer)))
-                           log4e--current-msg-buffer)))
-          (when msgbuf
-            (let ((standard-output (if (buffer-live-p msgbuf)
-                                       msgbuf
-                                     standard-output)))
-              (princ currlog))))
-        nil))))
-
-(defun log4e--get-current-log-line-level ()
-  (save-excursion
-    (beginning-of-line)
-    (get-text-property (point) 'log4e--level)))
-
-;; We needs this signature be stay for other plugins compiled with this old version
-(defun log4e--clear-log (buffnm)
-  (with-current-buffer (log4e--get-or-create-log-buffer buffnm)
-    (setq buffer-read-only nil)
-    (erase-buffer)))
-
-;; We needs this signature be stay for other plugins compiled with this old version
-(defun log4e--open-log (buffnm)
-  (let* ((buff (get-buffer buffnm)))
-    (if (not (buffer-live-p buff))
-        (message "[Log4E] Not exist log buffer.")
-      (with-current-buffer buff
-        (setq buffer-read-only t))
-      (pop-to-buffer buff))))
-
-;; We needs this signature be stay for other plugins compiled with this old version
-(defun log4e--open-log-if-debug (buffnm dbg)
-  (when dbg
-    (log4e--open-log buffnm)))
-
-;; (defun log4e--send-report-if-not-debug (buffnm dbg addr prefix)
-;;   (let* ((buff (get-buffer buffnm)))
-;;     (when (and (not dbg)
-;;                (stringp addr)
-;;                (buffer-live-p buff))
-;;       (reporter-submit-bug-report addr prefix nil nil nil nil))))
-
-
-(defmacro log4e:deflogger (prefix msgtmpl timetmpl &optional log-function-name-custom-alist)
-  "Define the functions of logging for your elisp.
-
-Specification:
- After eval this, you can use the functions for supporting about logging. They are the following ...
- - do logging for each log level. Log level are trace, debug, info, warn, error and fatal.
- - set max and min log level.
- - switch logging.
- - switch debugging.
- - open and clear log buffer.
- - send bug report for you.
- For details, see Functions section.
-
-Argument:
- - PREFIX is string as your elisp prefix.
- - MSGTMPL is string as format of log. The following words has a special meaning.
-   - %t ... Replaced with time string. About it, see TIMETMPL argument.
-   - %l ... Replaced with log level. They are 'TRACE', 'DEBUG', 'INFO', 'WARN', 'ERROR', 'FATAL'.
-   - %m ... Replaced with log message that passed by you.
- - TIMETMPL is string as format of time. This value is passed to `format-time-string'.
- - LOG-FUNCTION-NAME-CUSTOM-ALIST is alist as the function name of logging.
-   - If this value is nil, define the following functions.
-      yourprefix--log-trace
-      yourprefix--log-debug
-      ...
-      yourprefix--log-fatal
-   - If you want to custom the name of them, give like the following value.
-      '((fatal . \"fatal\")
-        (error . \"error\")
-        (warn  . \"warn\")
-        (info  . \"info\")
-        (debug . \"debug\")
-        (trace . \"trace\"))
-     Then, define the following functions.
-      yourprefix--trace
-      yourprefix--debug
-      ...
-      yourprefix--fatal
-
-Functions:
- List all functions defined below. PREFIX is your prefix.
- - PREFIX--log-fatal    ... #1
- - PREFIX--log-error    ... #1
- - PREFIX--log-warn     ... #1
- - PREFIX--log-info     ... #1
- - PREFIX--log-debug    ... #1
- - PREFIX--log-trace    ... #1
- - PREFIX--log-fatal*   ... #2
- - PREFIX--log-error*   ... #2
- - PREFIX--log-warn*    ... #2
- - PREFIX--log-info*    ... #2
- - PREFIX--log-debug*   ... #2
- - PREFIX--log-trace*   ... #2
- - PREFIX--log
- - PREFIX--log-set-level
- - PREFIX--log-enable-logging            ... #3
- - PREFIX--log-disable-logging           ... #3
- - PREFIX--log-enable-messaging          ... #3
- - PREFIX--log-disable-messaging         ... #3
- - PREFIX--log-enable-debugging          ... #3
- - PREFIX--log-disable-debugging         ... #3
- - PREFIX--log-debugging-p
- - PREFIX--log-set-coding-system
- - PREFIX--log-set-author-mail-address
- - PREFIX--log-clear-log                 ... #3
- - PREFIX--log-open-log                  ... #3
- - PREFIX--log-open-log-if-debug
-
- #1 : You can customize this name
- #2 : Name is a #1 name + \"*\"
- #3 : This is command
-
-Example:
-;; If you develop elisp that has prefix \"hoge\", write and eval the following sexp in your elisp file.
-
- (require 'log4e)
- (log4e:deflogger \"hoge\" \"%t [%l] %m\" \"%H:%M:%S\")
-
-;; Eval the following
- (hoge--log-enable-logging)
-
-;; Then, write the following
-
- (defun hoge-do-hoge (hoge)
-   (if (not (stringp hoge))
-       (hoge--log-fatal \"failed do hoge : hoge is '%s'\" hoge)
-     (hoge--log-debug \"start do hoge about '%s'\" hoge)
-     (message \"hoge!\")
-     (hoge--log-info \"done hoge about '%s'\" hoge)))
-
-;; Eval the following
- (hoge-do-hoge \"HOGEGE\")
-
-;; Do M-x hoge--log-open-log
-;; Open the buffer which name is \" *log4e-hoge*\". The buffer string is below
-12:34:56 [INFO ] done hoge about 'HOGEGE'
-
-;; Eval the following
- (hoge--log-set-level 'trace)
- (hoge-do-hoge \"FUGAGA\")
-
-;; Do M-x hoge--log-open-log
-;; Open the buffer. its string is below
-12:34:56 [INFO ] done hoge about 'HOGEGE'
-12:35:43 [DEBUG] start do hoge about 'FUGAGA'
-12:35:43 [INFO ] done hoge about 'FUGAGA'
- 
-"
-  (declare (indent 0))
-  (if (or (not (stringp prefix))   (string= prefix "")
-          (not (stringp msgtmpl))  (string= msgtmpl "")
-          (not (stringp timetmpl)) (string= timetmpl ""))
-      (message "[LOG4E] invalid argument of deflogger")
-    (let* ((bufsym (log4e--make-symbol-log-buffer prefix))
-           (msgbufsym (log4e--make-symbol-msg-buffer prefix))
-           (logtmplsym (log4e--make-symbol-log-template prefix))
-           (timetmplsym (log4e--make-symbol-time-template prefix))
-           (minlvlsym (log4e--make-symbol-min-level prefix))
-           (maxlvlsym (log4e--make-symbol-max-level prefix))
-           (tglsym (log4e--make-symbol-toggle-logging prefix))
-           (dbgsym (log4e--make-symbol-toggle-debugging prefix))
-           (codsyssym (log4e--make-symbol-buffer-coding-system prefix))
-           (addrsym (log4e--make-symbol-author-mail-address prefix))
-           (funcnm-alist (loop with custom-alist = (car (cdr log-function-name-custom-alist))
-                                  for lvl in '(fatal error warn info debug trace)
-                                  for lvlpair = (assq lvl custom-alist)
-                                  for fname = (or (cdr-safe lvlpair) "")
-                                  collect (or (if (string-match "\*" fname)
-                                                  (progn
-                                                    (message "[LOG4E] ignore %s level name in log-function-name-custom-alist. can't use '*' for the name." lvl)
-                                                    nil)
-                                                lvlpair)
-                                              (assq lvl log4e-default-logging-function-name-alist)))))
-      `(progn
-
-         ;; Define variable for prefix
-         (defvar ,bufsym (format " *log4e-%s*" ,prefix))
-         (defvar ,logtmplsym ,msgtmpl)
-         (defvar ,timetmplsym ,timetmpl)
-         (defvar ,minlvlsym 'info)
-         (defvar ,maxlvlsym 'fatal)
-         (defvar ,tglsym nil)
-         (defvar ,msgbufsym nil)
-         (defvar ,dbgsym nil)
-         (defvar ,codsyssym nil)
-         (defvar ,addrsym nil)
-
-         ;; Define level set function
-         (defun ,(intern (concat prefix "--log-set-level")) (minlevel &optional maxlevel)
-           "Set range for doing logging.
-
-MINLEVEL is symbol of lowest level for doing logging. its default is 'info.
-MAXLEVEL is symbol of highest level for doing logging. its default is 'fatal."
-           (setq ,minlvlsym minlevel)
-           (setq ,maxlvlsym maxlevel))
-
-         ;; Define logging toggle function
-         (defun ,(intern (concat prefix "--log-enable-logging")) ()
-           "Enable logging by logging functions."
-           (interactive)
-           (setq ,tglsym t))
-         (defun ,(intern (concat prefix "--log-disable-logging")) ()
-           "Disable logging by logging functions."
-           (interactive)
-           (setq ,tglsym nil))
-
-         ;; Define messaging toggle function
-         (defun ,(intern (concat prefix "--log-enable-messaging")) (&optional buffer)
-           "Enable dump the log into other buffer by logging functions.
-
-BUFFER is a buffer dumped log into. nil means *Messages* buffer."
-           (interactive)
-           (setq ,msgbufsym (or buffer t)))
-         (defun ,(intern (concat prefix "--log-disable-messaging")) ()
-           "Disable dump the log into other buffer by logging functions."
-           (interactive)
-           (setq ,msgbufsym nil))
-
-         ;; Define debugging toggle function
-         (defun ,(intern (concat prefix "--log-enable-debugging")) ()
-           "Enable debugging and logging.
-
-`PREFIX--log-debugging-p' will return t."
-           (interactive)
-           (setq ,tglsym t)
-           (setq ,dbgsym t))
-         (defun ,(intern (concat prefix "--log-disable-debugging")) ()
-           "Disable debugging.
-
-`PREFIX--log-debugging-p' will return nil."
-           (interactive)
-           (setq ,dbgsym nil))
-         (defun ,(intern (concat prefix "--log-debugging-p")) ()
-           ,dbgsym)
-
-         ;; Define coding system set funtion
-         (defun ,(intern (concat prefix "--log-set-coding-system")) (coding-system)
-           "Set charset and linefeed of LOG-BUFFER.
-
-CODING-SYSTEM is symbol for setting to `buffer-file-coding-system'.
-LOG-BUFFER is a buffer which name is \" *log4e-PREFIX*\"."
-           (setq ,codsyssym coding-system))
-
-         ;;          ;; Define author mail set function
-         ;;          (defun ,(intern (concat prefix "--log-set-author-mail-address")) (before-atmark after-atmark)
-         ;;            "Set mail address of author for elisp that has PREFIX. This value is used SEND-REPORT.
-
-         ;; BEFORE-ATMARK is string as part of mail address. If your address is \"hoge@example.co.jp\", it is \"hoge\".
-         ;; AFTER-ATMARK is string as part of mail address. If your address is \"hoge@example.co.jp\", it is \"example.co.jp\".
-         ;; SEND-REPORT is `PREFIX--log-send-report-if-not-debug'."
-         ;;            (setq ,addrsym (concat before-atmark "@" after-atmark)))
-
-         ;; Define log buffer handle function
-         (defun ,(intern (concat prefix "--log-clear-log")) ()
-           "Clear buffer string of buffer which name is \" *log4e-PREFIX*\"."
-           (interactive)
-           (log4e--clear-log ,bufsym))
-         (defun ,(intern (concat prefix "--log-open-log")) ()
-           "Open buffer which name is \" *log4e-PREFIX*\"."
-           (interactive)
-           (log4e--open-log ,bufsym))
-         (defun ,(intern (concat prefix "--log-open-log-if-debug")) ()
-           "Open buffer which name is \" *log4e-PREFIX*\" if debugging is enabled."
-           (log4e--open-log-if-debug ,bufsym ,dbgsym))
-
-         ;;          ;; Define report send function
-         ;;          (defun ,(intern (concat prefix "--log-send-report-if-not-debug")) ()
-         ;;            "Send bug report to author if debugging is disabled.
-
-         ;; The author mailaddress is set by `PREFIX--log-set-author-mail-address'.
-         ;; About the way of sending bug report, see `reporter-submit-bug-report'."
-         ;;            (log4e--send-report-if-not-debug ,bufsym ,dbgsym ,addrsym ,prefix))
-
-         ;; Define each level logging function
-         (log4e--def-level-logger ,prefix nil nil)
-         (log4e--def-level-logger ,prefix ,(assoc-default 'fatal funcnm-alist) 'fatal)
-         (log4e--def-level-logger ,prefix ,(assoc-default 'error funcnm-alist) 'error)
-         (log4e--def-level-logger ,prefix ,(assoc-default 'warn  funcnm-alist) 'warn)
-         (log4e--def-level-logger ,prefix ,(assoc-default 'info  funcnm-alist) 'info)
-         (log4e--def-level-logger ,prefix ,(assoc-default 'debug funcnm-alist) 'debug)
-         (log4e--def-level-logger ,prefix ,(assoc-default 'trace funcnm-alist) 'trace)
-         
-         ))))
-
-
-;;;###autoload
-(define-derived-mode log4e-mode view-mode "Log4E"
-  "Major mode for browsing a buffer made by log4e.
-
-\\<log4e-mode-map>
-\\{log4e-mode-map}"
-  (define-key log4e-mode-map (kbd "J") 'log4e:next-log)
-  (define-key log4e-mode-map (kbd "K") 'log4e:previous-log))
-
-(defun log4e:next-log ()
-  "Move to start of next log on log4e-mode."
-  (interactive)
-  (let* ((level))
-    (while (and (not level)
-                (< (point) (point-max)))
-      (forward-line 1)
-      (setq level (log4e--get-current-log-line-level)))
-    level))
-
-(defun log4e:previous-log ()
-  "Move to start of previous log on log4e-mode."
-  (interactive)
-  (let* ((level))
-    (while (and (not level)
-                (> (point) (point-min)))
-      (forward-line -1)
-      (setq level (log4e--get-current-log-line-level)))
-    level))
-
-;;;###autoload
-(defun log4e:insert-start-log-quickly ()
-  "Insert logging statment for trace level log at start of current function/macro."
-  (interactive)
-  (let* ((fstartpt (when (re-search-backward "(\\(?:defun\\|defmacro\\|defsubst\\)\\*? +\\([^ ]+\\) +(\\([^)]*\\))" nil t)
-                     (point)))
-         (fncnm (when fstartpt (match-string-no-properties 1)))
-         (argtext (when fstartpt (match-string-no-properties 2)))
-         (prefix (save-excursion
-                   (goto-char (point-min))
-                   (loop while (re-search-forward "(log4e:deflogger[ \n]+\"\\([^\"]+\\)\"" nil t)
-                            for prefix = (match-string-no-properties 1)
-                            for currface = (get-text-property (match-beginning 0) 'face)
-                            if (not (eq currface 'font-lock-comment-face))
-                            return prefix))))
-    (when (and fstartpt prefix)
-      (let* ((fncnm (replace-regexp-in-string (concat "\\`" prefix "[^a-zA-Z0-9]+") "" fncnm))
-             (fncnm (replace-regexp-in-string "-" " " fncnm))
-             (argtext (replace-regexp-in-string "\n" " " argtext))
-             (argtext (replace-regexp-in-string "^ +" "" argtext))
-             (argtext (replace-regexp-in-string " +$" "" argtext))
-             (args (split-string argtext " +"))
-             (args (loop for arg in args
-                            if (and (not (string= arg ""))
-                                    (not (string-match "\\`&" arg)))
-                            collect arg))
-             (logtext (loop with ret = (format "start %s." fncnm)
-                               for arg in args
-                               do (setq ret (concat ret " " arg "[%s]"))
-                               finally return ret))
-             (sexpformat (loop with ret = "(%s--log 'trace \"%s\""
-                                  for arg in args
-                                  do (setq ret (concat ret " %s"))
-                                  finally return (concat ret ")")))
-             (inserttext (apply 'format sexpformat prefix logtext args)))
-        (forward-char)
-        (forward-sexp 3)
-        (when (re-search-forward "\\=[ \n]+\"" nil t)
-          (forward-char -1)
-          (forward-sexp))
-        (newline-and-indent)
-        (insert inserttext)))))
-
-
-(provide 'log4e)
-;;; log4e.el ends here