summaryrefslogtreecommitdiff
path: root/lisp/progmodes
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/progmodes')
-rw-r--r--lisp/progmodes/ada-mode.el53
-rw-r--r--lisp/progmodes/ada-xref.el47
-rw-r--r--lisp/progmodes/cc-align.el5
-rw-r--r--lisp/progmodes/cc-awk.el4
-rw-r--r--lisp/progmodes/cc-cmds.el27
-rw-r--r--lisp/progmodes/cc-compat.el5
-rw-r--r--lisp/progmodes/cc-defs.el5
-rw-r--r--lisp/progmodes/cc-engine.el5
-rw-r--r--lisp/progmodes/cc-langs.el5
-rw-r--r--lisp/progmodes/cc-menus.el5
-rw-r--r--lisp/progmodes/cc-mode.el5
-rw-r--r--lisp/progmodes/cc-styles.el5
-rw-r--r--lisp/progmodes/cc-vars.el7
-rw-r--r--lisp/progmodes/compile.el8
-rw-r--r--lisp/progmodes/cperl-mode.el7
-rw-r--r--lisp/progmodes/f90.el139
-rw-r--r--lisp/progmodes/flymake.el30
-rw-r--r--lisp/progmodes/fortran.el150
-rw-r--r--lisp/progmodes/gdb-ui.el21
-rw-r--r--lisp/progmodes/gud.el26
-rw-r--r--lisp/progmodes/hideshow.el1
-rw-r--r--lisp/progmodes/idlwave.el8
-rw-r--r--lisp/progmodes/octave-mod.el63
-rw-r--r--lisp/progmodes/python.el1
-rw-r--r--lisp/progmodes/sql.el35
-rw-r--r--lisp/progmodes/vhdl-mode.el6
26 files changed, 360 insertions, 313 deletions
diff --git a/lisp/progmodes/ada-mode.el b/lisp/progmodes/ada-mode.el
index ccd91d3b060..c529e3a8265 100644
--- a/lisp/progmodes/ada-mode.el
+++ b/lisp/progmodes/ada-mode.el
@@ -27,13 +27,13 @@
;; Boston, MA 02110-1301, USA.
;;; Commentary:
-;;; This mode is a major mode for editing Ada83 and Ada95 source code.
-;;; This is a major rewrite of the file packaged with Emacs-20. The
-;;; ada-mode is composed of four Lisp files, ada-mode.el, ada-xref.el,
-;;; ada-prj.el and ada-stmt.el. Only this file (ada-mode.el) is
-;;; completely independent from the GNU Ada compiler Gnat, distributed
-;;; by Ada Core Technologies. All the other files rely heavily on
-;;; features provided only by Gnat.
+;;; This mode is a major mode for editing Ada code. This is a major
+;;; rewrite of the file packaged with Emacs-20. The Ada mode is
+;;; composed of four Lisp files: ada-mode.el, ada-xref.el, ada-prj.el
+;;; and ada-stmt.el. Only this file (ada-mode.el) is completely
+;;; independent from the GNU Ada compiler GNAT, distributed by Ada
+;;; Core Technologies. All the other files rely heavily on features
+;;; provided only by GNAT.
;;;
;;; Note: this mode will not work with Emacs 19. If you are on a VMS
;;; system, where the latest version of Emacs is 19.28, you will need
@@ -77,7 +77,7 @@
;;; (yet) been recoded in this new mode. Perhaps you prefer sticking
;;; to his version.
;;;
-;;; A complete rewrite for Emacs-20 / Gnat-3.11 has been done by Ada Core
+;;; A complete rewrite for Emacs-20 / GNAT-3.11 has been done by Ada Core
;;; Technologies.
;;; Credits:
@@ -437,7 +437,7 @@ An example is:
"*Name of the compiler to use.
This will determine what features are made available through the Ada mode.
The possible choices are:
-`gnat': Use Ada Core Technologies' Gnat compiler. Add some cross-referencing
+`gnat': Use Ada Core Technologies' GNAT compiler. Add some cross-referencing
features.
`generic': Use a generic compiler."
:type '(choice (const gnat)
@@ -794,33 +794,24 @@ the 4 file locations can be clicked on and jumped to."
(match-string 1))))
(error-pos (point-marker))
source)
+
+ ;; set source marker
(save-excursion
- (save-restriction
- (widen)
- ;; Use funcall so as to prevent byte-compiler warnings
- ;; `ada-find-file' is not defined if ada-xref wasn't loaded. But
- ;; if we can find it, we should use it instead of
- ;; `compilation-find-file', since the latter doesn't know anything
- ;; about source path.
-
- (if (functionp 'ada-find-file)
- (setq file (funcall (symbol-function 'ada-find-file)
- (match-string 1)))
- (setq file (funcall (symbol-function 'compilation-find-file)
- (point-marker) (match-string 1)
- "./")))
- (set-buffer file)
-
- (if (stringp line)
- (goto-line (string-to-number line)))
- (setq source (point-marker))))
- (funcall (symbol-function 'compilation-goto-locus)
- (cons source error-pos))
+ (compilation-find-file (point-marker) (match-string 1) "./")
+ (set-buffer file)
+
+ (if (stringp line)
+ (goto-line (string-to-number line)))
+
+ (setq source (point-marker)))
+
+ (compilation-goto-locus error-pos source nil)
+
))
;; otherwise, default behavior
(t
- (funcall (symbol-function 'compile-goto-error)))
+ (compile-goto-error))
)
(recenter))
diff --git a/lisp/progmodes/ada-xref.el b/lisp/progmodes/ada-xref.el
index 6c59560094a..9996a697bb2 100644
--- a/lisp/progmodes/ada-xref.el
+++ b/lisp/progmodes/ada-xref.el
@@ -117,7 +117,7 @@ the filename at the end. This is the same syntax as in the project file."
" ${comp_opt}")
"*Default command to be used to compile a single file.
Emacs will substitute the current filename for ${full_current}, or add
-the filename at the end. This is the same syntax as in the project file."
+the filename at the end. This is the same syntax as in the project file."
:type 'string :group 'ada)
(defcustom ada-prj-default-debugger "${cross_prefix}gdb"
@@ -148,7 +148,7 @@ Otherwise, ask the user for the name of the project file to use."
:type 'boolean :group 'ada)
(defconst is-windows (memq system-type (quote (windows-nt)))
- "True if we are running on Windows NT or Windows 95.")
+ "True if we are running on Windows.")
(defcustom ada-tight-gvd-integration nil
"*If non-nil, a new Emacs frame will be swallowed in GVD when debugging.
@@ -208,7 +208,7 @@ we need to use `/d' or the drive is never changed.")
\"&&\" for now.")
(defconst ada-xref-pos-ring-max 16
- "Number of positions kept in the list ada-xref-pos-ring.")
+ "Number of positions kept in the list `ada-xref-pos-ring'.")
(defvar ada-operator-re
"\\+\\|-\\|/\\|\\*\\*\\|\\*\\|=\\|&\\|abs\\|mod\\|rem\\|and\\|not\\|or\\|xor\\|<=\\|<\\|>=\\|>"
@@ -218,11 +218,11 @@ we need to use `/d' or the drive is never changed.")
"Associative list of project files with properties.
It has the format: (project project ...)
A project has the format: (project-file . project-plist)
-\(See 'apropos plist' for operations on property lists). See
-ada-xref-set-default-prj-values for the list of valid properties. The
-current project is retrieved with ada-xref-current-project. Properties
-are retrieved with ada-xref-get-project-field, set with
-ada-xref-set-project-field. If project properties are accessed with no
+\(See 'apropos plist' for operations on property lists).
+See `ada-xref-set-default-prj-values' for the list of valid properties.
+The current project is retrieved with `ada-xref-current-project'.
+Properties are retrieved with `ada-xref-get-project-field', set with
+`ada-xref-set-project-field'. If project properties are accessed with no
project file, a (nil . default-properties) entry is created.")
@@ -257,7 +257,7 @@ project file, a (nil . default-properties) entry is created.")
;; -----------------------------------------------------------------------
(defun ada-quote-cmd (cmd)
- "Duplicate all \\ characters in CMD so that it can be passed to `compile'."
+ "Duplicate all `\\' characters in CMD so that it can be passed to `compile'."
(mapconcat 'identity (split-string cmd "\\\\") "\\\\"))
(defun ada-find-executable (exec-name)
@@ -418,8 +418,8 @@ replaced by the name including the extension."
Project variables are substituted.
Note that for src_dir and obj_dir, you should rather use
-`ada-xref-get-src-dir-field' or `ada-xref-get-obj-dir-field' which will in
-addition return the default paths."
+`ada-xref-get-src-dir-field' or `ada-xref-get-obj-dir-field'
+which will in addition return the default paths."
(let* ((project-plist (cdr (ada-xref-current-project)))
value)
@@ -1166,7 +1166,7 @@ If ARG is not nil, ask for user confirmation."
"Recompile the current file.
If ARG is not nil, ask for user confirmation of the command.
PRJ-FIELD is the name of the field to use in the project file to get the
-command, and should be either comp_cmd (default) or check_cmd."
+command, and should be either `comp_cmd' (default) or `check_cmd'."
(interactive "P")
(ada-require-project-file)
(let* ((field (if prj-field prj-field 'comp_cmd))
@@ -1190,7 +1190,7 @@ command, and should be either comp_cmd (default) or check_cmd."
(compile (ada-quote-cmd cmd))))
(defun ada-check-current (&optional arg)
- "Recompile the current file.
+ "Check the current file for syntax errors.
If ARG is not nil, ask for user confirmation of the command."
(interactive "P")
(ada-compile-current arg 'check_cmd))
@@ -1368,8 +1368,8 @@ project file."
"Update the cross-references for FILE.
This in fact recompiles FILE to create ALI-FILE-NAME.
This function returns the name of the file that was recompiled to generate
-the cross-reference information. Note that the ali file can then be deduced by
-replacing the file extension with `.ali'."
+the cross-reference information. Note that the ali file can then be deduced
+by replacing the file extension with `.ali'."
;; kill old buffer
(if (and ali-file-name
(get-file-buffer ali-file-name))
@@ -1539,8 +1539,8 @@ the project file."
(defun ada-get-ada-file-name (file original-file)
"Create the complete file name (+directory) for FILE.
-The original file (where the user was) is ORIGINAL-FILE. Search in project
-file for possible paths."
+The original file (where the user was) is ORIGINAL-FILE.
+Search in project file for possible paths."
(save-excursion
@@ -1940,9 +1940,8 @@ This function attempts to find the possible declarations for the identifier
anywhere in the object path.
This command requires the external `egrep' program to be available.
-This works well when one is using an external librarie and wants
-to find the declaration and documentation of the subprograms one is
-is using."
+This works well when one is using an external librarie and wants to find
+the declaration and documentation of the subprograms one is using."
;; FIXME: what does this function do?
(let (list
(dirs (ada-xref-get-obj-dir-field))
@@ -2212,6 +2211,7 @@ This is a GNAT specific function that uses gnatkrunch."
(defun ada-make-body-gnatstub (&optional interactive)
"Create an Ada package body in the current buffer.
This function uses the `gnatstub' program to create the body.
+If INTERACTIVE is nil, kill the current buffer.
This function typically is to be hooked into `ff-file-created-hook'."
(interactive "p")
(ada-require-project-file)
@@ -2221,9 +2221,8 @@ This function typically is to be hooked into `ff-file-created-hook'."
;; If the current buffer is the body (as is the case when calling this
;; function from ff-file-created-hook), then kill this temporary buffer
(unless interactive
- (progn
- (set-buffer-modified-p nil)
- (kill-buffer (current-buffer))))
+ (set-buffer-modified-p nil)
+ (kill-buffer (current-buffer)))
;; Make sure the current buffer is the spec (this might not be the case
@@ -2274,7 +2273,7 @@ This function typically is to be hooked into `ff-file-created-hook'."
(defun ada-xref-initialize ()
"Function called by `ada-mode-hook' to initialize the ada-xref.el package.
For instance, it creates the gnat-specific menus, sets some hooks for
-`find-file'..."
+`find-file'."
(remove-hook 'ff-file-created-hook 'ada-make-body) ; from global hook
(remove-hook 'ff-file-created-hook 'ada-make-body t) ; from local hook
(add-hook 'ff-file-created-hook 'ada-make-body-gnatstub nil t)
diff --git a/lisp/progmodes/cc-align.el b/lisp/progmodes/cc-align.el
index 53711ecb951..9c2427a71af 100644
--- a/lisp/progmodes/cc-align.el
+++ b/lisp/progmodes/cc-align.el
@@ -1,7 +1,8 @@
;;; cc-align.el --- custom indentation functions for CC Mode
-;; Copyright (C) 1985,1987,1992-2003, 2004, 2005, 2006 Free Software
-;; Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+;; Foundation, Inc.
;; Authors: 1998- Martin Stjernholm
;; 1992-1999 Barry A. Warsaw
diff --git a/lisp/progmodes/cc-awk.el b/lisp/progmodes/cc-awk.el
index c93843f3f82..e2fcbd8d06b 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,94,96,2000, 2001, 2002, 2003, 2004, 2005, 2006 Free
-;; Software Foundation, Inc.
+;; Copyright (C) 1988, 1994, 1996, 2000, 2001, 2002, 2003, 2004, 2005,
+;; 2006 Free Software Foundation, Inc.
;; Author: Alan Mackenzie <acm@muc.de> (originally based on awk-mode.el)
;; Maintainer: FSF
diff --git a/lisp/progmodes/cc-cmds.el b/lisp/progmodes/cc-cmds.el
index 8b2f5e57f83..1c266e8a5de 100644
--- a/lisp/progmodes/cc-cmds.el
+++ b/lisp/progmodes/cc-cmds.el
@@ -1,7 +1,8 @@
;;; cc-cmds.el --- user level commands for CC Mode
-;; Copyright (C) 1985, 1987, 1992-2003, 2004, 2005, 2006 Free Software
-;; Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+;; Foundation, Inc.
;; Authors: 1998- Martin Stjernholm
;; 1992-1999 Barry A. Warsaw
@@ -271,7 +272,7 @@ With universal argument, inserts the analysis as a comment on that line."
;; fmt))
(setq mode-name
(if (> (length fmt) 1)
- (concat bare-mode-name fmt)
+ (concat bare-mode-name fmt)
bare-mode-name))
(force-mode-line-update)))
@@ -536,7 +537,7 @@ inside a literal or a macro, nothing special happens."
;; shut this up too
(c-echo-syntactic-information-p nil)
symb-newlines) ; e.g. (substatement-open . (after))
-
+
(setq symb-newlines
;; Do not try to insert newlines around a special
;; (Pike-style) brace list.
@@ -1661,12 +1662,12 @@ function does not require the declaration to contain a brace block."
(defun c-narrow-to-comment-innards (range)
;; Narrow to the "inside" of the comment (block) defined by range, as
;; follows:
- ;;
+ ;;
;; A c-style block comment has its opening "/*" and its closing "*/" (if
;; present) removed. A c++-style line comment retains its opening "//" but
;; has any final NL removed. If POINT is currently outwith these innards,
;; move it to the appropriate boundary.
- ;;
+ ;;
;; This narrowing simplifies the sentence movement functions, since it
;; eliminates awkward things at the boundaries of the comment (block).
;;
@@ -1694,7 +1695,7 @@ function does not require the declaration to contain a brace block."
;; of the comment and return T.
;;
;; The BOS is either text which follows a regexp match of sentence-end,
- ;; or text which is a beginning of "paragraph".
+ ;; or text which is a beginning of "paragraph".
;; Comment-prefixes are treated like WS when calculating BOSes or BOPs.
;;
;; This code was adapted from GNU Emacs's forward-sentence in paragraphs.el.
@@ -2104,7 +2105,7 @@ function does not require the declaration to contain a brace block."
((looking-at c-string-limit-regexp) ; Just gone back over a string terminator?
(goto-char last)
(throw 'done '(t . literal)))
-
+
;; Nothing special: go back word characters.
(t (skip-syntax-backward "w_")) ; Speedup only.
))))))
@@ -2136,7 +2137,7 @@ function does not require the declaration to contain a brace block."
;; As a clarification of "after the end-of-statement", if a comment or
;; whitespace follows a completed AWK statement, that statement is treated
;; as ending just after the last non-ws character before the comment.
- ;;
+ ;;
;; Note that this function moves within either preprocessor commands
;; (macros) or normal code, but not both within the same invocation.
;;
@@ -2427,7 +2428,7 @@ sentence motion in or near comments and multiline strings."
(if (/= count 0) (setq count (1- count))))
(c-keep-region-active))))
-
+
;; set up electric character functions to work with pending-del,
@@ -2560,7 +2561,7 @@ forward."
(interactive "p")
(c-forward-conditional (- count) -1)
(c-keep-region-active))
-
+
(defun c-up-conditional-with-else (count)
"Move back to the containing preprocessor conditional, including \"#else\".
Just like `c-up-conditional', except it also stops at \"#else\"
@@ -2782,7 +2783,7 @@ prefix argument is equivalent to -1.
(defun c-indent-exp (&optional shutup-p)
"Indent each line in the balanced expression following point syntactically.
-If optional SHUTUP-P is non-nil, no errors are signalled if no
+If optional SHUTUP-P is non-nil, no errors are signaled if no
balanced expression is found."
(interactive "*P")
(let ((here (point-marker))
@@ -3611,7 +3612,7 @@ command to conveniently insert and align the necessary backslashes."
hang-ender-stuck
;; auto-fill-spaces is the exact sequence of whitespace between a
;; comment's last word and the comment ender, temporarily replaced
- ;; with 'x's before calling FUN when FILL-PARAGRAPH is nil.
+ ;; with 'x's before calling FUN when FILL-PARAGRAPH is nil.
auto-fill-spaces
(here (point))
(c-lit-limits c-lit-limits)
diff --git a/lisp/progmodes/cc-compat.el b/lisp/progmodes/cc-compat.el
index d08c9fc0162..4d0266ec41c 100644
--- a/lisp/progmodes/cc-compat.el
+++ b/lisp/progmodes/cc-compat.el
@@ -1,7 +1,8 @@
;;; cc-compat.el --- cc-mode compatibility with c-mode.el confusion
-;; Copyright (C) 1985,1987,1992-2003, 2004, 2005, 2006 Free Software
-;; Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 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 ecad9174e57..df2f247f048 100644
--- a/lisp/progmodes/cc-defs.el
+++ b/lisp/progmodes/cc-defs.el
@@ -1,7 +1,8 @@
;;; cc-defs.el --- compile time definitions for CC Mode
-;; Copyright (C) 1985,1987,1992-2003, 2004, 2005, 2006 Free Software
-;; Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+;; Foundation, Inc.
;; Authors: 1998- Martin Stjernholm
;; 1992-1999 Barry A. Warsaw
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el
index 32c82eb1c1d..5cb00929007 100644
--- a/lisp/progmodes/cc-engine.el
+++ b/lisp/progmodes/cc-engine.el
@@ -1,7 +1,8 @@
;;; cc-engine.el --- core syntax guessing engine for CC mode
-;; Copyright (C) 1985,1987,1992-2003, 2004, 2005, 2006 Free Software Foundation,
-;; Inc.
+;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+;; Foundation, Inc.
;; Authors: 1998- Martin Stjernholm
;; 1992-1999 Barry A. Warsaw
diff --git a/lisp/progmodes/cc-langs.el b/lisp/progmodes/cc-langs.el
index d29e75e92f0..73ea6de9b05 100644
--- a/lisp/progmodes/cc-langs.el
+++ b/lisp/progmodes/cc-langs.el
@@ -1,7 +1,8 @@
;;; cc-langs.el --- language specific settings for CC Mode
-;; Copyright (C) 1985,1987,1992-2003, 2004, 2005, 2006 Free Software
-;; Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+;; Foundation, Inc.
;; Authors: 1998- Martin Stjernholm
;; 1992-1999 Barry A. Warsaw
diff --git a/lisp/progmodes/cc-menus.el b/lisp/progmodes/cc-menus.el
index b925d1e653c..c54d73db513 100644
--- a/lisp/progmodes/cc-menus.el
+++ b/lisp/progmodes/cc-menus.el
@@ -1,7 +1,8 @@
;;; cc-menus.el --- imenu support for CC Mode
-;; Copyright (C) 1985,1987,1992-2003, 2004, 2005, 2006 Free Software
-;; Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 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 eb5ae4b63b6..7c48967abde 100644
--- a/lisp/progmodes/cc-mode.el
+++ b/lisp/progmodes/cc-mode.el
@@ -1,7 +1,8 @@
;;; cc-mode.el --- major mode for editing C and similar languages
-;; Copyright (C) 1985,1987,1992-2003, 2004, 2005, 2006 Free Software
-;; Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 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 c2b9b435e4c..81048d52072 100644
--- a/lisp/progmodes/cc-styles.el
+++ b/lisp/progmodes/cc-styles.el
@@ -1,7 +1,8 @@
;;; cc-styles.el --- support for styles in CC Mode
-;; Copyright (C) 1985,1987,1992-2003, 2004, 2005, 2006 Free Software
-;; Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+;; Foundation, Inc.
;; Authors: 1998- Martin Stjernholm
;; 1992-1999 Barry A. Warsaw
diff --git a/lisp/progmodes/cc-vars.el b/lisp/progmodes/cc-vars.el
index 0e6738710c5..0f0da939230 100644
--- a/lisp/progmodes/cc-vars.el
+++ b/lisp/progmodes/cc-vars.el
@@ -1,7 +1,8 @@
;;; cc-vars.el --- user customization variables for CC Mode
-;; Copyright (C) 1985,1987,1992-2003, 2004, 2005, 2006 Free Software
-;; Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+;; Foundation, Inc.
;; Authors: 1998- Martin Stjernholm
;; 1992-1999 Barry A. Warsaw
@@ -809,7 +810,7 @@ then no newline is inserted."
This is used by the functions that automatically insert or align the
line continuation backslashes in multiline macros. If any line in the
macro exceeds this column then the next tab stop from that line is
-used as alignment column instead."
+used as alignment column instead. See also `c-backslash-max-column'."
:type 'integer
:group 'c)
;;;###autoload(put 'c-backslash-column 'safe-local-variable 'integerp)
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index cc1fe1ef827..04a5cf9cad7 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -61,7 +61,7 @@
;; TYPE is 0 for info or 1 for warning if the message matcher identified it as
;; such, 2 otherwise (for a real error). END-LOC is a LOC pointing to the
-;; other end, if the parsed message contained a range. If the end of the
+;; other end, if the parsed message contained a range. If the end of the
;; range didn't specify a COLUMN, it defaults to -1, meaning end of line.
;; These are the value of the `message' text-properties in the compilation
;; buffer.
@@ -499,7 +499,7 @@ This only affects platforms that support asynchronous processes (see
;; A weak per-compilation-buffer hash indexed by (FILENAME . DIRECTORY). Each
;; value is a FILE-STRUCTURE as described above, with the car eq to the hash
-;; key. This holds the tree seen from root, for storing new nodes.
+;; key. This holds the tree seen from root, for storing new nodes.
(defvar compilation-locs ())
(defvar compilation-debug nil
@@ -627,12 +627,12 @@ Faces `compilation-error-face', `compilation-warning-face',
keymap compilation-button-map
help-echo "mouse-2: visit this directory")))
-;; Data type `reverse-ordered-alist' retriever. This function retrieves the
+;; Data type `reverse-ordered-alist' retriever. This function retrieves the
;; KEY element from the ALIST, creating it in the right position if not already
;; present. ALIST structure is
;; '(ANCHOR (KEY1 ...) (KEY2 ...)... (KEYn ALIST ...))
;; ANCHOR is ignored, but necessary so that elements can be inserted. KEY1
-;; may be nil. The other KEYs are ordered backwards so that growing line
+;; may be nil. The other KEYs are ordered backwards so that growing line
;; numbers can be inserted in front and searching can abort after half the
;; list on average.
(eval-when-compile ;Don't keep it at runtime if not needed.
diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el
index 983087d07bc..14cbaf9c0f4 100644
--- a/lisp/progmodes/cperl-mode.el
+++ b/lisp/progmodes/cperl-mode.el
@@ -1681,9 +1681,8 @@ or as help on variables `cperl-tips', `cperl-problems',
[(control c) (control h) f])))
(setq major-mode cperl-use-major-mode)
(setq mode-name "CPerl")
- (if (not cperl-mode-abbrev-table)
- (let ((prev-a-c abbrevs-changed))
- (define-abbrev-table 'cperl-mode-abbrev-table '(
+ (let ((prev-a-c abbrevs-changed))
+ (define-abbrev-table 'cperl-mode-abbrev-table '(
("if" "if" cperl-electric-keyword 0)
("elsif" "elsif" cperl-electric-keyword 0)
("while" "while" cperl-electric-keyword 0)
@@ -1704,7 +1703,7 @@ or as help on variables `cperl-tips', `cperl-problems',
("over" "over" cperl-electric-pod 0)
("head1" "head1" cperl-electric-pod 0)
("head2" "head2" cperl-electric-pod 0)))
- (setq abbrevs-changed prev-a-c)))
+ (setq abbrevs-changed prev-a-c))
(setq local-abbrev-table cperl-mode-abbrev-table)
(if (cperl-val 'cperl-electric-keywords)
(abbrev-mode 1))
diff --git a/lisp/progmodes/f90.el b/lisp/progmodes/f90.el
index cdbc24cd391..e1cd25934f8 100644
--- a/lisp/progmodes/f90.el
+++ b/lisp/progmodes/f90.el
@@ -674,76 +674,78 @@ Used in the F90 entry in `hs-special-modes-alist'.")
;; Abbrevs have generally two letters, except standard types `c, `i, `r, `t.
(defvar f90-mode-abbrev-table
- (let (abbrevs-changed)
+ (progn
(define-abbrev-table 'f90-mode-abbrev-table nil)
- ;; Use the 6th arg (SYSTEM-FLAG) of define-abbrev if possible.
- ;; A little baroque to quieten the byte-compiler.
- (mapcar
- (function (lambda (element)
- (condition-case nil
- (apply 'define-abbrev f90-mode-abbrev-table
- (append element '(nil 0 t)))
- (wrong-number-of-arguments
- (apply 'define-abbrev f90-mode-abbrev-table
- (append element '(nil 0)))))))
- '(("`al" "allocate" )
- ("`ab" "allocatable" )
- ("`as" "assignment" )
- ("`ba" "backspace" )
- ("`bd" "block data" )
- ("`c" "character" )
- ("`cl" "close" )
- ("`cm" "common" )
- ("`cx" "complex" )
- ("`cn" "contains" )
- ("`cy" "cycle" )
- ("`de" "deallocate" )
- ("`df" "define" )
- ("`di" "dimension" )
- ("`dp" "double precision")
- ("`dw" "do while" )
- ("`el" "else" )
- ("`eli" "else if" )
- ("`elw" "elsewhere" )
- ("`eq" "equivalence" )
- ("`ex" "external" )
- ("`ey" "entry" )
- ("`fl" "forall" )
- ("`fo" "format" )
- ("`fu" "function" )
- ("`fa" ".false." )
- ("`im" "implicit none")
- ("`in" "include" )
- ("`i" "integer" )
- ("`it" "intent" )
- ("`if" "interface" )
- ("`lo" "logical" )
- ("`mo" "module" )
- ("`na" "namelist" )
- ("`nu" "nullify" )
- ("`op" "optional" )
- ("`pa" "parameter" )
- ("`po" "pointer" )
- ("`pr" "print" )
- ("`pi" "private" )
- ("`pm" "program" )
- ("`pu" "public" )
- ("`r" "real" )
- ("`rc" "recursive" )
- ("`rt" "return" )
- ("`rw" "rewind" )
- ("`se" "select" )
- ("`sq" "sequence" )
- ("`su" "subroutine" )
- ("`ta" "target" )
- ("`tr" ".true." )
- ("`t" "type" )
- ("`wh" "where" )
- ("`wr" "write" )))
f90-mode-abbrev-table)
"Abbrev table for F90 mode.")
-
+(let (abbrevs-changed)
+ ;; Use the 6th arg (SYSTEM-FLAG) of define-abbrev if possible.
+ ;; A little baroque to quieten the byte-compiler.
+ (mapcar
+ (function (lambda (element)
+ (condition-case nil
+ (apply 'define-abbrev f90-mode-abbrev-table
+ (append element '(nil 0 t)))
+ (wrong-number-of-arguments
+ (apply 'define-abbrev f90-mode-abbrev-table
+ (append element '(nil 0)))))))
+ '(("`al" "allocate" )
+ ("`ab" "allocatable" )
+ ("`as" "assignment" )
+ ("`ba" "backspace" )
+ ("`bd" "block data" )
+ ("`c" "character" )
+ ("`cl" "close" )
+ ("`cm" "common" )
+ ("`cx" "complex" )
+ ("`cn" "contains" )
+ ("`cy" "cycle" )
+ ("`de" "deallocate" )
+ ("`df" "define" )
+ ("`di" "dimension" )
+ ("`dp" "double precision")
+ ("`dw" "do while" )
+ ("`el" "else" )
+ ("`eli" "else if" )
+ ("`elw" "elsewhere" )
+ ("`eq" "equivalence" )
+ ("`ex" "external" )
+ ("`ey" "entry" )
+ ("`fl" "forall" )
+ ("`fo" "format" )
+ ("`fu" "function" )
+ ("`fa" ".false." )
+ ("`im" "implicit none")
+ ("`in" "include" )
+ ("`i" "integer" )
+ ("`it" "intent" )
+ ("`if" "interface" )
+ ("`lo" "logical" )
+ ("`mo" "module" )
+ ("`na" "namelist" )
+ ("`nu" "nullify" )
+ ("`op" "optional" )
+ ("`pa" "parameter" )
+ ("`po" "pointer" )
+ ("`pr" "print" )
+ ("`pi" "private" )
+ ("`pm" "program" )
+ ("`pu" "public" )
+ ("`r" "real" )
+ ("`rc" "recursive" )
+ ("`rt" "return" )
+ ("`rw" "rewind" )
+ ("`se" "select" )
+ ("`sq" "sequence" )
+ ("`su" "subroutine" )
+ ("`ta" "target" )
+ ("`tr" ".true." )
+ ("`t" "type" )
+ ("`wh" "where" )
+ ("`wr" "write" ))))
+
+
;;;###autoload
(defun f90-mode ()
"Major mode for editing Fortran 90,95 code in free format.
@@ -1007,8 +1009,9 @@ All others return `comment-column', leaving at least one space after code."
(skip-chars-backward " \t")
(bolp)))
(f90-calculate-indent))
- (t (skip-chars-backward " \t")
- (max (if (bolp) 0 (1+ (current-column))) comment-column))))
+ (t (save-excursion
+ (skip-chars-backward " \t")
+ (max (if (bolp) 0 (1+ (current-column))) comment-column)))))
(defsubst f90-present-statement-cont ()
"Return continuation properties of present statement.
diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el
index b37be18188c..9f5031b0e63 100644
--- a/lisp/progmodes/flymake.el
+++ b/lisp/progmodes/flymake.el
@@ -2,8 +2,8 @@
;; Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation
-;; Author: Pavel Kobiakov <pk_at_work@yahoo.com>
-;; Maintainer: Pavel Kobiakov <pk_at_work@yahoo.com>
+;; Author: Pavel Kobyakov <pk_at_work@yahoo.com>
+;; Maintainer: Pavel Kobyakov <pk_at_work@yahoo.com>
;; Version: 0.3
;; Keywords: c languages tools
@@ -117,6 +117,30 @@ Zero-length substrings at the beginning and end of the list are omitted."
'line-end-position
(lambda (&optional arg) (save-excursion (end-of-line arg) (point)))))
+(defun flymake-posn-at-point-as-event (&optional position window dx dy)
+ "Return pixel position of top left corner of glyph at POSITION,
+relative to top left corner of WINDOW, as a mouse-1 click
+event (identical to the event that would be triggered by clicking
+mouse button 1 at the top left corner of the glyph).
+
+POSITION and WINDOW default to the position of point in the
+selected window.
+
+DX and DY specify optional offsets from the top left of the glyph."
+ (unless window (setq window (selected-window)))
+ (unless position (setq position (window-point window)))
+ (unless dx (setq dx 0))
+ (unless dy (setq dy 0))
+
+ (let* ((pos (posn-at-point position window))
+ (x-y (posn-x-y pos))
+ (edges (window-inside-pixel-edges window))
+ (win-x-y (window-pixel-edges window)))
+ ;; adjust for window edges
+ (setcar (nthcdr 2 pos)
+ (cons (+ (car x-y) (car edges) (- (car win-x-y)) dx)
+ (+ (cdr x-y) (cadr edges) (- (cadr win-x-y)) dy)))
+ (list 'mouse-1 pos)))
(defun flymake-popup-menu (menu-data)
"Pop up the flymake menu at point, using the data MENU-DATA.
@@ -134,7 +158,7 @@ MENU-DATA is a list of error and warning messages returned by
(popup-menu (flymake-make-xemacs-menu menu-data)
(make-event 'button-press fake-event-props)))
(x-popup-menu (if (eval-when-compile (fboundp 'posn-at-point))
- (posn-at-point)
+ (flymake-posn-at-point-as-event)
(list (flymake-get-point-pixel-pos) (selected-window)))
(flymake-make-emacs-menu menu-data))))
diff --git a/lisp/progmodes/fortran.el b/lisp/progmodes/fortran.el
index c7a175241d5..5c97f60e204 100644
--- a/lisp/progmodes/fortran.el
+++ b/lisp/progmodes/fortran.el
@@ -385,8 +385,8 @@ program\\|subroutine\\)\\>[ \t]*\\(\\sw+\\)?"
"dabs" "cabs" "mod" "amod" "dmod" "isign"
"sign" "dsign" "idim" "dim" "ddim" "dprod"
"max" "max0" "amax1" "dmax1" "amax0" "max1"
- "min0" "amin1" "dmin1" "amin0" "min1" "len"
- "index" "lge" "lgt" "lle" "llt" "aimag"
+ "min" "min0" "amin1" "dmin1" "amin0" "min1"
+ "len" "index" "lge" "lgt" "lle" "llt" "aimag"
"conjg" "sqrt" "dsqrt" "csqrt" "exp" "dexp"
"cexp" "log" "alog" "dlog" "clog" "log10"
"alog10" "dlog10" "sin" "dsin" "csin" "cos"
@@ -604,80 +604,82 @@ Used in the Fortran entry in `hs-special-modes-alist'.")
(defvar fortran-mode-abbrev-table
- (let (abbrevs-changed)
+ (progn
(define-abbrev-table 'fortran-mode-abbrev-table nil)
- ;; Use the 6th arg (SYSTEM-FLAG) of define-abbrev if possible.
- ;; Only use `apply' to quieten the byte-compiler.
- (mapcar
- (function (lambda (element)
- (condition-case nil
- (apply 'define-abbrev fortran-mode-abbrev-table
- (append element '(nil 0 t)))
- (wrong-number-of-arguments
- (apply 'define-abbrev fortran-mode-abbrev-table
- (append element '(nil 0)))))))
- '((";au" "automatic" )
- (";b" "byte" )
- (";bd" "block data" )
- (";ch" "character" )
- (";cl" "close" )
- (";c" "continue" )
- (";cm" "common" )
- (";cx" "complex" )
- (";df" "define" )
- (";di" "dimension" )
- (";do" "double" )
- (";dc" "double complex" )
- (";dp" "double precision" )
- (";dw" "do while" )
- (";e" "else" )
- (";ed" "enddo" )
- (";el" "elseif" )
- (";en" "endif" )
- (";eq" "equivalence" )
- (";ew" "endwhere" )
- (";ex" "external" )
- (";ey" "entry" )
- (";f" "format" )
- (";fa" ".false." )
- (";fu" "function" )
- (";g" "goto" )
- (";im" "implicit" )
- (";ib" "implicit byte" )
- (";ic" "implicit complex" )
- (";ich" "implicit character")
- (";ii" "implicit integer" )
- (";il" "implicit logical" )
- (";ir" "implicit real" )
- (";inc" "include" )
- (";in" "integer" )
- (";intr" "intrinsic" )
- (";l" "logical" )
- (";n" "namelist" )
- (";o" "open" ) ; was ;op
- (";pa" "parameter" )
- (";pr" "program" )
- (";ps" "pause" )
- (";p" "print" )
- (";rc" "record" )
- (";re" "real" )
- (";r" "read" )
- (";rt" "return" )
- (";rw" "rewind" )
- (";s" "stop" )
- (";sa" "save" )
- (";st" "structure" )
- (";sc" "static" )
- (";su" "subroutine" )
- (";tr" ".true." )
- (";ty" "type" )
- (";vo" "volatile" )
- (";w" "write" )
- (";wh" "where" )))
- fortran-mode-abbrev-table))
+ fortran-mode-abbrev-table)
+ "Abbrev table for Fortran mode.")
+
+(let (abbrevs-changed)
+ ;; Use the 6th arg (SYSTEM-FLAG) of define-abbrev if possible.
+ ;; Only use `apply' to quieten the byte-compiler.
+ (mapcar
+ (function (lambda (element)
+ (condition-case nil
+ (apply 'define-abbrev fortran-mode-abbrev-table
+ (append element '(nil 0 t)))
+ (wrong-number-of-arguments
+ (apply 'define-abbrev fortran-mode-abbrev-table
+ (append element '(nil 0)))))))
+ '((";au" "automatic" )
+ (";b" "byte" )
+ (";bd" "block data" )
+ (";ch" "character" )
+ (";cl" "close" )
+ (";c" "continue" )
+ (";cm" "common" )
+ (";cx" "complex" )
+ (";df" "define" )
+ (";di" "dimension" )
+ (";do" "double" )
+ (";dc" "double complex" )
+ (";dp" "double precision" )
+ (";dw" "do while" )
+ (";e" "else" )
+ (";ed" "enddo" )
+ (";el" "elseif" )
+ (";en" "endif" )
+ (";eq" "equivalence" )
+ (";ew" "endwhere" )
+ (";ex" "external" )
+ (";ey" "entry" )
+ (";f" "format" )
+ (";fa" ".false." )
+ (";fu" "function" )
+ (";g" "goto" )
+ (";im" "implicit" )
+ (";ib" "implicit byte" )
+ (";ic" "implicit complex" )
+ (";ich" "implicit character")
+ (";ii" "implicit integer" )
+ (";il" "implicit logical" )
+ (";ir" "implicit real" )
+ (";inc" "include" )
+ (";in" "integer" )
+ (";intr" "intrinsic" )
+ (";l" "logical" )
+ (";n" "namelist" )
+ (";o" "open" ) ; was ;op
+ (";pa" "parameter" )
+ (";pr" "program" )
+ (";ps" "pause" )
+ (";p" "print" )
+ (";rc" "record" )
+ (";re" "real" )
+ (";r" "read" )
+ (";rt" "return" )
+ (";rw" "rewind" )
+ (";s" "stop" )
+ (";sa" "save" )
+ (";st" "structure" )
+ (";sc" "static" )
+ (";su" "subroutine" )
+ (";tr" ".true." )
+ (";ty" "type" )
+ (";vo" "volatile" )
+ (";w" "write" )
+ (";wh" "where" ))))
-
;;;###autoload
(defun fortran-mode ()
"Major mode for editing Fortran code in fixed format.
@@ -968,7 +970,7 @@ See also `fortran-window-create'."
(error (error "No room for Fortran window")))
(message "Type SPC to continue editing.")
(let ((char (read-event)))
- (or (equal char (string-to-char " "))
+ (or (equal char ?\s)
(setq unread-command-events (list char))))))
(fortran-window-create)))
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el
index 225952366dd..48dd31b19f9 100644
--- a/lisp/progmodes/gdb-ui.el
+++ b/lisp/progmodes/gdb-ui.el
@@ -40,8 +40,8 @@
;; This file has evolved from gdba.el that was included with GDB 5.0 and
;; written by Tom Lord and Jim Kingdon. It uses GDB's annotation interface.
;; You don't need to know about annotations to use this mode as a debugger,
-;; but if you are interested developing the mode itself, then see the
-;; Annotations section in the GDB info manual.
+;; but if you are interested developing the mode itself, see the Annotations
+;; section in the GDB info manual.
;; GDB developers plan to make the annotation interface obsolete. A new
;; interface called GDB/MI (machine interface) has been designed to replace
@@ -51,9 +51,9 @@
;; still under development and is part of a process to migrate Emacs from
;; annotations to GDB/MI.
-;; This mode SHOULD WORK WITH GDB 5.0 onwards but you will NEED GDB 6.0
-;; onwards to use watch expressions. It works best with GDB 6.4 where
-;; watch expressions will update more quickly.
+;; This mode SHOULD WORK WITH GDB 5.0 or later but you will NEED AT LEAST
+;; GDB 6.0 to use watch expressions. It works best with GDB 6.4 or later
+;; where watch expressions will update more quickly.
;;; Windows Platforms:
@@ -81,12 +81,14 @@
;; "gdb --annotate=2 myprog" to keep source buffer/selected frame fixed.
;;; Problems with watch expressions, GDB/MI:
+
;; 1) They go out of scope when the inferior is re-run.
;; 2) -stack-list-locals has a type field but also prints type in values field.
;; 3) VARNUM increments even when variable object is not created
;; (maybe trivial).
;;; TODO:
+
;; 1) Use MI command -data-read-memory for memory window.
;; 2) Use tree-widget.el instead of the speedbar for watch-expressions?
;; 3) Mark breakpoint locations on scroll-bar of source buffer?
@@ -871,6 +873,14 @@ type_changed=\".*?\".*?}")
(if (string-match (concat (car var) "\\.") (car varchild))
(setq gdb-var-list (delq varchild gdb-var-list)))))))))
+(defun gdb-var-delete-children (varnum)
+ "Delete children of variable object point from the speedbar."
+ (gdb-enqueue-input
+ (list
+ (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba)
+ (concat "server interpreter mi \"-var-delete -c " varnum "\"\n")
+ (concat "-var-delete -c " varnum "\n")) 'ignore)))
+
(defun gdb-edit-value (text token indent)
"Assign a value to a variable displayed in the speedbar."
(let* ((var (nth (- (count-lines (point-min) (point)) 2) gdb-var-list))
@@ -914,6 +924,7 @@ INDENT is the current indentation depth."
(dolist (var gdb-var-list)
(if (string-match (concat token "\\.") (car var))
(setq gdb-var-list (delq var gdb-var-list))))
+ (gdb-var-delete-children token)
(speedbar-change-expand-button-char ?+)
(speedbar-delete-subblock indent))
(t (error "Ooops... not sure what to do")))
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index b42e1b7fdc7..fc7c303c491 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -394,8 +394,6 @@ t means that there is no stack, and we are in display-file mode.")
(define-key gud-speedbar-key-map "e" 'speedbar-edit-line)
(define-key gud-speedbar-key-map "\C-m" 'speedbar-edit-line)
(define-key gud-speedbar-key-map " " 'speedbar-toggle-line-expansion)
- (define-key gud-speedbar-key-map "[" 'speedbar-expand-line-descendants)
- (define-key gud-speedbar-key-map "]" 'speedbar-contract-line-descendants)
(define-key gud-speedbar-key-map "D" 'gdb-var-delete)
(define-key gud-speedbar-key-map "p" 'gud-pp))
@@ -624,7 +622,7 @@ required by the caller."
;; Does the remaining text look like it might end with the
;; beginning of another marker? If it does, then keep it in
- ;; gud-marker-acc until we receive the rest of it. Since we
+ ;; gud-marker-acc until we receive the rest of it. Since we
;; know the full marker regexp above failed, it's pretty simple to
;; test for marker starts.
(if (string-match "\n\\(\032.*\\)?\\'" gud-marker-acc)
@@ -680,15 +678,19 @@ directory and source-file directory for your debugger. By
default this command starts GDB using a graphical interface. See
`gdba' for more information.
-To run GDB in text command mode, set `gud-gdb-command-name' to
-\"gdb --fullname\" and include the pathname, if necessary."
+To run GDB in text command mode, replace the GDB \"--annotate=3\"
+option with \"--fullname\" either in the minibuffer for the
+current Emacs session, or the custom variable
+`gud-gdb-command-name' for all future sessions. You need to use
+text command mode to debug multiple programs within one Emacs
+session."
(interactive (list (gud-query-cmdline 'gdb)))
(if (and gud-comint-buffer
(buffer-name gud-comint-buffer)
(get-buffer-process gud-comint-buffer)
(with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba)))
- (error "Multiple debugging is only supported with \"gdb --fullname\""))
+ (error "Multiple debugging requires restarting in text command mode"))
(gud-common-init command-line nil 'gud-gdb-marker-filter)
(set (make-local-variable 'gud-minor-mode) 'gdb)
@@ -1457,7 +1459,7 @@ into one that invokes an Emacs-enabled debugging session.
;; Does the remaining text look like it might end with the
;; beginning of another marker? If it does, then keep it in
- ;; gud-marker-acc until we receive the rest of it. Since we
+ ;; gud-marker-acc until we receive the rest of it. Since we
;; know the full marker regexp above failed, it's pretty simple to
;; test for marker starts.
(if (string-match "\032.*\\'" gud-marker-acc)
@@ -1562,7 +1564,7 @@ and source-file directory for your debugger."
;; Does the remaining text look like it might end with the
;; beginning of another marker? If it does, then keep it in
- ;; gud-marker-acc until we receive the rest of it. Since we
+ ;; gud-marker-acc until we receive the rest of it. Since we
;; know the full marker regexp above failed, it's pretty simple to
;; test for marker starts.
(if (string-match gud-pdb-marker-regexp-start gud-marker-acc)
@@ -1861,7 +1863,7 @@ extension EXTN. Normally EXTN is given as the regular expression
(forward-char))
(forward-char))
-;; Move point past the following block. There may be (legal) cruft before
+;; Move point past the following block. There may be (legal) cruft before
;; the block's opening brace. There must be a block or it's the end of life
;; in petticoat junction.
(defun gud-jdb-skip-block ()
@@ -2049,7 +2051,7 @@ extension EXTN. Normally EXTN is given as the regular expression
massaged-args)))
;; Search for an association with P, a fully qualified class name, in
-;; gud-jdb-class-source-alist. The asssociation gives the fully
+;; gud-jdb-class-source-alist. The asssociation gives the fully
;; qualified file name of the source file which produced the class.
(defun gud-jdb-find-source-file (p)
(cdr (assoc p gud-jdb-class-source-alist)))
@@ -2217,7 +2219,7 @@ nil)
(defun jdb (command-line)
"Run jdb with command line COMMAND-LINE in a buffer.
The buffer is named \"*gud*\" if no initial class is given or
-\"*gud-<initial-class-basename>*\" if there is. If the \"-classpath\"
+\"*gud-<initial-class-basename>*\" if there is. If the \"-classpath\"
switch is given, omit all whitespace between it and its value.
See `gud-jdb-use-classpath' and `gud-jdb-classpath' documentation for
@@ -2794,7 +2796,7 @@ Obeying it means displaying in another window the specified file and line."
(cond ((or (< pos (point-min)) (> pos (point-max)))
(widen)
(goto-char pos))))
- (when window
+ (when window
(set-window-point window gud-overlay-arrow-position)
(if (memq gud-minor-mode '(gdbmi gdba))
(setq gdb-source-window window)))))))
diff --git a/lisp/progmodes/hideshow.el b/lisp/progmodes/hideshow.el
index e7ed67ce61c..e50a9a4dda6 100644
--- a/lisp/progmodes/hideshow.el
+++ b/lisp/progmodes/hideshow.el
@@ -706,6 +706,7 @@ and `case-fold-search' are both t."
(if (and c-reg (nth 0 c-reg))
;; point is inside a comment, and that comment is hidable
(goto-char (nth 0 c-reg))
+ (end-of-line)
(when (and (not c-reg)
(hs-find-block-beginning)
(looking-at hs-block-start-regexp))
diff --git a/lisp/progmodes/idlwave.el b/lisp/progmodes/idlwave.el
index 3a7d39c5db7..f33ae35ed30 100644
--- a/lisp/progmodes/idlwave.el
+++ b/lisp/progmodes/idlwave.el
@@ -3486,8 +3486,6 @@ if `idlwave-auto-fill-split-string' is non-nil."
(idlwave-indent-line)
;; Prevent actions do-auto-fill which calls indent-line-function.
(let (idlwave-do-actions
- (paragraph-start ".")
- (paragraph-separate ".")
(fill-nobreak-predicate
(if (and (idlwave-in-quote)
idlwave-auto-fill-split-string)
@@ -4653,7 +4651,11 @@ Gets set in cached XML rinfo, or `idlw-rinfo.el'.")
props (car (cdr pelem)))
(cond
((eq ptype 'SUPERCLASS)
- (push (cdr (assq 'name props)) inherits))
+ (let ((pname (cdr (assq 'name props)))
+ (plink (cdr (assq 'link props))))
+ (unless (and (string= pname "None")
+ (string= plink "None"))
+ (push pname inherits))))
((eq ptype 'PROPERTY)
(let ((pname (cdr (assq 'name props)))
diff --git a/lisp/progmodes/octave-mod.el b/lisp/progmodes/octave-mod.el
index 57941db9691..998b33ffbc7 100644
--- a/lisp/progmodes/octave-mod.el
+++ b/lisp/progmodes/octave-mod.el
@@ -61,37 +61,38 @@
Used in `octave-mode' and inferior-octave-mode buffers.
All Octave abbrevs start with a grave accent (`).")
(unless octave-abbrev-table
- (let ((ac abbrevs-changed))
- (define-abbrev-table 'octave-abbrev-table ())
- (define-abbrev octave-abbrev-table "`a" "all_va_args" nil 0 t)
- (define-abbrev octave-abbrev-table "`b" "break" nil 0 t)
- (define-abbrev octave-abbrev-table "`cs" "case" nil 0 t)
- (define-abbrev octave-abbrev-table "`ca" "catch" nil 0 t)
- (define-abbrev octave-abbrev-table "`c" "continue" nil 0 t)
- (define-abbrev octave-abbrev-table "`el" "else" nil 0 t)
- (define-abbrev octave-abbrev-table "`eli" "elseif" nil 0 t)
- (define-abbrev octave-abbrev-table "`et" "end_try_catch" nil 0 t)
- (define-abbrev octave-abbrev-table "`eu" "end_unwind_protect" nil 0 t)
- (define-abbrev octave-abbrev-table "`ef" "endfor" nil 0 t)
- (define-abbrev octave-abbrev-table "`efu" "endfunction" nil 0 t)
- (define-abbrev octave-abbrev-table "`ei" "endif" nil 0 t)
- (define-abbrev octave-abbrev-table "`es" "endswitch" nil 0 t)
- (define-abbrev octave-abbrev-table "`ew" "endwhile" nil 0 t)
- (define-abbrev octave-abbrev-table "`f" "for" nil 0 t)
- (define-abbrev octave-abbrev-table "`fu" "function" nil 0 t)
- (define-abbrev octave-abbrev-table "`gl" "global" nil 0 t)
- (define-abbrev octave-abbrev-table "`gp" "gplot" nil 0 t)
- (define-abbrev octave-abbrev-table "`gs" "gsplot" nil 0 t)
- (define-abbrev octave-abbrev-table "`if" "if ()" nil 0 t)
- (define-abbrev octave-abbrev-table "`o" "otherwise" nil 0 t)
- (define-abbrev octave-abbrev-table "`rp" "replot" nil 0 t)
- (define-abbrev octave-abbrev-table "`r" "return" nil 0 t)
- (define-abbrev octave-abbrev-table "`s" "switch" nil 0 t)
- (define-abbrev octave-abbrev-table "`t" "try" nil 0 t)
- (define-abbrev octave-abbrev-table "`up" "unwind_protect" nil 0 t)
- (define-abbrev octave-abbrev-table "`upc" "unwind_protect_cleanup" nil 0 t)
- (define-abbrev octave-abbrev-table "`w" "while ()" nil 0 t)
- (setq abbrevs-changed ac)))
+ (define-abbrev-table 'octave-abbrev-table ()))
+
+(let ((ac abbrevs-changed))
+ (define-abbrev octave-abbrev-table "`a" "all_va_args" nil 0 t)
+ (define-abbrev octave-abbrev-table "`b" "break" nil 0 t)
+ (define-abbrev octave-abbrev-table "`cs" "case" nil 0 t)
+ (define-abbrev octave-abbrev-table "`ca" "catch" nil 0 t)
+ (define-abbrev octave-abbrev-table "`c" "continue" nil 0 t)
+ (define-abbrev octave-abbrev-table "`el" "else" nil 0 t)
+ (define-abbrev octave-abbrev-table "`eli" "elseif" nil 0 t)
+ (define-abbrev octave-abbrev-table "`et" "end_try_catch" nil 0 t)
+ (define-abbrev octave-abbrev-table "`eu" "end_unwind_protect" nil 0 t)
+ (define-abbrev octave-abbrev-table "`ef" "endfor" nil 0 t)
+ (define-abbrev octave-abbrev-table "`efu" "endfunction" nil 0 t)
+ (define-abbrev octave-abbrev-table "`ei" "endif" nil 0 t)
+ (define-abbrev octave-abbrev-table "`es" "endswitch" nil 0 t)
+ (define-abbrev octave-abbrev-table "`ew" "endwhile" nil 0 t)
+ (define-abbrev octave-abbrev-table "`f" "for" nil 0 t)
+ (define-abbrev octave-abbrev-table "`fu" "function" nil 0 t)
+ (define-abbrev octave-abbrev-table "`gl" "global" nil 0 t)
+ (define-abbrev octave-abbrev-table "`gp" "gplot" nil 0 t)
+ (define-abbrev octave-abbrev-table "`gs" "gsplot" nil 0 t)
+ (define-abbrev octave-abbrev-table "`if" "if ()" nil 0 t)
+ (define-abbrev octave-abbrev-table "`o" "otherwise" nil 0 t)
+ (define-abbrev octave-abbrev-table "`rp" "replot" nil 0 t)
+ (define-abbrev octave-abbrev-table "`r" "return" nil 0 t)
+ (define-abbrev octave-abbrev-table "`s" "switch" nil 0 t)
+ (define-abbrev octave-abbrev-table "`t" "try" nil 0 t)
+ (define-abbrev octave-abbrev-table "`up" "unwind_protect" nil 0 t)
+ (define-abbrev octave-abbrev-table "`upc" "unwind_protect_cleanup" nil 0 t)
+ (define-abbrev octave-abbrev-table "`w" "while ()" nil 0 t)
+ (setq abbrevs-changed ac))
(defvar octave-comment-char ?#
"Character to start an Octave comment.")
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index 24e9f65f180..7a62cfa477c 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -408,6 +408,7 @@ The criteria are that the line isn't a comment or in string and
See also `\\[python-guess-indent]'"
:group 'python
:type 'integer)
+(put 'python-indent 'safe-local-variable 'integerp)
(defcustom python-guess-indent t
"Non-nil means Python mode guesses `python-indent' for the buffer."
diff --git a/lisp/progmodes/sql.el b/lisp/progmodes/sql.el
index ff5493de364..4b5a8bb51f1 100644
--- a/lisp/progmodes/sql.el
+++ b/lisp/progmodes/sql.el
@@ -847,23 +847,24 @@ Based on `comint-mode-map'.")
(defvar sql-mode-abbrev-table nil
"Abbrev table used in `sql-mode' and `sql-interactive-mode'.")
(unless sql-mode-abbrev-table
- (define-abbrev-table 'sql-mode-abbrev-table nil)
- (mapcar
- ;; In Emacs 21.3+, provide SYSTEM-FLAG to define-abbrev.
- '(lambda (abbrev)
- (let ((name (car abbrev))
- (expansion (cdr abbrev)))
- (condition-case nil
- (define-abbrev sql-mode-abbrev-table name expansion nil 0 t)
- (error
- (define-abbrev sql-mode-abbrev-table name expansion)))))
- '(("ins" "insert")
- ("upd" "update")
- ("del" "delete")
- ("sel" "select")
- ("proc" "procedure")
- ("func" "function")
- ("cr" "create"))))
+ (define-abbrev-table 'sql-mode-abbrev-table nil))
+
+(mapcar
+ ;; In Emacs 21.3+, provide SYSTEM-FLAG to define-abbrev.
+ '(lambda (abbrev)
+ (let ((name (car abbrev))
+ (expansion (cdr abbrev)))
+ (condition-case nil
+ (define-abbrev sql-mode-abbrev-table name expansion nil 0 t)
+ (error
+ (define-abbrev sql-mode-abbrev-table name expansion)))))
+ '(("ins" "insert")
+ ("upd" "update")
+ ("del" "delete")
+ ("sel" "select")
+ ("proc" "procedure")
+ ("func" "function")
+ ("cr" "create")))
;; Syntax Table
diff --git a/lisp/progmodes/vhdl-mode.el b/lisp/progmodes/vhdl-mode.el
index 60c3e1c3144..3bf4227a82f 100644
--- a/lisp/progmodes/vhdl-mode.el
+++ b/lisp/progmodes/vhdl-mode.el
@@ -1,12 +1,13 @@
;;; vhdl-mode.el --- major mode for editing VHDL code
-;; Copyright (C) 1992-2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+;; 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
;; Authors: Reto Zimmermann <reto@gnu.org>
;; Rodney J. Whitby <software.vhdl-mode@rwhitby.net>
;; Maintainer: Reto Zimmermann <reto@gnu.org>
;; Keywords: languages vhdl
-;; WWW: http://opensource.ethz.ch/emacs/vhdl-mode.html
+;; WWW: http://www.iis.ee.ethz.ch/~zimmi/emacs/vhdl-mode.html
(defconst vhdl-version "3.33.6"
"VHDL Mode version number.")
@@ -2892,7 +2893,6 @@ STRING are replaced by `-' and substrings are converted to lower case."
(defun vhdl-mode-abbrev-table-init ()
"Initialize `vhdl-mode-abbrev-table'."
- (when vhdl-mode-abbrev-table (clear-abbrev-table vhdl-mode-abbrev-table))
(define-abbrev-table 'vhdl-mode-abbrev-table
(append
(when (memq 'vhdl vhdl-electric-keywords)