emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/progmodes/f90.el


From: Glenn Morris
Subject: [Emacs-diffs] Changes to emacs/lisp/progmodes/f90.el
Date: Thu, 25 Apr 2002 17:55:40 -0400

Index: emacs/lisp/progmodes/f90.el
diff -c emacs/lisp/progmodes/f90.el:1.37 emacs/lisp/progmodes/f90.el:1.38
*** emacs/lisp/progmodes/f90.el:1.37    Wed Apr 24 18:13:45 2002
--- emacs/lisp/progmodes/f90.el Thu Apr 25 17:55:39 2002
***************
*** 25,48 ****
  
  ;;; Commentary:
  
! ;; Smart mode for editing F90 programs in FREE FORMAT.
  ;; Knows about continuation lines, named structured statements, and other
! ;; new features in F90 including HPF (High Performance Fortran) structures.
! ;; The basic feature is to provide an accurate indentation of F90 programs.
  ;; In addition, there are many more features like automatic matching of all
  ;; end statements, an auto-fill function to break long lines, a join-lines
! ;; function which joins continued lines etc etc.
! ;;  To facilitate typing, a fairly complete list of abbreviations is provided.
! ;;    For example, `i is short-hand for integer (if abbrev-mode is on).
  
! ;; There are two separate features for highlighting the code.
  ;;   1) Upcasing or capitalizing of all keywords.
! ;;   2) Colors/fonts using font-lock-mode. (only when using X-windows)
! ;;  Automatic upcase of downcase of keywords is controlled by the parameter
! ;;  f90-auto-keyword-case.
  
  ;; The indentations of lines starting with ! is determined by the first of the
! ;; following matches (the values in the left column are the default values):
  
  ;; start-string/regexp  indent         variable holding start-string/regexp
  ;;    !!!                  0
--- 25,53 ----
  
  ;;; Commentary:
  
! ;; Major mode for editing F90 programs in FREE FORMAT.
! ;; The minor language revision F95 is also supported (with font-locking).
! 
  ;; Knows about continuation lines, named structured statements, and other
! ;; features in F90 including HPF (High Performance Fortran) structures.
! ;; The basic feature provides accurate indentation of F90 programs.
  ;; In addition, there are many more features like automatic matching of all
  ;; end statements, an auto-fill function to break long lines, a join-lines
! ;; function which joins continued lines, etc.
! 
! ;; To facilitate typing, a fairly complete list of abbreviations is provided.
! ;; All abbreviations begin with the backquote character "`"
! ;; (this requires modification of the syntax-table).
! ;; For example, `i expands to integer (if abbrev-mode is on).
  
! ;; There are two separate features for altering the appearance of code:
  ;;   1) Upcasing or capitalizing of all keywords.
! ;;   2) Colors/fonts using font-lock-mode.
! ;; Automatic upcase or downcase of keywords is controlled by the variable
! ;; f90-auto-keyword-case.
  
  ;; The indentations of lines starting with ! is determined by the first of the
! ;; following matches (values in the left column are the defaults):
  
  ;; start-string/regexp  indent         variable holding start-string/regexp
  ;;    !!!                  0
***************
*** 56,80 ****
  ;;          !                    as code             as code
  ;;          !!                   comment-column      as code
  ;;          ![^!]                as code             comment-column
! ;; Trailing comments are indented to comment-column with indent-for-comment 
M-;
! ;; f90-comment-region (C-c;) toggles insertion of f90-comment-region in 
region.
  
  ;; One common convention for free vs. fixed format is that free-format files
! ;; have the ending .f90 while the fixed format files have the ending .f. 
! ;; To make f90-mode work, put this file in, for example, your directory
! ;;  ~/lisp, and be sure that you have the following in your .emacs-file
! ;;     (setq load-path (append load-path '("~/lisp")))
! ;;     (autoload 'f90-mode "f90"
! ;;       "Major mode for editing Fortran 90 code in free format." t)
! ;;     (setq auto-mode-alist (append auto-mode-alist 
! ;;                           (list '("\\.f90$" . f90-mode))))
! ;; Once you have entered f90-mode, you may get more info by using
! ;; the command describe-mode (C-h m). For online help describing various
! ;; functions use  C-h f <Name of function you want described>
  
! ;; To customize the f90-mode for your taste, use, for example:
! ;;    (you don't have to specify values for all the parameters below)
  ;;(add-hook 'f90-mode-hook
  ;;      '(lambda () (setq f90-do-indent 3
  ;;                        f90-if-indent 3
  ;;                        f90-type-indent 3
--- 61,87 ----
  ;;          !                    as code             as code
  ;;          !!                   comment-column      as code
  ;;          ![^!]                as code             comment-column
! ;; Trailing comments are indented to comment-column with indent-for-comment.
! ;; The function f90-comment-region toggles insertion of
! ;; the variable f90-comment-region in every line of the region.
  
  ;; One common convention for free vs. fixed format is that free-format files
! ;; have the ending .f90 or .f95 while fixed format files have the ending .f. 
! ;; Emacs automatically loads Fortran files in the appropriate mode based
! ;; on extension. You can modify this by adjusting the variable 
auto-mode-alist.
! ;; For example:
! ;; (add-to-list 'auto-mode-alist '("\\.f\\'" . f90-mode))
  
! ;; Once you have entered f90-mode, you may get more info by using
! ;; the command describe-mode (C-h m). For online help use 
! ;; C-h f <Name of function you want described>, or
! ;; C-h v <Name of variable you want described>.
! 
! ;; To customize f90-mode for your taste, use, for example:
! ;; (you don't have to specify values for all the parameters below)
! ;;
  ;;(add-hook 'f90-mode-hook
+ ;;      ;; These are the default values.
  ;;      '(lambda () (setq f90-do-indent 3
  ;;                        f90-if-indent 3
  ;;                        f90-type-indent 3
***************
*** 83,115 ****
  ;;                        f90-comment-region "!!$"
  ;;                        f90-directive-comment-re "!hpf\\$"
  ;;                        f90-indented-comment-re "!"
! ;;                        f90-break-delimiters "[-+\\*/,><=% \t]"
  ;;                        f90-break-before-delimiters t
  ;;                        f90-beginning-ampersand t
  ;;                        f90-smart-end 'blink
  ;;                        f90-auto-keyword-case nil
! ;;                        f90-leave-line-no  nil
  ;;                        indent-tabs-mode nil
  ;;                        f90-font-lock-keywords f90-font-lock-keywords-2
  ;;                  )
! ;;       ;;The rest is not default.
  ;;       (abbrev-mode 1)             ; turn on abbreviation mode
  ;;       (f90-add-imenu-menu)        ; extra menu with functions etc.
  ;;       (if f90-auto-keyword-case   ; change case of all keywords on startup
  ;;           (f90-change-keywords f90-auto-keyword-case))
  ;;     ))
! ;; in your .emacs file (the shown values are the defaults). You can also
! ;; change the values of the lists f90-keywords etc.
! ;; The auto-fill and abbreviation minor modes are accessible from the menu,
  ;; or by using M-x auto-fill-mode and M-x abbrev-mode, respectively.
  
  ;; Remarks
  ;; 1) Line numbers are by default left-justified. If f90-leave-line-no is
  ;;    non-nil, the line numbers are never touched.
! ;; 2) Multi-; statements like > do i=1,20 ; j=j+i ; end do < are not handled
  ;;    correctly, but I imagine them to be rare.
  ;; 3) Regexps for hilit19 are no longer supported.
! ;; 4) For FIXED FORMAT code, use the ordinary fortran mode.
  ;; 5) This mode does not work under emacs-18.x.
  ;; 6) Preprocessor directives, i.e., lines starting with # are left-justified
  ;;    and are untouched by all case-changing commands. There is, at present, 
no
--- 90,124 ----
  ;;                        f90-comment-region "!!$"
  ;;                        f90-directive-comment-re "!hpf\\$"
  ;;                        f90-indented-comment-re "!"
! ;;                        f90-break-delimiters "[-+\\*/><=,% \t]"
  ;;                        f90-break-before-delimiters t
  ;;                        f90-beginning-ampersand t
  ;;                        f90-smart-end 'blink
  ;;                        f90-auto-keyword-case nil
! ;;                        f90-leave-line-no nil
  ;;                        indent-tabs-mode nil
  ;;                        f90-font-lock-keywords f90-font-lock-keywords-2
  ;;                  )
! ;;       ;; These are not default.
  ;;       (abbrev-mode 1)             ; turn on abbreviation mode
  ;;       (f90-add-imenu-menu)        ; extra menu with functions etc.
  ;;       (if f90-auto-keyword-case   ; change case of all keywords on startup
  ;;           (f90-change-keywords f90-auto-keyword-case))
  ;;     ))
! ;;
! ;; in your .emacs file. You can also customize the lists
! ;; f90-font-lock-keywords, etc.
! ;;
! ;; The auto-fill and abbreviation minor modes are accessible from the F90 
menu,
  ;; or by using M-x auto-fill-mode and M-x abbrev-mode, respectively.
  
  ;; Remarks
  ;; 1) Line numbers are by default left-justified. If f90-leave-line-no is
  ;;    non-nil, the line numbers are never touched.
! ;; 2) Multi-; statements like "do i=1,20 ; j=j+i ; end do" are not handled
  ;;    correctly, but I imagine them to be rare.
  ;; 3) Regexps for hilit19 are no longer supported.
! ;; 4) For FIXED FORMAT code, use fortran mode.
  ;; 5) This mode does not work under emacs-18.x.
  ;; 6) Preprocessor directives, i.e., lines starting with # are left-justified
  ;;    and are untouched by all case-changing commands. There is, at present, 
no
***************
*** 134,155 ****
  ;;   f90-add-imenu-menu
  ;;   f90-font-lock-1, f90-font-lock-2, f90-font-lock-3, f90-font-lock-4
  
  ;; Thanks to all the people who have tested the mode. Special thanks to Jens
  ;; Bloch Helmers for encouraging me to write this code, for creative
  ;; suggestions as well as for the lists of hpf-commands.
  ;; Also thanks to the authors of the fortran and pascal modes, on which some
  ;; of this code is built.
  
  ;;; Code:
  
  ;; User options
  
  (defgroup f90 nil
!   "Fortran-90 mode"
    :group 'languages)
  
  (defgroup f90-indent nil
!   "Fortran-90 indentation"
    :prefix "f90-"
    :group 'f90)
  
--- 143,169 ----
  ;;   f90-add-imenu-menu
  ;;   f90-font-lock-1, f90-font-lock-2, f90-font-lock-3, f90-font-lock-4
  
+ ;; Original author's thanks
  ;; Thanks to all the people who have tested the mode. Special thanks to Jens
  ;; Bloch Helmers for encouraging me to write this code, for creative
  ;; suggestions as well as for the lists of hpf-commands.
  ;; Also thanks to the authors of the fortran and pascal modes, on which some
  ;; of this code is built.
  
+ ;; TODO
+ ;; Support for hideshow, align.
+ ;; OpenMP, preprocessor highlighting.
+ 
  ;;; Code:
  
  ;; User options
  
  (defgroup f90 nil
!   "Major mode for editing Fortran 90,95 code."
    :group 'languages)
  
  (defgroup f90-indent nil
!   "Indentation in free-format Fortran."
    :prefix "f90-"
    :group 'f90)
  
***************
*** 180,192 ****
    :group 'f90-indent)
  
  (defcustom f90-comment-region "!!$"
!   "*String inserted by \\[f90-comment-region]\
!  at start of each line in region."
    :type 'string
    :group 'f90-indent)
  
  (defcustom f90-indented-comment-re "!"
!   "*Regexp saying which comments to be indented like code."
    :type 'regexp
    :group 'f90-indent)
  
--- 194,205 ----
    :group 'f90-indent)
  
  (defcustom f90-comment-region "!!$"
!   "*String inserted by \\[f90-comment-region] at start of each line in 
region."
    :type 'string
    :group 'f90-indent)
  
  (defcustom f90-indented-comment-re "!"
!   "*Regexp saying which comments to indent like code."
    :type 'regexp
    :group 'f90-indent)
  
***************
*** 196,202 ****
    :group 'f90-indent)
  
  (defcustom f90-beginning-ampersand t
!   "*t makes automatic insertion of \& at beginning of continuation line."
    :type 'boolean
    :group 'f90)
  
--- 209,215 ----
    :group 'f90-indent)
  
  (defcustom f90-beginning-ampersand t
!   "*Non-nil gives automatic insertion of \& at start of continuation line."
    :type 'boolean
    :group 'f90)
  
***************
*** 219,231 ****
  
  (defcustom f90-auto-keyword-case nil
    "*Automatic case conversion of keywords.
!   The options are 'downcase-word, 'upcase-word, 'capitalize-word and nil"
    :type '(choice (const downcase-word) (const upcase-word)
                 (const capitalize-word) (const nil))
    :group 'f90)
  
  (defcustom f90-leave-line-no nil
!   "*If nil, left-justify linenumbers."
    :type 'boolean
    :group 'f90)
  
--- 232,244 ----
  
  (defcustom f90-auto-keyword-case nil
    "*Automatic case conversion of keywords.
! The options are 'downcase-word, 'upcase-word, 'capitalize-word and nil."
    :type '(choice (const downcase-word) (const upcase-word)
                 (const capitalize-word) (const nil))
    :group 'f90)
  
  (defcustom f90-leave-line-no nil
!   "*If non-nil, line numbers are not left justified."
    :type 'boolean
    :group 'f90)
  
***************
*** 259,265 ****
       "elemental" "pure") 'words)
    "Keyword-regexp for font-lock level >= 3.")
  
- 
  (defconst f90-procedures-re
    (concat "\\<"
     (regexp-opt
--- 272,277 ----
***************
*** 356,362 ****
         (1 font-lock-keyword-face) (2 font-lock-constant-face))
         ;; line numbers (lines whose first character after number is letter)
         '("^[ \t]*\\([0-9]+\\)[ \t]*[a-z]+" (1 font-lock-constant-face t))))
!   "Highlights declarations, do-loops and other constructions")
  
  (defvar f90-font-lock-keywords-3
    (append f90-font-lock-keywords-2
--- 368,374 ----
         (1 font-lock-keyword-face) (2 font-lock-constant-face))
         ;; line numbers (lines whose first character after number is letter)
         '("^[ \t]*\\([0-9]+\\)[ \t]*[a-z]+" (1 font-lock-constant-face t))))
!   "Highlights declarations, do-loops and other constructs.")
  
  (defvar f90-font-lock-keywords-3
    (append f90-font-lock-keywords-2
***************
*** 374,380 ****
    "Highlights all F90 and HPF keywords.")
  
  (defvar f90-font-lock-keywords
!       f90-font-lock-keywords-2
    "*Default expressions to highlight in F90 mode.")
  
  ;; syntax table
--- 386,392 ----
    "Highlights all F90 and HPF keywords.")
  
  (defvar f90-font-lock-keywords
!   f90-font-lock-keywords-2
    "*Default expressions to highlight in F90 mode.")
  
  ;; syntax table
***************
*** 644,654 ****
         "\\)"
         "[ \t]*\\(function\\|subroutine\\)[ \t]+\\(\\sw+\\)")
      4)))
!   "imenu generic expression for F90 mode.")
  
  (defun f90-add-imenu-menu ()
-   (interactive)
    "Add an imenu menu to the menubar."
    (if (not f90-imenu)
        (progn
        (imenu-add-to-menubar "F90-imenu")
--- 656,666 ----
         "\\)"
         "[ \t]*\\(function\\|subroutine\\)[ \t]+\\(\\sw+\\)")
      4)))
!   "Generic imenu expression for F90 mode.")
  
  (defun f90-add-imenu-menu ()
    "Add an imenu menu to the menubar."
+   (interactive)
    (if (not f90-imenu)
        (progn
        (imenu-add-to-menubar "F90-imenu")
***************
*** 735,746 ****
  
  ;;;###autoload
  (defun f90-mode ()
!   "Major mode for editing Fortran 90 code in free format.
  
  \\[f90-indent-new-line] corrects current indentation and creates new\
   indented line.
! \\[f90-indent-line] indents the current line correctly. 
! \\[f90-indent-subprogram] indents the current subprogram. 
  
  Type `? or `\\[help-command] to display a list of built-in\
   abbrevs for F90 keywords.
--- 747,758 ----
  
  ;;;###autoload
  (defun f90-mode ()
!   "Major mode for editing Fortran 90,95 code in free format.
  
  \\[f90-indent-new-line] corrects current indentation and creates new\
   indented line.
! \\[f90-indent-line] indents the current line correctly.
! \\[f90-indent-subprogram] indents the current subprogram.
  
  Type `? or `\\[help-command] to display a list of built-in\
   abbrevs for F90 keywords.
***************
*** 750,793 ****
  
  Variables controlling indentation style and extra features:
  
!  f90-do-indent
      Extra indentation within do blocks.  (default 3)
!  f90-if-indent
!     Extra indentation within if/select case/where/forall blocks. (default 3)
!  f90-type-indent
      Extra indentation within type/interface/block-data blocks.  (default 3)
!  f90-program-indent
      Extra indentation within program/module/subroutine/function blocks.
!       (default 2)
!  f90-continuation-indent
      Extra indentation applied to continuation lines.  (default 5)
!  f90-comment-region
      String inserted by \\[f90-comment-region] at start of each line in 
      region.  (default \"!!!$\")
!  f90-indented-comment-re
      Regexp determining the type of comment to be intended like code.
      (default \"!\")
!  f90-directive-comment-re
      Regexp of comment-like directive like \"!HPF\\\\$\", not to be indented.
      (default \"!hpf\\\\$\")
!  f90-break-delimiters
      Regexp holding list of delimiters at which lines may be broken.
      (default \"[-+*/><=,% \\t]\")
!  f90-break-before-delimiters
      Non-nil causes `f90-do-auto-fill' to break lines before delimiters.
      (default t)
