summaryrefslogtreecommitdiff
path: root/lisp/progmodes/vhdl-mode.el
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2013-05-21 20:13:56 -0700
committerGlenn Morris <rgm@gnu.org>2013-05-21 20:13:56 -0700
commit0cdffd7dd407452c8d60931736a5be52cf9ed7b6 (patch)
tree0ce2f01293b833e673dc341aa7396d2e78eb0d0e /lisp/progmodes/vhdl-mode.el
parentab56a6f42c21c8c074b5e50a928955a8d69768f7 (diff)
downloademacs-0cdffd7dd407452c8d60931736a5be52cf9ed7b6.tar.gz
Small speedbar-related clean-up
* lisp/dframe.el (x-sensitive-text-pointer-shape, x-pointer-shape): Remove unnecessary declarations. (dframe-message): Doc fix. * lisp/info.el (dframe-select-attached-frame, dframe-current-frame): Declare. * lisp/speedbar.el (speedbar-message): Make it an obsolete alias. Update all callers. (speedbar-with-attached-buffer) (speedbar-maybee-jump-to-attached-frame): Make these aliases obsolete. (speedbar-with-writable): Use backquote. * lisp/emacs-lisp/eieio-opt.el (eieio-describe-class-sb): * lisp/emacs-lisp/eieio-speedbar.el (eieio-speedbar-handle-click): Use dframe-with-attached-buffer, dframe-maybee-jump-to-attached-frame rather than speedbar- aliases. * lisp/mail/rmail.el: Load dframe rather than speedbar when compiling. (speedbar-make-specialized-keymap, speedbar-insert-button) (dframe-select-attached-frame, dframe-maybee-jump-to-attached-frame) (speedbar-do-function-pointer): Declare. (rmail-speedbar-button, rmail-speedbar-find-file) (rmail-speedbar-move-message): Use dframe-with-attached-buffer rather than speedbar- alias. * lisp/progmodes/gud.el: Load dframe rather than speedbar when compiling. (dframe-message, speedbar-make-specialized-keymap) (speedbar-add-expansion-list, speedbar-mode-functions-list) (speedbar-make-tag-line, speedbar-remove-localized-speedbar-support) (speedbar-insert-button, dframe-select-attached-frame) (dframe-maybee-jump-to-attached-frame) (speedbar-change-initial-expansion-list) (speedbar-previously-used-expansion-list-name): Declare. (gud-speedbar-item-info, gud-gdb-goto-stackframe): Use dframe-message, dframe-with-attached-buffer rather than speedbar- aliases. (gud-sentinel): Silence compiler. * lisp/progmodes/vhdl-mode.el (speedbar-refresh) (speedbar-do-function-pointer, speedbar-add-supported-extension) (speedbar-add-mode-functions-list, speedbar-make-specialized-keymap) (speedbar-change-initial-expansion-list, speedbar-add-expansion-list) (speedbar-extension-list-to-regex, speedbar-directory-buttons) (speedbar-file-lists, speedbar-make-tag-line) (speedbar-line-directory, speedbar-goto-this-file) (speedbar-center-buffer-smartly, speedbar-change-expand-button-char) (speedbar-delete-subblock, speedbar-position-cursor-on-line) (speedbar-make-button, speedbar-reset-scanners) (speedbar-files-item-info, speedbar-line-text) (speedbar-find-file-in-frame, speedbar-set-timer) (dframe-maybee-jump-to-attached-frame, speedbar-line-file): Declare. (speedbar-with-writable): Do not (re)define it. (vhdl-speedbar-find-file): Use dframe-maybee-jump-to-attached-frame rather than speedbar- alias. * lisp/cedet/ede/speedbar.el (ede-file-find, ede-tag-find): * lisp/cedet/semantic/sb.el (semantic-sb-token-jump): Use dframe-maybee-jump-to-attached-frame rather than speedbar- alias. * lisp/mh-e/mh-speed.el (mh-speed-view): Use dframe-with-attached-buffer rather than speedbar- alias.
Diffstat (limited to 'lisp/progmodes/vhdl-mode.el')
-rw-r--r--lisp/progmodes/vhdl-mode.el58
1 files changed, 51 insertions, 7 deletions
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.")
(eval-when-compile
(require 'font-lock)
(require 'ps-print)
- (require 'speedbar)))
+ (require 'speedbar))) ; for speedbar-with-writable
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -2553,6 +2553,9 @@ conversion."
(setcdr list1 (cddr list1))))
(cdr list))
+(declare-function speedbar-refresh "speedbar" (&optional arg))
+(declare-function speedbar-do-function-pointer "speedbar" ())
+
(defun vhdl-speedbar-refresh (&optional key)
"Refresh directory or project with name KEY."
(when (and (boundp 'speedbar-frame)
@@ -14515,6 +14518,13 @@ if required."
(defvar vhdl-speedbar-menu-items nil
"Additional menu-items to add to speedbar frame.")
+(declare-function speedbar-add-supported-extension "speedbar" (extension))
+(declare-function speedbar-add-mode-functions-list "speedbar" (new-list))
+(declare-function speedbar-make-specialized-keymap "speedbar" ())
+(declare-function speedbar-change-initial-expansion-list "speedbar"
+ (new-default))
+(declare-function speedbar-add-expansion-list "speedbar" (new-list))
+
(defun vhdl-speedbar-initialize ()
"Initialize speedbar."
;; general settings
@@ -14644,11 +14654,15 @@ if required."
"Name of last selected project.")
;; macros must be defined in the file they are used (copied from `speedbar.el')
-(defmacro speedbar-with-writable (&rest forms)
- "Allow the buffer to be writable and evaluate FORMS."
- (list 'let '((inhibit-read-only t))
- (cons 'progn forms)))
-(put 'speedbar-with-writable 'lisp-indent-function 0)
+;;; (defmacro speedbar-with-writable (&rest forms)
+;;; "Allow the buffer to be writable and evaluate FORMS."
+;;; (list 'let '((inhibit-read-only t))
+;;; (cons 'progn forms)))
+;;; (put 'speedbar-with-writable 'lisp-indent-function 0)
+
+(declare-function speedbar-extension-list-to-regex "speedbar" (extlist))
+(declare-function speedbar-directory-buttons "speedbar" (directory _index))
+(declare-function speedbar-file-lists "speedbar" (directory))
(defun vhdl-speedbar-display-directory (directory depth &optional rescan)
"Display directory and hierarchy information in speedbar."
@@ -14684,6 +14698,9 @@ if required."
(error (vhdl-warning-when-idle "ERROR: Invalid hierarchy information, unable to display correctly"))))
(setq speedbar-full-text-cache nil)) ; prevent caching
+(declare-function speedbar-make-tag-line "speedbar"
+ (type char func data tag tfunc tdata tface depth))
+
(defun vhdl-speedbar-insert-projects ()
"Insert all projects in speedbar."
(vhdl-speedbar-make-title-line "Projects:")
@@ -14787,6 +14804,8 @@ otherwise use cached data."
depth)
(setq pack-alist (cdr pack-alist))))))
+(declare-function speedbar-line-directory "speedbar" (&optional depth))
+
(defun vhdl-speedbar-rescan-hierarchy ()
"Rescan hierarchy for the directory or project under the cursor."
(interactive)
@@ -14808,6 +14827,8 @@ otherwise use cached data."
(abbreviate-file-name (match-string 1 path)))))
(vhdl-speedbar-refresh key)))
+(declare-function speedbar-goto-this-file "speedbar" (file))
+
(defun vhdl-speedbar-expand-dirs (directory)
"Expand subdirectories in DIRECTORY according to
`speedbar-shown-directories'."
@@ -14857,6 +14878,8 @@ otherwise use cached data."
(setq unit-alist (cdr unit-alist))))))
(vhdl-speedbar-update-current-unit nil t))
+(declare-function speedbar-center-buffer-smartly "speedbar" ())
+
(defun vhdl-speedbar-contract-level ()
"Contract current level in current directory/project."
(interactive)
@@ -14912,6 +14935,9 @@ otherwise use cached data."
(when (memq 'display vhdl-speedbar-save-cache)
(add-to-list 'vhdl-updated-project-list key))))
+(declare-function speedbar-change-expand-button-char "speedbar" (char))
+(declare-function speedbar-delete-subblock "speedbar" (indent))
+
(defun vhdl-speedbar-expand-project (text token indent)
"Expand/contract the project under the cursor."
(cond
@@ -15240,6 +15266,8 @@ otherwise use cached data."
(setq vhdl-speedbar-last-selected-project vhdl-project)))
t)
+(declare-function speedbar-position-cursor-on-line "speedbar" ())
+
(defun vhdl-speedbar-update-current-unit (&optional no-position always)
"Highlight all design units that are contained in the current file.
NO-POSITION non-nil means do not re-position cursor."
@@ -15329,6 +15357,9 @@ NO-POSITION non-nil means do not re-position cursor."
(setq unit-list (cdr unit-list)))
pos)
+(declare-function speedbar-make-button "speedbar"
+ (start end face mouse function &optional token))
+
(defun vhdl-speedbar-make-inst-line (inst-name inst-file-marker
ent-name ent-file-marker
arch-name arch-file-marker
@@ -15515,6 +15546,8 @@ NO-POSITION non-nil means do not re-position cursor."
'speedbar-directory-face level)
(setq dirs (cdr dirs)))))
+(declare-function speedbar-reset-scanners "speedbar" ())
+
(defun vhdl-speedbar-dired (text token indent)
"Speedbar click handler for directory expand button in hierarchy mode."
(cond ((string-match "+" text) ; we have to expand this dir
@@ -15554,6 +15587,8 @@ NO-POSITION non-nil means do not re-position cursor."
(when (equal (selected-frame) speedbar-frame)
(speedbar-center-buffer-smartly)))
+(declare-function speedbar-files-item-info "speedbar" ())
+
(defun vhdl-speedbar-item-info ()
"Derive and display information about this line item."
(save-excursion
@@ -15602,6 +15637,8 @@ NO-POSITION non-nil means do not re-position cursor."
(vhdl-default-directory)))))
(t (message "")))))
+(declare-function speedbar-line-text "speedbar" (&optional p))
+
(defun vhdl-speedbar-line-text ()
"Calls `speedbar-line-text' and removes text properties."
(let ((string (speedbar-line-text)))
@@ -15696,6 +15733,11 @@ NO-POSITION non-nil means do not re-position cursor."
(goto-char dest)
nil)))
+(declare-function speedbar-find-file-in-frame "speedbar" (file))
+(declare-function speedbar-set-timer "speedbar" (timeout))
+;; speedbar loads dframe at runtime.
+(declare-function dframe-maybee-jump-to-attached-frame "dframe" ())
+
(defun vhdl-speedbar-find-file (text token indent)
"When user clicks on TEXT, load file with name and position in TOKEN.
Jump 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."
(recenter))
(vhdl-speedbar-update-current-unit t t)
(speedbar-set-timer dframe-update-speed)
- (speedbar-maybee-jump-to-attached-frame))))
+ (dframe-maybee-jump-to-attached-frame))))
(defun vhdl-speedbar-port-copy ()
"Copy the port of the entity/component or subprogram under the cursor."
@@ -15769,6 +15811,8 @@ is already shown in a buffer."
(setcar (cddr (cddr ent-entry)) arch-key) ; (nth 4 ent-entry)
(speedbar-refresh))))
+(declare-function speedbar-line-file "speedbar" (&optional p))
+
(defun vhdl-speedbar-make-design ()
"Make (compile) design unit or directory/project under the cursor."
(interactive)