# HG changeset patch # User Gerd Moellmann # Date 1016999218 0 # Node ID 444bd245e176911a5a2f19362fd736e33825a648 # Parent f98a45180266510a04690a0f1a7cd9fd885a9204 (macro-declaration-function): New function. Set the variable macro-declaration-function to it. diff -r f98a45180266 -r 444bd245e176 lisp/subr.el --- a/lisp/subr.el Sun Mar 24 19:17:10 2002 +0000 +++ b/lisp/subr.el Sun Mar 24 19:46:58 2002 +0000 @@ -1,6 +1,6 @@ ;;; subr.el --- basic lisp subroutines for Emacs -;; Copyright (C) 1985, 86, 92, 94, 95, 99, 2000, 2001 +;; Copyright (C) 1985, 86, 92, 94, 95, 99, 2000, 2001, 2002 ;; Free Software Foundation, Inc. ;; This file is part of GNU Emacs. @@ -32,6 +32,24 @@ (defun custom-declare-variable-early (&rest arguments) (setq custom-declare-variable-list (cons arguments custom-declare-variable-list))) + + +(defun macro-declaration-function (macro decl) + "Process a declaration found in a macro definition. +This is set as the value of the variable `macro-declaration-function'. +MACRO is the name of the macro being defined. +DECL is a list `(declare ...)' containing the declarations. +The return value of this function is not used." + (dolist (d (cdr decl)) + (cond ((and (consp d) (eq (car d) 'indent)) + (put macro 'lisp-indent-function (cadr d))) + ((and (consp d) (eq (car d) 'debug)) + (put macro 'edebug-form-spec (cadr d))) + (t + (message "Unknown declaration %s" d))))) + +(setq macro-declaration-function 'macro-declaration-function) + ;;;; Lisp language features.