;;; gmm-utils.el --- Utility functions for Gnus, Message and MML
-;; Copyright (C) 2006-2012 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2014 Free Software Foundation, Inc.
;; Author: Reiner Steib <reiner.steib@gmx.de>
;; Keywords: news
;; Copy of the `nnmail-lazy' code from `nnmail.el':
(define-widget 'gmm-lazy 'default
- "Base widget for recursive datastructures.
+ "Base widget for recursive data structures.
This is a copy of the `lazy' widget in Emacs 22.1 provided for compatibility."
:format "%{%t%}: %v"
(write-region start end filename append visit lockname))
(write-region start end filename append visit lockname mustbenew)))
-;; `flet' and `labels' got obsolete since Emacs 24.3.
+;; `interactive-p' is obsolete since Emacs 23.2.
+(defmacro gmm-called-interactively-p (kind)
+ (condition-case nil
+ (progn
+ (eval '(called-interactively-p 'any))
+ ;; Emacs >=23.2
+ `(called-interactively-p ,kind))
+ ;; Emacs <23.2
+ (wrong-number-of-arguments '(called-interactively-p))
+ ;; XEmacs
+ (void-function '(interactive-p))))
+
+;; `flet' and `labels' are obsolete since Emacs 24.3.
(defmacro gmm-flet (bindings &rest body)
"Make temporary overriding function definitions.
This is an analogue of a dynamically scoped `let' that operates on