Mercurial > emacs
view lisp/calc/calc-trail.el @ 82988:f82e3a6f5ccb
A few more bugfixes and new features.
(Sigh.) I obviously need to remember to separate individual changes
to multiple commits.
src/emacsclient.c: Improved error handling.
(decode_options): Changed frame option (again) from -f to -t.
(print_help_and_exit): Ditto.
(copy_from_to): Check EINTR after write, not EAGAIN. Removed SIGIO hack.
(pty_conversation): Handle errors transmitted through the socket.
Handle pty errors by not reading from it anymore.
(main): Restore correct errno after socket_status failed. Send -tty
on -t, not -pty.
lisp/server.el (server-process-filter): Watch -tty, not -pty.
Use make-frame-on-tty instead of make-terminal-frame.
Don't set newframe to t if make-frame-on-tty failed.
Don't delete frames here. Print correct message when there are no
files to edit, but a new frame was requested.
(server-sentinel): Delete the frame after the process.
(server-handle-delete-frame): New function for delete-frame-functions.
(server-start): Add server-handle-delete-frame to delete-frame-functions.
(server-buffer-done): Don't delete frames here.
src/alloc.c (mark_ttys): Add prototype.
(Fgarbage_collect): Call mark_ttys.
src/emacs.c: (shut_down_emacs): Don't flush stdout before
reset_sys_modes().
src/process.c (add_keyboard_wait_descriptor_called_flag): Removed.
(add_keyboard_wait_descriptor): Removed stdin hack.
src/sysdep.c: Unconditionally include sysselect.h.
(old_fcntl_flags): Changed to an array.
(init_sigio, reset_sigio): Use it.
(narrow_foreground_group, widen_foreground_group): Use setpgid, not
setpgrp.
(old_fcntl_owner): Changed to an array.
(init_sys_modes, reset_sys_modes): Use it. Fix fsync() and reset_sigio() calls.
src/term.c (Qframe_tty_name, Qframe_tty_type): New variables.
(syms_of_term): Initialize them.
(Fframe_tty_name, Fframe_tty_type): New functions.
(term_init): Call add_keyboard_wait_descriptor().
(Fdelete_tty): New function.
(delete_tty): Call delete_keyboard_wait_descriptor().
(get_current_tty): Removed.
(mark_ttys): New function.
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-28
author | Karoly Lorentey <lorentey@elte.hu> |
---|---|
date | Wed, 31 Dec 2003 05:09:29 +0000 |
parents | 695cf19ef79e |
children | 0f204f1642ec 375f2633d815 |
line wrap: on
line source
;;; calc-trail.el --- functions for manipulating the Calc "trail" ;; Copyright (C) 1990, 1991, 1992, 1993, 2001 Free Software Foundation, Inc. ;; Author: David Gillespie <daveg@synaptics.com> ;; Maintainers: D. Goel <deego@gnufans.org> ;; Colin Walters <walters@debian.org> ;; This file is part of GNU Emacs. ;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY. No author or distributor ;; accepts responsibility to anyone for the consequences of using it ;; or for whether it serves any particular purpose or works at all, ;; unless he says so in writing. Refer to the GNU Emacs General Public ;; License for full details. ;; Everyone is granted permission to copy, modify and redistribute ;; GNU Emacs, but only under the conditions described in the ;; GNU Emacs General Public License. A copy of this license is ;; supposed to have been given to you along with GNU Emacs so you ;; can know your rights and responsibilities. It should be in a ;; file named COPYING. Among other things, the copyright notice ;; and this notice must be preserved on all copies. ;;; Commentary: ;;; Code: ;; This file is autoloaded from calc-ext.el. (require 'calc-ext) (require 'calc-macs) (defun calc-Need-calc-trail () nil) ;;; Trail commands. (defun calc-trail-in () (interactive) (let ((win (get-buffer-window (calc-trail-display t)))) (and win (select-window win)))) (defun calc-trail-out () (interactive) (calc-select-buffer) (let ((win (get-buffer-window (current-buffer)))) (if win (progn (select-window win) (calc-align-stack-window)) (calc)))) (defun calc-trail-next (n) (interactive "p") (calc-with-trail-buffer (forward-line n) (calc-trail-here))) (defun calc-trail-previous (n) (interactive "p") (calc-with-trail-buffer (forward-line (- n)) (calc-trail-here))) (defun calc-trail-first (n) (interactive "p") (calc-with-trail-buffer (goto-char (point-min)) (forward-line n) (calc-trail-here))) (defun calc-trail-last (n) (interactive "p") (calc-with-trail-buffer (goto-char (point-max)) (forward-line (- n)) (calc-trail-here))) (defun calc-trail-scroll-left (n) (interactive "P") (let ((curwin (selected-window))) (calc-with-trail-buffer (unwind-protect (progn (select-window (get-buffer-window (current-buffer))) (calc-scroll-left n)) (select-window curwin))))) (defun calc-trail-scroll-right (n) (interactive "P") (let ((curwin (selected-window))) (calc-with-trail-buffer (unwind-protect (progn (select-window (get-buffer-window (current-buffer))) (calc-scroll-right n)) (select-window curwin))))) (defun calc-trail-forward (n) (interactive "p") (calc-with-trail-buffer (forward-line (* n (1- (window-height)))) (calc-trail-here))) (defun calc-trail-backward (n) (interactive "p") (calc-with-trail-buffer (forward-line (- (* n (1- (window-height))))) (calc-trail-here))) (defun calc-trail-isearch-forward () (interactive) (calc-with-trail-buffer (save-window-excursion (select-window (get-buffer-window (current-buffer))) (let ((search-exit-char ?\r)) (isearch-forward))) (calc-trail-here))) (defun calc-trail-isearch-backward () (interactive) (calc-with-trail-buffer (save-window-excursion (select-window (get-buffer-window (current-buffer))) (let ((search-exit-char ?\r)) (isearch-backward))) (calc-trail-here))) (defun calc-trail-yank (arg) (interactive "P") (calc-wrapper (or arg (calc-set-command-flag 'hold-trail)) (calc-enter-result 0 "yank" (calc-with-trail-buffer (if arg (forward-line (- (prefix-numeric-value arg)))) (if (or (looking-at "Emacs Calc") (looking-at "----") (looking-at " ? ? ?[^ \n]* *$") (looking-at "..?.?$")) (error "Can't yank that line")) (if (looking-at ".*, \\.\\.\\., ") (error "Can't yank (vector was abbreviated)")) (forward-char 4) (search-forward " ") (let* ((next (save-excursion (forward-line 1) (point))) (str (buffer-substring (point) (1- next))) (val (save-excursion (set-buffer save-buf) (math-read-plain-expr str)))) (if (eq (car-safe val) 'error) (error "Can't yank that line: %s" (nth 2 val)) val)))))) (defun calc-trail-marker (str) (interactive "sText to insert in trail: ") (calc-with-trail-buffer (forward-line 1) (let ((buffer-read-only nil)) (insert "---- " str "\n")) (forward-line -1) (calc-trail-here))) (defun calc-trail-kill (n) (interactive "p") (calc-with-trail-buffer (let ((buffer-read-only nil)) (save-restriction (narrow-to-region ; don't delete "Emacs Trail" header (save-excursion (goto-char (point-min)) (forward-line 1) (point)) (point-max)) (kill-line n))) (calc-trail-here))) ;;; arch-tag: 59b76655-d882-4aab-a3ee-b83870e530d0 ;;; calc-trail.el ends here