Mercurial > hg > xemacs-beta
view lisp/dumped-lisp.el @ 826:6728e641994e
[xemacs-hg @ 2002-05-05 11:30:15 by ben]
syntax cache, 8-bit-format, lots of code cleanup
README.packages: Update info about --package-path.
i.c: Create an inheritable event and pass it on to XEmacs, so that ^C
can be handled properly. Intercept ^C and signal the event.
"Stop Build" in VC++ now works.
bytecomp-runtime.el: Doc string changes.
compat.el: Some attempts to redo this to
make it truly useful and fix the "multiple versions interacting
with each other" problem. Not yet done. Currently doesn't work.
files.el: Use with-obsolete-variable to avoid warnings in new revert-buffer code.
xemacs.mak: Split up CFLAGS into a version without flags specifying the C
library. The problem seems to be that minitar depends on zlib,
which depends specifically on libc.lib, not on any of the other C
libraries. Unless you compile with libc.lib, you get errors --
specifically, no _errno in the other libraries, which must make it
something other than an int. (#### But this doesn't seem to obtain
in XEmacs, which also uses zlib, and can be linked with any of the
C libraries. Maybe zlib is used differently and doesn't need
errno, or maybe XEmacs provides an int errno; ... I don't
understand.
Makefile.in.in: Fix so that packages are around when testing.
abbrev.c, alloc.c, buffer.c, buffer.h, bytecode.c, callint.c, casefiddle.c, casetab.c, casetab.h, charset.h, chartab.c, chartab.h, cmds.c, console-msw.h, console-stream.c, console-x.c, console.c, console.h, data.c, device-msw.c, device.c, device.h, dialog-msw.c, dialog-x.c, dired-msw.c, dired.c, doc.c, doprnt.c, dumper.c, editfns.c, elhash.c, emacs.c, eval.c, event-Xt.c, event-gtk.c, event-msw.c, event-stream.c, events.c, events.h, extents.c, extents.h, faces.c, file-coding.c, file-coding.h, fileio.c, fns.c, font-lock.c, frame-gtk.c, frame-msw.c, frame-x.c, frame.c, frame.h, glade.c, glyphs-gtk.c, glyphs-msw.c, glyphs-msw.h, glyphs-x.c, glyphs.c, glyphs.h, gui-msw.c, gui-x.c, gui.h, gutter.h, hash.h, indent.c, insdel.c, intl-win32.c, intl.c, keymap.c, 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-ccl.c, mule-charset.c, mule-coding.c, mule-wnnfns.c, nas.c, objects-msw.c, objects-x.c, opaque.c, postgresql.c, print.c, process-nt.c, process-unix.c, process.c, process.h, profile.c, rangetab.c, redisplay-gtk.c, redisplay-msw.c, redisplay-output.c, redisplay-x.c, redisplay.c, redisplay.h, regex.c, regex.h, scrollbar-msw.c, search.c, select-x.c, specifier.c, specifier.h, symbols.c, symsinit.h, syntax.c, syntax.h, syswindows.h, tests.c, text.c, text.h, tooltalk.c, ui-byhand.c, ui-gtk.c, unicode.c, win32.c, window.c: Another big Ben patch.
-- FUNCTIONALITY CHANGES:
add partial support for 8-bit-fixed, 16-bit-fixed, and
32-bit-fixed formats. not quite done yet. (in particular, needs
functions to actually convert the buffer.) NOTE: lots of changes
to regex.c here. also, many new *_fmt() inline funs that take an
Internal_Format argument.
redo syntax cache code. make the cache per-buffer; keep the cache
valid across calls to functions that use it. also keep it valid
across insertions/deletions and extent changes, as much as is
possible. eliminate the junky regex-reentrancy code by passing in
the relevant lisp info to the regex routines as local vars.
add general mechanism in extents code for signalling extent changes.
fix numerous problems with the case-table implementation; yoshiki
never properly transferred many algorithms from old-style to
new-style case tables.
redo char tables to support a default argument, so that mapping
only occurs over changed args. change many chartab functions to
accept Lisp_Object instead of Lisp_Char_Table *.
comment out the code in font-lock.c by default, because
font-lock.el no longer uses it. we should consider eliminating it
entirely.
Don't output bell as ^G in console-stream when not a TTY.
add -mswindows-termination-handle to interface with i.c, so we can
properly kill a build.
add more error-checking to buffer/string macros.
add some additional buffer_or_string_() funs.
-- INTERFACE CHANGES AFFECTING MORE CODE:
switch the arguments of write_c_string and friends to be
consistent with write_fmt_string, which must have printcharfun
first.
change BI_* macros to BYTE_* for increased clarity; similarly for
bi_* local vars.
change VOID_TO_LISP to be a one-argument function. eliminate
no-longer-needed CVOID_TO_LISP.
-- char/string macro changes:
rename MAKE_CHAR() to make_emchar() for slightly less confusion
with make_char(). (The former generates an Emchar, the latter a
Lisp object. Conceivably we should rename make_char() -> wrap_char()
and similarly for make_int(), make_float().)
Similar changes for other *CHAR* macros -- we now consistently use
names with `emchar' whenever we are working with Emchars. Any
remaining name with just `char' always refers to a Lisp object.
rename macros with XSTRING_* to string_* except for those that
reference actual fields in the Lisp_String object, following
conventions used elsewhere.
rename set_string_{data,length} macros (the only ones to work with
a Lisp_String_* instead of a Lisp_Object) to set_lispstringp_*
to make the difference clear.
try to be consistent about caps vs. lowercase in macro/inline-fun
names for chars and such, which wasn't the case before. we now
reserve caps either for XFOO_ macros that reference object fields
(e.g. XSTRING_DATA) or for things that have non-function semantics,
e.g. directly modifying an arg (BREAKUP_EMCHAR) or evaluating an
arg (any arg) more than once. otherwise, use lowercase.
here is a summary of most of the macros/inline funs changed by all
of the above changes:
BYTE_*_P -> byte_*_p
XSTRING_BYTE -> string_byte
set_string_data/length -> set_lispstringp_data/length
XSTRING_CHAR_LENGTH -> string_char_length
XSTRING_CHAR -> string_emchar
INTBYTE_FIRST_BYTE_P -> intbyte_first_byte_p
INTBYTE_LEADING_BYTE_P -> intbyte_leading_byte_p
charptr_copy_char -> charptr_copy_emchar
LEADING_BYTE_* -> leading_byte_*
CHAR_* -> EMCHAR_*
*_CHAR_* -> *_EMCHAR_*
*_CHAR -> *_EMCHAR
CHARSET_BY_ -> charset_by_*
BYTE_SHIFT_JIS* -> byte_shift_jis*
BYTE_BIG5* -> byte_big5*
REP_BYTES_BY_FIRST_BYTE -> rep_bytes_by_first_byte
char_to_unicode -> emchar_to_unicode
valid_char_p -> valid_emchar_p
Change intbyte_strcmp -> qxestrcmp_c (duplicated functionality).
-- INTERFACE CHANGES AFFECTING LESS CODE:
use DECLARE_INLINE_HEADER in various places.
remove '#ifdef emacs' from XEmacs-only files.
eliminate CHAR_TABLE_VALUE(), which duplicated the functionality
of get_char_table().
add BUFFER_TEXT_LOOP to simplify iterations over buffer text.
define typedefs for signed and unsigned types of fixed sizes
(INT_32_BIT, UINT_32_BIT, etc.).
create ALIGN_FOR_TYPE as a higher-level interface onto ALIGN_SIZE;
fix code to use it.
add charptr_emchar_len to return the text length of the character
pointed to by a ptr; use it in place of
charcount_to_bytecount(..., 1). add emchar_len to return the text
length of a given character.
add types Bytexpos and Charxpos to generalize Bytebpos/Bytecount
and Charbpos/Charcount, in code (particularly, the extents code
and redisplay code) that works with either kind of index. rename
redisplay struct params with names such as `charbpos' to
e.g. `charpos' when they are e.g. a Charxpos, not a Charbpos.
eliminate xxDEFUN in place of DEFUN; no longer necessary with
changes awhile back to doc.c.
split up big ugly combined list of EXFUNs in lisp.h on a
file-by-file basis, since other prototypes are similarly split.
rewrite some "*_UNSAFE" macros as inline funs and eliminate the
_UNSAFE suffix.
move most string code from lisp.h to text.h; the string code and
text.h code is now intertwined in such a fashion that they need
to be in the same place and partially interleaved. (you can't
create forward references for inline funs)
automated/lisp-tests.el, automated/symbol-tests.el, automated/test-harness.el: Fix test harness to output FAIL messages to stderr when in
batch mode.
Fix up some problems in lisp-tests/symbol-tests that were
causing spurious failures.
author | ben |
---|---|
date | Sun, 05 May 2002 11:33:57 +0000 |
parents | a5954632b187 |
children | 2b6fa2618f76 |
line wrap: on
line source
(setq preloaded-file-list (assemble-list "backquote" ; needed for defsubst etc. "bytecomp-runtime" ; define defsubst "find-paths" "packages" ; Bootstrap run-time lisp environment "setup-paths" "dump-paths" "subr" ; load the most basic Lisp functions "replace" ; match-string used in version.el. ; Ignore compiled-by-mistake version.elc "version.el" "cl" "cl-extra" "cl-seq" "widget" "custom" ; Before the world so everything can be ; customized "cus-start" ; for customization of builtin variables "cmdloop" "keymap" "syntax" "device" "console" "obsolete" "specifier" "faces" ; must be loaded before any make-face call ;;(pureload "facemenu") #### not yet ported "glyphs" "objects" "extents" "events" "hash-table" "text-props" "process" ;; This is bad. network-streams may not be defined. (when-feature multicast "multicast") ; #+network-streams implicitly true "frame" ; move up here cause some stuff needs it here "map-ynp" "simple" "keydefs" ; Before loaddefs so that keymap vars exist. "abbrev" "derived" "minibuf" "list-mode" "modeline" ; needs simple.el to be loaded first ;; If SparcWorks support is included some additional packages are ;; dumped which would normally have autoloads. To avoid ;; duplicate doc string warnings, SparcWorks uses a separate ;; autoloads file with the dumped packages removed. ;; After fixing, eos/loaddefs-eos and loaddefs appear identical?!! ;; So just make loaddefs-eos go away... ;;(pureload (if (featurep 'sparcworks) "eos/loaddefs-eos" "loaddefs")) "cus-file" "startup" ; For initialization of ; `emacs-user-extension-dir' "misc" ;; (pureload "profile") "help" ;; (pureload "hyper-apropos") Soon... "files" "lib-complete" "format" "indent" "isearch-mode" "buffer" "buff-menu" "undo-stack" "window" "window-xemacs" "paths.el" ; don't get confused if paths compiled. "lisp" "page" "register" "iso8859-1" ; This must be before any modes ; (sets standard syntax table.) "paragraphs" "easymenu" ; Added for 20.3. "lisp-mode" "text-mode" "fill" "auto-save" ; Added for 20.4 "movemail" ; Added for 21.2 (when-feature windows-nt "win32-native") (when-feature lisp-float-type "float-sup") "itimer" ; for vars auto-save-timeout and ; auto-gc-threshold "itimer-autosave" "printer" "behavior" "behavior-defs" "diagnose" ;;;;;;;;;;;;;;;;;; GUI support (when-feature window-system "gui") (when-feature window-system "mouse") (when-feature window-system "mode-motion") (when-feature toolbar "toolbar") (when-feature scrollbar "scrollbar") (when-feature menubar "menubar") (when-feature dialog "dialog") (when-feature gutter "gutter") (when-feature dragdrop-api "dragdrop") "select" ;;;;;;;;;;;;;;;;;; Content for GUI's ;; There used to be window-system inserted in the when-feature, ;; but IMHO your configure script should turn off the menubar, ;; toolbar, etc. features when there is no window system. We ;; should just be able to assume that, if (featurep 'menubar), ;; the menubar should work and if items are added, they can be ;; seen clearly and usefully. (when-feature (and (not infodock) menubar) "menubar-items") (when-feature (and gutter) "gutter-items") (when-feature (and (not infodock) toolbar) "toolbar-items") (when-feature (and (not infodock) dialog) "dialog-items") ;;;;;;;;;;;;;;;;;; Coding-system support "coding" "code-files" ;; Handle process with encoding/decoding coding-system. "code-process" ;; Provide basic commands to set coding systems to user "code-cmds" "unicode" ;;;;;;;;;;;;;;;;;; MULE support (when-feature mule "mule-charset") (when-feature mule "mule-cmds") ; to sync with Emacs 20.1 (when-feature mule "mule-coding") (when-feature mule "mule-composite-stub") (when-feature mule "mule-composite") ;; may initialize coding systems (when-feature (and mule x) "mule-x-init") (when-feature (and mule tty) "mule-tty-init") (when-feature (and mule mswindows) "mule-msw-init") "code-init" ; set up defaults ;; All files after this can have extended characters in them. (when-feature mule "mule-category") (when-feature mule "mule-ccl") (when-feature mule "kinsoku") ;; after this goes the specific lisp routines for a particular input system ;; 97.2.5 JHod Shouldn't these go into a site-load file to allow site ;; or user switching of input systems??? ;(if (featurep 'wnn) ; (progn ; (pureload "egg") ; (pureload "egg-wnn") ; (setq egg-default-startup-file "eggrc-wnn"))) ;; (if (and (boundp 'CANNA) CANNA) ;; (pureload "canna") ;; ) ;; Now load files to set up all the different languages/environments that ;; Mule knows about. Formerly we had to worry about files shadowed by ;; those of the same name in leim/quail.el, but no longer, since we now ;; compile with -no-packages. (when-feature mule "arabic") (when-feature mule "chinese") (when-feature mule "cyrillic") (when-feature mule "english") (when-feature mule "ethiopic") (when-feature mule "european") (when-feature mule "greek") (when-feature mule "hebrew") (when-feature mule "indian") (when-feature mule "devanagari") ; must be loaded after indian.el (when-feature mule "japanese") (when-feature mule "korean") (when-feature mule "lao") (when-feature mule "latin") (when-feature mule "misc-lang") ;; #### merge thai and thai-xtis!!! ;(when-feature mule "thai") (when-feature mule "thai-xtis") (when-feature mule "tibetan") (when-feature mule "vietnamese") ;; Specialized language support (when-feature (and mule CANNA) "canna-leim") ;; Egg/Its is now a package ; (when-feature (and mule wnn) "egg-leim") ; (when-feature (and mule wnn) "egg-kwnn-leim") ; (when-feature (and mule wnn) "egg-cwnn-leim") ; (when-feature mule "egg-sj3-leim") ;; SKK is now a package ; (when-feature mule "skk-leim") ;; Enable Mule capability for Gnus, mail, etc... ;; Moved to sunpro-load.el - the default only for Sun. ;;(pureload "mime-setup") ;; needs access to the charsets created by the above ;; language-specific files. (when-feature (and mule mswindows) "mule-msw-init-late") ;;; mule-load.el ends here ;; preload InfoDock stuff. should almost certainly not be here if ;; id-menus is not here. infodock needs to figure out a clever way to ;; advise this stuff or we need to export a clean way for infodock or ;; others to control this programmatically. (when-feature (and infodock (or x mswindows gtk) menubar) "id-menus") ;; preload the X code. (when-feature x "x-faces") (when-feature x "x-iso8859-1") (when-feature x "x-mouse") (when-feature x "x-select") (when-feature (and x scrollbar) "x-scrollbar") (when-feature x "x-misc") (when-feature x "x-init") (when-feature x "x-win-xfree86") (when-feature x "x-win-sun") ;; preload the GTK code (when-feature gtk "gtk-ffi") (when-feature gtk "gtk-widgets") (when-feature gtk "gdk") (when-feature gtk "gtk-init") (when-feature gtk "gtk-faces") (when-feature gtk "gtk-iso8859-1") (when-feature (and gtk dialog) "dialog-gtk") (when-feature gtk "gtk-select") (when-feature gtk "gtk-mouse") (when-feature gtk "gtk-glyphs") (when-feature glade "glade") (when-feature gtk "widgets-gtk") ;; preload the mswindows code. (when-feature mswindows "msw-glyphs") (when-feature mswindows "msw-faces") (when-feature mswindows "msw-mouse") (when-feature mswindows "msw-init") (when-feature mswindows "msw-select") ;; preload the TTY init code. (when-feature tty "tty-init") ;;; Formerly in tooltalk/tooltalk-load.el ;; Moved to tooltalk package ;; (when-feature tooltalk "tooltalk-macros") ;; (when-feature tooltalk "tooltalk-util") ;; (when-feature tooltalk "tooltalk-init") ;; "vc-hooks" ; Packaged. Available in two versions. ;; "ediff-hook" ; Packaged. "fontl-hooks" "auto-show" "resize-minibuffer" (when-feature ldap "ldap") ;; (when-feature energize "energize/energize-load.el") ;;; formerly in sunpro/sunpro-load.el ;; (when-feature (and mule sparcworks) "mime-setup") ;; Moved to Sun package ;; (when-feature sparcworks "cc-mode") ; Requires cc-mode package ;; (when-feature sparcworks "sunpro-init") ;; (when-feature sparcworks "ring") ;; (when-feature sparcworks "comint") ; Requires comint package ;; (when-feature sparcworks "annotations") ;;; formerly in eos/sun-eos-load.el ;; (when-feature sparcworks "sun-eos-init") ;; (when-feature sparcworks "sun-eos-common") ;; (when-feature sparcworks "sun-eos-editor") ;; (when-feature sparcworks "sun-eos-browser") ;; (when-feature sparcworks "sun-eos-debugger") ;; (when-feature sparcworks "sun-eos-debugger-extra") ;; (when-feature sparcworks "sun-eos-menubar") "loadhist" ; Must be dumped before loaddefs is loaded "loaddefs" ; <=== autoloads get loaded here ))