Variable: f90-smart-end-names

f90-smart-end-names is a customizable variable defined in f90.el.gz.

Value

t

Documentation

Whether completion of END statements should insert optional block names.

For example, when closing a "PROGRAM PROGNAME" block, "PROGNAME" is optional in the "END PROGRAM" statement. The same is true for modules, functions, subroutines, and types. Some people prefer to omit the name from the END statement, since it makes it easier to change the name.

This does not apply to named DO, IF, etc. blocks. If such blocks start with a label, they must end with one.

If an end statement has a name that does not match the start, it is always corrected, regardless of the value of this variable.

This variable was added, or its default value changed, in Emacs 24.4.

Probably introduced at or before Emacs version 24.4.

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/f90.el.gz
;; Optional: program, module, type, function, subroutine
;; Not optional: block data?, forall, if, select case/type, associate, do,
;;   where, interface, critical
;; No labels: enum
(defcustom f90-smart-end-names t
  "Whether completion of END statements should insert optional block names.
For example, when closing a \"PROGRAM PROGNAME\" block, \"PROGNAME\" is
optional in the \"END PROGRAM\" statement.  The same is true for modules,
functions, subroutines, and types.  Some people prefer to omit the name
from the END statement, since it makes it easier to change the name.

This does not apply to named DO, IF, etc. blocks.  If such blocks
start with a label, they must end with one.

If an end statement has a name that does not match the start, it is always
corrected, regardless of the value of this variable."
  :type 'boolean
  :safe 'booleanp
  :group 'f90
  :version "24.4")