mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-26 10:49:33 +00:00
(speedbar-handle-delete-frame): Don't try to delete the speedbar frame if nil;
that deletes the current frame or causes an error if it is the only frame.
This commit is contained in:
parent
251db0f475
commit
e5d2b9d417
@ -10,7 +10,7 @@
|
||||
"The current version of speedbar.")
|
||||
(defvar speedbar-incompatible-version "0.14beta4"
|
||||
"This version of speedbar is incompatible with this version.
|
||||
Due to massive API changes (removing the use of the word PATH)
|
||||
Due to massive API changes (removing the use of the word PATH)
|
||||
this version is not backward compatible to 0.14 or earlier.")
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
@ -915,7 +915,7 @@ This basically creates a sparse keymap, and makes its parent be
|
||||
(looking-at "[0-9]+: *\\[[+-]\\] [^ \n]+ \\*?[!#]$"))]
|
||||
)
|
||||
"Additional menu items while in file-mode.")
|
||||
|
||||
|
||||
(defvar speedbar-easymenu-definition-trailer
|
||||
(append
|
||||
(if (and (featurep 'custom) (fboundp 'custom-declare-variable))
|
||||
@ -958,13 +958,13 @@ directories.")
|
||||
(defalias 'speedbar-make-overlay
|
||||
(if (featurep 'xemacs) 'make-extent 'make-overlay))
|
||||
|
||||
(defalias 'speedbar-overlay-put
|
||||
(defalias 'speedbar-overlay-put
|
||||
(if (featurep 'xemacs) 'set-extent-property 'overlay-put))
|
||||
|
||||
(defalias 'speedbar-delete-overlay
|
||||
(defalias 'speedbar-delete-overlay
|
||||
(if (featurep 'xemacs) 'delete-extent 'delete-overlay))
|
||||
|
||||
(defalias 'speedbar-mode-line-update
|
||||
(defalias 'speedbar-mode-line-update
|
||||
(if (featurep 'xemacs) 'redraw-modeline 'force-mode-line-update))
|
||||
|
||||
;;; Mode definitions/ user commands
|
||||
@ -1053,10 +1053,10 @@ supported at a time.
|
||||
"Handle a delete frame event E.
|
||||
If the deleted frame is the frame SPEEDBAR is attached to,
|
||||
we need to delete speedbar also."
|
||||
(let ((frame-to-be-deleted (car (car (cdr e)))))
|
||||
(if (eq frame-to-be-deleted dframe-attached-frame)
|
||||
(delete-frame speedbar-frame)))
|
||||
)
|
||||
(when (and speedbar-frame
|
||||
(eq (car (car (cdr e))) ;; frame to be deleted
|
||||
dframe-attached-frame))
|
||||
(delete-frame speedbar-frame)))
|
||||
|
||||
;;;###autoload
|
||||
(defun speedbar-get-focus ()
|
||||
@ -1158,7 +1158,7 @@ return true without a query."
|
||||
;; Backwards compatibility
|
||||
(defalias 'speedbar-with-attached-buffer 'dframe-with-attached-buffer)
|
||||
(defalias 'speedbar-maybee-jump-to-attached-frame 'dframe-maybee-jump-to-attached-frame)
|
||||
|
||||
|
||||
(defun speedbar-set-mode-line-format ()
|
||||
"Set the format of the mode line based on the current speedbar environment.
|
||||
This gives visual indications of what is up. It EXPECTS the speedbar
|
||||
@ -2055,7 +2055,7 @@ position to insert a new item, and that the new item will end with a CR."
|
||||
(if tag-button-function 'speedbar-highlight-face nil)
|
||||
tag-button-function tag-button-data))
|
||||
))
|
||||
|
||||
|
||||
(defun speedbar-change-expand-button-char (char)
|
||||
"Change the expansion button character to CHAR for the current line."
|
||||
(save-excursion
|
||||
@ -2100,7 +2100,7 @@ cell of the form ( 'DIRLIST . 'FILELIST )."
|
||||
|
||||
(defun speedbar-default-directory-list (directory index)
|
||||
"Insert files for DIRECTORY with level INDEX at point."
|
||||
(speedbar-insert-files-at-point
|
||||
(speedbar-insert-files-at-point
|
||||
(speedbar-file-lists directory) index)
|
||||
(speedbar-reset-scanners)
|
||||
(if (= index 0)
|
||||
@ -2454,7 +2454,7 @@ name will have the function FIND-FUN and not token."
|
||||
(speedbar-insert-generic-list indent lst
|
||||
'speedbar-tag-expand
|
||||
'speedbar-tag-find))
|
||||
|
||||
|
||||
(defun speedbar-insert-etags-list (indent lst)
|
||||
"At level INDENT, insert the etags generated LST."
|
||||
(speedbar-insert-generic-list indent lst
|
||||
@ -2729,7 +2729,7 @@ If new functions are added, their state needs to be updated here."
|
||||
"Go to the line where FILE is."
|
||||
|
||||
(set-buffer speedbar-buffer)
|
||||
|
||||
|
||||
(goto-char (point-min))
|
||||
(let ((m nil))
|
||||
(while (and (setq m (re-search-forward
|
||||
@ -3220,7 +3220,7 @@ directory with these items. This function is replaceable in
|
||||
(widen)
|
||||
(let ((rf (speedbar-fetch-replacement-function 'speedbar-line-directory)))
|
||||
(if rf (funcall rf depth) default-directory))))
|
||||
|
||||
|
||||
(defun speedbar-files-line-directory (&optional depth)
|
||||
"Retrieve the directoryname associated with the current line.
|
||||
This may require traversing backwards from DEPTH and combining the default
|
||||
@ -3305,12 +3305,12 @@ With universal argument ARG, flush cached data."
|
||||
(forward-char -2)
|
||||
(speedbar-do-function-pointer))
|
||||
(error (speedbar-position-cursor-on-line)))))
|
||||
|
||||
|
||||
(defun speedbar-flush-expand-line ()
|
||||
"Expand the line under the cursor and flush any cached information."
|
||||
(interactive)
|
||||
(speedbar-expand-line 1))
|
||||
|
||||
|
||||
(defun speedbar-contract-line ()
|
||||
"Contract the line under the cursor."
|
||||
(interactive)
|
||||
@ -3559,11 +3559,11 @@ This assumes that the cursor is on a file, or tag of a file which the user is
|
||||
interested in."
|
||||
|
||||
(save-selected-window
|
||||
|
||||
|
||||
(select-window (get-buffer-window speedbar-buffer t))
|
||||
|
||||
|
||||
(set-buffer speedbar-buffer)
|
||||
|
||||
|
||||
(if (<= (count-lines (point-min) (point-max))
|
||||
(1- (window-height (selected-window))))
|
||||
;; whole buffer fits
|
||||
|
Loading…
Reference in New Issue
Block a user