!  f90-beginning-ampersand 
      Automatic insertion of \& at beginning of continuation lines. (default t)
!  f90-smart-end 
      From an END statement, check and fill the end using matching block start.
      Allowed values are 'blink, 'no-blink, and nil, which determine
!     whether to blink the matching beginning.) (default 'blink)
!  f90-auto-keyword-case
!     Automatic change of case of keywords. (default nil)
      The possibilities are 'downcase-word, 'upcase-word, 'capitalize-word.
!  f90-leave-line-no
!     Do not left-justify line numbers. (default nil)
!  f90-keywords-re
      List of keywords used for highlighting/upcase-keywords etc.
  
  Turning on F90 mode calls the value of the variable `f90-mode-hook'
--- 762,805 ----
  
  Variables controlling indentation style and extra features:
  
!  `f90-do-indent'
      Extra indentation within do blocks.  (default 3)
!  `f90-if-indent'
!     Extra indentation within if/select case/where/forall blocks.  (default 3)
!  `f90-type-indent'
      Extra indentation within type/interface/block-data blocks.  (default 3)
!  `f90-program-indent'
      Extra indentation within program/module/subroutine/function blocks.
!     (default 2)
!  `f90-continuation-indent'
      Extra indentation applied to continuation lines.  (default 5)
!  `f90-comment-region'
      String inserted by \\[f90-comment-region] at start of each line in 
      region.  (default \"!!!$\")
!  `f90-indented-comment-re'
      Regexp determining the type of comment to be intended like code.
      (default \"!\")
!  `f90-directive-comment-re'
      Regexp of comment-like directive like \"!HPF\\\\$\", not to be indented.
      (default \"!hpf\\\\$\")
!  `f90-break-delimiters'
      Regexp holding list of delimiters at which lines may be broken.
      (default \"[-+*/><=,% \\t]\")
!  `f90-break-before-delimiters'
      Non-nil causes `f90-do-auto-fill' to break lines before delimiters.
      (default t)
!  `f90-beginning-ampersand'
      Automatic insertion of \& at beginning of continuation lines. (default t)
!  `f90-smart-end'
      From an END statement, check and fill the end using matching block start.
      Allowed values are 'blink, 'no-blink, and nil, which determine
!     whether to blink the matching beginning.  (default 'blink)
!  `f90-auto-keyword-case'
!     Automatic change of case of keywords.  (default nil)
      The possibilities are 'downcase-word, 'upcase-word, 'capitalize-word.
!  `f90-leave-line-no'
!     Do not left-justify line numbers.  (default nil)
!  `f90-keywords-re'
      List of keywords used for highlighting/upcase-keywords etc.
  
  Turning on F90 mode calls the value of the variable `f90-mode-hook'
***************
*** 877,883 ****
  
  (defsubst f90-indent-to (col &optional no-line-number)
    "Indent current line to column COL.
! If no-line-number nil, jump over a possible line-number."
    (beginning-of-line)
    (if (not no-line-number)
        (skip-chars-forward " \t0-9"))
--- 889,895 ----
  
  (defsubst f90-indent-to (col &optional no-line-number)
    "Indent current line to column COL.
! If optional argument NO-LINE-NUMBER is nil, jump over a possible line-number."
    (beginning-of-line)
    (if (not no-line-number)
        (skip-chars-forward " \t0-9"))
***************
*** 1040,1047 ****
                   (f90-change-keywords f90-auto-keyword-case bol eol))))))
  
  (defun f90-electric-insert ()
    (interactive)
-   "Calls f90-do-auto-fill at each operator insertion."
    (self-insert-command 1)
    (f90-update-line)
    (if auto-fill-function (f90-do-auto-fill)))
--- 1052,1059 ----
                   (f90-change-keywords f90-auto-keyword-case bol eol))))))
  
  (defun f90-electric-insert ()
+   "Call `f90-do-auto-fill' at each operator insertion."
    (interactive)
    (self-insert-command 1)
    (f90-update-line)
    (if auto-fill-function (f90-do-auto-fill)))
