* Proposal: emacs -Q option @ 2004-02-05 1:42 Kim F. Storm 2004-02-05 1:26 ` Miles Bader ` (3 more replies) 0 siblings, 4 replies; 31+ messages in thread From: Kim F. Storm @ 2004-02-05 1:42 UTC (permalink / raw) When I work on debugging redisplay related problems in emacs (I seem to be doing that quite a lot), I usually need to start emacs with as few display elements (like tool-bars, menu-bar, scroll-bars, etc) as possible, as well as not loading any of the various init files, i.e. like this: emacs -q --no-site-file --no-splash --eval '(blink-cursor-mode -1)' --eval '(tool-bar-mode -1)' --eval '(scroll-bar-mode -1)' --eval '(tooltip-mode -1)' --eval '(setq visible-bell t)' (the last line is because the audible bell drives me crazy). I propose to add a -Q option which is equivalent to this, i.e. emacs -Q does the same thing as the above call. Objections anyone? Here is a patch: --- startup.el 2004-02-05 02:27:51.000000000 +0100 *************** *** 73,78 **** --- 73,83 ---- ;; -no-splash Don't display a splash screen on startup. ;; --no-splash ;; ------------------------- + ;; -Q Quick startup. Do not load any of user's init + ;; file, "default.el", or "site-start". Disable + ;; the tool-bar, menu-bar, scroll-bars, tool-tips, + ;; the spash screen, and the blinking cursor. + ;; ------------------------- ;; -u USER Load USER's init file instead of the init ;; -user USER file belonging to the user starting Emacs. ;; --user USER *************** *** 359,364 **** --- 364,371 ---- string) :group 'auto-save) + (defvar emacs-quick-startup nil) + (defvar init-file-debug nil) (defvar init-file-had-error nil) *************** *** 777,782 **** --- 784,795 ---- (setq argval nil argi orig-argi))))) (cond + ((equal argi "-Q") + (setq init-file-user nil + site-run-file nil + visible-bell t + emacs-quick-startup t) + (push '(vertical-scroll-bars . nil) initial-frame-alist)) ((member argi '("-q" "-no-init-file")) (setq init-file-user nil)) ((member argi '("-u" "-user")) *************** *** 808,825 **** --- 821,841 ---- ;; If frame was created with a menu bar, set menu-bar-mode on. (unless (or noninteractive + emacs-quick-startup (and (memq window-system '(x w32)) (<= (frame-parameter nil 'menu-bar-lines) 0))) (menu-bar-mode 1)) ;; If frame was created with a tool bar, switch tool-bar-mode on. (unless (or noninteractive + emacs-quick-startup (not (display-graphic-p)) (<= (frame-parameter nil 'tool-bar-lines) 0)) (tool-bar-mode 1)) ;; Can't do this init in defcustom because window-system isn't set. (unless (or noninteractive + emacs-quick-startup (eq system-type 'ms-dos) (not (memq window-system '(x w32)))) (setq-default blink-cursor t) *************** *** 841,846 **** --- 857,863 ---- (normal-erase-is-backspace-mode 1))) (unless (or noninteractive + emacs-quick-startup (not (display-graphic-p)) (not (fboundp 'x-show-tip))) (setq-default tooltip-mode t) *************** *** 1744,1754 **** (list-buffers))))) ;; Maybe display a startup screen. ! (when (and (not inhibit-startup-message) (not noninteractive) ;; Don't display startup screen if init file ;; has started some sort of server. ! (not (and (fboundp 'process-list) ! (process-list)))) ;; Display a startup screen, after some preparations. ;; If there are no switches to process, we might as well --- 1761,1773 ---- (list-buffers))))) ;; Maybe display a startup screen. ! (unless (or inhibit-startup-message ! noninteractive ! emacs-quick-startup ;; Don't display startup screen if init file ;; has started some sort of server. ! (and (fboundp 'process-list) ! (process-list))) ;; Display a startup screen, after some preparations. ;; If there are no switches to process, we might as well -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Proposal: emacs -Q option 2004-02-05 1:42 Proposal: emacs -Q option Kim F. Storm @ 2004-02-05 1:26 ` Miles Bader 2004-02-05 6:23 ` Eli Zaretskii ` (2 subsequent siblings) 3 siblings, 0 replies; 31+ messages in thread From: Miles Bader @ 2004-02-05 1:26 UTC (permalink / raw) Cc: emacs-devel no-spam@cua.dk (Kim F. Storm) writes: > emacs -q --no-site-file --no-splash > --eval '(blink-cursor-mode -1)' > --eval '(tool-bar-mode -1)' > --eval '(scroll-bar-mode -1)' > --eval '(tooltip-mode -1)' > --eval '(setq visible-bell t)' > > (the last line is because the audible bell drives me crazy). > > I propose to add a -Q option which is equivalent to this, i.e. > > emacs -Q > > does the same thing as the above call. > > Objections anyone? I like the idea, but please omit the `visible-bell' setting -- that seems unrelated. BTW, another nice option for testing would be something to suppress the use of x-resource; doing `xrdb -remove' works but then I've got to put them back aftwards, and that won't help for ~/.X<whatever-the-file-is-called> which is read directly instead of through the server. -Miles -- I'd rather be consing. ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Proposal: emacs -Q option 2004-02-05 1:42 Proposal: emacs -Q option Kim F. Storm 2004-02-05 1:26 ` Miles Bader @ 2004-02-05 6:23 ` Eli Zaretskii 2004-02-05 8:33 ` Alan Mackenzie ` (2 more replies) 2004-02-05 7:28 ` Juri Linkov 2004-02-05 7:29 ` Juri Linkov 3 siblings, 3 replies; 31+ messages in thread From: Eli Zaretskii @ 2004-02-05 6:23 UTC (permalink / raw) Cc: emacs-devel > From: no-spam@cua.dk (Kim F. Storm) > Date: 05 Feb 2004 02:42:44 +0100 > > emacs -q --no-site-file --no-splash > --eval '(blink-cursor-mode -1)' > --eval '(tool-bar-mode -1)' > --eval '(scroll-bar-mode -1)' > --eval '(tooltip-mode -1)' > --eval '(setq visible-bell t)' > > (the last line is because the audible bell drives me crazy). > > I propose to add a -Q option which is equivalent to this, i.e. > > emacs -Q > > does the same thing as the above call. IMHO, using -Q for "-q --no-site-file" is fine, but adding all the other turn-offs makes this switch too heavily loaded. Why does it make sense to combine "-q --no-site-file", which basically means ``defeat all local deviations from the defaults'' with the rest, which disable fancy features? And what does visible-bell setting have to do with turning off features? I'd say let's make two options, one for "-q --no-site-file", the other for --no-splash and the --eval options mentioned above, excluding the visible-bell one. ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Proposal: emacs -Q option 2004-02-05 6:23 ` Eli Zaretskii @ 2004-02-05 8:33 ` Alan Mackenzie 2004-02-05 9:43 ` Kai Grossjohann 2004-02-05 11:53 ` Jan D. 2004-02-05 12:41 ` Kim F. Storm 2004-02-05 14:57 ` Stefan Monnier 2 siblings, 2 replies; 31+ messages in thread From: Alan Mackenzie @ 2004-02-05 8:33 UTC (permalink / raw) On 5 Feb 2004, Eli Zaretskii wrote: >> From: no-spam@cua.dk (Kim F. Storm) >> Date: 05 Feb 2004 02:42:44 +0100 >> emacs -q --no-site-file --no-splash >> --eval '(blink-cursor-mode -1)' >> --eval '(tool-bar-mode -1)' >> --eval '(scroll-bar-mode -1)' >> --eval '(tooltip-mode -1)' >> --eval '(setq visible-bell t)' >> (the last line is because the audible bell drives me crazy). >> I propose to add a -Q option which is equivalent to this, i.e. >> emacs -Q >> does the same thing as the above call. >IMHO, using -Q for "-q --no-site-file" is fine, but adding all the other >turn-offs makes this switch too heavily loaded. Why does it make sense >to combine "-q --no-site-file", which basically means ``defeat all >local deviations from the defaults'' with the rest, which disable fancy >features? And what does visible-bell setting have to do with turning >off features? >I'd say let's make two options, one for "-q --no-site-file", the other >for --no-splash and the --eval options mentioned above, excluding the >visible-bell one. I'd say, make a command-line "user option" instead or as well. After all, Emacs is supposed to be user configurable. Say, -U or -U"string". This would set a variable `option-U' to the string (or t) before running .emacs (or, possibly site-start.el?). So, starting emacs with `emacs -U"v"' could partner up with this in one's .emacs: (when option-U (blink-cursor-mode -1) (tool-bar-mode -1) (scroll-bar-mode -1) (tooltip-mode -1)) (if (equal option-U "v") (setq visible-bell t)) -- Alan Mackenzie (Munich, Germany) ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Proposal: emacs -Q option 2004-02-05 8:33 ` Alan Mackenzie @ 2004-02-05 9:43 ` Kai Grossjohann 2004-02-05 11:53 ` Jan D. 1 sibling, 0 replies; 31+ messages in thread From: Kai Grossjohann @ 2004-02-05 9:43 UTC (permalink / raw) Alan Mackenzie <acm@muc.de> writes: > I'd say, make a command-line "user option" instead or as well. After > all, Emacs is supposed to be user configurable. Say, -U or -U"string". > This would set a variable `option-U' to the string (or t) before running > .emacs (or, possibly site-start.el?). It is quite easy to process command line args. See the variable command-switch-alist. I think this additional machinery is not required, as it does more or less the same thing. Kai ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Proposal: emacs -Q option 2004-02-05 8:33 ` Alan Mackenzie 2004-02-05 9:43 ` Kai Grossjohann @ 2004-02-05 11:53 ` Jan D. 1 sibling, 0 replies; 31+ messages in thread From: Jan D. @ 2004-02-05 11:53 UTC (permalink / raw) Cc: emacs-devel > > I'd say, make a command-line "user option" instead or as well. After > all, Emacs is supposed to be user configurable. Say, -U or -U"string". > This would set a variable `option-U' to the string (or t) before > running > .emacs (or, possibly site-start.el?). Wouldn't emacs --eval '(setq option-U t)' do the same thing? A bit more to type though. Jan D. ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Proposal: emacs -Q option 2004-02-05 6:23 ` Eli Zaretskii 2004-02-05 8:33 ` Alan Mackenzie @ 2004-02-05 12:41 ` Kim F. Storm 2004-02-05 12:09 ` Andreas Schwab 2004-02-05 14:57 ` Stefan Monnier 2 siblings, 1 reply; 31+ messages in thread From: Kim F. Storm @ 2004-02-05 12:41 UTC (permalink / raw) Cc: emacs-devel Eli Zaretskii <eliz@elta.co.il> writes: > > From: no-spam@cua.dk (Kim F. Storm) > > Date: 05 Feb 2004 02:42:44 +0100 > > > > emacs -q --no-site-file --no-splash > > --eval '(blink-cursor-mode -1)' > > --eval '(tool-bar-mode -1)' > > --eval '(scroll-bar-mode -1)' > > --eval '(tooltip-mode -1)' > > --eval '(setq visible-bell t)' > > > > (the last line is because the audible bell drives me crazy). > > > > I propose to add a -Q option which is equivalent to this, i.e. > > > > emacs -Q > > > > does the same thing as the above call. > > IMHO, using -Q for "-q --no-site-file" is fine, but adding all the > other turn-offs makes this switch too heavily loaded. Makes sense, so ok, -Q was a bad choice... > Why does it > make sense to combine "-q --no-site-file", which basically means > ``defeat all local deviations from the defaults'' with the rest, > which disable fancy features? I think I explained _WHY_ I want a single, easy-to-type, option: When I work on debugging redisplay related problems in emacs (I seem to be doing that quite a lot), I usually need to start emacs with as few display elements (like tool-bars, menu-bar, scroll-bars, etc) as possible, as well as not loading any of the various init files, > And what does visible-bell setting > have to do with turning off features? Nothing, which I indicated by this comment: (the last line is because the audible bell drives me crazy). and unfortunately, no, Linux cannot control the volume of the built-in speaker in my notebook. > > I'd say let's make two options, one for "-q --no-site-file", the other > for --no-splash and the --eval options mentioned above, excluding the > visible-bell one. Yes, indeed, we can add all sorts of new options which add new functionalities or combines other options, such as -Q meaning load no user or site defaults at all (including X resources?). But my requirement was an option which makes life easier for me as a GNU Emacs developer trying to debug redisplay related problems. So if -Q isn't the right option for that, what other simple option can I use? -K perhaps :-) -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Proposal: emacs -Q option 2004-02-05 12:41 ` Kim F. Storm @ 2004-02-05 12:09 ` Andreas Schwab 2004-02-05 15:08 ` Kim F. Storm 0 siblings, 1 reply; 31+ messages in thread From: Andreas Schwab @ 2004-02-05 12:09 UTC (permalink / raw) Cc: Eli Zaretskii, emacs-devel storm@cua.dk (Kim F. Storm) writes: > I think I explained _WHY_ I want a single, easy-to-type, option: > > When I work on debugging redisplay related problems in emacs (I seem > to be doing that quite a lot), I usually need to start emacs with as > few display elements (like tool-bars, menu-bar, scroll-bars, etc) as > possible, as well as not loading any of the various init files, What's wrong with shell aliases/functions/scripts/whatever? Andreas. -- Andreas Schwab, SuSE Labs, schwab@suse.de SuSE Linux AG, Maxfeldstraße 5, 90409 Nürnberg, Germany Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Proposal: emacs -Q option 2004-02-05 12:09 ` Andreas Schwab @ 2004-02-05 15:08 ` Kim F. Storm 0 siblings, 0 replies; 31+ messages in thread From: Kim F. Storm @ 2004-02-05 15:08 UTC (permalink / raw) Cc: emacs-devel Andreas Schwab <schwab@suse.de> writes: > storm@cua.dk (Kim F. Storm) writes: > > > I think I explained _WHY_ I want a single, easy-to-type, option: > > > > When I work on debugging redisplay related problems in emacs (I seem > > to be doing that quite a lot), I usually need to start emacs with as > > few display elements (like tool-bars, menu-bar, scroll-bars, etc) as > > possible, as well as not loading any of the various init files, > > What's wrong with shell aliases/functions/scripts/whatever? Nothing ... except that I need a script for starting emacs in gdb inside emacs, a script for starting emacs in gdb outside emacs, a script for starting emacs from the shell, ... And I would like to be able to ask a person reporting a redisplay related problem to see if the problem persists with emacs -Q (just as we ask people to try ordinary bugs with emacs -q). -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Proposal: emacs -Q option 2004-02-05 6:23 ` Eli Zaretskii 2004-02-05 8:33 ` Alan Mackenzie 2004-02-05 12:41 ` Kim F. Storm @ 2004-02-05 14:57 ` Stefan Monnier 2 siblings, 0 replies; 31+ messages in thread From: Stefan Monnier @ 2004-02-05 14:57 UTC (permalink / raw) Cc: emacs-devel, Kim F. Storm Obviously there are two issues: 1 - Get reproducible bug reports that do not depend on the user's settings. For this we need something like --pristine (aka --vanilla in XEmacs) which ignores startup files and Xresources. 2 - Reduce the amount of code involved when debugging things like display bugs. For this we need something like --stipped-down or --minimal or whatever you want to call it. Additionally to tool-bar and stuff, it could also turn off jit-lock-mode and maybe a few others (jit-lock makes font-lock related debugging harder). I guess --minimal should imply --vanilla. Stefan ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Proposal: emacs -Q option 2004-02-05 1:42 Proposal: emacs -Q option Kim F. Storm 2004-02-05 1:26 ` Miles Bader 2004-02-05 6:23 ` Eli Zaretskii @ 2004-02-05 7:28 ` Juri Linkov 2004-02-09 10:46 ` Juri Linkov 2004-02-05 7:29 ` Juri Linkov 3 siblings, 1 reply; 31+ messages in thread From: Juri Linkov @ 2004-02-05 7:28 UTC (permalink / raw) Cc: emacs-devel no-spam@cua.dk (Kim F. Storm) writes: > emacs -q --no-site-file --no-splash > --eval '(blink-cursor-mode -1)' > --eval '(tool-bar-mode -1)' > --eval '(scroll-bar-mode -1)' > --eval '(tooltip-mode -1)' > --eval '(setq visible-bell t)' > > (the last line is because the audible bell drives me crazy). > > I propose to add a -Q option which is equivalent to this, i.e. > > emacs -Q > > does the same thing as the above call. > > Objections anyone? Yes, please do it. Anyhow, the `emacs/etc/TODO' file already has the following item: * Add a --pristine startup flag which does -q --no-site-file plus ignoring X resources (Doze equivalents?) and most of the environment. What should not be ignored needs consideration. BTW, it would be good to add also a short option -D as equivalent to --debug-init because this is a frequently used option. And also to add a new display options --no-blinking-cursor and -nbc to disable blinking cursor. -- http://www.jurta.org/emacs/ ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Proposal: emacs -Q option 2004-02-05 7:28 ` Juri Linkov @ 2004-02-09 10:46 ` Juri Linkov 0 siblings, 0 replies; 31+ messages in thread From: Juri Linkov @ 2004-02-09 10:46 UTC (permalink / raw) Cc: emacs-devel > BTW, it would be good to add also a short option -D as equivalent > to --debug-init because this is a frequently used option. And also > to add a new display options --no-blinking-cursor and -nbc to > disable blinking cursor. There is another suggestion for a new short option. The commentary section of the `startup.el' file had a warning that the "-e" form of the `--funcall' is outdated and should not be used. (It's a typo promoted to a feature.) So "-e" instead could be used as a short option for the `--eval' and `--execute': one of the frequently used action arguments still not having a short option. -- http://www.jurta.org/emacs/ ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Proposal: emacs -Q option 2004-02-05 1:42 Proposal: emacs -Q option Kim F. Storm ` (2 preceding siblings ...) 2004-02-05 7:28 ` Juri Linkov @ 2004-02-05 7:29 ` Juri Linkov 2004-02-05 19:14 ` Eli Zaretskii 2004-02-06 13:42 ` Richard Stallman 3 siblings, 2 replies; 31+ messages in thread From: Juri Linkov @ 2004-02-05 7:29 UTC (permalink / raw) Cc: emacs-devel no-spam@cua.dk (Kim F. Storm) writes: > --- startup.el 2004-02-05 02:27:51.000000000 +0100 > *************** > *** 73,78 **** > --- 73,83 ---- > ;; -no-splash Don't display a splash screen on startup. > ;; --no-splash > ;; ------------------------- > + ;; -Q Quick startup. Do not load any of user's init > + ;; file, "default.el", or "site-start". Disable > + ;; the tool-bar, menu-bar, scroll-bars, tool-tips, > + ;; the spash screen, and the blinking cursor. > + ;; ------------------------- > ;; -u USER Load USER's init file instead of the init > ;; -user USER file belonging to the user starting Emacs. > ;; --user USER I found 3 places in the source tree where command line arguments are documented: emacs/lisp/startup.el emacs/man/cmdargs.texi emacs/src/emacs.c and all of them are out of sync with the actual source code: --help, --version, --no-shared-memory, -nl, --find-file, --directory, -L DIR, and some display options are missed in the cmdargs.texi. --no-desktop is not documented in the cmdargs.texi and emacs.c. --find-file and many display options are not documented in the startup.el. Perhaps the documentation of command line arguments in the comments section of the startup.el is redundant because it is not helpful for users. -- http://www.jurta.org/emacs/ ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Proposal: emacs -Q option 2004-02-05 7:29 ` Juri Linkov @ 2004-02-05 19:14 ` Eli Zaretskii 2004-02-05 19:53 ` Stefan Monnier 2004-02-07 7:54 ` Juri Linkov 2004-02-06 13:42 ` Richard Stallman 1 sibling, 2 replies; 31+ messages in thread From: Eli Zaretskii @ 2004-02-05 19:14 UTC (permalink / raw) Cc: emacs-devel, no-spam > From: Juri Linkov <juri@jurta.org> > Date: Thu, 05 Feb 2004 09:29:33 +0200 > > I found 3 places in the source tree where command line arguments are > documented: > > emacs/lisp/startup.el > emacs/man/cmdargs.texi > emacs/src/emacs.c > > and all of them are out of sync with the actual source code: > > --help, --version, --no-shared-memory, -nl, --find-file, --directory, > -L DIR, and some display options are missed in the cmdargs.texi. > > --no-desktop is not documented in the cmdargs.texi and emacs.c. > > --find-file and many display options are not documented in the startup.el. I think the proper places for this are the text printed by "emacs --help" and cmdargs.texi. Of these, the latter one lags behind the code because Emacs developers are not required to submit documentation changes together with code changes. Usually, when a new Emacs release is about to enter the pretest phase, we go through NEWS entries and update the docs accordingly. As for the fact that emacs.c doesn't mention some of the new options, it's probably a bug, unless, for some good reasons, we don't want to advertise them. ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Proposal: emacs -Q option 2004-02-05 19:14 ` Eli Zaretskii @ 2004-02-05 19:53 ` Stefan Monnier 2004-02-07 7:54 ` Juri Linkov 1 sibling, 0 replies; 31+ messages in thread From: Stefan Monnier @ 2004-02-05 19:53 UTC (permalink / raw) Cc: Juri Linkov, no-spam, emacs-devel > As for the fact that emacs.c doesn't mention some of the new options, > it's probably a bug, unless, for some good reasons, we don't want to > advertise them. Part of the options are handled in emacs.c and part is handled in startup.el, so I think we need to build the --help message by combining those two pieces of info, so that we don't have to update one when we modify the other. The --help message could even take `command-switch-alist' into account. Stefan ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Proposal: emacs -Q option 2004-02-05 19:14 ` Eli Zaretskii 2004-02-05 19:53 ` Stefan Monnier @ 2004-02-07 7:54 ` Juri Linkov 2004-02-07 23:16 ` Stefan Monnier 2004-02-08 15:21 ` Richard Stallman 1 sibling, 2 replies; 31+ messages in thread From: Juri Linkov @ 2004-02-07 7:54 UTC (permalink / raw) Cc: emacs-devel "Eli Zaretskii" <eliz@elta.co.il> writes: > I think the proper places for this are the text printed by "emacs --help" > and cmdargs.texi. Of these, the latter one lags behind the code > because Emacs developers are not required to submit documentation > changes together with code changes. Usually, when a new Emacs > release is about to enter the pretest phase, we go through NEWS > entries and update the docs accordingly. > > As for the fact that emacs.c doesn't mention some of the new options, > it's probably a bug, unless, for some good reasons, we don't want to > advertise them. I looked more closely at available command line arguments and can't decide what to do with some of them because of their unclear status: what arguments are obsolete, what are not implemented, what are secret developers-only options, what are too platform-dependent and so shouldn't be known to users? --no-shared-memory, -nl (#ifdef HAVE_SHM) present in --help missing in cmdargs.texi --map-data, -map (#ifdef VMS) missing in --help, cmdargs.texi --no-loadup, -nl missing in --help, cmdargs.texi --vertical-scroll-bars, -vb present in --help missing in cmdargs.texi --horizontal-scroll-bars, -hb missing in --help, cmdargs.texi --line-spacing, -lsp present in --help missing in cmdargs.texi --smid missing in --help, cmdargs.texi -psn_ (#ifdef MAC_OSX) missing in --help, cmdargs.texi --name present in --help missing in cmdargs.texi, although documented in xresources.texi --xrm present in --help missing in cmdargs.texi, although documented in xresources.texi -- http://www.jurta.org/emacs/ ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Proposal: emacs -Q option 2004-02-07 7:54 ` Juri Linkov @ 2004-02-07 23:16 ` Stefan Monnier 2004-02-08 0:20 ` Steven Tamm 2004-02-08 7:19 ` Juri Linkov 2004-02-08 15:21 ` Richard Stallman 1 sibling, 2 replies; 31+ messages in thread From: Stefan Monnier @ 2004-02-07 23:16 UTC (permalink / raw) Cc: Eli Zaretskii, emacs-devel > --no-shared-memory, -nl (#ifdef HAVE_SHM) > present in --help > missing in cmdargs.texi No clue what this actually does. It should at least be removed from --help when HAVE_SHM is not defined. > --map-data, -map (#ifdef VMS) > missing in --help, cmdargs.texi > --no-loadup, -nl > missing in --help, cmdargs.texi IIRC this is only used for undumped Emacsen. It's "for hackers only". > --vertical-scroll-bars, -vb > present in --help > missing in cmdargs.texi > --horizontal-scroll-bars, -hb > missing in --help, cmdargs.texi I guess they should both be added. > --line-spacing, -lsp > present in --help > missing in cmdargs.texi Maybe this one as well. > --smid > missing in --help, cmdargs.texi This is used internally by the session-manager code (i.e. X11-specific). > -psn_ (#ifdef MAC_OSX) > missing in --help, cmdargs.texi This looks very "not-for-user". > --name > present in --help > missing in cmdargs.texi, although documented in xresources.texi > --xrm > present in --help > missing in cmdargs.texi, although documented in xresources.texi I suspect these were X11 specific. Maybe they are also somewhat supported under other platforms. They should definitely be mentioned in --help and in the Texinfo doc. Maybe it would be worthwhile to add them to cmdargs.texi. This said, I really think the --help text should be generated more dynamically to match the exact set of args accepted by the executed Emacs. Stefan ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Proposal: emacs -Q option 2004-02-07 23:16 ` Stefan Monnier @ 2004-02-08 0:20 ` Steven Tamm 2004-02-08 7:19 ` Juri Linkov 1 sibling, 0 replies; 31+ messages in thread From: Steven Tamm @ 2004-02-08 0:20 UTC (permalink / raw) Cc: Juri Linkov, Eli Zaretskii, emacs-devel -psn or "Process Serial Number" is used on OSX to provide a bridge between the old Classic Process Manager and the BSD core. This number shouldn't be accessed through the command line, but instead through a Carbon function call. It should be ignored whenever possible (i.e. not in cmdargs.texi nor in --help), and if it wasn't available to the Emacs process itself (i.e. removed from the command line arguments), that would probably be a good thing. Mostly because it cannot be specified by the user without causing... problems. -Steven On Feb 7, 2004, at 3:16 PM, Stefan Monnier wrote: >> --no-shared-memory, -nl (#ifdef HAVE_SHM) >> present in --help >> missing in cmdargs.texi > > No clue what this actually does. It should at least be removed from > --help > when HAVE_SHM is not defined. > >> --map-data, -map (#ifdef VMS) >> missing in --help, cmdargs.texi > >> --no-loadup, -nl >> missing in --help, cmdargs.texi > > IIRC this is only used for undumped Emacsen. It's "for hackers only". > >> --vertical-scroll-bars, -vb >> present in --help >> missing in cmdargs.texi >> --horizontal-scroll-bars, -hb >> missing in --help, cmdargs.texi > > I guess they should both be added. > >> --line-spacing, -lsp >> present in --help >> missing in cmdargs.texi > > Maybe this one as well. > >> --smid >> missing in --help, cmdargs.texi > > This is used internally by the session-manager code (i.e. > X11-specific). > >> -psn_ (#ifdef MAC_OSX) >> missing in --help, cmdargs.texi > > This looks very "not-for-user". > >> --name >> present in --help >> missing in cmdargs.texi, although documented in >> xresources.texi >> --xrm >> present in --help >> missing in cmdargs.texi, although documented in >> xresources.texi > > I suspect these were X11 specific. Maybe they are also somewhat > supported > under other platforms. They should definitely be mentioned in --help > and > in the Texinfo doc. Maybe it would be worthwhile to add them to > cmdargs.texi. > > This said, I really think the --help text should be generated more > dynamically to match the exact set of args accepted by the executed > Emacs. > > > Stefan > > > _______________________________________________ > Emacs-devel mailing list > Emacs-devel@gnu.org > http://mail.gnu.org/mailman/listinfo/emacs-devel ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Proposal: emacs -Q option 2004-02-07 23:16 ` Stefan Monnier 2004-02-08 0:20 ` Steven Tamm @ 2004-02-08 7:19 ` Juri Linkov 2004-02-08 16:56 ` Stefan Monnier 2004-02-09 9:38 ` Richard Stallman 1 sibling, 2 replies; 31+ messages in thread From: Juri Linkov @ 2004-02-08 7:19 UTC (permalink / raw) Cc: emacs-devel Stefan Monnier <monnier@iro.umontreal.ca> writes: > This said, I really think the --help text should be generated more > dynamically to match the exact set of args accepted by the executed Emacs. There is one disadvantage to dynamically generated option list: it will require to start Emacs completely to generate correct option list. For instance, look at the --no-desktop option processed in the desktop.el file: it can add own option to the option list correctly only when .emacs file with (desktop-save-mode 1) is loaded, desktop.el is loaded, and desktop.el finds a saved desktop file. Otherwise, showing this option to the user makes no sense. -- http://www.jurta.org/emacs/ ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Proposal: emacs -Q option 2004-02-08 7:19 ` Juri Linkov @ 2004-02-08 16:56 ` Stefan Monnier 2004-02-09 7:59 ` Juri Linkov 2004-02-09 9:38 ` Richard Stallman 1 sibling, 1 reply; 31+ messages in thread From: Stefan Monnier @ 2004-02-08 16:56 UTC (permalink / raw) Cc: emacs-devel > Stefan Monnier <monnier@iro.umontreal.ca> writes: >> This said, I really think the --help text should be generated more >> dynamically to match the exact set of args accepted by the executed Emacs. > There is one disadvantage to dynamically generated option list: it > will require to start Emacs completely to generate correct option > list. For instance, look at the --no-desktop option processed in the > desktop.el file: it can add own option to the option list correctly > only when .emacs file with (desktop-save-mode 1) is loaded, desktop.el > is loaded, and desktop.el finds a saved desktop file. Otherwise, > showing this option to the user makes no sense. Huh? Where's the disadvantage exactly? You mean it's better to never show the option (even if the user does have the above things in his .emacs) or to always show it? To me the whole point of making it dynamic is that it can take into account local config changes (in site-start.el and in .emacs). Of course when called with `-q --help' it might return something different than with just `--help', but that's the whole point. Stefan ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Proposal: emacs -Q option 2004-02-08 16:56 ` Stefan Monnier @ 2004-02-09 7:59 ` Juri Linkov 2004-02-09 8:29 ` Miles Bader 2004-02-10 9:46 ` Richard Stallman 0 siblings, 2 replies; 31+ messages in thread From: Juri Linkov @ 2004-02-09 7:59 UTC (permalink / raw) Cc: emacs-devel Stefan Monnier <monnier@iro.umontreal.ca> writes: > You mean it's better to never show the option (even if the user does have > the above things in his .emacs) or to always show it? I think it's better to always show all options (except perhaps some system-dependent options filtered out at compile-time like --no-shared-memory as you suggested earlier). The --help message is needed for users to quickly look at all options before starting Emacs, and fastest way to show it to the user is as a static text. After Emacs is started the user can consult the Emacs manual for full descriptions of all options. > To me the whole point of making it dynamic is that it can take into account > local config changes (in site-start.el and in .emacs). > Of course when called with `-q --help' it might return something different > than with just `--help', but that's the whole point. Your proposal looks like a new Emacs command that will collect a list of available options from different Emacs packages and show it to the user in an Emacs buffer or to stderr when called in batch mode. This might produce more correct option list but it is much slower than current static --help message and should not replace it. -- http://www.jurta.org/emacs/ ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Proposal: emacs -Q option 2004-02-09 7:59 ` Juri Linkov @ 2004-02-09 8:29 ` Miles Bader 2004-02-09 9:04 ` Juri Linkov 2004-02-10 9:46 ` Richard Stallman 1 sibling, 1 reply; 31+ messages in thread From: Miles Bader @ 2004-02-09 8:29 UTC (permalink / raw) Cc: Stefan Monnier, emacs-devel Juri Linkov <juri@jurta.org> writes: > This might produce more correct option list but it is much slower than > current static --help message and should not replace it. Is the speed of --help really an issue? -Miles -- `Suppose Korea goes to the World Cup final against Japan and wins,' Moon said. `All the past could be forgiven.' [NYT] ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Proposal: emacs -Q option 2004-02-09 8:29 ` Miles Bader @ 2004-02-09 9:04 ` Juri Linkov 2004-02-09 9:22 ` Miles Bader 0 siblings, 1 reply; 31+ messages in thread From: Juri Linkov @ 2004-02-09 9:04 UTC (permalink / raw) Cc: Stefan Monnier, emacs-devel Miles Bader <miles@lsi.nec.co.jp> writes: > Juri Linkov <juri@jurta.org> writes: >> This might produce more correct option list but it is much slower than >> current static --help message and should not replace it. > > Is the speed of --help really an issue? It depends on the purpose of --help: seems it is useful mostly when the user wants to start Emacs from the command line and forgets the syntax of some options. In this case the speed of --help is really important for users. However, when the user writes a shell script or makefile with Emacs invocations then it's better to read the Emacs manual with complete documentation of command line arguments. -- http://www.jurta.org/emacs/ ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Proposal: emacs -Q option 2004-02-09 9:04 ` Juri Linkov @ 2004-02-09 9:22 ` Miles Bader 0 siblings, 0 replies; 31+ messages in thread From: Miles Bader @ 2004-02-09 9:22 UTC (permalink / raw) Cc: Stefan Monnier, emacs-devel Juri Linkov <juri@jurta.org> writes: > > Is the speed of --help really an issue? > > It depends on the purpose of --help: seems it is useful mostly when > the user wants to start Emacs from the command line and forgets the > syntax of some options. In this case the speed of --help is really > important for users. I'd think in this case, accuracy would be rather _more_ important, as long as --help isn't `excessively' slow -- and dynamically generating --help improves accuracy. As for what `excessively slow' is, my opinion is that 1 second to display --help on a typical machine would be absolutely fine; 10 seconds, well, maybe that would be too slow. On my machine: time emacs --batch -l ~/.emacs -f kill-emacs takes about 1.5 seconds (due mostly to my huge .emacs file). -Miles -- Ich bin ein Virus. Mach' mit und kopiere mich in Deine .signature. ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Proposal: emacs -Q option 2004-02-09 7:59 ` Juri Linkov 2004-02-09 8:29 ` Miles Bader @ 2004-02-10 9:46 ` Richard Stallman 1 sibling, 0 replies; 31+ messages in thread From: Richard Stallman @ 2004-02-10 9:46 UTC (permalink / raw) Cc: monnier, emacs-devel The --help message is needed for users to quickly look at all options before starting Emacs, and fastest way to show it to the user is as a static text. After Emacs is started the user can consult the Emacs manual for full descriptions of all options. Please let's not spend our time thinking about dynamic options lists in Emacs. It simply isn't worth the time we'd spend on the discussion, let alone the time to implement it or to maintain it in the future. ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Proposal: emacs -Q option 2004-02-08 7:19 ` Juri Linkov 2004-02-08 16:56 ` Stefan Monnier @ 2004-02-09 9:38 ` Richard Stallman 1 sibling, 0 replies; 31+ messages in thread From: Richard Stallman @ 2004-02-09 9:38 UTC (permalink / raw) Cc: monnier, emacs-devel > This said, I really think the --help text should be generated more > dynamically to match the exact set of args accepted by the executed Emacs. There is one disadvantage to dynamically generated option list: it will require to start Emacs completely to generate correct option list. I don't think the feature is worth that disadvantage. Let's work on something else instead. ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Proposal: emacs -Q option 2004-02-07 7:54 ` Juri Linkov 2004-02-07 23:16 ` Stefan Monnier @ 2004-02-08 15:21 ` Richard Stallman 1 sibling, 0 replies; 31+ messages in thread From: Richard Stallman @ 2004-02-08 15:21 UTC (permalink / raw) Cc: eliz, emacs-devel --no-shared-memory, -nl (#ifdef HAVE_SHM) present in --help missing in cmdargs.texi --map-data, -map (#ifdef VMS) missing in --help, cmdargs.texi Those are unimportant. No need to document them. --line-spacing, -lsp present in --help missing in cmdargs.texi --smid missing in --help, cmdargs.texi -psn_ (#ifdef MAC_OSX) missing in --help, cmdargs.texi I don't know what those options mean. --name present in --help missing in cmdargs.texi, although documented in xresources.texi --xrm present in --help missing in cmdargs.texi, although documented in xresources.texi It is ok for them to be in xresources.texi instead of cmdargs.texi. ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Proposal: emacs -Q option 2004-02-05 7:29 ` Juri Linkov 2004-02-05 19:14 ` Eli Zaretskii @ 2004-02-06 13:42 ` Richard Stallman 2004-02-08 7:12 ` Juri Linkov 1 sibling, 1 reply; 31+ messages in thread From: Richard Stallman @ 2004-02-06 13:42 UTC (permalink / raw) Cc: kfs, emacs-devel --help, --version, --no-shared-memory, -nl, --find-file, --directory, -L DIR, and some display options are missed in the cmdargs.texi. Could you possibly write text to document them there? --no-desktop is not documented in the cmdargs.texi and emacs.c. Could you add that? --find-file and many display options are not documented in the startup.el. Perhaps the documentation of command line arguments in the comments section of the startup.el is redundant because it is not helpful for users. To save effort, we may as well get rid of that duplicate documentation. ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Proposal: emacs -Q option 2004-02-06 13:42 ` Richard Stallman @ 2004-02-08 7:12 ` Juri Linkov 2004-02-09 9:38 ` Richard Stallman 0 siblings, 1 reply; 31+ messages in thread From: Juri Linkov @ 2004-02-08 7:12 UTC (permalink / raw) Cc: emacs-devel Richard Stallman <rms@gnu.org> writes: > --help, --version, --no-shared-memory, -nl, --find-file, --directory, > -L DIR, and some display options are missed in the cmdargs.texi. > > Could you possibly write text to document them there? > > --no-desktop is not documented in the cmdargs.texi and emacs.c. > > Could you add that? > > --find-file and many display options are not documented in the startup.el. > > Perhaps the documentation of command line arguments in the comments > section of the startup.el is redundant because it is not helpful for users. > > To save effort, we may as well get rid of that duplicate documentation. emacs/man/ChangeLog: 2004-02-08 Juri Linkov <juri@jurta.org> * cmdargs.texi (Action Arguments): Add alias --find-file. Add --directory, --help, --version. Move text about command-line-args to Command Arguments. (Initial Options): Remove alias -batch. Add @cindex for --script. Fix @cindex for -q. Add --no-desktop. Add alias --no-multibyte, --no-unibyte. (Window Size X): Join -g and --geometry. Add @cindex. (Borders X): Fix @cindex for -ib. Add @cindex for -bw. (Title X): Remove alias -title. (Icons X): Remove alias -iconic. (Misc X): New node. emacs/lisp/ChangeLog: 2004-02-08 Juri Linkov <juri@jurta.org> * startup.el: Remove table of command line arguments from Commentary section. emacs/src/ChangeLog: 2004-02-08 Juri Linkov <juri@jurta.org> * emacs.c (USAGE1): Add --no-desktop. Move --display from USAGE2. Fix --multibyte. Move --help, --version to USAGE2. Add alias --file. Fix -f, -l. Sort options. Untabify. (USAGE2): Add -hb. Fix --name, --title. Sort options. Untabify. Index: emacs/man/cmdargs.texi =================================================================== RCS file: /cvsroot/emacs/emacs/man/cmdargs.texi,v retrieving revision 1.76 diff -c -r1.76 cmdargs.texi *** emacs/man/cmdargs.texi 2 Nov 2003 07:01:00 -0000 1.76 --- emacs/man/cmdargs.texi 8 Feb 2004 06:52:25 -0000 *************** *** 1,5 **** @c This is part of the Emacs manual. ! @c Copyright (C) 1985,86,87,93,94,95,1997,2001, 2003 Free Software Foundation, Inc. @c See file emacs.texi for copying conditions. @node Command Arguments, X Resources, Service, Top @appendix Command Line Arguments --- 1,5 ---- @c This is part of the Emacs manual. ! @c Copyright (C) 1985,86,87,93,94,95,97,2001,03,2004 Free Software Foundation, Inc. @c See file emacs.texi for copying conditions. @node Command Arguments, X Resources, Service, Top @appendix Command Line Arguments *************** *** 46,72 **** @cindex initial options (command line) @cindex action options (command line) Most options specify how to initialize Emacs, or set parameters for the Emacs session. We call them @dfn{initial options}. A few options specify things to do: for example, load libraries, call functions, or terminate Emacs. These are called @dfn{action options}. These and file names together are called @dfn{action arguments}. Emacs processes all ! the action arguments in the order they are written. @menu ! * Action Arguments:: Arguments to visit files, load libraries, ! and call functions. * Initial Options:: Arguments that take effect while starting Emacs. * Command Example:: Examples of using command line arguments. ! * Resume Arguments:: Specifying arguments when you resume a running Emacs. * Environment:: Environment variables that Emacs uses. * Display X:: Changing the default display and using remote login. ! * Font X:: Choosing a font for text, under X. ! * Colors:: Choosing display colors. * Window Size X:: Start-up window size, under X. ! * Borders X:: Internal and external borders, under X. * Title X:: Specifying the initial frame's title. * Icons X:: Choosing what sort of icon to use, under X. @end menu @node Action Arguments --- 46,78 ---- @cindex initial options (command line) @cindex action options (command line) + @vindex command-line-args Most options specify how to initialize Emacs, or set parameters for the Emacs session. We call them @dfn{initial options}. A few options specify things to do: for example, load libraries, call functions, or terminate Emacs. These are called @dfn{action options}. These and file names together are called @dfn{action arguments}. Emacs processes all ! the action arguments in the order they are written. The init file can ! access the values of the action arguments as the elements of a list in ! the variable @code{command-line-args}. The init file can override the ! normal processing of the action arguments, or define new ones, by ! reading and setting this variable. @menu ! * Action Arguments:: Arguments to visit files, load libraries, ! and call functions. * Initial Options:: Arguments that take effect while starting Emacs. * Command Example:: Examples of using command line arguments. ! * Resume Arguments:: Specifying arguments when you resume a running Emacs. * Environment:: Environment variables that Emacs uses. * Display X:: Changing the default display and using remote login. ! * Font X:: Choosing a font for text, under X. ! * Colors:: Choosing display colors. * Window Size X:: Start-up window size, under X. ! * Borders X:: Internal and external borders, under X. * Title X:: Specifying the initial frame's title. * Icons X:: Choosing what sort of icon to use, under X. + * Misc X:: Other display options. @end menu @node Action Arguments *************** *** 76,85 **** @table @samp @item @var{file} - @opindex --visit - @itemx --visit=@var{file} @opindex --file @itemx --file=@var{file} @cindex visiting files, command-line argument @vindex inhibit-startup-buffer-menu Visit @var{file} using @code{find-file}. @xref{Visiting}. --- 82,93 ---- @table @samp @item @var{file} @opindex --file @itemx --file=@var{file} + @opindex --find-file + @itemx --find-file=@var{file} + @opindex --visit + @itemx --visit=@var{file} @cindex visiting files, command-line argument @vindex inhibit-startup-buffer-menu Visit @var{file} using @code{find-file}. @xref{Visiting}. *************** *** 107,112 **** --- 115,126 ---- directory, or in the Emacs library search path as specified with @env{EMACSLOADPATH} (@pxref{General Variables}). + @item -L @var{dir} + @opindex -L + @itemx --directory=@var{dir} + @opindex --directory + Add directory @var{dir} to the variable @code{load-path}. + @item -f @var{function} @opindex -f @itemx --funcall=@var{function} *************** *** 133,145 **** @item --kill @opindex --kill Exit from Emacs without asking for confirmation. - @end table ! @vindex command-line-args ! The init file can access the values of the action arguments as the ! elements of a list in the variable @code{command-line-args}. The init ! file can override the normal processing of the action arguments, or ! define new ones, by reading and setting this variable. @node Initial Options @appendixsec Initial Options --- 147,162 ---- @item --kill @opindex --kill Exit from Emacs without asking for confirmation. ! @item --help ! @opindex --help ! Print a usage message listing all available options, then exit ! successfully. ! ! @item --version ! @opindex --version ! Print Emacs version, then exit successfully. ! @end table @node Initial Options @appendixsec Initial Options *************** *** 162,167 **** --- 179,185 ---- @opindex --terminal @cindex device for Emacs terminal I/O Use @var{device} as the device for terminal input and output. + @samp{--terminal} implies @samp{--no-window-system}. @item -d @var{display} @opindex -d *************** *** 182,191 **** and input. @need 3000 ! @cindex batch mode ! @item -batch @opindex --batch ! @itemx --batch Run Emacs in @dfn{batch mode}, which means that the text being edited is not displayed and the standard terminal interrupt characters such as @kbd{C-z} and @kbd{C-c} continue to have their normal effect. Emacs in --- 200,208 ---- and input. @need 3000 ! @item --batch @opindex --batch ! @cindex batch mode Run Emacs in @dfn{batch mode}, which means that the text being edited is not displayed and the standard terminal interrupt characters such as @kbd{C-z} and @kbd{C-c} continue to have their normal effect. Emacs in *************** *** 205,210 **** --- 222,228 ---- @item --script @var{file} @opindex --script + @cindex script mode Run Emacs in batch mode, like @samp{--batch}, and then read and execute the Lisp code in @var{file}. *************** *** 224,234 **** @opindex -q @itemx --no-init-file @opindex --no-init-file ! @cindex bypassing init and site-start file @cindex init file, not loading @cindex @file{default.el} file, not loading Do not load your Emacs init file @file{~/.emacs}, or @file{default.el} ! either. When invoked like this, Emacs does not allow saving options changed with the @kbd{M-x customize} command and its variants. @xref{Easy Customization}. --- 242,253 ---- @opindex -q @itemx --no-init-file @opindex --no-init-file ! @cindex bypassing init and @file{default.el} file @cindex init file, not loading @cindex @file{default.el} file, not loading Do not load your Emacs init file @file{~/.emacs}, or @file{default.el} ! either. Regardless of this switch, @file{site-start.el} is still loaded. ! When invoked like this, Emacs does not allow saving options changed with the @kbd{M-x customize} command and its variants. @xref{Easy Customization}. *************** *** 236,242 **** @opindex --no-site-file @cindex @file{site-start.el} file, not loading Do not load @file{site-start.el}. The options @samp{-q}, @samp{-u} ! and @samp{-batch} have no effect on the loading of this file---this is the only option that blocks it. @item --no-splash --- 255,261 ---- @opindex --no-site-file @cindex @file{site-start.el} file, not loading Do not load @file{site-start.el}. The options @samp{-q}, @samp{-u} ! and @samp{--batch} have no effect on the loading of this file---this is the only option that blocks it. @item --no-splash *************** *** 245,250 **** --- 264,273 ---- Do not display a splash screen on startup; this is equivalent to setting the variable @code{inhibit-startup-message} to non-@code{nil}. + @item --no-desktop + @opindex --no-desktop + Do not reload any saved desktop. @xref{Saving Emacs Sessions}. + @item -u @var{user} @opindex -u @itemx --user=@var{user} *************** *** 260,265 **** --- 283,290 ---- @item --unibyte @opindex --unibyte + @itemx --no-multibyte + @opindex --no-multibyte @cindex unibyte operation, command-line argument Do almost everything with single-byte buffers and strings. All buffers and strings are unibyte unless you (or a Lisp program) *************** *** 270,275 **** --- 295,302 ---- @item --multibyte @opindex --multibyte + @itemx --no-unibyte + @opindex --no-unibyte Inhibit the effect of @env{EMACS_UNIBYTE}, so that Emacs uses multibyte characters by default, as usual. @end table *************** *** 290,296 **** This says to visit @file{foo.c}, load @file{hack-c.el} (which makes changes in the visited file), save @file{foo.c} (note that @code{save-buffer} is the function that @kbd{C-x C-s} is bound to), and ! then exit back to the shell (because of @samp{-batch}). @samp{-batch} also guarantees there will be no problem redirecting output to @file{log}, because Emacs will not assume that it has a display terminal to work with. --- 317,323 ---- This says to visit @file{foo.c}, load @file{hack-c.el} (which makes changes in the visited file), save @file{foo.c} (note that @code{save-buffer} is the function that @kbd{C-x C-s} is bound to), and ! then exit back to the shell (because of @samp{--batch}). @samp{--batch} also guarantees there will be no problem redirecting output to @file{log}, because Emacs will not assume that it has a display terminal to work with. *************** *** 944,957 **** @table @samp @item -g @var{width}x@var{height}@r{[@{}+-@r{@}}@var{xoffset}@r{@{}+-@r{@}}@var{yoffset}@r{]]} @opindex -g Specify the size @var{width} and @var{height} (measured in character columns and lines), and positions @var{xoffset} and @var{yoffset} (measured in pixels). This applies to all frames. - @item --geometry=@var{width}x@var{height}@r{[@{}+-@r{@}}@var{xoffset}@r{@{}+-@r{@}}@var{yoffset}@r{]]} - @opindex --geometry - This is another way of writing the same thing. - @item -fs @opindex -fs @itemx --fullscreen --- 971,983 ---- @table @samp @item -g @var{width}x@var{height}@r{[@{}+-@r{@}}@var{xoffset}@r{@{}+-@r{@}}@var{yoffset}@r{]]} @opindex -g + @itemx --geometry=@var{width}x@var{height}@r{[@{}+-@r{@}}@var{xoffset}@r{@{}+-@r{@}}@var{yoffset}@r{]]} + @opindex --geometry + @cindex geometry, command-line argument Specify the size @var{width} and @var{height} (measured in character columns and lines), and positions @var{xoffset} and @var{yoffset} (measured in pixels). This applies to all frames. @item -fs @opindex -fs @itemx --fullscreen *************** *** 1029,1035 **** @file{~/.emacs} file disables the tool bar, you will end up with a frame geometry different from what you asked for. To get the intended size with no tool bar, use an X resource to specify ``no tool bar'' ! (@pxref{Table of Resources});then Emacs will already know there's no tool bar when it processes the specified geometry. When using one of @samp{--fullscreen}, @samp{--fullwidth} or --- 1055,1061 ---- @file{~/.emacs} file disables the tool bar, you will end up with a frame geometry different from what you asked for. To get the intended size with no tool bar, use an X resource to specify ``no tool bar'' ! (@pxref{Table of Resources}); then Emacs will already know there's no tool bar when it processes the specified geometry. When using one of @samp{--fullscreen}, @samp{--fullwidth} or *************** *** 1057,1069 **** @opindex -ib @itemx --internal-border=@var{width} @opindex --internal-border ! @cindex border width, command-line argument ! Specify @var{width} as the width of the internal border, in pixels. @item -bw @var{width} @opindex -bw @itemx --border-width=@var{width} @opindex --border-width Specify @var{width} as the width of the main border, in pixels. @end table --- 1083,1097 ---- @opindex -ib @itemx --internal-border=@var{width} @opindex --internal-border ! @cindex internal border width, command-line argument ! Specify @var{width} as the width of the internal border between text ! and main border, in pixels. @item -bw @var{width} @opindex -bw @itemx --border-width=@var{width} @opindex --border-width + @cindex main border width, command-line argument Specify @var{width} as the width of the main border, in pixels. @end table *************** *** 1091,1101 **** line option: @table @samp ! @item -title @var{title} ! @opindex --title ! @itemx --title=@var{title} ! @itemx -T @var{title} @opindex -T @cindex frame title, command-line argument Specify @var{title} as the title for the initial Emacs frame. @end table --- 1119,1128 ---- line option: @table @samp ! @item -T @var{title} @opindex -T + @itemx --title=@var{title} + @opindex --title @cindex frame title, command-line argument Specify @var{title} as the title for the initial Emacs frame. @end table *************** *** 1121,1129 **** @cindex Emacs icon, a gnu Use a picture of a gnu as the Emacs icon. ! @item -iconic @opindex --iconic - @itemx --iconic @cindex start iconified, command-line argument Start Emacs in iconified state. @end table --- 1148,1155 ---- @cindex Emacs icon, a gnu Use a picture of a gnu as the Emacs icon. ! @item --iconic @opindex --iconic @cindex start iconified, command-line argument Start Emacs in iconified state. @end table *************** *** 1137,1142 **** --- 1163,1197 ---- rather than showing a frame right away. In this situation, the icon is the only indication that Emacs has started; the text frame doesn't appear until you deiconify it. + + @node Misc X + @appendixsec Other Display Options + + @table @samp + @item -hb + @opindex -hb + @itemx --horizontal-scroll-bars + @opindex --horizontal-scroll-bars + @cindex horizontal scroll bars, command-line argument + Enable horizontal scroll bars. + + @item -vb + @opindex -vb + @itemx --vertical-scroll-bars + @opindex --vertical-scroll-bars + @cindex vertical scroll bars, command-line argument + Enable vertical scroll bars. + + @item -lsp @var{pixels} + @opindex -lsp + @itemx --line-spacing=@var{pixels} + @opindex --line-spacing + @cindex line spacing, command-line argument + Specify @var{pixels} as additional space to put between lines, in pixels. + @end table + + The @samp{--xrm} option (@pxref{Resources}) specifies additional + X resource values. @ignore arch-tag: fffecd9e-7329-4a51-a3cc-dd4a9889340e Index: emacs/lisp/startup.el =================================================================== RCS file: /cvsroot/emacs/emacs/lisp/startup.el,v retrieving revision 1.324 diff -c -r1.324 startup.el *** emacs/lisp/startup.el 19 Sep 2003 22:42:24 -0000 1.324 --- emacs/lisp/startup.el 8 Feb 2004 06:52:27 -0000 *************** *** 25,125 **** ;;; Commentary: ! ;; This file parses the command line and gets Emacs running. Options on ! ;; the command line are handled in precedence order. The order is the ! ;; one in the list below; first described means first handled. Options ! ;; within each category (delimited by a bar) are handled in the order ! ;; encountered on the command line. ! ! ;; ------------------------- ! ;; -version Print Emacs version to stderr, then exit ! ;; --version successfully right away. ! ;; This option is handled by emacs.c ! ;; ------------------------- ! ;; -help Print a short usage description and exit ! ;; --help successfully right away. ! ;; This option is handled by emacs.c ! ;; ------------------------- ! ;; -nl Do not use shared memory (for systems that ! ;; -no-shared-memory support this) for the dumped Emacs data. ! ;; This option is handled by emacs.c ! ;; ! ;; -map For VMS. ! ;; --map-data This option is handled by emacs.c ! ;; ------------------------- ! ;; -t FILE Use FILE as the name of the terminal. ! ;; --terminal FILE Using this implies "-nw" also. ! ;; This option is handled by emacs.c ! ;; ------------------------- ! ;; -d DISPNAME Use DISPNAME as the name of the X ! ;; -display DISPNAME display for the initial frame. ! ;; --display DISPNAME This option is handled by emacs.c ! ;; ------------------------- ! ;; -nw Do not use a windows system (but use the ! ;; --no-window-system terminal instead.) ! ;; This option is handled by emacs.c ! ;; ------------------------- ! ;; -batch Execute noninteractively (messages go to stdout, ! ;; --batch variable noninteractive set to t) ! ;; This option is handled by emacs.c ! ;; ------------------------- ! ;; -q Do not load user's init file and do not load ! ;; -no-init-file "default.el". Regardless of this switch, ! ;; --no-init-file "site-start" is still loaded. ! ;; ------------------------- ! ;; -no-site-file Do not load "site-start.el". (This is the ONLY ! ;; --no-site-file way to prevent loading that file.) ! ;; ------------------------- ! ;; -no-splash Don't display a splash screen on startup. ! ;; --no-splash ! ;; ------------------------- ! ;; -u USER Load USER's init file instead of the init ! ;; -user USER file belonging to the user starting Emacs. ! ;; --user USER ! ;; ------------------------- ! ;; -debug-init Don't catch errors in init files; let the ! ;; --debug-init debugger run. ! ;; ------------------------- ! ;; -i ICONTYPE Set type of icon using when Emacs is ! ;; -itype ICONTYPE iconified under X. ! ;; --icon-type ICONTYPE This option is passed on to term/x-win.el ! ;; ! ;; -iconic Start Emacs iconified. ! ;; --iconic This option is passed on to term/x-win.el ! ;; ------------------------- ! ;; Various X options for colors/fonts/geometry/title etc. ! ;; These options are passed on to term/x-win.el which see. ! ;; ------------------------- ! ;; FILE Visit FILE. ! ;; -visit FILE ! ;; --visit FILE ! ;; -file FILE ! ;; --file FILE ! ;; ! ;; -L DIRNAME Add DIRNAME to load-path ! ;; -directory DIRNAME ! ;; --directory DIRNAME ! ;; ! ;; -l FILE Load and execute the Emacs lisp code ! ;; -load FILE in FILE. ! ;; --load FILE ! ;; ! ;; -f FUNC Execute Emacs lisp function FUNC with ! ;; -funcall FUNC no arguments. The "-e" form is outdated ! ;; --funcall FUNC and should not be used. (It's a typo ! ;; -e FUNC promoted to a feature.) ! ;; ! ;; -eval FORM Execute Emacs lisp form FORM. ! ;; --eval FORM ! ;; -execute EXPR ! ;; --execute EXPR ! ;; ! ;; -insert FILE Insert the contents of FILE into buffer. ! ;; --insert FILE ! ;; ------------------------- ! ;; -kill Kill (exit) Emacs right away. ! ;; --kill ! ;; ------------------------- ;;; Code: --- 25,33 ---- ;;; Commentary: ! ;; This file parses the command line and gets Emacs running. Options ! ;; on the command line are handled in precedence order. For priorities ! ;; see the structure standard_args in the emacs.c file. ;;; Code: Index: emacs/src/emacs.c =================================================================== RCS file: /cvsroot/emacs/emacs/src/emacs.c,v retrieving revision 1.330 diff -c -r1.330 emacs.c *** emacs/src/emacs.c 16 Nov 2003 16:17:09 -0000 1.330 --- emacs/src/emacs.c 8 Feb 2004 06:52:28 -0000 *************** *** 232,297 **** \n\ Initialization options:\n\ \n\ ! --batch do not do interactive display; implies -q\n\ ! --script FILE run FILE as an Emacs Lisp script.\n\ ! --debug-init enable Emacs Lisp debugger during init file\n\ ! --help display this help message and exit\n\ ! --multibyte, --no-unibyte run Emacs in multibyte mode\n\ ! --no-init-file, -q load neither ~/.emacs nor default.el\n\ ! --no-shared-memory, -nl do not use shared memory\n\ ! --no-site-file do not load site-start.el\n\ ! --no-splash do not display a splash screen on startup\n\ ! --no-window-system, -nw don't communicate with X, ignoring $DISPLAY\n\ ! --terminal, -t DEVICE use DEVICE for terminal I/O\n\ --unibyte, --no-multibyte run Emacs in unibyte mode\n\ ! --user, -u USER load ~USER/.emacs instead of your own\n\ ! --version display version information and exit\n\ \n\ Action options:\n\ \n\ ! FILE visit FILE using find-file\n\ ! +LINE FILE visit FILE using find-file, then go to line LINE\n\ ! +LINE:COLUMN FILE visit FILE using find-file, then go to line LINE,\n\ ! column COLUMN\n\ ! --directory, -L DIR add DIR to variable load-path\n\ ! --eval EXPR evaluate Emacs Lisp expression EXPR\n\ ! --execute EXPR evaluate Emacs Lisp expression EXPR\n\ ! --find-file FILE visit FILE\n\ ! --funcall, -f FUNC call Emacs function FUNC with no arguments\n\ ! --insert FILE insert contents of FILE into current buffer\n\ ! --kill exit without asking for confirmation\n\ ! --load, -l FILE load FILE of Emacs Lisp code using the load function\n\ ! --visit FILE visit FILE\n\ \n" #define USAGE2 "\ Display options:\n\ \n\ ! --background-color, -bg COLOR window background color\n\ ! --border-color, -bd COLOR main border color\n\ ! --border-width, -bw WIDTH width of main border\n\ ! --color=MODE color mode for character terminals;\n\ ! MODE defaults to `auto', and can also\n\ ! be `never', `auto', `always',\n\ ! or a mode name like `ansi8'\n\ ! --cursor-color, -cr COLOR color of the Emacs cursor indicating point\n\ ! --display, -d DISPLAY use X server DISPLAY\n\ ! --font, -fn FONT default font; must be fixed-width\n\ ! --foreground-color, -fg COLOR window foreground color\n\ ! --fullscreen, -fs make first frame fullscreen\n\ ! --fullwidth, -fw make the first frame wide as the screen\n\ ! --fullheight, -fh make the first frame high as the screen\n\ ! --geometry, -g GEOMETRY window geometry\n\ ! --iconic start Emacs in iconified state\n\ ! --icon-type, -i use picture of gnu for Emacs icon\n\ ! --internal-border, -ib WIDTH width between text and main border\n\ ! --line-spacing, -lsp PIXELS additional space to put between lines\n\ ! --mouse-color, -ms COLOR mouse cursor color in Emacs window\n\ ! --name NAME title of main Emacs window\n\ ! --reverse-video, -r, -rv switch foreground and background\n\ ! --title, -T, -wn TITLE title for Emacs windows\n\ ! --vertical-scroll-bars, -vb enable vertical scroll bars\n\ ! --xrm XRESOURCES set additional X resources\n\ \n\ You can generally also specify long option names with a single -; for\n\ example, -batch as well as --batch. You can use any unambiguous\n\ --- 232,300 ---- \n\ Initialization options:\n\ \n\ ! --batch do not do interactive display; implies -q\n\ ! --debug-init enable Emacs Lisp debugger for init file\n\ ! --display, -d DISPLAY use X server DISPLAY\n\ ! --multibyte, --no-unibyte inhibit the effect of EMACS_UNIBYTE\n\ ! --no-desktop do not load a saved desktop\n\ ! --no-init-file, -q load neither ~/.emacs nor default.el\n\ ! --no-shared-memory, -nl do not use shared memory\n\ ! --no-site-file do not load site-start.el\n\ ! --no-splash do not display a splash screen on startup\n\ ! --no-window-system, -nw don't communicate with X, ignoring $DISPLAY\n\ ! --script FILE run FILE as an Emacs Lisp script\n\ ! --terminal, -t DEVICE use DEVICE for terminal I/O\n\ --unibyte, --no-multibyte run Emacs in unibyte mode\n\ ! --user, -u USER load ~USER/.emacs instead of your own\n\ \n\ Action options:\n\ \n\ ! FILE visit FILE using find-file\n\ ! +LINE FILE visit FILE using find-file, then go to line LINE\n\ ! +LINE:COLUMN FILE visit FILE using find-file, then go to line LINE,\n\ ! column COLUMN\n\ ! --directory, -L DIR add DIR to variable load-path\n\ ! --eval EXPR evaluate Emacs Lisp expression EXPR\n\ ! --execute EXPR evaluate Emacs Lisp expression EXPR\n\ ! --file FILE visit FILE using find-file\n\ ! --find-file FILE visit FILE using find-file\n\ ! --funcall, -f FUNC call Emacs Lisp function FUNC with no arguments\n\ ! --insert FILE insert contents of FILE into current buffer\n\ ! --kill exit without asking for confirmation\n\ ! --load, -l FILE load Emacs Lisp FILE using the load function\n\ ! --visit FILE visit FILE using find-file\n\ \n" #define USAGE2 "\ Display options:\n\ \n\ ! --background-color, -bg COLOR window background color\n\ ! --border-color, -bd COLOR main border color\n\ ! --border-width, -bw WIDTH width of main border\n\ ! --color MODE color mode for character terminals;\n\ ! MODE defaults to `auto', and can also\n\ ! be `never', `auto', `always',\n\ ! or a mode name like `ansi8'\n\ ! --cursor-color, -cr COLOR color of the Emacs cursor indicating point\n\ ! --font, -fn FONT default font; must be fixed-width\n\ ! --foreground-color, -fg COLOR window foreground color\n\ ! --fullheight, -fh make the first frame high as the screen\n\ ! --fullscreen, -fs make first frame fullscreen\n\ ! --fullwidth, -fw make the first frame wide as the screen\n\ ! --geometry, -g GEOMETRY window geometry\n\ ! --horizontal-scroll-bars, -hb enable horizontal scroll bars\n\ ! --icon-type, -i use picture of gnu for Emacs icon\n\ ! --iconic start Emacs in iconified state\n\ ! --internal-border, -ib WIDTH width between text and main border\n\ ! --line-spacing, -lsp PIXELS additional space to put between lines\n\ ! --mouse-color, -ms COLOR mouse cursor color in Emacs window\n\ ! --name NAME title for initial Emacs frame\n\ ! --reverse-video, -r, -rv switch foreground and background\n\ ! --title, -T TITLE title for initial Emacs frame\n\ ! --vertical-scroll-bars, -vb enable vertical scroll bars\n\ ! --xrm XRESOURCES set additional X resources\n\ ! --help display this help and exit\n\ ! --version output version information and exit\n\ \n\ You can generally also specify long option names with a single -; for\n\ example, -batch as well as --batch. You can use any unambiguous\n\ -- http://www.jurta.org/emacs/ ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Proposal: emacs -Q option 2004-02-08 7:12 ` Juri Linkov @ 2004-02-09 9:38 ` Richard Stallman 0 siblings, 0 replies; 31+ messages in thread From: Richard Stallman @ 2004-02-09 9:38 UTC (permalink / raw) Cc: emacs-devel I asked Eli to install your patch, with some small changes. ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Proposal: emacs -Q option
@ 2004-02-05 8:42 Bill Wohler
0 siblings, 0 replies; 31+ messages in thread
From: Bill Wohler @ 2004-02-05 8:42 UTC (permalink / raw)
Cc: emacs-devel, Kim F. Storm
Eli Zaretskii <eliz@elta.co.il> writes:
>> From: no-spam@cua.dk (Kim F. Storm)
>> Date: 05 Feb 2004 02:42:44 +0100
>>
>> emacs -q --no-site-file --no-splash
>> --eval '(blink-cursor-mode -1)'
>> --eval '(tool-bar-mode -1)'
>> --eval '(scroll-bar-mode -1)'
>> --eval '(tooltip-mode -1)'
>> --eval '(setq visible-bell t)'
>>
>> (the last line is because the audible bell drives me crazy).
>>
>> I propose to add a -Q option which is equivalent to this, i.e.
>>
>> emacs -Q
>>
>> does the same thing as the above call.
>
> IMHO, using -Q for "-q --no-site-file" is fine, but adding all the
> other turn-offs makes this switch too heavily loaded. Why does it
> make sense to combine "-q --no-site-file", which basically means
> ``defeat all local deviations from the defaults'' with the rest,
> which disable fancy features? And what does visible-bell setting
> have to do with turning off features?
>
> I'd say let's make two options, one for "-q --no-site-file", the other
> for --no-splash and the --eval options mentioned above, excluding the
> visible-bell one.
I agree with Eli, and I'll add a couple of comments.
I'd exclude blink-cursor-mode from -Q since that is a personal
preference as well. (Personally, I *hate* visible-bell--I just turn down
the volume on the bell. I *hate* a blinking cursor as well, but I'll
save my breath on that battle. There are obviously good reasons why the
default is to blink, and I'll bet accessibility is one of them.)
I'd lump the tool-bar-mode, scroll-bar-mode, tooltip-mode into a --nogui
option, since that is essentially what you're doing. To that list, it
would make sense to turn off menu-bar-mode as well. The use of the
--nogui option might make sense as a default with the -nw option.
--
Bill Wohler <wohler@newt.com> http://www.newt.com/wohler/ GnuPG ID:610BD9AD
Maintainer of comp.mail.mh FAQ and MH-E. Vote Libertarian!
If you're passed on the right, you're in the wrong lane.
^ permalink raw reply [flat|nested] 31+ messages in thread
end of thread, other threads:[~2004-02-10 9:46 UTC | newest] Thread overview: 31+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2004-02-05 1:42 Proposal: emacs -Q option Kim F. Storm 2004-02-05 1:26 ` Miles Bader 2004-02-05 6:23 ` Eli Zaretskii 2004-02-05 8:33 ` Alan Mackenzie 2004-02-05 9:43 ` Kai Grossjohann 2004-02-05 11:53 ` Jan D. 2004-02-05 12:41 ` Kim F. Storm 2004-02-05 12:09 ` Andreas Schwab 2004-02-05 15:08 ` Kim F. Storm 2004-02-05 14:57 ` Stefan Monnier 2004-02-05 7:28 ` Juri Linkov 2004-02-09 10:46 ` Juri Linkov 2004-02-05 7:29 ` Juri Linkov 2004-02-05 19:14 ` Eli Zaretskii 2004-02-05 19:53 ` Stefan Monnier 2004-02-07 7:54 ` Juri Linkov 2004-02-07 23:16 ` Stefan Monnier 2004-02-08 0:20 ` Steven Tamm 2004-02-08 7:19 ` Juri Linkov 2004-02-08 16:56 ` Stefan Monnier 2004-02-09 7:59 ` Juri Linkov 2004-02-09 8:29 ` Miles Bader 2004-02-09 9:04 ` Juri Linkov 2004-02-09 9:22 ` Miles Bader 2004-02-10 9:46 ` Richard Stallman 2004-02-09 9:38 ` Richard Stallman 2004-02-08 15:21 ` Richard Stallman 2004-02-06 13:42 ` Richard Stallman 2004-02-08 7:12 ` Juri Linkov 2004-02-09 9:38 ` Richard Stallman -- strict thread matches above, loose matches on Subject: below -- 2004-02-05 8:42 Bill Wohler
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).