Mercurial > emacs
view lisp/vt100-led.el @ 67894:d742983a2136
(bibtex-entry-type-whitespace)
(bibtex-entry-type-str, bibtex-empty-field-re)
(bibtex-search-backward-string, bibtex-preamble-prefix)
(bibtex-search-entry, bibtex-enclosing-entry-maybe-empty-head):
Removed.
(bibtex-any-valid-entry-type): New variable.
(bibtex-parse-field-name): Simplify.
(bibtex-parse-string, bibtex-search-forward-string): New arg
empty-key.
(bibtex-preamble-prefix): Include left delimiter.
(bibtex-search-forward-field, bibtex-search-backward-field): Allow
unbounded search past entry boundaries (required by bibtex-pop).
(bibtex-text-in-field-bounds): Use push.
(bibtex-text-in-field): Do not use bibtex-narrow-to-entry.
(bibtex-parse-preamble, bibtex-valid-entry)
(bibtex-beginning-first-field): New functions.
(bibtex-skip-to-valid-entry): Use bibtex-valid-entry. Fix regexp.
(bibtex-map-entries): Fix docstring.
(bibtex-flash-head): New arg prompt. Simplify.
(bibtex-enclosing-field): Include code of bibtex-inside-field.
(bibtex-insert-kill): Simplify. Always insert text past the
current field or entry.
(bibtex-format-entry): Use bibtex-parse-field.
(bibtex-pop): Use bibtex-beginning-of-entry and
bibtex-end-of-entry to initiate the search. Insert empty field if
we found ourselves.
(bibtex-print-help-message): New args field and comma. Handle
entry keys.
(bibtex-make-field): Use bibtex-beginning-of-entry.
(bibtex-end-of-entry): Use bibtex-valid-entry. Recognize any
invalid entry.
(bibtex-validate): Use bibtex-valid-entry and bibtex-parse-string.
Handle preambles. Simplify code for thorough test.
(bibtex-next-field, bibtex-find-text, bibtex-find-text-internal):
New arg comma. Handle entry heads.
(bibtex-remove-OPT-or-ALT, bibtex-remove-delimiters)
(bibtex-kill-field, bibtex-copy-field-as-kil, bibtex-empty-field):
New arg comma.
(bibtex-kill-entry): Use bibtex-any-entry-maybe-empty-head.
(bibtex-fill-field): Simplify.
(bibtex-fill-entry): Use bibtex-beginning-first-field and
bibtex-parse-field.
(bibtex-convert-alien): Do not wait before calling
bibtex-validate.
(bibtex-complete): Use bibtex-parse-preamble.
author | Roland Winkler <Roland.Winkler@physik.uni-erlangen.de> |
---|---|
date | Thu, 29 Dec 2005 15:23:52 +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