Function: idlwave-make-space

idlwave-make-space is a byte-compiled function defined in idlwave.el.gz.

Signature

(idlwave-make-space N)

Documentation

Make space at point.

The space affected is all the spaces and tabs around point. If n is non-nil then point is left abs(n) spaces from the beginning of the contiguous space. The amount of space at point is determined by N. If the value of N is:
nil - do nothing.
> 0 - exactly N spaces.
< 0 - a minimum of -N spaces, i.e., do not change if there are
        already -N spaces.
0 - no spaces (i.e. remove any existing space).

Source Code

;; Defined in /usr/src/emacs/lisp/obsolete/idlwave.el.gz
(defun idlwave-make-space (n)
  "Make space at point.
The space affected is all the spaces and tabs around point.
If n is non-nil then point is left abs(n) spaces from the beginning of
the contiguous space.
The amount of space at point is determined by N.
If the value of N is:
nil   - do nothing.
> 0   - exactly N spaces.
< 0   - a minimum of -N spaces, i.e., do not change if there are
        already -N spaces.
0     - no spaces (i.e. remove any existing space)."
  (if (integerp n)
      (let
          ((start-col (progn (skip-chars-backward " \t") (current-column)))
           (left (point))
           (end-col (progn (skip-chars-forward " \t") (current-column))))
        (delete-horizontal-space)
        (cond
         ((> n 0)
          (idlwave-indent-to (+ start-col n))
          (goto-char (+ left n)))
         ((< n 0)
          (idlwave-indent-to end-col (- n))
          (goto-char (- left n)))
         ;; n = 0, done
         ))))