Mercurial > emacs
comparison lisp/emacs-lisp/lisp.el @ 3733:c1c105ffdd0c
(parens-dont-require-spaces): New variable.
(insert-parentheses): Obey that variable.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Mon, 14 Jun 1993 22:58:54 +0000 |
parents | 507f64624555 |
children | e212a0863773 |
comparison
equal
deleted
inserted
replaced
3732:60292a8697bc | 3733:c1c105ffdd0c |
---|---|
27 | 27 |
28 ;;; Code: | 28 ;;; Code: |
29 | 29 |
30 (defvar defun-prompt-regexp nil | 30 (defvar defun-prompt-regexp nil |
31 "Non-nil => regexp to ignore, before the `(' that starts a defun.") | 31 "Non-nil => regexp to ignore, before the `(' that starts a defun.") |
32 | |
33 (defvar parens-dont-require-spaces nil | |
34 "Non-nil => `insert-parentheses' should not insert whitespace.") | |
32 | 35 |
33 (defun forward-sexp (&optional arg) | 36 (defun forward-sexp (&optional arg) |
34 "Move forward across one balanced expression (sexp). | 37 "Move forward across one balanced expression (sexp). |
35 With argument, do it that many times. Negative arg -N means | 38 With argument, do it that many times. Negative arg -N means |
36 move backward across N balanced expressions." | 39 move backward across N balanced expressions." |
193 (beginning-of-defun) | 196 (beginning-of-defun) |
194 (re-search-backward "^\n" (- (point) 1) t)) | 197 (re-search-backward "^\n" (- (point) 1) t)) |
195 | 198 |
196 (defun insert-parentheses (arg) | 199 (defun insert-parentheses (arg) |
197 "Put parentheses around next ARG sexps. Leave point after open-paren. | 200 "Put parentheses around next ARG sexps. Leave point after open-paren. |
198 No argument is equivalent to zero: just insert () and leave point between." | 201 No argument is equivalent to zero: just insert `()' and leave point between. |
202 This command also sometimes inserts a space before and after, | |
203 depending on the surrounding characters." | |
199 (interactive "P") | 204 (interactive "P") |
200 (if arg (setq arg (prefix-numeric-value arg)) | 205 (if arg (setq arg (prefix-numeric-value arg)) |
201 (setq arg 0)) | 206 (setq arg 0)) |
202 (or (eq arg 0) (skip-chars-forward " \t")) | 207 (or (eq arg 0) (skip-chars-forward " \t")) |
203 (and (memq (char-syntax (preceding-char)) '(?w ?_ ?\) )) | 208 (and (not parens-dont-require-spaces) |
209 (memq (char-syntax (preceding-char)) '(?w ?_ ?\) )) | |
204 (insert " ")) | 210 (insert " ")) |
205 (insert ?\() | 211 (insert ?\() |
206 (save-excursion | 212 (save-excursion |
207 (or (eq arg 0) (forward-sexp arg)) | 213 (or (eq arg 0) (forward-sexp arg)) |
208 (insert ?\)) | 214 (insert ?\)) |
209 (and (memq (char-syntax (following-char)) '(?w ?_ ?\( )) | 215 (and (not parens-dont-require-spaces) |
216 (memq (char-syntax (following-char)) '(?w ?_ ?\( )) | |
210 (insert " ")))) | 217 (insert " ")))) |
211 | 218 |
212 (defun move-past-close-and-reindent () | 219 (defun move-past-close-and-reindent () |
213 "Move past next `)', delete indentation before it, then indent after it." | 220 "Move past next `)', delete indentation before it, then indent after it." |
214 (interactive) | 221 (interactive) |