aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/calendar/appt.el4
-rw-r--r--lisp/calendar/cal-bahai.el3
-rw-r--r--lisp/calendar/cal-china.el2
-rw-r--r--lisp/calendar/cal-coptic.el2
-rw-r--r--lisp/calendar/cal-dst.el4
-rw-r--r--lisp/calendar/cal-french.el2
-rw-r--r--lisp/calendar/cal-hebrew.el2
-rw-r--r--lisp/calendar/cal-islam.el2
-rw-r--r--lisp/calendar/cal-iso.el2
-rw-r--r--lisp/calendar/cal-julian.el2
-rw-r--r--lisp/calendar/cal-mayan.el4
-rw-r--r--lisp/calendar/cal-move.el2
-rw-r--r--lisp/calendar/cal-persia.el2
-rw-r--r--lisp/calendar/cal-tex.el2
-rw-r--r--lisp/calendar/cal-x.el2
-rw-r--r--lisp/calendar/diary-lib.el2
-rw-r--r--lisp/calendar/holidays.el2
-rw-r--r--lisp/calendar/icalendar.el2
-rw-r--r--lisp/calendar/lunar.el4
-rw-r--r--lisp/calendar/parse-time.el2
-rw-r--r--lisp/calendar/solar.el4
-rw-r--r--lisp/calendar/time-date.el2
-rw-r--r--lisp/calendar/timeclock.el2
-rw-r--r--lisp/calendar/todo-mode.el2
-rw-r--r--lisp/progmodes/f90.el52
25 files changed, 74 insertions, 37 deletions
diff --git a/lisp/calendar/appt.el b/lisp/calendar/appt.el
index 40c6bfc2c8..571b4ec132 100644
--- a/lisp/calendar/appt.el
+++ b/lisp/calendar/appt.el
@@ -1,7 +1,7 @@
;;; appt.el --- appointment notification functions
-;; Copyright (C) 1989, 1990, 1994, 1998, 2001, 2002, 2003, 2004, 2005
-;; Free Software Foundation, Inc.
+;; Copyright (C) 1989, 1990, 1994, 1998, 2001, 2002, 2003, 2004, 2005,
+;; 2006 Free Software Foundation, Inc.
;; Author: Neil Mager <[email protected]>
;; Maintainer: Glenn Morris <[email protected]>
diff --git a/lisp/calendar/cal-bahai.el b/lisp/calendar/cal-bahai.el
index 91d4d3636d..f6419cf9a8 100644
--- a/lisp/calendar/cal-bahai.el
+++ b/lisp/calendar/cal-bahai.el
@@ -1,6 +1,7 @@
;;; cal-bahai.el --- calendar functions for the Baha'i calendar.
-;; Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
+;; Free Software Foundation, Inc.
;; Author: John Wiegley <[email protected]>
;; Keywords: calendar
diff --git a/lisp/calendar/cal-china.el b/lisp/calendar/cal-china.el
index a4b83b87b1..5cdaa5092a 100644
--- a/lisp/calendar/cal-china.el
+++ b/lisp/calendar/cal-china.el
@@ -1,6 +1,6 @@
;;; cal-china.el --- calendar functions for the Chinese calendar
-;; Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005
+;; Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006
;; Free Software Foundation, Inc.
;; Author: Edward M. Reingold <[email protected]>
diff --git a/lisp/calendar/cal-coptic.el b/lisp/calendar/cal-coptic.el
index 4673053246..c37ab17567 100644
--- a/lisp/calendar/cal-coptic.el
+++ b/lisp/calendar/cal-coptic.el
@@ -1,6 +1,6 @@
;;; cal-coptic.el --- calendar functions for the Coptic/Ethiopic calendars
-;; Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005
+;; Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006
;; Free Software Foundation, Inc.
;; Author: Edward M. Reingold <[email protected]>
diff --git a/lisp/calendar/cal-dst.el b/lisp/calendar/cal-dst.el
index 1f3859d8bf..62327a99c6 100644
--- a/lisp/calendar/cal-dst.el
+++ b/lisp/calendar/cal-dst.el
@@ -1,7 +1,7 @@
;;; cal-dst.el --- calendar functions for daylight savings rules
-;; Copyright (C) 1993, 1994, 1995, 1996, 2001, 2002, 2003, 2004, 2005
-;; Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1994, 1995, 1996, 2001, 2002, 2003, 2004, 2005,
+;; 2006 Free Software Foundation, Inc.
;; Author: Paul Eggert <[email protected]>
;; Edward M. Reingold <[email protected]>
diff --git a/lisp/calendar/cal-french.el b/lisp/calendar/cal-french.el
index ed974d312b..0d88f161a0 100644
--- a/lisp/calendar/cal-french.el
+++ b/lisp/calendar/cal-french.el
@@ -1,7 +1,7 @@
;;; cal-french.el --- calendar functions for the French Revolutionary calendar
;; Copyright (C) 1988, 1989, 1992, 1994, 1995, 1997, 2001, 2002, 2003,
-;; 2004, 2005 Free Software Foundation, Inc.
+;; 2004, 2005, 2006 Free Software Foundation, Inc.
;; Author: Edward M. Reingold <[email protected]>
;; Maintainer: Glenn Morris <[email protected]>
diff --git a/lisp/calendar/cal-hebrew.el b/lisp/calendar/cal-hebrew.el
index 99823db821..1272e9966d 100644
--- a/lisp/calendar/cal-hebrew.el
+++ b/lisp/calendar/cal-hebrew.el
@@ -1,6 +1,6 @@
;;; cal-hebrew.el --- calendar functions for the Hebrew calendar
-;; Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005
+;; Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006
;; Free Software Foundation, Inc.
;; Author: Nachum Dershowitz <[email protected]>
diff --git a/lisp/calendar/cal-islam.el b/lisp/calendar/cal-islam.el
index 5280160015..105bb288eb 100644
--- a/lisp/calendar/cal-islam.el
+++ b/lisp/calendar/cal-islam.el
@@ -1,6 +1,6 @@
;;; cal-islam.el --- calendar functions for the Islamic calendar
-;; Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005
+;; Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006
;; Free Software Foundation, Inc.
;; Author: Edward M. Reingold <[email protected]>
diff --git a/lisp/calendar/cal-iso.el b/lisp/calendar/cal-iso.el
index 41a3713d3e..c11968e842 100644
--- a/lisp/calendar/cal-iso.el
+++ b/lisp/calendar/cal-iso.el
@@ -1,6 +1,6 @@
;;; cal-iso.el --- calendar functions for the ISO calendar
-;; Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005
+;; Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006
;; Free Software Foundation, Inc.
;; Author: Edward M. Reingold <[email protected]>
diff --git a/lisp/calendar/cal-julian.el b/lisp/calendar/cal-julian.el
index 068e705410..8f7af039d9 100644
--- a/lisp/calendar/cal-julian.el
+++ b/lisp/calendar/cal-julian.el
@@ -1,6 +1,6 @@
;;; cal-julian.el --- calendar functions for the Julian calendar
-;; Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005
+;; Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006
;; Free Software Foundation, Inc.
;; Author: Edward M. Reingold <[email protected]>
diff --git a/lisp/calendar/cal-mayan.el b/lisp/calendar/cal-mayan.el
index ce4f42e332..b2d111a4b1 100644
--- a/lisp/calendar/cal-mayan.el
+++ b/lisp/calendar/cal-mayan.el
@@ -1,7 +1,7 @@
;;; cal-mayan.el --- calendar functions for the Mayan calendars
-;; Copyright (C) 1992, 1993, 1995, 1997, 2001, 2002, 2003, 2004, 2005
-;; Free Software Foundation, Inc.
+;; Copyright (C) 1992, 1993, 1995, 1997, 2001, 2002, 2003, 2004, 2005,
+;; 2006 Free Software Foundation, Inc.
;; Author: Stewart M. Clamen <[email protected]>
;; Edward M. Reingold <[email protected]>
diff --git a/lisp/calendar/cal-move.el b/lisp/calendar/cal-move.el
index 70275017bf..f7c8b284f1 100644
--- a/lisp/calendar/cal-move.el
+++ b/lisp/calendar/cal-move.el
@@ -1,6 +1,6 @@
;;; cal-move.el --- calendar functions for movement in the calendar
-;; Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005
+;; Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005, 2006
;; Free Software Foundation, Inc.
;; Author: Edward M. Reingold <[email protected]>
diff --git a/lisp/calendar/cal-persia.el b/lisp/calendar/cal-persia.el
index e9583a3f00..33c296a773 100644
--- a/lisp/calendar/cal-persia.el
+++ b/lisp/calendar/cal-persia.el
@@ -1,6 +1,6 @@
;;; cal-persia.el --- calendar functions for the Persian calendar
-;; Copyright (C) 1996, 1997, 2001, 2002, 2003, 2004, 2005
+;; Copyright (C) 1996, 1997, 2001, 2002, 2003, 2004, 2005, 2006
;; Free Software Foundation, Inc.
;; Author: Edward M. Reingold <[email protected]>
diff --git a/lisp/calendar/cal-tex.el b/lisp/calendar/cal-tex.el
index 7b029bc93c..a67d90c832 100644
--- a/lisp/calendar/cal-tex.el
+++ b/lisp/calendar/cal-tex.el
@@ -1,6 +1,6 @@
;;; cal-tex.el --- calendar functions for printing calendars with LaTeX
-;; Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005
+;; Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005, 2006
;; Free Software Foundation, Inc.
;; Author: Steve Fisk <[email protected]>
diff --git a/lisp/calendar/cal-x.el b/lisp/calendar/cal-x.el
index a512c7c1e2..2e465e1093 100644
--- a/lisp/calendar/cal-x.el
+++ b/lisp/calendar/cal-x.el
@@ -1,6 +1,6 @@
;;; cal-x.el --- calendar windows in dedicated frames in X
-;; Copyright (C) 1994, 1995, 2001, 2002, 2003, 2004, 2005
+;; Copyright (C) 1994, 1995, 2001, 2002, 2003, 2004, 2005, 2006
;; Free Software Foundation, Inc.
;; Author: Michael Kifer <[email protected]>
diff --git a/lisp/calendar/diary-lib.el b/lisp/calendar/diary-lib.el
index 91c396f7bf..a8eeebae8f 100644
--- a/lisp/calendar/diary-lib.el
+++ b/lisp/calendar/diary-lib.el
@@ -1,7 +1,7 @@
;;; diary-lib.el --- diary functions
;; Copyright (C) 1989, 1990, 1992, 1993, 1994, 1995, 2001, 2002, 2003,
-;; 2004, 2005 Free Software Foundation, Inc.
+;; 2004, 2005, 2006 Free Software Foundation, Inc.
;; Author: Edward M. Reingold <[email protected]>
;; Maintainer: Glenn Morris <[email protected]>
diff --git a/lisp/calendar/holidays.el b/lisp/calendar/holidays.el
index b18844c18d..c9a1a0f17e 100644
--- a/lisp/calendar/holidays.el
+++ b/lisp/calendar/holidays.el
@@ -1,7 +1,7 @@
;;; holidays.el --- holiday functions for the calendar package
;; Copyright (C) 1989, 1990, 1992, 1993, 1994, 1997, 2001, 2002, 2003,
-;; 2004, 2005 Free Software Foundation, Inc.
+;; 2004, 2005, 2006 Free Software Foundation, Inc.
;; Author: Edward M. Reingold <[email protected]>
;; Maintainer: Glenn Morris <[email protected]>
diff --git a/lisp/calendar/icalendar.el b/lisp/calendar/icalendar.el
index 33f8947450..e1d513ce68 100644
--- a/lisp/calendar/icalendar.el
+++ b/lisp/calendar/icalendar.el
@@ -1,6 +1,6 @@
;;; icalendar.el --- iCalendar implementation -*-coding: utf-8 -*-
-;; Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
;; Author: Ulf Jasper <[email protected]>
;; Created: August 2002
diff --git a/lisp/calendar/lunar.el b/lisp/calendar/lunar.el
index ed54bc8839..dd2f546fc3 100644
--- a/lisp/calendar/lunar.el
+++ b/lisp/calendar/lunar.el
@@ -1,7 +1,7 @@
;;; lunar.el --- calendar functions for phases of the moon
-;; Copyright (C) 1992, 1993, 1995, 1997, 2001, 2002, 2003, 2004, 2005
-;; Free Software Foundation, Inc.
+;; Copyright (C) 1992, 1993, 1995, 1997, 2001, 2002, 2003, 2004, 2005,
+;; 2006 Free Software Foundation, Inc.
;; Author: Edward M. Reingold <[email protected]>
;; Maintainer: Glenn Morris <[email protected]>
diff --git a/lisp/calendar/parse-time.el b/lisp/calendar/parse-time.el
index 3e09e7b1fb..9587eb57a9 100644
--- a/lisp/calendar/parse-time.el
+++ b/lisp/calendar/parse-time.el
@@ -1,6 +1,6 @@
;;; parse-time.el --- parsing time strings
-;; Copyright (C) 1996, 2000, 2001, 2002, 2003, 2004, 2005
+;; Copyright (C) 1996, 2000, 2001, 2002, 2003, 2004, 2005, 2006
;; Free Software Foundation, Inc.
;; Author: Erik Naggum <[email protected]>
diff --git a/lisp/calendar/solar.el b/lisp/calendar/solar.el
index 5b58b739db..660abb14f8 100644
--- a/lisp/calendar/solar.el
+++ b/lisp/calendar/solar.el
@@ -1,7 +1,7 @@
;;; solar.el --- calendar functions for solar events
-;; Copyright (C) 1992, 1993, 1995, 1997, 2001, 2002, 2003, 2004, 2005
-;; Free Software Foundation, Inc.
+;; Copyright (C) 1992, 1993, 1995, 1997, 2001, 2002, 2003, 2004, 2005,
+;; 2006 Free Software Foundation, Inc.
;; Author: Edward M. Reingold <[email protected]>
;; Denis B. Roegel <[email protected]>
diff --git a/lisp/calendar/time-date.el b/lisp/calendar/time-date.el
index fd74e5a625..0de9806d2b 100644
--- a/lisp/calendar/time-date.el
+++ b/lisp/calendar/time-date.el
@@ -1,6 +1,6 @@
;;; time-date.el --- Date and time handling functions
-;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
;; Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <[email protected]>
diff --git a/lisp/calendar/timeclock.el b/lisp/calendar/timeclock.el
index f46ec4eba2..3f2697509f 100644
--- a/lisp/calendar/timeclock.el
+++ b/lisp/calendar/timeclock.el
@@ -1,6 +1,6 @@
;;; timeclock.el --- mode for keeping track of how much you work
-;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
;; Free Software Foundation, Inc.
;; Author: John Wiegley <[email protected]>
diff --git a/lisp/calendar/todo-mode.el b/lisp/calendar/todo-mode.el
index b6871a38ab..6f96ec1cdb 100644
--- a/lisp/calendar/todo-mode.el
+++ b/lisp/calendar/todo-mode.el
@@ -1,6 +1,6 @@
;;; todo-mode.el --- major mode for editing TODO list files
-;; Copyright (C) 1997, 1999, 2001, 2002, 2003, 2004, 2005
+;; Copyright (C) 1997, 1999, 2001, 2002, 2003, 2004, 2005, 2006
;; Free Software Foundation, Inc.
;; Author: Oliver Seidel <[email protected]>
diff --git a/lisp/progmodes/f90.el b/lisp/progmodes/f90.el
index 3816fc3fb4..6c5b1f5328 100644
--- a/lisp/progmodes/f90.el
+++ b/lisp/progmodes/f90.el
@@ -1,7 +1,7 @@
;;; f90.el --- Fortran-90 mode (free format)
-;; Copyright (C) 1995, 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005
-;; Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005,
+;; 2006 Free Software Foundation, Inc.
;; Author: Torbj\"orn Einarsson <[email protected]>
;; Maintainer: Glenn Morris <[email protected]>
@@ -991,6 +991,16 @@ NAME is non-nil only for type."
"?\\([ \t]+\\(\\sw+\\)\\)?\\>"))
(list (match-string 1) (match-string 3))))
+(defsubst f90-looking-at-else-like ()
+ "Return KIND if an ELSE or CASE statement starts after point.
+Returns \"selectcase\", \"elseif\", \"elsewhere\", \"else\", or nil."
+ (when (looking-at f90-else-like-re)
+ (cond ((looking-at "case[ \t]*\\(default\\|\(\\)")
+ "selectcase")
+ ((or (looking-at "else[ \t]*\\(if\\)\\>")
+ (looking-at "else\\(where\\)?\\>"))
+ (concat "else" (match-string 1))))))
+
(defsubst f90-comment-indent ()
"Return the indentation to be used for a comment starting at point.
Used for `comment-indent-function' by F90 mode.
@@ -1430,7 +1440,7 @@ after indenting."
(skip-chars-forward " \t"))
(if (looking-at "!")
(setq indent (f90-comment-indent))
- (and f90-smart-end (looking-at "end")
+ (and f90-smart-end (looking-at (concat "end\\|" f90-else-like-re))
(f90-match-end))
(setq indent (f90-calculate-indent)))
(or (= indent (current-column))
@@ -1719,6 +1729,29 @@ Leave point at the end of line."
(replace-match ""))))
(or (looking-at "[ \t]*!") (delete-horizontal-space))))
+(defun f90-else-like-match (beg-block else-block)
+ "Match else-struct with beg-struct and complete else-struct if possible.
+BEG-BLOCK is the type of block as indicated at the start (e.g., if).
+ELSE-BLOCK is the type of block as indicated at the else (may be nil)."
+ (if (not (member beg-block '("if" "where" "select")))
+ (if beg-block
+ (message "%s block cannot have a %s." beg-block else-block)
+ (message "No beginning for %s." else-block))
+ (let ((else-type (cond
+ ((string-equal else-block "selectcase") "select")
+ ((string-match "else\\(if\\|where\\)" else-block)
+ (match-string 1 else-block)))))
+ (unless (f90-equal-symbols beg-block else-type)
+ (if (or else-type
+ (f90-equal-symbols beg-block "select"))
+ (progn
+ (message "%s does not match %s." else-block beg-block)
+ (end-of-line))
+ (cond ((string-equal beg-block "where")
+ (message "Inserting %s." beg-block)
+ (search-forward "else" (line-end-position))
+ (insert beg-block))))))))
+
(defun f90-match-end ()
"From an end block statement, find the corresponding block and name."
(interactive)
@@ -1726,11 +1759,11 @@ Leave point at the end of line."
(top-of-window (window-start))
(end-point (point))
(case-fold-search t)
- matching-beg beg-name end-name beg-block end-block end-struct)
+ matching-beg beg-name beg-block end-struct else-struct)
(when (save-excursion (beginning-of-line) (skip-chars-forward " \t0-9")
- (setq end-struct (f90-looking-at-program-block-end)))
- (setq end-block (car end-struct)
- end-name (car (cdr end-struct)))
+ (or (setq end-struct
+ (f90-looking-at-program-block-end))
+ (setq else-struct (f90-looking-at-else-like))))
(save-excursion
(beginning-of-line)
(while (and (> count 0)
@@ -1773,7 +1806,10 @@ Leave point at the end of line."
beg-name (car (cdr matching-beg)))
(goto-char end-point)
(beginning-of-line)
- (f90-block-match beg-block beg-name end-block end-name))))))
+ (if else-struct
+ (f90-else-like-match beg-block else-struct)
+ (f90-block-match beg-block beg-name
+ (car end-struct) (cadr end-struct))))))))
(defun f90-insert-end ()
"Insert a complete end statement matching beginning of present block."