Mercurial > hg > xemacs-beta
annotate man/lispref/dialog.texi @ 5038:9410323e4b0d
major dynarr fixes
-------------------- ChangeLog entries follow: --------------------
src/ChangeLog addition:
2010-02-20 Ben Wing <ben@xemacs.org>
* device-x.c (Fx_get_resource):
* dynarr.c:
* dynarr.c (Dynarr_realloc):
* dynarr.c (Dynarr_newf):
* dynarr.c (Dynarr_lisp_realloc):
* dynarr.c (Dynarr_lisp_newf):
* dynarr.c (Dynarr_resize):
* dynarr.c (Dynarr_insert_many):
* dynarr.c (Dynarr_delete_many):
* dynarr.c (Dynarr_memory_usage):
* dynarr.c (stack_like_free):
* file-coding.c (coding_reader):
* file-coding.c (gzip_convert):
* gutter.c (output_gutter):
* lisp.h:
* lisp.h (Dynarr_declare):
* lisp.h (DYNARR_SET_LISP_IMP):
* lisp.h (CHECK_NATNUM):
* profile.c (create_timing_profile_table):
* redisplay-output.c (sync_rune_structs):
* redisplay-output.c (sync_display_line_structs):
* redisplay-output.c (redisplay_output_window):
* redisplay.c:
* redisplay.c (get_display_block_from_line):
* redisplay.c (add_ichar_rune_1):
* redisplay.c (ensure_modeline_generated):
* redisplay.c (generate_displayable_area):
* redisplay.c (regenerate_window):
* redisplay.c (update_line_start_cache):
* signal.c:
* signal.c (check_quit):
Lots of rewriting of dynarr code.
(1) Lots of documentation added. Also fix places that
referenced a now-bogus internals node concerning redisplay
critical sections.
(2) Rename:
Dynarr_add_lisp_string -> Dynarr_add_ext_lisp_string
Dynarr_set_length -> Dynarr_set_lengthr ("restricted")
Dynarr_increment -> Dynarr_incrementr
Dynarr_resize_if -> Dynarr_resize_to_add
(3) New functions:
Dynarr_elsize = dy->elsize_
Dynarr_set_length(): Set length, resizing as necessary
Dynarr_set_length_and_zero(): Set length, resizing as necessary,
zeroing out new elements
Dynarr_increase_length(), Dynarr_increase_length_and_zero():
Optimization of Dynarr_set_length(), Dynarr_set_length_and_zero()
when size is known to increase
Dynarr_resize_to_fit(): Resize as necessary to fit a given length.
Dynarr_set(): Set element at a given position, increasing length
as necessary and setting any newly created positions to 0
(4) Use Elemcount, Bytecount.
(5) Rewrite many macros as inline functions.
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Sat, 20 Feb 2010 03:46:22 -0600 |
parents | 576fb035e263 |
children | 9fae6227ede5 |
rev | line source |
---|---|
0 | 1 @c -*-texinfo-*- |
2 @c This is part of the XEmacs Lisp Reference Manual. | |
444 | 3 @c Copyright (C) 1990, 1991, 1992, 1993 Free Software Foundation, Inc. |
0 | 4 @c See the file lispref.texi for copying conditions. |
5 @setfilename ../../info/dialog.info | |
6 @node Dialog Boxes, Toolbar, Menus, Top | |
7 @chapter Dialog Boxes | |
8 @cindex dialog box | |
9 | |
10 @menu | |
11 * Dialog Box Format:: | |
12 * Dialog Box Functions:: | |
13 @end menu | |
14 | |
15 @node Dialog Box Format | |
16 @section Dialog Box Format | |
17 | |
18 A dialog box description is a list. | |
19 | |
20 @itemize @bullet | |
21 @item | |
22 The first element of the list is a string to display in the dialog box. | |
23 @item | |
24 The rest of the elements are descriptions of the dialog box's buttons. | |
25 Each one is a vector of three elements: | |
26 @itemize @minus | |
27 @item | |
28 The first element is the text of the button. | |
29 @item | |
30 The second element is the @dfn{callback}. | |
31 @item | |
32 The third element is @code{t} or @code{nil}, whether this button is | |
33 selectable. | |
34 @end itemize | |
35 @end itemize | |
36 | |
37 If the callback of a button is a symbol, then it must name a command. | |
38 It will be invoked with @code{call-interactively}. If it is a list, | |
39 then it is evaluated with @code{eval}. | |
40 | |
41 One (and only one) of the buttons may be @code{nil}. This marker means | |
42 that all following buttons should be flushright instead of flushleft. | |
43 | |
44 The syntax, more precisely: | |
45 | |
46 @example | |
398 | 47 form := <something to pass to `eval'> |
48 command := <a symbol or string, to pass to `call-interactively'> | |
49 callback := command | form | |
50 active-p := <t, nil, or a form to evaluate to decide whether this | |
51 button should be selectable> | |
52 name := <string> | |
53 partition := 'nil' | |
54 button := '[' name callback active-p ']' | |
55 dialog := '(' name [ button ]+ [ partition [ button ]+ ] ')' | |
0 | 56 @end example |
57 | |
58 @node Dialog Box Functions | |
59 @section Dialog Box Functions | |
60 | |
61 @defun popup-dialog-box dbox-desc | |
62 This function pops up a dialog box. @var{dbox-desc} describes how the | |
63 dialog box will appear (@pxref{Dialog Box Format}). | |
64 @end defun | |
65 | |
66 @xref{Yes-or-No Queries}, for functions to ask a yes/no question using | |
67 a dialog box. |