• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.9.5/emacs-92/emacs/lisp/progmodes/

Lines Matching +defs:at +defs:do

14 ;; the Free Software Foundation; either version 2, or (at your option)
86 ;; '(lambda () (setq f90-do-indent 3
119 ;; 2) Multi-; statements like "do i=1,20 ; j=j+i ; end do" are not handled
125 ;; and are untouched by all case-changing commands. There is, at present, no
127 ;; 7) f77 do-loops do 10 i=.. ; ; 10 continue are not correctly indented.
128 ;; You are urged to use f90-do loops (with labels if you wish).
176 (defcustom f90-do-indent 3
202 "*String inserted by \\[f90-comment-region] at start of each line in region."
217 "*Non-nil gives automatic insertion of \& at start of continuation line."
232 "*Regexp matching delimiter characters at which lines may be broken.
240 "*Non-nil causes `f90-do-auto-fill' to break lines before delimiters."
268 "dimension" "do" "double" "else" "elseif" "elsewhere" "end"
377 ;; do, if, select, where, and forall constructs.
378 '("\\<\\(end[ \t]*\\(do\\|if\\|select\\|forall\\|where\\)\\)\\>\
382 do\\([ \t]*while\\)?\\|select[ \t]*case\\|where\\|forall\\)\\)\\>"
396 '("\\<\\(do\\|go *to\\)\\>[ \t]*\\([0-9]+\\)"
400 "Highlights declarations, do-loops and other constructs.")
492 ["Break Line at Point" f90-break-line t]
562 (regexp-opt '("do" "if" "interface" "function" "module" "program"
606 (regexp-opt '("do" "if" "forall" "function" "interface"
620 "\\(do\\|select[ \t]*case\\|"
631 A simple regexp cannot do this in fully correct fashion, so this
656 ;; Check that the last three non-space characters do not spell E N D.
712 ("`dw" "do while" )
772 `f90-do-indent'
773 Extra indentation within do blocks (default 3).
784 String inserted by function \\[f90-comment-region] at start of each
793 Regexp holding list of delimiters at which lines may be broken
796 Non-nil causes `f90-do-auto-fill' to break lines before delimiters
799 Automatic insertion of \& at beginning of continuation lines (default t).
826 (set (make-local-variable 'normal-auto-fill-function) 'f90-do-auto-fill)
873 (while (and (looking-at "[ \t]*\\(!\\|$\\)") (zerop (forward-line -1))))
923 (defsubst f90-looking-at-do ()
924 "Return (\"do\" NAME) if a do statement starts after point.
926 (if (looking-at "\\(\\(\\sw+\\)[ \t]*:\\)?[ \t]*\\(do\\)\\>")
929 (defsubst f90-looking-at-select-case ()
932 (if (looking-at "\\(\\(\\sw+\\)[ \t]*:\\)?[ \t]*\
936 (defsubst f90-looking-at-if-then ()
940 (when (looking-at "\\(\\(\\sw+\\)[ \t]*:\\)?[ \t]*\\(if\\)\\>")
946 (if (or (looking-at "then\\>")
950 (looking-at "then\\>")))
953 (defsubst f90-looking-at-where-or-forall ()
957 (when (looking-at "\\(\\(\\sw+\\)[ \t]*:\\)?[ \t]*\
964 (if (looking-at "\\(!\\|$\\)") (list struct label))))))
966 (defsubst f90-looking-at-type-like ()
970 ((looking-at f90-type-def-re)
972 ((looking-at "\\(interface\\|block[\t]*data\\)\\>")
975 (defsubst f90-looking-at-program-block-start ()
979 ((looking-at "\\(program\\)[ \t]+\\(\\sw+\\)\\>")
981 ((and (not (looking-at "module[ \t]*procedure\\>"))
982 (looking-at "\\(module\\)[ \t]+\\(\\sw+\\)\\>"))
984 ((and (not (looking-at "end[ \t]*\\(function\\|subroutine\\)"))
985 (looking-at "[^!'\"\&\n]*\\(function\\|subroutine\\)[ \t]+\
996 (defsubst f90-looking-at-program-block-end ()
998 (if (looking-at (concat "end[ \t]*" f90-blocks-re
1003 "Return the indentation to be used for a comment starting at point.
1007 All others return `comment-column', leaving at least one space after code."
1008 (cond ((looking-at "!!!") 0)
1010 (looking-at f90-directive-comment-re)) 0)
1011 ((looking-at (regexp-quote f90-comment-region)) 0)
1012 ((and (looking-at f90-indented-comment-re)
1042 Leaves point at the first non-blank character after the line number.
1044 (and (null f90-leave-line-no) (looking-at "[ \t]+[0-9]")
1049 "Return nil if point is at the edge of a code block.
1053 (not (or (looking-at "end")
1054 (looking-at "\\(do\\|if\\|else\\(if\\|where\\)?\
1056 (looking-at "\\(program\\|module\\|interface\\|\
1058 (looking-at "\\(contains\\|\\sw+[ \t]*:\\)")
1059 (looking-at f90-type-def-re)
1074 (if auto-fill-function (f90-do-auto-fill) ; also updates line
1087 (looking-at "[ \t]*[0-9]"))))
1090 (when (re-search-forward "\\(if\\|do\\|select\\|where\\|forall\\)"
1094 (cond ((f90-looking-at-do)
1095 (setq icol (+ icol f90-do-indent)))
1096 ((or (f90-looking-at-if-then)
1097 (f90-looking-at-where-or-forall)
1098 (f90-looking-at-select-case))
1102 "\\(if\\|do\\|select\\|where\\|forall\\)" epnt t)
1105 (cond ((f90-looking-at-do)
1106 (setq icol (+ icol f90-do-indent)))
1107 ((or (f90-looking-at-if-then)
1108 (f90-looking-at-where-or-forall)
1109 (f90-looking-at-select-case))
1111 ((looking-at f90-end-if-re)
1113 ((looking-at "end[ \t]*do\\>")
1114 (setq icol (- icol f90-do-indent))))
1130 (when (looking-at "[ \t]*\\([!#]\\|$\\)")
1133 (f90-looking-at-program-block-start))
1147 (if (looking-at "[0-9]")
1149 (cond ((or (f90-looking-at-if-then)
1150 (f90-looking-at-where-or-forall)
1151 (f90-looking-at-select-case)
1152 (looking-at f90-else-like-re))
1154 ((f90-looking-at-do)
1155 (setq icol (+ icol f90-do-indent)))
1156 ((f90-looking-at-type-like)
1158 ((or (f90-looking-at-program-block-start)
1159 (looking-at "contains[ \t]*\\($\\|!\\)"))
1163 (cond ((looking-at "[ \t]*$"))
1164 ((looking-at "[ \t]*#") ; check for cpp directive
1168 (cond ((or (looking-at f90-else-like-re)
1169 (looking-at f90-end-if-re))
1171 ((looking-at "end[ \t]*do\\>")
1172 (setq icol (- icol f90-do-indent)))
1173 ((looking-at f90-end-type-re)
1175 ((or (looking-at "contains[ \t]*\\(!\\|$\\)")
1176 (f90-looking-at-program-block-end))
1192 (looking-at "[ \t0-9]*\\(!\\|$\\|#\\)")))
1204 (looking-at "[ \t0-9]*\\(!\\|$\\)")))
1217 (cond ((setq matching-beg (f90-looking-at-program-block-start))
1219 ((f90-looking-at-program-block-end)
1241 (cond ((f90-looking-at-program-block-start)
1243 ((setq matching-end (f90-looking-at-program-block-end))
1276 (f90-looking-at-do)
1277 (f90-looking-at-select-case)
1278 (f90-looking-at-type-like)
1279 (f90-looking-at-program-block-start)
1280 (f90-looking-at-if-then)
1281 (f90-looking-at-where-or-forall)))
1284 ((looking-at (concat "end[ \t]*" f90-blocks-re
1329 ((looking-at (concat "end[ \t]*" f90-blocks-re
1336 (f90-looking-at-do)
1337 (f90-looking-at-select-case)
1338 (f90-looking-at-type-like)
1339 (f90-looking-at-program-block-start)
1340 (f90-looking-at-if-then)
1341 (f90-looking-at-where-or-forall)))
1375 (looking-at "end[ \t]*")
1376 (f90-looking-at-do)
1377 (f90-looking-at-select-case)
1378 (f90-looking-at-type-like)
1379 (f90-looking-at-program-block-start)
1380 (f90-looking-at-if-then)
1381 (f90-looking-at-where-or-forall))
1397 "Put mark at end of F90 subprogram, point at beginning, push mark."
1412 Insert the variable `f90-comment-region' at the start of every line
1418 (if (looking-at (regexp-quote f90-comment-region))
1423 (if (looking-at (regexp-quote f90-comment-region))
1442 (if (looking-at "!")
1444 (and f90-smart-end (looking-at "end")
1450 ;; position after the indentation. Else stay at same point in text.
1455 (f90-do-auto-fill)
1477 ;; TODO not add spaces to empty lines at the start.
1489 (while (and (looking-at "[ \t]*[0-9]*\\(!\\|#\\|[ \t]*$\\)")
1505 ind-b (cond ((setq struct (f90-looking-at-do)) f90-do-indent)
1506 ((or (setq struct (f90-looking-at-if-then))
1507 (setq struct (f90-looking-at-select-case))
1508 (setq struct (f90-looking-at-where-or-forall))
1509 (looking-at f90-else-like-re))
1511 ((setq struct (f90-looking-at-type-like))
1513 ((or (setq struct (f90-looking-at-program-block-start))
1514 (looking-at "contains[ \t]*\\($\\|!\\)"))
1520 (if (looking-at "[ \t]*!")
1530 (cond ((looking-at "[ \t]*$") (setq ind-curr 0))
1531 ((looking-at "[ \t]*#") (setq ind-curr 0))
1532 ((looking-at "!") (setq ind-curr (f90-comment-indent)))
1534 ((looking-at f90-else-like-re) (setq ind-curr
1536 ((looking-at "contains[ \t]*\\($\\|!\\)")
1539 (cond ((setq struct (f90-looking-at-do)) f90-do-indent)
1540 ((or (setq struct (f90-looking-at-if-then))
1541 (setq struct (f90-looking-at-select-case))
1542 (setq struct (f90-looking-at-where-or-forall)))
1544 ((setq struct (f90-looking-at-type-like))
1546 ((setq struct (f90-looking-at-program-block-start))
1551 ((setq end-struct (f90-looking-at-program-block-end))
1559 (cond ((looking-at f90-end-if-re) f90-if-indent)
1560 ((looking-at "end[ \t]*do\\>") f90-do-indent)
1561 ((looking-at f90-end-type-re) f90-type-indent)
1562 ((f90-looking-at-program-block-end)
1572 (if (looking-at "[ \t]*!")
1604 "Break line at point, insert continuation marker(s) and indent.
1623 (forward-char (if (looking-at f90-no-break-re) 2 1))
1625 (or (looking-at f90-no-break-re)
1628 (defun f90-do-auto-fill ()
1657 (if (looking-at "\&") (delete-char 1))
1663 (looking-at "[ \t]*!+")
1700 BEG-BLOCK is the type of block as indicated at the start (e.g., do).
1702 END-BLOCK is the type of block as indicated at the end (may be nil).
1704 Leave point at the end of line."
1707 ;; statement at the start. Should really be an error (?).
1733 (or (looking-at "[ \t]*!") (delete-horizontal-space))))
1744 (setq end-struct (f90-looking-at-program-block-end)))
1760 (f90-looking-at-do)
1761 (f90-looking-at-if-then)
1762 (f90-looking-at-where-or-forall)
1763 (f90-looking-at-select-case)
1764 (f90-looking-at-type-like)
1765 (f90-looking-at-program-block-start)
1772 ((looking-at (concat "end[ \t]*" f90-blocks-re))
1890 (looking-at "#"))))