X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/21733e4f154f8830fa568a347a0d6dbd59793c2b..9b1aab91fc479be9a923af1874801eadc1c19b20:/lisp/progmodes/ebrowse.el diff --git a/lisp/progmodes/ebrowse.el b/lisp/progmodes/ebrowse.el index 4957b58d46..5a9870b900 100644 --- a/lisp/progmodes/ebrowse.el +++ b/lisp/progmodes/ebrowse.el @@ -1,9 +1,9 @@ ;;; ebrowse.el --- Emacs C++ class browser & tags facility -;; Copyright (C) 1992-2013 Free Software Foundation, Inc. +;; Copyright (C) 1992-2016 Free Software Foundation, Inc. ;; Author: Gerd Moellmann -;; Maintainer: FSF +;; Maintainer: emacs-devel@gnu.org ;; Keywords: C++ tags tools ;; This file is part of GNU Emacs. @@ -33,12 +33,12 @@ ;;; Code: +(require 'cl-lib) (require 'easymenu) (require 'view) (require 'ebuff-menu) (eval-when-compile - (require 'cl-lib) (require 'helper)) @@ -233,19 +233,6 @@ Compare items with `eq' or TEST if specified." found)) -(defun ebrowse-delete-if-not (predicate list) - "Remove elements not satisfying PREDICATE from LIST and return the result. -This is a destructive operation." - (let (result) - (while list - (let ((next (cdr list))) - (when (funcall predicate (car list)) - (setq result (nconc result list)) - (setf (cdr list) nil)) - (setq list next))) - result)) - - (defmacro ebrowse-output (&rest body) "Eval BODY with a writable current buffer. Preserve buffer's modified state." @@ -1310,17 +1297,17 @@ With PREFIX, insert that many filenames." (defun ebrowse-browser-buffer-list () "Return a list of all tree or member buffers." - (ebrowse-delete-if-not 'ebrowse-buffer-p (buffer-list))) + (cl-delete-if-not 'ebrowse-buffer-p (buffer-list))) (defun ebrowse-member-buffer-list () "Return a list of all member buffers." - (ebrowse-delete-if-not 'ebrowse-member-buffer-p (buffer-list))) + (cl-delete-if-not 'ebrowse-member-buffer-p (buffer-list))) (defun ebrowse-tree-buffer-list () "Return a list of all tree buffers." - (ebrowse-delete-if-not 'ebrowse-tree-buffer-p (buffer-list))) + (cl-delete-if-not 'ebrowse-tree-buffer-p (buffer-list))) (defun ebrowse-known-class-trees-buffer-list () @@ -1341,7 +1328,7 @@ one buffer. Prefer tree buffers over member buffers." (defun ebrowse-same-tree-member-buffer-list () "Return a list of members buffers with same tree as current buffer." - (ebrowse-delete-if-not + (cl-delete-if-not (lambda (buffer) (eq (buffer-local-value 'ebrowse--tree buffer) ebrowse--tree)) @@ -1618,7 +1605,7 @@ specifies where to find/view the result." ;; Get the source file to view or find. (setf file (ebrowse-find-source-file file tags-file)) ;; If current window is dedicated, use another frame. - (when (window-dedicated-p (selected-window)) + (when (window-dedicated-p) (setf where 'other-window)) (cond (view (setf ebrowse-temp-position-to-view struc @@ -2028,7 +2015,7 @@ COLLAPSE non-nil means collapse the branch." (defun ebrowse-electric-list-looper (state condition) "Prevent cursor from moving beyond the buffer end. Don't let it move into the title lines. -See 'Electric-command-loop' for a description of STATE and CONDITION." +See `Electric-command-loop' for a description of STATE and CONDITION." (cond ((and condition (not (memq (car condition) '(buffer-read-only end-of-buffer @@ -3484,7 +3471,7 @@ are not performed." (with-output-to-temp-buffer (concat "*Apropos Members*") (set-buffer standard-output) (erase-buffer) - (insert "Members matching `" regexp "'\n\n") + (insert (format-message "Members matching `%s'\n\n" regexp)) (cl-loop for s in (ebrowse-list-of-matching-members members regexp) do (cl-loop for info in (gethash s members) do (ebrowse-draw-file-member-info info)))))) @@ -4236,7 +4223,8 @@ NUMBER-OF-STATIC-VARIABLES:" (1+ (point))))))))) (unless non-empty (error "No tree buffers")) - (setf unread-command-events (listify-key-sequence "p")) + (setf unread-command-events + (nconc (listify-key-sequence "p") unread-command-events)) (shrink-window-if-larger-than-buffer (selected-window)) (setq buffer-read-only t))))