aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/ChangeLog54
-rw-r--r--lisp/cedet/ChangeLog6
-rw-r--r--lisp/cedet/ede/speedbar.el4
-rw-r--r--lisp/cedet/semantic/sb.el2
-rw-r--r--lisp/dframe.el5
-rw-r--r--lisp/emacs-lisp/eieio-opt.el4
-rw-r--r--lisp/emacs-lisp/eieio-speedbar.el4
-rw-r--r--lisp/info.el6
-rw-r--r--lisp/mail/rmail.el25
-rw-r--r--lisp/mh-e/ChangeLog5
-rw-r--r--lisp/mh-e/mh-speed.el2
-rw-r--r--lisp/progmodes/gud.el35
-rw-r--r--lisp/progmodes/vhdl-mode.el58
-rw-r--r--lisp/speedbar.el77
14 files changed, 212 insertions, 75 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 5a74fa4a21f..c97eb3b2cb7 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,57 @@
12013-05-22 Glenn Morris <rgm@gnu.org>
2
3 * dframe.el (x-sensitive-text-pointer-shape, x-pointer-shape):
4 Remove unnecessary declarations.
5 (dframe-message): Doc fix.
6
7 * info.el (dframe-select-attached-frame, dframe-current-frame):
8 Declare.
9
10 * speedbar.el (speedbar-message): Make it an obsolete alias.
11 Update all callers.
12 (speedbar-with-attached-buffer)
13 (speedbar-maybee-jump-to-attached-frame): Make these aliases obsolete.
14 (speedbar-with-writable): Use backquote.
15 * emacs-lisp/eieio-opt.el (eieio-describe-class-sb):
16 * emacs-lisp/eieio-speedbar.el (eieio-speedbar-handle-click):
17 Use dframe-with-attached-buffer, dframe-maybee-jump-to-attached-frame
18 rather than speedbar- aliases.
19 * mail/rmail.el: Load dframe rather than speedbar when compiling.
20 (speedbar-make-specialized-keymap, speedbar-insert-button)
21 (dframe-select-attached-frame, dframe-maybee-jump-to-attached-frame)
22 (speedbar-do-function-pointer): Declare.
23 (rmail-speedbar-button, rmail-speedbar-find-file)
24 (rmail-speedbar-move-message):
25 Use dframe-with-attached-buffer rather than speedbar- alias.
26 * progmodes/gud.el: Load dframe rather than speedbar when compiling.
27 (dframe-message, speedbar-make-specialized-keymap)
28 (speedbar-add-expansion-list, speedbar-mode-functions-list)
29 (speedbar-make-tag-line, speedbar-remove-localized-speedbar-support)
30 (speedbar-insert-button, dframe-select-attached-frame)
31 (dframe-maybee-jump-to-attached-frame)
32 (speedbar-change-initial-expansion-list)
33 (speedbar-previously-used-expansion-list-name): Declare.
34 (gud-speedbar-item-info, gud-gdb-goto-stackframe):
35 Use dframe-message, dframe-with-attached-buffer rather than
36 speedbar- aliases.
37 (gud-sentinel): Silence compiler.
38 * progmodes/vhdl-mode.el (speedbar-refresh)
39 (speedbar-do-function-pointer, speedbar-add-supported-extension)
40 (speedbar-add-mode-functions-list, speedbar-make-specialized-keymap)
41 (speedbar-change-initial-expansion-list, speedbar-add-expansion-list)
42 (speedbar-extension-list-to-regex, speedbar-directory-buttons)
43 (speedbar-file-lists, speedbar-make-tag-line)
44 (speedbar-line-directory, speedbar-goto-this-file)
45 (speedbar-center-buffer-smartly, speedbar-change-expand-button-char)
46 (speedbar-delete-subblock, speedbar-position-cursor-on-line)
47 (speedbar-make-button, speedbar-reset-scanners)
48 (speedbar-files-item-info, speedbar-line-text)
49 (speedbar-find-file-in-frame, speedbar-set-timer)
50 (dframe-maybee-jump-to-attached-frame, speedbar-line-file): Declare.
51 (speedbar-with-writable): Do not (re)define it.
52 (vhdl-speedbar-find-file): Use dframe-maybee-jump-to-attached-frame
53 rather than speedbar- alias.
54
12013-05-21 Leo Liu <sdl.web@gmail.com> 552013-05-21 Leo Liu <sdl.web@gmail.com>
2 56
3 * progmodes/octave.el (octave-mode-menu): Update and re-organize 57 * progmodes/octave.el (octave-mode-menu): Update and re-organize
diff --git a/lisp/cedet/ChangeLog b/lisp/cedet/ChangeLog
index 0474559fe9e..486f1abfeda 100644
--- a/lisp/cedet/ChangeLog
+++ b/lisp/cedet/ChangeLog
@@ -1,3 +1,9 @@
12013-05-22 Glenn Morris <rgm@gnu.org>
2
3 * ede/speedbar.el (ede-file-find, ede-tag-find):
4 * semantic/sb.el (semantic-sb-token-jump):
5 Use dframe-maybee-jump-to-attached-frame rather than speedbar- alias.
6
12013-05-15 Glenn Morris <rgm@gnu.org> 72013-05-15 Glenn Morris <rgm@gnu.org>
2 8
3 * semantic/symref/list.el (semantic-symref-auto-expand-results) 9 * semantic/symref/list.el (semantic-symref-auto-expand-results)
diff --git a/lisp/cedet/ede/speedbar.el b/lisp/cedet/ede/speedbar.el
index d963a56697a..0f3c96b1a7d 100644
--- a/lisp/cedet/ede/speedbar.el
+++ b/lisp/cedet/ede/speedbar.el
@@ -257,7 +257,7 @@ It has depth DEPTH."
257INDENT is the current indentation level." 257INDENT is the current indentation level."
258 (speedbar-find-file-in-frame 258 (speedbar-find-file-in-frame
259 (expand-file-name token (speedbar-line-directory indent))) 259 (expand-file-name token (speedbar-line-directory indent)))
260 (speedbar-maybee-jump-to-attached-frame)) 260 (dframe-maybee-jump-to-attached-frame))
261 261
262(defun ede-create-tag-buttons (filename indent) 262(defun ede-create-tag-buttons (filename indent)
263 "Create the tag buttons associated with FILENAME at INDENT." 263 "Create the tag buttons associated with FILENAME at INDENT."
@@ -304,7 +304,7 @@ INDENT is the current indentation level."
304 (goto-char token) 304 (goto-char token)
305 (run-hooks 'speedbar-visiting-tag-hook) 305 (run-hooks 'speedbar-visiting-tag-hook)
306 ;;(recenter) 306 ;;(recenter)
307 (speedbar-maybee-jump-to-attached-frame) 307 (dframe-maybee-jump-to-attached-frame)
308 )) 308 ))
309 309
310;;; EDE and the speedbar FILE display 310;;; EDE and the speedbar FILE display
diff --git a/lisp/cedet/semantic/sb.el b/lisp/cedet/semantic/sb.el
index f56c2b388d6..accee18f257 100644
--- a/lisp/cedet/semantic/sb.el
+++ b/lisp/cedet/semantic/sb.el
@@ -323,7 +323,7 @@ TEXT TOKEN and INDENT are the details."
323 ;; that other timer. 323 ;; that other timer.
324 ;; (speedbar-set-timer dframe-update-speed) 324 ;; (speedbar-set-timer dframe-update-speed)
325 ;;(recenter) 325 ;;(recenter)
326 (speedbar-maybee-jump-to-attached-frame) 326 (dframe-maybee-jump-to-attached-frame)
327 (run-hooks 'speedbar-visiting-tag-hook))) 327 (run-hooks 'speedbar-visiting-tag-hook)))
328 328
329(defun semantic-sb-expand-group (text token indent) 329(defun semantic-sb-expand-group (text token indent)
diff --git a/lisp/dframe.el b/lisp/dframe.el
index 7f3a586ada3..21b508512d3 100644
--- a/lisp/dframe.el
+++ b/lisp/dframe.el
@@ -243,9 +243,6 @@ Local to those buffers, as a function called that created it.")
243 "Return non-nil if FRAME is currently available." 243 "Return non-nil if FRAME is currently available."
244 (and frame (frame-live-p frame) (frame-visible-p frame))) 244 (and frame (frame-live-p frame) (frame-visible-p frame)))
245 245
246(defvar x-sensitive-text-pointer-shape)
247(defvar x-pointer-shape)
248
249(defun dframe-frame-mode (arg frame-var cache-var buffer-var frame-name 246(defun dframe-frame-mode (arg frame-var cache-var buffer-var frame-name
250 local-mode-fn 247 local-mode-fn
251 &optional 248 &optional
@@ -681,7 +678,7 @@ Optionally select that frame if necessary."
681 "Non-nil means that `dframe-message' should just return a string.") 678 "Non-nil means that `dframe-message' should just return a string.")
682 679
683(defun dframe-message (fmt &rest args) 680(defun dframe-message (fmt &rest args)
684 "Like message, but for use in a dedicated frame. 681 "Like `message', but for use in a dedicated frame.
685Argument FMT is the format string, and ARGS are the arguments for message." 682Argument FMT is the format string, and ARGS are the arguments for message."
686 (save-selected-window 683 (save-selected-window
687 (if dframe-suppress-message-flag 684 (if dframe-suppress-message-flag
diff --git a/lisp/emacs-lisp/eieio-opt.el b/lisp/emacs-lisp/eieio-opt.el
index 29ad980991b..27f97b31ebe 100644
--- a/lisp/emacs-lisp/eieio-opt.el
+++ b/lisp/emacs-lisp/eieio-opt.el
@@ -795,9 +795,9 @@ Argument INDENT is the depth of indentation."
795(defun eieio-describe-class-sb (text token indent) 795(defun eieio-describe-class-sb (text token indent)
796 "Describe the class TEXT in TOKEN. 796 "Describe the class TEXT in TOKEN.
797INDENT is the current indentation level." 797INDENT is the current indentation level."
798 (speedbar-with-attached-buffer 798 (dframe-with-attached-buffer
799 (eieio-describe-class token)) 799 (eieio-describe-class token))
800 (speedbar-maybee-jump-to-attached-frame)) 800 (dframe-maybee-jump-to-attached-frame))
801 801
802(provide 'eieio-opt) 802(provide 'eieio-opt)
803 803
diff --git a/lisp/emacs-lisp/eieio-speedbar.el b/lisp/emacs-lisp/eieio-speedbar.el
index c230226eae4..e964263754f 100644
--- a/lisp/emacs-lisp/eieio-speedbar.el
+++ b/lisp/emacs-lisp/eieio-speedbar.el
@@ -230,9 +230,9 @@ object edit buffer doing an in-place edit.
230If your object represents some other item, override this method 230If your object represents some other item, override this method
231and take the appropriate action." 231and take the appropriate action."
232 (require 'eieio-custom) 232 (require 'eieio-custom)
233 (speedbar-with-attached-buffer 233 (dframe-with-attached-buffer
234 (eieio-customize-object object)) 234 (eieio-customize-object object))
235 (speedbar-maybee-jump-to-attached-frame)) 235 (dframe-maybee-jump-to-attached-frame))
236 236
237 237
238;;; Class definitions 238;;; Class definitions
diff --git a/lisp/info.el b/lisp/info.el
index f67dc9ab987..b4673731383 100644
--- a/lisp/info.el
+++ b/lisp/info.el
@@ -4985,7 +4985,7 @@ first line or header line, and for breadcrumb links.")
4985;;; Speedbar support: 4985;;; Speedbar support:
4986;; These functions permit speedbar to display the "tags" in the 4986;; These functions permit speedbar to display the "tags" in the
4987;; current Info node. 4987;; current Info node.
4988(eval-when-compile (require 'speedbar)) 4988(eval-when-compile (require 'speedbar)) ; for speedbar-with-writable
4989 4989
4990(declare-function speedbar-add-expansion-list "speedbar" (new-list)) 4990(declare-function speedbar-add-expansion-list "speedbar" (new-list))
4991(declare-function speedbar-center-buffer-smartly "speedbar" ()) 4991(declare-function speedbar-center-buffer-smartly "speedbar" ())
@@ -5047,6 +5047,10 @@ This will add a speedbar major display mode."
5047 (speedbar-change-initial-expansion-list "Info") 5047 (speedbar-change-initial-expansion-list "Info")
5048 ) 5048 )
5049 5049
5050;; speedbar loads dframe at runtime.
5051(declare-function dframe-select-attached-frame "dframe" (&optional frame))
5052(declare-function dframe-current-frame "dframe" (frame-var desired-major-mode))
5053
5050(defun Info-speedbar-hierarchy-buttons (_directory depth &optional node) 5054(defun Info-speedbar-hierarchy-buttons (_directory depth &optional node)
5051 "Display an Info directory hierarchy in speedbar. 5055 "Display an Info directory hierarchy in speedbar.
5052DIRECTORY is the current directory in the attached frame. 5056DIRECTORY is the current directory in the attached frame.
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el
index af7ad220595..e29becedb6e 100644
--- a/lisp/mail/rmail.el
+++ b/lisp/mail/rmail.el
@@ -4310,8 +4310,6 @@ This has an effect only if a summary buffer exists."
4310 (restore-buffer-modified-p nil))))))) 4310 (restore-buffer-modified-p nil)))))))
4311 4311
4312;;; Speedbar support for RMAIL files. 4312;;; Speedbar support for RMAIL files.
4313(eval-when-compile (require 'speedbar))
4314
4315(defcustom rmail-speedbar-match-folder-regexp "^[A-Z0-9]+\\(\\.[A-Z0-9]+\\)?$" 4313(defcustom rmail-speedbar-match-folder-regexp "^[A-Z0-9]+\\(\\.[A-Z0-9]+\\)?$"
4316 "Regexp matching Rmail folder names to be displayed in Speedbar. 4314 "Regexp matching Rmail folder names to be displayed in Speedbar.
4317Enabling this permits Speedbar to display your folders for easy 4315Enabling this permits Speedbar to display your folders for easy
@@ -4326,12 +4324,12 @@ browsing, and moving of messages."
4326(defvar rmail-speedbar-key-map nil 4324(defvar rmail-speedbar-key-map nil
4327 "Keymap used when in rmail display mode.") 4325 "Keymap used when in rmail display mode.")
4328 4326
4327(declare-function speedbar-make-specialized-keymap "speedbar" ())
4328
4329(defun rmail-install-speedbar-variables () 4329(defun rmail-install-speedbar-variables ()
4330 "Install those variables used by speedbar to enhance rmail." 4330 "Install those variables used by speedbar to enhance rmail."
4331 (if rmail-speedbar-key-map 4331 (unless rmail-speedbar-key-map
4332 nil
4333 (setq rmail-speedbar-key-map (speedbar-make-specialized-keymap)) 4332 (setq rmail-speedbar-key-map (speedbar-make-specialized-keymap))
4334
4335 (define-key rmail-speedbar-key-map "e" 'speedbar-edit-line) 4333 (define-key rmail-speedbar-key-map "e" 'speedbar-edit-line)
4336 (define-key rmail-speedbar-key-map "r" 'speedbar-edit-line) 4334 (define-key rmail-speedbar-key-map "r" 'speedbar-edit-line)
4337 (define-key rmail-speedbar-key-map "\C-m" 'speedbar-edit-line) 4335 (define-key rmail-speedbar-key-map "\C-m" 'speedbar-edit-line)
@@ -4346,6 +4344,9 @@ browsing, and moving of messages."
4346 (looking-at "<M> "))]) 4344 (looking-at "<M> "))])
4347 "Additional menu-items to add to speedbar frame.") 4345 "Additional menu-items to add to speedbar frame.")
4348 4346
4347(declare-function speedbar-insert-button "speedbar"
4348 (text face mouse function &optional token prevline))
4349
4349;; Make sure our special speedbar major mode is loaded 4350;; Make sure our special speedbar major mode is loaded
4350(if (featurep 'speedbar) 4351(if (featurep 'speedbar)
4351 (rmail-install-speedbar-variables) 4352 (rmail-install-speedbar-variables)
@@ -4387,19 +4388,27 @@ current message into that RMAIL folder."
4387 (speedbar-insert-button file 'speedbar-file-face 'highlight 4388 (speedbar-insert-button file 'speedbar-file-face 'highlight
4388 'rmail-speedbar-find-file nil t))))))) 4389 'rmail-speedbar-find-file nil t)))))))
4389 4390
4391(eval-when-compile (require 'dframe))
4392;; Part of the macro expansion of dframe-with-attached-buffer.
4393;; At runtime, will be pulled in as a require of speedbar.
4394(declare-function dframe-select-attached-frame "dframe" (&optional frame))
4395(declare-function dframe-maybee-jump-to-attached-frame "dframe" ())
4396
4390(defun rmail-speedbar-button (text token indent) 4397(defun rmail-speedbar-button (text token indent)
4391 "Execute an rmail command specified by TEXT. 4398 "Execute an rmail command specified by TEXT.
4392The command used is TOKEN. INDENT is not used." 4399The command used is TOKEN. INDENT is not used."
4393 (speedbar-with-attached-buffer 4400 (dframe-with-attached-buffer
4394 (funcall token t))) 4401 (funcall token t)))
4395 4402
4396(defun rmail-speedbar-find-file (text token indent) 4403(defun rmail-speedbar-find-file (text token indent)
4397 "Load in the rmail file TEXT. 4404 "Load in the rmail file TEXT.
4398TOKEN and INDENT are not used." 4405TOKEN and INDENT are not used."
4399 (speedbar-with-attached-buffer 4406 (dframe-with-attached-buffer
4400 (message "Loading in RMAIL file %s..." text) 4407 (message "Loading in RMAIL file %s..." text)
4401 (rmail text))) 4408 (rmail text)))
4402 4409
4410(declare-function speedbar-do-function-pointer "speedbar" ())
4411
4403(defun rmail-speedbar-move-message-to-folder-on-line () 4412(defun rmail-speedbar-move-message-to-folder-on-line ()
4404 "If the current line is a folder, move current message to it." 4413 "If the current line is a folder, move current message to it."
4405 (interactive) 4414 (interactive)
@@ -4413,7 +4422,7 @@ TOKEN and INDENT are not used."
4413(defun rmail-speedbar-move-message (text token indent) 4422(defun rmail-speedbar-move-message (text token indent)
4414 "From button TEXT, copy current message to the rmail file specified by TOKEN. 4423 "From button TEXT, copy current message to the rmail file specified by TOKEN.
4415TEXT and INDENT are not used." 4424TEXT and INDENT are not used."
4416 (speedbar-with-attached-buffer 4425 (dframe-with-attached-buffer
4417 (message "Moving message to %s" token) 4426 (message "Moving message to %s" token)
4418 ;; expand-file-name is needed due to the unhelpful way in which 4427 ;; expand-file-name is needed due to the unhelpful way in which
4419 ;; rmail-output expands non-absolute filenames against rmail-default-file. 4428 ;; rmail-output expands non-absolute filenames against rmail-default-file.
diff --git a/lisp/mh-e/ChangeLog b/lisp/mh-e/ChangeLog
index d85ae04a16c..3db1780af63 100644
--- a/lisp/mh-e/ChangeLog
+++ b/lisp/mh-e/ChangeLog
@@ -1,3 +1,8 @@
12013-05-22 Glenn Morris <rgm@gnu.org>
2
3 * mh-speed.el (mh-speed-view):
4 Use dframe-with-attached-buffer rather than speedbar- alias.
5
12013-05-21 Glenn Morris <rgm@gnu.org> 62013-05-21 Glenn Morris <rgm@gnu.org>
2 7
3 * mh-comp.el (mh-regexp-in-field-p): Fix previous change. 8 * mh-comp.el (mh-regexp-in-field-p): Fix previous change.
diff --git a/lisp/mh-e/mh-speed.el b/lisp/mh-e/mh-speed.el
index eb36ffed64b..bae019f8926 100644
--- a/lisp/mh-e/mh-speed.el
+++ b/lisp/mh-e/mh-speed.el
@@ -175,7 +175,7 @@ The optional arguments from speedbar are IGNORED."
175 (mh-read-range "Scan" folder t nil nil 175 (mh-read-range "Scan" folder t nil nil
176 mh-interpret-number-as-range-flag)))) 176 mh-interpret-number-as-range-flag))))
177 (when (stringp folder) 177 (when (stringp folder)
178 (speedbar-with-attached-buffer 178 (dframe-with-attached-buffer
179 (mh-visit-folder folder range) 179 (mh-visit-folder folder range)
180 (delete-other-windows))))) 180 (delete-other-windows)))))
181 181
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index 9ee4aae1da6..212d3894091 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -413,7 +413,7 @@ we're in the GUD buffer)."
413 413
414;; ====================================================================== 414;; ======================================================================
415;; speedbar support functions and variables. 415;; speedbar support functions and variables.
416(eval-when-compile (require 'speedbar)) ;For speedbar-with-attached-buffer. 416(eval-when-compile (require 'dframe)) ; for dframe-with-attached-buffer
417 417
418(defvar gud-last-speedbar-stackframe nil 418(defvar gud-last-speedbar-stackframe nil
419 "Description of the currently displayed GUD stack. 419 "Description of the currently displayed GUD stack.
@@ -422,19 +422,24 @@ The value t means that there is no stack, and we are in display-file mode.")
422(defvar gud-speedbar-key-map nil 422(defvar gud-speedbar-key-map nil
423 "Keymap used when in the buffers display mode.") 423 "Keymap used when in the buffers display mode.")
424 424
425;; At runtime, will be pulled in as a require of speedbar.
426(declare-function dframe-message "dframe" (fmt &rest args))
427
425(defun gud-speedbar-item-info () 428(defun gud-speedbar-item-info ()
426 "Display the data type of the watch expression element." 429 "Display the data type of the watch expression element."
427 (let ((var (nth (- (line-number-at-pos (point)) 2) gdb-var-list))) 430 (let ((var (nth (- (line-number-at-pos (point)) 2) gdb-var-list)))
428 (if (nth 7 var) 431 (if (nth 7 var)
429 (speedbar-message "%s: %s" (nth 7 var) (nth 3 var)) 432 (dframe-message "%s: %s" (nth 7 var) (nth 3 var))
430 (speedbar-message "%s" (nth 3 var))))) 433 (dframe-message "%s" (nth 3 var)))))
434
435(declare-function speedbar-make-specialized-keymap "speedbar" ())
436(declare-function speedbar-add-expansion-list "speedbar" (new-list))
437(defvar speedbar-mode-functions-list)
431 438
432(defun gud-install-speedbar-variables () 439(defun gud-install-speedbar-variables ()
433 "Install those variables used by speedbar to enhance gud/gdb." 440 "Install those variables used by speedbar to enhance gud/gdb."
434 (if gud-speedbar-key-map 441 (unless gud-speedbar-key-map
435 nil
436 (setq gud-speedbar-key-map (speedbar-make-specialized-keymap)) 442 (setq gud-speedbar-key-map (speedbar-make-specialized-keymap))
437
438 (define-key gud-speedbar-key-map "j" 'speedbar-edit-line) 443 (define-key gud-speedbar-key-map "j" 'speedbar-edit-line)
439 (define-key gud-speedbar-key-map "e" 'speedbar-edit-line) 444 (define-key gud-speedbar-key-map "e" 'speedbar-edit-line)
440 (define-key gud-speedbar-key-map "\C-m" 'speedbar-edit-line) 445 (define-key gud-speedbar-key-map "\C-m" 'speedbar-edit-line)
@@ -483,6 +488,13 @@ The value t means that there is no stack, and we are in display-file mode.")
483DIRECTORY and ZERO are not used, but are required by the caller." 488DIRECTORY and ZERO are not used, but are required by the caller."
484 (gud-speedbar-buttons gud-comint-buffer)) 489 (gud-speedbar-buttons gud-comint-buffer))
485 490
491(declare-function speedbar-make-tag-line "speedbar"
492 (type char func data tag tfunc tdata tface depth))
493(declare-function speedbar-remove-localized-speedbar-support "speedbar"
494 (buffer))
495(declare-function speedbar-insert-button "speedbar"
496 (text face mouse function &optional token prevline))
497
486(defun gud-speedbar-buttons (buffer) 498(defun gud-speedbar-buttons (buffer)
487 "Create a speedbar display based on the current state of GUD. 499 "Create a speedbar display based on the current state of GUD.
488If the GUD BUFFER is not running a supported debugger, then turn 500If the GUD BUFFER is not running a supported debugger, then turn
@@ -881,9 +893,14 @@ It is passed through `gud-gdb-marker-filter' before we look at it."
881 893
882;; gdb speedbar functions 894;; gdb speedbar functions
883 895
896;; Part of the macro expansion of dframe-with-attached-buffer.
897;; At runtime, will be pulled in as a require of speedbar.
898(declare-function dframe-select-attached-frame "dframe" (&optional frame))
899(declare-function dframe-maybee-jump-to-attached-frame "dframe" ())
900
884(defun gud-gdb-goto-stackframe (_text token _indent) 901(defun gud-gdb-goto-stackframe (_text token _indent)
885 "Goto the stackframe described by TEXT, TOKEN, and INDENT." 902 "Goto the stackframe described by TEXT, TOKEN, and INDENT."
886 (speedbar-with-attached-buffer 903 (dframe-with-attached-buffer
887 (gud-basic-call (concat "server frame " (nth 1 token))) 904 (gud-basic-call (concat "server frame " (nth 1 token)))
888 (sit-for 1))) 905 (sit-for 1)))
889 906
@@ -2633,6 +2650,8 @@ It is saved for when this flag is not set.")
2633(add-to-list 'overlay-arrow-variable-list 'gud-overlay-arrow-position) 2650(add-to-list 'overlay-arrow-variable-list 'gud-overlay-arrow-position)
2634 2651
2635(declare-function gdb-reset "gdb-mi" ()) 2652(declare-function gdb-reset "gdb-mi" ())
2653(declare-function speedbar-change-initial-expansion-list "speedbar" (new))
2654(defvar speedbar-previously-used-expansion-list-name)
2636 2655
2637(defun gud-sentinel (proc msg) 2656(defun gud-sentinel (proc msg)
2638 (cond ((null (buffer-name (process-buffer proc))) 2657 (cond ((null (buffer-name (process-buffer proc)))
@@ -2640,7 +2659,7 @@ It is saved for when this flag is not set.")
2640 ;; Stop displaying an arrow in a source file. 2659 ;; Stop displaying an arrow in a source file.
2641 (setq gud-overlay-arrow-position nil) 2660 (setq gud-overlay-arrow-position nil)
2642 (set-process-buffer proc nil) 2661 (set-process-buffer proc nil)
2643 (if (and (boundp 'speedbar-frame) 2662 (if (and (boundp 'speedbar-initial-expansion-list-name)
2644 (string-equal speedbar-initial-expansion-list-name "GUD")) 2663 (string-equal speedbar-initial-expansion-list-name "GUD"))
2645 (speedbar-change-initial-expansion-list 2664 (speedbar-change-initial-expansion-list
2646 speedbar-previously-used-expansion-list-name)) 2665 speedbar-previously-used-expansion-list-name))
diff --git a/lisp/progmodes/vhdl-mode.el b/lisp/progmodes/vhdl-mode.el
index 4c3ae340ab8..0050a94513a 100644
--- a/lisp/progmodes/vhdl-mode.el
+++ b/lisp/progmodes/vhdl-mode.el
@@ -2135,7 +2135,7 @@ your style, only those that are different from the default.")
2135(eval-when-compile 2135(eval-when-compile
2136 (require 'font-lock) 2136 (require 'font-lock)
2137 (require 'ps-print) 2137 (require 'ps-print)
2138 (require 'speedbar))) 2138 (require 'speedbar))) ; for speedbar-with-writable
2139 2139
2140 2140
2141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 2141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -2553,6 +2553,9 @@ conversion."
2553 (setcdr list1 (cddr list1)))) 2553 (setcdr list1 (cddr list1))))
2554 (cdr list)) 2554 (cdr list))
2555 2555
2556(declare-function speedbar-refresh "speedbar" (&optional arg))
2557(declare-function speedbar-do-function-pointer "speedbar" ())
2558
2556(defun vhdl-speedbar-refresh (&optional key) 2559(defun vhdl-speedbar-refresh (&optional key)
2557 "Refresh directory or project with name KEY." 2560 "Refresh directory or project with name KEY."
2558 (when (and (boundp 'speedbar-frame) 2561 (when (and (boundp 'speedbar-frame)
@@ -14515,6 +14518,13 @@ if required."
14515(defvar vhdl-speedbar-menu-items nil 14518(defvar vhdl-speedbar-menu-items nil
14516 "Additional menu-items to add to speedbar frame.") 14519 "Additional menu-items to add to speedbar frame.")
14517 14520
14521(declare-function speedbar-add-supported-extension "speedbar" (extension))
14522(declare-function speedbar-add-mode-functions-list "speedbar" (new-list))
14523(declare-function speedbar-make-specialized-keymap "speedbar" ())
14524(declare-function speedbar-change-initial-expansion-list "speedbar"
14525 (new-default))
14526(declare-function speedbar-add-expansion-list "speedbar" (new-list))
14527
14518(defun vhdl-speedbar-initialize () 14528(defun vhdl-speedbar-initialize ()
14519 "Initialize speedbar." 14529 "Initialize speedbar."
14520 ;; general settings 14530 ;; general settings
@@ -14644,11 +14654,15 @@ if required."
14644 "Name of last selected project.") 14654 "Name of last selected project.")
14645 14655
14646;; macros must be defined in the file they are used (copied from `speedbar.el') 14656;; macros must be defined in the file they are used (copied from `speedbar.el')
14647(defmacro speedbar-with-writable (&rest forms) 14657;;; (defmacro speedbar-with-writable (&rest forms)
14648 "Allow the buffer to be writable and evaluate FORMS." 14658;;; "Allow the buffer to be writable and evaluate FORMS."
14649 (list 'let '((inhibit-read-only t)) 14659;;; (list 'let '((inhibit-read-only t))
14650 (cons 'progn forms))) 14660;;; (cons 'progn forms)))
14651(put 'speedbar-with-writable 'lisp-indent-function 0) 14661;;; (put 'speedbar-with-writable 'lisp-indent-function 0)
14662
14663(declare-function speedbar-extension-list-to-regex "speedbar" (extlist))
14664(declare-function speedbar-directory-buttons "speedbar" (directory _index))
14665(declare-function speedbar-file-lists "speedbar" (directory))
14652 14666
14653(defun vhdl-speedbar-display-directory (directory depth &optional rescan) 14667(defun vhdl-speedbar-display-directory (directory depth &optional rescan)
14654 "Display directory and hierarchy information in speedbar." 14668 "Display directory and hierarchy information in speedbar."
@@ -14684,6 +14698,9 @@ if required."
14684 (error (vhdl-warning-when-idle "ERROR: Invalid hierarchy information, unable to display correctly")))) 14698 (error (vhdl-warning-when-idle "ERROR: Invalid hierarchy information, unable to display correctly"))))
14685 (setq speedbar-full-text-cache nil)) ; prevent caching 14699 (setq speedbar-full-text-cache nil)) ; prevent caching
14686 14700
14701(declare-function speedbar-make-tag-line "speedbar"
14702 (type char func data tag tfunc tdata tface depth))
14703
14687(defun vhdl-speedbar-insert-projects () 14704(defun vhdl-speedbar-insert-projects ()
14688 "Insert all projects in speedbar." 14705 "Insert all projects in speedbar."
14689 (vhdl-speedbar-make-title-line "Projects:") 14706 (vhdl-speedbar-make-title-line "Projects:")
@@ -14787,6 +14804,8 @@ otherwise use cached data."
14787 depth) 14804 depth)
14788 (setq pack-alist (cdr pack-alist)))))) 14805 (setq pack-alist (cdr pack-alist))))))
14789 14806
14807(declare-function speedbar-line-directory "speedbar" (&optional depth))
14808
14790(defun vhdl-speedbar-rescan-hierarchy () 14809(defun vhdl-speedbar-rescan-hierarchy ()
14791 "Rescan hierarchy for the directory or project under the cursor." 14810 "Rescan hierarchy for the directory or project under the cursor."
14792 (interactive) 14811 (interactive)
@@ -14808,6 +14827,8 @@ otherwise use cached data."
14808 (abbreviate-file-name (match-string 1 path))))) 14827 (abbreviate-file-name (match-string 1 path)))))
14809 (vhdl-speedbar-refresh key))) 14828 (vhdl-speedbar-refresh key)))
14810 14829
14830(declare-function speedbar-goto-this-file "speedbar" (file))
14831
14811(defun vhdl-speedbar-expand-dirs (directory) 14832(defun vhdl-speedbar-expand-dirs (directory)
14812 "Expand subdirectories in DIRECTORY according to 14833 "Expand subdirectories in DIRECTORY according to
14813 `speedbar-shown-directories'." 14834 `speedbar-shown-directories'."
@@ -14857,6 +14878,8 @@ otherwise use cached data."
14857 (setq unit-alist (cdr unit-alist)))))) 14878 (setq unit-alist (cdr unit-alist))))))
14858 (vhdl-speedbar-update-current-unit nil t)) 14879 (vhdl-speedbar-update-current-unit nil t))
14859 14880
14881(declare-function speedbar-center-buffer-smartly "speedbar" ())
14882
14860(defun vhdl-speedbar-contract-level () 14883(defun vhdl-speedbar-contract-level ()
14861 "Contract current level in current directory/project." 14884 "Contract current level in current directory/project."
14862 (interactive) 14885 (interactive)
@@ -14912,6 +14935,9 @@ otherwise use cached data."
14912 (when (memq 'display vhdl-speedbar-save-cache) 14935 (when (memq 'display vhdl-speedbar-save-cache)
14913 (add-to-list 'vhdl-updated-project-list key)))) 14936 (add-to-list 'vhdl-updated-project-list key))))
14914 14937
14938(declare-function speedbar-change-expand-button-char "speedbar" (char))
14939(declare-function speedbar-delete-subblock "speedbar" (indent))
14940
14915(defun vhdl-speedbar-expand-project (text token indent) 14941(defun vhdl-speedbar-expand-project (text token indent)
14916 "Expand/contract the project under the cursor." 14942 "Expand/contract the project under the cursor."
14917 (cond 14943 (cond
@@ -15240,6 +15266,8 @@ otherwise use cached data."
15240 (setq vhdl-speedbar-last-selected-project vhdl-project))) 15266 (setq vhdl-speedbar-last-selected-project vhdl-project)))
15241 t) 15267 t)
15242 15268
15269(declare-function speedbar-position-cursor-on-line "speedbar" ())
15270
15243(defun vhdl-speedbar-update-current-unit (&optional no-position always) 15271(defun vhdl-speedbar-update-current-unit (&optional no-position always)
15244 "Highlight all design units that are contained in the current file. 15272 "Highlight all design units that are contained in the current file.
15245NO-POSITION non-nil means do not re-position cursor." 15273NO-POSITION non-nil means do not re-position cursor."
@@ -15329,6 +15357,9 @@ NO-POSITION non-nil means do not re-position cursor."
15329 (setq unit-list (cdr unit-list))) 15357 (setq unit-list (cdr unit-list)))
15330 pos) 15358 pos)
15331 15359
15360(declare-function speedbar-make-button "speedbar"
15361 (start end face mouse function &optional token))
15362
15332(defun vhdl-speedbar-make-inst-line (inst-name inst-file-marker 15363(defun vhdl-speedbar-make-inst-line (inst-name inst-file-marker
15333 ent-name ent-file-marker 15364 ent-name ent-file-marker
15334 arch-name arch-file-marker 15365 arch-name arch-file-marker
@@ -15515,6 +15546,8 @@ NO-POSITION non-nil means do not re-position cursor."
15515 'speedbar-directory-face level) 15546 'speedbar-directory-face level)
15516 (setq dirs (cdr dirs))))) 15547 (setq dirs (cdr dirs)))))
15517 15548
15549(declare-function speedbar-reset-scanners "speedbar" ())
15550
15518(defun vhdl-speedbar-dired (text token indent) 15551(defun vhdl-speedbar-dired (text token indent)
15519 "Speedbar click handler for directory expand button in hierarchy mode." 15552 "Speedbar click handler for directory expand button in hierarchy mode."
15520 (cond ((string-match "+" text) ; we have to expand this dir 15553 (cond ((string-match "+" text) ; we have to expand this dir
@@ -15554,6 +15587,8 @@ NO-POSITION non-nil means do not re-position cursor."
15554 (when (equal (selected-frame) speedbar-frame) 15587 (when (equal (selected-frame) speedbar-frame)
15555 (speedbar-center-buffer-smartly))) 15588 (speedbar-center-buffer-smartly)))
15556 15589
15590(declare-function speedbar-files-item-info "speedbar" ())
15591
15557(defun vhdl-speedbar-item-info () 15592(defun vhdl-speedbar-item-info ()
15558 "Derive and display information about this line item." 15593 "Derive and display information about this line item."
15559 (save-excursion 15594 (save-excursion
@@ -15602,6 +15637,8 @@ NO-POSITION non-nil means do not re-position cursor."
15602 (vhdl-default-directory))))) 15637 (vhdl-default-directory)))))
15603 (t (message ""))))) 15638 (t (message "")))))
15604 15639
15640(declare-function speedbar-line-text "speedbar" (&optional p))
15641
15605(defun vhdl-speedbar-line-text () 15642(defun vhdl-speedbar-line-text ()
15606 "Calls `speedbar-line-text' and removes text properties." 15643 "Calls `speedbar-line-text' and removes text properties."
15607 (let ((string (speedbar-line-text))) 15644 (let ((string (speedbar-line-text)))
@@ -15696,6 +15733,11 @@ NO-POSITION non-nil means do not re-position cursor."
15696 (goto-char dest) 15733 (goto-char dest)
15697 nil))) 15734 nil)))
15698 15735
15736(declare-function speedbar-find-file-in-frame "speedbar" (file))
15737(declare-function speedbar-set-timer "speedbar" (timeout))
15738;; speedbar loads dframe at runtime.
15739(declare-function dframe-maybee-jump-to-attached-frame "dframe" ())
15740
15699(defun vhdl-speedbar-find-file (text token indent) 15741(defun vhdl-speedbar-find-file (text token indent)
15700 "When user clicks on TEXT, load file with name and position in TOKEN. 15742 "When user clicks on TEXT, load file with name and position in TOKEN.
15701Jump to the design unit if `vhdl-speedbar-jump-to-unit' is t or if the file 15743Jump to the design unit if `vhdl-speedbar-jump-to-unit' is t or if the file
@@ -15709,7 +15751,7 @@ is already shown in a buffer."
15709 (recenter)) 15751 (recenter))
15710 (vhdl-speedbar-update-current-unit t t) 15752 (vhdl-speedbar-update-current-unit t t)
15711 (speedbar-set-timer dframe-update-speed) 15753 (speedbar-set-timer dframe-update-speed)
15712 (speedbar-maybee-jump-to-attached-frame)))) 15754 (dframe-maybee-jump-to-attached-frame))))
15713 15755
15714(defun vhdl-speedbar-port-copy () 15756(defun vhdl-speedbar-port-copy ()
15715 "Copy the port of the entity/component or subprogram under the cursor." 15757 "Copy the port of the entity/component or subprogram under the cursor."
@@ -15769,6 +15811,8 @@ is already shown in a buffer."
15769 (setcar (cddr (cddr ent-entry)) arch-key) ; (nth 4 ent-entry) 15811 (setcar (cddr (cddr ent-entry)) arch-key) ; (nth 4 ent-entry)
15770 (speedbar-refresh)))) 15812 (speedbar-refresh))))
15771 15813
15814(declare-function speedbar-line-file "speedbar" (&optional p))
15815
15772(defun vhdl-speedbar-make-design () 15816(defun vhdl-speedbar-make-design ()
15773 "Make (compile) design unit or directory/project under the cursor." 15817 "Make (compile) design unit or directory/project under the cursor."
15774 (interactive) 15818 (interactive)
diff --git a/lisp/speedbar.el b/lisp/speedbar.el
index 70bf5f41518..9daa77b740f 100644
--- a/lisp/speedbar.el
+++ b/lisp/speedbar.el
@@ -73,7 +73,7 @@ this version is not backward compatible to 0.14 or earlier.")
73;; `speedbar-insert-generic-list'. If you use 73;; `speedbar-insert-generic-list'. If you use
74;; `speedbar-insert-generic-list', also read the doc for 74;; `speedbar-insert-generic-list', also read the doc for
75;; `speedbar-tag-hierarchy-method' in case you wish to override it. 75;; `speedbar-tag-hierarchy-method' in case you wish to override it.
76;; The macro `speedbar-with-attached-buffer' brings you back to the 76;; The macro `dframe-with-attached-buffer' brings you back to the
77;; buffer speedbar is displaying for. 77;; buffer speedbar is displaying for.
78;; 78;;
79;; For those functions that make buttons, the "function" should be a 79;; For those functions that make buttons, the "function" should be a
@@ -1137,10 +1137,7 @@ in the selected file.
1137 dframe-mouse-position-function #'speedbar-position-cursor-on-line)) 1137 dframe-mouse-position-function #'speedbar-position-cursor-on-line))
1138 speedbar-buffer) 1138 speedbar-buffer)
1139 1139
1140(defmacro speedbar-message (fmt &rest args) 1140(define-obsolete-function-alias 'speedbar-message 'dframe-message "24.4")
1141 "Like `message', but for use in the speedbar frame.
1142Argument FMT is the format string, and ARGS are the arguments for message."
1143 `(dframe-message ,fmt ,@args))
1144 1141
1145(defsubst speedbar-y-or-n-p (prompt &optional deleting) 1142(defsubst speedbar-y-or-n-p (prompt &optional deleting)
1146 "Like `y-or-n-p', but for use in the speedbar frame. 1143 "Like `y-or-n-p', but for use in the speedbar frame.
@@ -1157,8 +1154,10 @@ return true without a query."
1157 (dframe-select-attached-frame (speedbar-current-frame))) 1154 (dframe-select-attached-frame (speedbar-current-frame)))
1158 1155
1159;; Backwards compatibility 1156;; Backwards compatibility
1160(defalias 'speedbar-with-attached-buffer 'dframe-with-attached-buffer) 1157(define-obsolete-function-alias 'speedbar-with-attached-buffer
1161(defalias 'speedbar-maybee-jump-to-attached-frame 'dframe-maybee-jump-to-attached-frame) 1158 'dframe-with-attached-buffer "24.4") ; macro
1159(define-obsolete-function-alias 'speedbar-maybee-jump-to-attached-frame
1160 'dframe-maybee-jump-to-attached-frame "24.4")
1162 1161
1163(defun speedbar-set-mode-line-format () 1162(defun speedbar-set-mode-line-format ()
1164 "Set the format of the mode line based on the current speedbar environment. 1163 "Set the format of the mode line based on the current speedbar environment.
@@ -1285,7 +1284,7 @@ and the existence of packages."
1285 (if (eq major-mode 'speedbar-mode) 1284 (if (eq major-mode 'speedbar-mode)
1286 ;; XEmacs may let us get in here in other mode buffers. 1285 ;; XEmacs may let us get in here in other mode buffers.
1287 (speedbar-item-info))) 1286 (speedbar-item-info)))
1288 (error (speedbar-message nil))))))) 1287 (error (dframe-message nil)))))))
1289 1288
1290(defun speedbar-show-info-under-mouse () 1289(defun speedbar-show-info-under-mouse ()
1291 "Call the info function for the line under the mouse." 1290 "Call the info function for the line under the mouse."
@@ -1417,13 +1416,13 @@ Argument ARG represents to force a refresh past any caches that may exist."
1417 (delq (assoc d speedbar-directory-contents-alist) 1416 (delq (assoc d speedbar-directory-contents-alist)
1418 speedbar-directory-contents-alist))) 1417 speedbar-directory-contents-alist)))
1419 (if (<= 1 speedbar-verbosity-level) 1418 (if (<= 1 speedbar-verbosity-level)
1420 (speedbar-message "Refreshing speedbar...")) 1419 (dframe-message "Refreshing speedbar..."))
1421 (speedbar-update-contents) 1420 (speedbar-update-contents)
1422 (speedbar-stealthy-updates) 1421 (speedbar-stealthy-updates)
1423 ;; Reset the timer in case it got really hosed for some reason... 1422 ;; Reset the timer in case it got really hosed for some reason...
1424 (speedbar-set-timer dframe-update-speed) 1423 (speedbar-set-timer dframe-update-speed)
1425 (if (<= 1 speedbar-verbosity-level) 1424 (if (<= 1 speedbar-verbosity-level)
1426 (speedbar-message "Refreshing speedbar...done")))) 1425 (dframe-message "Refreshing speedbar...done"))))
1427 1426
1428(defun speedbar-item-load () 1427(defun speedbar-item-load ()
1429 "Load the item under the cursor or mouse if it is a Lisp file." 1428 "Load the item under the cursor or mouse if it is a Lisp file."
@@ -1467,7 +1466,7 @@ File style information is displayed with `speedbar-item-info'."
1467 ;; Skip items in "folder" type text characters. 1466 ;; Skip items in "folder" type text characters.
1468 (if (looking-at "\\s-*[[<({].[]>)}] ") (goto-char (match-end 0))) 1467 (if (looking-at "\\s-*[[<({].[]>)}] ") (goto-char (match-end 0)))
1469 ;; Get the text 1468 ;; Get the text
1470 (speedbar-message "Text: %s" (buffer-substring-no-properties 1469 (dframe-message "Text: %s" (buffer-substring-no-properties
1471 (point) (line-end-position))))) 1470 (point) (line-end-position)))))
1472 1471
1473(defun speedbar-item-info () 1472(defun speedbar-item-info ()
@@ -1485,7 +1484,7 @@ Return nil if not applicable. If FILENAME, then use that
1485instead of reading it from the speedbar buffer." 1484instead of reading it from the speedbar buffer."
1486 (let* ((item (or filename (speedbar-line-file))) 1485 (let* ((item (or filename (speedbar-line-file)))
1487 (attr (if item (file-attributes item) nil))) 1486 (attr (if item (file-attributes item) nil)))
1488 (if (and item attr) (speedbar-message "%s %-6d %s" (nth 8 attr) 1487 (if (and item attr) (dframe-message "%s %-6d %s" (nth 8 attr)
1489 (nth 7 attr) item) 1488 (nth 7 attr) item)
1490 nil))) 1489 nil)))
1491 1490
@@ -1506,14 +1505,14 @@ Return nil if not applicable."
1506 (when (and (semantic-tag-overlay attr) 1505 (when (and (semantic-tag-overlay attr)
1507 (semantic-tag-buffer attr)) 1506 (semantic-tag-buffer attr))
1508 (set-buffer (semantic-tag-buffer attr))) 1507 (set-buffer (semantic-tag-buffer attr)))
1509 (speedbar-message 1508 (dframe-message
1510 (funcall semantic-sb-info-format-tag-function attr) 1509 (funcall semantic-sb-info-format-tag-function attr)
1511 ))) 1510 )))
1512 (looking-at "\\([0-9]+\\):") 1511 (looking-at "\\([0-9]+\\):")
1513 (setq item (file-name-nondirectory (speedbar-line-directory))) 1512 (setq item (file-name-nondirectory (speedbar-line-directory)))
1514 (speedbar-message "Tag: %s in %s" tag item))) 1513 (dframe-message "Tag: %s in %s" tag item)))
1515 (if (re-search-forward "{[+-]} \\([^\n]+\\)$" (line-end-position) t) 1514 (if (re-search-forward "{[+-]} \\([^\n]+\\)$" (line-end-position) t)
1516 (speedbar-message "Group of tags \"%s\"" (match-string 1)) 1515 (dframe-message "Group of tags \"%s\"" (match-string 1))
1517 (if (re-search-forward " [+-]?[()|@] \\([^\n]+\\)$" nil t) 1516 (if (re-search-forward " [+-]?[()|@] \\([^\n]+\\)$" nil t)
1518 (let* ((detailtext (match-string 1)) 1517 (let* ((detailtext (match-string 1))
1519 (detail (or (speedbar-line-token) detailtext)) 1518 (detail (or (speedbar-line-token) detailtext))
@@ -1532,18 +1531,18 @@ Return nil if not applicable."
1532 (if (featurep 'semantic) 1531 (if (featurep 'semantic)
1533 (with-no-warnings 1532 (with-no-warnings
1534 (if (semantic-tag-p detail) 1533 (if (semantic-tag-p detail)
1535 (speedbar-message 1534 (dframe-message
1536 (funcall semantic-sb-info-format-tag-function detail parent)) 1535 (funcall semantic-sb-info-format-tag-function detail parent))
1537 (if parent 1536 (if parent
1538 (speedbar-message "Detail: %s of tag %s" detail 1537 (dframe-message "Detail: %s of tag %s" detail
1539 (if (semantic-tag-p parent) 1538 (if (semantic-tag-p parent)
1540 (semantic-format-tag-name parent nil t) 1539 (semantic-format-tag-name parent nil t)
1541 parent)) 1540 parent))
1542 (speedbar-message "Detail: %s" detail)))) 1541 (dframe-message "Detail: %s" detail))))
1543 ;; Not using `semantic': 1542 ;; Not using `semantic':
1544 (if parent 1543 (if parent
1545 (speedbar-message "Detail: %s of tag %s" detail parent) 1544 (dframe-message "Detail: %s of tag %s" detail parent)
1546 (speedbar-message "Detail: %s" detail)))) 1545 (dframe-message "Detail: %s" detail))))
1547 nil))))) 1546 nil)))))
1548 1547
1549(defun speedbar-files-item-info () 1548(defun speedbar-files-item-info ()
@@ -1641,7 +1640,7 @@ Files can be renamed to new names or moved to new directories."
1641 (if (file-directory-p f) 1640 (if (file-directory-p f)
1642 (delete-directory f t t) 1641 (delete-directory f t t)
1643 (delete-file f t)) 1642 (delete-file f t))
1644 (speedbar-message "Okie dokie.") 1643 (dframe-message "Okie dokie.")
1645 (let ((p (point))) 1644 (let ((p (point)))
1646 (speedbar-refresh) 1645 (speedbar-refresh)
1647 (goto-char p)) 1646 (goto-char p))
@@ -1706,9 +1705,9 @@ variable `speedbar-obj-alist'."
1706 1705
1707(defmacro speedbar-with-writable (&rest forms) 1706(defmacro speedbar-with-writable (&rest forms)
1708 "Allow the buffer to be writable and evaluate FORMS." 1707 "Allow the buffer to be writable and evaluate FORMS."
1709 (list 'let '((inhibit-read-only t)) 1708 (declare (indent 0))
1710 (cons 'progn forms))) 1709 `(let ((inhibit-read-only t))
1711(put 'speedbar-with-writable 'lisp-indent-function 0) 1710 ,@forms))
1712 1711
1713(defun speedbar-insert-button (text face mouse function 1712(defun speedbar-insert-button (text face mouse function
1714 &optional token prevline) 1713 &optional token prevline)
@@ -2437,7 +2436,7 @@ name will have the function FIND-FUN and not token."
2437 (car (car lst)) ;button name 2436 (car (car lst)) ;button name
2438 nil nil 'speedbar-tag-face 2437 nil nil 'speedbar-tag-face
2439 (1+ level))) 2438 (1+ level)))
2440 (t (speedbar-message "speedbar-insert-generic-list: malformed list!") 2439 (t (dframe-message "speedbar-insert-generic-list: malformed list!")
2441 )) 2440 ))
2442 (setq lst (cdr lst))))) 2441 (setq lst (cdr lst)))))
2443 2442
@@ -2492,14 +2491,14 @@ name will have the function FIND-FUN and not token."
2492 (expand-file-name default-directory)))) 2491 (expand-file-name default-directory))))
2493 nil 2492 nil
2494 (if (<= 1 speedbar-verbosity-level) 2493 (if (<= 1 speedbar-verbosity-level)
2495 (speedbar-message "Updating speedbar to: %s..." 2494 (dframe-message "Updating speedbar to: %s..."
2496 default-directory)) 2495 default-directory))
2497 (speedbar-update-directory-contents) 2496 (speedbar-update-directory-contents)
2498 (if (<= 1 speedbar-verbosity-level) 2497 (if (<= 1 speedbar-verbosity-level)
2499 (progn 2498 (progn
2500 (speedbar-message "Updating speedbar to: %s...done" 2499 (dframe-message "Updating speedbar to: %s...done"
2501 default-directory) 2500 default-directory)
2502 (speedbar-message nil)))) 2501 (dframe-message nil))))
2503 ;; Else, we can do a short cut. No text cache. 2502 ;; Else, we can do a short cut. No text cache.
2504 (let ((cbd (expand-file-name default-directory))) 2503 (let ((cbd (expand-file-name default-directory)))
2505 (set-buffer speedbar-buffer) 2504 (set-buffer speedbar-buffer)
@@ -2662,16 +2661,16 @@ Also resets scanner functions."
2662 ;;(eq (get major-mode 'mode-class 'special))) 2661 ;;(eq (get major-mode 'mode-class 'special)))
2663 (progn 2662 (progn
2664 (if (<= 2 speedbar-verbosity-level) 2663 (if (<= 2 speedbar-verbosity-level)
2665 (speedbar-message 2664 (dframe-message
2666 "Updating speedbar to special mode: %s..." 2665 "Updating speedbar to special mode: %s..."
2667 major-mode)) 2666 major-mode))
2668 (speedbar-update-special-contents) 2667 (speedbar-update-special-contents)
2669 (if (<= 2 speedbar-verbosity-level) 2668 (if (<= 2 speedbar-verbosity-level)
2670 (progn 2669 (progn
2671 (speedbar-message 2670 (dframe-message
2672 "Updating speedbar to special mode: %s...done" 2671 "Updating speedbar to special mode: %s...done"
2673 major-mode) 2672 major-mode)
2674 (speedbar-message nil)))) 2673 (dframe-message nil))))
2675 2674
2676 ;; Update all the contents if directories change! 2675 ;; Update all the contents if directories change!
2677 (unless (and (or (member major-mode speedbar-ignored-modes) 2676 (unless (and (or (member major-mode speedbar-ignored-modes)
@@ -2704,7 +2703,7 @@ interrupted by the user."
2704 (while (and l (funcall (car l))) 2703 (while (and l (funcall (car l)))
2705 ;;(sit-for 0) 2704 ;;(sit-for 0)
2706 (setq l (cdr l)))) 2705 (setq l (cdr l))))
2707 ;;(speedbar-message "Exit with %S" (car l)) 2706 ;;(dframe-message "Exit with %S" (car l))
2708 )))) 2707 ))))
2709 2708
2710(defun speedbar-reset-scanners () 2709(defun speedbar-reset-scanners ()
@@ -2944,7 +2943,7 @@ the file being checked."
2944 (point)))) 2943 (point))))
2945 (fulln (concat f fn))) 2944 (fulln (concat f fn)))
2946 (if (<= 2 speedbar-verbosity-level) 2945 (if (<= 2 speedbar-verbosity-level)
2947 (speedbar-message "Speedbar vc check...%s" fulln)) 2946 (dframe-message "Speedbar vc check...%s" fulln))
2948 (and (file-writable-p fulln) 2947 (and (file-writable-p fulln)
2949 (speedbar-this-file-in-vc f fn)))) 2948 (speedbar-this-file-in-vc f fn))))
2950 2949
@@ -3016,7 +3015,7 @@ the file being checked."
3016 (point)))) 3015 (point))))
3017 (fulln (concat f fn))) 3016 (fulln (concat f fn)))
3018 (if (<= 2 speedbar-verbosity-level) 3017 (if (<= 2 speedbar-verbosity-level)
3019 (speedbar-message "Speedbar obj check...%s" fulln)) 3018 (dframe-message "Speedbar obj check...%s" fulln))
3020 (let ((oa speedbar-obj-alist)) 3019 (let ((oa speedbar-obj-alist))
3021 (while (and oa (not (string-match (car (car oa)) fulln))) 3020 (while (and oa (not (string-match (car (car oa)) fulln)))
3022 (setq oa (cdr oa))) 3021 (setq oa (cdr oa)))
@@ -3076,7 +3075,7 @@ a function if appropriate."
3076 (buffer-substring-no-properties 3075 (buffer-substring-no-properties
3077 (match-beginning 0) (match-end 0)) 3076 (match-beginning 0) (match-end 0))
3078 "0"))))) 3077 "0")))))
3079 ;;(speedbar-message "%S:%S:%S:%s" fn tok txt dent) 3078 ;;(dframe-message "%S:%S:%S:%s" fn tok txt dent)
3080 (and fn (funcall fn txt tok dent))) 3079 (and fn (funcall fn txt tok dent)))
3081 (speedbar-position-cursor-on-line)) 3080 (speedbar-position-cursor-on-line))
3082 3081
@@ -3697,14 +3696,14 @@ Each symbol will be associated with its line position in FILE."
3697 (if (get-buffer "*etags tmp*") 3696 (if (get-buffer "*etags tmp*")
3698 (kill-buffer "*etags tmp*")) ;kill to clean it up 3697 (kill-buffer "*etags tmp*")) ;kill to clean it up
3699 (if (<= 1 speedbar-verbosity-level) 3698 (if (<= 1 speedbar-verbosity-level)
3700 (speedbar-message "Fetching etags...")) 3699 (dframe-message "Fetching etags..."))
3701 (set-buffer (get-buffer-create "*etags tmp*")) 3700 (set-buffer (get-buffer-create "*etags tmp*"))
3702 (apply 'call-process speedbar-fetch-etags-command nil 3701 (apply 'call-process speedbar-fetch-etags-command nil
3703 (current-buffer) nil 3702 (current-buffer) nil
3704 (append speedbar-fetch-etags-arguments (list file))) 3703 (append speedbar-fetch-etags-arguments (list file)))
3705 (goto-char (point-min)) 3704 (goto-char (point-min))
3706 (if (<= 1 speedbar-verbosity-level) 3705 (if (<= 1 speedbar-verbosity-level)
3707 (speedbar-message "Fetching etags...")) 3706 (dframe-message "Fetching etags..."))
3708 (let ((expr 3707 (let ((expr
3709 (let ((exprlst speedbar-fetch-etags-parse-list) 3708 (let ((exprlst speedbar-fetch-etags-parse-list)
3710 (ans nil)) 3709 (ans nil))
@@ -3721,7 +3720,7 @@ Each symbol will be associated with its line position in FILE."
3721 (setq tnl (speedbar-extract-one-symbol expr))) 3720 (setq tnl (speedbar-extract-one-symbol expr)))
3722 (if tnl (setq newlist (cons tnl newlist))) 3721 (if tnl (setq newlist (cons tnl newlist)))
3723 (forward-line 1))) 3722 (forward-line 1)))
3724 (speedbar-message 3723 (dframe-message
3725 "Sorry, no support for a file of that extension")))) 3724 "Sorry, no support for a file of that extension"))))
3726 ) 3725 )
3727 (if speedbar-sort-tags 3726 (if speedbar-sort-tags
@@ -3908,7 +3907,7 @@ Argument BUFFER is the buffer being tested."
3908 (let* ((item (speedbar-line-text)) 3907 (let* ((item (speedbar-line-text))
3909 (buffer (if item (get-buffer item) nil))) 3908 (buffer (if item (get-buffer item) nil)))
3910 (and buffer 3909 (and buffer
3911 (speedbar-message "%s%s %S %d %s" 3910 (dframe-message "%s%s %S %d %s"
3912 (if (buffer-modified-p buffer) "* " "") 3911 (if (buffer-modified-p buffer) "* " "")
3913 item 3912 item
3914 (with-current-buffer buffer major-mode) 3913 (with-current-buffer buffer major-mode)