Mercurial > emacs
view lisp/vt100-led.el @ 67356:568e3be4fb8c
(gdb-error-regexp, gdb-first-post-prompt)
(gdb-version): New variables.
(gdb-source-file-list, gdb-register-names)
(gdb-changed-registers): New variables for use with GDB 6.4+.
(gdb-ann3): Replace with...
(gdb-init-1, gdb-init-2): ...two new functions.
(gdba, gdb-prompt): Call gdb-init-1.
(gdb-get-version): New function. Call gdb-init-2 from here.
(gud-watch): Make it work with mouse events too.
(gdb-post-prompt): Don't add to queue until GDB version is known.
(gdb-speedbar-expand-node, gdb-post-prompt, gdb-registers-mode)
(gdb-locals-mode): Use gdb-version.
(gdb-memory-format-map, gdb-memory-unit-map)
(gdb-locals-watch-map): Rename from gdb-*-*-keymap.
(gdb-locals-font-lock-keywords-1)
(gdb-locals-font-lock-keywords-2): New variables.
(gdb-find-file-hook): fgfg.
(gdb-set-gud-minor-mode-existing-buffers-1)
(gdb-var-list-children-1, gdb-var-list-children-handler-1)
(gdb-var-update-1, gdb-var-update-handler-1)
(gdb-data-list-register-values-handler)
(gdb-data-list-register-values-custom)
(gdb-get-changed-registers, gdb-get-changed-registers-handler)
(gdb-stack-list-locals-handler, gdb-get-register-names): New
functions for use with GDB 6.4+.
(gdb-locals-watch-map-1): New variable for use with GDB 6.4+.
(gdb-source-file-regexp, gdb-var-list-children-regexp-1)
(gdb-var-update-regexp-1, gdb-data-list-register-values-regexp)
(gdb-stack-list-locals-regexp)
(gdb-data-list-register-names-regexp): New regexps for use with
GDB 6.4+.
author | Nick Roberts <nickrob@snap.net.nz> |
---|---|
date | Tue, 06 Dec 2005 21:42:54 +0000 |
parents | 41bb365f41c4 |
children | 3bd95f4f2941 2d92f5c9d6ae |
line wrap: on
line source
;;; vt100-led.el --- functions for LED control on VT-100 terminals & clones ;; Copyright (C) 1988, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. ;; Author: Howard Gayle ;; Maintainer: FSF ;; Keywords: hardware ;; 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 2, 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; see the file COPYING. If not, write to the ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ;; Boston, MA 02110-1301, USA. ;;; Commentary: ;;; Code: (defvar led-state (make-vector 5 nil) "The internal state of the LEDs. Choices are nil, t, `flash. Element 0 is not used.") (defun led-flash (l) "Flash LED l." (aset led-state l 'flash) (led-update)) (defun led-off (&optional l) "Turn off vt100 led number L. With no argument, turn them all off." (interactive "P") (if l (aset led-state (prefix-numeric-value l) nil) (fillarray led-state nil)) (led-update)) (defun led-on (l) "Turn on LED l." (aset led-state l t) (led-update)) (defun led-update () "Update the terminal's LEDs to reflect the internal state." (let ((f "\e[?0") ; String to flash. (o "\e[0") ; String for steady on. (l 1)) ; Current LED number. (while (/= l 5) (let ((s (aref led-state l))) (cond ((eq s 'flash) (setq f (concat f ";" (int-to-string l)))) (s (setq o (concat o ";" (int-to-string l)))))) (setq l (1+ l))) (setq o (concat o "q" f "t")) (send-string-to-terminal o))) (provide 'vt100-led) ;;; arch-tag: 346e6480-5e31-4234-aafe-257cea4a36d1 ;;; vt100-led.el ends here