summaryrefslogtreecommitdiff
path: root/lisp/progmodes
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/progmodes')
-rw-r--r--lisp/progmodes/cc-cmds.el17
-rw-r--r--lisp/progmodes/cc-defs.el8
-rw-r--r--lisp/progmodes/cc-engine.el10
-rw-r--r--lisp/progmodes/cc-vars.el2
-rw-r--r--lisp/progmodes/cwarn.el2
-rw-r--r--lisp/progmodes/ebnf2ps.el100
-rw-r--r--lisp/progmodes/flymake.el2
-rw-r--r--lisp/progmodes/gdb-ui.el128
-rw-r--r--lisp/progmodes/grep.el30
-rw-r--r--lisp/progmodes/gud.el27
-rw-r--r--lisp/progmodes/idlw-shell.el120
-rw-r--r--lisp/progmodes/idlwave.el7
-rw-r--r--lisp/progmodes/vhdl-mode.el42
13 files changed, 270 insertions, 225 deletions
diff --git a/lisp/progmodes/cc-cmds.el b/lisp/progmodes/cc-cmds.el
index 96924899ea3..4f9e1947738 100644
--- a/lisp/progmodes/cc-cmds.el
+++ b/lisp/progmodes/cc-cmds.el
@@ -78,8 +78,10 @@ indentation change \(in columns)."
(save-excursion
(beginning-of-line)
(looking-at (if line-cont-backslash
- "\\(\\s *\\)\\\\$"
- "\\(\\s *\\)$")))
+ ;; Don't use "\\s " - ^L doesn't count as WS
+ ;; here
+ "\\([ \t]*\\)\\\\$"
+ "\\([ \t]*\\)$")))
(<= (point) (match-end 1)))
;; Delete all whitespace after point if there's only whitespace
;; on the line, so that any code that does back-to-indentation
@@ -4236,6 +4238,7 @@ If a fill prefix is specified, it overrides all the above."
(c-collect-line-comments c-lit-limits))
c-lit-type)))
(pos (point))
+ (start-col (current-column))
(comment-text-end
(or (and (eq c-lit-type 'c)
(save-excursion
@@ -4252,6 +4255,11 @@ If a fill prefix is specified, it overrides all the above."
;;
;; If point is on the 'B' then the line will be
;; broken after "Bla b".
+ ;;
+ ;; If we have an empty comment, /* */, the next
+ ;; lot of code pushes point to the */. We fix
+ ;; this by never allowing point to end up to the
+ ;; right of where it started.
(while (and (< (current-column) (cdr fill))
(not (eolp)))
(forward-char 1))
@@ -4274,7 +4282,10 @@ If a fill prefix is specified, it overrides all the above."
((< (point) (+ (car c-lit-limits) 2))
(goto-char (+ (car c-lit-limits) 2))))
(funcall do-line-break)
- (insert-and-inherit (car fill))))
+ (insert-and-inherit (car fill))
+ (if (> (current-column) start-col)
+ (move-to-column start-col)))) ; can this hit the
+ ; middle of a TAB?
;; Inside a comment that should be broken.
(let ((comment-start comment-start)
(comment-end comment-end)
diff --git a/lisp/progmodes/cc-defs.el b/lisp/progmodes/cc-defs.el
index 1858b43f326..43fa0ab5937 100644
--- a/lisp/progmodes/cc-defs.el
+++ b/lisp/progmodes/cc-defs.el
@@ -740,7 +740,7 @@ be after it."
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; V i r t u a l S e m i c o l o n s
+;; V i r t u a l S e m i c o l o n s
;;
;; In most CC Mode languages, statements are terminated explicitly by
;; semicolons or closing braces. In some of the CC modes (currently only AWK
@@ -784,7 +784,7 @@ be after it."
;;
;; The macro `c-vsemi-status-unknown-p' will typically check the cacheing
;; scheme used by the `c-at-vsemi-p-fn', hence the name - the status is
-;; "unknown" if there is no cache entry current for the line.
+;; "unknown" if there is no cache entry current for the line.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defmacro c-at-vsemi-p (&optional pos)
@@ -1514,8 +1514,8 @@ might be present:
(i.e. the syntax class `|').
'pps-extended-state `parse-partial-sexp' returns a list with at least 10
elements, i.e. it contains the position of the start of
- the last comment or string. It's always set - CC Mode no
- longer works in emacsen without this feature.
+ the last comment or string. It's always set - CC Mode
+ no longer works in emacsen without this feature.
'posix-char-classes The regexp engine understands POSIX character classes.
'col-0-paren It's possible to turn off the ad-hoc rule that a paren
in column zero is the start of a defun.
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el
index f05d6632473..f69382c9d70 100644
--- a/lisp/progmodes/cc-engine.el
+++ b/lisp/progmodes/cc-engine.el
@@ -6256,13 +6256,13 @@ comment at the start of cc-engine.el for more info."
(catch 'knr
(while t ; go round one paren/bracket construct each time round.
- (or (c-syntactic-skip-backward "^)]}")
- (throw 'knr nil)) ; no more bpb pairs left.
+ (c-syntactic-skip-backward "^)]}")
(cond ((eq (char-before) ?\))
(setq after-rparen (point)))
- ((eq (char-before) ?\})
- (throw 'knr nil))
- (t (setq after-rparen nil))) ; "]"
+ ((eq (char-before) ?\])
+ (setq after-rparen nil))
+ (t ; either } (hit previous defun) or no more parens/brackets
+ (throw 'knr nil)))
(if after-rparen
;; We're inside a paren. Could it be our argument list....?
diff --git a/lisp/progmodes/cc-vars.el b/lisp/progmodes/cc-vars.el
index 3aac25b43ed..cbf2b44de23 100644
--- a/lisp/progmodes/cc-vars.el
+++ b/lisp/progmodes/cc-vars.el
@@ -1168,7 +1168,7 @@ OFFSET can specify an offset in several different ways:
If OFFSET is a symbol with a value binding then that value, which
must be an integer, is used as relative offset.
- If OFFSET is a vector then it's first element, which must be an
+ If OFFSET is a vector then its first element, which must be an
integer, is used as an absolute indentation column. This overrides
the previous base indentation and the relative offsets applied to
it, and it becomes the new base indentation.
diff --git a/lisp/progmodes/cwarn.el b/lisp/progmodes/cwarn.el
index b1b22ed353d..8f710bf20bc 100644
--- a/lisp/progmodes/cwarn.el
+++ b/lisp/progmodes/cwarn.el
@@ -372,7 +372,7 @@ The mode is turned if some feature is enabled for the current
(if (cwarn-is-enabled major-mode) (turn-on-cwarn-mode)))
;;;###autoload
-(define-global-minor-mode global-cwarn-mode
+(define-globalized-minor-mode global-cwarn-mode
cwarn-mode turn-on-cwarn-mode-if-enabled)
(provide 'cwarn)
diff --git a/lisp/progmodes/ebnf2ps.el b/lisp/progmodes/ebnf2ps.el
index d6c3d996774..23ba4b55f33 100644
--- a/lisp/progmodes/ebnf2ps.el
+++ b/lisp/progmodes/ebnf2ps.el
@@ -100,7 +100,7 @@ Please send all bug fixes and enhancements to
;; send the spooled images to the printer, use the command
;; `ebnf-despool'.
;;
-;; eps - The PostScript image is immediately sent to a EPS file.
+;; eps - The PostScript image is immediately sent to an EPS file.
;;
;; The spooling mechanism is the same as used by ps-print and was designed for
;; printing lots of small files to save paper that would otherwise be wasted on
@@ -807,11 +807,10 @@ Please send all bug fixes and enhancements to
;; and name this group. So when you wish to apply these settings it's only
;; needed to give the name.
;;
-;; There is also a notion of simple inheritance of style; so, if you declare
-;; that a style A inherits from a style B, all settings of B is applied first
-;; and then the settings of A is applied. This is useful when you wish to
-;; modify some aspects of an existing style, but at same time wish to keep it
-;; unmodified.
+;; There is also a notion of simple inheritance of style: if you declare that
+;; style A inherits from style B, all settings of B are applied first and then
+;; the settings of A are applied. This is useful when you wish to modify some
+;; aspects of an existing style, but at same time wish to keep it unmodified.
;;
;; See documentation for `ebnf-style-database'.
;;
@@ -1094,6 +1093,8 @@ Please send all bug fixes and enhancements to
;; Acknowledgements
;; ----------------
;;
+;; Thanks to Eli Zaretskii <eliz@gnu.org> for some doc fixes.
+;;
;; Thanks to Drew Adams <drew.adams@oracle.com> for suggestions:
;; - `ebnf-arrow-extra-width', `ebnf-arrow-scale',
;; `ebnf-production-name-p', `ebnf-stop-on-error',
@@ -2182,9 +2183,9 @@ See also `ebnf-eps-buffer'."
;;;###autoload
(defun ebnf-eps-buffer ()
- "Generate a PostScript syntactic chart image of the buffer in a EPS file.
+ "Generate a PostScript syntactic chart image of the buffer in an EPS file.
-Indeed, for each production is generated a EPS file.
+Generate an EPS file for each production in the buffer.
The EPS file name has the following form:
<PREFIX><PRODUCTION>.eps
@@ -2193,20 +2194,22 @@ The EPS file name has the following form:
The default value is \"ebnf--\".
<PRODUCTION> is the production name.
- The production name is mapped to form a valid file name.
- For example, the production name \"A/B + C\" is mapped to
- \"A_B_+_C\" and the EPS file name used is \"ebnf--A_B_+_C.eps\".
+ Some characters in the production file name are replaced to
+ produce a valid file name. For example, the production name
+ \"A/B + C\" is modified to produce \"A_B_+_C\", and the EPS
+ file name used in this case will be \"ebnf--A_B_+_C.eps\".
-WARNING: It's *NOT* asked any confirmation to override an existing file."
+WARNING: This function does *NOT* ask any confirmation to override existing
+ files."
(interactive)
(ebnf-eps-region (point-min) (point-max)))
;;;###autoload
(defun ebnf-eps-region (from to)
- "Generate a PostScript syntactic chart image of the region in a EPS file.
+ "Generate a PostScript syntactic chart image of the region in an EPS file.
-Indeed, for each production is generated a EPS file.
+Generate an EPS file for each production in the region.
The EPS file name has the following form:
<PREFIX><PRODUCTION>.eps
@@ -2215,11 +2218,13 @@ The EPS file name has the following form:
The default value is \"ebnf--\".
<PRODUCTION> is the production name.
- The production name is mapped to form a valid file name.
- For example, the production name \"A/B + C\" is mapped to
- \"A_B_+_C\" and the EPS file name used is \"ebnf--A_B_+_C.eps\".
+ Some characters in the production file name are replaced to
+ produce a valid file name. For example, the production name
+ \"A/B + C\" is modified to produce \"A_B_+_C\", and the EPS
+ file name used in this case will be \"ebnf--A_B_+_C.eps\".
-WARNING: It's *NOT* asked any confirmation to override an existing file."
+WARNING: This function does *NOT* ask any confirmation to override existing
+ files."
(interactive "r")
(let ((ebnf-eps-executing t))
(ebnf-generate-region from to 'ebnf-generate-eps)))
@@ -2231,12 +2236,12 @@ WARNING: It's *NOT* asked any confirmation to override an existing file."
;;;###autoload
(defun ebnf-syntax-directory (&optional directory)
- "Does a syntactic analysis of the files in DIRECTORY.
+ "Do a syntactic analysis of the files in DIRECTORY.
-If DIRECTORY is nil, it's used `default-directory'.
+If DIRECTORY is nil, use `default-directory'.
-The files in DIRECTORY that matches `ebnf-file-suffix-regexp' (which see) are
-processed.
+Only the files in DIRECTORY that match `ebnf-file-suffix-regexp' (which see)
+are processed.
See also `ebnf-syntax-buffer'."
(interactive
@@ -2247,7 +2252,7 @@ See also `ebnf-syntax-buffer'."
;;;###autoload
(defun ebnf-syntax-file (file &optional do-not-kill-buffer-when-done)
- "Does a syntactic analysis of the FILE.
+ "Do a syntactic analysis of the named FILE.
If optional arg DO-NOT-KILL-BUFFER-WHEN-DONE is non-nil, the buffer isn't
killed after syntax checking.
@@ -2259,14 +2264,14 @@ See also `ebnf-syntax-buffer'."
;;;###autoload
(defun ebnf-syntax-buffer ()
- "Does a syntactic analysis of the current buffer."
+ "Do a syntactic analysis of the current buffer."
(interactive)
(ebnf-syntax-region (point-min) (point-max)))
;;;###autoload
(defun ebnf-syntax-region (from to)
- "Does a syntactic analysis of a region."
+ "Do a syntactic analysis of region."
(interactive "r")
(ebnf-generate-region from to nil))
@@ -2572,23 +2577,22 @@ Where:
NAME is a symbol name style.
INHERITS is a symbol name style from which the current style inherits
- the context. If INHERITS is nil, means that there is no
- inheritance.
+ the context. If INHERITS is nil, then there is no inheritance.
- This is a simple inheritance of style; so if you declare that a
- style A inherits from a style B, all settings of B is applied
- first and then the settings of A is applied. This is useful
+ This is a simple inheritance of style: if you declare that
+ style A inherits from style B, all settings of B are applied
+ first, and then the settings of A are applied. This is useful
when you wish to modify some aspects of an existing style, but
- at same time wish to keep it unmodified.
+ at the same time wish to keep it unmodified.
VAR is a valid ebnf2ps symbol custom variable.
- See `ebnf-style-custom-list' for valid symbol variable.
+ See `ebnf-style-custom-list' for valid symbol variables.
-VALUE is a sexp which it'll be evaluated to set the value to VAR.
- So, don't forget to quote symbols and constant lists.
+VALUE is a sexp which will be evaluated to set the value of VAR.
+ Don't forget to quote symbols and constant lists.
See `default' style for an example.
-Don't handle this variable directly. Use functions `ebnf-insert-style',
+Don't use this variable directly. Use functions `ebnf-insert-style',
`ebnf-delete-style' and `ebnf-merge-style'.")
@@ -2655,7 +2659,7 @@ See `ebnf-style-database' documentation."
(defun ebnf-apply-style (style)
"Set STYLE as the current style.
-It returns the old style symbol.
+Returns the old style symbol.
See `ebnf-style-database' documentation."
(interactive "SApply style: ")
@@ -2669,7 +2673,7 @@ See `ebnf-style-database' documentation."
(defun ebnf-reset-style (&optional style)
"Reset current style.
-It returns the old style symbol.
+Returns the old style symbol.
See `ebnf-style-database' documentation."
(interactive "SReset style: ")
@@ -2679,9 +2683,11 @@ See `ebnf-style-database' documentation."
;;;###autoload
(defun ebnf-push-style (&optional style)
- "Push the current style and set STYLE as the current style.
+ "Push the current style onto a stack and set STYLE as the current style.
-It returns the old style symbol.
+Returns the old style symbol.
+
+See also `ebnf-pop-style'.
See `ebnf-style-database' documentation."
(interactive "SPush style: ")
@@ -2694,9 +2700,11 @@ See `ebnf-style-database' documentation."
;;;###autoload
(defun ebnf-pop-style ()
- "Pop a style and set it as the current style.
+ "Pop a style from the stack of pushed styles and set it as the current style.
+
+Returns the old style symbol.
-It returns the old style symbol.
+See also `ebnf-push-style'.
See `ebnf-style-database' documentation."
(interactive)
@@ -2758,7 +2766,7 @@ Each element has the following form:
PRODUCTION is the production name.
EPS-FILENAME is the EPS file name.
-It's generated during parsing and used during EPS generation.
+This is generated during parsing and used during EPS generation.
See `ebnf-eps-context' and section \"Actions in Comments\" in ebnf2ps
documentation.")
@@ -4603,9 +4611,9 @@ end
(defun ebnf-directory (fun &optional directory)
"Process files in DIRECTORY applying function FUN on each file.
-If DIRECTORY is nil, it's used `default-directory'.
+If DIRECTORY is nil, use `default-directory'.
-The files in DIRECTORY that matches `ebnf-file-suffix-regexp' (which see) are
+Only files in DIRECTORY that match `ebnf-file-suffix-regexp' (which see) are
processed."
(let ((files (directory-files (or directory default-directory)
t ebnf-file-suffix-regexp)))
@@ -4619,7 +4627,7 @@ processed."
(defun ebnf-file (fun file &optional do-not-kill-buffer-when-done)
- "Process file FILE applying function FUN.
+ "Process the named FILE applying function FUN.
If optional arg DO-NOT-KILL-BUFFER-WHEN-DONE is non-nil, the buffer isn't
killed after process termination."
@@ -4821,7 +4829,7 @@ killed after process termination."
(ebnf ebnf-bnf-parser ebnf-bnf-initialize)
(ebnfx ebnf-ebx-parser ebnf-ebx-initialize)
(dtd ebnf-dtd-parser ebnf-dtd-initialize))
- "Alist associating ebnf syntax with a parser and a initializer.")
+ "Alist associating EBNF syntax with a parser and an initializer.")
(defun ebnf-begin-job ()
diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el
index 80015795cd9..8d126c8a413 100644
--- a/lisp/progmodes/flymake.el
+++ b/lisp/progmodes/flymake.el
@@ -1626,7 +1626,7 @@ Return full-name. Names are real, not patched."
buildfile-name source-file-name)))))
(defun flymake-init-create-temp-source-and-master-buffer-copy (get-incl-dirs-f create-temp-f master-file-masks include-regexp)
- "Find master file (or buffer), create it's copy along with a copy of the source file."
+ "Find master file (or buffer), create its copy along with a copy of the source file."
(let* ((source-file-name buffer-file-name)
(temp-source-file-name (flymake-init-create-temp-buffer-copy create-temp-f))
(master-and-temp-master (flymake-create-master-file
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el
index c2811a9658a..02c65ae07df 100644
--- a/lisp/progmodes/gdb-ui.el
+++ b/lisp/progmodes/gdb-ui.el
@@ -114,7 +114,7 @@ Set to \"main\" at start if gdb-show-main is t.")
(defvar gdb-var-list nil
"List of variables in watch window.
Each element has the form (VARNUM EXPRESSION NUMCHILD TYPE VALUE STATUS FP)
-where STATUS is nil (unchanged), `changed' or `out-of-scope', FP the frame
+where STATUS is nil (`unchanged'), `changed' or `out-of-scope', FP the frame
address for root variables.")
(defvar gdb-main-file nil "Source file from which program execution begins.")
(defvar gud-old-arrow nil)
@@ -606,34 +606,31 @@ With arg, use separate IO iff arg is positive."
(setq gdb-version "6.4+"))
(gdb-init-2))
+(defmacro gdb-if-arrow (arrow-position &rest body)
+ `(if ,arrow-position
+ (let ((buffer (marker-buffer ,arrow-position)) (line))
+ (if (equal buffer (window-buffer (posn-window end)))
+ (with-current-buffer buffer
+ (when (or (equal start end)
+ (equal (posn-point start)
+ (marker-position ,arrow-position)))
+ ,@body))))))
+
(defun gdb-mouse-until (event)
"Continue running until a source line past the current line.
The destination source line can be selected either by clicking with mouse-2
on the fringe/margin or dragging the arrow with mouse-1 (default bindings)."
(interactive "e")
- (if gud-overlay-arrow-position
- (let ((start (event-start event))
- (end (event-end event))
- (buffer (marker-buffer gud-overlay-arrow-position)) (line))
- (if (not (string-match "Machine" mode-name))
- (if (equal buffer (window-buffer (posn-window end)))
- (with-current-buffer buffer
- (when (or (equal start end)
- (equal (posn-point start)
- (marker-position
- gud-overlay-arrow-position)))
- (setq line (line-number-at-pos (posn-point end)))
- (gud-call (concat "until " (number-to-string line))))))
- (if (equal (marker-buffer gdb-overlay-arrow-position)
- (window-buffer (posn-window end)))
- (when (or (equal start end)
- (equal (posn-point start)
- (marker-position
- gdb-overlay-arrow-position)))
- (save-excursion
- (goto-line (line-number-at-pos (posn-point end)))
- (forward-char 2)
- (gud-call (concat "until *%a")))))))))
+ (let ((start (event-start event))
+ (end (event-end event)))
+ (gdb-if-arrow gud-overlay-arrow-position
+ (setq line (line-number-at-pos (posn-point end)))
+ (gud-call (concat "until " (number-to-string line))))
+ (gdb-if-arrow gdb-overlay-arrow-position
+ (save-excursion
+ (goto-line (line-number-at-pos (posn-point end)))
+ (forward-char 2)
+ (gud-call (concat "until *%a"))))))
(defun gdb-mouse-jump (event)
"Set execution address/line.
@@ -642,32 +639,20 @@ on the fringe/margin or dragging the arrow with mouse-1 (default bindings).
Unlike gdb-mouse-until the destination address can be before the current
line, and no execution takes place."
(interactive "e")
- (if gud-overlay-arrow-position
- (let ((start (event-start event))
- (end (event-end event))
- (buffer (marker-buffer gud-overlay-arrow-position)) (line))
- (if (not (string-match "Machine" mode-name))
- (if (equal buffer (window-buffer (posn-window end)))
- (with-current-buffer buffer
- (when (or (equal start end)
- (equal (posn-point start)
- (marker-position
- gud-overlay-arrow-position)))
- (setq line (line-number-at-pos (posn-point end)))
- (progn (gud-call (concat "tbreak " (number-to-string line)))
- (gud-call (concat "jump " (number-to-string line)))))))
- (if (equal (marker-buffer gdb-overlay-arrow-position)
- (window-buffer (posn-window end)))
- (when (or (equal start end)
- (equal (posn-point start)
- (marker-position
- gdb-overlay-arrow-position)))
- (save-excursion
- (goto-line (line-number-at-pos (posn-point end)))
- (forward-char 2)
+ (let ((start (event-start event))
+ (end (event-end event)))
+ (gdb-if-arrow gud-overlay-arrow-position
+ (setq line (line-number-at-pos (posn-point end)))
(progn
- (gud-call (concat "tbreak *%a"))
- (gud-call (concat "jump *%a"))))))))))
+ (gud-call (concat "tbreak " (number-to-string line)))
+ (gud-call (concat "jump " (number-to-string line)))))
+ (gdb-if-arrow gdb-overlay-arrow-position
+ (save-excursion
+ (goto-line (line-number-at-pos (posn-point end)))
+ (forward-char 2)
+ (progn
+ (gud-call (concat "tbreak *%a"))
+ (gud-call (concat "jump *%a")))))))
(defcustom gdb-speedbar-auto-raise nil
"If non-nil raise speedbar every time display of watch expressions is\
@@ -739,7 +724,7 @@ With arg, enter name of variable to be watched in the minibuffer."
(match-string 2)
(match-string 4)
(if (match-string 3) (read (match-string 3)))
- nil gdb-frame-address)))
+ nil gdb-frame-address)))
(push var gdb-var-list)
(unless (string-equal
speedbar-initial-expansion-list-name "GUD")
@@ -759,7 +744,8 @@ With arg, enter name of variable to be watched in the minibuffer."
(message-box "No symbol \"%s\" in current context." expr))))
(defun gdb-speedbar-update ()
- (when (and (boundp 'speedbar-frame) (frame-live-p speedbar-frame))
+ (when (and (boundp 'speedbar-frame) (frame-live-p speedbar-frame)
+ (not (member 'gdb-speedbar-timer gdb-pending-triggers)))
;; Dummy command to update speedbar even when idle.
(gdb-enqueue-input (list "server pwd\n" 'gdb-speedbar-timer-fn))
;; Keep gdb-pending-triggers non-nil till end.
@@ -848,6 +834,19 @@ type_changed=\".*?\".*?}")
(setq gdb-pending-triggers
(delq 'gdb-var-update gdb-pending-triggers)))
+(defun gdb-var-delete-1 (varnum)
+ (gdb-enqueue-input
+ (list
+ (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer)
+ 'gdba)
+ (concat "server interpreter mi \"-var-delete " varnum "\"\n")
+ (concat "-var-delete " varnum "\n"))
+ 'ignore))
+ (setq gdb-var-list (delq var gdb-var-list))
+ (dolist (varchild gdb-var-list)
+ (if (string-match (concat (car var) "\\.") (car varchild))
+ (setq gdb-var-list (delq varchild gdb-var-list)))))
+
(defun gdb-var-delete ()
"Delete watch expression at point from the speedbar."
(interactive)
@@ -857,17 +856,7 @@ type_changed=\".*?\".*?}")
(varnum (car var)))
(if (string-match "\\." (car var))
(message-box "Can only delete a root expression")
- (gdb-enqueue-input
- (list
- (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer)
- 'gdba)
- (concat "server interpreter mi \"-var-delete " varnum "\"\n")
- (concat "-var-delete " varnum "\n"))
- 'ignore))
- (setq gdb-var-list (delq var gdb-var-list))
- (dolist (varchild gdb-var-list)
- (if (string-match (concat (car var) "\\.") (car varchild))
- (setq gdb-var-list (delq varchild gdb-var-list))))))))
+ (gdb-var-delete-1 varnum)))))
(defun gdb-var-delete-children (varnum)
"Delete children of variable object at point from the speedbar."
@@ -2154,8 +2143,9 @@ static char *magick[] = {
(kill-all-local-variables)
(setq major-mode 'gdb-frames-mode)
(setq mode-name "Frames")
- (setq gdb-stack-position nil)
+ (setq gdb-stack-position nil)
(add-to-list 'overlay-arrow-variable-list 'gdb-stack-position)
+ (setq truncate-lines t) ;; Make it easier to see overlay arrow.
(setq buffer-read-only t)
(use-local-map gdb-frames-mode-map)
(run-mode-hooks 'gdb-frames-mode-hook)
@@ -3443,16 +3433,8 @@ in_scope=\"\\(.*?\\)\".*?}")
(setcar (nthcdr 5 var) 'changed)
(setcar (nthcdr 4 var)
(read (match-string 2))))
-;; ((string-equal match "invalid")
-;; (gdb-enqueue-input
-;; (list
-;; (if (eq (buffer-local-value
-;; 'gud-minor-mode gud-comint-buffer) 'gdba)
-;; (concat "server interpreter mi \"-var-delete "
-;; varnum "\"\n")
-;; (concat "-var-delete " varnum "\n"))
-;; 'ignore)))
- )))))
+ ((string-equal match "invalid")
+ (gdb-var-delete-1 varnum)))))))
(setq gdb-pending-triggers
(delq 'gdb-var-update gdb-pending-triggers))
(gdb-speedbar-update))
diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el
index c6928768835..a0dd83fb974 100644
--- a/lisp/progmodes/grep.el
+++ b/lisp/progmodes/grep.el
@@ -150,6 +150,8 @@ The following place holders should be present in the string:
("asm" . "*.[sS]")
("m" . "[Mm]akefile*")
("l" . "[Cc]hange[Ll]og*")
+ ("tex" . "*.tex")
+ ("texi" . "*.texi")
)
"*Alist of aliases for the FILES argument to `lgrep' and `rgrep'."
:type 'alist
@@ -531,6 +533,9 @@ or \\<grep-mode-map>\\[compile-goto-error] in the grep \
output buffer, to go to the lines
where grep found matches.
+For doing a recursive `grep', see the `rgrep' command. For running
+`grep' in a specific directory, see `lgrep'.
+
This command uses a special history list for its COMMAND-ARGS, so you can
easily repeat a grep command.
@@ -654,8 +659,8 @@ substitution string. Note dynamic scoping of variables.")
files))))
;;;###autoload
-(defun lgrep (regexp &optional files)
- "Run grep, searching for REGEXP in FILES in current directory.
+(defun lgrep (regexp &optional files dir)
+ "Run grep, searching for REGEXP in FILES in directory DIR.
The search is limited to file names matching shell pattern FILES.
FILES may use abbreviations defined in `grep-files-aliases', e.g.
entering `ch' is equivalent to `*.[ch]'.
@@ -681,13 +686,16 @@ This command shares argument histories with \\[rgrep] and \\[grep]."
(list nil
(read-string "grep.el: No `grep-template' available. Press RET.")))
(t (let* ((regexp (grep-read-regexp))
- (files (grep-read-files regexp)))
- (list regexp files))))))
+ (files (grep-read-files regexp))
+ (dir (read-directory-name "In directory: "
+ nil default-directory t)))
+ (list regexp files dir))))))
(when (and (stringp regexp) (> (length regexp) 0))
(let ((command regexp))
(if (null files)
(if (string= command grep-command)
(setq command nil))
+ (setq dir (file-name-as-directory (expand-file-name dir)))
(setq command (grep-expand-template
grep-template
regexp
@@ -699,11 +707,15 @@ This command shares argument histories with \\[rgrep] and \\[grep]."
command nil nil 'grep-history))
(add-to-history 'grep-history command))))
(when command
- ;; Setting process-setup-function makes exit-message-function work
- ;; even when async processes aren't supported.
- (compilation-start (if (and grep-use-null-device null-device)
- (concat command " " null-device)
- command) 'grep-mode)))))
+ (let ((default-directory dir))
+ ;; Setting process-setup-function makes exit-message-function work
+ ;; even when async processes aren't supported.
+ (compilation-start (if (and grep-use-null-device null-device)
+ (concat command " " null-device)
+ command) 'grep-mode))
+ (if (eq next-error-last-buffer (current-buffer))
+ (setq default-directory dir))))))
+
;;;###autoload
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index b9de6fab9bb..312b7187225 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -3177,20 +3177,25 @@ class of the file (using s to separate nested class ids)."
("\\$\\(\\w+\\)" (1 font-lock-variable-name-face))
("^\\s-*\\(\\w\\(\\w\\|\\s_\\)*\\)" (1 font-lock-keyword-face))))
-;; FIXME: The keyword "end" associated with "document"
-;; should have font-lock-keyword-face (currently font-lock-doc-face).
(defvar gdb-script-font-lock-syntactic-keywords
'(("^document\\s-.*\\(\n\\)" (1 "< b"))
- ;; It would be best to change the \n in front, but it's more difficult.
("^end\\>"
- (0 (progn
- (unless (eq (match-beginning 0) (point-min))
- (put-text-property (1- (match-beginning 0)) (match-beginning 0)
- 'syntax-table (eval-when-compile
- (string-to-syntax "> b")))
- (put-text-property (1- (match-beginning 0)) (match-end 0)
- 'font-lock-multiline t)
- nil))))))
+ (0 (unless (eq (match-beginning 0) (point-min))
+ ;; We change the \n in front, which is more difficult, but results
+ ;; in better highlighting. If the doc is empty, the single \n is
+ ;; both the beginning and the end of the docstring, which can't be
+ ;; expressed in syntax-tables. Instead, we place the "> b" after
+ ;; placing the "< b", so the start marker is overwritten by the
+ ;; termination marker and in the end Emacs simply considers that
+ ;; there's no docstring at all, which is fine.
+ (put-text-property (1- (match-beginning 0)) (match-beginning 0)
+ 'syntax-table (eval-when-compile
+ (string-to-syntax "> b")))
+ ;; Make sure that rehighlighting the previous line won't erase our
+ ;; syntax-table property.
+ (put-text-property (1- (match-beginning 0)) (match-end 0)
+ 'font-lock-multiline t)
+ nil)))))
(defun gdb-script-font-lock-syntactic-face (state)
(cond
diff --git a/lisp/progmodes/idlw-shell.el b/lisp/progmodes/idlw-shell.el
index 64f359aa1e7..aa2d1b32d10 100644
--- a/lisp/progmodes/idlw-shell.el
+++ b/lisp/progmodes/idlw-shell.el
@@ -1026,7 +1026,8 @@ IDL has currently stepped.")
(setq idlwave-shell-ready nil)
(setq idlwave-shell-bp-alist nil)
(idlwave-shell-update-bp-overlays) ; Throw away old overlays
- (setq idlwave-shell-sources-alist nil)
+ (setq idlwave-shell-post-command-hook nil ;clean up any old stuff
+ idlwave-shell-sources-alist nil)
(setq idlwave-shell-default-directory default-directory)
(setq idlwave-shell-hide-output nil)
@@ -1303,7 +1304,7 @@ output to complete and the next prompt to arrive before returning
\(useful if you need an answer now\). IDL is considered ready if the
prompt is present and if `idlwave-shell-ready' is non-nil.
-If SHOW-IF-ERROR is non-nil, show the output it it contains an error
+If SHOW-IF-ERROR is non-nil, show the output if it contains an error
message, independent of what HIDE is set to."
; (setq hide nil) ; FIXME: turn this on for debugging only
@@ -2621,7 +2622,10 @@ Returns nil if unable to obtain a module name."
(widen)
(save-excursion
(if (idlwave-prev-index-position)
- (upcase (idlwave-unit-name)))))))
+ (let* ((module (idlwave-what-module))
+ (name (idlwave-make-full-name (nth 2 module) (car module)))
+ (type (nth 1 module)))
+ (list (upcase name) type)))))))
(defun idlwave-shell-clear-current-bp ()
"Remove breakpoint at current line.
@@ -2634,7 +2638,10 @@ at a breakpoint."
(defun idlwave-shell-toggle-enable-current-bp (&optional bp force
no-update)
- "Disable or enable current bp."
+ "Disable or enable current breakpoint or a breakpoint passed in BP.
+If FORCE is 'disable or 'enable, for that condition instead of
+toggling. If NO-UPDATE is non-nil, don't update the breakpoint
+list after toggling."
(interactive)
(let* ((bp (or bp (idlwave-shell-find-current-bp)))
(disabled (idlwave-shell-bp-get bp 'disabled)))
@@ -2685,22 +2692,28 @@ The command looks for an identifier near point and sets a breakpoint
for the first line of the corresponding module. If MODULE is `t', set
in the current routine."
(interactive)
- (let ((module (idlwave-fix-module-if-obj_new (idlwave-what-module))))
+ (let* ((module (idlwave-fix-module-if-obj_new (idlwave-what-module)))
+ (type (nth 1 module))
+ (name (car module))
+ (class (nth 2 module)))
(if module
(progn
(setq module (idlwave-make-full-name (nth 2 module) (car module)))
- (idlwave-shell-module-source-query module)
- (idlwave-shell-set-bp-in-module module))
+ (idlwave-shell-module-source-query module type)
+ (idlwave-shell-set-bp-in-module name type class))
(error "No identifier at point"))))
-(defun idlwave-shell-set-bp-in-module (module)
+(defun idlwave-shell-set-bp-in-module (name type class)
"Set breakpoint in module. Assumes that `idlwave-shell-sources-alist'
contains an entry for that module."
- (let ((source-file (car-safe
- (cdr-safe
- (assoc (upcase module)
- idlwave-shell-sources-alist))))
+ (let ((source-file
+ (car-safe (cdr-safe
+ (or
+ (assoc (upcase (idlwave-make-full-name class name))
+ idlwave-shell-sources-alist)
+ (nth 3 (idlwave-best-rinfo-assoc name type class
+ (idlwave-routines)))))))
buf)
(if (or (not source-file)
(not (file-regular-p source-file))
@@ -3376,12 +3389,12 @@ Queries IDL using the string in `idlwave-shell-bp-query'."
'hide))
(defun idlwave-shell-bp-get (bp &optional item)
- "Get a value for a breakpoint.
-BP has the form of elements in idlwave-shell-bp-alist. Optional
-second arg ITEM is the particular value to retrieve. ITEM can be
-'file, 'line, 'index, 'module, 'count, 'cmd, 'condition, 'disabled or
-'data. 'data returns a list of 'count, 'cmd and 'condition. Defaults
-to 'index."
+ "Get a value for a breakpoint. BP has the form of elements in
+idlwave-shell-bp-alist. Optional second arg ITEM is the
+particular value to retrieve. ITEM can be 'file, 'line, 'index,
+'module, 'count, 'cmd, 'condition, 'disabled, 'type, or
+'data. 'data returns a list of 'count, 'cmd and 'condition.
+Defaults to 'index."
(cond
;; Frame
((eq item 'line) (nth 1 (car bp)))
@@ -3393,7 +3406,12 @@ to 'index."
((eq item 'condition) (nth 2 (cdr (cdr bp))))
((eq item 'disabled) (nth 3 (cdr (cdr bp))))
;; IDL breakpoint info
- ((eq item 'module) (nth 1 (car (cdr bp))))
+ ((eq item 'module)
+ (let ((module (nth 1 (car (cdr bp)))))
+ (if (listp module) (car module) module)))
+ ((eq item 'type)
+ (let ((module (nth 1 (car (cdr bp)))))
+ (if (listp module) (nth 1 module))))
;; index - default
(t (nth 0 (car (cdr bp))))))
@@ -3486,7 +3504,9 @@ If BP frame is in `idlwave-shell-bp-alist' updates the breakpoint data."
and third args, DATA and MODULE, are optional. Returns a breakpoint
of the format used in `idlwave-shell-bp-alist'. Can be used in commands
attempting match a breakpoint in `idlwave-shell-bp-alist'."
- (cons frame (cons (list nil module) data)))
+ (cons frame ;; (file line)
+ (cons (list nil module) ;; (index_id (module type) | module)
+ data))) ;; (count command condition disabled)
(defvar idlwave-shell-old-bp nil
"List of breakpoints previous to setting a new breakpoint.")
@@ -3522,20 +3542,24 @@ specified. If NO-SHOW is non-nil, don't do any updating."
'hide)
;; Get sources for this routine in the sources list
- (idlwave-shell-module-source-query (idlwave-shell-bp-get bp 'module))
+ (idlwave-shell-module-source-query (idlwave-shell-bp-get bp 'module)
+ (idlwave-shell-bp-get bp 'type))
(let*
- ((arg (idlwave-shell-bp-get bp 'count))
- (key (cond
- ((not (and arg (numberp arg))) "")
- ((= arg 1)
- ",/once")
- ((> arg 1)
- (format ",after=%d" arg))))
+ ((count (idlwave-shell-bp-get bp 'count))
(condition (idlwave-shell-bp-get bp 'condition))
(disabled (idlwave-shell-bp-get bp 'disabled))
- (key (concat key
- (if condition (concat ",CONDITION=\"" condition "\""))))
- (key (concat key (if disabled ",/DISABLE")))
+ (key (concat (if (and count (numberp count))
+ (cond
+ ((= count 1) ",/once")
+ ((> count 1) (format ",after=%d" count))))
+ (if condition (concat ",CONDITION=\"" condition "\""))
+ ;; IDL can't simultaneously set a condition/count
+ ;; and disable a breakpoint, but it does keep both
+ ;; of these when resetting the same BP. We assume
+ ;; DISABLE and CONDITION/COUNT are not set
+ ;; together for a newly created breakpoint.
+ (if (and disabled (not condition) (not count))
+ ",/DISABLE")))
(line (idlwave-shell-bp-get bp 'line)))
(idlwave-shell-send-command
(concat "breakpoint,'"
@@ -3936,30 +3960,31 @@ Elements of the alist have the form:
(module name . (source-file-truename idlwave-internal-filename)).")
-(defun idlwave-shell-module-source-query (module)
- "Determine the source file for a given module."
+(defun idlwave-shell-module-source-query (module &optional type)
+ "Determine the source file for a given module.
+Query as a function if TYPE set to something beside 'pro."
(if module
(idlwave-shell-send-command
- (format "print,(routine_info('%s',/SOURCE)).PATH" module)
+ (format "print,(routine_info('%s',/SOURCE%s)).PATH" module
+ (if (eq type 'pro) "" ",/FUNCTIONS"))
`(idlwave-shell-module-source-filter ,module)
- 'hide)))
+ 'hide 'wait)))
(defun idlwave-shell-module-source-filter (module)
"Get module source, and update idlwave-shell-sources-alist."
(let ((old (assoc (upcase module) idlwave-shell-sources-alist))
filename)
- (if (string-match "\.PATH *[\n\r]\\([^\r\n]+\\)[\n\r]"
- idlwave-shell-command-output)
- (setq filename (substring idlwave-shell-command-output
- (match-beginning 1) (match-end 1)))
- (error "No file matching module found."))
- (if old
- (setcdr old (list (idlwave-shell-file-name filename) filename))
- (setq idlwave-shell-sources-alist
- (append idlwave-shell-sources-alist
- (list (cons (upcase module)
- (list (idlwave-shell-file-name filename)
- filename))))))))
+ (when (string-match "\.PATH *[\n\r]\\([^%][^\r\n]+\\)[\n\r]"
+ idlwave-shell-command-output)
+ (setq filename (substring idlwave-shell-command-output
+ (match-beginning 1) (match-end 1)))
+ (if old
+ (setcdr old (list (idlwave-shell-file-name filename) filename))
+ (setq idlwave-shell-sources-alist
+ (append idlwave-shell-sources-alist
+ (list (cons (upcase module)
+ (list (idlwave-shell-file-name filename)
+ filename)))))))))
(defun idlwave-shell-sources-query ()
"Determine source files for all IDL compiled procedures.
@@ -4101,6 +4126,7 @@ Otherwise, just expand the file name."
;(define-key idlwave-shell-mode-map "\M-?" 'comint-dynamic-list-completions)
;(define-key idlwave-shell-mode-map "\t" 'comint-dynamic-complete)
+
(define-key idlwave-shell-mode-map "\C-w" 'comint-kill-region)
(define-key idlwave-shell-mode-map "\t" 'idlwave-shell-complete)
(define-key idlwave-shell-mode-map "\M-\t" 'idlwave-shell-complete)
diff --git a/lisp/progmodes/idlwave.el b/lisp/progmodes/idlwave.el
index b5b1e055465..c4349e9c092 100644
--- a/lisp/progmodes/idlwave.el
+++ b/lisp/progmodes/idlwave.el
@@ -3497,8 +3497,7 @@ if `idlwave-auto-fill-split-string' is non-nil."
(save-excursion
(end-of-line 0)
;; Indent the split line
- (idlwave-indent-line)
- )
+ (idlwave-indent-line))
(if (save-excursion
(beginning-of-line)
(looking-at idlwave-comment-line-start-skip))
@@ -4843,7 +4842,9 @@ Gets set in cached XML rinfo, or `idlw-rinfo.el'.")
(defun idlwave-xml-create-sysvar-alist (xml-entry)
;; Create a sysvar list entry from the xml parsed list.
(let* ((nameblock (nth 1 xml-entry))
- (sysvar (substring (cdr (assq 'name nameblock)) 1))
+ (name (cdr (assq 'name nameblock)))
+ (sysvar (substring name (progn (string-match "^ *!" name)
+ (match-end 0))))
(link (cdr (assq 'link nameblock)))
(params (cddr xml-entry))
(case-fold-search t)
diff --git a/lisp/progmodes/vhdl-mode.el b/lisp/progmodes/vhdl-mode.el
index dbd8e2b080d..2d7bbd79c6b 100644
--- a/lisp/progmodes/vhdl-mode.el
+++ b/lisp/progmodes/vhdl-mode.el
@@ -1147,7 +1147,7 @@ default setting as example)."
(concat
"*Specifies how the name for the components package is obtained.
The components package is a package containing all component declarations for
-the current design. It's name can be obtained by modifying the project name
+the current design. Its name can be obtained by modifying the project name
\(e.g. attaching or stripping off a substring). If no project is defined, the
DIRECTORY entry is chosen."
vhdl-name-doc-string)
@@ -2434,7 +2434,7 @@ conversion."
(insert-file-contents filename t)))
(defun vhdl-sort-alist (alist)
- "Sort alist."
+ "Sort ALIST."
(sort alist (function (lambda (a b) (string< (car a) (car b))))))
(defun vhdl-get-subdirs (directory)
@@ -5239,7 +5239,7 @@ Return a valid value only."
(defun vhdl-set-offset (symbol offset &optional add-p)
"Change the value of a syntactic element symbol in `vhdl-offsets-alist'.
SYMBOL is the syntactic element symbol to change and OFFSET is the new
-offset for that syntactic element. Optional ADD says to add SYMBOL to
+offset for that syntactic element. Optional ADD-P says to add SYMBOL to
`vhdl-offsets-alist' if it doesn't already appear there."
(interactive
(let* ((langelem
@@ -5765,7 +5765,7 @@ keyword."
"If the word at the current position corresponds to an \"end\"
keyword, then return a vector containing enough information to find
the corresponding \"begin\" keyword, else return nil. The keyword to
-search backward for is aref 0. The column in which the keyword must
+search backward for is aref 0. The column in which the keyword must
appear is aref 1 or nil if any column is suitable. The supplementary
keyword to search forward for is aref 2 or nil if this is not
required. If aref 3 is t, then the \"begin\" keyword may be found in
@@ -6424,8 +6424,8 @@ statement if already at the beginning of one."
;; Defuns for calculating the current syntactic state:
(defun vhdl-get-library-unit (bod placeholder)
- "If there is an enclosing library unit at bod, with it's \"begin\"
-keyword at placeholder, then return the library unit type."
+ "If there is an enclosing library unit at BOD, with its \"begin\"
+keyword at PLACEHOLDER, then return the library unit type."
(let ((here (vhdl-point 'bol)))
(if (save-excursion
(goto-char placeholder)
@@ -6448,7 +6448,7 @@ keyword at placeholder, then return the library unit type."
(defun vhdl-get-block-state (&optional lim)
"Finds and records all the closest opens.
-lim is the furthest back we need to search (it should be the
+LIM is the furthest back we need to search (it should be the
previous libunit keyword)."
(let ((here (point))
(lim (or lim (point-min)))
@@ -6514,8 +6514,8 @@ previous libunit keyword)."
(defun vhdl-skip-case-alternative (&optional lim)
"Skip forward over case/when bodies, with optional maximal
-limit. If no next case alternative is found, nil is returned and point
-is not moved."
+limit. If no next case alternative is found, nil is returned and
+point is not moved."
(let ((lim (or lim (point-max)))
(here (point))
donep foundp)
@@ -6541,7 +6541,7 @@ is not moved."
(defun vhdl-backward-skip-label (&optional lim)
"Skip backward over a label, with optional maximal
-limit. If label is not found, nil is returned and point
+limit. If label is not found, nil is returned and point
is not moved."
(let ((lim (or lim (point-min)))
placeholder)
@@ -7306,9 +7306,9 @@ indentation is done before aligning."
(defun vhdl-align-region-2 (begin end match &optional substr spacing)
"Align a range of lines from BEGIN to END. The regular expression
-MATCH must match exactly one fields: the whitespace to be
+MATCH must match exactly one field: the whitespace to be
contracted/expanded. The alignment column will equal the
-rightmost column of the widest whitespace block. SPACING is
+rightmost column of the widest whitespace block. SPACING is
the amount of extra spaces to add to the calculated maximum required.
SPACING defaults to 1 so that at least one space is inserted after
the token in MATCH."
@@ -8101,7 +8101,7 @@ Turn on if ARG positive, turn off if ARG negative, toggle if ARG zero or nil."
(defun vhdl-electric-dash (count)
"-- starts a comment, --- draws a horizontal line,
----- starts a display comment"
+---- starts a display comment."
(interactive "p")
(if (and vhdl-stutter-mode (not (vhdl-in-literal)))
(cond
@@ -10448,7 +10448,7 @@ with double-quotes is to be inserted. DEFAULT specifies a default string."
(if vhdl-upper-case-keywords (upcase keyword) (downcase keyword)))
(defun vhdl-case-word (num)
- "Adjust case or following NUM words."
+ "Adjust case of following NUM words."
(if vhdl-upper-case-keywords (upcase-word num) (downcase-word num)))
(defun vhdl-minibuffer-tab (&optional prefix-arg)
@@ -10586,7 +10586,7 @@ else insert tab (used for word completion in VHDL minibuffer)."
(defun vhdl-hooked-abbrev (func)
"Do function, if syntax says abbrev is a keyword, invoked by hooked abbrev,
-but not if inside a comment or quote)."
+but not if inside a comment or quote."
(if (or (vhdl-in-literal)
(save-excursion
(forward-word -1)
@@ -12083,8 +12083,8 @@ expressions (e.g. for index ranges of types and signals)."
;; Case fixing
(defun vhdl-fix-case-region-1 (beg end upper-case word-regexp &optional count)
- "Convert all words matching word-regexp in region to lower or upper case,
-depending on parameter upper-case."
+ "Convert all words matching WORD-REGEXP in region to lower or upper case,
+depending on parameter UPPER-CASE."
(let ((case-replace nil)
(last-update 0))
(vhdl-prepare-search-2
@@ -12463,7 +12463,7 @@ File statistics: \"%s\"\n\
"Regexp to match start of construct to hide.")
(defun vhdl-hs-forward-sexp-func (count)
- "Find end of construct to hide (for hideshow). Only searches forward."
+ "Find end of construct to hide (for hideshow). Only searches forward."
(let ((pos (point)))
(vhdl-prepare-search-2
(beginning-of-line)
@@ -12586,7 +12586,7 @@ File statistics: \"%s\"\n\
(goto-char end))))))
(defun vhdl-font-lock-match-item (limit)
- "Match, and move over, any declaration item after point. Adapted from
+ "Match, and move over, any declaration item after point. Adapted from
`font-lock-match-c-style-declaration-item-and-skip-to-next'."
(condition-case nil
(save-restriction
@@ -13130,7 +13130,7 @@ hierarchy otherwise.")
(defun vhdl-scan-directory-contents (name &optional project update num-string
non-final)
- "Scan contents of VHDL files in directory or file pattern DIR-NAME."
+ "Scan contents of VHDL files in directory or file pattern NAME."
(string-match "\\(.*[/\\]\\)\\(.*\\)" name)
; (unless (file-directory-p (match-string 1 name))
; (message "No such directory: \"%s\"" (match-string 1 name)))
@@ -14172,7 +14172,7 @@ if required."
)
(defun vhdl-speedbar-insert-project-hierarchy (project indent &optional rescan)
- "Insert hierarchy of project. Rescan directories if RESCAN is non-nil,
+ "Insert hierarchy of PROJECT. Rescan directories if RESCAN is non-nil,
otherwise use cached data."
(when (or rescan (and (not (assoc project vhdl-file-alist))
(not (vhdl-load-cache project))))