Mercurial > emacs
annotate lisp/play/spook.el @ 24102:1086aa5db591
Major rewrite to support cleaner method of dumping; a
static "bss" section is used for heap space during preload, and
bss data is now written to the proper section area when dumping.
(need_to_recreate_heap): Renamed to using_dynamic_heap.
(heap_index_in_executable): Obsolete variable removed.
(data_section): New variable.
(data_start_va): Renamed to data_start.
(data_start_file): Obsolete variable removed.
(bss_section):
(extra_bss_size):
(bss_section_static):
(bss_start_static):
(bss_size_static):
(extra_bss_size_static):
(heap_section): New variables.
(_start): Remove code based on old unexec method. Call init_heap
to initialize sbrk heap.
(close_file_data): Update size of file when closing, so that
unexec doesn't have to work out exact size in advance.
(get_bss_info_from_map_file):
(get_section_size): Obsolete functions removed.
(rva_to_section): Fix minor bug, and add a work-around for a bug
in very old linkers.
(offset_to_section):
(relocate_offset): New functions.
(OFFSET_TO_RVA):
(RVA_TO_OFFSET):
(RVA_TO_SECTION_OFFSET):
(PTR_TO_RVA):
(PTR_TO_OFFSET):
(OFFSET_TO_PTR): New macros.
(get_section_info): Modify to support new unexec method;
determines address ranges in process that need dumping, and COFF
sections where data will be dumped. Allows for static and global
bss data to be in separate ranges. No longer relies on knowledge
of section names.
(copy_executable_and_dump_data_section): Renamed
copy_executable_and_dump_data. Completely rewritten to copy
executable section by section, so that raw data areas can be
expanded to hold dumped data as necessary. Allows for bss data to
be in same section as initialized data. Reduces size of static
heap section to that used during preload.
(dump_bss_and_heap):
(w32_fatal_reload_error):
(read_in_bss):
(map_in_heap): Obsolete functions removed.
(unexec): Rounds off preload heap to nearest page rather than
virtual allocation unit. Modified to match other changes.
author | Andrew Innes <andrewi@gnu.org> |
---|---|
date | Sun, 17 Jan 1999 19:21:24 +0000 |
parents | f1fc193b6958 |
children | dbb638e8f5d5 |
rev | line source |
---|---|
658
7cbd4fcd8b0f
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
444
diff
changeset
|
1 ;;; spook.el --- spook phrase utility for overloading the NSA line eater |
7cbd4fcd8b0f
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
444
diff
changeset
|
2 |
4091
51d19cce579f
(snarf-spooks): Restore function.
Roland McGrath <roland@gnu.org>
parents:
3384
diff
changeset
|
3 ;; Copyright (C) 1988, 1993 Free Software Foundation, Inc. |
841 | 4 |
814
38b2499cb3e9
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
807
diff
changeset
|
5 ;; Maintainer: FSF |
38b2499cb3e9
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
807
diff
changeset
|
6 ;; Keywords: games |
2315
9e7ec92a4fdf
Added or corrected Commentary headers
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
1219
diff
changeset
|
7 ;; Created: May 1987 |
787
3cece0106722
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
658
diff
changeset
|
8 |
36 | 9 ;; This file is part of GNU Emacs. |
10 | |
11 ;; GNU Emacs is free software; you can redistribute it and/or modify | |
12 ;; it under the terms of the GNU General Public License as published by | |
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
787
diff
changeset
|
13 ;; the Free Software Foundation; either version 2, or (at your option) |
36 | 14 ;; any later version. |
15 | |
16 ;; GNU Emacs is distributed in the hope that it will be useful, | |
17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
19 ;; GNU General Public License for more details. | |
20 | |
21 ;; You should have received a copy of the GNU General Public License | |
14169 | 22 ;; along with GNU Emacs; see the file COPYING. If not, write to the |
23 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
24 ;; Boston, MA 02111-1307, USA. | |
36 | 25 |
787
3cece0106722
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
658
diff
changeset
|
26 ;;; Commentary: |
36 | 27 |
14169 | 28 ;; Steve Strassmann <straz@media-lab.media.mit.edu> didn't write |
29 ;; this, and even if he did, he really didn't mean for you to use it | |
30 ;; in an anarchistic way. | |
31 ;; | |
32 ;; To use this: | |
33 ;; Just before sending mail, do M-x spook. | |
34 ;; A number of phrases will be inserted into your buffer, to help | |
35 ;; give your message that extra bit of attractiveness for automated | |
36 ;; keyword scanners. Help defeat the NSA trunk trawler! | |
36 | 37 |
787
3cece0106722
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
658
diff
changeset
|
38 ;;; Code: |
3cece0106722
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
658
diff
changeset
|
39 |
3384 | 40 (require 'cookie1) |
2320
ee096523431c
Modified to use cookie.el
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2315
diff
changeset
|
41 |
36 | 42 ; Variables |
21363 | 43 (defgroup spook nil |
44 "Spook phrase utility for overloading the NSA line eater." | |
45 :prefix "spook-" | |
46 :group 'games) | |
36 | 47 |
21363 | 48 (defcustom spook-phrases-file (concat data-directory "spook.lines") |
49 "Keep your favorite phrases here." | |
50 :type 'file | |
51 :group 'spook) | |
52 | |
53 (defcustom spook-phrase-default-count 15 | |
54 "Default number of phrases to insert." | |
55 :type 'integer | |
56 :group 'spook) | |
36 | 57 |
1219
3e9034e7bebf
(spook): Make it autoload.
Richard M. Stallman <rms@gnu.org>
parents:
841
diff
changeset
|
58 ;;;###autoload |
36 | 59 (defun spook () |
60 "Adds that special touch of class to your outgoing mail." | |
61 (interactive) | |
4091
51d19cce579f
(snarf-spooks): Restore function.
Roland McGrath <roland@gnu.org>
parents:
3384
diff
changeset
|
62 (cookie-insert spook-phrases-file |
51d19cce579f
(snarf-spooks): Restore function.
Roland McGrath <roland@gnu.org>
parents:
3384
diff
changeset
|
63 spook-phrase-default-count |
51d19cce579f
(snarf-spooks): Restore function.
Roland McGrath <roland@gnu.org>
parents:
3384
diff
changeset
|
64 "Checking authorization..." |
51d19cce579f
(snarf-spooks): Restore function.
Roland McGrath <roland@gnu.org>
parents:
3384
diff
changeset
|
65 "Checking authorization...Approved")) |
36 | 66 |
4091
51d19cce579f
(snarf-spooks): Restore function.
Roland McGrath <roland@gnu.org>
parents:
3384
diff
changeset
|
67 ;;;###autoload |
51d19cce579f
(snarf-spooks): Restore function.
Roland McGrath <roland@gnu.org>
parents:
3384
diff
changeset
|
68 (defun snarf-spooks () |
51d19cce579f
(snarf-spooks): Restore function.
Roland McGrath <roland@gnu.org>
parents:
3384
diff
changeset
|
69 "Return a vector containing the lines from `spook-phrases-file'." |
51d19cce579f
(snarf-spooks): Restore function.
Roland McGrath <roland@gnu.org>
parents:
3384
diff
changeset
|
70 (cookie-snarf spook-phrases-file |
51d19cce579f
(snarf-spooks): Restore function.
Roland McGrath <roland@gnu.org>
parents:
3384
diff
changeset
|
71 "Checking authorization..." |
51d19cce579f
(snarf-spooks): Restore function.
Roland McGrath <roland@gnu.org>
parents:
3384
diff
changeset
|
72 "Checking authorization...Approved")) |
51d19cce579f
(snarf-spooks): Restore function.
Roland McGrath <roland@gnu.org>
parents:
3384
diff
changeset
|
73 |
51d19cce579f
(snarf-spooks): Restore function.
Roland McGrath <roland@gnu.org>
parents:
3384
diff
changeset
|
74 ;; Note: the implementation that used to take up most of this file has been |
51d19cce579f
(snarf-spooks): Restore function.
Roland McGrath <roland@gnu.org>
parents:
3384
diff
changeset
|
75 ;; cleaned up, generalized, gratuitously broken by esr, and now resides in |
51d19cce579f
(snarf-spooks): Restore function.
Roland McGrath <roland@gnu.org>
parents:
3384
diff
changeset
|
76 ;; cookie1.el. |
658
7cbd4fcd8b0f
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
444
diff
changeset
|
77 |
18383 | 78 (provide 'spook) |
79 | |
658
7cbd4fcd8b0f
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
444
diff
changeset
|
80 ;;; spook.el ends here |