Commit graph

411 commits

Author SHA1 Message Date
Eli Zaretskii
a54af40e14 Fix the MS-Windows build after 2011-02-26T05:54:36Z!eggert@cs.ucla.edu.
emacsclient.c (xstrdup) [WINDOWSNT]: Function added back.
 (w32_getenv): Use xstrdup to return all values in malloc'ed
 storage.
2011-02-26 09:44:38 +02:00
Paul Eggert
4be3dfc5e3 * emacsclient.c (IF_LINT): New macro.
(set_local_socket, main): Use it to suppress warnings with
GCC -Wuninitialized.
2011-02-25 16:17:02 -08:00
Paul Eggert
b9170155fb * emacsclient.c (xstrdup): Remove; no longer needed.
(get_current_dir_name, w32_getenv, get_server_config, find_tty):
(set_local_socket, main):
Use const char *, not char *, for pointers that are not assigned
through.
2011-02-25 15:55:06 -08:00
Paul Eggert
7e6bb4c94c * emacsclient.c (main): Avoid dangling 'if'. 2011-02-25 15:39:18 -08:00
Paul Eggert
b0bbc07d9a * emacsclient.c: Redo local variables to avoid shadowing problems.
(message, socket_status, start_daemon_and_retry_set_socket):
Rename locals.
(main): Move decl of "i".
2011-02-25 15:35:16 -08:00
Paul Eggert
b23b5a5b7d Declare file-scope functions and variables static if not exported.
This is more consistent, and is nicer with gcc -Wstrict-prototypes.
* ebrowse.c, emacsclient.c, fakemail.c, make-docfile.c, movemail.c:
* profile.c, test-distrib.c, update-game-score.c:
Declare non-'main' functions and variables to be static.
* ebrowse.c: Omit redundant function prototypes.
2011-02-21 10:06:25 -08:00
Karl Chen
b166dcd8bb * lib-src/emacsclient.c (main): Loop while `recv' return EINTR. 2011-02-18 17:28:09 -05:00
Paul Eggert
03fc768bf7 * emacsclient.c: conform to C89 pointer rules 2011-02-04 23:18:46 -08:00
Glenn Morris
73b0cd5003 Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
Paul Eggert
a3e44e7937 Merge from mainline. 2011-01-17 11:01:01 -08:00
Glenn Morris
0d9f702fd0 Nuke arch-tags. 2011-01-15 15:16:57 -08:00
Paul Eggert
8a1f4a98c1 Merge from mainline. 2011-01-14 10:14:17 -08:00
Stefan Monnier
77ab81d054 Merge from emacs-23 2011-01-14 12:18:41 -05:00
Paul Eggert
4004364e67 Include <unistd.h> unilaterally. 2011-01-09 00:12:35 -08:00
Paul Eggert
613f7bda1d Include <getopt.h> not "getopt.h".
* ebrowse.c, emacsclient.c: Include <getopt.h>, not "getopt.h".
Since getopt.h is no longer in this directory, there's no point
using the form with double-quotes.
2011-01-09 00:00:02 -08:00
Glenn Morris
5df4f04cd3 Add 2011 to FSF/AIST copyright years. 2011-01-02 15:50:46 -08:00
Stefan Monnier
4a47c27573 Merge from emacs-23 2010-11-17 22:54:14 -05:00
YAMAMOTO Mitsuharu
e6068ab302 Add fall-back definition of _CS_DARWIN_USER_TEMP_DIR (fix last failed check-in). 2010-11-10 17:35:27 +09:00
Juanma Barranquero
4628bef1ee Merge changes from emacs-23 branch. 2010-10-08 12:14:47 +02:00
Dan Nicolaescu
728a982db4 Fix compilation warnings.
* lib-src/test-distrib.c (cool_read):
* lib-src/movemail.c (main, concat):
* lib-src/make-docfile.c (scan_file, write_c_args):
* emacsclient.c	(get_server_config): Fix -Wconversion warning.
(egetenv): Move conditional definition earlier.
(progname): Use const.
* lib-src/sorted-doc.c (xstrdup): Use const.
2010-10-03 16:35:22 -07:00
Wolfgang Schnerring
3ecb8d931a * emacsclient.c (main): Return EXIT_FAILURE if Emacs sends us an error string
(Bug#6963).
2010-10-02 20:00:01 -04:00
Glenn Morris
b336bfcdf3 Close bug#3992.
* lib-src/emacsclient.c (set_local_socket) [DARWIN_OS]: Try as a fall-back
DARWIN_USER_TEMP_DIR.
2010-09-30 20:41:12 -07:00
Juanma Barranquero
968ef9b4da lisp/server.el: Use just one way to pass the Emacs PID to emacsclient.
* lib-src/emacsclient.c (get_server_config): Don't read Emacs pid from
  the authentication file.

* lisp/server.el (server-start): Don't write pid to the authentication file.
  (server-create-tty-frame): Don't send pid.
  (server-process-filter): Send pid at the start of every connection.
2010-09-30 04:53:26 +02:00
Juanma Barranquero
6ab88e02c9 * emacsclient.c (main): Remove unused variables.
(start_daemon_and_retry_set_socket): Use EXIT_FAILURE.
2010-09-29 10:18:40 +02:00
Jan D
988e88ab11 Fix warnings produced by compiling with -Wwrite_strings (i.e. use const char *).
* b2m.c (concat, fatal): Use const char*.
(main): Don't assign labels a string literal.

* ebrowse.c (struct member): filename, def_filename is const.
(struct sym): filename, sfilename is const.
(struct kw): name is const.
(add_sym, yyerror, token_string, insert_keyword, main): Use const char*.

* emacsclient.c (message, sock_err_message, send_to_emacs)
(quote_argument, set_local_socket)
(start_daemon_and_retry_set_socket): Use const char*.

* etags.c (compressor, language, Ada_suffix, Ada_help, Asm_suffixes)
(Asm_help, default_C_suffixes, default_C_help, Cplusplus_suffixes)
(Cplusplus_help, Cjava_suffixes, Cobol_suffixes, Cstar_suffixes)
(Erlang_suffixes, Erlang_help, Forth_suffixes, Forth_help)
(Fortran_suffixes, Fortran_help, HTML_suffixes,  HTML_help)
(Lisp_suffixes, Lisp_help, Lua_suffixes, Lua_help)
(Makefile_filenames, Makefile_help, Objc_suffixes, Objc_help)
(Pascal_suffixes, Pascal_help, Perl_suffixes, Perl_interpreters)
(Perl_help, PHP_suffixes, PHP_help, plain_C_suffixses, PS_suffixes)
(PS_help, Prolog_suffixes, Prolog_help, Python_suffixes, Python_help)
(Scheme_suffixes, Scheme_help, TeX_suffixes, TeX_help, Texinfo_suffixes)
(Texinfo_help, Yacc_suffixes, Yacc_help, auto_help, none_help)
(no_lang_help, print_language_names)
(get_language_from_interpreter, get_language_from_filename)
(init, make_tag, struct C_stab_entry, write_classname, TEX_defenv)
(TEX_decode_env, nocase_tail, savestr, savenstr, fatal, pfatal)
(concat): Use const char*.

* make-docfile.c (error, fatal, scan_c_file, scan_lisp_file): Use
const char *.

* movemail.c (fatal, error, concat): Use const char *.

* pop.c (pop_multi_first, socket_connection, sendline): Use conat char*.

* pop.h (pop_multi_first): Use const char *.
(_ARGS): Remove.

* sorted-doc.c (error, fatal, states): Use const char *.

* update-game-score.c (get_prefix, write_scores, main): Use const char*.
2010-08-11 10:20:34 +02:00
Dan Nicolaescu
0613f5d515 emacsclient.c cleanups.
* lib-src/emacsclient.c: Move socket related #includes together with the
rest of the #includes.  Move a WINDOWSNT includes closer together.
(HAVE_CONFIG_H): Remove.
(NO_RETURN): Remove, defined in config.h.
(main): Convert definition to standard C.
2010-08-05 21:09:54 -07:00
Juanma Barranquero
35a7804dae * emacsclient.c (getcwd): Fix previous change.
Make getcwd conditional on HAVE_GETCWD and declare with the
  correct POSIX profile (for some reason MinGW headers define
  its 2nd arg as int, not size_t; but getcwd is not used on
  Windows nonetheless).
2010-07-25 05:36:54 +02:00
Juanma Barranquero
361358ea12 Make building under stricter warning flags somewhat cleaner.
Flags used: -Wold-style-declaration -Wunused-function -Wstrict-prototypes

* lib-src/emacsclient.c (getcwd, w32_getenv):
* lib-src/ntlib.h (getlogin, getuid, getegid, getgid): Fix prototypes.

* nt/runemacs.c (set_user_model_id): Fix prototype.

* src/callproc.c (relocate_fd): Set inside #ifndef WINDOWSNT.
* src/dired.c (opendir, readdir): Fix prototypes.
* src/editfns.c (w32_get_internal_run_time): Fix prototypes.
* src/keyboard.c (input_available_signal): Declare inside #ifdef SIGIO.
* src/ndir.h (opendir, readdir, seekdir, closedir): Fix prototypes.
  (telldir): Remove declaration.
* src/ralloc.c (real_morecore, __morecore): Fix prototypes.
* src/sound.c (alsa_sound_perror): Declare inside #ifdef HAVE_ALSA.
* src/syssignal.h (strsignal): Fix prototype.
* src/term.c (tparam): Fix prototype.
  (term_get_fkeys_address, term_get_fkeys_kboard, term_get_fkeys_1)
  (term_get_fkeys): Set inside "#ifndef DOS_NT".
* src/vm-limit.c (check_memory_limits): Fix prototypes of real_morecore
  and __morecore.
* src/w32gui.h (XParseGeometry): Fix prototype.
* src/w32heap.h (get_data_start, get_data_end, init_heap): Fix prototypes.
* src/w32term.c (my_set_focus): Declare inside #if 0.
* src/w32term.h (x_window_to_frame, x_display_info_for_name, w32_term_init)
  (w32_fill_rect, w32_clear_window, init_crit, delete_crit, signal_quit)
  (drain_message_queue, get_next_msg, post_msg, parse_button)
  (ClipboardSequence_Proc): Fix prototypes.
  (wait_for_sync): Remove declaration.
2010-07-25 02:20:51 +02:00
Dan Nicolaescu
68441b90e9 Add NO_RETURN specifiers to functions in lib-src.
* lib-src/update-game-score.c (usage):  Add NO_RETURN specifier.
* lib-src/movemail.c (fatal, pfatal_with_name, pfatal_and_delete):
* lib-src/make-docfile.c (fatal):
* lib-src/hexl.c (usage):
* lib-src/fakemail.c (fatal):
* lib-src/etags.c (fatal, suggest_asking_for_help, pfatal):
* lib-src/emacsclient.c (fatal):
* lib-src/b2m.c (fatal): Likewise.
2010-07-24 10:18:18 -07:00
Juanma Barranquero
7c3320d8b9 Convert some more functions to standard C.
* lib-src/emacsclient.c (get_current_dir_name, w32_get_resource)
  (w32_getenv, w32_set_user_model_id, w32_window_app, w32_execvp)
  (close_winsock, initialize_sockets, w32_find_emacs_process)
  (w32_give_focus):
* lib-src/ntlib.c (getlogin, getuid, getgid, getegid):
* nt/addpm.c (add_registry, main):
* nt/cmdproxy.c (get_env_size):
* nt/ddeclient.c (main):
* nt/runemacs.c (set_user_model_id):
* src/alloc.c (emacs_blocked_free, emacs_blocked_malloc)
  (emacs_blocked_realloc, uninterrupt_malloc):
* src/fringe.c (w32_reset_fringes):
* src/image.c (convert_mono_to_color_image, lookup_rgb_color)
  (init_color_table, XPutPixel, jpeg_resync_to_restart_wrapper):
* src/sound.c (be2hs, do_play_sound):
* src/vm-limit.c (get_lim_data, ret_lim_data):
* src/w32term.c (x_free_frame_resources):
* src/xfaces.c (x_create_gc, x_free_gc):
  Convert definitions to standard C.
2010-07-20 22:21:03 +02:00
Andreas Schwab
8966b7575b Use strchr, strrchr instead of index, rindex
* callint.c (Fcall_interactively): Use strchr, strrchr instead of
index, rindex.
* doc.c (get_doc_string, Fsnarf_documentation): Likewise.
* editfns.c (Fuser_full_name, Fformat): Likewise.
* emacs.c (argmatch, sort_args, decode_env_path): Likewise.
* fileio.c (Ffile_symlink_p): Likewise.
* filelock.c (current_lock_owner): Likewise.
* font.c (font_parse_name, font_parse_family_registry): Likewise.
* fontset.c (fontset_pattern_regexp): Likewise.
* lread.c (read1): Likewise.
* sysdep.c (init_system_name): Likewise.
* xfns.c (select_visual): Likewise.
* s/hpux10-20.h (index, rindex): Don't define.
* s/ms-w32.h (index): Likewise.
* s/usg5-4.h: Likewise.

* sed2v2.inp (HAVE_INDEX, HAVE_RINDEX): Don't edit.
(HAVE_STRCHR, HAVE_STRRCHR): Edit to 1.

* emacsclient.c (set_local_socket): Use strchr, strrchr instead of
index, rindex.
* movemail.c (mail_spool_name, popmail): Likewise.
* pop.c (pop_list): Likewise.

* CPP-DEFINES (HAVE_INDEX, HAVE_RINDEX): Remove.

* configure.in: Don't check for index and rindex, check for strchr
and strrchr.  Define strchr and strrchr as index and rindex,
resp., in src/config.h if not available.
2010-07-11 12:31:10 +02:00
Juanma Barranquero
3a35a84c93 Fix prototypes.
* src/cm.c (evalcost): Fix arg type.
* src/cm.h (evalcost): Fix prototype.
* src/lisp.h (memory_warnings): Fix prototype.

* lib-src/ebrowse.c (match_qualified_namespace_alias):
  Pass sym* to find_namespace, not link*.
* lib-src/emacsclient.c (send_to_emacs, quote_argument): Arg s is HSOCKET.
* lib-src/sorted-doc.c (qsort_compare): New typedef.
  (main): Use it to cast cmpdoc.
2010-07-03 09:44:17 +02:00
Dan Nicolaescu
873fbd0b84 Convert function definitions to standard C.
* lib-src/update-game-score.c: Convert function definitions to standard C.
* lib-src/sorted-doc.c:
* lib-src/profile.c:
* lib-src/pop.c:
* lib-src/movemail.c:
* lib-src/make-docfile.c:
* lib-src/hexl.c:
* lib-src/fakemail.c:
* lib-src/etags.c:
* lib-src/ebrowse.c:
* lib-src/digest-doc.c:
* lib-src/b2m.c: Likewise.
2010-07-02 17:50:23 -07:00
Chong Yidong
0191e222e3 Add --parent-id argument to emacsclient.
* lib-src/emacsclient.c (longopts, decode_options, print_help_and_exit):
New arg `-parent-id'.
(main): Send parent-id to Emacs.

