all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Ken Raeburn <raeburn@raeburn.org>
Cc: ams@gnu.org, emacs-devel@gnu.org
Subject: Re: --no-desktop broken?
Date: Sat, 21 Jan 2006 18:53:09 -0500	[thread overview]
Message-ID: <2E5FEB1A-6442-41BC-BDEC-60A1B45C13E6@raeburn.org> (raw)
In-Reply-To: <43D2012A.8050406@soem.dk>

On Jan 21, 2006, at 04:38, Lars Hansen wrote:
> I agree that it is confusing that --no-desktop is documented in --help
> but seems to not work. Maybe --help should not list options that  
> are not
> loaded by default.

In the long term (i.e., maybe too much to change right now), perhaps  
we could have arbitrary command-line options handled via Lisp code,  
with a table or something indicating the file to be loaded or  
function to be invoked to process the option, and some mechanism akin  
to loaddefs.el for collecting the options and their help messages  
from various Lisp files and making them available to be printed out  
if --help is given.  Aside from actually invoking some Lisp code when  
--help is given, I think this could mostly be done in new Lisp code.

One approach, off the top of my head, might be to designate symbols  
named "command-line-arg:foo" as handlers for command-line argument "-- 
foo", "--foo=...", and "--no-foo" (pass the function t, "...", or nil  
respectively); then the existing loaddefs would have all the info we  
need to make the list of options.  If the startup code didn't  
recognize an option but the corresponding symbol was defined with a  
function value, that function object would be invoked, and would  
perhaps have the ability to gobble up additional arguments that might  
be needed for the option.  Some new Lisp function invoked via --help  
would walk the obarray atoms looking for such name patterns, make  
sure the autoloads were performed, and then look for 'command-line- 
arg-help-string in the property list of each symbol.  It could even  
load the user's .emacs after displaying the standard Emacs packages'  
options, and see if changes to the load path or autoloads provided  
any additional options, and display them as well.

That wouldn't handle pattern-based argument process, though, like  
turning "--disable-rmail" into "(put 'rmail 'disabled t)" or short "- 
x" style names, or other random things people might want to do, but  
it's a starting point.

Just a thought... maybe this is too much effort to put into the Emacs  
command line... :-)

Ken

  reply	other threads:[~2006-01-21 23:53 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-01-21  0:48 --no-desktop broken? Alfred M. Szmidt
2006-01-21  9:35 ` Eli Zaretskii
2006-01-21  9:38 ` Lars Hansen
2006-01-21 23:53   ` Ken Raeburn [this message]
2006-01-22 11:32     ` Lars Hansen
2006-01-23  1:51       ` Juri Linkov
2006-01-23  5:00         ` Eli Zaretskii
2006-01-23  6:18           ` Juri Linkov
2006-01-23  8:24             ` Lars Hansen
2006-01-23 22:54               ` Eli Zaretskii
2006-01-23 23:43                 ` Lars Hansen
2006-01-24  4:24                   ` Eli Zaretskii
2006-01-24 15:02                     ` Lars Hansen
2006-01-23 23:00             ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2E5FEB1A-6442-41BC-BDEC-60A1B45C13E6@raeburn.org \
    --to=raeburn@raeburn.org \
    --cc=ams@gnu.org \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.