aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/progmodes
diff options
context:
space:
mode:
authorMiles Bader2004-11-04 08:55:40 +0000
committerMiles Bader2004-11-04 08:55:40 +0000
commitd1a3e560ff62e047d9fa8e8b3b1bc1e56e104c26 (patch)
tree935f61a936f33c7690a201b19b86e89c3d864b61 /lisp/progmodes
parent32dc0e8f9bc2d460b3d964c21989de70282bab61 (diff)
parent0683d2414d4de8626f7c46f59937f9bef27302ce (diff)
downloademacs-d1a3e560ff62e047d9fa8e8b3b1bc1e56e104c26.tar.gz
emacs-d1a3e560ff62e047d9fa8e8b3b1bc1e56e104c26.zip
Revision: miles@gnu.org--gnu-2004/emacs--unicode--0--patch-69
Merge from emacs--cvs-trunk--0 Patches applied: * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-643 - miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-649 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-650 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-651 - miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-655 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-656 Update from CVS: lisp/man.el (Man-xref-normal-file): Fix help-echo. * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-657 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-658 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-659 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-660 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-661 - miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-667 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-668 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-61 - miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-68 Update from CVS
Diffstat (limited to 'lisp/progmodes')
-rw-r--r--lisp/progmodes/ada-xref.el6
-rw-r--r--lisp/progmodes/autoconf.el4
-rw-r--r--lisp/progmodes/compile.el14
-rw-r--r--lisp/progmodes/cperl-mode.el6
-rw-r--r--lisp/progmodes/flymake.el49
-rw-r--r--lisp/progmodes/gdb-ui.el146
-rw-r--r--lisp/progmodes/grep.el38
-rw-r--r--lisp/progmodes/idlw-shell.el6
-rw-r--r--lisp/progmodes/idlwave.el8
-rw-r--r--lisp/progmodes/vhdl-mode.el14
10 files changed, 170 insertions, 121 deletions
diff --git a/lisp/progmodes/ada-xref.el b/lisp/progmodes/ada-xref.el
index fc1d2d46ab3..472cfc3053e 100644
--- a/lisp/progmodes/ada-xref.el
+++ b/lisp/progmodes/ada-xref.el
@@ -2154,17 +2154,17 @@ This is a GNAT specific function that uses gnatkrunch."
2154 adaname 2154 adaname
2155 ) 2155 )
2156 2156
2157(defun ada-make-body-gnatstub () 2157(defun ada-make-body-gnatstub (&optional interactive)
2158 "Create an Ada package body in the current buffer. 2158 "Create an Ada package body in the current buffer.
2159This function uses the `gnatstub' program to create the body. 2159This function uses the `gnatstub' program to create the body.
2160This function typically is to be hooked into `ff-file-created-hooks'." 2160This function typically is to be hooked into `ff-file-created-hooks'."
2161 (interactive) 2161 (interactive "p")
2162 2162
2163 (save-some-buffers nil nil) 2163 (save-some-buffers nil nil)
2164 2164
2165 ;; If the current buffer is the body (as is the case when calling this 2165 ;; If the current buffer is the body (as is the case when calling this
2166 ;; function from ff-file-created-hooks), then kill this temporary buffer 2166 ;; function from ff-file-created-hooks), then kill this temporary buffer
2167 (unless (interactive-p) 2167 (unless interactive
2168 (progn 2168 (progn
2169 (set-buffer-modified-p nil) 2169 (set-buffer-modified-p nil)
2170 (kill-buffer (current-buffer)))) 2170 (kill-buffer (current-buffer))))
diff --git a/lisp/progmodes/autoconf.el b/lisp/progmodes/autoconf.el
index 5bdb1fb25eb..ec83e33b10d 100644
--- a/lisp/progmodes/autoconf.el
+++ b/lisp/progmodes/autoconf.el
@@ -1,6 +1,6 @@
1;;; autoconf.el --- mode for editing Autoconf configure.in files 1;;; autoconf.el --- mode for editing Autoconf configure.in files
2 2
3;; Copyright (C) 2000, 2003 Free Software Foundation, Inc. 3;; Copyright (C) 2000, 2003, 2004 Free Software Foundation, Inc.
4 4
5;; Author: Dave Love <fx@gnu.org> 5;; Author: Dave Love <fx@gnu.org>
6;; Keywords: languages 6;; Keywords: languages
@@ -49,7 +49,7 @@
49 "AC_\\(SUBST\\|DEFINE\\(_UNQUOTED\\)?\\)(\\(\\sw+\\)") 49 "AC_\\(SUBST\\|DEFINE\\(_UNQUOTED\\)?\\)(\\(\\sw+\\)")
50 50
51(defvar autoconf-font-lock-keywords 51(defvar autoconf-font-lock-keywords
52 `(("A[CHM]_\\sw+" . font-lock-keyword-face) 52 `(("A[CHMS]_\\sw+" . font-lock-keyword-face)
53 (,autoconf-definition-regexp 53 (,autoconf-definition-regexp
54 3 font-lock-function-name-face) 54 3 font-lock-function-name-face)
55 ;; Are any other M4 keywords really appropriate for configure.in, 55 ;; Are any other M4 keywords really appropriate for configure.in,
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index 0dc73e96664..223455e9872 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -181,6 +181,16 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1))
181 (epc 181 (epc
182 "^Error [0-9]+ at (\\([0-9]+\\):\\([^)\n]+\\))" 2 1) 182 "^Error [0-9]+ at (\\([0-9]+\\):\\([^)\n]+\\))" 2 1)
183 183
184 (ftnchek-file
185 "^File \\(.+\\.f\\):$"
186 1 nil nil 0)
187 (ftnchek-line-file
188 "\\(^Warning .* \\)?line \\([0-9]+\\)\\(?: col \\([0-9]+\\)\\)? file \\(.+\\.f\\)"
189 4 2 3 (1) nil (1 'default nil t))
190 (ftnchek-line
191 "\\(?:^\\(Warning\\) .* \\)?line \\([0-9]+\\)\\(?: col \\([0-9]+\\)\\)?"
192 nil 2 3 (1) nil (1 (compilation-face '(1)) nil t))
193
184 (iar 194 (iar
185 "^\"\\(.*\\)\",\\([0-9]+\\)\\s-+\\(?:Error\\|Warnin\\(g\\)\\)\\[[0-9]+\\]:" 195 "^\"\\(.*\\)\",\\([0-9]+\\)\\s-+\\(?:Error\\|Warnin\\(g\\)\\)\\[[0-9]+\\]:"
186 1 2 nil (3)) 196 1 2 nil (3))
@@ -191,8 +201,8 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1))
191 201
192 ;; fixme: should be `mips' 202 ;; fixme: should be `mips'
193 (irix 203 (irix
194 "^[-[:alnum:]_/]+: \\(?:[sS]evere\\|[eE]rror\\|[wW]arnin\\(g\\)\\|[iI]nf\\(o\\)\\)[0-9 ]*:\ 204 "^[-[:alnum:]_/ ]+: \\(?:\\(?:[sS]evere\\|[eE]rror\\|[wW]arnin\\(g\\)\\|[iI]nf\\(o\\)\\)[0-9 ]*: \\)?\
195 \\([^,\" \n\t]+\\)\\(?:, line\\|:\\) \\([0-9]+\\):" 3 4 nil (1 . 2)) 205\\([^,\" \n\t]+\\)\\(?:, line\\|:\\) \\([0-9]+\\):" 3 4 nil (1 . 2))
196 206
197 (java 207 (java
198 "^\\(?:[ \t]+at \\|==[0-9]+== +\\(?:at\\|b\\(y\\)\\)\\).+(\\([^()\n]+\\):\\([0-9]+\\))$" 2 3 nil (1)) 208 "^\\(?:[ \t]+at \\|==[0-9]+== +\\(?:at\\|b\\(y\\)\\)\\).+(\\([^()\n]+\\):\\([0-9]+\\))$" 2 3 nil (1))
diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el
index e679a48d642..94458df56e8 100644
--- a/lisp/progmodes/cperl-mode.el
+++ b/lisp/progmodes/cperl-mode.el
@@ -6664,11 +6664,11 @@ prototype \&SUB Returns prototype of the function given a reference.
6664=pod Switch from Perl to POD. 6664=pod Switch from Perl to POD.
6665") 6665")
6666 6666
6667(defun cperl-switch-to-doc-buffer () 6667(defun cperl-switch-to-doc-buffer (&optional interactive)
6668 "Go to the perl documentation buffer and insert the documentation." 6668 "Go to the perl documentation buffer and insert the documentation."
6669 (interactive) 6669 (interactive "p")
6670 (let ((buf (get-buffer-create cperl-doc-buffer))) 6670 (let ((buf (get-buffer-create cperl-doc-buffer)))
6671 (if (interactive-p) 6671 (if interactive
6672 (switch-to-buffer-other-window buf) 6672 (switch-to-buffer-other-window buf)
6673 (set-buffer buf)) 6673 (set-buffer buf))
6674 (if (= (buffer-size) 0) 6674 (if (= (buffer-size) 0)
diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el
index 3ccea967bc5..737071203e0 100644
--- a/lisp/progmodes/flymake.el
+++ b/lisp/progmodes/flymake.el
@@ -56,7 +56,7 @@
56(defun flymake-makehash(&optional test) 56(defun flymake-makehash(&optional test)
57 (cond 57 (cond
58 ((equal flymake-emacs 'xemacs) (if test (make-hash-table :test test) (make-hash-table))) 58 ((equal flymake-emacs 'xemacs) (if test (make-hash-table :test test) (make-hash-table)))
59 (t (makehash test)) 59 (t (makehash test))
60 ) 60 )
61) 61)
62 62
@@ -370,8 +370,8 @@
370 (let* ((init-f (nth 0 (flymake-get-file-name-mode-and-masks file-name)))) 370 (let* ((init-f (nth 0 (flymake-get-file-name-mode-and-masks file-name))))
371 ;(flymake-log 0 "calling %s" init-f) 371 ;(flymake-log 0 "calling %s" init-f)
372 ;(funcall init-f (current-buffer)) 372 ;(funcall init-f (current-buffer))
373 init-f
373 ) 374 )
374 (nth 0 (flymake-get-file-name-mode-and-masks file-name))
375) 375)
376 376
377(defun flymake-get-cleanup-function(file-name) 377(defun flymake-get-cleanup-function(file-name)
@@ -846,7 +846,7 @@ Whenether a buffer for master-file-name exists, use it as a source instead of re
846 (set-buffer source-buffer) 846 (set-buffer source-buffer)
847 847
848 (flymake-parse-residual source-buffer) 848 (flymake-parse-residual source-buffer)
849 (flymake-post-syntax-check source-buffer) 849 (flymake-post-syntax-check source-buffer exit-status command)
850 (flymake-set-buffer-is-running source-buffer nil) 850 (flymake-set-buffer-is-running source-buffer nil)
851 ) 851 )
852 ) 852 )
@@ -863,7 +863,7 @@ Whenether a buffer for master-file-name exists, use it as a source instead of re
863 ) 863 )
864) 864)
865 865
866(defun flymake-post-syntax-check(source-buffer) 866(defun flymake-post-syntax-check(source-buffer exit-status command)
867 "" 867 ""
868 (flymake-set-buffer-err-info source-buffer (flymake-get-buffer-new-err-info source-buffer)) 868 (flymake-set-buffer-err-info source-buffer (flymake-get-buffer-new-err-info source-buffer))
869 (flymake-set-buffer-new-err-info source-buffer nil) 869 (flymake-set-buffer-new-err-info source-buffer nil)
@@ -1220,7 +1220,33 @@ Whenether a buffer for master-file-name exists, use it as a source instead of re
1220 ) 1220 )
1221) 1221)
1222 1222
1223(eval-when-compile (require 'compile)) 1223(defun flymake-reformat-err-line-patterns-from-compile-el(original-list)
1224 "grab error line patterns from original list in compile.el format, convert to flymake internal format"
1225 (let* ((converted-list '()))
1226 (mapcar
1227 (lambda (item)
1228 (setq item (cdr item))
1229 (let ((regexp (nth 0 item))
1230 (file (nth 1 item))
1231 (line (nth 2 item))
1232 (col (nth 3 item))
1233 end-line)
1234 (if (consp file) (setq file (car file)))
1235 (if (consp line) (setq end-line (cdr line) line (car line)))
1236 (if (consp col) (setq col (car col)))
1237
1238 (when (not (functionp line))
1239 (setq converted-list (cons (list regexp file line col) converted-list))
1240 )
1241 )
1242 )
1243 original-list
1244 )
1245 converted-list
1246 )
1247)
1248
1249(require 'compile)
1224(defvar flymake-err-line-patterns ; regexp file-idx line-idx col-idx (optional) text-idx(optional), match-end to end of string is error text 1250(defvar flymake-err-line-patterns ; regexp file-idx line-idx col-idx (optional) text-idx(optional), match-end to end of string is error text
1225 (append 1251 (append
1226 '( 1252 '(
@@ -1243,9 +1269,9 @@ Whenether a buffer for master-file-name exists, use it as a source instead of re
1243 (" *\\(\\[javac\\]\\)? *\\(\\([a-zA-Z]:\\)?[^:(\t\n]+\\)\:\\([0-9]+\\)\:[ \t\n]*\\(.+\\)" 1269 (" *\\(\\[javac\\]\\)? *\\(\\([a-zA-Z]:\\)?[^:(\t\n]+\\)\:\\([0-9]+\\)\:[ \t\n]*\\(.+\\)"
1244 2 4 nil 5) 1270 2 4 nil 5)
1245 ) 1271 )
1246 ;; compilation-error-regexp-alist) 1272 ;; compilation-error-regexp-alist)
1247 (mapcar (lambda (x) (cdr x)) compilation-error-regexp-alist-alist)) 1273 (flymake-reformat-err-line-patterns-from-compile-el compilation-error-regexp-alist-alist))
1248 "patterns for matching error/warning lines, (regexp file-idx line-idx err-text-idx)" 1274 "patterns for matching error/warning lines, (regexp file-idx line-idx err-text-idx). Use flymake-reformat-err-line-patterns-from-compile-el to add patterns from compile.el"
1249) 1275)
1250;(defcustom flymake-err-line-patterns 1276;(defcustom flymake-err-line-patterns
1251; '( 1277; '(
@@ -1452,7 +1478,7 @@ Whenether a buffer for master-file-name exists, use it as a source instead of re
1452 (let* ((dir (nth idx include-dirs))) 1478 (let* ((dir (nth idx include-dirs)))
1453 (setq full-file-name (concat dir "/" rel-file-name)) 1479 (setq full-file-name (concat dir "/" rel-file-name))
1454 (when (file-exists-p full-file-name) 1480 (when (file-exists-p full-file-name)
1455 (setq done t) 1481 (setq found t)
1456 ) 1482 )
1457 ) 1483 )
1458 (setq idx (1+ idx)) 1484 (setq idx (1+ idx))
@@ -1574,7 +1600,7 @@ Whenether a buffer for master-file-name exists, use it as a source instead of re
1574 process 1600 process
1575 ) 1601 )
1576 (error 1602 (error
1577 (let ((err-str (format "Failed to launch syntax check process '%s' with args %s: %s" 1603 (let* ((err-str (format "Failed to launch syntax check process '%s' with args %s: %s"
1578 cmd args (error-message-string err))) 1604 cmd args (error-message-string err)))
1579 (source-file-name (buffer-file-name buffer)) 1605 (source-file-name (buffer-file-name buffer))
1580 (cleanup-f (flymake-get-cleanup-function source-file-name))) 1606 (cleanup-f (flymake-get-cleanup-function source-file-name)))
@@ -1905,7 +1931,8 @@ Whenether a buffer for master-file-name exists, use it as a source instead of re
1905(defun flymake-mode(&optional arg) 1931(defun flymake-mode(&optional arg)
1906 "toggle flymake-mode" 1932 "toggle flymake-mode"
1907 (interactive) 1933 (interactive)
1908 (let ((old-flymake-mode flymake-mode)) 1934 (let ((old-flymake-mode flymake-mode)
1935 (turn-on nil))
1909 1936
1910 (setq turn-on 1937 (setq turn-on
1911 (if (null arg) 1938 (if (null arg)
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el
index 64f8808c7f1..90c0a50c7dc 100644
--- a/lisp/progmodes/gdb-ui.el
+++ b/lisp/progmodes/gdb-ui.el
@@ -25,28 +25,28 @@
25 25
26;;; Commentary: 26;;; Commentary:
27 27
28;; This mode acts as a graphical user interface to GDB. You can interact with 28;; This mode acts as a graphical user interface to GDB. You can interact with
29;; GDB through the GUD buffer in the usual way, but there are also further 29;; GDB through the GUD buffer in the usual way, but there are also further
30;; buffers which control the execution and describe the state of your program. 30;; buffers which control the execution and describe the state of your program.
31;; It separates the input/output of your program from that of GDB, if 31;; It separates the input/output of your program from that of GDB, if
32;; required, and watches expressions in the speedbar. It also uses features of 32;; required, and watches expressions in the speedbar. It also uses features of
33;; Emacs 21 such as the fringe/display margin for breakpoints, and the toolbar 33;; Emacs 21 such as the fringe/display margin for breakpoints, and the toolbar
34;; (see the GDB Graphical Interface section in the Emacs info manual). 34;; (see the GDB Graphical Interface section in the Emacs info manual).
35 35
36;; Start the debugger with M-x gdba. 36;; Start the debugger with M-x gdba.
37 37
38;; This file has evolved from gdba.el from GDB 5.0 written by Tom Lord and Jim 38;; This file has evolved from gdba.el from GDB 5.0 written by Tom Lord and Jim
39;; Kingdon and uses GDB's annotation interface. You don't need to know about 39;; Kingdon and uses GDB's annotation interface. You don't need to know about
40;; annotations to use this mode as a debugger, but if you are interested 40;; annotations to use this mode as a debugger, but if you are interested
41;; developing the mode itself, then see the Annotations section in the GDB 41;; developing the mode itself, then see the Annotations section in the GDB
42;; info manual. 42;; info manual.
43;; 43;;
44;; GDB developers plan to make the annotation interface obsolete. A new 44;; GDB developers plan to make the annotation interface obsolete. A new
45;; interface called GDB/MI (machine interface) has been designed to replace 45;; interface called GDB/MI (machine interface) has been designed to replace
46;; it. Some GDB/MI commands are used in this file through the CLI command 46;; it. Some GDB/MI commands are used in this file through the CLI command
47;; 'interpreter mi <mi-command>'. A file called gdb-mi.el is included in the 47;; 'interpreter mi <mi-command>'. A file called gdb-mi.el is included in the
48;; GDB repository for future releases (6.2 onwards) that uses GDB/MI as the 48;; GDB repository for future releases (6.2 onwards) that uses GDB/MI as the
49;; primary interface to GDB. It is still under development and is part of a 49;; primary interface to GDB. It is still under development and is part of a
50;; process to migrate Emacs from annotations to GDB/MI. 50;; process to migrate Emacs from annotations to GDB/MI.
51;; 51;;
52;; Known Bugs: 52;; Known Bugs:
@@ -63,7 +63,7 @@
63(defvar gdb-current-language nil) 63(defvar gdb-current-language nil)
64(defvar gdb-view-source t "Non-nil means that source code can be viewed.") 64(defvar gdb-view-source t "Non-nil means that source code can be viewed.")
65(defvar gdb-selected-view 'source "Code type that user wishes to view.") 65(defvar gdb-selected-view 'source "Code type that user wishes to view.")
66(defvar gdb-var-list nil "List of variables in watch window") 66(defvar gdb-var-list nil "List of variables in watch window.")
67(defvar gdb-var-changed nil "Non-nil means that gdb-var-list has changed.") 67(defvar gdb-var-changed nil "Non-nil means that gdb-var-list has changed.")
68(defvar gdb-buffer-type nil) 68(defvar gdb-buffer-type nil)
69(defvar gdb-overlay-arrow-position nil) 69(defvar gdb-overlay-arrow-position nil)
@@ -85,12 +85,12 @@ other with the source file with the main routine of the inferior.
85If `gdb-many-windows' is t, regardless of the value of 85If `gdb-many-windows' is t, regardless of the value of
86`gdb-show-main', the layout below will appear unless 86`gdb-show-main', the layout below will appear unless
87`gdb-use-inferior-io-buffer' is nil when the source buffer 87`gdb-use-inferior-io-buffer' is nil when the source buffer
88occupies the full width of the frame. Keybindings are given in 88occupies the full width of the frame. Keybindings are given in
89relevant buffer. 89relevant buffer.
90 90
91Watch expressions appear in the speedbar/slowbar. 91Watch expressions appear in the speedbar/slowbar.
92 92
93The following interactive lisp functions help control operation : 93The following commands help control operation :
94 94
95`gdb-many-windows' - Toggle the number of windows gdb uses. 95`gdb-many-windows' - Toggle the number of windows gdb uses.
96`gdb-restore-windows' - To restore the window layout. 96`gdb-restore-windows' - To restore the window layout.
@@ -120,8 +120,7 @@ detailed description of this mode.
120 RET gdb-frames-select | SPC gdb-toggle-breakpoint 120 RET gdb-frames-select | SPC gdb-toggle-breakpoint
121 | RET gdb-goto-breakpoint 121 | RET gdb-goto-breakpoint
122 | d gdb-delete-breakpoint 122 | d gdb-delete-breakpoint
123--------------------------------------------------------------------- 123---------------------------------------------------------------------"
124"
125 ;; 124 ;;
126 (interactive (list (gud-query-cmdline 'gdba))) 125 (interactive (list (gud-query-cmdline 'gdba)))
127 ;; 126 ;;
@@ -134,12 +133,14 @@ detailed description of this mode.
134(defcustom gdb-enable-debug-log nil 133(defcustom gdb-enable-debug-log nil
135 "Non-nil means record the process input and output in `gdb-debug-log'." 134 "Non-nil means record the process input and output in `gdb-debug-log'."
136 :type 'boolean 135 :type 'boolean
137 :group 'gud) 136 :group 'gud
137 :version "21.4")
138 138
139(defcustom gdb-use-inferior-io-buffer nil 139(defcustom gdb-use-inferior-io-buffer nil
140 "Non-nil means display output from the inferior in a separate buffer." 140 "Non-nil means display output from the inferior in a separate buffer."
141 :type 'boolean 141 :type 'boolean
142 :group 'gud) 142 :group 'gud
143 :version "21.4")
143 144
144(defun gdb-ann3 () 145(defun gdb-ann3 ()
145 (setq gdb-debug-log nil) 146 (setq gdb-debug-log nil)
@@ -210,10 +211,10 @@ detailed description of this mode.
210 (run-hooks 'gdba-mode-hook)) 211 (run-hooks 'gdba-mode-hook))
211 212
212(defcustom gdb-use-colon-colon-notation nil 213(defcustom gdb-use-colon-colon-notation nil
213 "Non-nil means use FUNCTION::VARIABLE format to display variables in the 214 "If non-nil use FUN::VAR format to display variables in the speedbar." ;
214speedbar."
215 :type 'boolean 215 :type 'boolean
216 :group 'gud) 216 :group 'gud
217 :version "21.4")
217 218
218(defun gud-watch () 219(defun gud-watch ()
219 "Watch expression at point." 220 "Watch expression at point."
@@ -376,7 +377,7 @@ speedbar."
376 (setq gdb-var-changed t)))))) 377 (setq gdb-var-changed t))))))
377 378
378(defun gdb-edit-value (text token indent) 379(defun gdb-edit-value (text token indent)
379 "Assign a value to a variable displayed in the speedbar" 380 "Assign a value to a variable displayed in the speedbar."
380 (let* ((var (nth (- (count-lines (point-min) (point)) 2) gdb-var-list)) 381 (let* ((var (nth (- (count-lines (point-min) (point)) 2) gdb-var-list))
381 (varnum (cadr var)) (value)) 382 (varnum (cadr var)) (value))
382 (setq value (read-string "New value: ")) 383 (setq value (read-string "New value: "))
@@ -389,8 +390,8 @@ speedbar."
389 'ignore)))) 390 'ignore))))
390 391
391(defcustom gdb-show-changed-values t 392(defcustom gdb-show-changed-values t
392 "Non-nil means use font-lock-warning-face to display values that have 393 "If non-nil highlight values that have recently changed in the speedbar.
393recently changed in the speedbar." 394The highlighting is done with `font-lock-warning-face'."
394 :type 'boolean 395 :type 'boolean
395 :group 'gud) 396 :group 'gud)
396 397
@@ -422,23 +423,23 @@ INDENT is the current indentation depth."
422 "The disposition of the output of the current gdb command. 423 "The disposition of the output of the current gdb command.
423Possible values are these symbols: 424Possible values are these symbols:
424 425
425 user -- gdb output should be copied to the GUD buffer 426 `user' -- gdb output should be copied to the GUD buffer
426 for the user to see. 427 for the user to see.
427 428
428 inferior -- gdb output should be copied to the inferior-io buffer 429 `inferior' -- gdb output should be copied to the inferior-io buffer
429 430
430 pre-emacs -- output should be ignored util the post-prompt 431 `pre-emacs' -- output should be ignored util the post-prompt
431 annotation is received. Then the output-sink 432 annotation is received. Then the output-sink
432 becomes:... 433 becomes:...
433 emacs -- output should be collected in the partial-output-buffer 434 `emacs' -- output should be collected in the partial-output-buffer
434 for subsequent processing by a command. This is the 435 for subsequent processing by a command. This is the
435 disposition of output generated by commands that 436 disposition of output generated by commands that
436 gdb mode sends to gdb on its own behalf. 437 gdb mode sends to gdb on its own behalf.
437 post-emacs -- ignore output until the prompt annotation is 438 `post-emacs' -- ignore output until the prompt annotation is
438 received, then go to USER disposition. 439 received, then go to USER disposition.
439 440
440gdba (gdb-ui.el) uses all five values, gdbmi (gdb-mi.el) only two 441gdba (gdb-ui.el) uses all five values, gdbmi (gdb-mi.el) only two
441(user and emacs).") 442\(`user' and `emacs').")
442 443
443(defvar gdb-current-item nil 444(defvar gdb-current-item nil
444 "The most recent command item sent to gdb.") 445 "The most recent command item sent to gdb.")
@@ -619,7 +620,7 @@ The key should be one of the cars in `gdb-buffer-rules-assoc'."
619 620
620(defun gdb-send (proc string) 621(defun gdb-send (proc string)
621 "A comint send filter for gdb. 622 "A comint send filter for gdb.
622This filter may simply queue output for a later time." 623This filter may simply queue input for a later time."
623 (if gud-running 624 (if gud-running
624 (process-send-string proc (concat string "\n")) 625 (process-send-string proc (concat string "\n"))
625 (gdb-enqueue-input (concat string "\n")))) 626 (gdb-enqueue-input (concat string "\n"))))
@@ -660,7 +661,8 @@ This filter may simply queue output for a later time."
660(defcustom gud-gdba-command-name "gdb -annotate=3" 661(defcustom gud-gdba-command-name "gdb -annotate=3"
661 "Default command to execute an executable under the GDB-UI debugger." 662 "Default command to execute an executable under the GDB-UI debugger."
662 :type 'string 663 :type 'string
663 :group 'gud) 664 :group 'gud
665 :version "21.4")
664 666
665(defvar gdb-annotation-rules 667(defvar gdb-annotation-rules
666 '(("pre-prompt" gdb-pre-prompt) 668 '(("pre-prompt" gdb-pre-prompt)
@@ -705,25 +707,25 @@ This filter may simply queue output for a later time."
705 (setq gdb-current-item item) 707 (setq gdb-current-item item)
706 (with-current-buffer gud-comint-buffer 708 (with-current-buffer gud-comint-buffer
707 (if (eq gud-minor-mode 'gdba) 709 (if (eq gud-minor-mode 'gdba)
708 (progn 710 (if (stringp item)
709 (if (stringp item)
710 (progn
711 (setq gdb-output-sink 'user)
712 (process-send-string (get-buffer-process gud-comint-buffer) item))
713 (progn 711 (progn
714 (gdb-clear-partial-output) 712 (setq gdb-output-sink 'user)
715 (setq gdb-output-sink 'pre-emacs) 713 (process-send-string (get-buffer-process gud-comint-buffer) item))
716 (process-send-string (get-buffer-process gud-comint-buffer) 714 (progn
717 (car item))))) 715 (gdb-clear-partial-output)
718 ; case: eq gud-minor-mode 'gdbmi 716 (setq gdb-output-sink 'pre-emacs)
717 (process-send-string (get-buffer-process gud-comint-buffer)
718 (car item))))
719 ;; case: eq gud-minor-mode 'gdbmi
719 (gdb-clear-partial-output) 720 (gdb-clear-partial-output)
720 (setq gdb-output-sink 'emacs) 721 (setq gdb-output-sink 'emacs)
721 (process-send-string (get-buffer-process gud-comint-buffer) 722 (process-send-string (get-buffer-process gud-comint-buffer)
722 (car item))))) 723 (car item)))))
723 724
724(defun gdb-pre-prompt (ignored) 725(defun gdb-pre-prompt (ignored)
725 "An annotation handler for `pre-prompt'. This terminates the collection of 726 "An annotation handler for `pre-prompt'.
726output from a previous command if that happens to be in effect." 727This terminates the collection of output from a previous command if that
728happens to be in effect."
727 (let ((sink gdb-output-sink)) 729 (let ((sink gdb-output-sink))
728 (cond 730 (cond
729 ((eq sink 'user) t) 731 ((eq sink 'user) t)
@@ -761,8 +763,9 @@ This sends the next command (if any) to gdb."
761 (setq gdb-prompting t)) 763 (setq gdb-prompting t))
762 764
763(defun gdb-starting (ignored) 765(defun gdb-starting (ignored)
764 "An annotation handler for `starting'. This says that I/O for the 766 "An annotation handler for `starting'.
765subprocess is now the program being debugged, not GDB." 767This says that I/O for the subprocess is now the program being debugged,
768not GDB."
766 (let ((sink gdb-output-sink)) 769 (let ((sink gdb-output-sink))
767 (cond 770 (cond
768 ((eq sink 'user) 771 ((eq sink 'user)
@@ -773,8 +776,9 @@ subprocess is now the program being debugged, not GDB."
773 (t (error "Unexpected `starting' annotation"))))) 776 (t (error "Unexpected `starting' annotation")))))
774 777
775(defun gdb-stopping (ignored) 778(defun gdb-stopping (ignored)
776 "An annotation handler for `exited' and other annotations which say that I/O 779 "An annotation handler for `exited' and other annotations.
777for the subprocess is now GDB, not the program being debugged." 780They say that I/O for the subprocess is now GDB, not the program
781being debugged."
778 (if gdb-use-inferior-io-buffer 782 (if gdb-use-inferior-io-buffer
779 (let ((sink gdb-output-sink)) 783 (let ((sink gdb-output-sink))
780 (cond 784 (cond
@@ -792,8 +796,9 @@ for the subprocess is now GDB, not the program being debugged."
792 (t (error "Unexpected frame-begin annotation (%S)" sink))))) 796 (t (error "Unexpected frame-begin annotation (%S)" sink)))))
793 797
794(defun gdb-stopped (ignored) 798(defun gdb-stopped (ignored)
795 "An annotation handler for `stopped'. It is just like gdb-stopping, except 799 "An annotation handler for `stopped'.
796that if we already set the output sink to 'user in gdb-stopping, that is fine." 800It is just like `gdb-stopping', except that if we already set the output
801sink to `user' in `gdb-stopping', that is fine."
797 (setq gud-running nil) 802 (setq gud-running nil)
798 (let ((sink gdb-output-sink)) 803 (let ((sink gdb-output-sink))
799 (cond 804 (cond
@@ -803,8 +808,9 @@ that if we already set the output sink to 'user in gdb-stopping, that is fine."
803 (t (error "Unexpected stopped annotation"))))) 808 (t (error "Unexpected stopped annotation")))))
804 809
805(defun gdb-post-prompt (ignored) 810(defun gdb-post-prompt (ignored)
806 "An annotation handler for `post-prompt'. This begins the collection of 811 "An annotation handler for `post-prompt'.
807output from the current command if that happens to be appropriate." 812This begins the collection of output from the current command if that
813happens to be appropriate."
808 (if (not gdb-pending-triggers) 814 (if (not gdb-pending-triggers)
809 (progn 815 (progn
810 (gdb-get-current-frame) 816 (gdb-get-current-frame)
@@ -832,7 +838,7 @@ output from the current command if that happens to be appropriate."
832 (error "Phase error in gdb-post-prompt (got %s)" sink))))) 838 (error "Phase error in gdb-post-prompt (got %s)" sink)))))
833 839
834(defun gud-gdba-marker-filter (string) 840(defun gud-gdba-marker-filter (string)
835 "A gud marker filter for gdb. Handle a burst of output from GDB." 841 "A gud marker filter for gdb. Handle a burst of output from GDB."
836 (if gdb-enable-debug-log (push (cons 'recv string) gdb-debug-log)) 842 (if gdb-enable-debug-log (push (cons 'recv string) gdb-debug-log))
837 ;; Recall the left over gud-marker-acc from last time 843 ;; Recall the left over gud-marker-acc from last time
838 (setq gud-marker-acc (concat gud-marker-acc string)) 844 (setq gud-marker-acc (concat gud-marker-acc string))
@@ -1065,10 +1071,10 @@ static char *magick[] = {
1065 "PBM data used for disabled breakpoint icon.") 1071 "PBM data used for disabled breakpoint icon.")
1066 1072
1067(defvar breakpoint-enabled-icon nil 1073(defvar breakpoint-enabled-icon nil
1068 "Icon for enabled breakpoint in display margin") 1074 "Icon for enabled breakpoint in display margin.")
1069 1075
1070(defvar breakpoint-disabled-icon nil 1076(defvar breakpoint-disabled-icon nil
1071 "Icon for disabled breakpoint in display margin") 1077 "Icon for disabled breakpoint in display margin.")
1072 1078
1073;; Bitmap for breakpoint in fringe 1079;; Bitmap for breakpoint in fringe
1074(define-fringe-bitmap 'breakpoint 1080(define-fringe-bitmap 'breakpoint
@@ -1133,7 +1139,7 @@ static char *magick[] = {
1133 (if (gdb-get-buffer 'gdb-assembler-buffer) (gdb-assembler-custom))) 1139 (if (gdb-get-buffer 'gdb-assembler-buffer) (gdb-assembler-custom)))
1134 1140
1135(defun gdb-mouse-toggle-breakpoint (event) 1141(defun gdb-mouse-toggle-breakpoint (event)
1136 "Toggle breakpoint in left fringe/margin with mouse click" 1142 "Toggle breakpoint in left fringe/margin with mouse click."
1137 (interactive "e") 1143 (interactive "e")
1138 (mouse-minibuffer-check event) 1144 (mouse-minibuffer-check event)
1139 (let ((posn (event-end event))) 1145 (let ((posn (event-end event)))
@@ -1683,7 +1689,8 @@ static char *magick[] = {
1683(defcustom gdb-show-main nil 1689(defcustom gdb-show-main nil
1684 "Nil means don't display source file containing the main routine." 1690 "Nil means don't display source file containing the main routine."
1685 :type 'boolean 1691 :type 'boolean
1686 :group 'gud) 1692 :group 'gud
1693 :version "21.4")
1687 1694
1688(defun gdb-setup-windows () 1695(defun gdb-setup-windows ()
1689 "Layout the window pattern for gdb-many-windows." 1696 "Layout the window pattern for gdb-many-windows."
@@ -1718,13 +1725,14 @@ static char *magick[] = {
1718 (other-window 1)) 1725 (other-window 1))
1719 1726
1720(defcustom gdb-many-windows nil 1727(defcustom gdb-many-windows nil
1721 "Nil (the default value) means just pop up the GUD buffer 1728 "Nil means just pop up the GUD buffer unless `gdb-show-main' is t.
1722unless `gdb-show-main' is t. In this case it starts with two 1729In this case it starts with two windows: one displaying the GUD
1723windows: one displaying the GUD buffer and the other with the 1730buffer and the other with the source file with the main routine
1724source file with the main routine of the inferior. Non-nil means 1731of the inferior. Non-nil means display the layout shown for
1725display the layout shown for `gdba'." 1732`gdba'."
1726 :type 'boolean 1733 :type 'boolean
1727 :group 'gud) 1734 :group 'gud
1735 :version "21.4")
1728 1736
1729(defun gdb-many-windows (arg) 1737(defun gdb-many-windows (arg)
1730"Toggle the number of windows in the basic arrangement." 1738"Toggle the number of windows in the basic arrangement."
@@ -1760,8 +1768,8 @@ This arrangement depends on the value of `gdb-many-windows'."
1760 (other-window 1))) 1768 (other-window 1)))
1761 1769
1762(defun gdb-reset () 1770(defun gdb-reset ()
1763 "Exit a debugging session cleanly by killing the gdb buffers and resetting 1771 "Exit a debugging session cleanly.
1764 the source buffers." 1772Kills the gdb buffers and resets the source buffers."
1765 (dolist (buffer (buffer-list)) 1773 (dolist (buffer (buffer-list))
1766 (unless (eq buffer gud-comint-buffer) 1774 (unless (eq buffer gud-comint-buffer)
1767 (with-current-buffer buffer 1775 (with-current-buffer buffer
diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el
index 4d9e05109a8..7a13ddba6ed 100644
--- a/lisp/progmodes/grep.el
+++ b/lisp/progmodes/grep.el
@@ -1,7 +1,7 @@
1;;; grep.el --- run compiler as inferior of Emacs, parse error messages 1;;; grep.el --- run compiler as inferior of Emacs, parse error messages
2 2
3;; Copyright (C) 1985, 86, 87, 93, 94, 95, 96, 97, 98, 1999, 2001, 02, 2004 3;; Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4;; Free Software Foundation, Inc. 4;; 2001, 2002, 2004 Free Software Foundation, Inc.
5 5
6;; Author: Roland McGrath <roland@gnu.org> 6;; Author: Roland McGrath <roland@gnu.org>
7;; Maintainer: FSF 7;; Maintainer: FSF
@@ -252,21 +252,12 @@ Notice that using \\[next-error] or \\[compile-goto-error] modifies
252\\(?:-\\(?:\\([0-9]+\\)\\3\\)?\\.?\\([0-9]+\\)?\\)?[:) \t]" 1 (2 . 5) (4 . 6)) 252\\(?:-\\(?:\\([0-9]+\\)\\3\\)?\\.?\\([0-9]+\\)?\\)?[:) \t]" 1 (2 . 5) (4 . 6))
253 ("^\\(.+?\\)[:(]+\\([0-9]+\\)\\([:)]\\).*?\\(\033\\[01;41m\\)\\(.*?\\)\\(\033\\[00m\\)" 253 ("^\\(.+?\\)[:(]+\\([0-9]+\\)\\([:)]\\).*?\\(\033\\[01;41m\\)\\(.*?\\)\\(\033\\[00m\\)"
254 1 2 254 1 2
255 ;; Calculate column positions (beg . end) of first grep match on a line
255 ((lambda () 256 ((lambda ()
256 (setq compilation-error-screen-columns nil) 257 (setq compilation-error-screen-columns nil)
257 (- (match-beginning 5) (match-end 3) 8)) 258 (- (match-beginning 5) (match-end 3) 8))
258 . 259 .
259 (lambda () (- (match-end 5) (match-end 3) 8))) 260 (lambda () (- (match-end 5) (match-end 3) 8))))
260 nil nil
261 (4 (list 'face nil 'invisible t 'intangible t))
262 (5 (list 'face compilation-column-face))
263 (6 (list 'face nil 'invisible t 'intangible t))
264 ;; highlight other matches on the same line
265 ("\\(\033\\[01;41m\\)\\(.*?\\)\\(\033\\[00m\\)"
266 nil nil
267 (1 (list 'face nil 'invisible t 'intangible t))
268 (2 (list 'face compilation-column-face) t)
269 (3 (list 'face nil 'invisible t 'intangible t))))
270 ("^Binary file \\(.+\\) matches$" 1 nil nil 1)) 261 ("^Binary file \\(.+\\) matches$" 1 nil nil 1))
271 "Regexp used to match grep hits. See `compilation-error-regexp-alist'.") 262 "Regexp used to match grep hits. See `compilation-error-regexp-alist'.")
272 263
@@ -294,7 +285,16 @@ Notice that using \\[next-error] or \\[compile-goto-error] modifies
294 ("^Grep \\(exited abnormally\\) with code \\([0-9]+\\).*" 285 ("^Grep \\(exited abnormally\\) with code \\([0-9]+\\).*"
295 (0 '(face nil message nil help-echo nil mouse-face nil) t) 286 (0 '(face nil message nil help-echo nil mouse-face nil) t)
296 (1 compilation-warning-face) 287 (1 compilation-warning-face)
297 (2 compilation-line-face))) 288 (2 compilation-line-face))
289 ;; Highlight grep matches and delete markers
290 ("\\(\033\\[01;41m\\)\\(.*?\\)\\(\033\\[00m\\)"
291 (2 compilation-column-face)
292 ((lambda (p))
293 (progn
294 ;; Delete markers with `replace-match' because it updates
295 ;; the match-data, whereas `delete-region' would render it obsolete.
296 (replace-match "" t t nil 3)
297 (replace-match "" t t nil 1)))))
298 "Additional things to highlight in grep output. 298 "Additional things to highlight in grep output.
299This gets tacked on the end of the generated expressions.") 299This gets tacked on the end of the generated expressions.")
300 300
@@ -436,9 +436,11 @@ Set up `compilation-exit-message-function' and run `grep-setup-hook'."
436 436
437(defun grep-default-command () 437(defun grep-default-command ()
438 (let ((tag-default 438 (let ((tag-default
439 (funcall (or find-tag-default-function 439 (shell-quote-argument
440 (get major-mode 'find-tag-default-function) 440 (or (funcall (or find-tag-default-function
441 'find-tag-default))) 441 (get major-mode 'find-tag-default-function)
442 'find-tag-default))
443 "")))
442 (sh-arg-re "\\(\\(?:\"\\(?:[^\"]\\|\\\\\"\\)+\"\\|'[^']+'\\|[^\"' \t\n]\\)+\\)") 444 (sh-arg-re "\\(\\(?:\"\\(?:[^\"]\\|\\\\\"\\)+\"\\|'[^']+'\\|[^\"' \t\n]\\)+\\)")
443 (grep-default (or (car grep-history) grep-command))) 445 (grep-default (or (car grep-history) grep-command)))
444 ;; Replace the thing matching for with that around cursor. 446 ;; Replace the thing matching for with that around cursor.
@@ -460,7 +462,7 @@ Set up `compilation-exit-message-function' and run `grep-setup-hook'."
460 0 (match-beginning 2)) 462 0 (match-beginning 2))
461 " *." 463 " *."
462 (file-name-extension buffer-file-name)))) 464 (file-name-extension buffer-file-name))))
463 (replace-match (or tag-default "") t t grep-default 1)))) 465 (replace-match tag-default t t grep-default 1))))
464 466
465;;;###autoload 467;;;###autoload
466(defun grep (command-args &optional highlight-regexp) 468(defun grep (command-args &optional highlight-regexp)
diff --git a/lisp/progmodes/idlw-shell.el b/lisp/progmodes/idlw-shell.el
index ae0c43c2730..692fce0234e 100644
--- a/lisp/progmodes/idlw-shell.el
+++ b/lisp/progmodes/idlw-shell.el
@@ -1137,10 +1137,10 @@ prompt is present and if `idlwave-shell-ready' is non-nil."
1137 (goto-char save-point)) 1137 (goto-char save-point))
1138 (set-buffer save-buffer)))) 1138 (set-buffer save-buffer))))
1139 1139
1140(defun idlwave-shell-send-char (c &optional no-error) 1140(defun idlwave-shell-send-char (c &optional error)
1141 "Send one character to the shell, without a newline." 1141 "Send one character to the shell, without a newline."
1142 (interactive "cChar to send to IDL: ") 1142 (interactive "cChar to send to IDL: \np")
1143 (let ((errf (if (interactive-p) 'error 'message)) 1143 (let ((errf (if error 'error 'message))
1144 buf proc) 1144 buf proc)
1145 (if (or (not (setq buf (get-buffer (idlwave-shell-buffer)))) 1145 (if (or (not (setq buf (get-buffer (idlwave-shell-buffer))))
1146 (not (setq proc (get-buffer-process buf)))) 1146 (not (setq proc (get-buffer-process buf))))
diff --git a/lisp/progmodes/idlwave.el b/lisp/progmodes/idlwave.el
index a49f70aa0b0..a5e07049843 100644
--- a/lisp/progmodes/idlwave.el
+++ b/lisp/progmodes/idlwave.el
@@ -4231,7 +4231,7 @@ will re-read the catalog."
4231 4231
4232 4232
4233(defvar idlwave-load-rinfo-idle-timer) 4233(defvar idlwave-load-rinfo-idle-timer)
4234(defun idlwave-update-routine-info (&optional arg) 4234(defun idlwave-update-routine-info (&optional arg dont-concentrate)
4235 "Update the internal routine-info lists. 4235 "Update the internal routine-info lists.
4236These lists are used by `idlwave-routine-info' (\\[idlwave-routine-info]) 4236These lists are used by `idlwave-routine-info' (\\[idlwave-routine-info])
4237and by `idlwave-complete' (\\[idlwave-complete]) to provide information 4237and by `idlwave-complete' (\\[idlwave-complete]) to provide information
@@ -4248,10 +4248,12 @@ Scans all IDLWAVE-mode buffers of the current editing session (see
4248When an IDL shell is running, this command also queries the IDL program 4248When an IDL shell is running, this command also queries the IDL program
4249for currently compiled routines. 4249for currently compiled routines.
4250 4250
4251???Document what DONT-CONCENTRATE means???
4252
4251With prefix ARG, also reload the system and library lists. 4253With prefix ARG, also reload the system and library lists.
4252With two prefix ARG's, also rescans the library tree. 4254With two prefix ARG's, also rescans the library tree.
4253With three prefix args, dispatch asynchronous process to do the update." 4255With three prefix args, dispatch asynchronous process to do the update."
4254 (interactive "P") 4256 (interactive "P\np")
4255 ;; Stop any idle processing 4257 ;; Stop any idle processing
4256 (if (or (and (fboundp 'itimerp) 4258 (if (or (and (fboundp 'itimerp)
4257 (itimerp idlwave-load-rinfo-idle-timer)) 4259 (itimerp idlwave-load-rinfo-idle-timer))
@@ -4300,7 +4302,7 @@ With three prefix args, dispatch asynchronous process to do the update."
4300 idlwave-query-shell-for-routine-info))) 4302 idlwave-query-shell-for-routine-info)))
4301 4303
4302 (if (or (not ask-shell) 4304 (if (or (not ask-shell)
4303 (not (interactive-p))) 4305 (not dont-concentrate))
4304 ;; 1. If we are not going to ask the shell, we need to do the 4306 ;; 1. If we are not going to ask the shell, we need to do the
4305 ;; concatenation now. 4307 ;; concatenation now.
4306 ;; 2. When this function is called non-interactively, it means 4308 ;; 2. When this function is called non-interactively, it means
diff --git a/lisp/progmodes/vhdl-mode.el b/lisp/progmodes/vhdl-mode.el
index 42aabace4d2..cb2a3e2dfcc 100644
--- a/lisp/progmodes/vhdl-mode.el
+++ b/lisp/progmodes/vhdl-mode.el
@@ -6120,17 +6120,17 @@ stops due to beginning or end of buffer."
6120 (vhdl-keep-region-active) 6120 (vhdl-keep-region-active)
6121 foundp)) 6121 foundp))
6122 6122
6123(defun vhdl-beginning-of-statement (&optional count lim) 6123(defun vhdl-beginning-of-statement (&optional count lim interactive)
6124 "Go to the beginning of the innermost VHDL statement. 6124 "Go to the beginning of the innermost VHDL statement.
6125With prefix arg, go back N - 1 statements. If already at the 6125With prefix arg, go back N - 1 statements. If already at the
6126beginning of a statement then go to the beginning of the preceding 6126beginning of a statement then go to the beginning of the preceding
6127one. If within a string or comment, or next to a comment (only 6127one. If within a string or comment, or next to a comment (only
6128whitespace between), move by sentences instead of statements. 6128whitespace between), move by sentences instead of statements.
6129 6129
6130When called from a program, this function takes 2 optional args: the 6130When called from a program, this function takes 3 optional args: the
6131prefix arg, and a buffer position limit which is the farthest back to 6131prefix arg, and a buffer position limit which is the farthest back to
6132search." 6132search, and something whose meaning I don't understand."
6133 (interactive "p") 6133 (interactive "p\np")
6134 (let ((count (or count 1)) 6134 (let ((count (or count 1))
6135 (case-fold-search t) 6135 (case-fold-search t)
6136 (lim (or lim (point-min))) 6136 (lim (or lim (point-min)))
@@ -6139,7 +6139,7 @@ search."
6139 (save-excursion 6139 (save-excursion
6140 (goto-char lim) 6140 (goto-char lim)
6141 (setq state (parse-partial-sexp (point) here nil nil))) 6141 (setq state (parse-partial-sexp (point) here nil nil)))
6142 (if (and (interactive-p) 6142 (if (and interactive
6143 (or (nth 3 state) 6143 (or (nth 3 state)
6144 (nth 4 state) 6144 (nth 4 state)
6145 (looking-at (concat "[ \t]*" comment-start-skip)))) 6145 (looking-at (concat "[ \t]*" comment-start-skip))))
@@ -7531,10 +7531,10 @@ buffer."
7531 7531
7532(defun vhdl-fill-region (beg end &optional arg) 7532(defun vhdl-fill-region (beg end &optional arg)
7533 "Fill lines for a region of code." 7533 "Fill lines for a region of code."
7534 (interactive "r") 7534 (interactive "r\np")
7535 (save-excursion 7535 (save-excursion
7536 (goto-char beg) 7536 (goto-char beg)
7537 (let ((margin (if (interactive-p) (current-indentation) (current-column)))) 7537 (let ((margin (if interactive (current-indentation) (current-column))))
7538 (goto-char end) 7538 (goto-char end)
7539 (setq end (point-marker)) 7539 (setq end (point-marker))
7540 ;; remove inline comments, newlines and whitespace 7540 ;; remove inline comments, newlines and whitespace