diff options
| author | Stefan Monnier | 2010-08-30 15:03:05 +0200 |
|---|---|---|
| committer | Stefan Monnier | 2010-08-30 15:03:05 +0200 |
| commit | f291fe60fb9ed250ded34b6b9ed26e085f119a4e (patch) | |
| tree | b46060fd239d808d5873eb871ea4ccad8de9497b /lisp | |
| parent | cd196f125640597cb91f3f66ae2608c6923044fa (diff) | |
| download | emacs-f291fe60fb9ed250ded34b6b9ed26e085f119a4e.tar.gz emacs-f291fe60fb9ed250ded34b6b9ed26e085f119a4e.zip | |
Use `declare' in defmacros.
* lisp/window.el (save-selected-window):
* lisp/subr.el (with-temp-file, with-temp-message, with-syntax-table):
* lisp/progmodes/python.el (def-python-skeleton):
* lisp/net/dbus.el (dbus-ignore-errors):
* lisp/jka-cmpr-hook.el (with-auto-compression-mode):
* lisp/international/mule.el (with-category-table):
* lisp/emacs-lisp/timer.el (with-timeout):
* lisp/emacs-lisp/lisp-mnt.el (lm-with-file):
* lisp/emacs-lisp/eieio.el (with-slots):
* lisp/emacs-lisp/easymenu.el (easy-menu-define):
* lisp/emacs-lisp/debug.el (debugger-env-macro):
* lisp/emacs-lisp/cl-compat.el (Multiple-value-bind, Multiple-value-setq)
(Multiple-value-call, Multiple-value-prog1):
* lisp/emacs-lisp/cl-seq.el (cl-parsing-keywords, cl-check-key)
(cl-check-test-nokey, cl-check-test, cl-check-match): Move indent and
edebug rule to definition.
* lisp/emacs-lisp/lisp-mode.el (save-selected-window)
(with-current-buffer, combine-after-change-calls)
(with-output-to-string, with-temp-file, with-temp-buffer)
(with-temp-message, with-syntax-table, read-if, eval-after-load)
(dolist, dotimes, when, unless):
* lisp/emacs-lisp/byte-run.el (inline): Remove indent rule, redundant.
Diffstat (limited to 'lisp')
| -rw-r--r-- | lisp/ChangeLog | 30 | ||||
| -rw-r--r-- | lisp/emacs-lisp/byte-run.el | 1 | ||||
| -rw-r--r-- | lisp/emacs-lisp/cl-compat.el | 9 | ||||
| -rw-r--r-- | lisp/emacs-lisp/cl-seq.el | 12 | ||||
| -rw-r--r-- | lisp/emacs-lisp/debug.el | 2 | ||||
| -rw-r--r-- | lisp/emacs-lisp/easymenu.el | 3 | ||||
| -rw-r--r-- | lisp/emacs-lisp/eieio.el | 3 | ||||
| -rw-r--r-- | lisp/emacs-lisp/lisp-mnt.el | 4 | ||||
| -rw-r--r-- | lisp/emacs-lisp/lisp-mode.el | 14 | ||||
| -rw-r--r-- | lisp/emacs-lisp/timer.el | 3 | ||||
| -rw-r--r-- | lisp/international/mule.el | 3 | ||||
| -rw-r--r-- | lisp/jka-cmpr-hook.el | 3 | ||||
| -rw-r--r-- | lisp/net/dbus.el | 4 | ||||
| -rw-r--r-- | lisp/progmodes/python.el | 2 | ||||
| -rw-r--r-- | lisp/subr.el | 9 | ||||
| -rw-r--r-- | lisp/window.el | 1 |
16 files changed, 52 insertions, 51 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 63aeae241c4..74f4c73fb7d 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,29 @@ | |||
| 1 | 2010-08-30 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | Use `declare' in defmacros. | ||
| 4 | * window.el (save-selected-window): | ||
| 5 | * subr.el (with-temp-file, with-temp-message, with-syntax-table): | ||
| 6 | * progmodes/python.el (def-python-skeleton): | ||
| 7 | * net/dbus.el (dbus-ignore-errors): | ||
| 8 | * jka-cmpr-hook.el (with-auto-compression-mode): | ||
| 9 | * international/mule.el (with-category-table): | ||
| 10 | * emacs-lisp/timer.el (with-timeout): | ||
| 11 | * emacs-lisp/lisp-mnt.el (lm-with-file): | ||
| 12 | * emacs-lisp/eieio.el (with-slots): | ||
| 13 | * emacs-lisp/easymenu.el (easy-menu-define): | ||
| 14 | * emacs-lisp/debug.el (debugger-env-macro): | ||
| 15 | * emacs-lisp/cl-compat.el (Multiple-value-bind, Multiple-value-setq) | ||
| 16 | (Multiple-value-call, Multiple-value-prog1): | ||
| 17 | * emacs-lisp/cl-seq.el (cl-parsing-keywords, cl-check-key) | ||
| 18 | (cl-check-test-nokey, cl-check-test, cl-check-match): Move indent and | ||
| 19 | edebug rule to definition. | ||
| 20 | * emacs-lisp/lisp-mode.el (save-selected-window) | ||
| 21 | (with-current-buffer, combine-after-change-calls) | ||
| 22 | (with-output-to-string, with-temp-file, with-temp-buffer) | ||
| 23 | (with-temp-message, with-syntax-table, read-if, eval-after-load) | ||
| 24 | (dolist, dotimes, when, unless): | ||
| 25 | * emacs-lisp/byte-run.el (inline): Remove indent rule, redundant. | ||
| 26 | |||
| 1 | 2010-08-29 Chong Yidong <cyd@stupidchicken.com> | 27 | 2010-08-29 Chong Yidong <cyd@stupidchicken.com> |
| 2 | 28 | ||
| 3 | * finder.el: Require `package'. | 29 | * finder.el: Require `package'. |
| @@ -7,8 +33,8 @@ | |||
| 7 | (finder-compile-keywords): Compute package--builtins and | 33 | (finder-compile-keywords): Compute package--builtins and |
| 8 | finder-keywords-hash instead of finder-keywords-hash, respecting | 34 | finder-keywords-hash instead of finder-keywords-hash, respecting |
| 9 | the "Package" header. | 35 | the "Package" header. |
| 10 | (finder-unknown-keywords, finder-list-matches): Use | 36 | (finder-unknown-keywords, finder-list-matches): |
| 11 | finder-keywords-hash and package--list-packages. | 37 | Use finder-keywords-hash and package--list-packages. |
| 12 | (finder-mode): Don't set font-lock-defaults. | 38 | (finder-mode): Don't set font-lock-defaults. |
| 13 | (finder-exit): We don't use "*Finder-package*" and "*Finder | 39 | (finder-exit): We don't use "*Finder-package*" and "*Finder |
| 14 | Category*" buffers anymore. | 40 | Category*" buffers anymore. |
diff --git a/lisp/emacs-lisp/byte-run.el b/lisp/emacs-lisp/byte-run.el index a6273f8c484..6ce141eb8e6 100644 --- a/lisp/emacs-lisp/byte-run.el +++ b/lisp/emacs-lisp/byte-run.el | |||
| @@ -66,7 +66,6 @@ The return value of this function is not used." | |||
| 66 | ;; Redefined in byte-optimize.el. | 66 | ;; Redefined in byte-optimize.el. |
| 67 | ;; This is not documented--it's not clear that we should promote it. | 67 | ;; This is not documented--it's not clear that we should promote it. |
| 68 | (fset 'inline 'progn) | 68 | (fset 'inline 'progn) |
| 69 | (put 'inline 'lisp-indent-function 0) | ||
| 70 | 69 | ||
| 71 | ;;; Interface to inline functions. | 70 | ;;; Interface to inline functions. |
| 72 | 71 | ||
diff --git a/lisp/emacs-lisp/cl-compat.el b/lisp/emacs-lisp/cl-compat.el index d9e926cc41d..f4923b6f8c6 100644 --- a/lisp/emacs-lisp/cl-compat.el +++ b/lisp/emacs-lisp/cl-compat.el | |||
| @@ -71,11 +71,6 @@ | |||
| 71 | ;;; by capitalizing the first letter: Values, Multiple-value-*, | 71 | ;;; by capitalizing the first letter: Values, Multiple-value-*, |
| 72 | ;;; to avoid conflict with the new-style definitions in cl-macs. | 72 | ;;; to avoid conflict with the new-style definitions in cl-macs. |
| 73 | 73 | ||
| 74 | (put 'Multiple-value-bind 'lisp-indent-function 2) | ||
| 75 | (put 'Multiple-value-setq 'lisp-indent-function 2) | ||
| 76 | (put 'Multiple-value-call 'lisp-indent-function 1) | ||
| 77 | (put 'Multiple-value-prog1 'lisp-indent-function 1) | ||
| 78 | |||
| 79 | (defvar *mvalues-values* nil) | 74 | (defvar *mvalues-values* nil) |
| 80 | 75 | ||
| 81 | (defun Values (&rest val-forms) | 76 | (defun Values (&rest val-forms) |
| @@ -91,18 +86,22 @@ | |||
| 91 | (list *mvalues-temp*)))) | 86 | (list *mvalues-temp*)))) |
| 92 | 87 | ||
| 93 | (defmacro Multiple-value-call (function &rest args) | 88 | (defmacro Multiple-value-call (function &rest args) |
| 89 | (declare (indent 1)) | ||
| 94 | (list 'apply function | 90 | (list 'apply function |
| 95 | (cons 'append | 91 | (cons 'append |
| 96 | (mapcar (function (lambda (x) (list 'Multiple-value-list x))) | 92 | (mapcar (function (lambda (x) (list 'Multiple-value-list x))) |
| 97 | args)))) | 93 | args)))) |
| 98 | 94 | ||
| 99 | (defmacro Multiple-value-bind (vars form &rest body) | 95 | (defmacro Multiple-value-bind (vars form &rest body) |
| 96 | (declare (indent 2)) | ||
| 100 | (list* 'multiple-value-bind vars (list 'Multiple-value-list form) body)) | 97 | (list* 'multiple-value-bind vars (list 'Multiple-value-list form) body)) |
| 101 | 98 | ||
| 102 | (defmacro Multiple-value-setq (vars form) | 99 | (defmacro Multiple-value-setq (vars form) |
| 100 | (declare (indent 2)) | ||
| 103 | (list 'multiple-value-setq vars (list 'Multiple-value-list form))) | 101 | (list 'multiple-value-setq vars (list 'Multiple-value-list form))) |
| 104 | 102 | ||
| 105 | (defmacro Multiple-value-prog1 (form &rest body) | 103 | (defmacro Multiple-value-prog1 (form &rest body) |
| 104 | (declare (indent 1)) | ||
| 106 | (list 'prog1 form (list* 'let '((*mvalues-values* nil)) body))) | 105 | (list 'prog1 form (list* 'let '((*mvalues-values* nil)) body))) |
| 107 | 106 | ||
| 108 | 107 | ||
diff --git a/lisp/emacs-lisp/cl-seq.el b/lisp/emacs-lisp/cl-seq.el index 5bed71b2ed7..a5070e4acea 100644 --- a/lisp/emacs-lisp/cl-seq.el +++ b/lisp/emacs-lisp/cl-seq.el | |||
| @@ -48,6 +48,7 @@ | |||
| 48 | ;;; this file independent from cl-macs. | 48 | ;;; this file independent from cl-macs. |
| 49 | 49 | ||
| 50 | (defmacro cl-parsing-keywords (kwords other-keys &rest body) | 50 | (defmacro cl-parsing-keywords (kwords other-keys &rest body) |
| 51 | (declare (indent 2) (debug (sexp sexp &rest form))) | ||
| 51 | (cons | 52 | (cons |
| 52 | 'let* | 53 | 'let* |
| 53 | (cons (mapcar | 54 | (cons (mapcar |
| @@ -84,13 +85,13 @@ | |||
| 84 | (car cl-keys-temp))) | 85 | (car cl-keys-temp))) |
| 85 | '(setq cl-keys-temp (cdr (cdr cl-keys-temp))))))) | 86 | '(setq cl-keys-temp (cdr (cdr cl-keys-temp))))))) |
| 86 | body)))) | 87 | body)))) |
| 87 | (put 'cl-parsing-keywords 'lisp-indent-function 2) | ||
| 88 | (put 'cl-parsing-keywords 'edebug-form-spec '(sexp sexp &rest form)) | ||
| 89 | 88 | ||
| 90 | (defmacro cl-check-key (x) | 89 | (defmacro cl-check-key (x) |
| 90 | (declare (debug edebug-forms)) | ||
| 91 | (list 'if 'cl-key (list 'funcall 'cl-key x) x)) | 91 | (list 'if 'cl-key (list 'funcall 'cl-key x) x)) |
| 92 | 92 | ||
| 93 | (defmacro cl-check-test-nokey (item x) | 93 | (defmacro cl-check-test-nokey (item x) |
| 94 | (declare (debug edebug-forms)) | ||
| 94 | (list 'cond | 95 | (list 'cond |
| 95 | (list 'cl-test | 96 | (list 'cl-test |
| 96 | (list 'eq (list 'not (list 'funcall 'cl-test item x)) | 97 | (list 'eq (list 'not (list 'funcall 'cl-test item x)) |
| @@ -101,20 +102,17 @@ | |||
| 101 | (list 'equal item x) (list 'eq item x))))) | 102 | (list 'equal item x) (list 'eq item x))))) |
| 102 | 103 | ||
| 103 | (defmacro cl-check-test (item x) | 104 | (defmacro cl-check-test (item x) |
| 105 | (declare (debug edebug-forms)) | ||
| 104 | (list 'cl-check-test-nokey item (list 'cl-check-key x))) | 106 | (list 'cl-check-test-nokey item (list 'cl-check-key x))) |
| 105 | 107 | ||
| 106 | (defmacro cl-check-match (x y) | 108 | (defmacro cl-check-match (x y) |
| 109 | (declare (debug edebug-forms)) | ||
| 107 | (setq x (list 'cl-check-key x) y (list 'cl-check-key y)) | 110 | (setq x (list 'cl-check-key x) y (list 'cl-check-key y)) |
| 108 | (list 'if 'cl-test | 111 | (list 'if 'cl-test |
| 109 | (list 'eq (list 'not (list 'funcall 'cl-test x y)) 'cl-test-not) | 112 | (list 'eq (list 'not (list 'funcall 'cl-test x y)) 'cl-test-not) |
| 110 | (list 'if (list 'numberp x) | 113 | (list 'if (list 'numberp x) |
| 111 | (list 'equal x y) (list 'eq x y)))) | 114 | (list 'equal x y) (list 'eq x y)))) |
| 112 | 115 | ||
| 113 | (put 'cl-check-key 'edebug-form-spec 'edebug-forms) | ||
| 114 | (put 'cl-check-test 'edebug-form-spec 'edebug-forms) | ||
| 115 | (put 'cl-check-test-nokey 'edebug-form-spec 'edebug-forms) | ||
| 116 | (put 'cl-check-match 'edebug-form-spec 'edebug-forms) | ||
| 117 | |||
| 118 | (defvar cl-test) (defvar cl-test-not) | 116 | (defvar cl-test) (defvar cl-test-not) |
| 119 | (defvar cl-if) (defvar cl-if-not) | 117 | (defvar cl-if) (defvar cl-if-not) |
| 120 | (defvar cl-key) | 118 | (defvar cl-key) |
diff --git a/lisp/emacs-lisp/debug.el b/lisp/emacs-lisp/debug.el index b8ff3c03ee9..17fcf7ad6c5 100644 --- a/lisp/emacs-lisp/debug.el +++ b/lisp/emacs-lisp/debug.el | |||
| @@ -514,9 +514,9 @@ Applies to the frame whose line point is on in the backtrace." | |||
| 514 | (insert ? ))) | 514 | (insert ? ))) |
| 515 | (beginning-of-line)) | 515 | (beginning-of-line)) |
| 516 | 516 | ||
| 517 | (put 'debugger-env-macro 'lisp-indent-function 0) | ||
| 518 | (defmacro debugger-env-macro (&rest body) | 517 | (defmacro debugger-env-macro (&rest body) |
| 519 | "Run BODY in original environment." | 518 | "Run BODY in original environment." |
| 519 | (declare (indent 0)) | ||
| 520 | `(save-excursion | 520 | `(save-excursion |
| 521 | (if (null (buffer-name debugger-old-buffer)) | 521 | (if (null (buffer-name debugger-old-buffer)) |
| 522 | ;; old buffer deleted | 522 | ;; old buffer deleted |
diff --git a/lisp/emacs-lisp/easymenu.el b/lisp/emacs-lisp/easymenu.el index 8d734b22e3f..9992861fc3c 100644 --- a/lisp/emacs-lisp/easymenu.el +++ b/lisp/emacs-lisp/easymenu.el | |||
| @@ -44,8 +44,6 @@ menus, turn this variable off, otherwise it is probably better to keep it on.") | |||
| 44 | (if (stringp s) (intern s) s)) | 44 | (if (stringp s) (intern s) s)) |
| 45 | 45 | ||
| 46 | ;;;###autoload | 46 | ;;;###autoload |
| 47 | (put 'easy-menu-define 'lisp-indent-function 'defun) | ||
| 48 | ;;;###autoload | ||
| 49 | (defmacro easy-menu-define (symbol maps doc menu) | 47 | (defmacro easy-menu-define (symbol maps doc menu) |
| 50 | "Define a menu bar submenu in maps MAPS, according to MENU. | 48 | "Define a menu bar submenu in maps MAPS, according to MENU. |
| 51 | 49 | ||
| @@ -151,6 +149,7 @@ unselectable text. A string consisting solely of hyphens is displayed | |||
| 151 | as a solid horizontal line. | 149 | as a solid horizontal line. |
| 152 | 150 | ||
| 153 | A menu item can be a list with the same format as MENU. This is a submenu." | 151 | A menu item can be a list with the same format as MENU. This is a submenu." |
| 152 | (declare (indent defun)) | ||
| 154 | `(progn | 153 | `(progn |
| 155 | ,(if symbol `(defvar ,symbol nil ,doc)) | 154 | ,(if symbol `(defvar ,symbol nil ,doc)) |
| 156 | (easy-menu-do-define (quote ,symbol) ,maps ,doc ,menu))) | 155 | (easy-menu-do-define (quote ,symbol) ,maps ,doc ,menu))) |
diff --git a/lisp/emacs-lisp/eieio.el b/lisp/emacs-lisp/eieio.el index f5e684e1323..34fb5b9c9fc 100644 --- a/lisp/emacs-lisp/eieio.el +++ b/lisp/emacs-lisp/eieio.el | |||
| @@ -1610,6 +1610,7 @@ SPEC-LIST is of a form similar to `let'. For example: | |||
| 1610 | Where each VAR is the local variable given to the associated | 1610 | Where each VAR is the local variable given to the associated |
| 1611 | SLOT. A slot specified without a variable name is given a | 1611 | SLOT. A slot specified without a variable name is given a |
| 1612 | variable name of the same name as the slot." | 1612 | variable name of the same name as the slot." |
| 1613 | (declare (indent 2)) | ||
| 1613 | ;; Transform the spec-list into a symbol-macrolet spec-list. | 1614 | ;; Transform the spec-list into a symbol-macrolet spec-list. |
| 1614 | (let ((mappings (mapcar (lambda (entry) | 1615 | (let ((mappings (mapcar (lambda (entry) |
| 1615 | (let ((var (if (listp entry) (car entry) entry)) | 1616 | (let ((var (if (listp entry) (car entry) entry)) |
| @@ -1618,8 +1619,6 @@ variable name of the same name as the slot." | |||
| 1618 | spec-list))) | 1619 | spec-list))) |
| 1619 | (append (list 'symbol-macrolet mappings) | 1620 | (append (list 'symbol-macrolet mappings) |
| 1620 | body))) | 1621 | body))) |
| 1621 | (put 'with-slots 'lisp-indent-function 2) | ||
| 1622 | |||
| 1623 | 1622 | ||
| 1624 | ;;; Simple generators, and query functions. None of these would do | 1623 | ;;; Simple generators, and query functions. None of these would do |
| 1625 | ;; well embedded into an object. | 1624 | ;; well embedded into an object. |
diff --git a/lisp/emacs-lisp/lisp-mnt.el b/lisp/emacs-lisp/lisp-mnt.el index 10b7baf294f..7df65acb283 100644 --- a/lisp/emacs-lisp/lisp-mnt.el +++ b/lisp/emacs-lisp/lisp-mnt.el | |||
| @@ -298,6 +298,7 @@ The returned value is a list of strings, one per line." | |||
| 298 | (defmacro lm-with-file (file &rest body) | 298 | (defmacro lm-with-file (file &rest body) |
| 299 | "Execute BODY in a buffer containing the contents of FILE. | 299 | "Execute BODY in a buffer containing the contents of FILE. |
| 300 | If FILE is nil, execute BODY in the current buffer." | 300 | If FILE is nil, execute BODY in the current buffer." |
| 301 | (declare (indent 1) (debug t)) | ||
| 301 | (let ((filesym (make-symbol "file"))) | 302 | (let ((filesym (make-symbol "file"))) |
| 302 | `(let ((,filesym ,file)) | 303 | `(let ((,filesym ,file)) |
| 303 | (if ,filesym | 304 | (if ,filesym |
| @@ -311,9 +312,6 @@ If FILE is nil, execute BODY in the current buffer." | |||
| 311 | (with-syntax-table emacs-lisp-mode-syntax-table | 312 | (with-syntax-table emacs-lisp-mode-syntax-table |
| 312 | ,@body)))))) | 313 | ,@body)))))) |
| 313 | 314 | ||
| 314 | (put 'lm-with-file 'lisp-indent-function 1) | ||
| 315 | (put 'lm-with-file 'edebug-form-spec t) | ||
| 316 | |||
| 317 | ;; Fixme: Probably this should be amalgamated with copyright.el; also | 315 | ;; Fixme: Probably this should be amalgamated with copyright.el; also |
| 318 | ;; we need a check for ranges in copyright years. | 316 | ;; we need a check for ranges in copyright years. |
| 319 | 317 | ||
diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el index ff8e187dd53..e4330e43fc9 100644 --- a/lisp/emacs-lisp/lisp-mode.el +++ b/lisp/emacs-lisp/lisp-mode.el | |||
| @@ -1210,31 +1210,17 @@ This function also returns nil meaning don't specify the indentation." | |||
| 1210 | (put 'prog2 'lisp-indent-function 2) | 1210 | (put 'prog2 'lisp-indent-function 2) |
| 1211 | (put 'save-excursion 'lisp-indent-function 0) | 1211 | (put 'save-excursion 'lisp-indent-function 0) |
| 1212 | (put 'save-window-excursion 'lisp-indent-function 0) | 1212 | (put 'save-window-excursion 'lisp-indent-function 0) |
| 1213 | (put 'save-selected-window 'lisp-indent-function 0) | ||
| 1214 | (put 'save-restriction 'lisp-indent-function 0) | 1213 | (put 'save-restriction 'lisp-indent-function 0) |
| 1215 | (put 'save-match-data 'lisp-indent-function 0) | 1214 | (put 'save-match-data 'lisp-indent-function 0) |
| 1216 | (put 'save-current-buffer 'lisp-indent-function 0) | 1215 | (put 'save-current-buffer 'lisp-indent-function 0) |
| 1217 | (put 'with-current-buffer 'lisp-indent-function 1) | ||
| 1218 | (put 'combine-after-change-calls 'lisp-indent-function 0) | ||
| 1219 | (put 'with-output-to-string 'lisp-indent-function 0) | ||
| 1220 | (put 'with-temp-file 'lisp-indent-function 1) | ||
| 1221 | (put 'with-temp-buffer 'lisp-indent-function 0) | ||
| 1222 | (put 'with-temp-message 'lisp-indent-function 1) | ||
| 1223 | (put 'with-syntax-table 'lisp-indent-function 1) | ||
| 1224 | (put 'let 'lisp-indent-function 1) | 1216 | (put 'let 'lisp-indent-function 1) |
| 1225 | (put 'let* 'lisp-indent-function 1) | 1217 | (put 'let* 'lisp-indent-function 1) |
| 1226 | (put 'while 'lisp-indent-function 1) | 1218 | (put 'while 'lisp-indent-function 1) |
| 1227 | (put 'if 'lisp-indent-function 2) | 1219 | (put 'if 'lisp-indent-function 2) |
| 1228 | (put 'read-if 'lisp-indent-function 2) | ||
| 1229 | (put 'catch 'lisp-indent-function 1) | 1220 | (put 'catch 'lisp-indent-function 1) |
| 1230 | (put 'condition-case 'lisp-indent-function 2) | 1221 | (put 'condition-case 'lisp-indent-function 2) |
| 1231 | (put 'unwind-protect 'lisp-indent-function 1) | 1222 | (put 'unwind-protect 'lisp-indent-function 1) |
| 1232 | (put 'with-output-to-temp-buffer 'lisp-indent-function 1) | 1223 | (put 'with-output-to-temp-buffer 'lisp-indent-function 1) |
| 1233 | (put 'eval-after-load 'lisp-indent-function 1) | ||
| 1234 | (put 'dolist 'lisp-indent-function 1) | ||
| 1235 | (put 'dotimes 'lisp-indent-function 1) | ||
| 1236 | (put 'when 'lisp-indent-function 1) | ||
| 1237 | (put 'unless 'lisp-indent-function 1) | ||
| 1238 | 1224 | ||
| 1239 | (defun indent-sexp (&optional endpos) | 1225 | (defun indent-sexp (&optional endpos) |
| 1240 | "Indent each line of the list starting just after point. | 1226 | "Indent each line of the list starting just after point. |
diff --git a/lisp/emacs-lisp/timer.el b/lisp/emacs-lisp/timer.el index 63ec072e7e5..6ae6a86857e 100644 --- a/lisp/emacs-lisp/timer.el +++ b/lisp/emacs-lisp/timer.el | |||
| @@ -443,8 +443,6 @@ This function returns a timer object which you can use in `cancel-timer'." | |||
| 443 | "This is the timer function used for the timer made by `with-timeout'." | 443 | "This is the timer function used for the timer made by `with-timeout'." |
| 444 | (throw tag 'timeout)) | 444 | (throw tag 'timeout)) |
| 445 | 445 | ||
| 446 | (put 'with-timeout 'lisp-indent-function 1) | ||
| 447 | |||
| 448 | (defvar with-timeout-timers nil | 446 | (defvar with-timeout-timers nil |
| 449 | "List of all timers used by currently pending `with-timeout' calls.") | 447 | "List of all timers used by currently pending `with-timeout' calls.") |
| 450 | 448 | ||
| @@ -456,6 +454,7 @@ event (such as keyboard input, input from subprocesses, or a certain time); | |||
| 456 | if the program loops without waiting in any way, the timeout will not | 454 | if the program loops without waiting in any way, the timeout will not |
| 457 | be detected. | 455 | be detected. |
| 458 | \n(fn (SECONDS TIMEOUT-FORMS...) BODY)" | 456 | \n(fn (SECONDS TIMEOUT-FORMS...) BODY)" |
| 457 | (declare (indent 1)) | ||
| 459 | (let ((seconds (car list)) | 458 | (let ((seconds (car list)) |
| 460 | (timeout-forms (cdr list))) | 459 | (timeout-forms (cdr list))) |
| 461 | `(let ((with-timeout-tag (cons nil nil)) | 460 | `(let ((with-timeout-tag (cons nil nil)) |
diff --git a/lisp/international/mule.el b/lisp/international/mule.el index 84b8db3e9ca..9f1833924b3 100644 --- a/lisp/international/mule.el +++ b/lisp/international/mule.el | |||
| @@ -2297,13 +2297,12 @@ It returns the number of characters changed." | |||
| 2297 | (setq table val))) | 2297 | (setq table val))) |
| 2298 | (translate-region-internal start end table)) | 2298 | (translate-region-internal start end table)) |
| 2299 | 2299 | ||
| 2300 | (put 'with-category-table 'lisp-indent-function 1) | ||
| 2301 | |||
| 2302 | (defmacro with-category-table (table &rest body) | 2300 | (defmacro with-category-table (table &rest body) |
| 2303 | "Execute BODY like `progn' with TABLE the current category table. | 2301 | "Execute BODY like `progn' with TABLE the current category table. |
| 2304 | The category table of the current buffer is saved, BODY is evaluated, | 2302 | The category table of the current buffer is saved, BODY is evaluated, |
| 2305 | then the saved table is restored, even in case of an abnormal exit. | 2303 | then the saved table is restored, even in case of an abnormal exit. |
| 2306 | Value is what BODY returns." | 2304 | Value is what BODY returns." |
| 2305 | (declare (indent 1) (debug t)) | ||
| 2307 | (let ((old-table (make-symbol "old-table")) | 2306 | (let ((old-table (make-symbol "old-table")) |
| 2308 | (old-buffer (make-symbol "old-buffer"))) | 2307 | (old-buffer (make-symbol "old-buffer"))) |
| 2309 | `(let ((,old-table (category-table)) | 2308 | `(let ((,old-table (category-table)) |
diff --git a/lisp/jka-cmpr-hook.el b/lisp/jka-cmpr-hook.el index 8c68a9494f2..68f564c488f 100644 --- a/lisp/jka-cmpr-hook.el +++ b/lisp/jka-cmpr-hook.el | |||
| @@ -335,6 +335,7 @@ Return the new status of auto compression (non-nil means on)." | |||
| 335 | 335 | ||
| 336 | (defmacro with-auto-compression-mode (&rest body) | 336 | (defmacro with-auto-compression-mode (&rest body) |
| 337 | "Evalute BODY with automatic file compression and uncompression enabled." | 337 | "Evalute BODY with automatic file compression and uncompression enabled." |
| 338 | (declare (indent 0)) | ||
| 338 | (let ((already-installed (make-symbol "already-installed"))) | 339 | (let ((already-installed (make-symbol "already-installed"))) |
| 339 | `(let ((,already-installed (jka-compr-installed-p))) | 340 | `(let ((,already-installed (jka-compr-installed-p))) |
| 340 | (unwind-protect | 341 | (unwind-protect |
| @@ -344,8 +345,6 @@ Return the new status of auto compression (non-nil means on)." | |||
| 344 | ,@body) | 345 | ,@body) |
| 345 | (unless ,already-installed | 346 | (unless ,already-installed |
| 346 | (jka-compr-uninstall)))))) | 347 | (jka-compr-uninstall)))))) |
| 347 | (put 'with-auto-compression-mode 'lisp-indent-function 0) | ||
| 348 | |||
| 349 | 348 | ||
| 350 | ;; This is what we need to know about jka-compr-handler | 349 | ;; This is what we need to know about jka-compr-handler |
| 351 | ;; in order to decide when to call it. | 350 | ;; in order to decide when to call it. |
diff --git a/lisp/net/dbus.el b/lisp/net/dbus.el index ee876e04190..8d9512d6f9f 100644 --- a/lisp/net/dbus.el +++ b/lisp/net/dbus.el | |||
| @@ -92,12 +92,10 @@ | |||
| 92 | (defmacro dbus-ignore-errors (&rest body) | 92 | (defmacro dbus-ignore-errors (&rest body) |
| 93 | "Execute BODY; signal D-Bus error when `dbus-debug' is non-nil. | 93 | "Execute BODY; signal D-Bus error when `dbus-debug' is non-nil. |
| 94 | Otherwise, return result of last form in BODY, or all other errors." | 94 | Otherwise, return result of last form in BODY, or all other errors." |
| 95 | (declare (indent 0) (debug t)) | ||
| 95 | `(condition-case err | 96 | `(condition-case err |
| 96 | (progn ,@body) | 97 | (progn ,@body) |
| 97 | (dbus-error (when dbus-debug (signal (car err) (cdr err)))))) | 98 | (dbus-error (when dbus-debug (signal (car err) (cdr err)))))) |
| 98 | |||
| 99 | (put 'dbus-ignore-errors 'lisp-indent-function 0) | ||
| 100 | (put 'dbus-ignore-errors 'edebug-form-spec '(form body)) | ||
| 101 | (font-lock-add-keywords 'emacs-lisp-mode '("\\<dbus-ignore-errors\\>")) | 99 | (font-lock-add-keywords 'emacs-lisp-mode '("\\<dbus-ignore-errors\\>")) |
| 102 | 100 | ||
| 103 | (defvar dbus-event-error-hooks nil | 101 | (defvar dbus-event-error-hooks nil |
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index 849951a633a..2690d399411 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el | |||
| @@ -2285,6 +2285,7 @@ the if condition." | |||
| 2285 | (eval-when-compile | 2285 | (eval-when-compile |
| 2286 | ;; Define a user-level skeleton and add it to the abbrev table. | 2286 | ;; Define a user-level skeleton and add it to the abbrev table. |
| 2287 | (defmacro def-python-skeleton (name &rest elements) | 2287 | (defmacro def-python-skeleton (name &rest elements) |
| 2288 | (declare (indent 2)) | ||
| 2288 | (let* ((name (symbol-name name)) | 2289 | (let* ((name (symbol-name name)) |
| 2289 | (function (intern (concat "python-insert-" name)))) | 2290 | (function (intern (concat "python-insert-" name)))) |
| 2290 | `(progn | 2291 | `(progn |
| @@ -2297,7 +2298,6 @@ the if condition." | |||
| 2297 | (define-skeleton ,function | 2298 | (define-skeleton ,function |
| 2298 | ,(format "Insert Python \"%s\" template." name) | 2299 | ,(format "Insert Python \"%s\" template." name) |
| 2299 | ,@elements))))) | 2300 | ,@elements))))) |
| 2300 | (put 'def-python-skeleton 'lisp-indent-function 2) | ||
| 2301 | 2301 | ||
| 2302 | ;; From `skeleton-further-elements' set below: | 2302 | ;; From `skeleton-further-elements' set below: |
| 2303 | ;; `<': outdent a level; | 2303 | ;; `<': outdent a level; |
diff --git a/lisp/subr.el b/lisp/subr.el index 67036ba6412..83cf7211906 100644 --- a/lisp/subr.el +++ b/lisp/subr.el | |||
| @@ -1630,6 +1630,7 @@ Return nil if there isn't one." | |||
| 1630 | load-elt (and loads (car loads))))) | 1630 | load-elt (and loads (car loads))))) |
| 1631 | load-elt)) | 1631 | load-elt)) |
| 1632 | 1632 | ||
| 1633 | (put 'eval-after-load 'lisp-indent-function 1) | ||
| 1633 | (defun eval-after-load (file form) | 1634 | (defun eval-after-load (file form) |
| 1634 | "Arrange that, if FILE is ever loaded, FORM will be run at that time. | 1635 | "Arrange that, if FILE is ever loaded, FORM will be run at that time. |
| 1635 | If FILE is already loaded, evaluate FORM right now. | 1636 | If FILE is already loaded, evaluate FORM right now. |
| @@ -2713,7 +2714,7 @@ nor the buffer list." | |||
| 2713 | "Create a new buffer, evaluate BODY there, and write the buffer to FILE. | 2714 | "Create a new buffer, evaluate BODY there, and write the buffer to FILE. |
| 2714 | The value returned is the value of the last form in BODY. | 2715 | The value returned is the value of the last form in BODY. |
| 2715 | See also `with-temp-buffer'." | 2716 | See also `with-temp-buffer'." |
| 2716 | (declare (debug t)) | 2717 | (declare (indent 1) (debug t)) |
| 2717 | (let ((temp-file (make-symbol "temp-file")) | 2718 | (let ((temp-file (make-symbol "temp-file")) |
| 2718 | (temp-buffer (make-symbol "temp-buffer"))) | 2719 | (temp-buffer (make-symbol "temp-buffer"))) |
| 2719 | `(let ((,temp-file ,file) | 2720 | `(let ((,temp-file ,file) |
| @@ -2735,7 +2736,7 @@ The value returned is the value of the last form in BODY. | |||
| 2735 | MESSAGE is written to the message log buffer if `message-log-max' is non-nil. | 2736 | MESSAGE is written to the message log buffer if `message-log-max' is non-nil. |
| 2736 | If MESSAGE is nil, the echo area and message log buffer are unchanged. | 2737 | If MESSAGE is nil, the echo area and message log buffer are unchanged. |
| 2737 | Use a MESSAGE of \"\" to temporarily clear the echo area." | 2738 | Use a MESSAGE of \"\" to temporarily clear the echo area." |
| 2738 | (declare (debug t)) | 2739 | (declare (debug t) (indent 1)) |
| 2739 | (let ((current-message (make-symbol "current-message")) | 2740 | (let ((current-message (make-symbol "current-message")) |
| 2740 | (temp-message (make-symbol "with-temp-message"))) | 2741 | (temp-message (make-symbol "with-temp-message"))) |
| 2741 | `(let ((,temp-message ,message) | 2742 | `(let ((,temp-message ,message) |
| @@ -2765,7 +2766,7 @@ See also `with-temp-file' and `with-output-to-string'." | |||
| 2765 | (kill-buffer ,temp-buffer))))))) | 2766 | (kill-buffer ,temp-buffer))))))) |
| 2766 | 2767 | ||
| 2767 | (defmacro with-silent-modifications (&rest body) | 2768 | (defmacro with-silent-modifications (&rest body) |
| 2768 | "Execute BODY, pretending it does not modifies the buffer. | 2769 | "Execute BODY, pretending it does not modify the buffer. |
| 2769 | If BODY performs real modifications to the buffer's text, other | 2770 | If BODY performs real modifications to the buffer's text, other |
| 2770 | than cosmetic ones, undo data may become corrupted. | 2771 | than cosmetic ones, undo data may become corrupted. |
| 2771 | Typically used around modifications of text-properties which do not really | 2772 | Typically used around modifications of text-properties which do not really |
| @@ -3227,7 +3228,7 @@ that can be added." | |||
| 3227 | The syntax table of the current buffer is saved, BODY is evaluated, and the | 3228 | The syntax table of the current buffer is saved, BODY is evaluated, and the |
| 3228 | saved table is restored, even in case of an abnormal exit. | 3229 | saved table is restored, even in case of an abnormal exit. |
| 3229 | Value is what BODY returns." | 3230 | Value is what BODY returns." |
| 3230 | (declare (debug t)) | 3231 | (declare (debug t) (indent 1)) |
| 3231 | (let ((old-table (make-symbol "table")) | 3232 | (let ((old-table (make-symbol "table")) |
| 3232 | (old-buffer (make-symbol "buffer"))) | 3233 | (old-buffer (make-symbol "buffer"))) |
| 3233 | `(let ((,old-table (syntax-table)) | 3234 | `(let ((,old-table (syntax-table)) |
diff --git a/lisp/window.el b/lisp/window.el index 2f6c64ba3d1..9a52667cea0 100644 --- a/lisp/window.el +++ b/lisp/window.el | |||
| @@ -55,6 +55,7 @@ This macro saves and restores the current buffer, since otherwise | |||
| 55 | its normal operation could make a different buffer current. The | 55 | its normal operation could make a different buffer current. The |
| 56 | order of recently selected windows and the buffer list ordering | 56 | order of recently selected windows and the buffer list ordering |
| 57 | are not altered by this macro (unless they are altered in BODY)." | 57 | are not altered by this macro (unless they are altered in BODY)." |
| 58 | (declare (indent 0) (debug t)) | ||
| 58 | `(let ((save-selected-window-window (selected-window)) | 59 | `(let ((save-selected-window-window (selected-window)) |
| 59 | ;; It is necessary to save all of these, because calling | 60 | ;; It is necessary to save all of these, because calling |
| 60 | ;; select-window changes frame-selected-window for whatever | 61 | ;; select-window changes frame-selected-window for whatever |