(parens-dont-require-spaces): New variable.

(insert-parentheses): Obey that variable.
This commit is contained in:
Richard M. Stallman 1993-06-14 22:58:54 +00:00
parent 4a6e3980e2
commit 44a53673e8

View file

@ -30,6 +30,9 @@
(defvar defun-prompt-regexp nil
"Non-nil => regexp to ignore, before the `(' that starts a defun.")
(defvar parens-dont-require-spaces nil
"Non-nil => `insert-parentheses' should not insert whitespace.")
(defun forward-sexp (&optional arg)
"Move forward across one balanced expression (sexp).
With argument, do it that many times. Negative arg -N means
@ -195,18 +198,22 @@ The defun marked is the one that contains point or follows point."
(defun insert-parentheses (arg)
"Put parentheses around next ARG sexps. Leave point after open-paren.
No argument is equivalent to zero: just insert () and leave point between."
No argument is equivalent to zero: just insert `()' and leave point between.
This command also sometimes inserts a space before and after,
depending on the surrounding characters."
(interactive "P")
(if arg (setq arg (prefix-numeric-value arg))
(setq arg 0))
(or (eq arg 0) (skip-chars-forward " \t"))
(and (memq (char-syntax (preceding-char)) '(?w ?_ ?\) ))
(and (not parens-dont-require-spaces)
(memq (char-syntax (preceding-char)) '(?w ?_ ?\) ))
(insert " "))
(insert ?\()
(save-excursion
(or (eq arg 0) (forward-sexp arg))
(insert ?\))
(and (memq (char-syntax (following-char)) '(?w ?_ ?\( ))
(and (not parens-dont-require-spaces)
(memq (char-syntax (following-char)) '(?w ?_ ?\( ))
(insert " "))))
(defun move-past-close-and-reindent ()