aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/progmodes
diff options
context:
space:
mode:
authorKaroly Lorentey2005-10-09 20:00:17 +0000
committerKaroly Lorentey2005-10-09 20:00:17 +0000
commit0ff21b4e57b1dc7c714c21c9eea1a4906630ecf2 (patch)
tree3e8596405b243531128cd0f1d8f59d2ab9e7f7c7 /lisp/progmodes
parenta3c07f683d1f9fbf7c7af0120dfebc5fc34b61fa (diff)
parent20ef86730cca82a1a2e212a665c0b119ed2d70b2 (diff)
downloademacs-0ff21b4e57b1dc7c714c21c9eea1a4906630ecf2.tar.gz
emacs-0ff21b4e57b1dc7c714c21c9eea1a4906630ecf2.zip
Merged from miles@gnu.org--gnu-2005 (patch 118-132, 551-577)
Patches applied: * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-551 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-552 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-553 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-554 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-555 Remove CVS keywords from newsticker files * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-556 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-557 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-558 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-559 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-560 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-561 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-562 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-563 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-564 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-565 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-566 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-567 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-568 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-569 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-570 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-571 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-572 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-573 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-574 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-575 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-576 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-577 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-118 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-119 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-120 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-121 Merge from emacs--cvs-trunk--0 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-122 Update from CVS: lisp/mm-url.el (mm-url-decode-entities): Fix regexp. * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-123 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-124 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-125 Merge from emacs--cvs-trunk--0 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-126 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-127 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-128 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-129 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-130 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-131 Merge from emacs--cvs-trunk--0 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-132 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-423
Diffstat (limited to 'lisp/progmodes')
-rw-r--r--lisp/progmodes/ada-mode.el26
-rw-r--r--lisp/progmodes/ada-xref.el2
-rw-r--r--lisp/progmodes/cc-cmds.el4
-rw-r--r--lisp/progmodes/cc-mode.el8
-rw-r--r--lisp/progmodes/cc-styles.el51
-rw-r--r--lisp/progmodes/cmacexp.el4
-rw-r--r--lisp/progmodes/compile.el45
-rw-r--r--lisp/progmodes/ebnf2ps.el6
-rw-r--r--lisp/progmodes/ebrowse.el2
-rw-r--r--lisp/progmodes/etags.el4
-rw-r--r--lisp/progmodes/flymake.el2
-rw-r--r--lisp/progmodes/gdb-ui.el78
-rw-r--r--lisp/progmodes/glasses.el17
-rw-r--r--lisp/progmodes/gud.el2
-rw-r--r--lisp/progmodes/idlw-shell.el4
-rw-r--r--lisp/progmodes/idlwave.el4
-rw-r--r--lisp/progmodes/pascal.el2
-rw-r--r--lisp/progmodes/ps-mode.el2
-rw-r--r--lisp/progmodes/python.el6
-rw-r--r--lisp/progmodes/scheme.el73
-rw-r--r--lisp/progmodes/sh-script.el14
-rw-r--r--lisp/progmodes/vhdl-mode.el60
22 files changed, 274 insertions, 142 deletions
diff --git a/lisp/progmodes/ada-mode.el b/lisp/progmodes/ada-mode.el
index 3b6a6d611d2..6a6d63a169a 100644
--- a/lisp/progmodes/ada-mode.el
+++ b/lisp/progmodes/ada-mode.el
@@ -1539,7 +1539,7 @@ word itself has a special casing."
1539 1539
1540 (ada-save-exceptions-to-file file-name) 1540 (ada-save-exceptions-to-file file-name)
1541 1541
1542 (message (concat "Defining " word " as a casing exception")))) 1542 (message "%s" (concat "Defining " word " as a casing exception"))))
1543 1543
1544(defun ada-case-read-exceptions-from-file (file-name) 1544(defun ada-case-read-exceptions-from-file (file-name)
1545 "Read the content of the casing exception file FILE-NAME." 1545 "Read the content of the casing exception file FILE-NAME."
@@ -2191,17 +2191,17 @@ This function is intended to be bound to the C-m and C-j keys."
2191 2191
2192 (if (equal (cdr cur-indent) '(0)) 2192 (if (equal (cdr cur-indent) '(0))
2193 (message (concat "same indentation as line " (number-to-string line))) 2193 (message (concat "same indentation as line " (number-to-string line)))
2194 (message (mapconcat (lambda(x) 2194 (message "%s" (mapconcat (lambda(x)
2195 (cond 2195 (cond
2196 ((symbolp x) 2196 ((symbolp x)
2197 (symbol-name x)) 2197 (symbol-name x))
2198 ((numberp x) 2198 ((numberp x)
2199 (number-to-string x)) 2199 (number-to-string x))
2200 ((listp x) 2200 ((listp x)
2201 (concat "- " (symbol-name (cadr x)))) 2201 (concat "- " (symbol-name (cadr x))))
2202 )) 2202 ))
2203 (cdr cur-indent) 2203 (cdr cur-indent)
2204 " + ")))) 2204 " + "))))
2205 (save-excursion 2205 (save-excursion
2206 (goto-char (car cur-indent)) 2206 (goto-char (car cur-indent))
2207 (sit-for 1)))) 2207 (sit-for 1))))
@@ -2214,7 +2214,7 @@ command like:
2214 2214
2215 (while command-line-args-left 2215 (while command-line-args-left
2216 (let ((source (car command-line-args-left))) 2216 (let ((source (car command-line-args-left)))
2217 (message (concat "formating " source)) 2217 (message "Formating %s" source)
2218 (find-file source) 2218 (find-file source)
2219 (ada-indent-region (point-min) (point-max)) 2219 (ada-indent-region (point-min) (point-max))
2220 (ada-adjust-case-buffer) 2220 (ada-adjust-case-buffer)
diff --git a/lisp/progmodes/ada-xref.el b/lisp/progmodes/ada-xref.el
index 74b5694e8c3..241296d8f67 100644
--- a/lisp/progmodes/ada-xref.el
+++ b/lisp/progmodes/ada-xref.el
@@ -325,7 +325,7 @@ replaced by the name including the extension."
325 ;; Check if there is an environment variable with the same name 325 ;; Check if there is an environment variable with the same name
326 (if (null value) 326 (if (null value)
327 (if (not (setq value (getenv name))) 327 (if (not (setq value (getenv name)))
328 (message (concat "No environment variable " name " found")))) 328 (message "%s" (concat "No environment variable " name " found"))))
329 329
330 (cond 330 (cond
331 ((null value) 331 ((null value)
diff --git a/lisp/progmodes/cc-cmds.el b/lisp/progmodes/cc-cmds.el
index 039ef3ccebf..42808c3e307 100644
--- a/lisp/progmodes/cc-cmds.el
+++ b/lisp/progmodes/cc-cmds.el
@@ -907,7 +907,8 @@ is nil."
907 ;; be most disruptive. We'll blink it ourselves 907 ;; be most disruptive. We'll blink it ourselves
908 ;; afterwards. 908 ;; afterwards.
909 (old-blink-paren blink-paren-function) 909 (old-blink-paren blink-paren-function)
910 blink-paren-function) 910 blink-paren-function
911 (noblink (eq last-input-event ?\()))
911 (self-insert-command (prefix-numeric-value arg)) 912 (self-insert-command (prefix-numeric-value arg))
912 (if c-syntactic-indentation 913 (if c-syntactic-indentation
913 (indent-according-to-mode)) 914 (indent-according-to-mode))
@@ -982,6 +983,7 @@ is nil."
982 (delete-region beg end)))) 983 (delete-region beg end))))
983 (and (not executing-kbd-macro) 984 (and (not executing-kbd-macro)
984 old-blink-paren 985 old-blink-paren
986 (not noblink)
985 (funcall old-blink-paren)))))) 987 (funcall old-blink-paren))))))
986 988
987(defun c-electric-continued-statement () 989(defun c-electric-continued-statement ()
diff --git a/lisp/progmodes/cc-mode.el b/lisp/progmodes/cc-mode.el
index 8f5670ed57b..63c6aad3aa1 100644
--- a/lisp/progmodes/cc-mode.el
+++ b/lisp/progmodes/cc-mode.el
@@ -395,11 +395,6 @@ that requires a literal mode spec at compile time."
395 (make-local-variable 'comment-end) 395 (make-local-variable 'comment-end)
396 (make-local-variable 'comment-start-skip) 396 (make-local-variable 'comment-start-skip)
397 (make-local-variable 'comment-multi-line) 397 (make-local-variable 'comment-multi-line)
398 (make-local-variable 'paragraph-start)
399 (make-local-variable 'paragraph-separate)
400 (make-local-variable 'paragraph-ignore-fill-prefix)
401 (make-local-variable 'adaptive-fill-mode)
402 (make-local-variable 'adaptive-fill-regexp)
403 398
404 ;; now set their values 399 ;; now set their values
405 (setq parse-sexp-ignore-comments t 400 (setq parse-sexp-ignore-comments t
@@ -519,6 +514,7 @@ This does not load the font-lock package. Use after
519 nil nil 514 nil nil
520 ,c-identifier-syntax-modifications 515 ,c-identifier-syntax-modifications
521 c-beginning-of-syntax 516 c-beginning-of-syntax
517 (font-lock-lines-before . 1)
522 (font-lock-mark-block-function 518 (font-lock-mark-block-function
523 . c-mark-function))) 519 . c-mark-function)))
524 (add-hook 'font-lock-mode-hook 'c-after-font-lock-init nil t)) 520 (add-hook 'font-lock-mode-hook 'c-after-font-lock-init nil t))
@@ -1179,5 +1175,5 @@ Key bindings:
1179 1175
1180(cc-provide 'cc-mode) 1176(cc-provide 'cc-mode)
1181 1177
1182;;; arch-tag: 7825e5c4-fd09-439f-a04d-4c13208ba3d7 1178;; arch-tag: 7825e5c4-fd09-439f-a04d-4c13208ba3d7
1183;;; cc-mode.el ends here 1179;;; cc-mode.el ends here
diff --git a/lisp/progmodes/cc-styles.el b/lisp/progmodes/cc-styles.el
index f0a7a2c4b7c..f20eb8e57de 100644
--- a/lisp/progmodes/cc-styles.el
+++ b/lisp/progmodes/cc-styles.el
@@ -498,33 +498,34 @@ variables."
498 (let ((comment-line-prefix 498 (let ((comment-line-prefix
499 (concat "[ \t]*\\(" c-current-comment-prefix "\\)[ \t]*"))) 499 (concat "[ \t]*\\(" c-current-comment-prefix "\\)[ \t]*")))
500 500
501 (setq paragraph-start (concat comment-line-prefix 501 (set (make-local-variable 'paragraph-start)
502 c-paragraph-start 502 (concat comment-line-prefix
503 "\\|" 503 c-paragraph-start
504 page-delimiter) 504 "\\|"
505 paragraph-separate (concat comment-line-prefix 505 page-delimiter))
506 c-paragraph-separate 506 (set (make-local-variable 'paragraph-separate)
507 "\\|" 507 (concat comment-line-prefix
508 page-delimiter) 508 c-paragraph-separate
509 paragraph-ignore-fill-prefix t 509 "\\|"
510 adaptive-fill-mode t 510 page-delimiter))
511 adaptive-fill-regexp 511 (set (make-local-variable 'paragraph-ignore-fill-prefix) t)
512 (concat comment-line-prefix 512 (set (make-local-variable 'adaptive-fill-mode) t)
513 (if (default-value 'adaptive-fill-regexp) 513 (set (make-local-variable 'adaptive-fill-regexp)
514 (concat "\\(" 514 (concat comment-line-prefix
515 (default-value 'adaptive-fill-regexp) 515 (if (default-value 'adaptive-fill-regexp)
516 "\\)") 516 (concat "\\("
517 ""))) 517 (default-value 'adaptive-fill-regexp)
518 "\\)")
519 "")))
518 520
519 (when (boundp 'adaptive-fill-first-line-regexp) 521 (when (boundp 'adaptive-fill-first-line-regexp)
520 ;; XEmacs (20.x) adaptive fill mode doesn't have this. 522 ;; XEmacs (20.x) adaptive fill mode doesn't have this.
521 (make-local-variable 'adaptive-fill-first-line-regexp) 523 (set (make-local-variable 'adaptive-fill-first-line-regexp)
522 (setq adaptive-fill-first-line-regexp 524 (concat "\\`" comment-line-prefix
523 (concat "\\`" comment-line-prefix 525 ;; Maybe we should incorporate the old value here,
524 ;; Maybe we should incorporate the old value here, 526 ;; but then we have to do all sorts of kludges to
525 ;; but then we have to do all sorts of kludges to 527 ;; deal with the \` and \' it probably contains.
526 ;; deal with the \` and \' it probably contains. 528 "\\'")))))
527 "\\'")))))
528 529
529 530
530;; Helper for setting up Filladapt mode. It's not used by CC Mode itself. 531;; Helper for setting up Filladapt mode. It's not used by CC Mode itself.
@@ -626,5 +627,5 @@ any reason to call this function directly."
626 627
627(cc-provide 'cc-styles) 628(cc-provide 'cc-styles)
628 629
629;;; arch-tag: c764f61a-96ba-484a-a68f-101c0e9d5d2c 630;; arch-tag: c764f61a-96ba-484a-a68f-101c0e9d5d2c
630;;; cc-styles.el ends here 631;;; cc-styles.el ends here
diff --git a/lisp/progmodes/cmacexp.el b/lisp/progmodes/cmacexp.el
index e2bcf984586..b3051f37b9d 100644
--- a/lisp/progmodes/cmacexp.el
+++ b/lisp/progmodes/cmacexp.el
@@ -346,13 +346,13 @@ Optional arg DISPLAY non-nil means show messages in the echo area."
346 (format "\n#line %d \"%s\"\n" startlinenum filename))) 346 (format "\n#line %d \"%s\"\n" startlinenum filename)))
347 347
348 ;; Call the preprocessor. 348 ;; Call the preprocessor.
349 (if display (message mymsg)) 349 (if display (message "%s" mymsg))
350 (setq exit-status 350 (setq exit-status
351 (call-process-region 1 (point-max) 351 (call-process-region 1 (point-max)
352 shell-file-name 352 shell-file-name
353 t (list t tempname) nil "-c" 353 t (list t tempname) nil "-c"
354 cppcommand)) 354 cppcommand))
355 (if display (message (concat mymsg "done"))) 355 (if display (message "%s" (concat mymsg "done")))
356 (if (= (buffer-size) 0) 356 (if (= (buffer-size) 0)
357 ;; Empty output is normal after a fatal error. 357 ;; Empty output is normal after a fatal error.
358 (insert "\nPreprocessor produced no output\n") 358 (insert "\nPreprocessor produced no output\n")
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index f29051ab0b0..269fbeaf137 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -490,7 +490,7 @@ starting the compilation process.")
490(defface compilation-error 490(defface compilation-error
491 '((t :inherit font-lock-warning-face)) 491 '((t :inherit font-lock-warning-face))
492 "Face used to highlight compiler errors." 492 "Face used to highlight compiler errors."
493 :group 'font-lock-highlighting-faces 493 :group 'compilation
494 :version "22.1") 494 :version "22.1")
495 495
496(defface compilation-warning 496(defface compilation-warning
@@ -498,7 +498,7 @@ starting the compilation process.")
498 (((class color)) (:foreground "cyan" :weight bold)) 498 (((class color)) (:foreground "cyan" :weight bold))
499 (t (:weight bold))) 499 (t (:weight bold)))
500 "Face used to highlight compiler warnings." 500 "Face used to highlight compiler warnings."
501 :group 'font-lock-highlighting-faces 501 :group 'compilation
502 :version "22.1") 502 :version "22.1")
503 503
504(defface compilation-info 504(defface compilation-info
@@ -511,19 +511,19 @@ starting the compilation process.")
511 (((class color)) (:foreground "green" :weight bold)) 511 (((class color)) (:foreground "green" :weight bold))
512 (t (:weight bold))) 512 (t (:weight bold)))
513 "Face used to highlight compiler information." 513 "Face used to highlight compiler information."
514 :group 'font-lock-highlighting-faces 514 :group 'compilation
515 :version "22.1") 515 :version "22.1")
516 516
517(defface compilation-line-number 517(defface compilation-line-number
518 '((t :inherit font-lock-variable-name-face)) 518 '((t :inherit font-lock-variable-name-face))
519 "Face for displaying line numbers in compiler messages." 519 "Face for displaying line numbers in compiler messages."
520 :group 'font-lock-highlighting-faces 520 :group 'compilation
521 :version "22.1") 521 :version "22.1")
522 522
523(defface compilation-column-number 523(defface compilation-column-number
524 '((t :inherit font-lock-type-face)) 524 '((t :inherit font-lock-type-face))
525 "Face for displaying column numbers in compiler messages." 525 "Face for displaying column numbers in compiler messages."
526 :group 'font-lock-highlighting-faces 526 :group 'compilation
527 :version "22.1") 527 :version "22.1")
528 528
529(defvar compilation-message-face 'underline 529(defvar compilation-message-face 'underline
@@ -614,6 +614,7 @@ Faces `compilation-error-face', `compilation-warning-face',
614;; This function is the central driver, called when font-locking to gather 614;; This function is the central driver, called when font-locking to gather
615;; all information needed to later jump to corresponding source code. 615;; all information needed to later jump to corresponding source code.
616;; Return a property list with all meta information on this error location. 616;; Return a property list with all meta information on this error location.
617
617(defun compilation-error-properties (file line end-line col end-col type fmt) 618(defun compilation-error-properties (file line end-line col end-col type fmt)
618 (unless (< (next-single-property-change (match-beginning 0) 'directory nil (point)) 619 (unless (< (next-single-property-change (match-beginning 0) 'directory nil (point))
619 (point)) 620 (point))
@@ -628,11 +629,22 @@ Faces `compilation-error-face', `compilation-warning-face',
628 (get-text-property dir 'directory))))) 629 (get-text-property dir 'directory)))))
629 (setq file (cons file (car dir))))) 630 (setq file (cons file (car dir)))))
630 ;; This message didn't mention one, get it from previous 631 ;; This message didn't mention one, get it from previous
631 (setq file (previous-single-property-change (point) 'message) 632 (let ((prev-pos
632 file (or (if file 633 ;; Find the previous message.
633 (car (nth 2 (car (or (get-text-property (1- file) 'message) 634 (previous-single-property-change (point) 'message)))
634 (get-text-property file 'message)))))) 635 (if prev-pos
635 '("*unknown*")))) 636 ;; Get the file structure that belongs to it.
637 (let* ((prev
638 (or (get-text-property (1- prev-pos) 'message)
639 (get-text-property prev-pos 'message)))
640 (prev-struct
641 (car (nth 2 (car prev)))))
642 ;; Construct FILE . DIR from that.
643 (if prev-struct
644 (setq file (cons (car prev-struct)
645 (cadr prev-struct))))))
646 (unless file
647 (setq file '("*unknown*")))))
636 ;; All of these fields are optional, get them only if we have an index, and 648 ;; All of these fields are optional, get them only if we have an index, and
637 ;; it matched some part of the message. 649 ;; it matched some part of the message.
638 (and line 650 (and line
@@ -887,19 +899,20 @@ visible rather than the beginning."
887 :group 'compilation) 899 :group 'compilation)
888 900
889 901
890(defun compilation-buffer-name (mode-name name-function) 902(defun compilation-buffer-name (mode-name mode-command name-function)
891 "Return the name of a compilation buffer to use. 903 "Return the name of a compilation buffer to use.
892If NAME-FUNCTION is non-nil, call it with one argument MODE-NAME 904If NAME-FUNCTION is non-nil, call it with one argument MODE-NAME
893to determine the buffer name. 905to determine the buffer name.
894Likewise if `compilation-buffer-name-function' is non-nil. 906Likewise if `compilation-buffer-name-function' is non-nil.
895If current buffer is in Compilation mode for the same mode name 907If current buffer is the mode MODE-COMMAND,
896return the name of the current buffer, so that it gets reused. 908return the name of the current buffer, so that it gets reused.
897Otherwise, construct a buffer name from MODE-NAME." 909Otherwise, construct a buffer name from MODE-NAME."
898 (cond (name-function 910 (cond (name-function
899 (funcall name-function mode-name)) 911 (funcall name-function mode-name))
900 (compilation-buffer-name-function 912 (compilation-buffer-name-function
901 (funcall compilation-buffer-name-function mode-name)) 913 (funcall compilation-buffer-name-function mode-name))
902 ((eq major-mode (nth 1 compilation-arguments)) 914 ((and (eq mode-command major-mode)
915 (eq major-mode (nth 1 compilation-arguments)))
903 (buffer-name)) 916 (buffer-name))
904 (t 917 (t
905 (concat "*" (downcase mode-name) "*")))) 918 (concat "*" (downcase mode-name) "*"))))
@@ -948,7 +961,7 @@ Returns the compilation buffer created."
948 (with-current-buffer 961 (with-current-buffer
949 (setq outbuf 962 (setq outbuf
950 (get-buffer-create 963 (get-buffer-create
951 (compilation-buffer-name name-of-mode name-function))) 964 (compilation-buffer-name name-of-mode mode name-function)))
952 (let ((comp-proc (get-buffer-process (current-buffer)))) 965 (let ((comp-proc (get-buffer-process (current-buffer))))
953 (if comp-proc 966 (if comp-proc
954 (if (or (not (eq (process-status comp-proc) 'run)) 967 (if (or (not (eq (process-status comp-proc) 'run))
@@ -1540,7 +1553,7 @@ Use this command in a compilation log buffer. Sets the mark at point there."
1540 (dired-other-window (car (get-text-property (point) 'directory))) 1553 (dired-other-window (car (get-text-property (point) 'directory)))
1541 (push-mark) 1554 (push-mark)
1542 (setq compilation-current-error (point)) 1555 (setq compilation-current-error (point))
1543 (next-error 0))) 1556 (next-error-internal)))
1544 1557
1545;; Return a compilation buffer. 1558;; Return a compilation buffer.
1546;; If the current buffer is a compilation buffer, return it. 1559;; If the current buffer is a compilation buffer, return it.
@@ -1778,7 +1791,7 @@ Pop up the buffer containing MARKER and scroll to MARKER if we ask the user."
1778 marker) 1791 marker)
1779 (let ((name (expand-file-name 1792 (let ((name (expand-file-name
1780 (read-file-name 1793 (read-file-name
1781 (format "Find this %s in: (default %s) " 1794 (format "Find this %s in (default %s): "
1782 compilation-error filename) 1795 compilation-error filename)
1783 spec-dir filename t)))) 1796 spec-dir filename t))))
1784 (if (file-directory-p name) 1797 (if (file-directory-p name)
diff --git a/lisp/progmodes/ebnf2ps.el b/lisp/progmodes/ebnf2ps.el
index 72603722dc2..18d88c92699 100644
--- a/lisp/progmodes/ebnf2ps.el
+++ b/lisp/progmodes/ebnf2ps.el
@@ -5,7 +5,7 @@
5 5
6;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br> 6;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
7;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br> 7;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
8;; Time-stamp: <2004/11/19 22:30:34 vinicius> 8;; Time-stamp: <2005-09-18 07:27:20 deego>
9;; Keywords: wp, ebnf, PostScript 9;; Keywords: wp, ebnf, PostScript
10;; Version: 4.2 10;; Version: 4.2
11;; X-URL: http://www.cpqd.com.br/~vinicius/emacs/ 11;; X-URL: http://www.cpqd.com.br/~vinicius/emacs/
@@ -4261,7 +4261,7 @@ end
4261 ebnf-eps-max-height prod-height)) 4261 ebnf-eps-max-height prod-height))
4262 ) 4262 )
4263 (setq ebnf-eps-prod-width prod-width) 4263 (setq ebnf-eps-prod-width prod-width)
4264 (insert-buffer eps-buffer)) 4264 (insert-buffer-substring eps-buffer))
4265 (setq prod-list (cdr prod-list)))) 4265 (setq prod-list (cdr prod-list))))
4266 4266
4267 4267
@@ -4674,7 +4674,7 @@ killed after process termination."
4674 (goto-char the-point) 4674 (goto-char the-point)
4675 (if ebnf-stop-on-error 4675 (if ebnf-stop-on-error
4676 (error error-msg) 4676 (error error-msg)
4677 (message error-msg))) 4677 (message "%s" error-msg)))
4678 ;; generated output OK 4678 ;; generated output OK
4679 (gen-func 4679 (gen-func
4680 nil) 4680 nil)
diff --git a/lisp/progmodes/ebrowse.el b/lisp/progmodes/ebrowse.el
index 49d0207882c..47e9a12f235 100644
--- a/lisp/progmodes/ebrowse.el
+++ b/lisp/progmodes/ebrowse.el
@@ -1798,7 +1798,7 @@ INFO is a list (TREE-HEADER TREE-OR-MEMBER MEMBER-LIST)."
1798 ;; START will be 0. 1798 ;; START will be 0.
1799 (when (and (boundp 'ebrowse-debug) 1799 (when (and (boundp 'ebrowse-debug)
1800 (symbol-value 'ebrowse-debug)) 1800 (symbol-value 'ebrowse-debug))
1801 (y-or-n-p (format "start = %d" start)) 1801 (y-or-n-p (format "start = %d? " start))
1802 (y-or-n-p pattern)) 1802 (y-or-n-p pattern))
1803 (setf found 1803 (setf found
1804 (loop do (goto-char (max (point-min) (- start offset))) 1804 (loop do (goto-char (max (point-min) (- start offset)))
diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el
index 54b4cda9d18..ea87dce591f 100644
--- a/lisp/progmodes/etags.el
+++ b/lisp/progmodes/etags.el
@@ -284,7 +284,7 @@ With a prefix arg, set the buffer-local value instead.
284When you find a tag with \\[find-tag], the buffer it finds the tag 284When you find a tag with \\[find-tag], the buffer it finds the tag
285in is given a local value of this variable which is the name of the tags 285in is given a local value of this variable which is the name of the tags
286file the tag was in." 286file the tag was in."
287 (interactive (list (read-file-name "Visit tags table: (default TAGS) " 287 (interactive (list (read-file-name "Visit tags table (default TAGS): "
288 default-directory 288 default-directory
289 (expand-file-name "TAGS" 289 (expand-file-name "TAGS"
290 default-directory) 290 default-directory)
@@ -590,7 +590,7 @@ Returns t if it visits a tags table, or nil if there are no more in the list."
590 (car list)) 590 (car list))
591 ;; Finally, prompt the user for a file name. 591 ;; Finally, prompt the user for a file name.
592 (expand-file-name 592 (expand-file-name
593 (read-file-name "Visit tags table: (default TAGS) " 593 (read-file-name "Visit tags table (default TAGS): "
594 default-directory 594 default-directory
595 "TAGS" 595 "TAGS"
596 t)))))) 596 t))))))
diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el
index e5089d84fb0..9ceee6f6920 100644
--- a/lisp/progmodes/flymake.el
+++ b/lisp/progmodes/flymake.el
@@ -183,7 +183,7 @@ TEXT is a format control string, and the remaining arguments ARGS
183are the string substitutions (see `format')." 183are the string substitutions (see `format')."
184 (if (<= level flymake-log-level) 184 (if (<= level flymake-log-level)
185 (let* ((msg (apply 'format text args))) 185 (let* ((msg (apply 'format text args)))
186 (message msg) 186 (message "%s" msg)
187 ;;(with-temp-buffer 187 ;;(with-temp-buffer
188 ;; (insert msg) 188 ;; (insert msg)
189 ;; (insert "\n") 189 ;; (insert "\n")
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el
index 6c960c4c5d5..c8d99dbe3e2 100644
--- a/lisp/progmodes/gdb-ui.el
+++ b/lisp/progmodes/gdb-ui.el
@@ -1337,8 +1337,11 @@ static char *magick[] = {
1337 (setq bptno (match-string 1)) 1337 (setq bptno (match-string 1))
1338 (setq flag (char-after (match-beginning 2))) 1338 (setq flag (char-after (match-beginning 2)))
1339 (beginning-of-line) 1339 (beginning-of-line)
1340 (if (re-search-forward " in .* at\\s-+" nil t) 1340 (if (re-search-forward " in \\(.*\\) at\\s-+" nil t)
1341 (progn 1341 (progn
1342 (let ((buffer-read-only nil))
1343 (add-text-properties (match-beginning 1) (match-end 1)
1344 '(face font-lock-function-name-face)))
1342 (looking-at "\\(\\S-+\\):\\([0-9]+\\)") 1345 (looking-at "\\(\\S-+\\):\\([0-9]+\\)")
1343 (let ((line (match-string 2)) (buffer-read-only nil) 1346 (let ((line (match-string 2)) (buffer-read-only nil)
1344 (file (match-string 1))) 1347 (file (match-string 1)))
@@ -1531,17 +1534,31 @@ static char *magick[] = {
1531(defun gdb-info-frames-custom () 1534(defun gdb-info-frames-custom ()
1532 (with-current-buffer (gdb-get-buffer 'gdb-stack-buffer) 1535 (with-current-buffer (gdb-get-buffer 'gdb-stack-buffer)
1533 (save-excursion 1536 (save-excursion
1534 (let ((buffer-read-only nil)) 1537 (let ((buffer-read-only nil)
1538 bl el)
1535 (goto-char (point-min)) 1539 (goto-char (point-min))
1536 (while (< (point) (point-max)) 1540 (while (< (point) (point-max))
1537 (add-text-properties (line-beginning-position) (line-end-position) 1541 (setq bl (line-beginning-position)
1542 el (line-end-position))
1543 (add-text-properties bl el
1538 '(mouse-face highlight 1544 '(mouse-face highlight
1539 help-echo "mouse-2, RET: Select frame")) 1545 help-echo "mouse-2, RET: Select frame"))
1540 (beginning-of-line) 1546 (goto-char bl)
1541 (when (and (looking-at "^#\\([0-9]+\\)") 1547 (when (looking-at "^#\\([0-9]+\\)")
1542 (equal (match-string 1) gdb-frame-number)) 1548 (if (equal (match-string 1) gdb-frame-number)
1543 (put-text-property (line-beginning-position) (line-end-position) 1549 (put-text-property bl el 'face '(:inverse-video t))
1544 'face '(:inverse-video t))) 1550 (when (re-search-forward " in \\([^ ]+\\) (" el t)
1551 (put-text-property (match-beginning 1) (match-end 1)
1552 'face font-lock-function-name-face)
1553 (setq bl (match-end 0))
1554 (while (re-search-forward "<\\([^>]+\\)>" el t)
1555 (put-text-property (match-beginning 1) (match-end 1)
1556 'face font-lock-function-name-face))
1557 (goto-char bl)
1558 (while (re-search-forward "\\(\\(\\sw\\|[_.]\\)+\\)=" el t)
1559 (put-text-property (match-beginning 1) (match-end 1)
1560 'face font-lock-variable-name-face))
1561 )))
1545 (forward-line 1)))))) 1562 (forward-line 1))))))
1546 1563
1547(defun gdb-stack-buffer-name () 1564(defun gdb-stack-buffer-name ()
@@ -1648,6 +1665,14 @@ static char *magick[] = {
1648 (define-key map [mouse-2] 'gdb-threads-select) 1665 (define-key map [mouse-2] 'gdb-threads-select)
1649 map)) 1666 map))
1650 1667
1668(defvar gdb-threads-font-lock-keywords
1669 '(
1670 (") +\\([^ ]+\\) (" (1 font-lock-function-name-face))
1671 ("in \\([^ ]+\\) (" (1 font-lock-function-name-face))
1672 ("\\(\\(\\sw\\|[_.]\\)+\\)=" (1 font-lock-variable-name-face))
1673 )
1674 "Font lock keywords used in `gdb-threads-mode'.")
1675
1651(defun gdb-threads-mode () 1676(defun gdb-threads-mode ()
1652 "Major mode for gdb frames. 1677 "Major mode for gdb frames.
1653 1678
@@ -1657,6 +1682,8 @@ static char *magick[] = {
1657 (setq mode-name "Threads") 1682 (setq mode-name "Threads")
1658 (setq buffer-read-only t) 1683 (setq buffer-read-only t)
1659 (use-local-map gdb-threads-mode-map) 1684 (use-local-map gdb-threads-mode-map)
1685 (set (make-local-variable 'font-lock-defaults)
1686 '(gdb-threads-font-lock-keywords))
1660 (run-mode-hooks 'gdb-threads-mode-hook) 1687 (run-mode-hooks 'gdb-threads-mode-hook)
1661 'gdb-invalidate-threads) 1688 'gdb-invalidate-threads)
1662 1689
@@ -1702,6 +1729,12 @@ static char *magick[] = {
1702 (define-key map "q" 'kill-this-buffer) 1729 (define-key map "q" 'kill-this-buffer)
1703 map)) 1730 map))
1704 1731
1732(defvar gdb-registers-font-lock-keywords
1733 '(
1734 ("^[^ ]+" . font-lock-variable-name-face)
1735 )
1736 "Font lock keywords used in `gdb-registers-mode'.")
1737
1705(defun gdb-registers-mode () 1738(defun gdb-registers-mode ()
1706 "Major mode for gdb registers. 1739 "Major mode for gdb registers.
1707 1740
@@ -1711,6 +1744,8 @@ static char *magick[] = {
1711 (setq mode-name "Registers:") 1744 (setq mode-name "Registers:")
1712 (setq buffer-read-only t) 1745 (setq buffer-read-only t)
1713 (use-local-map gdb-registers-mode-map) 1746 (use-local-map gdb-registers-mode-map)
1747 (set (make-local-variable 'font-lock-defaults)
1748 '(gdb-registers-font-lock-keywords))
1714 (run-mode-hooks 'gdb-registers-mode-hook) 1749 (run-mode-hooks 'gdb-registers-mode-hook)
1715 (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba)) 1750 (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba))
1716 'gdb-invalidate-registers 1751 'gdb-invalidate-registers
@@ -1955,6 +1990,12 @@ corresponding to the mode line clicked."
1955 (define-key map (vector 'header-line 'down-mouse-1) 'ignore) 1990 (define-key map (vector 'header-line 'down-mouse-1) 'ignore)
1956 map)) 1991 map))
1957 1992
1993(defvar gdb-memory-font-lock-keywords
1994 '(;; <__function.name+n>
1995 ("<\\(\\(\\sw\\|[_.]\\)+\\)\\(\\+[0-9]+\\)?>" (1 font-lock-function-name-face))
1996 )
1997 "Font lock keywords used in `gdb-memory-mode'.")
1998
1958(defun gdb-memory-mode () 1999(defun gdb-memory-mode ()
1959 "Major mode for examining memory. 2000 "Major mode for examining memory.
1960 2001
@@ -2026,6 +2067,8 @@ corresponding to the mode line clicked."
2026 'help-echo "mouse-3: Select unit size" 2067 'help-echo "mouse-3: Select unit size"
2027 'mouse-face 'mode-line-highlight 2068 'mouse-face 'mode-line-highlight
2028 'local-map gdb-memory-unit-keymap)))) 2069 'local-map gdb-memory-unit-keymap))))
2070 (set (make-local-variable 'font-lock-defaults)
2071 '(gdb-memory-font-lock-keywords))
2029 (run-mode-hooks 'gdb-memory-mode-hook) 2072 (run-mode-hooks 'gdb-memory-mode-hook)
2030 'gdb-invalidate-memory) 2073 'gdb-invalidate-memory)
2031 2074
@@ -2094,6 +2137,23 @@ corresponding to the mode line clicked."
2094 (define-key map "q" 'kill-this-buffer) 2137 (define-key map "q" 'kill-this-buffer)
2095 map)) 2138 map))
2096 2139
2140(defvar gdb-local-font-lock-keywords
2141 '(
2142 ;; var = (struct struct_tag) value
2143 ( "\\(^\\(\\sw\\|[_.]\\)+\\) += +(\\(struct\\) \\(\\(\\sw\\|[_.]\\)+\\)"
2144 (1 font-lock-variable-name-face)
2145 (3 font-lock-keyword-face)
2146 (4 font-lock-type-face))
2147 ;; var = (type) value
2148 ( "\\(^\\(\\sw\\|[_.]\\)+\\) += +(\\(\\(\\sw\\|[_.]\\)+\\)"
2149 (1 font-lock-variable-name-face)
2150 (3 font-lock-type-face))
2151 ;; var = val
2152 ( "\\(^\\(\\sw\\|[_.]\\)+\\) += +[^(]"
2153 (1 font-lock-variable-name-face))
2154 )
2155 "Font lock keywords used in `gdb-local-mode'.")
2156
2097(defun gdb-locals-mode () 2157(defun gdb-locals-mode ()
2098 "Major mode for gdb locals. 2158 "Major mode for gdb locals.
2099 2159
@@ -2103,6 +2163,8 @@ corresponding to the mode line clicked."
2103 (setq mode-name (concat "Locals:" gdb-selected-frame)) 2163 (setq mode-name (concat "Locals:" gdb-selected-frame))
2104 (setq buffer-read-only t) 2164 (setq buffer-read-only t)
2105 (use-local-map gdb-locals-mode-map) 2165 (use-local-map gdb-locals-mode-map)
2166 (set (make-local-variable 'font-lock-defaults)
2167 '(gdb-local-font-lock-keywords))
2106 (run-mode-hooks 'gdb-locals-mode-hook) 2168 (run-mode-hooks 'gdb-locals-mode-hook)
2107 (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba)) 2169 (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba))
2108 'gdb-invalidate-locals 2170 'gdb-invalidate-locals
diff --git a/lisp/progmodes/glasses.el b/lisp/progmodes/glasses.el
index b32c5eb6d49..2733cb407a4 100644
--- a/lisp/progmodes/glasses.el
+++ b/lisp/progmodes/glasses.el
@@ -195,6 +195,16 @@ CATEGORY is the overlay category. If it is nil, use the `glasses' category."
195 (looking-at glasses-uncapitalize-regexp)))) 195 (looking-at glasses-uncapitalize-regexp))))
196 (overlay-put o 'invisible t) 196 (overlay-put o 'invisible t)
197 (overlay-put o 'after-string (downcase (match-string n)))))) 197 (overlay-put o 'after-string (downcase (match-string n))))))
198 ;; Separator change
199 (unless (string= glasses-separator "_")
200 (goto-char beg)
201 (while (re-search-forward "[a-zA-Z0-9]\\(_+\\)[a-zA-Z0-9]" end t)
202 (goto-char (match-beginning 1))
203 (while (eql (char-after) ?\_)
204 (let ((o (glasses-make-overlay (point) (1+ (point)))))
205 ;; `concat' ensures the character properties won't merge
206 (overlay-put o 'display (concat glasses-separator)))
207 (forward-char))))
198 ;; Parentheses 208 ;; Parentheses
199 (when glasses-separate-parentheses-p 209 (when glasses-separate-parentheses-p
200 (goto-char beg) 210 (goto-char beg)
@@ -227,6 +237,13 @@ recognized according to the current value of the variable `glasses-separator'."
227 (let ((n (if (match-string 1) 1 2))) 237 (let ((n (if (match-string 1) 1 2)))
228 (replace-match "" t nil nil n) 238 (replace-match "" t nil nil n)
229 (goto-char (match-end n)))) 239 (goto-char (match-end n))))
240 (unless (string= glasses-separator "_")
241 (goto-char (point-min))
242 (while (re-search-forward (format "[a-zA-Z0-9]\\(%s+\\)[a-zA-Z0-9]"
243 separator)
244 nil t)
245 (replace-match "_" nil nil nil 1)
246 (goto-char (match-beginning 1))))
230 (when glasses-separate-parentheses-p 247 (when glasses-separate-parentheses-p
231 (goto-char (point-min)) 248 (goto-char (point-min))
232 (while (re-search-forward "[a-zA-Z]_*\\( \\)\(" nil t) 249 (while (re-search-forward "[a-zA-Z]_*\\( \\)\(" nil t)
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index 1486825b07a..47d74f00aec 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -1865,7 +1865,7 @@ extension EXTN. Normally EXTN is given as the regular expression
1865 1865
1866 ;; Anything else means the input is invalid. 1866 ;; Anything else means the input is invalid.
1867 (t 1867 (t
1868 (message (format "Error parsing file %s." file)) 1868 (message "Error parsing file %s." file)
1869 (throw 'abort nil)))))) 1869 (throw 'abort nil))))))
1870 l)) 1870 l))
1871 1871
diff --git a/lisp/progmodes/idlw-shell.el b/lisp/progmodes/idlw-shell.el
index cc706195cc2..4b646a72f3b 100644
--- a/lisp/progmodes/idlw-shell.el
+++ b/lisp/progmodes/idlw-shell.el
@@ -2263,7 +2263,7 @@ overlays."
2263 (idlwave-shell-display-line 2263 (idlwave-shell-display-line
2264 (nth idlwave-shell-calling-stack-index stack) nil 2264 (nth idlwave-shell-calling-stack-index stack) nil
2265 (unless idlwave-shell-electric-debug-mode 'no-debug)) 2265 (unless idlwave-shell-electric-debug-mode 'no-debug))
2266 (message (or message 2266 (message "%s" (or message
2267 (format "In routine %s (stack level %d)" 2267 (format "In routine %s (stack level %d)"
2268 idlwave-shell-calling-stack-routine 2268 idlwave-shell-calling-stack-routine
2269 (- idlwave-shell-calling-stack-index)))))) 2269 (- idlwave-shell-calling-stack-index))))))
@@ -2462,7 +2462,7 @@ the problem with not being able to set the breakpoint."
2462 (beep) 2462 (beep)
2463 (y-or-n-p 2463 (y-or-n-p
2464 (concat "Okay to recompile file " 2464 (concat "Okay to recompile file "
2465 (idlwave-shell-bp-get bp 'file) " "))) 2465 (idlwave-shell-bp-get bp 'file) "? ")))
2466 ;; Recompile 2466 ;; Recompile
2467 (progn 2467 (progn
2468 ;; Clean up before retrying 2468 ;; Clean up before retrying
diff --git a/lisp/progmodes/idlwave.el b/lisp/progmodes/idlwave.el
index 0f1ea571a85..ce689847e9c 100644
--- a/lisp/progmodes/idlwave.el
+++ b/lisp/progmodes/idlwave.el
@@ -3995,7 +3995,7 @@ you specify /."
3995 ;; Call etags 3995 ;; Call etags
3996 (if (not (string-match "^[ \\t]*$" item)) 3996 (if (not (string-match "^[ \\t]*$" item))
3997 (progn 3997 (progn
3998 (message (concat "Tagging " item "...")) 3998 (message "%s" (concat "Tagging " item "..."))
3999 (setq errbuf (get-buffer-create "*idltags-error*")) 3999 (setq errbuf (get-buffer-create "*idltags-error*"))
4000 (setq status (+ status 4000 (setq status (+ status
4001 (if (eq 0 (call-process 4001 (if (eq 0 (call-process
@@ -5188,7 +5188,7 @@ be set to nil to disable library catalog scanning."
5188 message-base 5188 message-base
5189 (not (string= idlwave-library-catalog-libname 5189 (not (string= idlwave-library-catalog-libname
5190 old-libname))) 5190 old-libname)))
5191 (message (concat message-base 5191 (message "%s" (concat message-base
5192 idlwave-library-catalog-libname)) 5192 idlwave-library-catalog-libname))
5193 (setq old-libname idlwave-library-catalog-libname)) 5193 (setq old-libname idlwave-library-catalog-libname))
5194 (when idlwave-library-catalog-routines 5194 (when idlwave-library-catalog-routines
diff --git a/lisp/progmodes/pascal.el b/lisp/progmodes/pascal.el
index 47b36db6539..b84fa87a0de 100644
--- a/lisp/progmodes/pascal.el
+++ b/lisp/progmodes/pascal.el
@@ -1470,7 +1470,7 @@ The default is a name found in the buffer around point."
1470 default "")) 1470 default ""))
1471 (label (if (not (string= default "")) 1471 (label (if (not (string= default ""))
1472 ;; Do completion with default 1472 ;; Do completion with default
1473 (completing-read (concat "Label: (default " default ") ") 1473 (completing-read (concat "Label (default " default "): ")
1474 'pascal-comp-defun nil t "") 1474 'pascal-comp-defun nil t "")
1475 ;; There is no default value. Complete without it 1475 ;; There is no default value. Complete without it
1476 (completing-read "Label: " 1476 (completing-read "Label: "
diff --git a/lisp/progmodes/ps-mode.el b/lisp/progmodes/ps-mode.el
index fecf1f07eb5..b49fcafe186 100644
--- a/lisp/progmodes/ps-mode.el
+++ b/lisp/progmodes/ps-mode.el
@@ -630,7 +630,7 @@ defines the beginning of a group. These tokens are: { [ <<"
630 (current-column)) 630 (current-column))
631 (error 631 (error
632 (ding) 632 (ding)
633 (message (error-message-string err)) 633 (message "%s" (error-message-string err))
634 0)) 634 0))
635 (let (target) 635 (let (target)
636 (if (not (re-search-backward "[^ \t\n\r\f][ \t\n\r\f]*\\=" nil t)) 636 (if (not (re-search-backward "[^ \t\n\r\f][ \t\n\r\f]*\\=" nil t))
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index 433476f7957..f7788404350 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -1341,9 +1341,9 @@ don't support `help'."
1341 nil nil symbol)))) 1341 nil nil symbol))))
1342 (if (equal symbol "") (error "No symbol")) 1342 (if (equal symbol "") (error "No symbol"))
1343 (let* ((func `(lambda () 1343 (let* ((func `(lambda ()
1344 (comint-redirect-send-command (format "emacs.ehelp(%S)\n" 1344 (comint-redirect-send-command
1345 ,symbol) 1345 (format "emacs.ehelp(%S, globals(), locals())\n" ,symbol)
1346 "*Help*" nil)))) 1346 "*Help*" nil))))
1347 ;; Ensure we have a suitable help buffer. 1347 ;; Ensure we have a suitable help buffer.
1348 ;; Fixme: Maybe process `Related help topics' a la help xrefs and 1348 ;; Fixme: Maybe process `Related help topics' a la help xrefs and
1349 ;; allow C-c C-f in help buffer. 1349 ;; allow C-c C-f in help buffer.
diff --git a/lisp/progmodes/scheme.el b/lisp/progmodes/scheme.el
index 712f967fcbc..15ab8edaadc 100644
--- a/lisp/progmodes/scheme.el
+++ b/lisp/progmodes/scheme.el
@@ -90,20 +90,26 @@
90 (modify-syntax-entry ?\] ")[ " st) 90 (modify-syntax-entry ?\] ")[ " st)
91 (modify-syntax-entry ?{ "(} " st) 91 (modify-syntax-entry ?{ "(} " st)
92 (modify-syntax-entry ?} "){ " st) 92 (modify-syntax-entry ?} "){ " st)
93 (modify-syntax-entry ?\| "\" 23b" st) 93 (modify-syntax-entry ?\| "\" 23bn" st)
94 ;; Guile allows #! ... !# comments.
95 ;; But SRFI-22 defines the comment as #!...\n instead.
96 ;; Also Guile says that the !# should be on a line of its own.
97 ;; It's too difficult to get it right, for too little benefit.
98 ;; (modify-syntax-entry ?! "_ 2" st)
94 99
95 ;; Other atom delimiters 100 ;; Other atom delimiters
96 (modify-syntax-entry ?\( "() " st) 101 (modify-syntax-entry ?\( "() " st)
97 (modify-syntax-entry ?\) ")( " st) 102 (modify-syntax-entry ?\) ")( " st)
98 (modify-syntax-entry ?\; "< " st) 103 ;; It's used for single-line comments as well as for #;(...) sexp-comments.
99 (modify-syntax-entry ?\" "\" " st) 104 (modify-syntax-entry ?\; "< 2 " st)
105 (modify-syntax-entry ?\" "\" " st)
100 (modify-syntax-entry ?' "' " st) 106 (modify-syntax-entry ?' "' " st)
101 (modify-syntax-entry ?` "' " st) 107 (modify-syntax-entry ?` "' " st)
102 108
103 ;; Special characters 109 ;; Special characters
104 (modify-syntax-entry ?, "' " st) 110 (modify-syntax-entry ?, "' " st)
105 (modify-syntax-entry ?@ "' " st) 111 (modify-syntax-entry ?@ "' " st)
106 (modify-syntax-entry ?# "' 14bn" st) 112 (modify-syntax-entry ?# "' 14b" st)
107 (modify-syntax-entry ?\\ "\\ " st) 113 (modify-syntax-entry ?\\ "\\ " st)
108 st)) 114 st))
109 115
@@ -157,19 +163,24 @@
157 (make-local-variable 'parse-sexp-ignore-comments) 163 (make-local-variable 'parse-sexp-ignore-comments)
158 (setq parse-sexp-ignore-comments t) 164 (setq parse-sexp-ignore-comments t)
159 (make-local-variable 'lisp-indent-function) 165 (make-local-variable 'lisp-indent-function)
160 (set lisp-indent-function 'scheme-indent-function) 166 (setq lisp-indent-function 'scheme-indent-function)
161 (setq mode-line-process '("" scheme-mode-line-process)) 167 (setq mode-line-process '("" scheme-mode-line-process))
162 (set (make-local-variable 'imenu-case-fold-search) t) 168 (set (make-local-variable 'imenu-case-fold-search) t)
163 (setq imenu-generic-expression scheme-imenu-generic-expression) 169 (setq imenu-generic-expression scheme-imenu-generic-expression)
164 (set (make-local-variable 'imenu-syntax-alist) 170 (set (make-local-variable 'imenu-syntax-alist)
165 '(("+-*/.<>=?!$%_&~^:" . "w"))) 171 '(("+-*/.<>=?!$%_&~^:" . "w")))
166 (make-local-variable 'font-lock-defaults) 172 (set (make-local-variable 'font-lock-defaults)
167 (setq font-lock-defaults 173 '((scheme-font-lock-keywords
168 '((scheme-font-lock-keywords 174 scheme-font-lock-keywords-1 scheme-font-lock-keywords-2)
169 scheme-font-lock-keywords-1 scheme-font-lock-keywords-2) 175 nil t (("+-*/.<>=!?$%_&~^:" . "w") (?#. "w 14"))
170 nil t (("+-*/.<>=!?$%_&~^:#" . "w")) beginning-of-defun 176 beginning-of-defun
171 (font-lock-mark-block-function . mark-defun) 177 (font-lock-mark-block-function . mark-defun)
172 (font-lock-syntactic-face-function . lisp-font-lock-syntactic-face-function)))) 178 (font-lock-syntactic-face-function
179 . scheme-font-lock-syntactic-face-function)
180 (parse-sexp-lookup-properties . t)
181 (font-lock-extra-managed-props syntax-table)))
182 (set (make-local-variable 'lisp-doc-string-elt-property)
183 'scheme-doc-string-elt))
173 184
174(defvar scheme-mode-line-process "") 185(defvar scheme-mode-line-process "")
175 186
@@ -345,6 +356,44 @@ See `run-hooks'."
345(defvar scheme-font-lock-keywords scheme-font-lock-keywords-1 356(defvar scheme-font-lock-keywords scheme-font-lock-keywords-1
346 "Default expressions to highlight in Scheme modes.") 357 "Default expressions to highlight in Scheme modes.")
347 358
359(defconst scheme-sexp-comment-syntax-table
360 (let ((st (make-syntax-table scheme-mode-syntax-table)))
361 (modify-syntax-entry ?\; "." st)
362 (modify-syntax-entry ?\n " " st)
363 (modify-syntax-entry ?# "'" st)
364 st))
365
366(put 'lambda 'scheme-doc-string-elt 2)
367;; Docstring's pos in a `define' depends on whether it's a var or fun def.
368(put 'define 'scheme-doc-string-elt
369 (lambda ()
370 ;; The function is called with point right after "define".
371 (forward-comment (point-max))
372 (if (eq (char-after) ?\() 2 0)))
373
374(defun scheme-font-lock-syntactic-face-function (state)
375 (when (and (null (nth 3 state))
376 (eq (char-after (nth 8 state)) ?#)
377 (eq (char-after (1+ (nth 8 state))) ?\;))
378 ;; It's a sexp-comment. Tell parse-partial-sexp where it ends.
379 (save-excursion
380 (let ((pos (point))
381 (end
382 (condition-case err
383 (let ((parse-sexp-lookup-properties nil))
384 (goto-char (+ 2 (nth 8 state)))
385 ;; FIXME: this doesn't handle the case where the sexp
386 ;; itself contains a #; comment.
387 (forward-sexp 1)
388 (point))
389 (scan-error (nth 2 err)))))
390 (when (< pos (- end 2))
391 (put-text-property pos (- end 2)
392 'syntax-table scheme-sexp-comment-syntax-table))
393 (put-text-property (- end 1) end 'syntax-table '(12)))))
394 ;; Choose the face to use.
395 (lisp-font-lock-syntactic-face-function state))
396
348;;;###autoload 397;;;###autoload
349(define-derived-mode dsssl-mode scheme-mode "DSSSL" 398(define-derived-mode dsssl-mode scheme-mode "DSSSL"
350 "Major mode for editing DSSSL code. 399 "Major mode for editing DSSSL code.
diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el
index e37390f5b80..8af9b637b0b 100644
--- a/lisp/progmodes/sh-script.el
+++ b/lisp/progmodes/sh-script.el
@@ -2572,9 +2572,9 @@ If INFO is supplied it is used, else it is calculated from current line."
2572 (if (numberp blinkpos) 2572 (if (numberp blinkpos)
2573 (save-excursion 2573 (save-excursion
2574 (goto-char blinkpos) 2574 (goto-char blinkpos)
2575 (message msg) 2575 (if msg (message "%s" msg) (message nil))
2576 (sit-for blink-matching-delay)) 2576 (sit-for blink-matching-delay))
2577 (message msg))) 2577 (if msg (message "%s" msg) (message nil))))
2578 2578
2579(defun sh-show-indent (arg) 2579(defun sh-show-indent (arg)
2580 "Show the how the currently line would be indented. 2580 "Show the how the currently line would be indented.
@@ -2591,7 +2591,7 @@ we are indenting relative to, if applicable."
2591 (curr-indent (current-indentation)) 2591 (curr-indent (current-indentation))
2592 val msg) 2592 val msg)
2593 (if (stringp var) 2593 (if (stringp var)
2594 (message (setq msg var)) 2594 (message "%s" (setq msg var))
2595 (setq val (sh-calculate-indent info)) 2595 (setq val (sh-calculate-indent info))
2596 2596
2597 (if (eq curr-indent val) 2597 (if (eq curr-indent val)
@@ -2610,8 +2610,8 @@ we are indenting relative to, if applicable."
2610 (if (and info (listp (car info)) 2610 (if (and info (listp (car info))
2611 (eq (car (car info)) t)) 2611 (eq (car (car info)) t))
2612 (sh-blink (nth 1 (car info)) msg) 2612 (sh-blink (nth 1 (car info)) msg)
2613 (message msg))) 2613 (message "%s" msg)))
2614 (message msg)) 2614 (message "%s" msg))
2615 )) 2615 ))
2616 2616
2617(defun sh-set-indent () 2617(defun sh-set-indent ()
@@ -2624,7 +2624,7 @@ for a new value for it."
2624 (var (sh-get-indent-var-for-line info)) 2624 (var (sh-get-indent-var-for-line info))
2625 val old-val indent-val) 2625 val old-val indent-val)
2626 (if (stringp var) 2626 (if (stringp var)
2627 (message (format "Cannot set indent - %s" var)) 2627 (message "Cannot set indent - %s" var)
2628 (setq old-val (symbol-value var)) 2628 (setq old-val (symbol-value var))
2629 (setq val (sh-read-variable var)) 2629 (setq val (sh-read-variable var))
2630 (condition-case nil 2630 (condition-case nil
@@ -2675,7 +2675,7 @@ unless optional argument ARG (the prefix when interactive) is non-nil."
2675 (curr-indent (current-indentation))) 2675 (curr-indent (current-indentation)))
2676 (cond 2676 (cond
2677 ((stringp var) 2677 ((stringp var)
2678 (message (format "Cannot learn line - %s" var))) 2678 (message "Cannot learn line - %s" var))
2679 ((eq var 'sh-indent-comment) 2679 ((eq var 'sh-indent-comment)
2680 ;; This is arbitrary... 2680 ;; This is arbitrary...
2681 ;; - if curr-indent is 0, set to curr-indent 2681 ;; - if curr-indent is 0, set to curr-indent
diff --git a/lisp/progmodes/vhdl-mode.el b/lisp/progmodes/vhdl-mode.el
index 4014029b113..8f2dcc7cf1f 100644
--- a/lisp/progmodes/vhdl-mode.el
+++ b/lisp/progmodes/vhdl-mode.el
@@ -2157,7 +2157,7 @@ Ignore byte-compiler warnings you might see."
2157 2157
2158(defun vhdl-warning (string &optional nobeep) 2158(defun vhdl-warning (string &optional nobeep)
2159 "Print out warning STRING and beep." 2159 "Print out warning STRING and beep."
2160 (message (concat "WARNING: " string)) 2160 (message "WARNING: %s" string)
2161 (unless (or nobeep noninteractive) (beep))) 2161 (unless (or nobeep noninteractive) (beep)))
2162 2162
2163(defun vhdl-print-warnings () 2163(defun vhdl-print-warnings ()
@@ -2165,7 +2165,7 @@ Ignore byte-compiler warnings you might see."
2165 (let ((no-warnings (length vhdl-warnings))) 2165 (let ((no-warnings (length vhdl-warnings)))
2166 (setq vhdl-warnings (nreverse vhdl-warnings)) 2166 (setq vhdl-warnings (nreverse vhdl-warnings))
2167 (while vhdl-warnings 2167 (while vhdl-warnings
2168 (message (concat "WARNING: " (car vhdl-warnings))) 2168 (message "WARNING: %s" (car vhdl-warnings))
2169 (setq vhdl-warnings (cdr vhdl-warnings))) 2169 (setq vhdl-warnings (cdr vhdl-warnings)))
2170 (beep) 2170 (beep)
2171 (when (> no-warnings 1) 2171 (when (> no-warnings 1)
@@ -10605,7 +10605,7 @@ but not if inside a comment or quote)."
10605 (vhdl-template-invoked-by-hook t)) 10605 (vhdl-template-invoked-by-hook t))
10606 (let ((caught (catch 'abort 10606 (let ((caught (catch 'abort
10607 (funcall func)))) 10607 (funcall func))))
10608 (when (stringp caught) (message caught))) 10608 (when (stringp caught) (message "%s" caught)))
10609 (when (= invoke-char ?-) (setq abbrev-start-location (point))) 10609 (when (= invoke-char ?-) (setq abbrev-start-location (point)))
10610 ;; delete CR which is still in event queue 10610 ;; delete CR which is still in event queue
10611 (if (fboundp 'enqueue-eval-event) 10611 (if (fboundp 'enqueue-eval-event)
@@ -10768,7 +10768,7 @@ but not if inside a comment or quote)."
10768(defun vhdl-template-insert-fun (fun) 10768(defun vhdl-template-insert-fun (fun)
10769 "Call FUN to insert a built-in template." 10769 "Call FUN to insert a built-in template."
10770 (let ((caught (catch 'abort (when fun (funcall fun))))) 10770 (let ((caught (catch 'abort (when fun (funcall fun)))))
10771 (when (stringp caught) (message caught)))) 10771 (when (stringp caught) (message "%s" caught))))
10772 10772
10773 10773
10774;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 10774;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -11695,7 +11695,7 @@ reflected in a subsequent paste operation."
11695 (setq arch-buffer (current-buffer)) 11695 (setq arch-buffer (current-buffer))
11696 (when ent-buffer (set-buffer ent-buffer) (save-buffer)) 11696 (when ent-buffer (set-buffer ent-buffer) (save-buffer))
11697 (set-buffer arch-buffer) (save-buffer)) 11697 (set-buffer arch-buffer) (save-buffer))
11698 (message 11698 (message "%s"
11699 (concat (format "Pasting port as testbench \"%s(%s)\"...done" 11699 (concat (format "Pasting port as testbench \"%s(%s)\"...done"
11700 ent-name arch-name) 11700 ent-name arch-name)
11701 (and ent-file-name 11701 (and ent-file-name
@@ -12832,40 +12832,35 @@ This does background highlighting of translate-off regions.")
12832 (((class color) (background dark)) (:foreground "Pink" :bold t)) 12832 (((class color) (background dark)) (:foreground "Pink" :bold t))
12833 (t (:inverse-video t))) 12833 (t (:inverse-video t)))
12834 "Font lock mode face used to highlight prompts." 12834 "Font lock mode face used to highlight prompts."
12835 :group 'vhdl-highlight-faces 12835 :group 'vhdl-highlight-faces)
12836 :group 'font-lock-highlighting-faces)
12837 12836
12838(defface vhdl-font-lock-attribute-face 12837(defface vhdl-font-lock-attribute-face
12839 '((((class color) (background light)) (:foreground "Orchid")) 12838 '((((class color) (background light)) (:foreground "Orchid"))
12840 (((class color) (background dark)) (:foreground "LightSteelBlue")) 12839 (((class color) (background dark)) (:foreground "LightSteelBlue"))
12841 (t (:italic t :bold t))) 12840 (t (:italic t :bold t)))
12842 "Font lock mode face used to highlight standardized attributes." 12841 "Font lock mode face used to highlight standardized attributes."
12843 :group 'vhdl-highlight-faces 12842 :group 'vhdl-highlight-faces)
12844 :group 'font-lock-highlighting-faces)
12845 12843
12846(defface vhdl-font-lock-enumvalue-face 12844(defface vhdl-font-lock-enumvalue-face
12847 '((((class color) (background light)) (:foreground "SaddleBrown")) 12845 '((((class color) (background light)) (:foreground "SaddleBrown"))
12848 (((class color) (background dark)) (:foreground "BurlyWood")) 12846 (((class color) (background dark)) (:foreground "BurlyWood"))
12849 (t (:italic t :bold t))) 12847 (t (:italic t :bold t)))
12850 "Font lock mode face used to highlight standardized enumeration values." 12848 "Font lock mode face used to highlight standardized enumeration values."
12851 :group 'vhdl-highlight-faces 12849 :group 'vhdl-highlight-faces)
12852 :group 'font-lock-highlighting-faces)
12853 12850
12854(defface vhdl-font-lock-function-face 12851(defface vhdl-font-lock-function-face
12855 '((((class color) (background light)) (:foreground "Cyan4")) 12852 '((((class color) (background light)) (:foreground "Cyan4"))
12856 (((class color) (background dark)) (:foreground "Orchid1")) 12853 (((class color) (background dark)) (:foreground "Orchid1"))
12857 (t (:italic t :bold t))) 12854 (t (:italic t :bold t)))
12858 "Font lock mode face used to highlight standardized functions and packages." 12855 "Font lock mode face used to highlight standardized functions and packages."
12859 :group 'vhdl-highlight-faces 12856 :group 'vhdl-highlight-faces)
12860 :group 'font-lock-highlighting-faces)
12861 12857
12862(defface vhdl-font-lock-directive-face 12858(defface vhdl-font-lock-directive-face
12863 '((((class color) (background light)) (:foreground "CadetBlue")) 12859 '((((class color) (background light)) (:foreground "CadetBlue"))
12864 (((class color) (background dark)) (:foreground "Aquamarine")) 12860 (((class color) (background dark)) (:foreground "Aquamarine"))
12865 (t (:italic t :bold t))) 12861 (t (:italic t :bold t)))
12866 "Font lock mode face used to highlight directives." 12862 "Font lock mode face used to highlight directives."
12867 :group 'vhdl-highlight-faces 12863 :group 'vhdl-highlight-faces)
12868 :group 'font-lock-highlighting-faces)
12869 12864
12870(defface vhdl-font-lock-reserved-words-face 12865(defface vhdl-font-lock-reserved-words-face
12871 '((((class color) (background light)) (:foreground "Orange" :bold t)) 12866 '((((class color) (background light)) (:foreground "Orange" :bold t))
@@ -12874,16 +12869,14 @@ This does background highlighting of translate-off regions.")
12874 (((class color) (background dark)) (:foreground "Yellow" :bold t)) 12869 (((class color) (background dark)) (:foreground "Yellow" :bold t))
12875 (t ())) 12870 (t ()))
12876 "Font lock mode face used to highlight additional reserved words." 12871 "Font lock mode face used to highlight additional reserved words."
12877 :group 'vhdl-highlight-faces 12872 :group 'vhdl-highlight-faces)
12878 :group 'font-lock-highlighting-faces)
12879 12873
12880(defface vhdl-font-lock-translate-off-face 12874(defface vhdl-font-lock-translate-off-face
12881 '((((class color) (background light)) (:background "LightGray")) 12875 '((((class color) (background light)) (:background "LightGray"))
12882 (((class color) (background dark)) (:background "DimGray")) 12876 (((class color) (background dark)) (:background "DimGray"))
12883 (t ())) 12877 (t ()))
12884 "Font lock mode face used to background highlight translate-off regions." 12878 "Font lock mode face used to background highlight translate-off regions."
12885 :group 'vhdl-highlight-faces 12879 :group 'vhdl-highlight-faces)
12886 :group 'font-lock-highlighting-faces)
12887 12880
12888;; font lock mode faces used to highlight words with special syntax. 12881;; font lock mode faces used to highlight words with special syntax.
12889(let ((syntax-alist vhdl-special-syntax-alist)) 12882(let ((syntax-alist vhdl-special-syntax-alist))
@@ -12897,8 +12890,7 @@ This does background highlighting of translate-off regions.")
12897 (t ())) 12890 (t ()))
12898 ,(concat "Font lock mode face used to highlight " 12891 ,(concat "Font lock mode face used to highlight "
12899 (nth 0 (car syntax-alist)) ".") 12892 (nth 0 (car syntax-alist)) ".")
12900 :group 'vhdl-highlight-faces 12893 :group 'vhdl-highlight-faces))
12901 :group 'font-lock-highlighting-faces))
12902 (setq syntax-alist (cdr syntax-alist)))) 12894 (setq syntax-alist (cdr syntax-alist))))
12903 12895
12904;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 12896;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -13996,11 +13988,11 @@ if required."
13996 (speedbar-add-mode-functions-list 13988 (speedbar-add-mode-functions-list
13997 '("vhdl directory" 13989 '("vhdl directory"
13998 (speedbar-item-info . vhdl-speedbar-item-info) 13990 (speedbar-item-info . vhdl-speedbar-item-info)
13999 (speedbar-line-path . speedbar-files-line-path))) 13991 (speedbar-line-directory . speedbar-files-line-path)))
14000 (speedbar-add-mode-functions-list 13992 (speedbar-add-mode-functions-list
14001 '("vhdl project" 13993 '("vhdl project"
14002 (speedbar-item-info . vhdl-speedbar-item-info) 13994 (speedbar-item-info . vhdl-speedbar-item-info)
14003 (speedbar-line-path . vhdl-speedbar-line-project))) 13995 (speedbar-line-directory . vhdl-speedbar-line-project)))
14004 ;; keymap 13996 ;; keymap
14005 (unless vhdl-speedbar-key-map 13997 (unless vhdl-speedbar-key-map
14006 (setq vhdl-speedbar-key-map (speedbar-make-specialized-keymap)) 13998 (setq vhdl-speedbar-key-map (speedbar-make-specialized-keymap))
@@ -14265,9 +14257,9 @@ otherwise use cached data."
14265 ((save-excursion (beginning-of-line) (looking-at "[^0-9]")) 14257 ((save-excursion (beginning-of-line) (looking-at "[^0-9]"))
14266 (re-search-forward "[0-9]+:" nil t) 14258 (re-search-forward "[0-9]+:" nil t)
14267 (vhdl-scan-directory-contents 14259 (vhdl-scan-directory-contents
14268 (abbreviate-file-name (speedbar-line-path)))) 14260 (abbreviate-file-name (speedbar-line-directory))))
14269 ;; current directory 14261 ;; current directory
14270 (t (setq path (speedbar-line-path)) 14262 (t (setq path (speedbar-line-directory))
14271 (string-match "^\\(.+[/\\]\\)" path) 14263 (string-match "^\\(.+[/\\]\\)" path)
14272 (vhdl-scan-directory-contents 14264 (vhdl-scan-directory-contents
14273 (abbreviate-file-name (match-string 1 path))))) 14265 (abbreviate-file-name (match-string 1 path)))))
@@ -14985,7 +14977,7 @@ NO-POSITION non-nil means do not re-position cursor."
14985 (cond ((string-match "+" text) ; we have to expand this dir 14977 (cond ((string-match "+" text) ; we have to expand this dir
14986 (setq speedbar-shown-directories 14978 (setq speedbar-shown-directories
14987 (cons (expand-file-name 14979 (cons (expand-file-name
14988 (concat (speedbar-line-path indent) token "/")) 14980 (concat (speedbar-line-directory indent) token "/"))
14989 speedbar-shown-directories)) 14981 speedbar-shown-directories))
14990 (speedbar-change-expand-button-char ?-) 14982 (speedbar-change-expand-button-char ?-)
14991 (speedbar-reset-scanners) 14983 (speedbar-reset-scanners)
@@ -14994,12 +14986,12 @@ NO-POSITION non-nil means do not re-position cursor."
14994 (end-of-line) (forward-char 1) 14986 (end-of-line) (forward-char 1)
14995 (vhdl-speedbar-insert-dirs 14987 (vhdl-speedbar-insert-dirs
14996 (speedbar-file-lists 14988 (speedbar-file-lists
14997 (concat (speedbar-line-path indent) token "/")) 14989 (concat (speedbar-line-directory indent) token "/"))
14998 (1+ indent)) 14990 (1+ indent))
14999 (speedbar-reset-scanners) 14991 (speedbar-reset-scanners)
15000 (vhdl-speedbar-insert-dir-hierarchy 14992 (vhdl-speedbar-insert-dir-hierarchy
15001 (abbreviate-file-name 14993 (abbreviate-file-name
15002 (concat (speedbar-line-path indent) token "/")) 14994 (concat (speedbar-line-directory indent) token "/"))
15003 (1+ indent) speedbar-power-click))) 14995 (1+ indent) speedbar-power-click)))
15004 (vhdl-speedbar-update-current-unit t t)) 14996 (vhdl-speedbar-update-current-unit t t))
15005 ((string-match "-" text) ; we have to contract this node 14997 ((string-match "-" text) ; we have to contract this node
@@ -15007,7 +14999,7 @@ NO-POSITION non-nil means do not re-position cursor."
15007 (let ((oldl speedbar-shown-directories) 14999 (let ((oldl speedbar-shown-directories)
15008 (newl nil) 15000 (newl nil)
15009 (td (expand-file-name 15001 (td (expand-file-name
15010 (concat (speedbar-line-path indent) token)))) 15002 (concat (speedbar-line-directory indent) token))))
15011 (while oldl 15003 (while oldl
15012 (if (not (string-match (concat "^" (regexp-quote td)) (car oldl))) 15004 (if (not (string-match (concat "^" (regexp-quote td)) (car oldl)))
15013 (setq newl (cons (car oldl) newl))) 15005 (setq newl (cons (car oldl) newl)))
@@ -15093,7 +15085,7 @@ NO-POSITION non-nil means do not re-position cursor."
15093 (if vhdl-speedbar-show-projects 15085 (if vhdl-speedbar-show-projects
15094 (vhdl-speedbar-line-project) 15086 (vhdl-speedbar-line-project)
15095 (abbreviate-file-name 15087 (abbreviate-file-name
15096 (file-name-as-directory (speedbar-line-path indent))))) 15088 (file-name-as-directory (speedbar-line-directory indent)))))
15097 15089
15098(defun vhdl-speedbar-line-project (&optional indent) 15090(defun vhdl-speedbar-line-project (&optional indent)
15099 "Get currently displayed project name." 15091 "Get currently displayed project name."
@@ -15244,7 +15236,7 @@ is already shown in a buffer."
15244 (unit-name (vhdl-speedbar-line-text)) 15236 (unit-name (vhdl-speedbar-line-text))
15245 (vhdl-project (vhdl-speedbar-line-project)) 15237 (vhdl-project (vhdl-speedbar-line-project))
15246 (directory (file-name-as-directory 15238 (directory (file-name-as-directory
15247 (or (speedbar-line-file) (speedbar-line-path))))) 15239 (or (speedbar-line-file) (speedbar-line-directory)))))
15248 (if (fboundp 'speedbar-select-attached-frame) 15240 (if (fboundp 'speedbar-select-attached-frame)
15249 (speedbar-select-attached-frame) 15241 (speedbar-select-attached-frame)
15250 (select-frame speedbar-attached-frame)) 15242 (select-frame speedbar-attached-frame))
@@ -15256,7 +15248,7 @@ is already shown in a buffer."
15256 (interactive) 15248 (interactive)
15257 (let ((vhdl-project (vhdl-speedbar-line-project)) 15249 (let ((vhdl-project (vhdl-speedbar-line-project))
15258 (default-directory (file-name-as-directory 15250 (default-directory (file-name-as-directory
15259 (or (speedbar-line-file) (speedbar-line-path))))) 15251 (or (speedbar-line-file) (speedbar-line-directory)))))
15260 (vhdl-generate-makefile))) 15252 (vhdl-generate-makefile)))
15261 15253
15262(defun vhdl-speedbar-check-unit (design-unit) 15254(defun vhdl-speedbar-check-unit (design-unit)
@@ -15498,7 +15490,7 @@ expansion function)."
15498 (setq arch-buffer (current-buffer)) 15490 (setq arch-buffer (current-buffer))
15499 (when ent-buffer (set-buffer ent-buffer) (save-buffer)) 15491 (when ent-buffer (set-buffer ent-buffer) (save-buffer))
15500 (set-buffer arch-buffer) (save-buffer) 15492 (set-buffer arch-buffer) (save-buffer)
15501 (message 15493 (message "%s"
15502 (concat (format "Creating component \"%s(%s)\"...done" ent-name arch-name) 15494 (concat (format "Creating component \"%s(%s)\"...done" ent-name arch-name)
15503 (and ent-file-name 15495 (and ent-file-name
15504 (format "\n File created: \"%s\"" ent-file-name)) 15496 (format "\n File created: \"%s\"" ent-file-name))
@@ -16120,7 +16112,7 @@ current project/directory."
16120 (vhdl-template-footer) 16112 (vhdl-template-footer)
16121 (vhdl-comment-display-line) (insert "\n")) 16113 (vhdl-comment-display-line) (insert "\n"))
16122 (save-buffer)) 16114 (save-buffer))
16123 (message 16115 (message "%s"
16124 (concat (format "Generating configuration \"%s\"...done" conf-name) 16116 (concat (format "Generating configuration \"%s\"...done" conf-name)
16125 (and conf-file-name 16117 (and conf-file-name
16126 (format "\n File created: \"%s\"" conf-file-name)))))) 16118 (format "\n File created: \"%s\"" conf-file-name))))))