annotate src/termchar.h @ 68953:0ddd5b380ffb

Use allout invisible-text overlays instead of selective display for concealed text. Also, lots of general cleanup, and improved compatibility code. (allout-version) Incremented, corrected, revised, and refined module commentary. (provide 'allout): Moved to the bottom, added a require of overlay. (allout-encrypt-unencrypted-on-saves): Defaults to t instead of `except-current'. (allout-write-file-hook-handler): Minimize delay. (count-trailing-whitespace-region): New function so auto-encryption of current topic can resituate cursor exactly. PGP/GPG encryption trims trailing whitespace from lines, which must be accounted for across encryption then decryption. (allout-command-prefix): Now defaults to "\C-c<space>" rather than just plain "\C-c", to avoid intruding on user's keybinding space. (allout-toggle-current-subtree-encryption): Pass along fetch-pass parameter, so user request to provide a new password is done. (allout-outside-normal-auto-fill-function, allout-auto-fill): Refined mechanism for auto-filling behavior while in allout mode. (allout-mode): Explicitly specify the mode map in the docstring. Clarify provision for various write-file hook var names. Adjusted for invisible-text overlays instead of selective-display. (allout-depth): Really return 0 if not within any topic. This rectifies `allout-beginning-of-level' and sequence numbering errors that occur when cutting and pasting numbered topics. Changed from a in-line subst to a regular function, as well. (allout-pre-next-prefix): Renamed from allout-pre-next-preface. (allout-end-of-subtree, allout-end-of-subtree) (allout-end-of-entry, allout-end-of-current-heading) (allout-next-visible-heading, allout-open-topic, allout-show-entry) (allout-show-children, allout-show-to-offshoot) (allout-hide-current-entry, allout-show-current-entry): Rectified handling of trailing blank lines between items. (allout-line-boundary-regexp, set-allout-regexp, allout-depth) (allout-current-depth, allout-unprotected, allout-hidden-p) (allout-on-current-heading-p, allout-listify-exposed) (allout-chart-subtree, allout-goto-prefix) (allout-back-to-current-heading, allout-get-body-text) (allout-snug-back, allout-flag-current-subtree, allout-show-all) (allout-hide-region-body, allout-toggle-subtree-encryption) (allout-encrypt-string, allout-encrypted-key-info) (allout-next-topic-pending-encryption, allout-encrypt-decrypted) (allout-file-vars-section-data): Adjusted for use with invisible-text overlays instead of selective-display. (allout-kill-line, allout-kill-topic, allout-yank-processing): Reworked for use with invisible text overlays. (allout-current-topic-collapsed-p): New function. (allout-hide-current-subtree): Use allout-current-topic-collapsed-p to know when to close the containing topic. (allout-pre-command-business, allout-post-command-business): Simplify undo-batching and dynamic isearch exposure. (allout-set-overlay-category): New for invisible-text overlays. Sets properties of allout-overlay-category, used by allout-flag-region to set invisible-text overlay properties. (allout-get-invisibility-overlay): Get the first qualifying invisibility overlay, so we can find the extent of it. (allout-back-to-visible-text): Get to just before the beginnining of the current invisibility overlay, if any. (allout-overlay-insert-in-front-handler) (allout-overlay-interior-modification-handler) (allout-before-change-handler, allout-isearch-end-handler): New functions to handle extraordinary actions affecting concealed text. (allout-flag-region): Use overlays instead of selective-display for invisible text - by inheritence from the properties of allout-overlay-category in mainline emacs, and applied property-by-property in xemacs, some recent versions of which don't inherit the properties from the category. Provisions to respond to concealed-text edits simplified drastically. (allout-isearch-rectification, allout-isearch-was-font-lock) (allout-isearch-expose, allout-enwrap-isearch) (allout-isearch-abort, allout-pre-was-isearching) (allout-isearch-prior-pos, allout-isearch-did-quit) (allout-isearch-dynamic-expose) (allout-hide-current-entry-completely): Functions deleted. (allout-undo-aggregation): Explicit undo aggregation no longer necessary due to transition away from selective-display. (set-allout-regexp, allout-up-current-level) (allout-next-visible-heading, allout-forward-current-level) (allout-open-topic, allout-reindent-body, allout-rebullet-topic) (allout-kill-line, allout-yank-processing, allout-show-children) (allout-expose-topic, allout-old-expose-topic) (allout-listify-exposed, allout-insert-latex-header) (allout-toggle-subtree-encryption, allout-encrypt-string) (remove-from-invisibility-spec, allout-hide-current-subtree): Ditched unused variables.
author Eli Zaretskii <eliz@gnu.org>
date Fri, 17 Feb 2006 10:52:30 +0000
parents 3bd95f4f2941
children e90d04cd455a b98066f4aa10 c5406394f567
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1 /* Flags and parameters describing terminal's characteristics.
64770
a0d1312ede66 Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 64084
diff changeset
2 Copyright (C) 1985, 1986, 2002, 2003, 2004,
68651
3bd95f4f2941 Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 64770
diff changeset
3 2005, 2006 Free Software Foundation, Inc.
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
4
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
5 This file is part of GNU Emacs.
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
6
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
7 GNU Emacs is free software; you can redistribute it and/or modify
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
8 it under the terms of the GNU General Public License as published by
12244
ac7375e60931 Update GPL to version 2.
Karl Heuer <kwzh@gnu.org>
parents: 10260
diff changeset
9 the Free Software Foundation; either version 2, or (at your option)
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
10 any later version.
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
11
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
12 GNU Emacs is distributed in the hope that it will be useful,
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
15 GNU General Public License for more details.
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
16
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
18 along with GNU Emacs; see the file COPYING. If not, write to
64084
a8fa7c632ee4 Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
19 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
a8fa7c632ee4 Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
20 Boston, MA 02110-1301, USA. */
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
21
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
22
43713
f92c4d87863a Change defvar_int def and vars to use EMACS_INT instead of just int.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 14186
diff changeset
23 /* extern EMACS_INT baud_rate; */ /* Output speed in baud */
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
24 extern int must_write_spaces; /* Nonzero means spaces in the text
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
25 must actually be output; can't just skip
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
26 over some columns to leave them blank. */
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
27 extern int min_padding_speed; /* Speed below which no padding necessary */
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
28 extern int fast_clear_end_of_line; /* Nonzero means terminal has
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
29 command for this */
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
30
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
31 extern int line_ins_del_ok; /* Terminal can insert and delete lines */
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
32 extern int char_ins_del_ok; /* Terminal can insert and delete chars */
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
33 extern int scroll_region_ok; /* Terminal supports setting the scroll
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
34 window */
10260
033119853eab (scroll_region_cost): Declared.
Richard M. Stallman <rms@gnu.org>
parents: 766
diff changeset
35 extern int scroll_region_cost; /* Cost of setting the scroll window,
033119853eab (scroll_region_cost): Declared.
Richard M. Stallman <rms@gnu.org>
parents: 766
diff changeset
36 measured in characters */
766
b9e81bfc7ad9 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
37 extern int memory_below_frame; /* Terminal remembers lines scrolled
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
38 off bottom */
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
39 extern int fast_clear_end_of_line; /* Terminal has a `ce' string */
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
40
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
41 extern int dont_calculate_costs; /* Nonzero means don't bother computing
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
42 various cost tables; we won't use them. */
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
43
766
b9e81bfc7ad9 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
44 /* Nonzero means no need to redraw the entire frame on resuming
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
45 a suspended Emacs. This is useful on terminals with multiple pages,
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
46 where one page is used for Emacs and another for all else. */
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
47 extern int no_redraw_on_reenter;
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 43713
diff changeset
48
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 43713
diff changeset
49 /* arch-tag: bf9f0d49-842b-42fb-9348-ec8759b27193
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 43713
diff changeset
50 (do not change this comment) */