Mercurial > emacs
view test/cedet/ede-tests.el @ 109164:a7b09b567d58
If kbd_buffer is becoming full, stop reading until it drains (Bug#6571).
* keyboard.c (input_available_signal): Declare.
(kbd_buffer_nr_stored): New function.
(kbd_buffer_store_event_hold): If kbd_buffer_nr_stored returns
more than KBD_BUFFER_SIZE/2, stop reding input (Bug#6571).
(kbd_buffer_get_event): If input is suspended and kbd_buffer_nr_stored
returns less than KBD_BUFFER_SIZE/4, resume reding input (Bug#6571).
(tty_read_avail_input): If input is on hold, return.
Don't read more that free slots in kbd_buffer (Bug#6571).
* process.h (hold_keyboard_input, unhold_keyboard_input)
(kbd_on_hold_p): Declare.
* process.c (kbd_is_on_hold): New variable.
(hold_keyboard_input, unhold_keyboard_input, kbd_on_hold_p): New
functions.
(wait_reading_process_output): If kbd_on_hold_p returns non-zero,
select on empty input mask.
(init_process): Initialize kbd_is_on_hold to 0.
author | Jan D <jan.h.d@swipnet.se> |
---|---|
date | Wed, 07 Jul 2010 19:39:49 +0200 |
parents | 51227b0f95e1 |
children | 376148b31b5e |
line wrap: on
line source
;;; ede-tests.el --- Some tests for the Emacs Development Environment ;; Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. ;; Author: Eric M. Ludlam <eric@siege-engine.com> ;; This file is part of GNU Emacs. ;; GNU Emacs is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. ;;; Commentary: ;; Extracted from ede-locate.el in the CEDET distribution. ;;; Code: ;;; From ede-locate: (require 'ede/locate) ;;; TESTS ;; ;; Some testing routines. (defun ede-locate-test-locate (file) "Test EDE Locate on FILE using LOCATE type. The search is done with the current EDE root." (interactive "sFile: ") (let ((loc (ede-locate-locate "test" :root (ede-project-root-directory (ede-toplevel))))) (data-debug-new-buffer "*EDE Locate ADEBUG*") (ede-locate-file-in-project loc file) (data-debug-insert-object-slots loc "]")) ) (defun ede-locate-test-global (file) "Test EDE Locate on FILE using GNU Global type. The search is done with the current EDE root." (interactive "sFile: ") (let ((loc (ede-locate-global "test" :root (ede-project-root-directory (ede-toplevel))))) (data-debug-new-buffer "*EDE Locate ADEBUG*") (ede-locate-file-in-project loc file) (data-debug-insert-object-slots loc "]")) ) (defun ede-locate-test-idutils (file) "Test EDE Locate on FILE using ID Utils type. The search is done with the current EDE root." (interactive "sFile: ") (let ((loc (ede-locate-idutils "test" :root (ede-project-root-directory (ede-toplevel))))) (data-debug-new-buffer "*EDE Locate ADEBUG*") (ede-locate-file-in-project loc file) (data-debug-insert-object-slots loc "]")) ) (defun ede-locate-test-cscope (file) "Test EDE Locate on FILE using CScope type. The search is done with the current EDE root." (interactive "sFile: ") (let ((loc (ede-locate-cscope "test" :root (ede-project-root-directory (ede-toplevel))))) (data-debug-new-buffer "*EDE Locate ADEBUG*") (ede-locate-file-in-project loc file) (data-debug-insert-object-slots loc "]")) ) ;; arch-tag: 79fae12e-652f-4544-a20e-b24d87b4917d ;;; ede-test.el ends here