comparison lisp/auto-show.el @ 25565:222e261cc577

Remove all code, keep interface.
author Gerd Moellmann <gerd@gnu.org>
date Mon, 06 Sep 1999 16:01:22 +0000
parents 1a84afcdb8f9
children fcdaa4081df4
comparison
equal deleted inserted replaced
25564:d0383ec2061e 25565:222e261cc577
5 ;;; Author: Pete Ware <ware@cis.ohio-state.edu> 5 ;;; Author: Pete Ware <ware@cis.ohio-state.edu>
6 ;;; Maintainer: FSF 6 ;;; Maintainer: FSF
7 7
8 ;;; Commentary: 8 ;;; Commentary:
9 9
10 ;;; This file provides functions that 10 ;; This file contains dummy variables and functions only because Emacs
11 ;;; automatically scroll the window horizontally when the point moves 11 ;; does hscrolling automatically, now.
12 ;;; off the left or right side of the window.
13
14 ;;; Once this library is loaded, automatic horizontal scrolling
15 ;;; occurs whenever long lines are being truncated.
16 ;;; To request truncation of long lines, set the variable
17 ;;; Setting the variable `truncate-lines' to non-nil.
18 ;;; You can do this for all buffers as follows:
19 ;;;
20 ;;; (set-default 'truncate-lines t)
21
22 ;;; Here is how to do it for C mode only:
23 ;;;
24 ;;; (set-default 'truncate-lines nil) ; this is the original value
25 ;;; (defun my-c-mode-hook ()
26 ;;; "Run when C-mode starts up. Changes ..."
27 ;;; ... set various personal preferences ...
28 ;;; (setq truncate-lines t))
29 ;;; (add-hook 'c-mode-hook 'my-c-mode-hook)
30 ;;;
31 ;;;
32 ;;; As a finer level of control, you can still have truncated lines but
33 ;;; without the automatic horizontal scrolling by setting the buffer
34 ;;; local variable `auto-show-mode' to nil. The default value is t.
35 ;;; The command `auto-show-mode' toggles the value of the variable
36 ;;; `auto-show-mode'.
37 12
38 ;;; Code: 13 ;;; Code:
39 14
40 (defgroup auto-show nil 15 (defgroup auto-show nil
41 "Perform automatic horizontal scrolling as point moves." 16 "This customization group is kept for compatibilry only.
17 Emacs now does hscrolling automatically. Please remove references
18 to hscroll from your init file and code."
42 :group 'editing) 19 :group 'editing)
43 20
44 ;;;###autoload 21 ;;;###autoload
45 (defcustom auto-show-mode nil 22 (defcustom auto-show-mode nil
46 "Non-nil means do automatic horizontal scrolling, when lines are truncated. 23 "Obsolete."
47
48 This variable is automatically local in each buffer where it is set.
49
50 Setting this variable directly does not take effect;
51 use either \\[customize] or the function `auto-show-mode'."
52 :set (lambda (symbol value) (auto-show-mode (if value 1 0)))
53 :require 'auto-show
54 :initialize 'custom-initialize-default
55 :link '(emacs-commentary-link "auto-show.el")
56 :version "20.4" 24 :version "20.4"
57 :type 'boolean 25 :type 'boolean
58 :group 'auto-show) 26 :group 'auto-show)
59 27
60 (make-variable-buffer-local 'auto-show-mode)
61
62 (defcustom auto-show-shift-amount 8 28 (defcustom auto-show-shift-amount 8
63 "*Extra columns to scroll. for automatic horizontal scrolling." 29 "*Obsolete."
64 :type 'integer 30 :type 'integer
65 :group 'auto-show) 31 :group 'auto-show)
66 32
67 (defcustom auto-show-show-left-margin-threshold 50 33 (defcustom auto-show-show-left-margin-threshold 50
68 "*Threshold column for automatic horizontal scrolling to the right. 34 "*Obsolete."
69 If point is before this column, we try to scroll to make the left margin
70 visible. Setting this to 0 disables this feature."
71 :type 'integer 35 :type 'integer
72 :group 'auto-show) 36 :group 'auto-show)
73 37
74 (defun auto-show-truncationp ()
75 "True if line truncation is enabled for the selected window."
76 (or truncate-lines
77 (and truncate-partial-width-windows
78 (< (window-width) (frame-width)))))
79
80 ;;;###autoload 38 ;;;###autoload
81 (defun auto-show-mode (arg) 39 (defun auto-show-mode (arg)
82 "Turn automatic horizontal scroll mode on or off. 40 "This functino is obsolete."
83 With arg, turn auto scrolling on if arg is positive, off otherwise. 41 (interactive "P"))
84 This mode is enabled or disabled for each buffer individually.
85 It takes effect only when `truncate-lines' is non-nil."
86 (interactive "P")
87 (setq auto-show-mode
88 (if (null arg)
89 (not auto-show-mode)
90 (> (prefix-numeric-value arg) 0)))
91 (when auto-show-mode
92 ;; Do auto-scrolling after commands.
93 (add-hook 'post-command-hook 'auto-show-make-point-visible)
94 ;; Do auto-scrolling in comint buffers after process output also.
95 (add-hook 'comint-output-filter-functions
96 'auto-show-make-point-visible t)))
97 42
98 (defun auto-show-make-point-visible (&optional ignore-arg) 43 (defun auto-show-make-point-visible (&optional ignore-arg)
99 "Scroll horizontally to make point visible, if that is enabled. 44 "This functino is obsolete."
100 This function only does something if `auto-show-mode' is non-nil 45 (interactive))
101 and longlines are being truncated in the selected window.
102 See also the command `auto-show-mode'."
103 (interactive)
104 (if (and auto-show-mode (auto-show-truncationp)
105 (equal (window-buffer) (current-buffer)))
106 (let* ((col (current-column)) ;column on line point is at
107 (scroll (window-hscroll)) ;how far window is scrolled
108 (w-width (- (window-width)
109 (if (> scroll 0)
110 2 1))) ;how wide window is on the screen
111 (right-col (+ scroll w-width)))
112 (if (and (< col auto-show-show-left-margin-threshold)
113 (< col (window-width))
114 (> scroll 0))
115 (scroll-right scroll)
116 (if (< col scroll) ;to the left of the screen
117 (scroll-right (+ (- scroll col) auto-show-shift-amount))
118 (if (or (> col right-col) ;to the right of the screen
119 (and (= col right-col)
120 (not (eolp))))
121 (scroll-left (+ auto-show-shift-amount
122 (- col (+ scroll w-width))))))))))
123 46
124 (provide 'auto-show) 47 (provide 'auto-show)
125 48
126 ;; auto-show.el ends here 49 ;; auto-show.el ends here
127 50