Function: ruby-brace-to-do-end
ruby-brace-to-do-end is a byte-compiled function defined in
ruby-mode.el.gz.
Signature
(ruby-brace-to-do-end ORIG END)
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/ruby-mode.el.gz
(defun ruby-brace-to-do-end (orig end)
(let (beg-marker end-marker)
(goto-char end)
(when (eq (char-before) ?\})
(delete-char -1)
(when (save-excursion
(let ((n (skip-chars-backward " \t")))
(if (< n 0) (delete-char (- n))))
(not (bolp)))
(insert "\n"))
(insert "end")
(setq end-marker (point-marker))
(when (and (not (eobp)) (eq (char-syntax (char-after)) ?w))
(insert " "))
(goto-char orig)
(delete-char 1)
(when (eq (char-syntax (char-before)) ?w)
(insert " "))
(insert "do")
(setq beg-marker (point-marker))
(when (looking-at "\\(\\s \\)*|")
(unless (match-beginning 1)
(insert " "))
(goto-char (1+ (match-end 0)))
(search-forward "|"))
(unless (looking-at "\\s *$")
(insert "\n"))
(indent-region beg-marker end-marker)
(goto-char beg-marker)
t)))