X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=mime-def.el;h=00f4d54c39b35e585a6978c1ee9a27377853152d;hb=3c07ee018fb2fa3178e4eef483aee0326a2a52a6;hp=b6dfe201407027cba5eb5d7d4cb4b71aae4ae984;hpb=8352b732ac2a1f27294120ac06c34944095a2ea6;p=elisp%2Fflim.git diff --git a/mime-def.el b/mime-def.el index b6dfe20..00f4d54 100644 --- a/mime-def.el +++ b/mime-def.el @@ -1,6 +1,6 @@ ;;; mime-def.el --- definition module about MIME -;; Copyright (C) 1995,1996,1997,1998 Free Software Foundation, Inc. +;; Copyright (C) 1995,1996,1997,1998,1999 Free Software Foundation, Inc. ;; Author: MORIOKA Tomohiko ;; Keywords: definition, MIME, multimedia, mail, news @@ -27,7 +27,7 @@ (require 'mcharset) (eval-and-compile - (defconst mime-library-product ["FLAM-DOODLE" (1 11 1) "葡萄茶 5.0R4.0/11.0"] + (defconst mime-library-product ["FLAM-DOODLE" (1 12 2) "代赭 10R4.5/8.0"] "Product name, version number and code name of MIME-library package.") ) @@ -72,12 +72,6 @@ ;;; @ required functions ;;; -(defsubst eliminate-top-spaces (string) - "Eliminate top sequence of space or tab in STRING." - (if (string-match "^[ \t]+" string) - (substring string (match-end 0)) - string)) - (defsubst regexp-* (regexp) (concat regexp "*")) @@ -105,8 +99,11 @@ ;;; @ about MIME ;;; -(defconst mime-tspecials "][()<>@,\;:\\\"/?=") -(defconst mime-token-regexp (concat "[^" mime-tspecials "\000-\040]+")) +(defconst mime-tspecial-char-list + '(?\] ?\[ ?\( ?\) ?< ?> ?@ ?, ?\; ?: ?\\ ?\" ?/ ?? ?=)) +(defconst mime-token-regexp + (eval-when-compile + (concat "[^" mime-tspecial-char-list "\000-\040]+"))) (defconst mime-charset-regexp mime-token-regexp) (defconst mime-media-type/subtype-regexp @@ -402,13 +399,27 @@ specialized parameter. (car (car ARGS)) is name of variable and (nth )))) (put 'mm-define-method 'lisp-indent-function 'defun) -(def-edebug-spec mm-define-method - (&define name ((arg symbolp) - [&rest arg] - [&optional ["&optional" arg &rest arg]] - &optional ["&rest" arg] - ) - def-body)) + +(eval-when-compile + (defmacro eval-module-depended-macro (module definition) + (condition-case nil + (progn + (require (eval module)) + definition) + (error `(eval-after-load ,(symbol-name (eval module)) ',definition)) + )) + ) + +(eval-module-depended-macro + 'edebug + (def-edebug-spec mm-define-method + (&define name ((arg symbolp) + [&rest arg] + [&optional ["&optional" arg &rest arg]] + &optional ["&rest" arg] + ) + def-body)) + ) (defsubst mm-arglist-to-arguments (arglist) (let (dest)