Raymond Toy pushed to branch master at cmucl / cmucl
Commits:
-
d9090138
by Raymond Toy at 2016-09-18T21:09:13-07:00
-
3d18025d
by Raymond Toy at 2016-10-01T17:45:23+00:00
3 changed files:
Changes:
| ... | ... | @@ -72,7 +72,7 @@ |
| 72 | 72 |
|
| 73 | 73 |
;;;; Processing the command strings.
|
| 74 | 74 |
|
| 75 |
(defun process-command-strings ()
|
|
| 75 |
(defun process-command-strings (init-command-switches-p)
|
|
| 76 | 76 |
(setq *command-line-words* nil)
|
| 77 | 77 |
(setq *command-line-switches* nil)
|
| 78 | 78 |
(let ((cmd-strings lisp::lisp-command-line-list)
|
| ... | ... | @@ -103,7 +103,7 @@ |
| 103 | 103 |
(return-from process-command-strings nil))
|
| 104 | 104 |
|
| 105 | 105 |
;; Set command line switches.
|
| 106 |
;;
|
|
| 106 |
;;
|
|
| 107 | 107 |
(loop
|
| 108 | 108 |
(unless str
|
| 109 | 109 |
(return (setf *command-line-switches*
|
| ... | ... | @@ -119,14 +119,16 @@ |
| 119 | 119 |
(let (word-list)
|
| 120 | 120 |
(loop
|
| 121 | 121 |
(unless str
|
| 122 |
(push (make-cmd-switch switch value (nreverse word-list))
|
|
| 123 |
*command-line-switches*)
|
|
| 122 |
(when init-command-switches-p
|
|
| 123 |
(push (make-cmd-switch switch value (nreverse word-list))
|
|
| 124 |
*command-line-switches*))
|
|
| 124 | 125 |
(return nil))
|
| 125 | 126 |
|
| 126 | 127 |
(unless (zerop (length (the simple-string str)))
|
| 127 | 128 |
(when (char= #\- (schar str 0))
|
| 128 |
(push (make-cmd-switch switch value (nreverse word-list))
|
|
| 129 |
*command-line-switches*)
|
|
| 129 |
(when init-command-switches-p
|
|
| 130 |
(push (make-cmd-switch switch value (nreverse word-list))
|
|
| 131 |
*command-line-switches*))
|
|
| 130 | 132 |
(when (and (= (length str) 2)
|
| 131 | 133 |
(char= #\- (schar str 1)))
|
| 132 | 134 |
;; Gather up everything after --, and exit.
|
| ... | ... | @@ -134,7 +136,7 @@ |
| 134 | 136 |
(setf str nil))
|
| 135 | 137 |
(return nil))
|
| 136 | 138 |
(push str word-list))
|
| 137 |
(setq str (pop cmd-strings))))))))
|
|
| 139 |
(setq str (pop cmd-strings)))))))))
|
|
| 138 | 140 |
|
| 139 | 141 |
(defun get-command-line-switch (sname)
|
| 140 | 142 |
"Accepts the name of a switch as a string and returns the value of
|
| ... | ... | @@ -153,7 +153,8 @@ |
| 153 | 153 |
(process-command-line t)
|
| 154 | 154 |
#+:executable
|
| 155 | 155 |
(executable nil)
|
| 156 |
(batch-mode nil))
|
|
| 156 |
(batch-mode nil)
|
|
| 157 |
(quiet nil))
|
|
| 157 | 158 |
"Saves a CMU Common Lisp core image in the file of the specified name. The
|
| 158 | 159 |
following keywords are defined:
|
| 159 | 160 |
|
| ... | ... | @@ -191,8 +192,10 @@ |
| 191 | 192 |
|
| 192 | 193 |
:process-command-line
|
| 193 | 194 |
If true (the default), process command-line switches via the normal
|
| 194 |
mechanisms, otherwise ignore all switches (except those processed by the
|
|
| 195 |
C startup code).
|
|
| 195 |
mechanisms, otherwise ignore all switches (except those processed by
|
|
| 196 |
the C startup code). In either case, the command line switches are
|
|
| 197 |
saved in *COMMAND-LINE-STRINGS* and
|
|
| 198 |
*COMMAND-LINE-APPLICATION-ARGUMENTS*.
|
|
| 196 | 199 |
|
| 197 | 200 |
:executable
|
| 198 | 201 |
If nil (the default), save-lisp will save using the traditional
|
| ... | ... | @@ -203,7 +206,14 @@ |
| 203 | 206 |
:batch-mode
|
| 204 | 207 |
If nil (the default), then the presence of the -batch command-line
|
| 205 | 208 |
switch will invoke batch-mode processing. If true, the produced core
|
| 206 |
will always be in batch-mode, regardless of any command-line switches."
|
|
| 209 |
will always be in batch-mode, regardless of any command-line switches.
|
|
| 210 |
|
|
| 211 |
:quiet
|
|
| 212 |
If non-NIL, loading, compiling, and GC messages are suppressed.
|
|
| 213 |
This is equivalent to setting *load-verbose*, *compile-verbose*,
|
|
| 214 |
*compile-print*, *compile-progress*, *require-verbose*, and
|
|
| 215 |
*gc-verbose* all to NIL. If NIL (the default), the default
|
|
| 216 |
values of these variables are used."
|
|
| 207 | 217 |
|
| 208 | 218 |
(unless (probe-file (directory-namestring core-file-name))
|
| 209 | 219 |
(error 'simple-file-error
|
| ... | ... | @@ -240,8 +250,7 @@ |
| 240 | 250 |
(environment-init)
|
| 241 | 251 |
(dolist (f *after-save-initializations*) (funcall f))
|
| 242 | 252 |
(intl::setlocale)
|
| 243 |
(when process-command-line
|
|
| 244 |
(ext::process-command-strings))
|
|
| 253 |
(ext::process-command-strings process-command-line)
|
|
| 245 | 254 |
(setf *editor-lisp-p* nil)
|
| 246 | 255 |
(macrolet ((find-switch (name)
|
| 247 | 256 |
`(find ,name *command-line-switches*
|
| ... | ... | @@ -249,7 +258,8 @@ |
| 249 | 258 |
:test #'(lambda (x y)
|
| 250 | 259 |
(declare (simple-string x y))
|
| 251 | 260 |
(string-equal x y)))))
|
| 252 |
(when (and process-command-line (find-switch "quiet"))
|
|
| 261 |
(when (or quiet
|
|
| 262 |
(and process-command-line (find-switch "quiet")))
|
|
| 253 | 263 |
(setq *load-verbose* nil
|
| 254 | 264 |
*compile-verbose* nil
|
| 255 | 265 |
*compile-print* nil
|
| ... | ... | @@ -285,8 +295,9 @@ |
| 285 | 295 |
(ext::invoke-switch-demons *command-line-switches*
|
| 286 | 296 |
*command-switch-demons*))
|
| 287 | 297 |
(when (and print-herald
|
| 288 |
(not (and process-command-line
|
|
| 289 |
(find-switch "quiet"))))
|
|
| 298 |
(not (or quiet
|
|
| 299 |
(and process-command-line
|
|
| 300 |
(find-switch "quiet")))))
|
|
| 290 | 301 |
;; Don't print the herald if -quiet is given.
|
| 291 | 302 |
(print-herald)))))
|
| 292 | 303 |
(funcall init-function))
|
| ... | ... | @@ -6713,8 +6713,10 @@ msgid "" |
| 6713 | 6713 |
"\n"
|
| 6714 | 6714 |
" :process-command-line\n"
|
| 6715 | 6715 |
" If true (the default), process command-line switches via the normal\n"
|
| 6716 |
" mechanisms, otherwise ignore all switches (except those processed by the\n"
|
|
| 6717 |
" C startup code).\n"
|
|
| 6716 |
" mechanisms, otherwise ignore all switches (except those processed by\n"
|
|
| 6717 |
" the C startup code). In either case, the command line switches are\n"
|
|
| 6718 |
" saved in *COMMAND-LINE-STRINGS* and\n"
|
|
| 6719 |
" *COMMAND-LINE-APPLICATION-ARGUMENTS*.\n"
|
|
| 6718 | 6720 |
"\n"
|
| 6719 | 6721 |
" :executable\n"
|
| 6720 | 6722 |
" If nil (the default), save-lisp will save using the traditional\n"
|
| ... | ... | @@ -6725,7 +6727,14 @@ msgid "" |
| 6725 | 6727 |
" :batch-mode\n"
|
| 6726 | 6728 |
" If nil (the default), then the presence of the -batch command-line\n"
|
| 6727 | 6729 |
" switch will invoke batch-mode processing. If true, the produced core\n"
|
| 6728 |
" will always be in batch-mode, regardless of any command-line switches."
|
|
| 6730 |
" will always be in batch-mode, regardless of any command-line switches.\n"
|
|
| 6731 |
"\n"
|
|
| 6732 |
" :quiet\n"
|
|
| 6733 |
" If non-NIL, loading, compiling, and GC messages are suppressed.\n"
|
|
| 6734 |
" This is equivalent to setting *load-verbose*, *compile-verbose*,\n"
|
|
| 6735 |
" *compile-print*, *compile-progress*, *require-verbose*, and\n"
|
|
| 6736 |
" *gc-verbose* all to NIL. If NIL (the default), the default\n"
|
|
| 6737 |
" values of these variables are used."
|
|
| 6729 | 6738 |
msgstr ""
|
| 6730 | 6739 |
|
| 6731 | 6740 |
#: src/code/save.lisp
|