;;; Last edited on 2023-08-27 14:17:42 by stolfi ;;; Additional hacks for {C} mode. (defun stolfi-c-verticalize-arg-list(&optional arg) "Converts the argument list of a procedure header at point from horizontal format (all parameters on the same line) to vertical format (each parameter in a separate line)." (interactive "i") (save-excursion (beginning-of-line) (if (re-search-forward "\\=.*[(]" nil t) (progn (delete-char -1) (let ((sep "\n ( ")) (while (re-search-forward "\\=\\([ \n]*\\)\\([A-Za-z][^,()]*\\)\\([,)]\\)" nil t) (replace-match sep t t nil 1) (goto-char (match-end 3)) (if (equal (match-string 3) ")") (replace-match "\n )" t t nil 3) ) (setq sep "\n ") ) ) ) ) ) )