X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=lisp%2Fgutter-items.el;h=b63504a6e4e04bd66abebb2911af4f883972efb2;hb=c725d4905586474508a01ab26f45a620de788d0c;hp=d5676d32c89677704a6b63a2f702a7166dd1c16e;hpb=1d9bc86590766427e2431876a50d78206a99edd5;p=chise%2Fxemacs-chise.git- diff --git a/lisp/gutter-items.el b/lisp/gutter-items.el index d5676d3..b63504a 100644 --- a/lisp/gutter-items.el +++ b/lisp/gutter-items.el @@ -277,7 +277,7 @@ redefining the function `format-buffers-menu-line'." (and (integerp buffers-tab-max-size) (> buffers-tab-max-size 1) (> (length buffers) buffers-tab-max-size) - (setcdr (nthcdr buffers-tab-max-size buffers) nil)) + (setcdr (nthcdr (1- buffers-tab-max-size) buffers) nil)) ;; sort buffers in group (default is most-recently-selected) (when buffers-tab-sort-function (setq buffers (funcall buffers-tab-sort-function buffers))) @@ -325,30 +325,33 @@ redefining the function `format-buffers-menu-line'." (defun update-tab-in-gutter (frame &optional force-selection) "Update the tab control in the gutter area." ;; dedicated frames don't get tabs - (unless (window-dedicated-p (frame-selected-window frame)) + (unless (or (window-dedicated-p (frame-selected-window frame)) + (frame-property frame 'popup)) (when (specifier-instance default-gutter-visible-p frame) (unless (and gutter-buffers-tab (eq (default-gutter-position) gutter-buffers-tab-orientation)) (add-tab-to-gutter)) (when (valid-image-instantiator-format-p 'tab-control frame) - (set-glyph-image - gutter-buffers-tab - (vector 'tab-control :descriptor "Buffers" :face buffers-tab-face - :orientation gutter-buffers-tab-orientation - (if (or (eq gutter-buffers-tab-orientation 'top) - (eq gutter-buffers-tab-orientation 'bottom)) - :pixel-width :pixel-height) - (if (or (eq gutter-buffers-tab-orientation 'top) - (eq gutter-buffers-tab-orientation 'bottom)) - '(gutter-pixel-width) '(gutter-pixel-height)) - :items (buffers-tab-items nil frame force-selection)) - frame) - ;; set-glyph-image will not make the gutter dirty - (set-specifier-dirty-flag - (eval (intern (concat - (symbol-name gutter-buffers-tab-orientation) - "-gutter")))))))) + (let ((items (buffers-tab-items nil frame force-selection))) + (when items + (set-glyph-image + gutter-buffers-tab + (vector 'tab-control :descriptor "Buffers" :face buffers-tab-face + :orientation gutter-buffers-tab-orientation + (if (or (eq gutter-buffers-tab-orientation 'top) + (eq gutter-buffers-tab-orientation 'bottom)) + :pixel-width :pixel-height) + (if (or (eq gutter-buffers-tab-orientation 'top) + (eq gutter-buffers-tab-orientation 'bottom)) + '(gutter-pixel-width) '(gutter-pixel-height)) + :items items) + frame) + ;; set-glyph-image will not make the gutter dirty + (set-specifier-dirty-flag + (eval (intern (concat + (symbol-name gutter-buffers-tab-orientation) + "-gutter")))))))))) ;; A myriad of different update hooks all doing slightly different things (add-one-shot-hook