/usr/share/emacs/site-lisp/mew/contrib/mew-edebug.el is in mew-beta 7.0.50~6.5+0.20140128-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | ;; mew-edebug.el --- Help for using edebug for macros in Mew
;; Author: Sen Nagata <sen@eccosys.com>
;; Created: Nov 11, 2001
;; Version: 0.3
;; Set-up:
;;
;; Put this file somewhere in your `load-path' and the following in
;; your .emacs:
;;
;; (add-hook 'mew-init-hook
;; '(lambda ()
;; (require 'mew-edebug)))
;;
;; Upon instrumenting a function with `edebug-defun',
;; `mew-edebug-macro-init' will be run to instrument Mew macros.
;; Issues:
;;
;; I've tested many of the macros below with edebug. Although most
;; appear to work, I experienced problems with some
;; (e.g. `mew-time-rfc-*'). I don't know what the problem is yet, but
;; my current suspicion is that it has something to do with
;; `defsubst'.
;;; Code:
(require 'mew)
(defvar mew-macro-names
'(
mew-header-encode-cond
mew-header-encode-cond2
mew-complete-proto-folder
mew-decode-narrow-to-header
mew-draft-privacy-switch
mew-summary-header-mode
mew-no-warning-defvar
mew-no-warning-defun
mew-ntake
mew-add-first
mew-addq
mew-insert-after
mew-replace-with
mew-remove-entry
mew-folder-insert
mew-folder-delete
mew-elet
mew-filter
mew-time-rfc-day
mew-time-rfc-mon
mew-time-rfc-year
mew-time-rfc-hour
mew-time-rfc-min
mew-time-rfc-sec
mew-time-rfc-tmzn
mew-rendezvous
mew-defstruct
mew-defstruct-constructor
mew-defstruct-s/getter
mew-addrstr-parse-syntax-list-check-depth
mew-mark-alist-set
mew-mode-input-file-name
mew-mode-input-directory-name
mew-plet
mew-piolet
mew-flet
mew-frwlet
mew-alet
mew-passwd-rendezvous
mew-dolist-eob
mew-pick-lex-cut
mew-summary-refilable
mew-msgid-check
mew-summary-msg-or-part
mew-summary-msg
mew-summary-part
mew-summary-multi-msgs
mew-summary-only
mew-virtual-only
mew-thread-only
mew-pickable
mew-summary-not-in-queue
mew-summary-not-in-draft
mew-summary-not-in-nntp
mew-summary-local-or-imap
mew-summary-local-only
mew-summary-with-mewl
mew-summary-prepare-draft
mew-setface
mew-setface-bold
mew-defface
mew-defface-bold
))
(defun mew-edebug-macro-init ()
"Call `def-edebug-spec' for each macro in `mew-macro-names'.
This function should be invoked before instrumenting a function for
use with edebug."
(interactive)
(let ((macro-names mew-macro-names))
(while macro-names
(eval `(def-edebug-spec ,(car macro-names) t))
(setq macro-names (cdr macro-names)))))
;; instrument Mew macros when edebug is used
(add-hook 'edebug-setup-hook
'(lambda ()
(mew-edebug-macro-init)))
(provide 'mew-edebug)
;;; Copyright Notice:
;; Copyright (C) 2001 Mew developing team.
;; 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 the team 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 TEAM 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 TEAM 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.
;;; mew-edebug.el ends here
|