summaryrefslogtreecommitdiff
path: root/lisp/progmodes
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/progmodes')
-rw-r--r--lisp/progmodes/ada-mode.el2
-rw-r--r--lisp/progmodes/ada-prj.el2
-rw-r--r--lisp/progmodes/ada-stmt.el4
-rw-r--r--lisp/progmodes/ada-xref.el2
-rw-r--r--lisp/progmodes/antlr-mode.el10
-rw-r--r--lisp/progmodes/asm-mode.el2
-rw-r--r--lisp/progmodes/autoconf.el2
-rw-r--r--lisp/progmodes/cc-align.el7
-rw-r--r--lisp/progmodes/cc-awk.el2
-rw-r--r--lisp/progmodes/cc-bytecomp.el4
-rw-r--r--lisp/progmodes/cc-cmds.el35
-rw-r--r--lisp/progmodes/cc-compat.el4
-rw-r--r--lisp/progmodes/cc-defs.el25
-rw-r--r--lisp/progmodes/cc-engine.el147
-rw-r--r--lisp/progmodes/cc-fonts.el2
-rw-r--r--lisp/progmodes/cc-langs.el47
-rw-r--r--lisp/progmodes/cc-menus.el4
-rw-r--r--lisp/progmodes/cc-mode.el4
-rw-r--r--lisp/progmodes/cc-styles.el7
-rw-r--r--lisp/progmodes/cc-subword.el2
-rw-r--r--lisp/progmodes/cc-vars.el7
-rw-r--r--lisp/progmodes/cfengine.el4
-rw-r--r--lisp/progmodes/cmacexp.el2
-rw-r--r--lisp/progmodes/compile.el62
-rw-r--r--lisp/progmodes/cperl-mode.el12
-rw-r--r--lisp/progmodes/cpp.el2
-rw-r--r--lisp/progmodes/cwarn.el2
-rw-r--r--lisp/progmodes/dcl-mode.el2
-rw-r--r--lisp/progmodes/delphi.el2
-rw-r--r--lisp/progmodes/ebnf-abn.el4
-rw-r--r--lisp/progmodes/ebnf-bnf.el4
-rw-r--r--lisp/progmodes/ebnf-dtd.el4
-rw-r--r--lisp/progmodes/ebnf-ebx.el4
-rw-r--r--lisp/progmodes/ebnf-iso.el2
-rw-r--r--lisp/progmodes/ebnf-otz.el4
-rw-r--r--lisp/progmodes/ebnf-yac.el4
-rw-r--r--lisp/progmodes/ebnf2ps.el2
-rw-r--r--lisp/progmodes/ebrowse.el6
-rw-r--r--lisp/progmodes/etags.el2
-rw-r--r--lisp/progmodes/executable.el2
-rw-r--r--lisp/progmodes/f90.el2
-rw-r--r--lisp/progmodes/flymake.el3
-rw-r--r--lisp/progmodes/fortran.el2
-rw-r--r--lisp/progmodes/gdb-ui.el132
-rw-r--r--lisp/progmodes/glasses.el2
-rw-r--r--lisp/progmodes/grep.el2
-rw-r--r--lisp/progmodes/gud.el2
-rw-r--r--lisp/progmodes/hideif.el2
-rw-r--r--lisp/progmodes/hideshow.el2
-rw-r--r--lisp/progmodes/icon.el2
-rw-r--r--lisp/progmodes/idlw-complete-structtag.el4
-rw-r--r--lisp/progmodes/idlw-help.el5
-rw-r--r--lisp/progmodes/idlw-shell.el5
-rw-r--r--lisp/progmodes/idlw-toolbar.el5
-rw-r--r--lisp/progmodes/idlwave.el5
-rw-r--r--lisp/progmodes/inf-lisp.el2
-rw-r--r--lisp/progmodes/ld-script.el2
-rw-r--r--lisp/progmodes/m4-mode.el2
-rw-r--r--lisp/progmodes/make-mode.el2
-rw-r--r--lisp/progmodes/mantemp.el2
-rw-r--r--lisp/progmodes/meta-mode.el2
-rw-r--r--lisp/progmodes/mixal-mode.el3
-rw-r--r--lisp/progmodes/octave-hlp.el2
-rw-r--r--lisp/progmodes/octave-inf.el2
-rw-r--r--lisp/progmodes/octave-mod.el2
-rw-r--r--lisp/progmodes/pascal.el2
-rw-r--r--lisp/progmodes/perl-mode.el2
-rw-r--r--lisp/progmodes/prolog.el2
-rw-r--r--lisp/progmodes/ps-mode.el2
-rw-r--r--lisp/progmodes/python.el2
-rw-r--r--lisp/progmodes/scheme.el2
-rw-r--r--lisp/progmodes/sh-script.el2
-rw-r--r--lisp/progmodes/simula.el2
-rw-r--r--lisp/progmodes/sql.el2
-rw-r--r--lisp/progmodes/tcl.el2
-rw-r--r--lisp/progmodes/vhdl-mode.el4
-rw-r--r--lisp/progmodes/which-func.el2
-rw-r--r--lisp/progmodes/xscheme.el2
78 files changed, 405 insertions, 266 deletions
diff --git a/lisp/progmodes/ada-mode.el b/lisp/progmodes/ada-mode.el
index c529e3a8265..9581fd436b3 100644
--- a/lisp/progmodes/ada-mode.el
+++ b/lisp/progmodes/ada-mode.el
@@ -1,7 +1,7 @@
;;; ada-mode.el --- major-mode for editing Ada sources
;; Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-;; 2005, 2006 Free Software Foundation, Inc.
+;; 2005, 2006, 2007 Free Software Foundation, Inc.
;; Author: Rolf Ebert <ebert@inf.enst.fr>
;; Markus Heritsch <Markus.Heritsch@studbox.uni-stuttgart.de>
diff --git a/lisp/progmodes/ada-prj.el b/lisp/progmodes/ada-prj.el
index e1906df5f96..10a5b670c54 100644
--- a/lisp/progmodes/ada-prj.el
+++ b/lisp/progmodes/ada-prj.el
@@ -1,6 +1,6 @@
;;; ada-prj.el --- GUI editing of project files for the ada-mode
-;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;; Author: Emmanuel Briot <briot@gnat.com>
diff --git a/lisp/progmodes/ada-stmt.el b/lisp/progmodes/ada-stmt.el
index fa6c680779a..483a54df13b 100644
--- a/lisp/progmodes/ada-stmt.el
+++ b/lisp/progmodes/ada-stmt.el
@@ -1,7 +1,7 @@
;;; ada-stmt.el --- an extension to Ada mode for inserting statement templates
-;; Copyright(C) 1987, 1993, 1994, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-;; 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+;; Copyright (C) 1987, 1993, 1994, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+;; 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
diff --git a/lisp/progmodes/ada-xref.el b/lisp/progmodes/ada-xref.el
index 9996a697bb2..9c239ee6dbb 100644
--- a/lisp/progmodes/ada-xref.el
+++ b/lisp/progmodes/ada-xref.el
@@ -1,7 +1,7 @@
;; ada-xref.el --- for lookup and completion in Ada mode
;; Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
-;; 2004, 2005, 2006 Free Software Foundation, Inc.
+;; 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
;; Author: Markus Heritsch <Markus.Heritsch@studbox.uni-stuttgart.de>
;; Rolf Ebert <ebert@inf.enst.fr>
diff --git a/lisp/progmodes/antlr-mode.el b/lisp/progmodes/antlr-mode.el
index e31a94030c3..3b7a2015af5 100644
--- a/lisp/progmodes/antlr-mode.el
+++ b/lisp/progmodes/antlr-mode.el
@@ -1,6 +1,6 @@
;;; antlr-mode.el --- major mode for ANTLR grammar files
-;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;;
;; Author: Christoph.Wedler@sap.com
@@ -319,7 +319,7 @@ function and REGEXP is a regular expression.
If `antlr-language' equals to a MODE, the line starting at the first
non-whitespace is matched by the corresponding REGEXP, and the line is
-part of an header action, indent the line at column 0 instead according
+part of a header action, indent the line at column 0 instead according
to the normal rules of `antlr-indent-line'."
:group 'antlr
:type '(repeat (cons (function :tag "Major mode") regexp)))
@@ -1659,7 +1659,7 @@ Return \(LEVEL OPTION LOCATION)."
:active active))
(sort (mapcar 'car (elt antlr-options-alists (1- level)))
'string-lessp))))
-
+
;;;===========================================================================
;;; Insert option: determine section-kind
@@ -1936,7 +1936,7 @@ For OLD, see `antlr-insert-option-do'."
;; stuff (no =, {, } or /) at point is not followed by ";"
(insert ";")
(backward-char)))
-
+
(defun antlr-insert-option-space (area old)
"Find appropriate place to insert option, insert newlines/spaces.
For AREA and OLD, see `antlr-insert-option-do'."
@@ -1956,7 +1956,7 @@ For AREA and OLD, see `antlr-insert-option-do'."
(setq orig (point))
(goto-char orig)))
(skip-chars-forward " \t")
-
+
(if (looking-at "$\\|//")
;; just comment after point => skip (+ lines w/ same col comment)
(let ((same (if (> (match-end 0) (match-beginning 0))
diff --git a/lisp/progmodes/asm-mode.el b/lisp/progmodes/asm-mode.el
index ebb532a3525..3ca8c671e8c 100644
--- a/lisp/progmodes/asm-mode.el
+++ b/lisp/progmodes/asm-mode.el
@@ -1,6 +1,6 @@
;;; asm-mode.el --- mode for editing assembler code
-;; Copyright (C) 1991, 2001, 2002, 2003, 2004, 2005, 2006
+;; Copyright (C) 1991, 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;; Author: Eric S. Raymond <esr@snark.thyrsus.com>
diff --git a/lisp/progmodes/autoconf.el b/lisp/progmodes/autoconf.el
index 08a849b16bc..1d08b094351 100644
--- a/lisp/progmodes/autoconf.el
+++ b/lisp/progmodes/autoconf.el
@@ -1,6 +1,6 @@
;;; autoconf.el --- mode for editing Autoconf configure.in files
-;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006
+;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;; Author: Dave Love <fx@gnu.org>
diff --git a/lisp/progmodes/cc-align.el b/lisp/progmodes/cc-align.el
index 847e43a46b7..f9e44d784f1 100644
--- a/lisp/progmodes/cc-align.el
+++ b/lisp/progmodes/cc-align.el
@@ -1,10 +1,11 @@
;;; cc-align.el --- custom indentation functions for CC Mode
;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
-;; Foundation, Inc.
+;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+;; Free Software Foundation, Inc.
-;; Authors: 1998- Martin Stjernholm
+;; Authors: 2004- Alan Mackenzie
+;; 1998- Martin Stjernholm
;; 1992-1999 Barry A. Warsaw
;; 1987 Dave Detlefs and Stewart Clamen
;; 1985 Richard M. Stallman
diff --git a/lisp/progmodes/cc-awk.el b/lisp/progmodes/cc-awk.el
index bc745873638..b0c15bff903 100644
--- a/lisp/progmodes/cc-awk.el
+++ b/lisp/progmodes/cc-awk.el
@@ -1,7 +1,7 @@
;;; cc-awk.el --- AWK specific code within cc-mode.
;; Copyright (C) 1988, 1994, 1996, 2000, 2001, 2002, 2003, 2004, 2005,
-;; 2006 Free Software Foundation, Inc.
+;; 2006, 2007 Free Software Foundation, Inc.
;; Author: Alan Mackenzie <acm@muc.de> (originally based on awk-mode.el)
;; Maintainer: FSF
diff --git a/lisp/progmodes/cc-bytecomp.el b/lisp/progmodes/cc-bytecomp.el
index 4a1e22d0c42..b2f793c0b1c 100644
--- a/lisp/progmodes/cc-bytecomp.el
+++ b/lisp/progmodes/cc-bytecomp.el
@@ -1,7 +1,7 @@
;;; cc-bytecomp.el --- compile time setup for proper compilation
-;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
-;; Foundation, Inc.
+;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+;; Free Software Foundation, Inc.
;; Author: Martin Stjernholm
;; Maintainer: bug-cc-mode@gnu.org
diff --git a/lisp/progmodes/cc-cmds.el b/lisp/progmodes/cc-cmds.el
index 063cfe89777..96924899ea3 100644
--- a/lisp/progmodes/cc-cmds.el
+++ b/lisp/progmodes/cc-cmds.el
@@ -1,10 +1,11 @@
;;; cc-cmds.el --- user level commands for CC Mode
;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
-;; Foundation, Inc.
+;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+;; Free Software Foundation, Inc.
-;; Authors: 1998- Martin Stjernholm
+;; Authors: 2003- Alan Mackenzie
+;; 1998- Martin Stjernholm
;; 1992-1999 Barry A. Warsaw
;; 1987 Dave Detlefs and Stewart Clamen
;; 1985 Richard M. Stallman
@@ -1382,8 +1383,7 @@ No indentation or other \"electric\" behavior is performed."
;;
;; This function might do hidden buffer changes.
(save-excursion
- (let* (pos
- kluge-start
+ (let* (kluge-start
decl-result brace-decl-p
(start (point))
(paren-state (c-parse-state))
@@ -1416,11 +1416,12 @@ No indentation or other \"electric\" behavior is performed."
(setq kluge-start (point))
(setq decl-result
(car (c-beginning-of-decl-1
+ ;; NOTE: If we're in a K&R region, this might be the start
+ ;; of a parameter declaration, not the actual function.
(and least-enclosing ; LIMIT for c-b-of-decl-1
(c-safe-position least-enclosing paren-state)))))
;; Has the declaration we've gone back to got braces?
- (setq pos (point)) ; the search limit for c-recognize-knr-p
(setq brace-decl-p
(save-excursion
(and (c-syntactic-re-search-forward "[;{]" nil t t)
@@ -1430,7 +1431,7 @@ No indentation or other \"electric\" behavior is performed."
;; ';' in a K&R argdecl. In
;; that case the declaration
;; should contain a block.
- (c-in-knr-argdecl pos))))))
+ (c-in-knr-argdecl))))))
(cond
((= (point) kluge-start) ; might be BOB or unbalanced parens.
@@ -3750,7 +3751,7 @@ command to conveniently insert and align the necessary backslashes."
;; Note that this function does not do any hidden buffer changes.
(let (fill
- ;; beg and end limits the region to narrow. end is a marker.
+ ;; beg and end limit the region to narrow. end is a marker.
beg end
;; tmp-pre and tmp-post mark strings that are temporarily
;; inserted at the start and end of the region. tmp-pre is a
@@ -3836,12 +3837,18 @@ command to conveniently insert and align the necessary backslashes."
(setq apply-outside-literal t))
((eq c-lit-type 'c) ; Block comment.
- (when (>= end (cdr c-lit-limits))
- ;; The region includes the comment ender. If it's on its own
- ;; line, it stays on its own line. If it's got company on the
- ;; line, it keeps (at least one word of) it. "=====*/" counts
- ;; as a comment ender here, but "===== */" doesn't and "foo*/"
- ;; doesn't.
+ (when
+ (or (> end (cdr c-lit-limits))
+ (and (= end (cdr c-lit-limits))
+ (eq (char-before end) ?/)
+ (eq (char-before (1- end)) ?*)
+ ;; disallow "/*/"
+ (> (- (cdr c-lit-limits) (car c-lit-limits)) 3)))
+ ;; There is a comment ender, and the region includes it. If
+ ;; it's on its own line, it stays on its own line. If it's got
+ ;; company on the line, it keeps (at least one word of) it.
+ ;; "=====*/" counts as a comment ender here, but "===== */"
+ ;; doesn't and "foo*/" doesn't.
(unless
(save-excursion
(goto-char (cdr c-lit-limits))
diff --git a/lisp/progmodes/cc-compat.el b/lisp/progmodes/cc-compat.el
index 4d0266ec41c..07433b9630b 100644
--- a/lisp/progmodes/cc-compat.el
+++ b/lisp/progmodes/cc-compat.el
@@ -1,8 +1,8 @@
;;; cc-compat.el --- cc-mode compatibility with c-mode.el confusion
;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
-;; Foundation, Inc.
+;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+;; Free Software Foundation, Inc.
;; Authors: 1998- Martin Stjernholm
;; 1994-1999 Barry A. Warsaw
diff --git a/lisp/progmodes/cc-defs.el b/lisp/progmodes/cc-defs.el
index b4063554384..1858b43f326 100644
--- a/lisp/progmodes/cc-defs.el
+++ b/lisp/progmodes/cc-defs.el
@@ -1,10 +1,11 @@
;;; cc-defs.el --- compile time definitions for CC Mode
;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
-;; Foundation, Inc.
+;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+;; Free Software Foundation, Inc.
-;; Authors: 1998- Martin Stjernholm
+;; Authors: 2003- Alan Mackenzie
+;; 1998- Martin Stjernholm
;; 1992-1999 Barry A. Warsaw
;; 1987 Dave Detlefs and Stewart Clamen
;; 1985 Richard M. Stallman
@@ -579,6 +580,24 @@ right side of it."
;; Wrappers for common scan-lists cases, mainly because it's almost
;; impossible to get a feel for how that function works.
+(defmacro c-go-list-forward ()
+ "Move backward across one balanced group of parentheses.
+
+Return POINT when we succeed, NIL when we fail. In the latter case, leave
+point unmoved."
+ `(c-safe (let ((endpos (scan-lists (point) 1 0)))
+ (goto-char endpos)
+ endpos)))
+
+(defmacro c-go-list-backward ()
+ "Move backward across one balanced group of parentheses.
+
+Return POINT when we succeed, NIL when we fail. In the latter case, leave
+point unmoved."
+ `(c-safe (let ((endpos (scan-lists (point) -1 0)))
+ (goto-char endpos)
+ endpos)))
+
(defmacro c-up-list-forward (&optional pos limit)
"Return the first position after the list sexp containing POS,
or nil if no such position exists. The point is used if POS is left out.
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el
index bacb4670ea0..f05d6632473 100644
--- a/lisp/progmodes/cc-engine.el
+++ b/lisp/progmodes/cc-engine.el
@@ -1,10 +1,11 @@
;;; cc-engine.el --- core syntax guessing engine for CC mode
;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
-;; Foundation, Inc.
+;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+;; Free Software Foundation, Inc.
-;; Authors: 1998- Martin Stjernholm
+;; Authors: 2001- Alan Mackenzie
+;; 1998- Martin Stjernholm
;; 1992-1999 Barry A. Warsaw
;; 1987 Dave Detlefs and Stewart Clamen
;; 1985 Richard M. Stallman
@@ -6220,65 +6221,101 @@ comment at the start of cc-engine.el for more info."
;; `c-recognize-knr-p' is not checked. If LIM is non-nil, it's a
;; position that bounds the backward search for the argument list.
;;
- ;; Note: A declaration level context is assumed; the test can return
- ;; false positives for statements.
+ ;; Point must be within a possible K&R region, e.g. just before a top-level
+ ;; "{". It must be outside of parens and brackets. The test can return
+ ;; false positives otherwise.
;;
;; This function might do hidden buffer changes.
(save-excursion
(save-restriction
+ ;; If we're in a macro, our search range is restricted to it. Narrow to
+ ;; the searchable range.
+ (let* ((macro-start (c-query-macro-start))
+ (lim (max (or lim (point-min)) (or macro-start (point-min))))
+ before-lparen after-rparen)
+ (narrow-to-region lim (c-point 'eol))
+
+ ;; Search backwards for the defun's argument list. We give up if we
+ ;; encounter a "}" (end of a previous defun) or BOB.
+ ;;
+ ;; The criterion for a paren structure being the arg list is:
+ ;; o - there is non-WS stuff after it but before any "{"; AND
+ ;; o - the token after it isn't a ";" AND
+ ;; o - it is preceded by either an identifier (the function name) or
+ ;; a macro expansion like "DEFUN (...)"; AND
+ ;; o - its content is a non-empty comma-separated list of identifiers
+ ;; (an empty arg list won't have a knr region).
+ ;;
+ ;; The following snippet illustrates these rules:
+ ;; int foo (bar, baz, yuk)
+ ;; int bar [] ;
+ ;; int (*baz) (my_type) ;
+ ;; int (*) (void) (*yuk) (void) ;
+ ;; {
+
+ (catch 'knr
+ (while t ; go round one paren/bracket construct each time round.
+ (or (c-syntactic-skip-backward "^)]}")
+ (throw 'knr nil)) ; no more bpb pairs left.
+ (cond ((eq (char-before) ?\))
+ (setq after-rparen (point)))
+ ((eq (char-before) ?\})
+ (throw 'knr nil))
+ (t (setq after-rparen nil))) ; "]"
+
+ (if after-rparen
+ ;; We're inside a paren. Could it be our argument list....?
+ (if
+ (and
+ (progn
+ (goto-char after-rparen)
+ (unless (c-go-list-backward) (throw 'knr nil)) ;
+ ;; FIXME!!! What about macros between the parens? 2007/01/20
+ (setq before-lparen (point)))
- ;; Go back to the closest preceding normal parenthesis sexp. We
- ;; take that as the argument list in the function header. Then
- ;; check that it's followed by some symbol before the next ';'
- ;; or '{'. If it does, it's the header of the K&R argdecl we're
- ;; in.
- (if lim (narrow-to-region lim (c-point 'eol)))
- (let ((outside-macro (not (c-query-macro-start)))
- paren-end)
-
- (catch 'done
- (while (if (and (setq paren-end (c-down-list-backward (point)))
- (eq (char-after paren-end) ?\)))
- (progn
- (goto-char (1+ paren-end))
- (if outside-macro
- (c-beginning-of-macro)))
- (throw 'done nil))))
-
- (and (progn
- (c-forward-syntactic-ws)
- (looking-at "\\w\\|\\s_"))
-
- (save-excursion
- ;; The function header in a K&R declaration should only
- ;; contain identifiers separated by comma. It should
- ;; also contain at least one identifier since there
- ;; wouldn't be anything to declare in the K&R region
- ;; otherwise.
- (when (c-go-up-list-backward paren-end)
- (forward-char)
- (catch 'knr-ok
- (while t
- (c-forward-syntactic-ws)
- (if (or (looking-at c-known-type-key)
- (looking-at c-keywords-regexp))
- (throw 'knr-ok nil))
- (c-forward-token-2)
- (if (eq (char-after) ?,)
- (forward-char)
- (throw 'knr-ok (and (eq (char-after) ?\))
- (= (point) paren-end))))))))
+ ;; It can't be the arg list if next token is ; or {
+ (progn (goto-char after-rparen)
+ (c-forward-syntactic-ws)
+ (not (memq (char-after) '(?\; ?\{))))
- (save-excursion
- ;; If it's a K&R declaration then we're now at the
- ;; beginning of the function arglist. Check that there
- ;; isn't a '=' before it in this statement since that
- ;; means it some kind of initialization instead.
- (c-syntactic-skip-backward "^;=}{")
- (not (eq (char-before) ?=)))
-
- (point))))))
+ ;; Is the thing preceding the list an identifier (the
+ ;; function name), or a macro expansion?
+ (progn
+ (goto-char before-lparen)
+ (eq (c-backward-token-2) 0)
+ (or (c-on-identifier)
+ (and (eq (char-after) ?\))
+ (c-go-up-list-backward)
+ (eq (c-backward-token-2) 0)
+ (c-on-identifier))))
+
+ ;; Have we got a non-empty list of comma-separated
+ ;; identifiers?
+ (progn
+ (goto-char before-lparen)
+ (c-forward-token-2) ; to first token inside parens
+ (and
+ (c-on-identifier)
+ (c-forward-token-2)
+ (catch 'id-list
+ (while (eq (char-after) ?\,)
+ (c-forward-token-2)
+ (unless (c-on-identifier) (throw 'id-list nil))
+ (c-forward-token-2))
+ (eq (char-after) ?\))))))
+
+ ;; ...Yes. We've identified the function's argument list.
+ (throw 'knr
+ (progn (goto-char after-rparen)
+ (c-forward-syntactic-ws)
+ (point)))
+
+ ;; ...No. The current parens aren't the function's arg list.
+ (goto-char before-lparen))
+
+ (or (c-go-list-backward) ; backwards over [ .... ]
+ (throw 'knr nil)))))))))
(defun c-skip-conditional ()
;; skip forward over conditional at point, including any predicate
diff --git a/lisp/progmodes/cc-fonts.el b/lisp/progmodes/cc-fonts.el
index ab31fa877f7..a880ae9a1fe 100644
--- a/lisp/progmodes/cc-fonts.el
+++ b/lisp/progmodes/cc-fonts.el
@@ -1,6 +1,6 @@
;;; cc-fonts.el --- font lock support for CC Mode
-;; Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
;; Authors: 2003- Alan Mackenzie
;; 2002- Martin Stjernholm
diff --git a/lisp/progmodes/cc-langs.el b/lisp/progmodes/cc-langs.el
index b3c0a578649..fe01ab02ae3 100644
--- a/lisp/progmodes/cc-langs.el
+++ b/lisp/progmodes/cc-langs.el
@@ -1,10 +1,11 @@
;;; cc-langs.el --- language specific settings for CC Mode
;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
-;; Foundation, Inc.
+;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+;; Free Software Foundation, Inc.
-;; Authors: 1998- Martin Stjernholm
+;; Authors: 2002- Alan Mackenzie
+;; 1998- Martin Stjernholm
;; 1992-1999 Barry A. Warsaw
;; 1987 Dave Detlefs and Stewart Clamen
;; 1985 Richard M. Stallman
@@ -208,23 +209,31 @@ the evaluated constant value at compile time."
;; Some helper functions used when building the language constants.
(defun c-filter-ops (ops opgroup-filter op-filter &optional xlate)
- ;; Used to filter operators from the list OPS in a DWIM:ey way:
- ;; OPS either has the structure of `c-operators', as a single
+ ;; Extract a subset of the operators in the list OPS in a DWIM:ey
+ ;; way. The return value is a plain list of operators:
+ ;;
+ ;; OPS either has the structure of `c-operators', is a single
;; group in `c-operators', or is a plain list of operators.
- ;; OPGROUP-FILTER is used filter out the operator groups. It can
- ;; be t to choose all groups, a list of the group type symbols to
- ;; accept, or a function which will be called with the group
- ;; symbol for each group and should return non-nil for those to
- ;; include. OP-FILTER filters the individual operators in each
- ;; group. It can be t to choose all operators, a regexp to test
- ;; against each operator, or a function which will be called for
- ;; each operator and should return non-nil for those to include.
+ ;;
+ ;; OPGROUP-FILTER specifies how to select the operator groups. It
+ ;; can be t to choose all groups, a list of group type symbols
+ ;; (such as 'prefix) to accept, or a function which will be called
+ ;; with the group symbol for each group and should return non-nil
+ ;; if that group is to be included.
+ ;;
+ ;; OP-FILTER filters the individual operators in each group. It
+ ;; can be t to choose all operators, a regexp to test against each
+ ;; operator, or a function which will be called for each operator
+ ;; and should return non-nil for those to include.
+ ;;
;; If XLATE is given, it's a function which is called for each
;; matching operator and its return value is collected instead.
;; If it returns a list, the elements are spliced directly into
;; the final result, which is returned as a list with duplicates
- ;; removed using `equal'. `c-mode-syntax-table' for the current
- ;; mode is in effect during the whole procedure.
+ ;; removed using `equal'.
+ ;;
+ ;; `c-mode-syntax-table' for the current mode is in effect during
+ ;; the whole procedure.
(unless (listp (car-safe ops))
(setq ops (list ops)))
(cond ((eq opgroup-filter t)
@@ -719,11 +728,11 @@ expression."
(c-lang-defconst c-operators
"List describing all operators, along with their precedence and
associativity. The order in the list corresponds to the precedence of
-the operators: The operators in each element is a group with the same
+the operators: The operators in each element are a group with the same
precedence, and the group has higher precedence than the groups in all
-following elements. The car of each element describes the type of of
-the operator group, and the cdr is a list of the operator tokens in
-it. The operator group types are:
+following elements. The car of each element describes the type of the
+operator group, and the cdr is a list of the operator tokens in it.
+The operator group types are:
'prefix Unary prefix operators.
'postfix Unary postfix operators.
diff --git a/lisp/progmodes/cc-menus.el b/lisp/progmodes/cc-menus.el
index c54d73db513..514945c269d 100644
--- a/lisp/progmodes/cc-menus.el
+++ b/lisp/progmodes/cc-menus.el
@@ -1,8 +1,8 @@
;;; cc-menus.el --- imenu support for CC Mode
;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
-;; Foundation, Inc.
+;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+;; Free Software Foundation, Inc.
;; Authors: 1998- Martin Stjernholm
;; 1992-1999 Barry A. Warsaw
diff --git a/lisp/progmodes/cc-mode.el b/lisp/progmodes/cc-mode.el
index 993fd102951..e2891bde98d 100644
--- a/lisp/progmodes/cc-mode.el
+++ b/lisp/progmodes/cc-mode.el
@@ -1,8 +1,8 @@
;;; cc-mode.el --- major mode for editing C and similar languages
;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
-;; Foundation, Inc.
+;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+;; Free Software Foundation, Inc.
;; Authors: 2003- Alan Mackenzie
;; 1998- Martin Stjernholm
diff --git a/lisp/progmodes/cc-styles.el b/lisp/progmodes/cc-styles.el
index 98bc4e1f801..228269b67bf 100644
--- a/lisp/progmodes/cc-styles.el
+++ b/lisp/progmodes/cc-styles.el
@@ -1,10 +1,11 @@
;;; cc-styles.el --- support for styles in CC Mode
;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
-;; Foundation, Inc.
+;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+;; Free Software Foundation, Inc.
-;; Authors: 1998- Martin Stjernholm
+;; Authors: 2004- Alan Mackenzie
+;; 1998- Martin Stjernholm
;; 1992-1999 Barry A. Warsaw
;; 1987 Dave Detlefs and Stewart Clamen
;; 1985 Richard M. Stallman
diff --git a/lisp/progmodes/cc-subword.el b/lisp/progmodes/cc-subword.el
index c1ed9e300e7..29494fdc6a7 100644
--- a/lisp/progmodes/cc-subword.el
+++ b/lisp/progmodes/cc-subword.el
@@ -1,6 +1,6 @@
;;; cc-subword.el --- Handling capitalized subwords in a nomenclature
-;; Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
+;; Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
;; Author: Masatake YAMATO
diff --git a/lisp/progmodes/cc-vars.el b/lisp/progmodes/cc-vars.el
index 2f3e83886d2..3aac25b43ed 100644
--- a/lisp/progmodes/cc-vars.el
+++ b/lisp/progmodes/cc-vars.el
@@ -1,10 +1,11 @@
;;; cc-vars.el --- user customization variables for CC Mode
;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
-;; Foundation, Inc.
+;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+;; Free Software Foundation, Inc.
-;; Authors: 1998- Martin Stjernholm
+;; Authors: 2002- Alan Mackenzie
+;; 1998- Martin Stjernholm
;; 1992-1999 Barry A. Warsaw
;; 1987 Dave Detlefs and Stewart Clamen
;; 1985 Richard M. Stallman
diff --git a/lisp/progmodes/cfengine.el b/lisp/progmodes/cfengine.el
index b70fe58b543..756979b3d78 100644
--- a/lisp/progmodes/cfengine.el
+++ b/lisp/progmodes/cfengine.el
@@ -1,6 +1,6 @@
;;; cfengine.el --- mode for editing Cfengine files
-;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
+;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;; Author: Dave Love <fx@gnu.org>
@@ -89,7 +89,7 @@ This includes those for cfservd as well as cfagent."))
;; In the main syntax-table, backslash is marked as a punctuation, because
;; of its use in DOS-style directory separators. Here we try to recognize
;; the cases where backslash is used as an escape inside strings.
- '(("\\(\\(?:\\\\\\)+\\)\"" . "\\")))
+ '(("\\(\\(?:\\\\\\)+\\)\"" 1 "\\")))
(defvar cfengine-imenu-expression
`((nil ,(concat "^[ \t]*" (eval-when-compile
diff --git a/lisp/progmodes/cmacexp.el b/lisp/progmodes/cmacexp.el
index 8531a2f3133..03fb90d992c 100644
--- a/lisp/progmodes/cmacexp.el
+++ b/lisp/progmodes/cmacexp.el
@@ -1,6 +1,6 @@
;;; cmacexp.el --- expand C macros in a region
-;; Copyright (C) 1992, 1994, 1996, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+;; Copyright (C) 1992, 1994, 1996, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;; Author: Francesco Potorti` <pot@gnu.org>
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index 04a5cf9cad7..3039f614fb2 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -1,7 +1,7 @@
;;; compile.el --- run compiler as inferior of Emacs, parse error messages
;; Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-;; 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+;; 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
;; Authors: Roland McGrath <roland@gnu.org>,
;; Daniel Pfeiffer <occitan@esperanto.org>
@@ -248,7 +248,7 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1))
2 3 4 (1))
(makepp
- "^makepp: \\(?:\\(?:warning\\(:\\).*?\\|\\(Scanning\\|[LR]e?l?oading makefile\\|Imported\\) \\|.*?\\)\
+ "^makepp\\(?:\\(?:: warning\\(:\\).*?\\|\\(: Scanning\\|: [LR]e?l?oading makefile\\|: Imported\\|log:.*?\\) \\|: .*?\\)\
`\\(\\(\\S +?\\)\\(?::\\([0-9]+\\)\\)?\\)['(]\\)"
4 5 nil (1 . 2) 3
("`\\(\\(\\S +?\\)\\(?::\\([0-9]+\\)\\)?\\)['(]" nil nil
@@ -876,12 +876,12 @@ FMTS is a list of format specs for transforming the file name.
Runs COMMAND, a shell command, in a separate process asynchronously
with output going to the buffer `*compilation*'.
-If optional second arg COMINT is t the buffer will be in Comint mode with
-`compilation-shell-minor-mode'.
-
You can then use the command \\[next-error] to find the next error message
and move to the source code that caused it.
+If optional second arg COMINT is t the buffer will be in Comint mode with
+`compilation-shell-minor-mode'.
+
Interactively, prompts for the command if `compilation-read-command' is
non-nil; otherwise uses `compile-command'. With prefix arg, always prompts.
Additionally, with universal prefix arg, compilation buffer will be in
@@ -1494,25 +1494,34 @@ Just inserts the text, but uses `insert-before-markers'."
(with-current-buffer buffer
(compilation-buffer-internal-p)))
-(defmacro compilation-loop (< property-change 1+ error)
- `(while (,< n 0)
- (or (setq pt (,property-change pt 'message))
- (error ,error compilation-error))
- ;; prop 'message usually has 2 changes, on and off, so re-search if off
- (or (setq msg (get-text-property pt 'message))
- (if (setq pt (,property-change pt 'message))
- (setq msg (get-text-property pt 'message)))
- (error ,error compilation-error))
- (or (< (cadr msg) compilation-skip-threshold)
- (if different-file
- (eq (prog1 last (setq last (nth 2 (car msg))))
- last))
- (if compilation-skip-visited
- (nthcdr 4 (car msg)))
- (if compilation-skip-to-next-location
- (eq (car msg) loc))
- ;; count this message only if none of the above are true
- (setq n (,1+ n)))))
+(defmacro compilation-loop (< property-change 1+ error limit)
+ `(let (opt)
+ (while (,< n 0)
+ (setq opt pt)
+ (or (setq pt (,property-change pt 'message))
+ ;; Handle the case where where the first error message is
+ ;; at the start of the buffer, and n < 0.
+ (if (or (eq (get-text-property ,limit 'message)
+ (get-text-property opt 'message))
+ (eq pt opt))
+ (error ,error compilation-error)
+ (setq pt ,limit)))
+ ;; prop 'message usually has 2 changes, on and off, so
+ ;; re-search if off
+ (or (setq msg (get-text-property pt 'message))
+ (if (setq pt (,property-change pt 'message nil ,limit))
+ (setq msg (get-text-property pt 'message)))
+ (error ,error compilation-error))
+ (or (< (cadr msg) compilation-skip-threshold)
+ (if different-file
+ (eq (prog1 last (setq last (nth 2 (car msg))))
+ last))
+ (if compilation-skip-visited
+ (nthcdr 4 (car msg)))
+ (if compilation-skip-to-next-location
+ (eq (car msg) loc))
+ ;; count this message only if none of the above are true
+ (setq n (,1+ n))))))
(defun compilation-next-error (n &optional different-file pt)
"Move point to the next error in the compilation buffer.
@@ -1542,12 +1551,13 @@ Does NOT find the source line like \\[next-error]."
(compilation-loop > next-single-property-change 1-
(if (get-buffer-process (current-buffer))
"No more %ss yet"
- "Moved past last %s"))
+ "Moved past last %s")
+ (point-max))
;; Don't move "back" to message at or before point.
;; Pass an explicit (point-min) to make sure pt is non-nil.
(setq pt (previous-single-property-change pt 'message nil (point-min)))
(compilation-loop < previous-single-property-change 1+
- "Moved back before first %s")))
+ "Moved back before first %s" (point-min))))
(goto-char pt)
(or msg
(error "No %s here" compilation-error))))
diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el
index 14cbaf9c0f4..29f4cc372d3 100644
--- a/lisp/progmodes/cperl-mode.el
+++ b/lisp/progmodes/cperl-mode.el
@@ -1,7 +1,7 @@
;;; cperl-mode.el --- Perl code editing commands for Emacs
;; Copyright (C) 1985, 1986, 1987, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-;; 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+;; 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;; Author: Ilya Zakharevich and Bob Olson
@@ -352,7 +352,15 @@ Can be overwritten by `cperl-hairy' if nil."
(defcustom cperl-electric-keywords nil
"*Not-nil (and non-null) means keywords are electric in CPerl.
-Can be overwritten by `cperl-hairy' if nil."
+Can be overwritten by `cperl-hairy' if nil.
+
+Uses `abbrev-mode' to do the expansion. If you want to use your
+own abbrevs in cperl-mode, but do not want keywords to be
+electric, you must redefine `cperl-mode-abbrev-table': do
+\\[edit-abbrevs], search for `cperl-mode-abbrev-table', and, in
+that paragraph, delete the words that appear at the ends of lines and
+that begin with \"cperl-electric\".
+"
:type '(choice (const null) boolean)
:group 'cperl-affected-by-hairy)
diff --git a/lisp/progmodes/cpp.el b/lisp/progmodes/cpp.el
index 62f74b41a70..65ed00e6d6e 100644
--- a/lisp/progmodes/cpp.el
+++ b/lisp/progmodes/cpp.el
@@ -1,6 +1,6 @@
;;; cpp.el --- highlight or hide text according to cpp conditionals
-;; Copyright (C) 1994, 1995, 2001, 2002, 2003, 2004, 2005, 2006
+;; Copyright (C) 1994, 1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation
;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
diff --git a/lisp/progmodes/cwarn.el b/lisp/progmodes/cwarn.el
index f0933bba8cd..b1b22ed353d 100644
--- a/lisp/progmodes/cwarn.el
+++ b/lisp/progmodes/cwarn.el
@@ -1,6 +1,6 @@
;;; cwarn.el --- highlight suspicious C and C++ constructions
-;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;; Author: Anders Lindgren <andersl@andersl.com>
diff --git a/lisp/progmodes/dcl-mode.el b/lisp/progmodes/dcl-mode.el
index c3bc75c0d79..618de7a3345 100644
--- a/lisp/progmodes/dcl-mode.el
+++ b/lisp/progmodes/dcl-mode.el
@@ -1,6 +1,6 @@
;;; dcl-mode.el --- major mode for editing DCL command files
-;; Copyright (c) 1997, 2001, 2002, 2003, 2004, 2005, 2006
+;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;; Author: Odd Gripenstam <gripenstamol@decus.se>
diff --git a/lisp/progmodes/delphi.el b/lisp/progmodes/delphi.el
index 44a192ab772..2402f48d7ea 100644
--- a/lisp/progmodes/delphi.el
+++ b/lisp/progmodes/delphi.el
@@ -1,6 +1,6 @@
;;; delphi.el --- major mode for editing Delphi source (Object Pascal) in Emacs
-;; Copyright (C) 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2006
+;; Copyright (C) 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;; Author: Ray Blaak <blaak@infomatch.com>
diff --git a/lisp/progmodes/ebnf-abn.el b/lisp/progmodes/ebnf-abn.el
index 604061c7558..48de29808b6 100644
--- a/lisp/progmodes/ebnf-abn.el
+++ b/lisp/progmodes/ebnf-abn.el
@@ -1,7 +1,7 @@
;;; ebnf-abn.el --- parser for ABNF (Augmented BNF)
-;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
-;; Free Sofware Foundation, Inc.
+;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007
+;; Free Software Foundation, Inc.
;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
diff --git a/lisp/progmodes/ebnf-bnf.el b/lisp/progmodes/ebnf-bnf.el
index b1b57ee1682..443e2c23cd5 100644
--- a/lisp/progmodes/ebnf-bnf.el
+++ b/lisp/progmodes/ebnf-bnf.el
@@ -1,7 +1,7 @@
;;; ebnf-bnf.el --- parser for EBNF
-;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
-;; Free Sofware Foundation, Inc.
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+;; Free Software Foundation, Inc.
;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
diff --git a/lisp/progmodes/ebnf-dtd.el b/lisp/progmodes/ebnf-dtd.el
index c0a4c7b5176..f4c57ea2818 100644
--- a/lisp/progmodes/ebnf-dtd.el
+++ b/lisp/progmodes/ebnf-dtd.el
@@ -1,7 +1,7 @@
;;; ebnf-dtd.el --- parser for DTD (Data Type Description for XML)
-;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
-;; Free Sofware Foundation, Inc.
+;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007
+;; Free Software Foundation, Inc.
;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
diff --git a/lisp/progmodes/ebnf-ebx.el b/lisp/progmodes/ebnf-ebx.el
index 9c9e514ded2..d506e9cc54d 100644
--- a/lisp/progmodes/ebnf-ebx.el
+++ b/lisp/progmodes/ebnf-ebx.el
@@ -1,7 +1,7 @@
;;; ebnf-ebx.el --- parser for EBNF used to specify XML (EBNFX)
-;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
-;; Free Sofware Foundation, Inc.
+;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007
+;; Free Software Foundation, Inc.
;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
diff --git a/lisp/progmodes/ebnf-iso.el b/lisp/progmodes/ebnf-iso.el
index c3d4abd7633..2e666328390 100644
--- a/lisp/progmodes/ebnf-iso.el
+++ b/lisp/progmodes/ebnf-iso.el
@@ -1,6 +1,6 @@
;;; ebnf-iso.el --- parser for ISO EBNF
-;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
diff --git a/lisp/progmodes/ebnf-otz.el b/lisp/progmodes/ebnf-otz.el
index 5fbcb210565..bcf8032318c 100644
--- a/lisp/progmodes/ebnf-otz.el
+++ b/lisp/progmodes/ebnf-otz.el
@@ -1,7 +1,7 @@
;;; ebnf-otz.el --- syntactic chart OpTimiZer
-;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
-;; Free Sofware Foundation, Inc.
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+;; Free Software Foundation, Inc.
;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
diff --git a/lisp/progmodes/ebnf-yac.el b/lisp/progmodes/ebnf-yac.el
index 61f710cb789..5defea14d50 100644
--- a/lisp/progmodes/ebnf-yac.el
+++ b/lisp/progmodes/ebnf-yac.el
@@ -1,7 +1,7 @@
;;; ebnf-yac.el --- parser for Yacc/Bison
-;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
-;; Free Sofware Foundation, Inc.
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+;; Free Software Foundation, Inc.
;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
diff --git a/lisp/progmodes/ebnf2ps.el b/lisp/progmodes/ebnf2ps.el
index 611273f8b5f..d6c3d996774 100644
--- a/lisp/progmodes/ebnf2ps.el
+++ b/lisp/progmodes/ebnf2ps.el
@@ -1,6 +1,6 @@
;;; ebnf2ps.el --- translate an EBNF to a syntactic chart on PostScript
-;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
diff --git a/lisp/progmodes/ebrowse.el b/lisp/progmodes/ebrowse.el
index 7a45dcd655e..d8385141177 100644
--- a/lisp/progmodes/ebrowse.el
+++ b/lisp/progmodes/ebrowse.el
@@ -1,7 +1,7 @@
;;; ebrowse.el --- Emacs C++ class browser & tags facility
;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-;; 2002, 2003, 2004, 2005, 2006
+;; 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation Inc.
;; Author: Gerd Moellmann <gerd@gnu.org>
@@ -4230,13 +4230,13 @@ NUMBER-OF-STATIC-VARIABLES:"
;;; Global key bindings
;;; The following can be used to bind key sequences starting with
-;;; prefix `\C-cb' to browse commands.
+;;; prefix `\C-c\C-m' to browse commands.
(defvar ebrowse-global-map nil
"*Keymap for Ebrowse commands.")
-(defvar ebrowse-global-prefix-key "\C-cC-m"
+(defvar ebrowse-global-prefix-key "\C-c\C-m"
"Prefix key for Ebrowse commands.")
diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el
index 30cfa1b7b21..eecd4682fd1 100644
--- a/lisp/progmodes/etags.el
+++ b/lisp/progmodes/etags.el
@@ -1,7 +1,7 @@
;;; etags.el --- etags facility for Emacs
;; Copyright (C) 1985, 1986, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1998,
-;; 2000, 2001, 2002, 2003, 2004, 2005, 2006
+;; 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;; Author: Roland McGrath <roland@gnu.org>
diff --git a/lisp/progmodes/executable.el b/lisp/progmodes/executable.el
index e74208431a3..932c1f32ec5 100644
--- a/lisp/progmodes/executable.el
+++ b/lisp/progmodes/executable.el
@@ -1,6 +1,6 @@
;;; executable.el --- base functionality for executable interpreter scripts -*- byte-compile-dynamic: t -*-
-;; Copyright (C) 1994, 1995, 1996, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+;; Copyright (C) 1994, 1995, 1996, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;; Author: Daniel Pfeiffer <occitan@esperanto.org>
diff --git a/lisp/progmodes/f90.el b/lisp/progmodes/f90.el
index e1cd25934f8..9ee4b515eed 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,
-;; 2006 Free Software Foundation, Inc.
+;; 2006, 2007 Free Software Foundation, Inc.
;; Author: Torbj\"orn Einarsson <Torbjorn.Einarsson@era.ericsson.se>
;; Maintainer: Glenn Morris <rgm@gnu.org>
diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el
index 9f5031b0e63..80015795cd9 100644
--- a/lisp/progmodes/flymake.el
+++ b/lisp/progmodes/flymake.el
@@ -1,6 +1,7 @@
;;; flymake.el -- a universal on-the-fly syntax checker
-;; Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation
+;; Copyright (C) 2003, 2004, 2005, 2006, 2007
+;; Free Software Foundation, Inc.
;; Author: Pavel Kobyakov <pk_at_work@yahoo.com>
;; Maintainer: Pavel Kobyakov <pk_at_work@yahoo.com>
diff --git a/lisp/progmodes/fortran.el b/lisp/progmodes/fortran.el
index 5c97f60e204..cb843b4ecd8 100644
--- a/lisp/progmodes/fortran.el
+++ b/lisp/progmodes/fortran.el
@@ -1,7 +1,7 @@
;;; fortran.el --- Fortran mode for GNU Emacs
;; Copyright (C) 1986, 1993, 1994, 1995, 1997, 1998, 1999, 2000, 2001,
-;; 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+;; 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
;; Author: Michael D. Prange <prange@erl.mit.edu>
;; Maintainer: Glenn Morris <rgm@gnu.org>
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el
index 3a253796f28..01e4fe7abe7 100644
--- a/lisp/progmodes/gdb-ui.el
+++ b/lisp/progmodes/gdb-ui.el
@@ -4,7 +4,7 @@
;; Maintainer: FSF
;; Keywords: unix, tools
-;; Copyright (C) 2002, 2003, 2004, 2005, 2006
+;; Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
@@ -123,9 +123,10 @@ address for root variables.")
(defvar gdb-server-prefix nil)
(defvar gdb-flush-pending-output nil)
(defvar gdb-location-alist nil
- "Alist of breakpoint numbers and full filenames.")
-(defvar gdb-active-process nil "GUD tooltips display variable values when t, \
-and #define directives otherwise.")
+ "Alist of breakpoint numbers and full filenames. Only used for files that
+Emacs can't find.")
+(defvar gdb-active-process nil
+ "GUD tooltips display variable values when t, and macro definitions otherwise.")
(defvar gdb-error "Non-nil when GDB is reporting an error.")
(defvar gdb-macro-info nil
"Non-nil if GDB knows that the inferior includes preprocessor macro info.")
@@ -273,19 +274,22 @@ detailed description of this mode.
(gdb command-line)
(gdb-init-1))
-(defcustom gdb-debug-ring-max 128
- "Maximum size of `gdb-debug-ring'."
+(defcustom gdb-debug-log-max 128
+ "Maximum size of `gdb-debug-log'. If nil, size is unlimited."
:group 'gud
- :type 'integer
+ :type '(choice (integer :tag "Number of elements")
+ (const :tag "Unlimited" nil))
:version "22.1")
-(defvar gdb-debug-ring nil
- "List of commands, most recent first, sent to and replies received from GDB.
-This variable is used to debug GDB-UI.")
+(defvar gdb-debug-log nil
+ "List of commands sent to and replies received from GDB. Most
+recent commands are listed first. This list stores only the last
+'gdb-debug-log-max' values. This variable is used to debug
+GDB-UI.")
;;;###autoload
(defcustom gdb-enable-debug nil
- "Non-nil means record the process input and output in `gdb-debug-ring'."
+ "Non-nil means record the process input and output in `gdb-debug-log'."
:type 'boolean
:group 'gud
:version "22.1")
@@ -316,7 +320,7 @@ Also display the main routine in the disassembly buffer if present."
:version "22.1")
(defcustom gdb-many-windows nil
- "If nil just pop up the GUD buffer unless `gdb-show-main' is t.
+ "If nil, just pop up the GUD buffer unless `gdb-show-main' is t.
In this case start with two windows: one displaying the GUD
buffer and the other with the source file with the main routine
of the debugged program. Non-nil means display the layout shown
@@ -550,7 +554,7 @@ With arg, use separate IO iff arg is positive."
gdb-error nil
gdb-macro-info nil
gdb-buffer-fringe-width (car (window-fringes))
- gdb-debug-ring nil
+ gdb-debug-log nil
gdb-signalled nil
gdb-source-window nil
gdb-inferior-status nil
@@ -721,7 +725,7 @@ With arg, enter name of variable to be watched in the minibuffer."
(message "gud-watch is a no-op in this mode."))))
(defconst gdb-var-create-regexp
- "name=\"\\(.*?\\)\",.*numchild=\"\\(.*?\\)\",.*type=\"\\(.*?\\)\"")
+ "name=\"\\(.*?\\)\",.*numchild=\"\\(.*?\\)\",\\(?:.*value=\\(\".*\"\\),\\)?.*type=\"\\(.*?\\)\"")
(defun gdb-var-create-handler (expr)
(goto-char (point-min))
@@ -733,20 +737,23 @@ With arg, enter name of variable to be watched in the minibuffer."
(setq expr (concat gdb-selected-frame "::" expr))
expr)
(match-string 2)
- (match-string 3)
- nil nil gdb-frame-address)))
+ (match-string 4)
+ (if (match-string 3) (read (match-string 3)))
+ nil gdb-frame-address)))
(push var gdb-var-list)
(unless (string-equal
speedbar-initial-expansion-list-name "GUD")
(speedbar-change-initial-expansion-list "GUD"))
- (gdb-enqueue-input
- (list
- (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba)
- (concat "server interpreter mi \"0-var-evaluate-expression "
- (car var) "\"\n")
- (concat "0-var-evaluate-expression " (car var) "\n"))
- `(lambda () (gdb-var-evaluate-expression-handler
- ,(car var) nil)))))
+ (unless (nth 4 var)
+ (gdb-enqueue-input
+ (list
+ (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer)
+ 'gdba)
+ (concat "server interpreter mi \"0-var-evaluate-expression "
+ (car var) "\"\n")
+ (concat "0-var-evaluate-expression " (car var) "\n"))
+ `(lambda () (gdb-var-evaluate-expression-handler
+ ,(car var) nil))))))
(if (search-forward "Undefined command" nil t)
(message-box "Watching expressions requires GDB 6.0 onwards")
(message-box "No symbol \"%s\" in current context." expr))))
@@ -896,6 +903,12 @@ Changed values are highlighted with the face `font-lock-warning-face'."
:group 'gud
:version "22.1")
+(defcustom gdb-max-children 40
+ "Maximum number of children before expansion requires confirmation."
+ :type 'integer
+ :group 'gud
+ :version "22.1")
+
(defun gdb-speedbar-expand-node (text token indent)
"Expand the node the user clicked on.
TEXT is the text of the button we clicked on, a + or - item.
@@ -904,11 +917,17 @@ INDENT is the current indentation depth."
(if (and gud-comint-buffer (buffer-name gud-comint-buffer))
(progn
(cond ((string-match "+" text) ;expand this node
- (if (and (eq (buffer-local-value
- 'gud-minor-mode gud-comint-buffer) 'gdba)
- (string-equal gdb-version "pre-6.4"))
- (gdb-var-list-children token)
- (gdb-var-list-children-1 token)))
+ (let* ((var (assoc token gdb-var-list))
+ (expr (nth 1 var)) (children (nth 2 var)))
+ (if (or (<= (string-to-number children) gdb-max-children)
+ (y-or-n-p
+ (format
+ "%s has %s children. Continue? " expr children)))
+ (if (and (eq (buffer-local-value
+ 'gud-minor-mode gud-comint-buffer) 'gdba)
+ (string-equal gdb-version "pre-6.4"))
+ (gdb-var-list-children token)
+ (gdb-var-list-children-1 token)))))
((string-match "-" text) ;contract this node
(dolist (var gdb-var-list)
(if (string-match (concat token "\\.") (car var))
@@ -1118,7 +1137,7 @@ This filter may simply queue input for a later time."
(if gud-running
(progn
(let ((item (concat string "\n")))
- (if gdb-enable-debug (push (cons 'send item) gdb-debug-ring))
+ (if gdb-enable-debug (push (cons 'send item) gdb-debug-log))
(process-send-string proc item)))
(if (and (string-match "\\\\$" string)
(not comint-input-sender-no-newline)) ;;Try to catch C-d.
@@ -1147,7 +1166,7 @@ This filter may simply queue input for a later time."
(defun gdb-send-item (item)
(setq gdb-flush-pending-output nil)
- (if gdb-enable-debug (push (cons 'send-item item) gdb-debug-ring))
+ (if gdb-enable-debug (push (cons 'send-item item) gdb-debug-log))
(setq gdb-current-item item)
(let ((process (get-buffer-process gud-comint-buffer)))
(if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba)
@@ -1498,9 +1517,10 @@ happens to be appropriate."
(if gdb-flush-pending-output
nil
(when gdb-enable-debug
- (push (cons 'recv string) gdb-debug-ring)
- (if (> (length gdb-debug-ring) gdb-debug-ring-max)
- (setcdr (nthcdr (1- gdb-debug-ring-max) gdb-debug-ring) nil)))
+ (push (cons 'recv string) gdb-debug-log)
+ (if (and gdb-debug-log-max
+ (> (length gdb-debug-log) gdb-debug-log-max))
+ (setcdr (nthcdr (1- gdb-debug-log-max) gdb-debug-log) nil)))
;; Recall the left over gud-marker-acc from last time.
(setq gud-marker-acc (concat gud-marker-acc string))
;; Start accumulating output for the GUD buffer.
@@ -2017,13 +2037,19 @@ static char *magick[] = {
;;
;; Alas, if your stack is deep, it is costly.
;;
+(defcustom gdb-max-frames 40
+ "Maximum number of frames displayed in call stack."
+ :type 'integer
+ :group 'gud
+ :version "22.1")
+
(gdb-set-buffer-rules 'gdb-stack-buffer
'gdb-stack-buffer-name
'gdb-frames-mode)
(def-gdb-auto-updated-buffer gdb-stack-buffer
gdb-invalidate-frames
- "server info stack\n"
+ (concat "server info stack " (number-to-string gdb-max-frames) "\n")
gdb-info-stack-handler
gdb-info-stack-custom)
@@ -2065,7 +2091,14 @@ static char *magick[] = {
(while (re-search-forward "\\(\\(\\sw\\|[_.]\\)+\\)=" el t)
(put-text-property (match-beginning 1) (match-end 1)
'face font-lock-variable-name-face))))
- (forward-line 1))))
+ (forward-line 1))
+ (forward-line -1)
+ (when (looking-at "(More stack frames follow...)")
+ (add-text-properties (match-beginning 0) (match-end 0)
+ '(mouse-face highlight
+ gdb-max-frames t
+ help-echo
+ "mouse-2, RET: customize gdb-max-frames to see more frames")))))
(when gdb-look-up-stack
(goto-char (point-min))
(when (re-search-forward "\\(\\S-+?\\):\\([0-9]+\\)" nil t)
@@ -2135,16 +2168,21 @@ static char *magick[] = {
(end-of-line)
(let* ((start (line-beginning-position))
(pos (re-search-backward "^#*\\([0-9]+\\)" start t))
- (n (or (and pos (match-string-no-properties 1)) "0")))
+ (n (or (and pos (match-string 1)) "0")))
n)))
(defun gdb-frames-select (&optional event)
"Select the frame and display the relevant source."
(interactive (list last-input-event))
(if event (posn-set-point (event-end event)))
- (gdb-enqueue-input
- (list (concat gdb-server-prefix "frame "
- (gdb-get-frame-number) "\n") 'ignore)))
+ (if (get-text-property (point) 'gdb-max-frames)
+ (progn
+ (message-box "After setting gdb-max-frames, you need to enter\n\
+another GDB command e.g pwd, to see new frames")
+ (customize-variable-other-window 'gdb-max-frames))
+ (gdb-enqueue-input
+ (list (concat gdb-server-prefix "frame "
+ (gdb-get-frame-number) "\n") 'ignore))))
;; Threads buffer. This displays a selectable thread list.
@@ -2569,7 +2607,7 @@ corresponding to the mode line clicked."
(propertize
"-"
'face font-lock-warning-face
- 'help-echo "mouse-1: Decrement address"
+ 'help-echo "mouse-1: decrement address"
'mouse-face 'mode-line-highlight
'local-map
(gdb-make-header-line-mouse-map
@@ -2589,7 +2627,7 @@ corresponding to the mode line clicked."
"|"
(propertize "+"
'face font-lock-warning-face
- 'help-echo "mouse-1: Increment address"
+ 'help-echo "mouse-1: increment address"
'mouse-face 'mode-line-highlight
'local-map (gdb-make-header-line-mouse-map
'mouse-1
@@ -2599,7 +2637,7 @@ corresponding to the mode line clicked."
"]: "
(propertize gdb-memory-address
'face font-lock-warning-face
- 'help-echo "mouse-1: Set memory address"
+ 'help-echo "mouse-1: set memory address"
'mouse-face 'mode-line-highlight
'local-map (gdb-make-header-line-mouse-map
'mouse-1
@@ -2607,7 +2645,7 @@ corresponding to the mode line clicked."
" Repeat Count: "
(propertize (number-to-string gdb-memory-repeat-count)
'face font-lock-warning-face
- 'help-echo "mouse-1: Set repeat count"
+ 'help-echo "mouse-1: set repeat count"
'mouse-face 'mode-line-highlight
'local-map (gdb-make-header-line-mouse-map
'mouse-1
@@ -2615,13 +2653,13 @@ corresponding to the mode line clicked."
" Display Format: "
(propertize gdb-memory-format
'face font-lock-warning-face
- 'help-echo "mouse-3: Select display format"
+ 'help-echo "mouse-3: select display format"
'mouse-face 'mode-line-highlight
'local-map gdb-memory-format-map)
" Unit Size: "
(propertize gdb-memory-unit
'face font-lock-warning-face
- 'help-echo "mouse-3: Select unit size"
+ 'help-echo "mouse-3: select unit size"
'mouse-face 'mode-line-highlight
'local-map gdb-memory-unit-map))))
(set (make-local-variable 'font-lock-defaults)
@@ -2999,7 +3037,7 @@ of the current session."
(if (member (if (string-equal gdb-version "pre-6.4")
(file-name-nondirectory buffer-file-name)
buffer-file-name)
- gdb-source-file-list)
+ gdb-source-file-list)
(with-current-buffer (find-buffer-visiting buffer-file-name)
(set (make-local-variable 'gud-minor-mode)
(buffer-local-value 'gud-minor-mode gud-comint-buffer))
diff --git a/lisp/progmodes/glasses.el b/lisp/progmodes/glasses.el
index 50d01e9d2e5..580d8d9e4bf 100644
--- a/lisp/progmodes/glasses.el
+++ b/lisp/progmodes/glasses.el
@@ -1,6 +1,6 @@
;;; glasses.el --- make cantReadThis readable
-;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;; Author: Milan Zamazal <pdm@zamazal.org>
diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el
index 48692f9742f..c6928768835 100644
--- a/lisp/progmodes/grep.el
+++ b/lisp/progmodes/grep.el
@@ -1,7 +1,7 @@
;;; grep.el --- run Grep as inferior of Emacs, parse match messages
;; Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-;; 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+;; 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
;; Author: Roland McGrath <roland@gnu.org>
;; Maintainer: FSF
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index adc6cd5194d..b9de6fab9bb 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -5,7 +5,7 @@
;; Keywords: unix, tools
;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 2000, 2001, 2002, 2003,
-;; 2004, 2005, 2006 Free Software Foundation, Inc.
+;; 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
diff --git a/lisp/progmodes/hideif.el b/lisp/progmodes/hideif.el
index a100424108d..8096dee59e2 100644
--- a/lisp/progmodes/hideif.el
+++ b/lisp/progmodes/hideif.el
@@ -1,6 +1,6 @@
;;; hideif.el --- hides selected code within ifdef
-;; Copyright (C) 1988, 1994, 2001, 2002, 2003, 2004, 2005, 2006
+;; Copyright (C) 1988, 1994, 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;; Author: Daniel LaLiberte <liberte@holonexus.org>
diff --git a/lisp/progmodes/hideshow.el b/lisp/progmodes/hideshow.el
index e50a9a4dda6..35ab0362613 100644
--- a/lisp/progmodes/hideshow.el
+++ b/lisp/progmodes/hideshow.el
@@ -1,7 +1,7 @@
;;; hideshow.el --- minor mode cmds to selectively display code/comment blocks
;; Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-;; 2004, 2005, 2006 Free Software Foundation, Inc.
+;; 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
;; Author: Thien-Thi Nguyen <ttn@gnu.org>
;; Dan Nicolaescu <dann@ics.uci.edu>
diff --git a/lisp/progmodes/icon.el b/lisp/progmodes/icon.el
index 393ba6dfb08..9c47cf96e2b 100644
--- a/lisp/progmodes/icon.el
+++ b/lisp/progmodes/icon.el
@@ -1,6 +1,6 @@
;;; icon.el --- mode for editing Icon code
-;; Copyright (C) 1989, 2001, 2002, 2003, 2004, 2005, 2006
+;; Copyright (C) 1989, 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;; Author: Chris Smith <csmith@convex.com>
diff --git a/lisp/progmodes/idlw-complete-structtag.el b/lisp/progmodes/idlw-complete-structtag.el
index d21105eca80..030f4a9f0c4 100644
--- a/lisp/progmodes/idlw-complete-structtag.el
+++ b/lisp/progmodes/idlw-complete-structtag.el
@@ -1,5 +1,7 @@
;;; idlw-complete-structtag.el --- Completion of structure tags.
-;; Copyright (c) 2001,2002,2003,2004,2005,2006 Free Software Foundation
+
+;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007
+;; Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@astro.uva.nl>
;; Maintainer: J.D. Smith <jdsmith@as.arizona.edu>
diff --git a/lisp/progmodes/idlw-help.el b/lisp/progmodes/idlw-help.el
index 9b812809352..a9ceccac6a0 100644
--- a/lisp/progmodes/idlw-help.el
+++ b/lisp/progmodes/idlw-help.el
@@ -1,6 +1,7 @@
;;; idlw-help.el --- HTML Help code for IDLWAVE
-;; Copyright (c) 2000, 2001, 2002, 2003, 2004, 2005, 2006
-;; Free Software Foundation
+
+;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+;; Free Software Foundation, Inc.
;;
;; Authors: J.D. Smith <jdsmith@as.arizona.edu>
;; Carsten Dominik <dominik@science.uva.nl>
diff --git a/lisp/progmodes/idlw-shell.el b/lisp/progmodes/idlw-shell.el
index 9f43aa1f9e8..64f359aa1e7 100644
--- a/lisp/progmodes/idlw-shell.el
+++ b/lisp/progmodes/idlw-shell.el
@@ -1,6 +1,7 @@
;; idlw-shell.el --- run IDL as an inferior process of Emacs.
-;; Copyright (c) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
-;; Free Software Foundation
+
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+;; Free Software Foundation, Inc.
;; Authors: J.D. Smith <jdsmith@as.arizona.edu>
;; Carsten Dominik <dominik@astro.uva.nl>
diff --git a/lisp/progmodes/idlw-toolbar.el b/lisp/progmodes/idlw-toolbar.el
index 28d184bfac4..ddf08755544 100644
--- a/lisp/progmodes/idlw-toolbar.el
+++ b/lisp/progmodes/idlw-toolbar.el
@@ -1,6 +1,7 @@
;;; idlw-toolbar.el --- a debugging toolbar for IDLWAVE
-;; Copyright (c) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
-;; Free Software Foundation
+
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+;; Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@astro.uva.nl>
;; Maintainer: J.D. Smith <jdsmith@as.arizona.edu>
diff --git a/lisp/progmodes/idlwave.el b/lisp/progmodes/idlwave.el
index 25f05b54b74..b5b1e055465 100644
--- a/lisp/progmodes/idlwave.el
+++ b/lisp/progmodes/idlwave.el
@@ -1,6 +1,7 @@
;; idlwave.el --- IDL editing mode for GNU Emacs
-;; Copyright (c) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
-;; Free Software Foundation
+
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+;; Free Software Foundation, Inc.
;; Authors: J.D. Smith <jdsmith@as.arizona.edu>
;; Carsten Dominik <dominik@science.uva.nl>
diff --git a/lisp/progmodes/inf-lisp.el b/lisp/progmodes/inf-lisp.el
index 4a50e00063c..02d44e55019 100644
--- a/lisp/progmodes/inf-lisp.el
+++ b/lisp/progmodes/inf-lisp.el
@@ -1,6 +1,6 @@
;;; inf-lisp.el --- an inferior-lisp mode
-;; Copyright (C) 1988, 1993, 1994, 2001, 2002, 2003, 2004, 2005, 2006
+;; Copyright (C) 1988, 1993, 1994, 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;; Author: Olin Shivers <shivers@cs.cmu.edu>
diff --git a/lisp/progmodes/ld-script.el b/lisp/progmodes/ld-script.el
index 461c8b9bcf1..01f9ecbc7a3 100644
--- a/lisp/progmodes/ld-script.el
+++ b/lisp/progmodes/ld-script.el
@@ -1,6 +1,6 @@
;;; ld-script.el --- GNU linker script editing mode for Emacs
-;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
+;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;; Author: Masatake YAMATO<jet@gyve.org>
diff --git a/lisp/progmodes/m4-mode.el b/lisp/progmodes/m4-mode.el
index af719a2854b..734a86b0b99 100644
--- a/lisp/progmodes/m4-mode.el
+++ b/lisp/progmodes/m4-mode.el
@@ -1,6 +1,6 @@
;;; m4-mode.el --- m4 code editing commands for Emacs
-;; Copyright (C) 1996, 1997, 2001, 2002, 2003, 2004, 2005, 2006
+;; Copyright (C) 1996, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;; Author: Andrew Csillag <drew_csillag@geocities.com>
diff --git a/lisp/progmodes/make-mode.el b/lisp/progmodes/make-mode.el
index c7341a9f871..6178e7e47cd 100644
--- a/lisp/progmodes/make-mode.el
+++ b/lisp/progmodes/make-mode.el
@@ -1,6 +1,6 @@
;;; make-mode.el --- makefile editing commands for Emacs
-;; Copyright (C) 1992, 1994, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+;; Copyright (C) 1992, 1994, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;; Author: Thomas Neumann <tom@smart.bo.open.de>
diff --git a/lisp/progmodes/mantemp.el b/lisp/progmodes/mantemp.el
index d883254fdb7..61b8d3d4d3d 100644
--- a/lisp/progmodes/mantemp.el
+++ b/lisp/progmodes/mantemp.el
@@ -1,6 +1,6 @@
;;; mantemp.el --- create manual template instantiations from g++ 2.7.2 output
-;; Copyright (C) 1996, 2001, 2002, 2003, 2004, 2005, 2006
+;; Copyright (C) 1996, 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;; Author: Tom Houlder <thoulder@icor.fr>
diff --git a/lisp/progmodes/meta-mode.el b/lisp/progmodes/meta-mode.el
index 3c4fdc2330e..8215befc1de 100644
--- a/lisp/progmodes/meta-mode.el
+++ b/lisp/progmodes/meta-mode.el
@@ -1,6 +1,6 @@
;;; meta-mode.el --- major mode for editing Metafont or MetaPost sources
-;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, 2006
+;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;; Author: Ulrik Vieth <vieth@thphy.uni-duesseldorf.de>
diff --git a/lisp/progmodes/mixal-mode.el b/lisp/progmodes/mixal-mode.el
index 8b7084675d4..d2b78b1d143 100644
--- a/lisp/progmodes/mixal-mode.el
+++ b/lisp/progmodes/mixal-mode.el
@@ -1,6 +1,7 @@
;;; mixal-mode.el --- Major mode for the mix asm language.
-;; Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation
+;; Copyright (C) 2003, 2004, 2005, 2006, 2007
+;; Free Software Foundation, Inc.
;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU General Public License as
diff --git a/lisp/progmodes/octave-hlp.el b/lisp/progmodes/octave-hlp.el
index 18ea9c1f699..5c2bd2f34ee 100644
--- a/lisp/progmodes/octave-hlp.el
+++ b/lisp/progmodes/octave-hlp.el
@@ -1,6 +1,6 @@
;;; octave-hlp.el --- getting help on Octave symbols using info
-;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, 2006
+;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;; Author: Kurt Hornik <Kurt.Hornik@wu-wien.ac.at>
diff --git a/lisp/progmodes/octave-inf.el b/lisp/progmodes/octave-inf.el
index 0f20626c9b9..63f9af50c1e 100644
--- a/lisp/progmodes/octave-inf.el
+++ b/lisp/progmodes/octave-inf.el
@@ -1,6 +1,6 @@
;;; octave-inf.el --- running Octave as an inferior Emacs process
-;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, 2006
+;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;; Author: Kurt Hornik <Kurt.Hornik@wu-wien.ac.at>
diff --git a/lisp/progmodes/octave-mod.el b/lisp/progmodes/octave-mod.el
index 998b33ffbc7..be56d388330 100644
--- a/lisp/progmodes/octave-mod.el
+++ b/lisp/progmodes/octave-mod.el
@@ -1,6 +1,6 @@
;;; octave-mod.el --- editing Octave source files under Emacs
-;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, 2006
+;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;; Author: Kurt Hornik <Kurt.Hornik@wu-wien.ac.at>
diff --git a/lisp/progmodes/pascal.el b/lisp/progmodes/pascal.el
index 02d5c509c62..3fe57e00c7a 100644
--- a/lisp/progmodes/pascal.el
+++ b/lisp/progmodes/pascal.el
@@ -1,7 +1,7 @@
;;; pascal.el --- major mode for editing pascal source in Emacs
;; Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
-;; 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+;; 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
;; Author: Espen Skoglund <esk@gnu.org>
;; Keywords: languages
diff --git a/lisp/progmodes/perl-mode.el b/lisp/progmodes/perl-mode.el
index 4d63b07d87c..8b6bc4462d6 100644
--- a/lisp/progmodes/perl-mode.el
+++ b/lisp/progmodes/perl-mode.el
@@ -1,6 +1,6 @@
;;; perl-mode.el --- Perl code editing commands for GNU Emacs
-;; Copyright (C) 1990, 1994, 2001, 2002, 2003, 2004, 2005, 2006
+;; Copyright (C) 1990, 1994, 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;; Author: William F. Mann
diff --git a/lisp/progmodes/prolog.el b/lisp/progmodes/prolog.el
index c29a259c3a6..cb451791dbe 100644
--- a/lisp/progmodes/prolog.el
+++ b/lisp/progmodes/prolog.el
@@ -1,6 +1,6 @@
;;; prolog.el --- major mode for editing and running Prolog under Emacs
-;; Copyright (C) 1986, 1987, 2001, 2002, 2003, 2004, 2005, 2006
+;; Copyright (C) 1986, 1987, 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;; Author: Masanobu UMEDA <umerin@mse.kyutech.ac.jp>
diff --git a/lisp/progmodes/ps-mode.el b/lisp/progmodes/ps-mode.el
index 61b075b3bce..db4cd2dd339 100644
--- a/lisp/progmodes/ps-mode.el
+++ b/lisp/progmodes/ps-mode.el
@@ -1,6 +1,6 @@
;;; ps-mode.el --- PostScript mode for GNU Emacs
-;; Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006
+;; Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;; Author: Peter Kleiweg <p.c.j.kleiweg@rug.nl>
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index 7a62cfa477c..f94a3d63653 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -1,6 +1,6 @@
;;; python.el --- silly walks for Python
-;; Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
;; Author: Dave Love <fx@gnu.org>
;; Maintainer: FSF
diff --git a/lisp/progmodes/scheme.el b/lisp/progmodes/scheme.el
index ce420015326..a112cee62bb 100644
--- a/lisp/progmodes/scheme.el
+++ b/lisp/progmodes/scheme.el
@@ -1,7 +1,7 @@
;;; scheme.el --- Scheme (and DSSSL) editing mode
;; Copyright (C) 1986, 1987, 1988, 1997, 1998, 2001, 2002, 2003, 2004, 2005,
-;; 2006 Free Software Foundation, Inc.
+;; 2006, 2007 Free Software Foundation, Inc.
;; Author: Bill Rozas <jinx@martigny.ai.mit.edu>
;; Adapted-by: Dave Love <d.love@dl.ac.uk>
diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el
index e7de415fe2a..88b5257954f 100644
--- a/lisp/progmodes/sh-script.el
+++ b/lisp/progmodes/sh-script.el
@@ -1,7 +1,7 @@
;;; sh-script.el --- shell-script editing commands for Emacs
;; Copyright (C) 1993, 1994, 1995, 1996, 1997, 1999, 2001, 2002,
-;; 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+;; 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
;; Author: Daniel Pfeiffer <occitan@esperanto.org>
;; Version: 2.0f
diff --git a/lisp/progmodes/simula.el b/lisp/progmodes/simula.el
index 4c689a79fc7..89074dc8fe0 100644
--- a/lisp/progmodes/simula.el
+++ b/lisp/progmodes/simula.el
@@ -1,6 +1,6 @@
;;; simula.el --- SIMULA 87 code editing commands for Emacs
-;; Copyright (C) 1992, 1994, 1996, 2001, 2002, 2003, 2004, 2005, 2006
+;; Copyright (C) 1992, 1994, 1996, 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;; Author: Hans Henrik Eriksen <hhe@ifi.uio.no>
diff --git a/lisp/progmodes/sql.el b/lisp/progmodes/sql.el
index afc0f35f26c..a3401dccbcb 100644
--- a/lisp/progmodes/sql.el
+++ b/lisp/progmodes/sql.el
@@ -1,6 +1,6 @@
;;; sql.el --- specialized comint.el for SQL interpreters
-;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;; Author: Alex Schroeder <alex@gnu.org>
diff --git a/lisp/progmodes/tcl.el b/lisp/progmodes/tcl.el
index b194bb56727..0495b683bad 100644
--- a/lisp/progmodes/tcl.el
+++ b/lisp/progmodes/tcl.el
@@ -1,6 +1,6 @@
;;; tcl.el --- Tcl code editing commands for Emacs
-;; Copyright (C) 1994, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+;; Copyright (C) 1994, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;; Maintainer: FSF
diff --git a/lisp/progmodes/vhdl-mode.el b/lisp/progmodes/vhdl-mode.el
index 3bf4227a82f..dbd8e2b080d 100644
--- a/lisp/progmodes/vhdl-mode.el
+++ b/lisp/progmodes/vhdl-mode.el
@@ -1,7 +1,7 @@
;;; vhdl-mode.el --- major mode for editing VHDL code
;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-;; 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+;; 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
;; Authors: Reto Zimmermann <reto@gnu.org>
;; Rodney J. Whitby <software.vhdl-mode@rwhitby.net>
@@ -13851,7 +13851,7 @@ entity ENT-KEY."
(vhdl-save-cache (car project-list))
(setq project-list (cdr project-list)))
(message "Saving hierarchy caches...done")))
- (error (progn (vhdl-warning "ERROR: An error occured while saving the hierarchy caches")
+ (error (progn (vhdl-warning "ERROR: An error occurred while saving the hierarchy caches")
(sit-for 2)))))
(defun vhdl-save-cache (key)
diff --git a/lisp/progmodes/which-func.el b/lisp/progmodes/which-func.el
index b622e536d26..43c70f67dfb 100644
--- a/lisp/progmodes/which-func.el
+++ b/lisp/progmodes/which-func.el
@@ -1,6 +1,6 @@
;;; which-func.el --- print current function in mode line
-;; Copyright (C) 1994, 1997, 1998, 2001, 2002, 2003, 2004, 2005, 2006
+;; Copyright (C) 1994, 1997, 1998, 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;; Author: Alex Rezinsky <alexr@msil.sps.mot.com>
diff --git a/lisp/progmodes/xscheme.el b/lisp/progmodes/xscheme.el
index 0f55c71ac70..d2ec1781a54 100644
--- a/lisp/progmodes/xscheme.el
+++ b/lisp/progmodes/xscheme.el
@@ -1,6 +1,6 @@
;;; xscheme.el --- run MIT Scheme under Emacs
-;; Copyright (C) 1986, 1987, 1989, 1990, 2001, 2002, 2003, 2004, 2005, 2006
+;; Copyright (C) 1986, 1987, 1989, 1990, 2001, 2002, 2003, 2004, 2005, 2006, 2007
;; Free Software Foundation, Inc.
;; Maintainer: FSF