* lisp/server.el (server-process-filter): Receive parent-id argument
from emacsclient.
(server-create-window-system-frame): New arg.  Pass parent-id as
frame parameter.
2010-05-29 19:50:47 -04:00
Dan Nicolaescu
42a2c62292 Remove extern errno declarations.
* xterm.c:
* xrdb.c:
* w32term.c:
* unexec.c:
* unexaix.c:
* sysdep.c:
* process.c:
* lread.c:
* keyboard.c:
* floatfns.c:
* filelock.c:
* fileio.c:
* emacs.c (main):
* ecrt0.c:
* dispnew.c:
* callproc.c:
* buffer.c: Remove errno extern declarations.
* s/netbsd.h (NEED_ERRNO): Remove.

* movemail.c:
* etags.c:
* emacsclient.c: Remove extern errno declarations.
2010-04-01 20:10:33 -07:00
Juanma Barranquero
768c0c0f39 Fix typos in comments and ChangeLogs. 2010-01-13 16:38:28 +01:00
Glenn Morris
114f9c9679 Add 2010 to copyright years. 2010-01-13 00:35:10 -08:00
Glenn Morris
5f54cae6cc (print_help_and_exit): Fix bug report instructions. 2009-10-15 06:11:57 +00:00
Jason Rumney
0a3472c7b9 * w32term.c (w32_initialize): Use standard types.
* runemacs.c (set_user_model_id): Use standard types.
* emacsclient.c (w32_set_user_model_id): Use standard types.
2009-07-03 15:32:02 +00:00
Jason Rumney
ff90fbdecc bug#1849 - Windows 7 Taskbar Support
* w32term.c (w32_initialize): Use GetModuleHandle for library that
is already loaded.
Set user model ID if supported (bug#1849).

* runemacs.c (set_user_model_id): New function.
(WinMain): Use it.

* emacsclient.c (w32_give_focus): Use GetModuleHandle for library
that is already loaded.
(w32_set_user_model_id): New function.
(main): Use it to associate emacsclient with emacs (bug#1849).
2009-06-30 15:48:23 +00:00
Juanma Barranquero
9dfda22f23 * emacsclient.c (print_help_and_exit): Fix typo and tabify (careful
spacing is required in the message output, as the comment suggests).
2009-04-20 03:19:19 +00:00
Chong Yidong
24d5010d9f * emacsclient.c (print_help_and_exit): Clarify argument placement
for short option names.
2009-04-20 02:52:56 +00:00
Dan Nicolaescu
6133a1a9b7 (print_help_and_exit): Fix typo. 2009-04-02 19:43:27 +00:00
Juanma Barranquero
6cde1b2138 * emacsclient.c (main): Revert part of last change,
so drive-relative file names again work on Windows.
2009-03-11 00:57:03 +00:00
Stefan Monnier
ba528748a1 * server.el (server-process-filter): Use expand-file-name rather than
command-line-normalize-file-name so as to use the `dir' when provided.
* emacsclient.c (main): Always pass cwd via "-dir".  Pass the file
names without prepending cwd to them, so Emacs uses its customary
rules to determine how to interpret the file name.
2009-03-10 14:08:52 +00:00
Adrian Robert
e7534fc4ed * emacsclient.c (decode_options): Use a dummy display name under NS/Cocoa. 2009-01-23 09:08:03 +00:00
Glenn Morris
f5d0ac07d6 Add 2009 to copyright years. 2009-01-08 03:38:51 +00:00
Dan Nicolaescu
fd95644b93 * emacs.c (main): Print and error and exit when no data is read
from the pipe.

* startup.el (command-line): Do not mention the server name in
case the user has not mentioned it, print a more explicit message.

* emacsclient.c (start_daemon_and_retry_set_socket): Improve error
checking.
2008-12-18 08:48:26 +00:00
Dan Nicolaescu
67c1df0180 Include syswait.h instead of sys/types.h. 2008-12-14 03:23:43 +00:00
Dan Nicolaescu
5445ab06ef (WCONTINUED): New compatibility define for older systems. 2008-12-11 17:32:44 +00:00
Dan Nicolaescu
d50299d55d (main): Fix previous change. 2008-12-10 23:36:03 +00:00
Juanma Barranquero
5201664703 * emacsclient.c (main): Fix mindless breakage where emacsclient
does not work *at all* on Windows, even if it *can* connect.
2008-12-10 22:18:21 +00:00
Dan Nicolaescu
45ce457074 (main): Fail in case of not being able to connect. 2008-12-10 15:24:22 +00:00
Dan Nicolaescu
69157c9960 (decode_options): Fix typo. 2008-12-10 15:07:56 +00:00
Dan Nicolaescu
802bdb3c6b (EMACS_DAEMON): Remove definition.
(decode_options): Do not allow an empty alternate_editor on
WINDOWSNT.
(print_help_and_exit): Replace EMACS_DAEMON with WINDOWSNT.
(start_daemon_and_retry_set_socket): Likewise.
2008-12-10 14:57:20 +00:00
Juanma Barranquero
c3f995a2cb * emacsclient.c [!WINDOWSNT] (EMACS_DAEMON): New define.
Changes when EMACS_DAEMON is not defined:
  (print_help_and_exit): Don't add daemon information to help.
  (start_daemon_and_retry_set_socket): Make a no-op.
  (main): Don't set `start_daemon_if_needed' (which is initialized to 0).
2008-12-10 09:47:06 +00:00
Dan Nicolaescu
636b507bcc * misc.texi (emacsclient Options): Describe what an empty string
argument does for --alternate-editor.

* emacsclient.1: Describe what an empty string argument does for
--alternate-editor.

* emacsclient.c (print_help_and_exit): Describe what an empty
string argument does for --alternate-editor.
(set_socket): Make it possible to not exit in case of an error.
(start_daemon_and_retry_set_socket): New function.
(main): Use it.  Restore the NULL value for socket_name and
server_file after the set_socket call.
2008-12-10 07:56:51 +00:00
Dan Nicolaescu
18d2ad2920 Fix typo in include. 2008-12-03 04:33:44 +00:00
Dan Nicolaescu
448d408588 Include <darpa/inet.h>. 2008-12-03 03:37:37 +00:00
Chong Yidong
a336ee5bc0 Fix last change. 2008-11-02 23:16:33 +00:00
Chong Yidong
273b902863 (window_system): Delete redundant variable.
(decode_options): Don't use it.
(find_tty): New function.
(main): Use find_tty, and don't use window_system.
2008-11-02 21:41:57 +00:00
Eli Zaretskii
d41784eef4 (main) [WINDOWSNT]: Don't ifdef away the call to `ttyname'.
(w32_getenv): Treat $TERM specially: if not found in the environment and in
the Registry, return "w32console".
(ttyname) [WINDOWSNT]: New function.
2008-11-01 13:49:23 +00:00
Andreas Schwab
322ca65006 (main): Don't force sending tty when in eval mode. 2008-10-31 23:17:13 +00:00
Chong Yidong
8536c0f5c5 (main): If using the current frame, send tty information to Emacs in
case daemon mode needs to occupy this tty.
2008-10-30 15:54:38 +00:00
Juanma Barranquero
bc558f3edb * emacsclient.c (EXTRA_SPACE): New macro.
(get_server_config, set_local_socket): Use it.
2008-10-29 15:34:06 +00:00
Juanma Barranquero
f77b11a051 * server.el, emacsclient.c: Use TMPDIR (default /tmp) instead of hardcoded /tmp. 2008-10-29 10:42:31 +00:00
Dan Nicolaescu
dc1cd5f755 (longopts, print_help_and_exit): Add -nw.
(decode_options): Use getopt_long_only.
2008-10-13 02:32:51 +00:00
Eli Zaretskii
c966fd27a1 (main): Fix a typo in a comment. 2008-09-19 16:45:12 +00:00
Chong Yidong
d5dabcb513 (main): Use stdout rather than stdin to obtain the terminal (bug#427). 2008-09-19 15:50:24 +00:00
Dan Nicolaescu
7c2fb837ec * bitmaps/README:
* xfns.c:
* termcap.c:
* term.c:
* syswait.h:
* systty.h:
* systime.h:
* syssignal.h:
* sysdep.c:
* process.h:
* process.c:
* print.c:
* ndir.h:
* lread.c:
* keyboard.c:
* getpagesize.h:
* floatfns.c:
* fileio.c:
* emacs.c:
* doc.c:
* dispnew.c:
* dired.c:
* data.c:
* callproc.c:
* buffer.c:
* README:
* Makefile.in:
* s/template.h:
* s/msdos.h:
* m/vax.h: Remove VMS support.
* s/vms.h:
* vlimit.h:
* uaf.h:
* temacs.opt:
* param.h:
* ioctl.h: Remove file.

* descrip.mms:
* compile.com: Remove file.
* Create.c: Remove VMS support.

* message.el (Module):

* gnus-start.el (Module):

* gnus-registry.el (Module):

* textmodes/texinfmt.el:
* nxml/nxml-enc.el:
* mail/feedmail.el:
* international/mule.el:
* international/latexenc.el:
* emulation/viper-util.el:
* emulation/viper-init.el:
* emulation/viper-ex.el:
* emacs-lisp/bytecomp.el:
* version.el:
* subr.el:
* startup.el:
* sort.el:
* shadowfile.el:
* recentf.el:
* printing.el:
* paths.el:
* minibuffer.el:
* ls-lisp.el:
* loadup.el:
* hippie-exp.el:
* finder.el:
* files.el:
* ediff-util.el:
* ediff-ptch.el:
* ediff-init.el:
* ediff-diff.el:
* dired.el:
* dired-aux.el:
* cus-edit.el:
* bindings.el:
* arc-mode.el:
* add-log.el: Remove VMS support.
* obsolete/vmsproc.el:
* obsolete/vms-pmail.el:
* obsolete/vms-patch.el: Remove file.

* etags.c:
* emacsclient.c: Remove VMS support.

* termcap.src: Remove file.
* README:
* PROBLEMS:
* MACHINES: Remove VMS info.

* ediff.texi: Remove VMS support.

* os.texi:
* intro.texi:
* files.texi: Remove VMS support.

* emacs.texi: Remove VMS support.

* make-dist:
* README: Remove VMS support.
* vms: Remove directory.
2008-07-31 05:33:56 +00:00
Dan Nicolaescu
9e2a264775 Remove support for Mac Carbon.
* mactoolbox.c:
* macterm.h:
* macterm.c:
* macselect.c:
* macmenu.c:
* macgui.h:
* macfns.c:
* mac.c: Remove file.
* s/darwin.h:
* m/intel386.h:
* xfaces.c:
* xdisp.c:
* window.c:
* tparam.c:
* termhooks.h:
* termcap.c:
* term.c:
* syssignal.h:
* sysselect.h:
* sysdep.c:
* process.c:
* lread.c:
* lisp.h:
* keyboard.c:
* image.c:
* fringe.c:
* frame.h:
* frame.c:
* fontset.c:
* font.h:
* font.c:
* fns.c:
* fileio.c:
* emacs.c:
* dispnew.c:
* dispextern.h:
* config.in:
* atimer.c:
* Makefile.in: Remove code for Carbon

* erc.el: Remove code for Carbon.

Remove support for Mac Carbon.
* term/mac-win.el: Remove file
* international/mule-cmds.el:
* version.el:
* startup.el:
* simple.el:
* mwheel.el:
* mouse.el:
* loadup.el:
* isearch.el:
* info.el:
* frame.el:
* faces.el:
* disp-table.el:
* cus-start.el:
* cus-face.el:
* cus-edit.el:
* Makefile.in: Remove code for Carbon.

Remove support for Mac Carbon.
* makefile.w32-in:
* emacsclient.c: Remove code for Carbon.

* PROBLEMS:
* MACHINES: Remove mentions of Mac Carbon.

* ns-emacs.texi:
* faq.texi: Remove mentions of Mac Carbon.

* os.texi:
* frames.texi:
* display.texi: Remove mentions of Mac Carbon.

* xresources.texi: Remove mentions of Mac Carbon.

* make-tarball.txt:
* admin.el:
* FOR-RELEASE:
* CPP-DEFINES: Remove mentions of Mac Carbon.

Remove support for Mac Carbon.
* mac: Remove directory.
* make-dist:
* configure.in:
* README:
* Makefile.in:
* INSTALL:  Remove code for Carbon.
* configure: Regenerate.
2008-07-27 18:24:48 +00:00
Glenn Morris
294981c77c Switch to recommended form of GPLv3 permissions notice. 2008-05-09 23:19:13 +00:00
Dan Nicolaescu
9d2818d676 * configure.in: Remove references to obsolete variables and
systems.
* configure: Regenerate.

* Makefile.in (NO_SHORTNAMES):
* emacsclient.c (NO_SHORTNAMES):
* fakemail.c (NO_SHORTNAMES):
* make-docfile.c (NO_SHORTNAMES):
* movemail.c (NO_SHORTNAMES):
* pop.c (NO_SHORTNAMES): Remove references to obsolete variable.

* config.nt (SHORTNAMES): Remove reference to obsolete variable.

* s/vms4-0.h:
* s/vms4-2.h:
* s/vms4-4.h:
* s/vms5-5.h: Remove, unused.

* s/irix5-2.h:
* s/irix6-0.h:
* s/riscos5.h:
* s/mach-bsd4-3.h:
* m/mips4.h: Remove files for obsolete systems

* Makefile.in:
* filelock.c:
* unexmips.c:
* m/hp9000s300.h:
* m/iris4d.h:
* s/aix3-1.h:
* s/hpux.h:
* s/msdos.h:
* s/usg5-0.h:
* s/usg5-2-2.h:
* s/usg5-2.h:
* s/usg5-3.h: Remove references to obsolete variables.

* s/irix5-0.h: Remove, move all the contents ...
* s/irix6-5.h: ... here.  Simplify.
* config.in: Regenerate.
2008-02-24 18:53:07 +00:00
Juanma Barranquero
31e25350a8 Fix typo in comment. 2008-02-20 12:09:38 +00:00
Juanma Barranquero
50f271cb5a (main) [WINDOWSNT]: Understand DRIVE:NAME, where
NAME is relative to DRIVE'S current directory.
2008-02-20 12:06:52 +00:00
Juanma Barranquero
d07529f330 (print_help_and_exit): Show -d option on Windows. 2008-02-15 16:59:19 +00:00
Stefan Monnier
09317bf4bf (decode_options): Fix last change so as not to override an explicit -display. 2008-02-08 15:28:04 +00:00
Stefan Monnier
9997dc1529 (decode_options): Pass --display implicitly if -c
is specified.  Only set tty if -t or -c is specified.
2008-02-08 15:25:58 +00:00
Stefan Monnier
0ea5797a18 (decode_options): Default to a NULL display, as Emacs-22.
Allow the -d option under w32 again, for those rare cases where it
actually does make sense.
2008-01-26 21:27:38 +00:00
Juanma Barranquero
5ab7322861 (set_tcp_socket): Don't send a "\n" after the authentication string;
there's no need to haste.
2008-01-25 15:46:07 +00:00
Eli Zaretskii
0ebec7d35c (decode_options) [WINDOWSNT]: Don't use the value of DISPLAY in the
environment.  Don't support -d.
(print_help_and_exit) [WINDOWSNT]: Don't show the --display option.
(longopts) [WINDOWSNT]: Remove --display.
2008-01-12 15:50:33 +00:00
Glenn Morris
78da39c6e7 Add missing final newlines to message calls. 2008-01-09 04:40:14 +00:00
Glenn Morris
355a326e54 Daniel Hackney <dan at haxney.org> (tiny change)
(set_socket): Add trailing newline to socket error message.
2008-01-09 04:36:57 +00:00
Miles Bader
59ce725a3b Merge from emacs--rel--22
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-987
2008-01-08 20:46:54 +00:00
Glenn Morris
a5b68355b3 Add 2008 to copyright years. 2008-01-07 08:42:46 +00:00
Juanma Barranquero
f387c1eec4 Comment change. 2007-10-27 13:38:28 +00:00
Miles Bader
fdc9061358 Merge from emacs--rel--22
Patches applied:

 * emacs--rel--22  (patch 131-137)

   - Update from CVS
   - Merge from gnus--rel--5.10

 * gnus--rel--5.10  (patch 261-262)

   - Update from CVS

Revision: emacs@sv.gnu.org/emacs--devo--0--patch-908
2007-10-27 09:07:17 +00:00
Juanma Barranquero
7ce8671d69 Add a wrapper for getenv so it also checks the registry on Windows.
Suggestion and algorithm by Eli Zaretskii.
Code partially based on w32_get_resource and init_environment (w32.c).
(egetenv): New wrapper for getenv.
(get_current_dir_name, decode_options, get_server_config, set_local_socket,
set_socket, main): Use egetenv, not getenv.
(w32_get_resource, w32_getenv) [WINDOWSNT]: New functions.
2007-10-26 15:46:57 +00:00
Juanma Barranquero
70cd9104ca Add a wrapper for getenv so it also checks the registry on Windows.
Suggestion and algorithm by Eli Zaretskii.
Code partially based on w32_get_resource and init_environment (w32.c).
(xmalloc): New function by Károly Lőrentey (backported from the trunk).
(quote_file_name): Use it.
(egetenv): New wrapper for getenv.
(get_current_dir_name, decode_options, get_server_config, set_local_socket,
set_socket, main): Use egetenv, not getenv.
(w32_get_resource, w32_getenv) [WINDOWSNT]: New functions.
2007-10-26 15:39:49 +00:00
Jason Rumney
d22b00e516 (sock_err_message): New function.
(set_tcp_socket): Use it.
2007-10-25 23:56:53 +00:00
Juanma Barranquero
c4b858e380 (print_help_and_exit): Fix space to improve alignment in output messages. 2007-10-09 09:46:55 +00:00
Miles Bader
1af74d06e5 Merge from emacs--rel--22
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-875
2007-10-09 08:52:57 +00:00
Jason Rumney
dbf60b0750 (w32_window_app): Init common controls when windowed. 2007-09-27 22:08:59 +00:00
Stefan Monnier
c1b8e8966d (decode_options): -t implies -c. 2007-09-21 03:21:54 +00:00
Stefan Monnier
cb06b8dcb5 (DIRECTORY_SEP, IS_DIRECTORY_SEP, IS_DEVICE_SEP)
(IS_ANY_SEP): Only define if !defined(HAVE_GET_CURRENT_DIR_NAME).
(main_argc): Remove.
(strprefix): Use strncmp.
2007-09-20 21:14:08 +00:00
Jason Rumney
c801ad51b2 (main) [SIGSTOP]: Change conditional from WINDOWSNT. 2007-09-20 14:58:41 +00:00
Stefan Monnier
31fa65956d (current_frame): Change the default.
(longopts): Replace --current-frame by --create-frame.
(decode_options): Reverse the meaning of -c.
(print_help_and_exit): Update help text accordingly.
(main): Remove the -version and -good-version messages.
2007-09-20 01:11:57 +00:00
Glenn Morris
29bda95905 (sys/stat.h, errno.h): Remove duplicate includes. 2007-08-26 00:56:36 +00:00
Miles Bader
9899d01a0c Merge from emacs--devo--0
Patches applied:

 * emacs--devo--0  (patch 824-838)

   - Update from CVS
   - Merge from emacs--rel--22
   - Remove lisp/erc/erc-nicklist.el
   - Update some .arch-inventory files
   - Fix void function definition error in cus-edit.el
   - Restore lisp/emacs-lisp/cl-loaddefs.el

 * emacs--rel--22  (patch 70-83)

   - Update from CVS
   - Remove lisp/erc/erc-nicklist.el
   - Update some .arch-inventory files
   - Indicate that emacs--devo--0--patch-834 does not need to be applied
   - Merge from gnus--rel--5.10
   - Restore lisp/emacs-lisp/cl-loaddefs.el

 * gnus--rel--5.10  (patch 239-241)

   - Merge from emacs--devo--0
   - Update from CVS

Revision: emacs@sv.gnu.org/emacs--multi-tty--0--patch-28
2007-07-31 05:50:45 +00:00
Glenn Morris
4a9f99bdfb Switch license to GPLv3 or later. 2007-07-25 05:08:27 +00:00
Dan Nicolaescu
30790a37ef * emacsclient.c (main): Avoid having a declaration after a
statement.

* sysdep.c: Comment out text after #endif.
2007-05-26 17:28:45 +00:00
Juanma Barranquero
c0f342ab43 (print_help_and_exit): Restore and adapt trunk change from 2006-11-23 which was
lost in the merge.
2007-05-21 12:15:52 +00:00
Dan Nicolaescu
caf49fb043 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
mac-win.
* term/mac-win.el:
(mac-initialize-window-system): New function. Move global setup
here.

* s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
(SYSTEM_PURESIZE_EXTRA): Only define on Carbon.

* emacsclient.c (decode_options): Don't use a tty on mac carbon.
2007-05-19 23:12:46 +00:00
Dan Nicolaescu
90843190c5 * emacsclient.c (handle_sigtstp): Use the new name for the
socket variable.
2007-05-17 00:17:06 +00:00
Dan Nicolaescu
1d00cfd429 * emacsclient.c (decode_options): Don't use a tty on windows.
* makefile.w32-in (VERSION): Update.
2007-05-16 23:16:53 +00:00
Jason Rumney
486ba65f34 (emacs_socket): Rename from s.
Move definition below includes it depends on.
(SEND_STRING, SEND_QUOTED): Remove obfuscation macros.
(quote_argument, set_tcp_socket, handle_sigcont, handle_sigtstp):
(main): Expand removed macros inline.
2007-05-16 21:35:06 +00:00
Jason Rumney
4b7b77f679 (emacs_socket): Rename from s.
Move definition below includes it depends on.
2007-05-16 21:06:28 +00:00
Dan Nicolaescu
105faa8427 * emacsclient.c (s): Restore.
(main): Don't define s here.
(w32_execvp): Move definition before use.
2007-05-16 16:14:26 +00:00
Jason Rumney
b2ff54a0d1 (s): Remove.
(main): Define here instead.
(main) [WINDOWSNT]: Don't call ttyname.
Don't recognize -suspend option.
(main) [NO_SOCKETS_IN_FILE_SYSTEM]: Don't call init_signals.
(strprefix): Define unconditionally.
2007-05-15 23:30:30 +00:00
Karoly Lorentey
f65f760331 Merged from emacs@sv.gnu.org
Patches applied:

 * emacs@sv.gnu.org/emacs--devo--0--patch-619
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-620
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-621
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-622
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-623
   Remove RCS keywords

 * emacs@sv.gnu.org/emacs--devo--0--patch-624
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-625
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-626
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-627
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-628
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-629
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-630
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-631
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-632
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-633
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-634
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-635
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-636
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-637
   Remove RCS keywords

 * emacs@sv.gnu.org/emacs--devo--0--patch-638
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-639
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-640
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-641
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-642
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-643
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-644
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-645
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-646
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-647
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-648
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-649
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-197
   Merge from emacs--devo--0

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-198
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-199
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-200
   Merge from emacs--devo--0

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-201
   Update from CVS: lisp/nnweb.el (nnweb-google-parse-1): Update parser.

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-202
   Update from CVS

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-596
2007-02-24 19:26:54 +00:00
Juanma Barranquero
71b8f73572 Comment changes and clarifications. 2007-02-16 17:12:59 +00:00
Karoly Lorentey
93afd0f1d4 Merged from emacs@sv.gnu.org
Patches applied:

 * emacs@sv.gnu.org/emacs--devo--0--patch-599
   Merge from erc--main--0

 * emacs@sv.gnu.org/emacs--devo--0--patch-600
   Merge from erc--main--0

 * emacs@sv.gnu.org/emacs--devo--0--patch-601
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-602
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-603
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-604
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-605
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-606
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-607
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-608
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-609
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-610
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-611
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-612
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-613
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-614
   Make byte compiler correctly write circular constants

 * emacs@sv.gnu.org/emacs--devo--0--patch-615
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-616
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-617
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-618
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-192
   Merge from emacs--devo--0

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-193
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-194
   Merge from emacs--devo--0

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-195
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-196
   Update from CVS

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-594
2007-01-29 22:21:19 +00:00
Glenn Morris
4e6835dbc4 Add 2007 to copyright years. 2007-01-21 04:57:37 +00:00
Karoly Lorentey
382707ecfb Fix various suspend-related bugs in emacsclient. (Report & patch by Dan Nicolaescu.)
* lib-src/emacsclient.c (in, out): Remove.
  (s): New variable (moved out from main).
  (handle_sigcont, handle_sigtstp): Use SEND_STRING.
  (main): Fix typos.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-591
2007-01-01 18:32:06 +00:00
Karoly Lorentey
65e86587ab Merged from emacs@sv.gnu.org.
Patches applied:

 * emacs@sv.gnu.org/emacs--devo--0--patch-536
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-537
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-538
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-539
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-540
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-541
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-542
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-543
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-544
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-545
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-546
   Update from erc--emacs--22

 * emacs@sv.gnu.org/emacs--devo--0--patch-547
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-548
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-549
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-550
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-551
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-552
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-553
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-554
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-555
   erc-iswitchb: Temporarily enable iswitchb mode

 * emacs@sv.gnu.org/emacs--devo--0--patch-556
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-557
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-558
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-559
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-560
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-561
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-562
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-563
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-564
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-565
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-566
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-567
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-568
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-569
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-570
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-571
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-572
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-573
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-574
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-575
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-576
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-577
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-578
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-579
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-580
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-581
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-582
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-583
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-584
   Fix admin/quick-install-emacs to work with recent versions of autoconf

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-171
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-172
   Merge from emacs--devo--0

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-173
   Merge from emacs--devo--0

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-174
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-175
   Update from CVS: lisp/legacy-gnus-agent.el: Add Copyright notice.

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-176
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-177
   Merge from emacs--devo--0

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-178
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-179
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-180
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-181
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-182
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-183
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-184
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-185
   Merge from emacs--devo--0

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-590
2007-01-01 17:38:32 +00:00
Juanma Barranquero
0e0dced58b [WINDOWSNT] (set_fg, get_wc): New variables.
[WINDOWSNT] (w32_find_emacs_process, w32_give_focus): New functions.
(main) [WINDOWSNT]: Remove code to release the focus; call
w32_give_focus instead.
2006-12-18 16:47:28 +00:00
Richard M. Stallman
f038449950 Comment and whitespace changes. 2006-12-15 19:05:47 +00:00
Juanma Barranquero
0d3d671926 Rework a few comments. 2006-12-15 17:50:28 +00:00
Juanma Barranquero
4472aef4c3 (w32_execvp): New function; wrapper for `execvp'.
(execvp) [WINDOWSNT]: Redefine to `w32_execvp'.
(fail): Remove Windows-specific fix (subsumed in w32_execvp).
2006-12-15 14:53:44 +00:00
Karoly Lorentey
974b73e838 Merged from emacs@sv.gnu.org. Last-minute emacsclient rewrites be damned!
Patches applied:

 * emacs@sv.gnu.org/emacs--devo--0--patch-490
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-491
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-492
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-493
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-494
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-495
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-496
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-497
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-498
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-499
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-500
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-501
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-502
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-503
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-504
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-505
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-506
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-507
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-508
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-509
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-510
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-511
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-512
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-513
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-514
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-515
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-516
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-517
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-518
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-519
   Update from CVS: etc/TUTORIAL.cn: Updated.

 * emacs@sv.gnu.org/emacs--devo--0--patch-520
   Merge from erc--emacs--22

 * emacs@sv.gnu.org/emacs--devo--0--patch-521
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-522
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-523
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-524
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-525
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-526
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-527
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-528
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-529
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-530
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-531
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-532
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-533
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-534
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-535
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-161
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-162
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-163
   Merge from emacs--devo--0

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-164
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-165
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-166
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-167
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-168
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-169
   Merge from emacs--devo--0

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-170
   Update from CVS

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-588
2006-12-03 15:03:30 +00:00
Juanma Barranquero
c66648e0c7 (emacs_pid): New variable.
(message): Remove leftover code.
(get_server_config): Set emacs_pid.  Don't allow Emacs to grab the focus yet;
emacsclient can still display an informational message before sending requests
to Emacs.
(main): Allow Emacs to grab the focus.  Simplify message() call.
2006-11-30 22:49:38 +00:00
Juanma Barranquero
9219db75bf (message): Make sure the message is properly written even if it contains printf
escapes, and flush the result.
(set_tcp_socket): Make the message for non-local connections informational
rather than an error.
2006-11-30 21:58:53 +00:00
Jason Rumney
5f7a487486 (file_name_absolute_p) [WINDOWSNT]: Use isalpha(). 2006-11-25 00:32:40 +00:00
Eli Zaretskii
cb0297bb1a (file_name_absolute_p) [WINDOWSNT]: Support absolute file names with forward
slashes.
2006-11-24 20:59:01 +00:00
Juanma Barranquero
db9cd97ad4 Space/tab mixup. 2006-11-24 10:31:26 +00:00
Juanma Barranquero
30aa95cea6 (print_help_and_exit): Tweak message contents and tabs/spaces
to improve alignment in message boxes.
2006-11-23 01:51:38 +00:00
Juanma Barranquero
42073bfb9e Include <stdarg.h>.
[WINDOWSNT]: Include <windows.h>.
(w32_check_console_app): New function.
(message): New function.
(decode_options, print_help_and_exit, fail, main, initialize_sockets,
get_server_config, set_tcp_socket, set_local_socket, set_socket):
Use message().
2006-11-22 14:19:35 +00:00
Jason Rumney
32dd92836c Let config.h define HAVE_SOCKETS and HAVE_INET_SOCKETS. 2006-11-13 11:32:11 +00:00
Juanma Barranquero
bc28de715d [WINDOWSNT]: Undef _WINSOCKAPI_ and _WINSOCK_H. 2006-11-13 10:59:04 +00:00
Juanma Barranquero
ed4a37304a [!WINDOWSNT]: Include <sys/types.h>. 2006-11-10 15:44:40 +00:00
Juanma Barranquero
2dc07a1273 (get_server_config): Declare set_fg as FARPROC to avoid a compiler warning. 2006-11-08 01:06:45 +00:00
Juanma Barranquero
88b46d8431 (get_server_config) [WINDOWSNT]: Search the server file on APPDATA
if it doesn't exist on HOME, even if HOME is defined.
2006-11-07 11:23:12 +00:00
Juanma Barranquero
434a6c5d78 (get_server_config): Extract also the Emacs pid from the server file.
On Windows, try to force the Emacs frame to the foreground.
2006-11-07 10:43:45 +00:00
Juanma Barranquero
b03d27bdc1 (longopts) [! NO_SOCKETS_IN_FILE_SYSTEM]: Don't show option --socket-name.
(decode_options): Don't get EMACS_SERVER_FILE here, it could override command
line options.
(decode_options) [! NO_SOCKETS_IN_FILE_SYSTEM]: Don't parse "-s" option.
(fail): Don't check for missing arguments, it is now done in set_socket.
(file_name_absolute_p): New function (loosely based on the one in fileio.c).
(initialize_sockets): Don't check for duplicate loading of Winsock.
(get_server_config): Only try relative paths in the default directory locations.
(set_tcp_socket): Don't call INITIALIZE().  Warn when connecting to a remote
server.
(set_socket): Call INITIALIZE().  Search explicit command-line arguments, then
environment variable EMACS_SERVER_FILE, then implicit socket paths, before
trying the alternate editor.
(main): Use file_name_absolute_p.
2006-11-06 12:41:49 +00:00
Juanma Barranquero
5796dab79d (initialize_sockets): Don't initialize Winsock more than once. 2006-11-03 16:24:53 +00:00
Juanma Barranquero
1e7823d061 [WINDOWSNT]: Define HAVE_INET_SOCKETS.
[!WINDOWSNT]: Include <netinet/in.h> if available.
[HAVE_SOCKETS]: Also require HAVE_INET_SOCKETS.
(IOCTL, IOCTL_BOOL_ARG): Remove.
(set_tcp_socket): Don't set the socket in blocking mode.  Remove c_arg.
2006-11-02 09:55:33 +00:00
Juanma Barranquero
b73ea44bb7 [WINDOWSNT]: Force the first argv passed to execvp to point to alternate_editor
(otherwise .BAT scripts can't run).
2006-11-01 19:26:14 +00:00
Juanma Barranquero
411b80a566 [WINDOWSNT]: Include <malloc.h> and <stdlib.h>.
(close_winsock): Declare as __cdecl.
2006-10-31 16:40:11 +00:00
Juanma Barranquero
95d0feaa4a [!WINDOWSNT]: Include <fcntl.h> if available.
(set_tcp_socket): Prefer O_NONBLOCK, then O_NDELAY, then FIONBIO to set the
socket in non-blocking mode.
2006-10-31 13:52:32 +00:00
Juanma Barranquero
e35fc9628c Fixes to emacsclient.c for GNU/Linux.
[!WINDOWSNT] <top level>: Include <netinet/in.h> and <sys/ioctl.h>.
(INVALID_SOCKET): Define.
(initialize_sockets): Put #endif at the right place.
(set_local_socket): Use progname, not argv[0].
2006-10-31 09:08:24 +00:00
Juanma Barranquero
aa0b693297 Add support for TCP sockets.
(SEND_STRING, SEND_QUOTED, HSOCKET, CLOSE_SOCKET, IOCTL, INITIALIZE): New
macros.
(IOCTL_BOOL_ARG): New typedef.
(server_file): New global variable.
(longopts): New option --server-file.
(decode_options): Process new option --server-file and environment variable
EMACS_SERVER_FILE.
(print_help_and_exit): Document new option.
(fail): If no connection available and no alternate editor, suggest using
options to make them explicit.
(AUTH_KEY_LENGTH, SEND_BUFFER_SIZE): New constants.
(send_buffer, sblen): New variables.
(send_to_emacs): New function to buffer output and send it with send().
(quote_file_name): Use SEND_STRING.
(close_winsock, initialize_sockets): New functions to load and unload Winsock.
(get_server_config, set_tcp_socket): New functions to create and set up TCP
sockets.
(set_local_socket): New function to create and set up Unix socket (code moved
from previous implementation).
(set_socket): New function to chose between TCP and Unix sockets.
(main): Use SEND_STRING and SEND_QUOTED.  Most code moved to set_local_socket.
Use set_socket.  Get answers from server.el with recv(), not file stream
functions.
2006-10-31 00:21:19 +00:00
Karoly Lorentey
251bc578cc Merged from emacs@sv.gnu.org
Patches applied:

 * emacs@sv.gnu.org/emacs--devo--0--patch-351
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-352
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-353
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-354
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-355
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-356
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-357
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-358
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-359
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-360
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-361
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-362
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-363
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-364
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-365
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-366
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-367
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-368
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-369
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-370
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-115
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-116
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-117
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-118
   Merge from emacs--devo--0

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-119
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-120
   Update from CVS

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-573
2006-07-29 09:59:12 +00:00
Dan Nicolaescu
2381d38d0a * ebrowse.c (usage, version): Mark as NO_RETURN.
* emacsclient.c (print_help_and_exit): Likewise.

* xterm.c (x_connection_closed, x_error_quitter): Mark as NO_RETURN.

* textprop.c (text_read_only): Likewise.

* lread.c (end_of_file_error): Likewise.

* lisp.h (circular_list_error, memory_full, buffer_memory_full):
Likewise.

* eval.c (unwind_to_catch): Likewise.

* buffer.h (buffer_slot_type_mismatch): Likewise.
2006-07-18 16:33:45 +00:00
Karoly Lorentey
6bcc8ec7eb Fix OpenBSD compilation some more. (Fix by Han Boetes.)
* lib-src/emacsclient.c: Copy IS_*_SEP definitions from lisp.h.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-541
2006-04-01 12:54:10 +00:00
Karoly Lorentey
dc4a4a1433 Fix compilation error on OpenBSD. (Reported by Han Boetes.)
* lib-src/emacsclient.c: Include sys/stat.h.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-540
2006-03-28 17:28:17 +00:00
Karoly Lorentey
2828d5f9d4 Set `default-directory' in *scratch* to the current directory of emacsclient.
* lib-src/emacsclient.c (get_current_dir_name): New function, copied here
  from sysdep.c.
  (main): Use it to send over the current directory.

* lisp/server.el (server-process-filter): Accept `-dir' command.  Set
  `default-directory' of the *scratch* buffer on connect, if applicable.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-539
2006-03-26 16:34:35 +00:00
Karoly Lorentey
1913a2b35d Merged from emacs@sv.gnu.org
Patches applied:

 * emacs@sv.gnu.org/emacs--devo--0--patch-49
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-50
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-51
   Make constrain-to-field notice overlays

 * emacs@sv.gnu.org/emacs--devo--0--patch-52
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-53
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-54
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-55
   Merge from erc--emacs--0

 * emacs@sv.gnu.org/emacs--devo--0--patch-56
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-57
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-58
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-59
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-60
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-61
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-62
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-63
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-64
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-65
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-66
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-67
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-68
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-69
   rcirc: Add flexible response formatting; Add nick abbrevs

 * emacs@sv.gnu.org/emacs--devo--0--patch-70
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-71
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-72
   Update from CVS: man/dired.texi (Tumme): More tumme documentation.

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-18
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-19
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-20
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-21
   Merge from emacs--devo--0

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-22
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-23
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-24
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-25
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-26
   Merge from emacs--devo--0

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-27
   Update from CVS: lisp/gnus.el: Remove bogus comment.

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-28
   Merge from emacs--devo--0

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-29
   Add sendmail.el and smptmail.el from Emacs tree to contrib/

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-508
2006-02-12 00:15:44 +00:00
Thien-Thi Nguyen
273dc16aaf Update years in copyright notice; nfc. 2006-02-06 11:28:28 +00:00
Karoly Lorentey
59e085e04d Store client's environment in terminal parameters, not server parameters.
* lisp/loadup.el: Don't load server.
* lisp/ldefs-boot.el: Update.

* lib-src/emacsclient.c (main): Send environment only when a new display
  is created.

* lisp/server.el (server-save-buffers-kill-display): Add autoload
  cookie.  Move stuff not specific to server into `save-buffers-kill-display'.
* lisp/files.el (save-buffers-kill-display): New function.
  (ctl-x-map): Bind it to C-x C-c.

* lisp/frame.el (terminal-getenv): New function.
* lisp/international/mule-cmds.el (set-locale-environment): Use it.

* lisp/frame.el (with-terminal-environment): New macro.

* lisp/server.el (server-getenv, server-with-client-environment): Remove.
  (server-getenv-from, server-with-environment): New functions.
  (server-process-filter): Change syntax of environment
  variables.  Put environment into terminal parameters, not client parameters.

* lisp/term/rxvt.el: Don't require server.
  (rxvt-set-background-mode): Use terminal-getenv, not server-getenv.
* lisp/term/x-win.el (x-initialize-window-system): Ditto.
* lisp/term/xterm.el (terminal-init-xterm): Ditto.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-443
2005-11-19 19:17:56 +00:00
Karoly Lorentey
b8ccaf6fb3 Make `emacsclient -n <filename>' open new X frames when possible. (Reported by Bas Kok.)
* lib-src/emacsclient.c (decode_options): Change --no-wait to imply
  --current-frame only on ttys and only when there are extra arguments.


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-411
2005-09-11 03:49:47 +00:00
Karoly Lorentey
92071250fa Fix `emacsclient -ne '(+ 2 2)'' (reported by Han Boetes), and clean up some corner cases in Emacs server.
* lib-src/emacsclient.c (decode_options): Make --no-wait imply
  --current-frame, except when it is the only option given.  Make sure no
  frame is opened when --current-frame is set.  
  (main): Pass --current-frame to server.el.

* lisp/server.el (server-process-filter): Handle -current-frame command.
  Don't create frames when it is given.  Don't bind X frames to the
  client when we are in -no-wait mode.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-407
2005-09-10 23:51:08 +00:00
Karoly Lorentey
fbf3497344 Merged in changes from CVS trunk. Plus added lisp/term tweaks.
Patches applied:

 * lorentey@elte.hu--2004/emacs--cvs-trunk--0--base-0
   tag of miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-474

 * lorentey@elte.hu--2004/emacs--cvs-trunk--0--patch-1
   Add CVS metadata files.

 * lorentey@elte.hu--2004/emacs--cvs-trunk--0--patch-2
   Update from CVS.


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-393
2005-09-04 03:48:17 +00:00
Thien-Thi Nguyen
92b47a4a99 Update years in copyright notice; nfc. 2005-08-07 10:56:27 +00:00
Karoly Lorentey
c6c53c3e65 Fix broken emacsclient resume on Solaris (by Dan Nicolaescu).
* lib-src/emacsclient.c (handle_sigcont): Reestablish signal handler. (Dan Nicolaescu)

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-388
2005-07-13 16:15:50 +00:00
Karoly Lorentey
d5dc920668 Merged from miles@gnu.org--gnu-2005 (patch 469)
Patches applied:

 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-469
   Update from CVS

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-372
2005-07-05 22:22:24 +00:00
Lute Kamstra
364c38d3af Update FSF's address. 2005-07-04 15:47:28 +00:00
Karoly Lorentey
392711ede1 Merged from miles@gnu.org--gnu-2005 (patch 39-44, 184-191)
Patches applied:

 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-184
   Update from CVS

 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-185
   Update from CVS

 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-186
   Update from CVS

 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-187
   Merge from gnus--rel--5.10

 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-188
   Update from CVS

 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-189
   Update from CVS

 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-190
   Update from CVS

 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-191
   Update from CVS

 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-39
   Merge from emacs--cvs-trunk--0

 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-40
   Update from CVS

 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-41
   Update from CVS

 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-42
   Update from CVS

 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-43
   Update from CVS

 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-44
   Merge from emacs--cvs-trunk--0

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-311
2005-03-19 17:55:13 +00:00
Jan Djärv
5b9562c3df * emacsclient.c: Avoid expansion of getcwd when defined as a macro. 2005-03-18 20:44:50 +00:00
Karoly Lorentey
6afdd33556 Prevent emacsclient errors when Emacs is compiled without X support.
* lisp/frame.el (make-frame-on-display): Protect condition on
  x-initialized when x-win.el is not loaded.

* lib-src/emacsclient.c (main): Handle -window-system-unsupported
  command.  Doc update.

* lisp/server.el (server-process-filter): Don't try to create an X frame
  when Emacs does not support it.  Improve logging.

* lisp/server.el (server-send-string): New function.
  (server-handle-suspend-tty, server-process-filter): Use it.

* lisp/server.el (server-process-filter, server-unquote-arg)
  (server-quote-arg): Doc updates.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-286
2005-02-04 13:56:51 +00:00
Richard M. Stallman
cf0fad845a (quote_file_name): Pass COPY thru %s to output it. 2004-07-17 14:27:24 +00:00
Karoly Lorentey
fc2040c034 Fix --no-wait in emacsclient (reported by Dan Nicolaescu).
* lib-src/emacsclient.c (main): Don't exit prematurely on --no-wait,
  let Emacs close the connection for us.

* lisp/server.el (server-visit-files): Don't set client-record when nowait.



git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-205
2004-07-03 17:53:57 +00:00
Karoly Lorentey
ab4b17bed7 Merged in changes from CVS trunk.
Patches applied:

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-290
   Update from CVS


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-161
2004-05-11 09:11:36 +00:00
Thien-Thi Nguyen
65396510c3 Throughout, replace 0 destined for exit' arg with EXIT_SUCCESS'.
Likewise, replace 1 with `EXIT_FAILURE'.
(main): Use `EXIT_SUCCESS' or `EXIT_FAILURE' for return value.
2004-05-08 15:26:33 +00:00
Karoly Lorentey
6087973173 In emacsclient, protect the xmitted string from fprintf expansion (Dan Nicolaescu).
lib-src/emacsclient.c (quote_argument): Protect the string from
fprintf expansion (submitted by Dan Nicolaescu).

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-147
2004-04-19 12:03:00 +00:00
Karoly Lorentey
9002956fd8 Another server.el overhaul.
lib-src/emacsclient.c (xstrdup): New function.
(quote_argument): Use xmalloc, not malloc.
(main): Send environment variable values.

lisp/server.el (server-clients): Documentation update.
(server-ttys, server-frames): Removed.
(server-client, server-client-get, server-client-set)
(server-clients-with, server-add-client)
(server-delete-client): New functions.
(server-sentinel, server-handle-suspend-tty)
(server-handle-delete-tty, server-handle-delete-frame)
(server-start, server-process-filter, server-visit-files)
(server-buffer-done, server-kill-buffer-query-function)
(server-kill-emacs-query-function, server-switch-buffer): Use them.
(server-log): Handle both kinds of client references.
(server-start): Set up all hooks here.
(server-process-filter): Cleanup.  Store version in client.
Handle -env commands for passing environment variable values.
(server-buffer-done): Don't close clients that were created bufferless.
(server-switch-buffer): Only look at frameless clients.
Don't switch away from current buffer if there is no next-buffer.
(server-unload-hook): Remove frame/tty hooks, too.

lisp/server.el (server-quote-arg, server-unquote-arg)
(server-process-filter, server-kill-buffer-query-function)
(server-kill-emacs-query-function): Doc update.
(server-buffer-done, server-switch-buffer): Use buffer-live-p, not
buffer-name.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-143
2004-04-18 01:34:11 +00:00
Karoly Lorentey
0b0d3e0bce Implemented suspending of emacsclient frames.
lib-src/emacsclient.c (quote_file_name): Renamed to quote_argument.
(unquote_argument, handle_sigcont, handle_sigtstp): New functions.
(out, in): New global variables for communicating with the Emacs process.
(init_signals): Set up handlers for SIGCONT, SIGTSTP and SIGTTOU.
(main): Changed out and in to global variables.  Prepend `-eval' or
'-file' to each argument.  Use fsync to force sending the strings to Emacs.
Removed obsolete -bad-version code.  Support the -suspend command.
Cleaned up newline handling.

lisp/frame.el (suspend-frame): New function.
Substitute key definition of suspend-emacs with suspend-frame.

lisp/server.el (server-log): Cosmetic change in log format.
(server-handle-delete-tty, server-handle-delete-frame): Added logging.
(server-handle-suspend-tty, server-quote-arg): New functions.
(server-start): Install server-handle-suspend-tty.
(server-process-filter): Reorganized source code for clarity.
Implemented -resume, -suspend and -ignore commands.

lisp/term/x-win.el (x-initialize-window-system): Don't change the
binding of C-z.

src/cm.c: Replaced TTY_INPUT, TTY_OUTPUT, TTY_TERMSCRIPT calls with
their macro expansion.
src/dispnew.c: Ditto.
src/frame.c: Ditto.
src/keyboard.c: Ditto.
src/sysdep.c: Ditto.

src/keyboard.c (tty_read_avail_input): Don't read if the terminal is
suspended.
src/sysdep.c (discard_tty_input, init_sys_modes, reset_sys_modes): Ditto.
src/term.c (tty_set_terminal_modes, tty_reset_terminal_modes): Ditto.

src/term.c (Vsuspend_tty_functions, Vresume_tty_functions): New hooks.
(syms_of_term): Defvar them.
(term_init): Don't allow opening a new frame on a suspended tty device.
(Fsuspend_tty, Fresume_tty): New functions.
(syms_of_term): Defsubr them.

src/termchar.c (struct tty_display_info): Update documentation of
input and output.
(TTY_INPUT, TTY_OUTPUT, TTY_TERMSCRIPT): Removed.


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-105
2004-02-28 01:23:39 +00:00
Karoly Lorentey
2fc0cf2aef Make emacsclient refuse to create a frame inside an Emacs term buffer.
lib-src/emacsclient.c (main): Exit with failure if the terminal type
is `eterm' (Emacs term buffer).

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-104
2004-02-27 14:10:47 +00:00
Karoly Lorentey
8689463ae0 Fix a crash in emacsclient when DISPLAY is unset.
lib-src/emacsclient.c (decode_options): Don't call strlen on a null
pointer. Reported by Ami Fishman.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-92
2004-02-20 23:54:53 +00:00
Karoly Lorentey
e5299d8d65 Changed emacsclient to open new frames by default.
lib-src/emacsclient.c (decode_options): Handle the case when $DISPLAY
is an empty string.  Set window_system or tty to one by default,
depending on if there is a valid display.
(longopts, decode_options, print_help_and_exit): Removed -w, added -c.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-85
2004-02-20 01:46:26 +00:00
Karoly Lorentey
a9298135d8 Verify the version of Emacsclient.
lib-src/emacsclient.c (main): Send the version number of emacsclient
to the Emacs process, and exit with error if Emacs does not accept it.

lisp/server.el (server-with-errors-reported): Removed.
(server-process-filter): Cleaned up error handling.
Compare the version of emacsclient with emacs-version; 
signal an error if they do not match.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-84
2004-02-20 01:22:10 +00:00
Karoly Lorentey
77134727c9 Added -w option to emacsclient for opening a new X frame.
lib-src/emacsclient.c (window_system): New variable.
(frame): Renamed to tty for consistency with the option name.
(longopts, print_help_and_exit): Added -w option. (Suggested by Ami
Fischman <ami at fischman dot org>.
(decode_options): Initialize display to $DISPLAY.  Handle -w option.
(main): Implement the -w option.  Changed to a more elaborate protocol
between Emacs and emacsclient, in preparation to suspend support.

lisp/server.el (server-frames): New variable.
(server-handle-delete-frame): New function.
(server-start): Add it to delete-frame-functions.
(server-select-display): Don't make the new frame invisible.
(server-with-errors-reported): New macro for brevity.
(server-process-filter): Implement the "-window-system" command.
Use server-with-errors-reported.  Fixed regexp for +line:column syntax.
Use the new protocol.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-83
2004-02-19 23:55:51 +00:00
Karoly Lorentey
e581a46687 Merged in changes from CVS HEAD
Patches applied:

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-71
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-72
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-73
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-74
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-75
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-76
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-77
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-78
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-79
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-80
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-81
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-82
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-83
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-84
   Add lisp/emacs-lisp/macroexp.el

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-85
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-86
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-87
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-88
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-89
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-90
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-91
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-92
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-93
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-94
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-95
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-96
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-97
   Update from CVS


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-77
2004-02-17 01:52:25 +00:00
Stefan Monnier
b6b6d6d201 (decode_options): Fix handling of alternate editor. 2004-02-05 00:02:04 +00:00
Karoly Lorentey
d3a6748c5b Merged in changes from CVS HEAD
Patches applied:

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-57
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-58
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-59
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-60
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-61
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-62
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-63
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-64
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-65
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-66
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-67
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-68
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-69
   Update from CVS


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-71
2004-02-02 19:19:08 +00:00
Stefan Monnier
0734b0d08d (main): Don't use the hostname in the socket name.
Look for relative socket names in the /tmp dir rather than in cwd.
2004-01-27 23:07:13 +00:00
Karoly Lorentey
465fc071a1 Merged in changes from CVS HEAD
Patches applied:

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-53
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-54
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-55
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-56
   Update from CVS


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-70
2004-01-26 21:22:42 +00:00
Karoly Lorentey
da8e11156a Removed %T in mode-line-format. Trivial documentation changes.
lisp/bindings.el (mode-line-buffer-identification): Use the
conditional formatting feature instead of builtin support.

src/buffer.c (Vmode_line_format): Removed %T documentation.

src/xdisp.c (decode_mode_spec): Removed %T processing.

lib-src/emacsclient.c (pass_signal_to_emacs, init_signals): Added
comment.

src/cm.c: Cosmetic changes.
src/termchar.h: Ditto.

src/keyboard.c (interrupt_signal, handle_interrupt): Updated
documentation.

src/process.c (add_keyboard_wait_descriptor): Added docs.

src/sysdep.c (init_all_sys_modes, init_sys_modes)
(reset_all_sys_modes): Added docs.

src/term.c (tty_ring_bell, tty_set_terminal_modes)
(tty_reset_terminal_modes, tty_update_end, set_terminal_window)
(tty_set_terminal_window, clear_to_end, tty_clear_to_end)
(tty_clear_frame, tty_clear_end_of_line, write_glyphs)
(tty_write_glyphs, insert_glyphs, tty_insert_glyphs, delete_glyphs)
(tty_delete_glyphs, tty_ins_del_lines, get_named_tty_display)
(init_initial_display, delete_tty): Added docs.


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-65
2004-01-25 00:43:38 +00:00
Richard M. Stallman
293f9f2a99 (main): Restore errno from saved_errno,
so the error message comes from socket_status.
2004-01-24 21:57:57 +00:00
Karoly Lorentey
2a36494c42 Merged in changes from CVS HEAD
Patches applied:

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-33
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-34
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-35
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-36
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-37
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-38
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-39
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-40
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-41
   Make fringe-drawing stuff compile without a window-system

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-42
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-43
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-44
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-45
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-46
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-47
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-48
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-49
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-50
   Update from CVS


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-59
2004-01-22 15:37:19 +00:00
Stefan Monnier
5c9659d3f6 (main): Stop if socket name too long.
Only try su-fallback if the socket name was not explicit.
Check socket name length in su-fallback case as well.
2004-01-20 23:25:33 +00:00
Karoly Lorentey
4ca927b4e0 Fix C-g handling with multiple ttys.
src/sysdep.c (init_sys_modes): Disable interrupt and quit keys on
secondary terminals.  Added a big fat comment about this.

lib-src/emacsclient.c (init_signals): Don't pass SIGINT and SIGQUIT to Emacs.

src/keyboard.c (interrupt_signal): Exit Emacs if there are no frames
on the controlling tty.  Otherwise set internal_last_event_frame to
the controlling tty's top frame.

src/term.c (ring_bell, tty_ring_bell): Don't look at updating_frame.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-52
2004-01-11 02:45:44 +00:00
Karoly Lorentey
b80bf66eab Merged in changes from CVS HEAD
Patches applied:

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-22
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-23
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-24
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-25
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-26
   Fix permission bogosities

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-27
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-28
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-29
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-30
   Update from CVS


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-50
2004-01-10 13:27:38 +00:00
Andreas Schwab
152b6e830f (main): Save errno from socket_status. 2004-01-08 12:20:43 +00:00
Karoly Lorentey
0221d2bfcb Merged in changes from CVS HEAD
Patches applied:

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-17
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-18
   Update from CVS


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-45
2004-01-05 05:58:50 +00:00
Karoly Lorentey
428a555ec5 Converted display hooks to be display-local. Plus many bugfixes.
lib-src/emacsclient.c (window_change_signal): Renamed to pass_signal_to_emacs.
(init_signal): Pass SIGINT and SIGQUIT to the emacs process.

lisp/faces.el (face-valid-attribute-values): Use the window-system
function, not the variable.
(read-face-attribute, face-spec-set-match-display, frame-set-background-mode)
(face-set-after-frame-default): Ditto.

lisp/frame.el (make-frame-on-tty): Added interactive declaration
(suggested by Robert J. Chassell).  Use tty-create-frame-with-faces,
not make-terminal-frame.

src/termhooks.h (struct display_method): Renamed to display for brevity.
(struct display): Added all display hook variables as members of this structure.
Added next_display, reference_count, type and display_info components.
(FRAME_MUST_WRITE_SPACES, FRAME_FAST_CLEAR_END_OF_LINE, FRAME_LINE_INS_DEL_OK)
(FRAME_CHAR_INS_DEL_OK, FRAME_SCROLL_REGION_OK, FRAME_SCROLL_REGION_COST)
(FRAME_MEMORY_BELOW_FRAME, FRAME_RIF): Updated for struct display.
(FRAME_DISPLAY): New macro.
(create_display, delete_display): New prototypes.

src/frame.h (struct frame): Added `display' member, removed display_method.
(FRAME_LIVE_P): Look at f->display, not f->output_data.

src/termchar.h (struct tty_display_info): Removed display_method component.
(FRAME_TTY): Use the display structure, not output_data.

src/term.c (display_list): New variable.
(cursor_to_hook, raw_cursor_to_hook, clear_to_end_hook, clear_frame_hook)
(clear_end_of_line_hook, ins_del_lines_hook, delete_glyphs_hook)
(ring_bell_hook, reset_terminal_modes_hook, set_terminal_modes_hook)
(update_begin_hook, update_end_hook, set_terminal_window_hook)
(insert_glyphs_hook, write_glyphs_hook, delete_glyphs_hoo, read_socket_hook)
(frame_up_to_date_hook, mouse_position_hook, frame_rehighlight_hook)
(frame_raise_lower_hook, set_vertical_scroll_bar_hook, condemn_scroll_bars_hook)
(redeem_scroll_bar_hook, judge_scroll_bars_hook): Moved to struct display.
(tty_display_method_template): Removed.
(syms_of_term): Don't initialize tty_display_method_template.
(ring_bell, set_terminal_modes, reset_terminal_modes, update_begin)
(update_end, set_terminal_window, cursor_to, raw_cursor_to, clear_to_end)
(clear_frame, clear_end_of_line, write_glyphs, insert_glyphs)
(delete_glyphs, ins_del_lines): Access display hooks through the frame pointer.
(Ftty_display_color_p): Use the frame given as a parameter, or else return nil.
(Ftty_display_color_cells): Ditto.
(get_named_tty): Renamed to get_named_tty_display, changed return type to struct display.
(term_dummy_init): Renamed to initial_term_init.  Create and return an initial display.
(term_init): Initialize a new struct display and return a pointer to
it instead of tty_display_info.  Removed frame initialization kludge.
(Fdelete_tty): Updated for struct display.
(delete_tty): The parameter type is now struct display, not tty_display_info.
Delete the display, too.
(create_tty_output): New function for creating tty_output structures.
(delete_tty_output): New function for deleting tty_output structures.
(create_display): New function for creating and registering display structures.
(delete_display): New function for deleting and unregistering display structures.

src/dispextern.h: Updated prototypes.

src/dispnew.c:  Include frame.h before termhooks.h.
(init_display): Updated term_init call to new signature.

src/emacs.c: Include frame.h (for termhooks.h).
src/keymap.c: Ditto.
src/lread.c: Ditto.
src/xsmfns.c: Ditto.

src/process.c: Include frame.h before termhooks.h.

src/frame.c (Fwindow_system): New function.
(syms_of_frame): Initialize it.
(make_terminal_frame): Open the terminal device before creating the new frame.
Disable scrollbars here, term_init cannot do that anymore.
(Fdelete_frame): Use the new delete_frame_hook, don't do display-specific
frame deletion here.  Ditto for delete_display_hook.
(Fmouse_position, Fmouse_pixel_position, Fraise_frame, Flower_frame)
(Fredirect_frame_focus): Access display hooks through the frame pointer.

src/keyboard.c: Include frame.h before termhooks.h.
(start_polling, input_polling_used, stop_polling, gobble_input): Ignore read_socket_hook.
(kbd_buffer_get_event, Fset_input_mode): Access display hooks through the frame pointer.
(read_avail_input): Loop through all display devices for and call all read_socket_hook functions.  Check ttys even if read_socket_hook returned an error.

src/sysdep.c (discard_tty_input): Ignore read_socket_hook.
(stuff_char): Don't do anything if the current frame is not on a termcap display.
(request_sigio, unrequest_sigio): Ignore read_socket_hook.
(init_sys_modes): Always call narrow_foreground_group.  Set up terminal modes and sigio even under X.

src/xdisp.c (message2_nolog, message3_nolog, redisplay_internal)
(set_vertical_scroll_bar, redisplay_window): Access display hooks through the frame pointer.
(echo_area_display): Don't be afraid of termcap frames during an X+tty combo session.

src/xfaces.c: Include termhooks.h.
(Ftty_supports_face_attributes_p): Use the given frame, not selected_frame.

src/xfns.c (x_set_scroll_bar_foreground, x_set_scroll_bar_background): Access display hooks through the frame pointer.
(Fx_create_frame, x_create_tip_frame): Initialize the frame's display structure.
src/xmenu.c: Include termhooks.h after frame.h.

src/xselect.c (x_own_selection, some_frame_on_display, x_get_foreign_selection)
(Fx_disown_selection_internal, Fx_get_cut_buffer_internal)
(Fx_store_cut_buffer_internal, Fx_rotate_cut_buffers_internal): Don't do anything
if the selected frame is not an X frame.

src/xterm.c (x_display_method): Removed.
(x_create_frame_display, x_delete_frame_display): New functions for handling struct display objects.
(x_term_init): Set up a new struct display object, too.
(x_delete_display): Delete the struct display corresponding to the X display.
(x_initialize): Moved hook initialization to x_create_frame_display.

src/xterm.h (x_display_method): Removed.
(struct x_display_info): Added frame_display component.


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-44
2004-01-05 05:54:35 +00:00
Andreas Schwab
e822882420 (main): Fix socket name when using another user. 2004-01-04 16:42:06 +00:00
Karoly Lorentey
4d553a13ab Portability fixes (now it compiles & runs fine on Solaris).
lib-src/emacsclient.c: Removed tty proxy kludge.  Emacs should just
use the same terminal as emacsclient.
(ec_get_tty, ec_set_tty, master, pty_name, old_tty, tty, old_tty_valid)
(tty_erase_char, quit_char, flow_control, meta_key, _sobuf, init_tty)
(window_change, reset_tty, init_pty, copy_from_to)
(pty_conversation): Removed.
(window_change_signal): Just forward the signal to Emacs, don't do
anything else.
(init_signals): Don't set handlers for SIGHUP & SIGINT.
(strprefix): New function.
(main): Don't touch the terminal, simply tell its name to Emacs.

lisp/server.el (server-frames): Changed name and semantics to server-ttys.
(server-tty-live-p): New function.
(server-sentinel): Delete the whole tty, not just the frame.
(server-handle-delete-frame): Removed.
(server-handle-delete-tty): New function. Close the client connection if
the tty is deleted.
(server-start): Clean up server-ttys, not server-frames.  Set up
delete-tty-after-functions.
(server-process-filter): Set up server-ttys, not server-frames.
Updated protocol for sending our pid to emacsclient.
(server-buffer-done): Don't delete the client process directly, delete
the tty instead, and rely on the delete-tty hook to close the
connection.  Otherwise the terminal could be left in a bad state.

src/cm.c (cmputc): Don't abort on write errors.

src/indent.c: #include <stdio.h>, for termchar.h.
src/window.c: Ditto.
src/xfaces.c: Ditto.

src/sysdep.c (init_sigio, reset_sigio, request_sigio)[!SIGIO]
(unrequest_sigio)[!SIGIO]: If SIGIO is not supported, don't do
anything. (For Solaris.)
(init_sys_modes): Moved tty_set_terminal_modes call back to here,
disable window system check.
(reset_sys_modes): Reset the terminal even if X is running.

src/term.c (Vdelete_tty_after_functions): New variable.
(syms_of_term): Initialize it.
(Fdelete_tty): Updated docs.
(delete_tty): Run delete-tty-after-functions.
(term_init): Removed tty_set_terminal_modes call.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-35
2004-01-03 08:31:14 +00:00
Karoly Lorentey
b28c910d1f Fix longopts option name for --tty.
lib-src/emacsclient.c (longopts): Fix --tty and -t.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-34
2004-01-02 13:03:12 +00:00
Karoly Lorentey
7b00d185eb MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
lib-src/emacsclient.c (pty_conversation): Fix errno check for read from fileno(in).

src/config.in: Unconditionally define MULTI_KBOARD.

src/frame.c (make_terminal_frame): Initialize f->kboard.

src/keyboard.c (cmd_error_internal): Don't kill Emacs if a Quit was
pressed on the tty of a X+tty session.
(read_avail_input): Initialize nread to zero.  Abort if there is no
tty after a termcap read.
(interrupt_signal)[USG]: Always reset signal handler.
(init_keyboard): Always set signal handler for SIGINT/SIGQUIT if
noninteractive.

src/term.c (term_dummy_init): Initialize kboard to the initial_kboard.
(term_init): Free component structures of the initial tty. Clear xmalloced structures.
Moved rif initialization to syms_of_term.
(term_init)[MULTI_KBOARD]: Initialize tty->kboard.
(delete_tty)[MULTI_KBOARD]: Delete the keyboard.
(syms_of_term): Initialize tty_display_method_template.

src/termchar.h (tty_output)[MULTI_KBOARD]: Added kboard member.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-31
2004-01-02 02:54:17 +00:00
Karoly Lorentey
daf0170133 Fixed X support, preliminary support for X-tty combo sessions.
lib-src/emacsclient.c (copy_from_to, pty_conversation): Re-added SIGIO
hack.  (Sigh.)

lisp/frame.el (make-frame-on-tty): Use make-terminal-frame, not
make-frame.

src/dispnew.c (line_hash_code, line_draw_cost): Updated to use
the new display_method parameters.
(Fredraw_frame): fflush the tty only if f is a termcap frame.
(direct_output_for_insert): Updated to use the new display_method
parameters. fflush the tty only if f is a termcap frame.
(direct_output_forward_char, update_frame_1, scrolling): Ditto.
(update_frame_line, Fding, bitch_at_user): Ditto.
(Fsend_string_to_terminal): Fail if current frame is not on a tty.
(init_display): Frame size change is safe here.


src/frame.c (Vterminal_frame): Restored previously deleted variable.
(syms_of_frame): Initialize it.
(make_terminal_frame): Copy the frame's display_method from tty_display_info.
(Fmake_terminal_frame): Enable simultaneous X and tty frames (buggy).
(Fredirect_frame_focus): Don't call frame_rehighlight_hook if frame
is on a termcap device.

src/frame.h (struct frame): Renamed display to display_method.
(Vterminal_frame): Re-added declaration.

src/keyboard.c (flow_control): Moved to struct tty_display_info.
(read_avail_input): Check ttys even if there is a read_socket_hook.
(Fset_input_mode): Call reset_sys_modes/init_sys_modes and set
flow_control or meta_key only when the frame is a termcap frame.
(Fcurrent_input_mode): Handle flow_control and meta_key right on
non-termcap frames.

src/scroll.c (calculate_scrolling, calculate_direct_scrolling): Update
to use the new display_method parameters.
(scrolling_1, scroll_cost): Ditto.

src/sysdep.c (init_sys_modes, reset_sys_modes): Always set the
terminal parameters if tty_out->input is not stdin.  Updated to the
new location of flow_control.
(hft_init): Moved HFT init code to term_init, as it needs the frame.

src/term.c (tty_display_method_template): New variable.
(update_begin): Added rif hack.
(set_terminal_window, ins_del_lines, term_init): Updated to use the
new display_method parameters.
(insert_glyphs, ins_del_lines): Only call insert_glyphs_hook if the
current frame is not on a tty.
(calculate_costs): Don't calculate costs if not on a tty.
(term_dummy_init): Fixed tty->output initialization. Preallocate Wcm
and display_method.
(term_init): Allocate & initialize display_method.  Blindly fixed
WINDOWSNT-specific parts.  Added HFT-specific initialization
exception from hft_init.
(delete_tty): Only delete termcap frames.  Free() the display_method.

src/termchar.h (struct tty_display_info): Moved high-level terminal
characteristics to struct display_method.  Added flow_control and
display_method members.

src/termhooks.h (struct display_method): New struct (renamed from
struct device).  Added accessor macros.

src/window.c (init_window_once): Initialize Vterminal_frame.

src/xdisp.c (init_iterator, expose_frame): Added rif hack.
(try_window_id): Updated to use the new display_method parameters.

src/xfaces.c (realize_basic_faces): Don't call
x_update_menu_appearance if the frame is a tty frame.

src/xfns.c (Fx_create_frame): Added rif hack.  Initialize
display_method.
(x_create_tip_frame): Initialize display_method.

src/xterm.c (x_display_method): New variable.
(x_flush, x_frame_of_widget, XTmouse_position): Ignore non-X frames.
(x_window_to_scroll_bar, x_window_to_menu_bar): Ditto.
(xim_destroy_callback, xim_instantiate_callback): Ditto.
(frame_highlight, frame_unhighlight): Added rif hack.
(x_initialize): Don't initialize rif.  Do initialize x_display_method.

src/xterm.h (x_display_method): New declaration.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-30
2004-01-02 01:15:26 +00:00
Karoly Lorentey
819b8f00ed A few more bugfixes and new features.
(Sigh.)  I obviously need to remember to separate individual changes
to multiple commits.

src/emacsclient.c: Improved error handling.
(decode_options): Changed frame option (again) from -f to -t.
(print_help_and_exit): Ditto.
(copy_from_to): Check EINTR after write, not EAGAIN.  Removed SIGIO hack.
(pty_conversation): Handle errors transmitted through the socket.
Handle pty errors by not reading from it anymore.
(main): Restore correct errno after socket_status failed.  Send -tty
on -t, not -pty.

lisp/server.el (server-process-filter): Watch -tty, not -pty.
Use make-frame-on-tty instead of make-terminal-frame.
Don't set newframe to t if make-frame-on-tty failed.
Don't delete frames here.  Print correct message when there are no
files to edit, but a new frame was requested.
(server-sentinel): Delete the frame after the process.
(server-handle-delete-frame): New function for delete-frame-functions.
(server-start): Add server-handle-delete-frame to delete-frame-functions.
(server-buffer-done): Don't delete frames here.

src/alloc.c (mark_ttys): Add prototype.
(Fgarbage_collect): Call mark_ttys.

src/emacs.c: (shut_down_emacs): Don't flush stdout before
reset_sys_modes().

src/process.c (add_keyboard_wait_descriptor_called_flag): Removed.
(add_keyboard_wait_descriptor): Removed stdin hack.

src/sysdep.c: Unconditionally include sysselect.h.
(old_fcntl_flags): Changed to an array.
(init_sigio, reset_sigio): Use it.
(narrow_foreground_group, widen_foreground_group): Use setpgid, not
setpgrp.
(old_fcntl_owner): Changed to an array.
(init_sys_modes, reset_sys_modes): Use it.  Fix fsync() and reset_sigio() calls.
src/term.c (Qframe_tty_name, Qframe_tty_type): New variables.
(syms_of_term): Initialize them.
(Fframe_tty_name, Fframe_tty_type): New functions.
(term_init): Call add_keyboard_wait_descriptor().
(Fdelete_tty): New function.
(delete_tty): Call delete_keyboard_wait_descriptor().
(get_current_tty): Removed.
(mark_ttys): New function.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-28
2003-12-31 05:09:29 +00:00
Karoly Lorentey
16c290d8c1 Major bugfixes and slight enhancements.
src/dispextern.h (get_tty_size, tabs_safe_p, init_baud_rate): Update
prototypes.

src/dispnew.c (window_change_signal): Update call to get_tty_size.
src/frame.c (Fmake_terminal_frame): Ditto.
src/keyboard.c (Fsuspend_emacs): Ditto.

src/sysdep.c: Eliminate tty_outputs, wherever possible.  (The
exceptions are init_sys_modes and reset_sys_modes, which need access
to tty-local parameters).
(init_baud_rate): Change tty_output parameter to a simple file descriptor.
(narrow_foreground_group, widen_foreground_group): Ditto.
(tabs_safe_p, get_tty_size): Ditto.
(init_sys_modes): Update narrow_foreground_group invocation.
(reset_sys_modes): Update widen_foreground_group invocation.
(request_sigio)[!FASYNC && STRIDE]: Fix function signature.

src/term.c (delete_tty): Only close output file handle if it is
different from input.  Re-enable freeing of Wcm.
(term_init): Update get_tty_size, tabs_safe_p and init_baud_rate
invocations.

lib-src/emacsclient.c (here): Renamed to frame.
(longopts): Change --here to --frame.  The -h short option may be
confused with --help.
(decode_options, print_help_and_exit): Update to reflect above changes.
(main): Ditto.

lisp/server.el (server-start): Fix frame-live-p call syntax.
(server-process-filter): Handle 'emacsclient -f' without file
arguments.  Don't return any values to emacsclient when 'emacsclient
-f -e'.
(server-switch-buffer): Prevent infinite recursion when there are no
files to edit.


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-27
2003-12-30 19:27:57 +00:00
Karoly Lorentey
9f729af551 Handle Ctl-G in emacsclient.
lib-src/emacsclient.c (quit_char): New variable.
(init_tty): Use it.
(interrupt_signal): Forward SIGINT to Emacs.
(init_signals): Install SIGINT handler.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-20
2003-12-29 07:24:41 +00:00
Karoly Lorentey
0a1258976b Bugfix festival.
lib-src/emacsclient.c (main_argc, main_argv): New variables.
(main): Initialize them.
(fail): Use them.
(window_change, copy_from_to): Don't kill if emacs_pid is zero.
(pty_conversation): Watch the command socket, too.  Read emacs_pid
here.  Emacs and emacsclient could deadlock if Emacs tried to do a
reset_sys_modes before sending its pid.

lisp/server.el: Automatically delete the client frame when done editing.
(server-frames): New variable.
(server-process-filter, server-sentinel, server-buffer-done): Use it.
(server-process-filter): Do a redisplay before evaluating other
parameters.  (Prevents "emacsclient -h -e '(delete-frame)'" from
messing up the system.

src/dispextern.h: Update prototypes.

src/dispnew.c (window_change_signal): Do nothing if !term_initted.
(init_display): Set the frame size from the tty data after term_init.

src/emacs.c (main): Make sure things that init_sys_modes needs are 
initialized before init_display (which calls init_sys_modes now).
(sort_args): Use xfree, not free.
(shut_down_emacs) [!EMACS_HAVE_TTY_PGRP]: Use reset_all_sys_modes
instead of reset_sys_modes.

src/frame.c (make_terminal_frame): Sigh. Move terminal initialization
back to the middle of frame setup.  Handle errors by making sure that
the delete_tty() called from term_init() will see and delete this
frame.
(Fdelete_frame): Kill the frame before calling delete_tty().  Fix
condition for tty deletion.

src/keyboard.c (Fset_input_mode): Use reset_sys_modes on the current
terminal only.

src/lisp.h: Remove duplicate prototypes.

src/msdos.c (croak): use reset_all_sys_modes().

src/sysdeps.c (init_baud_rate): Added tty parameter, use it instead of CURTTY.
(child_setup_tty): Reset sigio on stdin, not CURTTY().
(reset_sigio): Added fd parameter, put explicit fcntl there.
(request_sigio, unrequest_sigio)[FASYNC]: Simply block/unblock the
SIGIO signal, don't touch the file params.  There are multiple ttys
now, and we can't disable the SIGIO from emacsclient.
(get_tty_size)[VMS]: Use tty_out instead of CURTTY().
(reset_sys_modes): Don't call cursor_to, clear_end_of_line; call
cmgoto and tty_clear_end_of_line instead.  The frame may already be
dead.  Updated reset_sigio call.

src/term.c (clear_and_of_line): Separate tty-dependent stuff to
tty_clear_end_of_line() for reset_sys_modes.
(tty_clear_end_of_line): New function.
(term_init): Added frame parameter, don't use selected_frame.
Set the frame's output_data.tty value (in case there is an error
later).  Set the frame size in Wcm, not in the frame.  Only free the
termcap buffer if there is a termcap-related error.  Call
init_sys_modes last, not first.
(deleting_tty): New variable.
(delete_tty): Use it for handling recursive calls.  Free deleted tty,
except its Wcm (there is still a dangling reference somewhere).

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-19
2003-12-29 07:16:26 +00:00
Karoly Lorentey
fca177d467 Fully eliminated global tty state variables.
lib-src/emacsclient.c (main.c): Fix error message.

lisp/frame.el (make-frame-on-tty): New function.

lisp/server.el (server-process-filter): Notify emacsclient if there
was on error during evaluation.

src/cm.c: Fix remaining cases of direct Wcm references.

src/dispextern.h: Updated prototypes.

src/dispnew.c (Fredraw_frame): Fix set_terminal_modes call.
(init_display): Remove reference to meta_key.

src/frame.c (make_terminal_frame): Renamed first parameter to
tty_name.  Call term_init before creating the frame.
(Fmake_terminal_frame): Look up the `tty' and `tty-type' frame
parameters from the currently selected terminal before the global
default.
(Fdelete_frame): Make sure that the new selected frame is live.

src/keyboard.c (meta_key): Moved to struct tty_output.
(read_avail_input): Fix C syntax.  Update references to meta_key.
(Fsuspend_emacs): pass current tty to init_sys_modes via
record_unwind_protect.
(Fset_input_mode): Update references to meta_key.
(Fcurrent_input_mode): Ditto.

src/sysdep.c (init_sys_modes): Updated old_tty and meta_key
references.  Don't call set_terminal_modes, it needs termcap strings.
(reset_sys_modes): Call tty_reset_terminal_modes instead of
reset_terminal_modes.  Updated old_tty references.

src/term.c: Massive updates throuout the file.
(TS_*, TN_*): Moved to struct tty_output.
(RPov, delete_in_insert_mode se_is_so, costs_set, insert_mode): Ditto.
(standout_mode, specified_window, tty_cursor_hidden): Ditto.
(tty_set_terminal_modes, tty_reset_terminal_modes): New functions.
(turn_on_insert, turn_off_insert): Added tty parameter.
(turn_on_highlight, turn_off_highlight, toggle_highlight): Added tty parameter.
(tty_hide_cursor, tty_show_cursor): Ditto.
(background_highlight, highlight_if_desired): Ditto.
(tty_capable_p): Changed first parameter to tty_output.
(term_init): Make sure top_frame is initialized.  Don't exit on errors
if this would have been a secondary terminal.  Call set_terminal_modes
on the end.
(delete_tty): New function.
(delete_tty_1): New function.
(print_all_frames): New function, marginally useful for debugging.

src/termchar.h (struct tty_output): Changed old_tty to be a pointer.
Removed old_tty_valid member.  Added tty-specific variables from term.c.

src/xfaces.c (Ftty_supports_face_attributes_p): Update for new
tty_capable_p.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-9
2003-12-27 10:00:19 +00:00
Karoly Lorentey
6548cf002c Full support for multiple terminal I/O (with some rough edges).
lib-src/emacsclient.c (emacs_pid): New variable.  
(window_change): Forward the SIGWINCH signal to the Emacs process
after copying the size parameters to the proxy terminal.
(copy_from_to): New parameter (sigio), kill Emacs with SIGIO if it is
nonzero.
(main): Set emacs_pid.

lisp/server.el (server-process-filter): Send the pid of Emacs to emacsclient.

src/cm.c: Added tty parameters to all functions and all Wcm macro calls.

src/cm.h: Added tty parameters to all macros.   Updated function prototypes.
(Wcm): Moved to struct tty_output.

src/dispextern.h: Updated function prototypes.

src/dispnew.c: Added tty parameters to all Wcm macro calls.
(do_switch_frame): Make old frame obscured, not invisible, to solve
problems with other-frame.
(Wcm): Moved to struct tty_output.

src/keyboard.c (read_avail_input): Select the frame corresponding to
the tty that was read.  Slight rearrangement of tty loop.

src/lisp.h (tabs_safe_p): Removed duplicate prototype.

src/sysdep.c (hft_init, hft_reset): Added tty_output parameter.
(discard_tty_input): Discard input from all ttys on APOLLO, too.
Whatever it is.
(narrow_foreground_group, widen_foreground_group): Added tty parameter
(not really useful, the functions only work on the controlling tty.)
(tabs_safe_p): Added tty parameter.

src/term.c Added tty parameters to all Wcm macro calls.
Standardised updating_frame vs. selected frame and tty_output access.
(term_init): Allocate Wcm.
(syms_of_term): Provide the `multi-tty' feature.

src/termchar.h (struct tty_output): Added Wcm.

src/xdisp.c (try_window_id): Make sure we use the tty device
corresponding to the current frame.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-8
2003-12-27 01:12:57 +00:00
Karoly Lorentey
9628b8878f lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
(here): New variable.
(decode_options): Use it.
(ec_get_tty, ec_set_tty, init_tty, window_change, hang_up_signal): New functions.
(window_change_signal, init_signals, reset_tty, init_pty, copy_from_to): Ditto.
(pty_conversation): Ditto.
(main): Use them.
(master, pty_name, old_tty, tty, old_tty_valid, tty_erase_char): New variables.
(flow_control, meta_key, _sobuf, in_conversation, quit_conversation): Ditto.

lisp/server.el (server-process-filter): Added support for opening a new terminal frame.

dispextern.h (get_frame_size): Renamed to get_tty_size, added tty_output parameter.

dispnew.c (Fredraw_frame): fflush the current terminal instead of stdout.
(direct_output_for_insert, direct_output_forward_char, update_frame_1): Ditto.
(Fding, bitch_at_user): Ditto.
(update_frame_1): Count pending output for current terminal instead of stdout.
(window_change_signal): Resize all terminals.
(change_frame_size): Don't resize all terminals to the same size.

frame.c (Vterminal_frame): Removed.
(syms_of_frame): Removed declaration of Vterminal_frame.
(make_terminal_frame): Set the top frame of the terminal to the new frame.
(Fmake_terminal_frame): Get a new frame size from get_tty_size, don't copy it.
(do_switch_frame): Handle terminal frame visibility.
(next_frame, prev_frame): Skip over frames on different terminals.

frame.h (Vterminal_frame): Removed.

keyboard.c (input_fd): Removed.
(read_avail_input): Removed first argument from read_socket_hook.
Try to read from each available tty, until one succeeds.
(Fsuspend_emacs): Don't suspend if there are multiple terminals.

lisp.h (get_frame_size): Removed superflous declaration.

xterm.c (Xtread_socket): Removed first parameter.
macterm.h (XTread_socket): Ditto.
w32inevt.c (w32_console_read_socket): Ditto.
w32term.c (w32_read_socket): Ditto.

sysdep.c (input_fd): Removed.
(change_input_fd): Removed.
(discard_tty_input): Discard pending input on _all_ input descriptors.
(stuff_char, tabs_safe_p): Use current terminal instead of input_fd.
(init_baud_rate, request_sigio, unrequest_sigio): Ditto.
(init_sys_modes, reset_sys_modes): Ditto.
(narrow_foreground_group, widen_foreground_group): Use stdin.
(init_sys_modes, reset_sys_modes): otty parameter renamed to tty_out.
(get_frame_size): Renamed to get_tty_size, added tty_out parameter.

term.c (read_socket_hook): Removed first parameter.
(clear_end_of_line): Use updating_frame, if possible.
(write_glyphs, insert_glyphs, ins_del_lines): Ditto.
(term_init): Renamed get_frame_size to get_tty_size.

termchar.h (struct tty_output): New entries: top_frame,
previous_terminal_frame.

termhooks.h (read_socket_hook): Removed first parameter.

window.c (init_window_once): Removed reference to Vterminal_frame.

xdisp.c (previous_terminal_frame): Moved to struct tty_output.
(redisplay_internal): Updated to use previous_terminal_frame in tty_output.
Allow for simultaneous refresh of multiple ttys.


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-5
2003-12-26 04:24:54 +00:00
Richard M. Stallman
a4cf2096d7 Comment change. 2003-10-13 19:41:26 +00:00
Eli Zaretskii
872093579a (quote_file_name): Print the result instead of
returning it.  Fix the return type accordingly.
(main): Under --eval, don't fail if left with additional
arguments after decoding options.  Quote file names.
2003-09-28 08:24:56 +00:00
Richard M. Stallman
3db926beda Comment change. 2003-09-19 14:27:47 +00:00