annotate lisp/dumped-lisp.el @ 853:2b6fa2618f76

[xemacs-hg @ 2002-05-28 08:44:22 by ben] merge my stderr-proc ws make-docfile.c: Fix places where we forget to check for EOF. code-init.el: Don't use CRLF conversion by default on process output. CMD.EXE and friends work both ways but Cygwin programs don't like the CRs. code-process.el, multicast.el, process.el: Removed. Improvements to call-process-internal: -- allows a buffer to be specified for input and stderr output -- use it on all systems -- implement C-g as documented -- clean up and comment call-process-region uses new call-process facilities; no temp file. remove duplicate funs in process.el. comment exactly how coding systems work and fix various problems. open-multicast-group now does similar coding-system frobbing to open-network-stream. dumped-lisp.el, faces.el, msw-faces.el: Fix some hidden errors due to code not being defined at the right time. xemacs.mak: Add -DSTRICT. ================================================================ ALLOW SEPARATION OF STDOUT AND STDERR IN PROCESSES ================================================================ Standard output and standard error can be processed separately in a process. Each can have its own buffer, its own mark in that buffer, and its filter function. You can specify a separate buffer for stderr in `start-process' to get things started, or use the new primitives: set-process-stderr-buffer process-stderr-buffer process-stderr-mark set-process-stderr-filter process-stderr-filter Also, process-send-region takes a 4th optional arg, a buffer. Currently always uses a pipe() under Unix to read the error output. (#### Would a PTY be better?) sysdep.h, sysproc.h, unexfreebsd.c, unexsunos4.c, nt.c, emacs.c, callproc.c, symsinit.h, sysdep.c, Makefile.in.in, process-unix.c: Delete callproc.c. Move child_setup() to process-unix.c. wait_for_termination() now only needed on a few really old systems. console-msw.h, event-Xt.c, event-msw.c, event-stream.c, event-tty.c, event-unixoid.c, events.h, process-nt.c, process-unix.c, process.c, process.h, procimpl.h: Rewrite the process methods to handle a separate channel for error input. Create Lstreams for reading in the error channel. Many process methods need change. In general the changes are fairly clear as they involve duplicating what's used for reading the normal stdout and changing for stderr -- although tedious, as such changes are required throughout the entire process code. Rewrote the code that reads process output to do two loops, one for stdout and one for stderr. gpmevent.c, tooltalk.c: set_process_filter takes an argument for stderr. ================================================================ NEW ERROR-TRAPPING MECHANISM ================================================================ Totally rewrite error trapping code to be unified and support more features. Basic function is call_trapping_problems(), which lets you specify, by means of flags, what sorts of problems you want trapped. these can include -- quit -- errors -- throws past the function -- creation of "display objects" (e.g. buffers) -- deletion of already-existing "display objects" (e.g. buffers) -- modification of already-existing buffers -- entering the debugger -- gc -- errors->warnings (ala suspended errors) etc. All other error funs rewritten in terms of this one. Various older mechanisms removed or rewritten. window.c, insdel.c, console.c, buffer.c, device.c, frame.c: When creating a display object, added call to note_object_created(), for use with trapping_problems mechanism. When deleting, call check_allowed_operation() and note_object deleted(). The trapping-problems code records the objects created since the call-trapping-problems began. Those objects can be deleted, but none others (i.e. previously existing ones). bytecode.c, cmdloop.c: internal_catch takes another arg. eval.c: Add long comments describing the "five lists" used to maintain state (backtrace, gcpro, specbind, etc.) in the Lisp engine. backtrace.h, eval.c: Implement trapping-problems mechanism, eliminate old mechanisms or redo in terms of new one. frame.c, gutter.c: Flush out the concept of "critical display section", defined by the in_display() var. Use an internal_bind() to get it reset, rather than just doing it at end, because there may be a non-local exit. event-msw.c, event-stream.c, console-msw.h, device.c, dialog-msw.c, frame.c, frame.h, intl.c, toolbar.c, menubar-msw.c, redisplay.c, alloc.c, menubar-x.c: Make use of new trapping-errors stuff and rewrite code based on old mechanisms. glyphs-widget.c, redisplay.h: Protect calling Lisp in redisplay. insdel.c: Protect hooks against deleting existing buffers. frame-msw.c: Use EQ, not EQUAL in hash tables whose keys are just numbers. Otherwise we run into stickiness in redisplay because internal_equal() can QUIT. ================================================================ SIGNAL, C-G CHANGES ================================================================ Here we change the way that C-g interacts with event reading. The idea is that a C-g occurring while we're reading a user event should be read as C-g, but elsewhere should be a QUIT. The former code did all sorts of bizarreness -- requiring that no QUIT occurs anywhere in event-reading code (impossible to enforce given the stuff called or Lisp code invoked), and having some weird system involving enqueue/dequeue of a C-g and interaction with Vquit_flag -- and it didn't work. Now, we simply enclose all code where we want C-g read as an event with {begin/end}_dont_check_for_quit(). This completely turns off the mechanism that checks (and may remove or alter) C-g in the read-ahead queues, so we just get the C-g normal. Signal.c documents this very carefully. cmdloop.c: Correct use of dont_check_for_quit to new scheme, remove old out-of-date comments. event-stream.c: Fix C-g handling to actually work. device-x.c: Disable quit checking when err out. signal.c: Cleanup. Add large descriptive comment. process-unix.c, process-nt.c, sysdep.c: Use QUIT instead of REALLY_QUIT. It's not necessary to use REALLY_QUIT and just confuses the issue. lisp.h: Comment quit handlers. ================================================================ CONS CHANGES ================================================================ free_cons() now takes a Lisp_Object not the result of XCONS(). car and cdr have been renamed so that they don't get used directly; go through XCAR(), XCDR() instead. alloc.c, dired.c, editfns.c, emodules.c, fns.c, glyphs-msw.c, glyphs-x.c, glyphs.c, keymap.c, minibuf.c, search.c, eval.c, lread.c, lisp.h: Correct free_cons calling convention: now takes Lisp_Object, not Lisp_Cons chartab.c: Eliminate direct use of ->car, ->cdr, should be black box. callint.c: Rewrote using EXTERNAL_LIST_LOOP to avoid use of Lisp_Cons. ================================================================ USE INTERNAL-BIND-* ================================================================ eval.c: Cleanups of these funs. alloc.c, fileio.c, undo.c, specifier.c, text.c, profile.c, lread.c, redisplay.c, menubar-x.c, macros.c: Rewrote to use internal_bind_int() and internal_bind_lisp_object() in place of whatever varied and cumbersome mechanisms were formerly there. ================================================================ SPECBIND SANITY ================================================================ backtrace.h: - Improved comments backtrace.h, bytecode.c, eval.c: Add new mechanism check_specbind_stack_sanity() for sanity checking code each time the catchlist or specbind stack change. Removed older prototype of same mechanism. ================================================================ MISC ================================================================ lisp.h, insdel.c, window.c, device.c, console.c, buffer.c: Fleshed out authorship. device-msw.c: Correct bad Unicode-ization. print.c: Be more careful when not initialized or in fatal error handling. search.c: Eliminate running_asynch_code, an FSF holdover. alloc.c: Added comments about gc-cons-threshold. dialog-x.c: Use begin_gc_forbidden() around code to build up a widget value tree, like in menubar-x.c. gui.c: Use Qunbound not Qnil as the default for gethash. lisp-disunion.h, lisp-union.h: Added warnings on use of VOID_TO_LISP(). lisp.h: Use ERROR_CHECK_STRUCTURES to turn on ERROR_CHECK_TRAPPING_PROBLEMS and ERROR_CHECK_TYPECHECK lisp.h: Add assert_with_message. lisp.h: Add macros for gcproing entire arrays. (You could do this before but it required manual twiddling the gcpro structure.) lisp.h: Add prototypes for new functions defined elsewhere.
author ben
date Tue, 28 May 2002 08:45:36 +0000
parents a5954632b187
children 011e1bce6ece
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1 (setq preloaded-file-list
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2 (assemble-list
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3 "backquote" ; needed for defsubst etc.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4 "bytecomp-runtime" ; define defsubst
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5 "find-paths"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
6 "packages" ; Bootstrap run-time lisp environment
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
7 "setup-paths"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8 "dump-paths"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
9 "subr" ; load the most basic Lisp functions
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
10 "replace" ; match-string used in version.el.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
11 ; Ignore compiled-by-mistake version.elc
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
12 "version.el"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
13 "cl"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
14 "cl-extra"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
15 "cl-seq"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
16 "widget"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
17 "custom" ; Before the world so everything can be
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
18 ; customized
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
19 "cus-start" ; for customization of builtin variables
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
20 "cmdloop"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
21 "keymap"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
22 "syntax"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
23 "device"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
24 "console"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
25 "obsolete"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
26 "specifier"
853
2b6fa2618f76 [xemacs-hg @ 2002-05-28 08:44:22 by ben]
ben
parents: 800
diff changeset
27 "frame" ; needed by faces
2b6fa2618f76 [xemacs-hg @ 2002-05-28 08:44:22 by ben]
ben
parents: 800
diff changeset
28 (when-feature x "x-faces") ; needed by faces
2b6fa2618f76 [xemacs-hg @ 2002-05-28 08:44:22 by ben]
ben
parents: 800
diff changeset
29 (when-feature gtk "gtk-faces")
2b6fa2618f76 [xemacs-hg @ 2002-05-28 08:44:22 by ben]
ben
parents: 800
diff changeset
30 (when-feature mswindows "msw-faces")
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
31 "faces" ; must be loaded before any make-face call
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
32 ;;(pureload "facemenu") #### not yet ported
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
33 "glyphs"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
34 "objects"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
35 "extents"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
36 "events"
502
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 464
diff changeset
37 "hash-table"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
38 "text-props"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
39 "process" ;; This is bad. network-streams may not be defined.
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
40 (when-feature multicast "multicast") ; #+network-streams implicitly true
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
41 "map-ynp"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
42 "simple"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
43 "keydefs" ; Before loaddefs so that keymap vars exist.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
44 "abbrev"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
45 "derived"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
46 "minibuf"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
47 "list-mode"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
48 "modeline" ; needs simple.el to be loaded first
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
49 ;; If SparcWorks support is included some additional packages are
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
50 ;; dumped which would normally have autoloads. To avoid
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
51 ;; duplicate doc string warnings, SparcWorks uses a separate
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
52 ;; autoloads file with the dumped packages removed.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
53 ;; After fixing, eos/loaddefs-eos and loaddefs appear identical?!!
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
54 ;; So just make loaddefs-eos go away...
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
55 ;;(pureload (if (featurep 'sparcworks) "eos/loaddefs-eos" "loaddefs"))
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
56 "cus-file"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
57 "startup" ; For initialization of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
58 ; `emacs-user-extension-dir'
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
59 "misc"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
60 ;; (pureload "profile")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
61 "help"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
62 ;; (pureload "hyper-apropos") Soon...
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
63 "files"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
64 "lib-complete"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
65 "format"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
66 "indent"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
67 "isearch-mode"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
68 "buffer"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
69 "buff-menu"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
70 "undo-stack"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
71 "window"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
72 "window-xemacs"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
73 "paths.el" ; don't get confused if paths compiled.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
74 "lisp"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
75 "page"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
76 "register"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
77 "iso8859-1" ; This must be before any modes
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
78 ; (sets standard syntax table.)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
79 "paragraphs"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
80 "easymenu" ; Added for 20.3.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
81 "lisp-mode"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
82 "text-mode"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
83 "fill"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
84 "auto-save" ; Added for 20.4
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 428
diff changeset
85 "movemail" ; Added for 21.2
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
86 (when-feature windows-nt "win32-native")
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
87 (when-feature lisp-float-type "float-sup")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
88 "itimer" ; for vars auto-save-timeout and
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
89 ; auto-gc-threshold
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
90 "itimer-autosave"
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
91 "printer"
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 787
diff changeset
92 "behavior"
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 787
diff changeset
93 "behavior-defs"
787
242b62e9fc59 [xemacs-hg @ 2002-03-20 10:20:48 by ben]
ben
parents: 784
diff changeset
94 "diagnose"
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
95
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
96 ;;;;;;;;;;;;;;;;;; GUI support
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
97 (when-feature window-system "gui")
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
98 (when-feature window-system "mouse")
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
99 (when-feature window-system "mode-motion")
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
100 (when-feature toolbar "toolbar")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
101 (when-feature scrollbar "scrollbar")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
102 (when-feature menubar "menubar")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
103 (when-feature dialog "dialog")
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
104 (when-feature gutter "gutter")
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
105 (when-feature dragdrop-api "dragdrop")
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
106 "select"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
107
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
108 ;;;;;;;;;;;;;;;;;; Content for GUI's
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
109 ;; There used to be window-system inserted in the when-feature,
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
110 ;; but IMHO your configure script should turn off the menubar,
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
111 ;; toolbar, etc. features when there is no window system. We
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
112 ;; should just be able to assume that, if (featurep 'menubar),
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
113 ;; the menubar should work and if items are added, they can be
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
114 ;; seen clearly and usefully.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
115 (when-feature (and (not infodock) menubar) "menubar-items")
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
116 (when-feature (and gutter) "gutter-items")
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
117 (when-feature (and (not infodock) toolbar) "toolbar-items")
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
118 (when-feature (and (not infodock) dialog) "dialog-items")
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
119
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
120 ;;;;;;;;;;;;;;;;;; Coding-system support
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 502
diff changeset
121 "coding"
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 502
diff changeset
122 "code-files"
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 442
diff changeset
123 ;; Handle process with encoding/decoding coding-system.
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 502
diff changeset
124 "code-process"
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 442
diff changeset
125 ;; Provide basic commands to set coding systems to user
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 502
diff changeset
126 "code-cmds"
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 502
diff changeset
127 "unicode"
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
128 ;;;;;;;;;;;;;;;;;; MULE support
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
129 (when-feature mule "mule-charset")
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 502
diff changeset
130 (when-feature mule "mule-cmds") ; to sync with Emacs 20.1
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
131 (when-feature mule "mule-coding")
778
2923009caf47 [xemacs-hg @ 2002-03-16 10:38:59 by ben]
ben
parents: 771
diff changeset
132 (when-feature mule "mule-composite-stub")
2923009caf47 [xemacs-hg @ 2002-03-16 10:38:59 by ben]
ben
parents: 771
diff changeset
133 (when-feature mule "mule-composite")
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 502
diff changeset
134 ;; may initialize coding systems
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 502
diff changeset
135 (when-feature (and mule x) "mule-x-init")
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 502
diff changeset
136 (when-feature (and mule tty) "mule-tty-init")
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 502
diff changeset
137 (when-feature (and mule mswindows) "mule-msw-init")
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 502
diff changeset
138 "code-init" ; set up defaults
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
139 ;; All files after this can have extended characters in them.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
140 (when-feature mule "mule-category")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
141 (when-feature mule "mule-ccl")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
142 (when-feature mule "kinsoku")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
143
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
144 ;; after this goes the specific lisp routines for a particular input system
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
145 ;; 97.2.5 JHod Shouldn't these go into a site-load file to allow site
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
146 ;; or user switching of input systems???
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
147 ;(if (featurep 'wnn)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
148 ; (progn
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
149 ; (pureload "egg")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
150 ; (pureload "egg-wnn")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
151 ; (setq egg-default-startup-file "eggrc-wnn")))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
152
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
153 ;; (if (and (boundp 'CANNA) CANNA)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
154 ;; (pureload "canna")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
155 ;; )
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
156
780
578cb2932d72 [xemacs-hg @ 2002-03-18 10:07:30 by ben]
ben
parents: 778
diff changeset
157 ;; Now load files to set up all the different languages/environments that
578cb2932d72 [xemacs-hg @ 2002-03-18 10:07:30 by ben]
ben
parents: 778
diff changeset
158 ;; Mule knows about. Formerly we had to worry about files shadowed by
578cb2932d72 [xemacs-hg @ 2002-03-18 10:07:30 by ben]
ben
parents: 778
diff changeset
159 ;; those of the same name in leim/quail.el, but no longer, since we now
578cb2932d72 [xemacs-hg @ 2002-03-18 10:07:30 by ben]
ben
parents: 778
diff changeset
160 ;; compile with -no-packages.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
161
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
162 (when-feature mule "arabic")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
163 (when-feature mule "chinese")
780
578cb2932d72 [xemacs-hg @ 2002-03-18 10:07:30 by ben]
ben
parents: 778
diff changeset
164 (when-feature mule "cyrillic")
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
165 (when-feature mule "english")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
166 (when-feature mule "ethiopic")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
167 (when-feature mule "european")
780
578cb2932d72 [xemacs-hg @ 2002-03-18 10:07:30 by ben]
ben
parents: 778
diff changeset
168 (when-feature mule "greek")
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
169 (when-feature mule "hebrew")
780
578cb2932d72 [xemacs-hg @ 2002-03-18 10:07:30 by ben]
ben
parents: 778
diff changeset
170 (when-feature mule "indian")
578cb2932d72 [xemacs-hg @ 2002-03-18 10:07:30 by ben]
ben
parents: 778
diff changeset
171 (when-feature mule "devanagari") ; must be loaded after indian.el
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
172 (when-feature mule "japanese")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
173 (when-feature mule "korean")
780
578cb2932d72 [xemacs-hg @ 2002-03-18 10:07:30 by ben]
ben
parents: 778
diff changeset
174 (when-feature mule "lao")
464
5aa1854ad537 Import from CVS: tag r21-2-47
cvs
parents: 462
diff changeset
175 (when-feature mule "latin")
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
176 (when-feature mule "misc-lang")
780
578cb2932d72 [xemacs-hg @ 2002-03-18 10:07:30 by ben]
ben
parents: 778
diff changeset
177 ;; #### merge thai and thai-xtis!!!
578cb2932d72 [xemacs-hg @ 2002-03-18 10:07:30 by ben]
ben
parents: 778
diff changeset
178 ;(when-feature mule "thai")
578cb2932d72 [xemacs-hg @ 2002-03-18 10:07:30 by ben]
ben
parents: 778
diff changeset
179 (when-feature mule "thai-xtis")
578cb2932d72 [xemacs-hg @ 2002-03-18 10:07:30 by ben]
ben
parents: 778
diff changeset
180 (when-feature mule "tibetan")
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
181 (when-feature mule "vietnamese")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
182
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
183 ;; Specialized language support
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
184 (when-feature (and mule CANNA) "canna-leim")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
185 ;; Egg/Its is now a package
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
186 ; (when-feature (and mule wnn) "egg-leim")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
187 ; (when-feature (and mule wnn) "egg-kwnn-leim")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
188 ; (when-feature (and mule wnn) "egg-cwnn-leim")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
189 ; (when-feature mule "egg-sj3-leim")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
190 ;; SKK is now a package
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
191 ; (when-feature mule "skk-leim")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
192
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
193 ;; Enable Mule capability for Gnus, mail, etc...
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
194 ;; Moved to sunpro-load.el - the default only for Sun.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
195 ;;(pureload "mime-setup")
780
578cb2932d72 [xemacs-hg @ 2002-03-18 10:07:30 by ben]
ben
parents: 778
diff changeset
196
578cb2932d72 [xemacs-hg @ 2002-03-18 10:07:30 by ben]
ben
parents: 778
diff changeset
197 ;; needs access to the charsets created by the above
578cb2932d72 [xemacs-hg @ 2002-03-18 10:07:30 by ben]
ben
parents: 778
diff changeset
198 ;; language-specific files.
578cb2932d72 [xemacs-hg @ 2002-03-18 10:07:30 by ben]
ben
parents: 778
diff changeset
199 (when-feature (and mule mswindows) "mule-msw-init-late")
578cb2932d72 [xemacs-hg @ 2002-03-18 10:07:30 by ben]
ben
parents: 778
diff changeset
200
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
201 ;;; mule-load.el ends here
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
202
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
203 ;; preload InfoDock stuff. should almost certainly not be here if
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
204 ;; id-menus is not here. infodock needs to figure out a clever way to
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
205 ;; advise this stuff or we need to export a clean way for infodock or
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
206 ;; others to control this programmatically.
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 444
diff changeset
207 (when-feature (and infodock (or x mswindows gtk) menubar) "id-menus")
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
208 ;; preload the X code.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
209 (when-feature x "x-iso8859-1")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
210 (when-feature x "x-mouse")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
211 (when-feature x "x-select")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
212 (when-feature (and x scrollbar) "x-scrollbar")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
213 (when-feature x "x-misc")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
214 (when-feature x "x-init")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
215 (when-feature x "x-win-xfree86")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
216 (when-feature x "x-win-sun")
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 444
diff changeset
217 ;; preload the GTK code
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 444
diff changeset
218 (when-feature gtk "gtk-ffi")
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 444
diff changeset
219 (when-feature gtk "gtk-widgets")
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 444
diff changeset
220 (when-feature gtk "gdk")
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 444
diff changeset
221 (when-feature gtk "gtk-init")
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 444
diff changeset
222 (when-feature gtk "gtk-iso8859-1")
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 444
diff changeset
223 (when-feature (and gtk dialog) "dialog-gtk")
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 444
diff changeset
224 (when-feature gtk "gtk-select")
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 444
diff changeset
225 (when-feature gtk "gtk-mouse")
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 444
diff changeset
226 (when-feature gtk "gtk-glyphs")
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 444
diff changeset
227 (when-feature glade "glade")
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 444
diff changeset
228 (when-feature gtk "widgets-gtk")
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 444
diff changeset
229
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
230 ;; preload the mswindows code.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
231 (when-feature mswindows "msw-glyphs")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
232 (when-feature mswindows "msw-mouse")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
233 (when-feature mswindows "msw-init")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
234 (when-feature mswindows "msw-select")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
235 ;; preload the TTY init code.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
236 (when-feature tty "tty-init")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
237 ;;; Formerly in tooltalk/tooltalk-load.el
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
238 ;; Moved to tooltalk package
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
239 ;; (when-feature tooltalk "tooltalk-macros")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
240 ;; (when-feature tooltalk "tooltalk-util")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
241 ;; (when-feature tooltalk "tooltalk-init")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
242 ;; "vc-hooks" ; Packaged. Available in two versions.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
243 ;; "ediff-hook" ; Packaged.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
244 "fontl-hooks"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
245 "auto-show"
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 502
diff changeset
246 "resize-minibuffer"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
247 (when-feature ldap "ldap")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
248
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
249 ;; (when-feature energize "energize/energize-load.el")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
250 ;;; formerly in sunpro/sunpro-load.el
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
251 ;; (when-feature (and mule sparcworks) "mime-setup")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
252
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
253 ;; Moved to Sun package
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
254 ;; (when-feature sparcworks "cc-mode") ; Requires cc-mode package
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
255 ;; (when-feature sparcworks "sunpro-init")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
256 ;; (when-feature sparcworks "ring")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
257 ;; (when-feature sparcworks "comint") ; Requires comint package
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
258 ;; (when-feature sparcworks "annotations")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
259
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
260 ;;; formerly in eos/sun-eos-load.el
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
261 ;; (when-feature sparcworks "sun-eos-init")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
262 ;; (when-feature sparcworks "sun-eos-common")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
263 ;; (when-feature sparcworks "sun-eos-editor")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
264 ;; (when-feature sparcworks "sun-eos-browser")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
265 ;; (when-feature sparcworks "sun-eos-debugger")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
266 ;; (when-feature sparcworks "sun-eos-debugger-extra")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
267 ;; (when-feature sparcworks "sun-eos-menubar")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
268 "loadhist" ; Must be dumped before loaddefs is loaded
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
269 "loaddefs" ; <=== autoloads get loaded here
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
270 ))