***************
*** 1241,1247 ****
      (set-marker end nil)))
  
  (defun f90-indent-line (&optional no-update)
!   "Indent current line as F90 code."
    (interactive)
    (let (indent (no-line-number nil) (pos (make-marker)) (case-fold-search t))
      (set-marker pos (point))
--- 1253,1261 ----
      (set-marker end nil)))
  
  (defun f90-indent-line (&optional no-update)
!   "Indent current line as F90 code.
! Unless optional argument NO-UPDATE is non-nil, call `f90-update-line'
! after indenting."
    (interactive)
    (let (indent (no-line-number nil) (pos (make-marker)) (case-fold-search t))
      (set-marker pos (point))
***************
*** 1266,1273 ****
      (set-marker pos nil)))
  
  (defun f90-indent-new-line ()
!   "Reindent the current F90 line, insert a newline and indent the newline.
! An abbrev before point is expanded if `abbrev-mode' is non-nil.
  If run in the middle of a line, the line is not broken."
    (interactive)
    (let (string cont (case-fold-search t))
--- 1280,1287 ----
      (set-marker pos nil)))
  
  (defun f90-indent-new-line ()
!   "Reindent current line, insert a newline and indent the newline.
! An abbrev before point is expanded if the variable `abbrev-mode' is non-nil.
  If run in the middle of a line, the line is not broken."
    (interactive)
    (let (string cont (case-fold-search t))
***************
*** 1408,1414 ****
  
  ;; autofill and break-line
  (defun f90-break-line (&optional no-update)
!   "Break line at point, insert continuation marker(s) and indent."
    (interactive)
    (let (ctype)
      (cond ((f90-in-string)
--- 1422,1430 ----
  
  ;; autofill and break-line
  (defun f90-break-line (&optional no-update)
!   "Break line at point, insert continuation marker(s) and indent.
! Unless in a string or comment, or if the optional argument NO-UPDATE
! is non-nil, call `f90-update-line' after inserting the continuation marker."
    (interactive)
    (let (ctype)
      (cond ((f90-in-string)
***************
*** 1424,1430 ****
    (indent-according-to-mode))
    
  (defun f90-find-breakpoint ()
!   "From fill-column, search backward for break-delimiter."
    (let ((bol (line-beginning-position)))
      (re-search-backward f90-break-delimiters bol)
      (if f90-break-before-delimiters
--- 1440,1446 ----
    (indent-according-to-mode))
    
  (defun f90-find-breakpoint ()
!   "From `fill-column', search backward for break-delimiter."
    (let ((bol (line-beginning-position)))
      (re-search-backward f90-break-delimiters bol)
      (if f90-break-before-delimiters
***************
*** 1436,1442 ****
        (forward-char)))))
  
  (defun f90-do-auto-fill ()
!   "Break line if non-white characters beyond fill-column. Also, update line. "
    (interactive)
    ;; Break the line before or after the last delimiter (non-word char) if
    ;; position is beyond fill-column.
--- 1452,1458 ----
        (forward-char)))))
  
  (defun f90-do-auto-fill ()
!   "Break line if non-white characters beyond `fill-column'. Also, update 
line."
    (interactive)
    ;; Break the line before or after the last delimiter (non-word char) if
    ;; position is beyond fill-column.
***************
*** 1585,1591 ****
              (f90-block-match beg-block beg-name end-block end-name)))))))
  
  (defun f90-insert-end ()
!   "Inserts an complete end statement matching beginning of present block."
    (interactive)
    (let ((f90-smart-end (if f90-smart-end f90-smart-end 'blink)))
      (insert "end")
--- 1601,1607 ----
              (f90-block-match beg-block beg-name end-block end-name)))))))
  
  (defun f90-insert-end ()
!   "Insert a complete end statement matching beginning of present block."
    (interactive)
    (let ((f90-smart-end (if f90-smart-end f90-smart-end 'blink)))
      (insert "end")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]