view etc/emacsclient.1 @ 44604:4702b23921b4

Avoid doubly tagging parse.y when both parse.c and parse.y are given on the command line, in either order. * etags.c (find_entries): Delete tags previously obtained from file xxx.c's #line directives when parsing file xxx.y. This is generally done for automatically generated files containing #line directives. This handles the case when xxx.y is tagged before xxx.c, and the entries of xxx.c pointing to xxx.y should be discarded. (language): Added the metasource member. Initializers changed. (invalidate_nodes): New function. (readline): Discard lines after having found a #line directive pointing to an already tagged file. This handles the case when xxx.y is tagged before xxx.c, and the entries of xxx.c pointing to xxx.y should be discarded. (fdesc): New structure for keeping track of input files. (fdesc): Remove `file' member (a string) and use instead a pointer to a file description structure. (curfile, curfiledir, curtagfname, curlang, nocharno, forced_lang): Global variables removed in favor of fdhead and curfdp, pointers to file description strucures. (longopts, main, print_help): Use the CTAGS conditional to include or exclude options that work on etags or ctags only. (process_file, find_entries, pfnote, add_node, put_entries, readline): Use fdhead and curfdp. (process_file, find_entries): Do not take an arg string, all callers changed. * etags.c (longopts, print_help, main): Test CTAGS to disallow options that are not right for either etags or ctags. * etags.c (number_len, total_size_of_entries): Define them also in CTAGS mode, because gcc does not compile all refs away.
author Francesco Potortì <pot@gnu.org>
date Mon, 15 Apr 2002 14:18:47 +0000
parents 1cf7aceaccd0
children 3b27be508d4e
line wrap: on
line source

.TH EMACSCLIENT 1
.\" NAME should be all caps, SECTION should be 1-8, maybe w/ subsection
.\" other parms are allowed: see man(7), man(1)
.SH NAME
emacsclient \- tells a running Emacs to visit a file
.SH SYNOPSIS
.B emacsclient
.I "[options] files ..."
.SH "DESCRIPTION"
This manual page documents briefly the
.BR emacsclient
command.
This manual page was written for the Debian GNU/Linux distribution
because the original program does not have a manual page.
Instead, it has documentation in the GNU Info format; see below.
.PP
.B emacsclient 
works in conjunction with the built-in server of Emacs.
.PP
You typically does not call 
.B emacsclient
directly. Instead, you set the environment variable EDITOR
to 
.B emacsclient
and let programs like 'vipw' or 'bug' or anything run
it for you, which will use an existing Emacs to visit the file.

For
.B emacsclient 
to work, you need an already running Emacs with a server.  Within Emacs, call 
the function
`server-start'.  (Your `.emacs' file can do this automatically if you
add the expression `(server-start)' to it.)  

When you've finished editing the buffer, type `C-x #'
(`server-edit').  This saves the file and sends a message back to the
`emacsclient' program telling it to exit.  The programs that use
`EDITOR' wait for the "editor" (actually, `emacsclient') to exit.  `C-x
#' also checks for other pending external requests to edit various
files, and selects the next such file.

If you set the variable `server-window' to a window or a frame, `C-x
#' displays the server buffer in that window or in that frame.

.SH OPTIONS
The programs follow the usual GNU command line syntax, with long
options starting with two dashes (`-').
.TP
.B \-n, \-\-no-wait
returns
immediately without waiting for you to "finish" the buffer in Emacs.
.SH "SEE ALSO"
The program is documented fully in
.IR "Using Emacs as a Server"
available via the Info system.
.SH BUGS
If there is no running Emacs server, 
.B emacsclient 
cannot launch one. I use a small Perl script instead of raw 
.B emacsclient
to do it (it works only with systems which have BSD sockets, which is fine
for Debian GNU/Linux).
.SH AUTHOR
This manual page was written by Stephane Bortzmeyer <bortzmeyer@debian.org>,
for the Debian GNU/Linux system (but may be used by others).
.SH COPYING
This manual page is in the public domain.