annotate src/emodules.h @ 793:e38acbeb1cae

[xemacs-hg @ 2002-03-29 04:46:17 by ben] lots o' fixes etc/ChangeLog: New file. Separated out all entries for etc/ into their own ChangeLog. Includes entries for the following files: etc/BABYL, etc/BETA, etc/CHARSETS, etc/DISTRIB, etc/Emacs.ad, etc/FTP, etc/GNUS-NEWS, etc/GOATS, etc/HELLO, etc/INSTALL, etc/MACHINES, etc/MAILINGLISTS, etc/MSDOS, etc/MYTHOLOGY, etc/NEWS, etc/OXYMORONS, etc/PACKAGES, etc/README, etc/TUTORIAL, etc/TUTORIAL.de, etc/TUTORIAL.ja, etc/TUTORIAL.ko, etc/TUTORIAL.se, etc/aliases.ksh, etc/altrasoft-logo.xpm, etc/check_cygwin_setup.sh, etc/custom/example-themes/europe-theme.el, etc/custom/example-themes/ex-custom-file, etc/custom/example-themes/example-theme.el, etc/e/eterm.ti, etc/edt-user.doc, etc/enriched.doc, etc/etags.1, etc/gnuserv.1, etc/gnuserv.README, etc/package-index.LATEST.gpg, etc/package-index.LATEST.pgp, etc/photos/jan.png, etc/recycle.xpm, etc/refcard.tex, etc/sample.Xdefaults, etc/sample.emacs, etc/sgml/CATALOG, etc/sgml/HTML32.dtd, etc/skk/SKK.tut.E, etc/smilies/Face_ase.xbm, etc/smilies/Face_ase2.xbm, etc/smilies/Face_ase3.xbm, etc/smilies/Face_smile.xbm, etc/smilies/Face_weep.xbm, etc/sounds, etc/toolbar, etc/toolbar/workshop-cap-up.xpm, etc/xemacs-ja.1, etc/xemacs.1, etc/yow.lines, etc\BETA, etc\NEWS, etc\README, etc\TUTORIAL, etc\TUTORIAL.de, etc\check_cygwin_setup.sh, etc\sample.init.el, etc\unicode\README, etc\unicode\mule-ucs\*, etc\unicode\other\* unicode/unicode-consortium/8859-16.TXT: New file. mule/english.el: Define this charset now, since a bug was fixed that formerly prevented it. mule/ethio-util.el: Fix compile errors involving Unicode `characters', which should be integers. Makefile.in.in: Always include gui.c, to fix compile error when TTY-only. EmacsFrame.c, abbrev.c, alloc.c, buffer.c, buffer.h, bytecode.c, bytecode.h, callint.c, callproc.c, casetab.c, casetab.h, charset.h, chartab.c, chartab.h, cmds.c, console-msw.c, console-msw.h, console-tty.c, console-x.c, console-x.h, console.c, console.h, data.c, database.c, device-gtk.c, device-msw.c, device-x.c, device.c, device.h, dialog-msw.c, doc.c, doprnt.c, dumper.c, dynarr.c, editfns.c, eldap.c, eldap.h, elhash.c, elhash.h, emacs.c, eval.c, event-Xt.c, event-gtk.c, event-msw.c, event-stream.c, event-tty.c, event-unixoid.c, events.c, events.h, extents.c, extents.h, faces.c, faces.h, file-coding.c, file-coding.h, fileio.c, filelock.c, fns.c, frame-gtk.c, frame-msw.c, frame-tty.c, frame-x.c, frame.c, frame.h, free-hook.c, general-slots.h, glyphs-eimage.c, glyphs-gtk.c, glyphs-msw.c, glyphs-widget.c, glyphs-x.c, glyphs.c, glyphs.h, gpmevent.c, gtk-xemacs.c, gui-msw.c, gui-x.c, gui-x.h, gui.c, gui.h, gutter.c, gutter.h, indent.c, input-method-xlib.c, insdel.c, keymap.c, keymap.h, lisp-disunion.h, lisp-union.h, lisp.h, lread.c, lrecord.h, lstream.c, lstream.h, marker.c, menubar-gtk.c, menubar-msw.c, menubar-x.c, menubar.c, minibuf.c, mule-canna.c, mule-ccl.c, mule-charset.c, mule-wnnfns.c, native-gtk-toolbar.c, objects-msw.c, objects-tty.c, objects-x.c, objects.c, objects.h, opaque.c, opaque.h, postgresql.c, postgresql.h, print.c, process-unix.c, process.c, process.h, rangetab.c, rangetab.h, redisplay-gtk.c, redisplay-msw.c, redisplay-output.c, redisplay-tty.c, redisplay-x.c, redisplay.c, scrollbar-gtk.c, scrollbar-msw.c, scrollbar-x.c, scrollbar.c, scrollbar.h, search.c, select-gtk.c, select-x.c, sound.c, specifier.c, specifier.h, strftime.c, symbols.c, symeval.h, syntax.h, text.c, text.h, toolbar-common.c, toolbar-msw.c, toolbar.c, toolbar.h, tooltalk.c, tooltalk.h, ui-gtk.c, ui-gtk.h, undo.c, vm-limit.c, window.c, window.h: Eliminate XSETFOO. Replace all usages with wrap_foo(). Make symbol->name a Lisp_Object, not Lisp_String *. Eliminate nearly all uses of Lisp_String * in favor of Lisp_Object, and correct macros so most of them favor Lisp_Object. Create new error-behavior ERROR_ME_DEBUG_WARN -- output warnings, but at level `debug' (usually ignored). Use it when instantiating specifiers, so problems can be debugged. Move log-warning-minimum-level into C so that we can optimize ERROR_ME_DEBUG_WARN. Fix warning levels consistent with new definitions. Add default_ and parent fields to char table; not yet implemented. New fun Dynarr_verify(); use for further error checking on Dynarrs. Rearrange code at top of lisp.h in conjunction with dynarr changes. Fix eifree(). Use Eistrings in various places (format_event_object(), where_is_to_char(), and callers thereof) to avoid fixed-size strings buffers. New fun write_eistring(). Reindent and fix GPM code to follow standards. Set default MS Windows font to Lucida Console (same size as Courier New but less interline spacing, so more lines fit). Increase default frame size on Windows to 50 lines. (If that's too big for the workspace, the frame will be shrunk as necessary.) Fix problem with text files with no newlines (). (Change `convert-eol' coding system to use `nil' for autodetect, consistent with make-coding-system.) Correct compile warnings in vm-limit.c. Fix handling of reverse-direction charsets to avoid errors when opening (e.g.) mule-ucs/lisp/reldata/uiso8859-6.el. Recode some object printing methods to use write_fmt_string() instead of a fixed buffer and sprintf. Turn on display of png comments as warnings (level `info'), now that they're unobtrusive. Revamped the sound documentation. Fixed bug in redisplay w.r.t. hscroll/truncation/continuation glyphs causing jumping up and down of the lines, since they're bigger than the line size. (It was seen most obviously when there's a horizontal scroll bar, e.g. do C-h a glyph or something like that.) The problem was that the glyph-contrib-p setting on glyphs was ignored even if it was set properly, which it wasn't until now.
author ben
date Fri, 29 Mar 2002 04:49:13 +0000
parents 943eaba38521
children 25e260cb7994
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
1 /* emodules.h - Declarations and definitions for XEmacs loadable modules.
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
2 (C) Copyright 1998, 1999 J. Kean Johnston. All rights reserved.
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
3
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
4 This file is part of XEmacs.
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
5
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
6 XEmacs is free software; you can redistribute it and/or modify it
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
7 under the terms of the GNU General Public License as published by the
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
8 Free Software Foundation; either version 2, or (at your option) any
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
9 later version.
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
10
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
11 XEmacs is distributed in the hope that it will be useful, but WITHOUT
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
12 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
14 for more details.
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
15
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
16 You should have received a copy of the GNU General Public License
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
17 along with XEmacs; see the file COPYING. If not, write to
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
19 Boston, MA 02111-1307, USA. */
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
20
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
21 #ifndef EMODULES_HDR
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
22
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
23 #ifndef EMODULES_GATHER_VERSION
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
24 #define EMODULES_HDR
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
25 #endif
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
26
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
27 #define EMODULES_VERSION "1.0.0"
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
28 #define EMODULES_MAJOR 1
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
29 #define EMODULES_MINOR 0
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
30 #define EMODULES_PATCH 0
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
31 #define EMODULES_REVISION (long)((EMODULES_MAJOR * 1000) + \
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
32 (EMODULES_MINOR * 10) + \
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
33 (EMODULES_PATCH))
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
34
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
35 #ifndef EMODULES_GATHER_VERSION
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
36 #include <config.h>
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
37 #include "lisp.h"
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
38 #include "sysdep.h"
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
39 #include "window.h"
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
40 #include "buffer.h"
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
41 #include "insdel.h"
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
42 #include "frame.h"
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
43 #include "lstream.h"
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
44 #include "file-coding.h"
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
45
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
46 /* Module loading technology version number */
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
47 extern Lisp_Object Vmodule_version;
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
48
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
49 /* Load path */
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
50 extern Lisp_Object Vmodule_load_path;
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
51
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
52 /* XEmacs version Information */
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
53 extern Lisp_Object Vemacs_major_version;
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
54 extern Lisp_Object Vemacs_minor_version;
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
55
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
56 /*
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
57 * Load in a C module. The first argument is the name of the .so file, the
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
58 * second is the name of the module, and the third is the module version.
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
59 * If the module name is NULL, we will always reload the .so. If it is not
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
60 * NULL, we check to make sure we haven't loaded it before. If the version
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
61 * is specified, we check to make sure we didn't load the module of the
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
62 * specified version before. We also use these as checks when we open the
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
63 * module to make sure we have the right module.
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
64 */
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
65 extern void emodules_load (const char *module, const char *name, const char *version);
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
66
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
67 /*
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
68 * Because subrs and symbols added by a dynamic module are not part of
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
69 * the make-docfile process, we need a clean way to get the variables
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
70 * and functions documented. Since people don't like the idea of making
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
71 * shared modules use different versions of DEFSUBR() and DEFVAR_LISP()
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
72 * and friends, we need these two functions to insert the documentation
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
73 * into the right place. These functions will be called by the module
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
74 * init code, generated by ellcc during initialization mode.
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
75 */
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
76 extern void emodules_doc_subr (const char *objname, const char *docstr);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
77 extern void emodules_doc_sym (const char *objname, const char *docstr);
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
78
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
79 #define CDOCSUBR(Fname, DOC) emodules_doc_subr (Fname, DOC)
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
80 #define CDOCSYM(Sname, DOC) emodules_doc_sym (Sname, DOC)
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
81 #endif /* EMODULES_GATHER_VERSION */
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
82
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
83 #endif /* EMODULES_HDR */