Function: octave-insert-defun
octave-insert-defun is an interactive and byte-compiled function
defined in octave.el.gz.
Signature
(octave-insert-defun &optional STR ARG)
Documentation
Insert an Octave function skeleton.
Prompt for the function's name, arguments and return values (to be entered without parens).
This is a skeleton command (see skeleton-insert).
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.
A prefix argument ARG says to wrap the skeleton around the next ARG words. A prefix argument of -1 says to wrap around region, even if not highlighted. A prefix argument of zero says to wrap around zero words---that is, nothing. This is a way of overriding the use of a highlighted region.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/octave.el.gz
;;; Electric characters && friends
(define-skeleton octave-insert-defun
"Insert an Octave function skeleton.
Prompt for the function's name, arguments and return values (to be
entered without parens)."
(let* ((defname (file-name-sans-extension (buffer-name)))
(name (read-string (format-prompt "Function name" defname)
nil nil defname))
(args (read-string "Arguments: "))
(vals (read-string "Return values: ")))
(format "%s%s (%s)"
(cond
((string-equal vals "") vals)
((string-match "[ ,]" vals) (concat "[" vals "] = "))
(t (concat vals " = ")))
name
args))
\n octave-block-comment-start "usage: " str \n
octave-block-comment-start '(delete-horizontal-space) \n
octave-block-comment-start '(delete-horizontal-space) \n
"function " > str \n
_ \n
"endfunction" > \n)