view lisp/obsolete/hscroll.el @ 83374:0b75ace4f7ad

Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.) * src/keyboard.c (temporarily_switch_to_single_kboard) (record_single_kboard_state, restore_kboard_configuration): New functions. (timer_check): Use record_single_kboard_state instead of naive single_kboard state management. * src/fns.c: Include termhooks.h. (Fy_or_n_p): Use temporarily_switch_to_single_kboard to prevent crashes caused by bogus longjmps in read_char. * src/callint.c (Fcall_interactively): Use temporarily_switch_to_single_kboard instead of single_kboard_state. Make sure it is correctly unwinded. * src/keyboard.c (recursive_edit_unwind): Remove single_kboard stuff. (Frecursive_edit): Use temporarily_switch_to_single_kboard for single_kboard state management. * src/minibuf.c (read_minibuf): Use temporarily_switch_to_single_kboard instead of simply calling single_kboard_state. * src/keyboard.c (push_device_kboard): Remove function. (push_kboard): New function. (push_frame_kboard): Use it. (pop_frame_kboard): Rename to pop_kboard. * src/xdisp.c (display_mode_line, Fformat_mode_line): Update uses. * src/data.c: Include termhooks.h. (Fterminal_local_value, Fset_terminal_local_value): Update. * src/Makefile.in (data.o, fns.o): Add termhooks.h dependency. * src/keyboard.h (push_device_kboard, pop_frame_kboard): Remove declarations. (push_kboard, pop_kboard, temporarily_switch_to_single_kboard) (record_single_kboard_state): New declarations. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-414
author Karoly Lorentey <lorentey@elte.hu>
date Sun, 11 Sep 2005 06:42:03 +0000
parents 5b1a238fcbb4
children e8a3fb527b77 2d92f5c9d6ae
line wrap: on
line source

;;; hscroll.el --- automatically scroll truncated lines horizontally

;; Copyright (C) 1992, 1993, 1995, 1996, 2002, 2003, 2004,
;;   2005 Free Software Foundation, Inc.

;; Author: Wayne Mesard <wmesard@esd.sgi.com>
;; Keywords: display

;; 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:
;;
;; This file contains dummy variables and functions only because Emacs
;; does hscrolling automatically, now.

;;; Code:

;;;
;;; PUBLIC VARIABLES
;;;

(defvar hscroll-version "0.0")

(defgroup hscroll nil
  "This customization group is kept for compatibility only.
Emacs now does hscrolling automatically.  Please remove references
to hscroll from your init file and code."
  :group 'editing)


(defcustom hscroll-global-mode nil
  "*Obsolete."
  :group 'hscroll
  :type 'boolean
  :require 'hscroll
  :version "20.3")

(defcustom hscroll-margin 5
  "*Obsolete."
  :group 'hscroll
  :type 'integer)

(defcustom hscroll-snap-threshold 30
  "*Obsolete."
  :group 'hscroll
  :type 'integer)

(defcustom hscroll-step-percent 25
  "*Obsolete."
  :group 'hscroll
  :type 'integer)

(defcustom hscroll-mode-name " Hscr"
  "*Obsolete."
  :group 'hscroll
  :type 'string)

;;;
;;; PUBLIC COMMANDS
;;;

;;;###autoload
(defun turn-on-hscroll ()
  "This function is obsolete.
Emacs now does hscrolling automatically, if `truncate-lines' is non-nil.
Also see `automatic-hscrolling'.")

;;;###autoload
(defun hscroll-mode (&optional arg)
  "This function is obsolete.
Emacs now does hscrolling automatically, if `truncate-lines' is non-nil.
Also see `automatic-hscrolling'."
  (interactive "P"))

;;;###autoload
(defun hscroll-global-mode  (&optional arg)
  "This function is obsolete.
Emacs now does hscrolling automatically, if `truncate-lines' is non-nil.
Also see `automatic-hscrolling'."
  (interactive "P"))

(defun hscroll-window-maybe ()
  "This function is obsolete.
Emacs now does hscrolling automatically, if `truncate-lines' is non-nil.
Also see `automatic-hscrolling'."
  (interactive))

(provide 'hscroll)

;;; arch-tag: 48377520-e5ca-401d-b360-3881b2d5a05a
;;; hscroll.el ends here