1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-29 11:02:01 +00:00
Commit Graph

247 Commits

Author SHA1 Message Date
Karoly Lorentey
38db5c8d52 Merged from emacs@sv.gnu.org
Patches applied:

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

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

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

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

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

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

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

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

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

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

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

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

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

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-593
2007-01-13 22:59:28 +00:00
Stefan Monnier
da6657b760 (server-ensure-safe-dir): UIDs may be floats. 2007-01-10 03:51:24 +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
Stefan Monnier
ff348fba8b Remove spurious * in docstrings.
(server-process-filter): Exit from recursive editing before processing
a new request.
2006-11-27 20:58:37 +00:00
Juanma Barranquero
cd7320d479 (server-visit-files): If `minibuffer-auto-raise' has been set to t, respect it. 2006-11-12 05:36:52 +00:00
Juanma Barranquero
c2d0d432af (server-visit-files): Bind `minibuffer-auto-raise' to the value of
`server-raise-frame'.
2006-11-11 14:11:13 +00:00
Juanma Barranquero
90caccca7b (server-raise-frame): New option.
(server-switch-buffer): Use it.
2006-11-10 09:46:51 +00:00
Juanma Barranquero
c42690a676 (server-start): Save also the Emacs pid in the server authentication file. 2006-11-07 10:42:52 +00:00
Juanma Barranquero
e101e71804 *** empty log message *** 2006-11-03 00:24:26 +00:00
Stefan Monnier
757e168190 (server-auth-key): Remove. Replace by a process-property.
(server-start): Don't remove the file of the previous process, but
instead clear out the place for the new file.
(server-start): Set the :auth-key property.
(server-process-filter): Use the :auth-key property.
2006-11-02 23:46:14 +00:00
Juanma Barranquero
95eefb3510 (server-visit-files): Use `when'.
(server-process-filter): When authentication fails, send error message to
client.  Wrap `process-send-region' in `ignore-errors' instead of
`condition-case', and remove misleading comment.
2006-11-02 01:31:39 +00:00
Stefan Monnier
b7621225b4 Try and fit within 80 columns.
(server-start): Make the auth file unreadable by other users.
2006-11-01 21:37:11 +00:00
Juanma Barranquero
337e3c70f8 Add support for TCP sockets.
(server-use-tcp, server-host, server-auth-dir): New options.
(server-auth-key): New variable.
(server-ensure-safe-dir): Create nonexistent parent dirs.  Ignore Unix-style
file modes on Windows.
(server-start): Crete a TCP or Unix socket according to the value of
`server-use-tcp'.  For TCP sockets, create the id/auth file in `server-auth-dir'
directory.
(server-process-filter): Delete process if authentication fails (which never
happens for Unix sockets).
2006-10-30 23:24:18 +00:00
Stefan Monnier
7acc677bf1 (server-select-display): Use a dummy buffer to detect when
the frame is later used.
(server-select-display): New function.
(server-process-filter): Use it to detect unused temp frames.
2006-10-30 07:29:37 +00:00
Karoly Lorentey
12b6af5c7e Merged from emacs@sv.gnu.org
Patches applied:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 * emacs@sv.gnu.org/emacs--devo--0--patch-441
   lisp/url/url-methods.el: Fix format error when http_proxy is empty string

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-582
2006-10-14 17:36:28 +00:00
Chong Yidong
3008851538 * server.el (server-select-display): Don't make the temp frame
minibuffer-only, in case it's not a temp frame.
	(server-process-filter): Don't delete the temp frame if it's the
	only one we have on that display.
2006-07-06 22:48:16 +00:00
Karoly Lorentey
476e9367ec Merged from emacs@sv.gnu.org.
Patches applied:

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

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

 * emacs@sv.gnu.org/emacs--devo--0--patch-296
   Update from CVS: admin/FOR-RELEASE: Update refcard section.

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

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

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

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

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

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

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

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

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

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

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-570
2006-06-12 07:27:12 +00:00
Chong Yidong
6b519504c3 * server.el (server-edit): No-op if no server buffers exist. 2006-06-11 18:59:31 +00:00
Karoly Lorentey
9f97e26d01 Merged from emacs@sv.gnu.org
Patches applied:

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

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

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

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

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

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

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

 * emacs@sv.gnu.org/emacs--devo--0--patch-280
   Update etc/MORE.STUFF.

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

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

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

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

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

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-557
2006-05-17 18:05:02 +00:00
Stefan Monnier
2e8457a004 (server-start): Only create a directory if needed.
(server-edit, server-unload-hook): server-start => server-mode.
(kill-emacs-hook): Cleanup upon exit.
2006-05-16 06:53:01 +00:00
Karoly Lorentey
8dadeb1e1f Merged from emacs@sv.gnu.org
Patches applied:

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

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

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

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

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

 * emacs@sv.gnu.org/emacs--devo--0--patch-271
   Rename "field-at-point" to "field-at-pos"

 * emacs@sv.gnu.org/emacs--devo--0--patch-272
   (comint-insert-input): Remove redundant calls to setq and goto-char

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-556
2006-05-10 15:04:01 +00:00
Kim F. Storm
c398358aee (server-visit-files): Use add-to-history. 2006-05-05 23:37:55 +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
Andreas Schwab
c6ce06a6d8 (server-process-filter): Handle errors during
evaluation of the argument.
2006-03-04 16:07:12 +00:00
Karoly Lorentey
5f3c1a63f3 Fix server-delete-client' behavior when the user quits kill-buffer'. (Reported by Han Boetes.)
* lisp/server.el (server-buffer-clients): Doc update.
(server-delete-client): Handle quits in kill-buffer.  Don't kill modified
buffers.  Add extra logging.
(server-visit-files): Don't set `server-existing-buffer' if the buffer
already has other clients.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-517
2006-02-23 02:59:27 +00:00
Karoly Lorentey
8573f9ad33 Fix `emacsclient --eval '(progn (find-file "file")'' and the like. (Reported by Han Boetes.)
* lisp/server.el (server-process-filter): Switch to *scratch* immediately
  after creating the frame, before evaluating any -evals.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-510
2006-02-12 03:45:02 +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
aaef169dc6 Update years in copyright notice; nfc. 2006-02-06 15:23:23 +00:00
Karoly Lorentey
b3e6f69c10 Overhaul and simplify single_kboard API. Allow calls to `recursive-edit' in process filters. Small fixes.
* lisp/server.el (server-process-filter): Protect `display-splash-screen'
  call in a condition-case.  Explain why.

* src/callint.c (Fcall_interactively): Update call to
  `temporarily_switch_to_single_kboard'.

* src/fns.c (Fy_or_n_p): Ditto.

* src/frame.c (Fdelete_frame): Remove unused variable `count'.

* src/keyboard.c (wrong_kboard_jmpbuf): Remove global variable.

* src/keyboard.c (read_char): Add wrong_kboard_jmpbuf parameter to allow
  for recursive calls.  Update longjmp invocations.  Remember the
  original current_kboard, and longjmp to `wrong_kboard_jmpbuf' when a
  filter, timer or sentinel changes it.  Comment out unnecessary calls to
  `record_single_kboard_state' and `any_kboard_state'.  Update recursive
  calls.

* src/keyboard.c (read_key_sequence): Add `wrong_kboard_jmpbuf' local
  variable.  Update setjmp and read_char calls.  Abort if
  interrupted_kboard died in read_char.

* src/keyboard.c (any_kboard_state, single_kboard_state)
  (record_single_kboard_state): Comment out obsolete functions.
  (push_frame_kboard): Remove function.
  (pop_kboard): Switch out of single_kboard mode if the
  kboard has been deleted.
  (temporarily_switch_to_single_kboard): Change first
  parameter to a frame pointer.  Throw an error when caller wants to
  change kboards while in single_kboard mode.
  (restore_kboard_configuration): Abort if pop_kboard changed
  the kboard in single_kboard mode.
  (Frecursive_edit): Switch to single_kboard mode only in
  nested command loops.
  (cmd_error, command_loop, command_loop_1, timer_check):
  Comment out unnecessary call to `any_kboard_state' and
  `record_single_kboard_state'.

* src/keyboard.c (delete_kboard): Exit single_kboard mode if we have just
  deleted that kboard.

* src/keyboard.c (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
  `fatal_error_signal'.

* src/keyboard.h (read_char, single_kboard_state)
  (record_single_kboard_state): Remove.
  (temporarily_switch_to_single_kboard): Update.

* src/lread.c: Include setjmp.h.  Update declaration of `read_char'.
  (read_filtered_event): Call `read_char' with a local
  `wrong_kboard_jmpbuf'.

* src/minibuf.c (read_minibuf): Update call to
  `temporarily_switch_to_single_kboard'.

* src/termchar.h (tty_display_info): Rename `previous_terminal_frame'
  member to `previous_frame'.

* src/xdisp.c (redisplay_internal): Update references to
  `previous_terminal_frame'.
  (display_mode_line, Fformat_mode_line): Replace calls to
  `push_frame_kboard' with `push_kboard'.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-489
2006-01-03 01:50:46 +00:00
Karoly Lorentey
d5381da22a Fix last frame check in server.el.
* lisp/server.el (server-handle-delete-frame): Fix last frame check.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-487
2006-01-02 09:07:22 +00:00
Karoly Lorentey
aabf0cb9f0 Fix typo in `server-handle-delete-frame'; fix startup echo area message.
* lisp/server.el (server-handle-delete-frame): Fix typo.

* server.el (server-process-filter): Call
  `display-startup-echo-area-message' before `display-splash-screen'.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-486
2006-01-02 08:35:45 +00:00
Karoly Lorentey
160f08170a Make all frames created in an emacsclient session belong to that client.
* lisp/frame.el (make-frame): Also inherit 'client parameter.  Don't
  override explicitly specified values with inherited ones.

* server.el (server-delete-client): Delete frames after deleting the tty.
  Clear 'client parameter before deleting a frame.

* server.el (server-handle-delete-frame): Delete the client if this was
  its last frame.

* startup.el (fancy-splash-default-action): Fix typo in comment.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-484
2006-01-02 07:50:53 +00:00
Karoly Lorentey
fe74bf608e Don't display the splash screen when no frame was created. (Fixes tty resume.)
* lisp/server.el (server-process-filter): Don't display the splash screen
  when no frame was created.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-479
2005-12-30 06:38:50 +00:00
Karoly Lorentey
c28443026f Show the splash screen on Emacsclient frames. Show *scratch* by default.
* lisp/server.el (server-process-filter): Show the Emacs splash screen
  and startup echo area message.  Display the *scratch* buffer by
  default.

* lisp/startup.el (fancy-splash-screens): Restore previous buffer, even
  if it's *scratch*.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-473
2005-12-29 21:10:33 +00:00
Karoly Lorentey
6ed8eeffb3 Rename struct device' to struct terminal'. Rename some terminal-related functions similarly.
* src/termhooks.h (struct device): Rename to `terminal'.  Rename member
  `next_device' to `next_terminal'.
  (device_list): Rename to `terminal_list'.
  (FRAME_DEVICE): Rename to `FRAME_TERMINAL'.
  (DEVICE_TERMINAL_CODING): Rename to `TERMINAL_TERMINAL_CODING'.
  (TERMINAL_KEYBOARD_CODING): Rename to `TERMINAL_KEYBOARD_CODING'.
  (DEVICE_ACTIVE_P): Rename to `TERMINAL_ACTIVE_P'.
  Update declarations and macro definitions.

* src/termchar.h (tty_display_info): Rename member `device' to `terminal'.
  (FRAME_TTY): Update for renames.

* src/xterm.h (x_display_info): Rename member `device' to `terminal'.

* src/frame.h (frame): Rename `device' member to `terminal'.
  (FRAME_KBOARD, FRAME_LIVE_P, Qdevice, Qdisplay_live_p):
  Update for renames.

* src/lisp.h (set_process_environment): Rename to `set_global_environment'.
  (device): Rename to `terminal'.

* src/dispextern.h: Update declarations and macro definitions.

* src/terminal.c (device_list): Rename to `terminal_list'.
  (next_device_id): Rename to `next_terminal_id'.
  (initial_device): Rename to `initial_terminal'.
  (get_device): Rename to `get_terminal'.
  (create_device): Rename to `create_terminal'.
  (mark_devices): Rename to `mark_terminals'.
  (delete_device): Rename to `delete_terminal'.
  (Fdelete_display): Rename to `Fdelete_terminal'.
  (Fframe_terminal): Move here from frame.c.
  (Fdisplay_live_p): Rename to `Fterminal_live_p'.
  (Fdisplay_list): Rename to `Fterminal_list'.
  (Fdisplay_name): Rename to `Fterminal_name'.
  (init_initial_device): Rename to `init_initial_terminal'.
  (delete_initial_device): Rename to `delete_initial_terminal'.
  (ring_bell, 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, get_terminal_param, store_terminal_param)
  (Fterminal_parameters, Fterminal_parameter)
  (Fmodify_terminal_parameters, Fset_terminal_parameter)
  (syms_of_terminal): Update for renames.

* src/term.c (get_tty_device): Rename to `get_tty_terminal'.  Update.
  (Fdisplay_tty_type): Rename to `Ftty_type'.
  (Fdisplay_controlling_tty_p): Rename to `Fcontrolling_tty_p'.
  (delete_tty, tty_set_terminal_modes, tty_reset_terminal_modes)
  (Ftty_display_color_p, Ftty_display_color_cells, get_named_tty)
  (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
  (init_tty, maybe_fatal, delete_tty, syms_of_term): Update for rename.

* src/frame.c (Qdevice): Rename to `Qterminal'.
  (Qdisplay_live_p): Rename to `Qterminal_live_p'.
  (terminal_frame_count): Rename to `tty_frame_count'.
  (Fframe_display): Move to terminal.c, rename to `Fframe_terminal'.
  (make_frame_without_minibuffer, make_initial_frame)
  (make_terminal_frame, Fmodify_frame_parameters)
  (do_switch_frame, Fdelete_frame, Fmouse_position)
  (Fmouse_pixel_position, Fraise_frame, Flower_frame)
  (Fredirect_frame_focus, set_term_frame_name, syms_of_frame):
  Update for renames.

* src/xdisp.c (message2_nolog, message3_nolog, redisplay_internal)
  (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
  (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
  (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
  (Fx_display_pixel_width, Fx_display_pixel_height)
  (Fx_display_planes, Fx_display_color_cells)
  (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
  (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
  (Fx_display_backing_store, Fx_display_visual_class)
  (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
  Update for renames.

* xterm.c (handle_one_xevent): Initialize `f' to NULL.
  (x_delete_device): Rename to `x_delete_terminal'.
  (x_create_device): Rename to `x_create_terminal'.
  (XTset_terminal_modes, XTreset_terminal_modes)
  (XTread_socket, x_connection_closed, x_term_init)
  (x_term_init, x_delete_display): Update for renames.

* src/dispnew.c (Fredraw_frame, Fsend_string_to_terminal)
  (Fsend_string_to_terminal, init_display): Update for renames.

* src/keyboard.c (push_frame_kboard, pop_kboard, pop_kboard)
  (kbd_buffer_get_event, read_avail_input, tty_read_avail_input)
  (interrupt_signal, Fset_output_flow_control)
  (Fset_input_meta_mode, Fset_quit_char, delete_kboard)
  (syms_of_keyboard): Update for renames.

* src/alloc.c (mark_devices): Update declaration.
  (Fgarbage_collect): Update for renames.

* src/coding.c (Fset_terminal_coding_system_internal)
  (Fterminal_coding_system4)
  (Fset_keyboard_coding_system_internal)
  (Fkeyboard_coding_system): Update for renames.

* src/data.c (Fterminal_local_value, Fset_terminal_local_value):
  Update for renames.

* src/minibuf.c (read_minibuf): Update for renames.

* src/sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.

* xselect.c (x_handle_selection_clear): Update for renames.

* lisp/files.el (save-buffers-kill-display): Rename to `save-buffers-kill-terminal'.
  (save-buffers-kill-terminal, ctl-x-map): Update for renames.

* frame.el (make-frame): Rename 'device frame parameter to 'terminal.  Update.
  (frames-on-display-list, framep-on-display, suspend-frame): Update for renames.
  (selected-display): Rename to `selected-terminal'.

* server.el (server-save-buffers-kill-display): Rename to
  `server-save-buffers-kill-terminal'.
  (server-delete-client, server-handle-delete-frame)
  (server-handle-suspend-tty, server-process-filter)
  (server-switch-buffer): Update for renames.

* startup.el (normal-splash-screen, normal-splash-screen): Update for renames.

* talk.el (talk): Update for renames.

* termdev.el (terminal-id): Update for renames.

* xt-mouse.el (turn-on-xterm-mouse-tracking-on-terminal)
  (turn-off-xterm-mouse-tracking-on-terminal)
  (xterm-mouse-handle-delete-frame): Update for renames.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-471
2005-12-29 18:20:26 +00:00
Karoly Lorentey
da8e8fc14f Store local environment in frame (not terminal) parameters.
* src/callproc.c (child_setup, getenv_internal, Fgetenv_internal):
  Store the local environment in a frame (not terminal) parameter.
  Update doc strings.
  (syms_of_callproc): Update doc strings.
  (Qenvironment): Moved to frame.c. 

* lisp/env.el (read-envvar-name, setenv, getenv, environment): Use frame
  parameters to store the local environment, not terminal parameters.

* server.el (server-process-filter): Store the local environment in a
  frame (not terminal) parameter.  Do not try to decode environment
  strings.

* lisp/frame.el (make-frame): Set up the 'environment frame parameter,
  when needed.

* src/frame.c (Qenvironment): Move here from callproc.c.
  (Fdelete_frame): Don't allow other frames to refer to a deleted frame
  in their 'environment parameter.
  (Fframe_with_environment): New function.
  (syms_of_frame): Defsubr it.  Initialize and staticpro Qenvironment.

* frame.h (Qenvironment): Declare.
* lisp.h (Fframe_with_environment): EXFUN it.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-467
2005-12-29 04:31:04 +00:00
Karoly Lorentey
f105f403d2 Implement automatic terminal-local environment variables via `local-environment-variables'.
* lisp/env.el (setenv, getenv): Add optional terminal parameter.  Update docs.
  (setenv): Handle `local-environment-variables'.
  (read-envvar-name): Also allow (and complete) local
  environment variables on the current terminal.

* src/callproc.c: Include frame.h and termhooks.h, for terminal parameters.
  (Qenvironment): New constant.
  (Vlocal_environment_variables): New variable.
  (syms_of_callproc): Register and initialize them.
  (child_setup): Handle Vlocal_environment_variables.
  (getenv_internal): Add terminal parameter.  Handle
  Vlocal_environment_variables.
  (Fgetenv_internal): Add terminal parameter.

* src/termhooks.h (get_terminal_param): Declare.

* src/Makefile.in (callproc.o): Update dependencies.
* mac/makefile.MPW (callproc.c.x): Update dependencies.

* lisp/termdev.el (terminal-id): Make parameter optional.
  (terminal-getenv, terminal-setenv, with-terminal-environment): 
  Disable functions.

* lisp/mule-cmds.el (set-locale-environment): Convert `terminal-getenv' calls
  to `getenv'.
* lisp/rxvt.el (rxvt-set-background-mode): Ditto.
* lisp/x-win.el (x-initialize-window-system): Ditto.
* lisp/xterm.el (terminal-init-xterm): Ditto.

* lisp/server.el (server-process-filter): Fix reference to the 'display frame
  parameter.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-461
2005-12-26 02:14:10 +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
cd0cf71c4f Merged from miles@gnu.org--gnu-2005 (patch 142-148, 615-628)
Patches applied:

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

 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-616
   Add lisp/mh-e/.arch-inventory

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

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

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

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

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

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

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

 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-624
   Update from CVS: lisp/smerge-mode.el: Add 'tools' to file keywords.

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

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

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

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

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

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

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

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

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

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

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

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-435
2005-11-01 06:23:08 +00:00
Romain Francoise
cbfc02e4f0 (server-sentinel): Set query-on-exit flag to nil on new client processes
(it isn't inherited from the server process).
2005-10-24 11:06:03 +00:00
Karoly Lorentey
0ff21b4e57 Merged from miles@gnu.org--gnu-2005 (patch 118-132, 551-577)
Patches applied:

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

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

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

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

 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-555
   Remove CVS keywords from newsticker files

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-122
   Update from CVS: lisp/mm-url.el (mm-url-decode-entities): Fix regexp.

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

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

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

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

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

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

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

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

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

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

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-423
2005-10-09 20:00:17 +00:00
Deepak Goel
8a26c16552 Message format spec fixes (1) 2005-09-18 12:25:02 +00:00
Karoly Lorentey
62c5106ca5 Don't let server-save-buffers-kill-display unexpectedly kill Emacs on --no-wait's X frames.
* lisp/server.el (server-process-filter): Use a dummy client with --no-wait's X frames.
  (server-save-buffers-kill-display): Explicitly delete frame after
  deleting its client, in case it was a dummy.


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-412
2005-09-11 03:51:40 +00:00
Karoly Lorentey
80a426c230 Fix `emacsclient +12 file' behaviour. (Reported by Han Boetes.)
* lisp/server.el (server-process-filter): In `-position LINE' handler,
  don't ruin the request string until the line number is extracted.  Log
  opened files.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-408
2005-09-11 02:39:03 +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
0d30b33766 Update years in copyright notice; nfc. 2005-08-06 22:13:43 +00:00
Eli Zaretskii
772c5eb74c Bind "C-x #" in a way that works even if C-x is redefined to a command key,
not a prefix key.
2005-07-16 11:58:10 +00:00
Karoly Lorentey
6d93dbff63 Cosmetic changes in server.el.
* lisp/server.el: Use `device' instead of `display' or `display-id' in
  variable and client parameter names.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-383
2005-07-11 00:12:27 +00:00
Karoly Lorentey
e519a50bf7 Handle and document that delete-frame' may call functions in delete-frame-functions' twice.
* src/frame.c (syms_of_frame): Add warning to `delete-frame-functions' description.

* lisp/frame.el (terminal-handle-delete-frame): Check that the frame is alive.
* lisp/server.el (server-handle-delete-frame): Ditto.  Remove bogus comment.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-375
2005-07-06 01:41:56 +00:00
Karoly Lorentey
626ea340bc Small enhancements.
* lisp/international/mule-cmds.el (set-locale-environment): Use
  server-getenv, not getenv.

* lisp/server.el (server-handle-delete-frame): Add note on possible race
  condition.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-374
2005-07-06 00:42:58 +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
086add1519 Update FSF's address. 2005-07-04 23:32:44 +00:00
Karoly Lorentey
b4bb3cbc7c Merged from miles@gnu.org--gnu-2005 (patch 69, 313-319)
Patches applied:

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

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

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

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

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

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

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

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

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-347
2005-05-20 17:44:36 +00:00
Juanma Barranquero
027a4b6b3f Replace string-to-int' by string-to-number'. 2005-05-16 11:34:49 +00:00
Karoly Lorentey
97c57fb2b8 Support for ttys with different character locale settings.
* lisp/server.el (server-process-filter): Set locale environment
  variables from client while creating tty frames.

* lisp/faces.el (tty-create-frame-with-faces): Call set-locale-environment.

* lisp/international/mule-cmds.el (set-display-table-and-terminal-coding-system): 
  Add DISPLAY parameter.  Pass it to set-terminal-coding-system.
  (set-locale-environment): Add DISPLAY parameter.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-340
2005-05-03 03:01:09 +00:00
Karoly Lorentey
4a93251142 Fix error when creating tty clients.
* lisp/server.el (server-process-filter): Disable call to configure-display-for-locale.


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-323
2005-03-28 04:24:51 +00:00
Karoly Lorentey
4e15f072da Fix line/column number positioning in emacsclient. (Reported by Han Boetes.)
* lisp/server.el (server-process-filter): When processing -position
  command, don't change the request string until the parameters are
  extracted.


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-297
2005-02-20 20:15:41 +00:00
Karoly Lorentey
7540c1e0ea On C-x C-c, restrict `save-some-buffers' to the client's buffers. (Reported by Han Boetes.)
* lisp/server.el (server-kill-emacs-query-function): Fix typo in docs.
  (server-save-buffers-kill-display): If emacsclient was started with a
  list of filenames to edit, then offer to save only these buffers.


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-291
2005-02-10 21:23:33 +00:00
Karoly Lorentey
bdfec2134d Merged from miles@gnu.org--gnu-2005 (patch 12-13, 79-90)
Patches applied:

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

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

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

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

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

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

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

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

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

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

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

 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-90
   Update from CVS: man/calc.texi: Add macro for LaTeX for info output.

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

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

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-290
2005-02-10 20:43:55 +00:00
Kim F. Storm
bf247b6ed0 Change release version from 21.4 to 22.1 throughout.
Change development version from 21.3.50 to 22.0.50.
2005-02-09 15:50:47 +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
Masatake YAMATO
51b4073ade * server.el (server-process-filter): Suppress `error', too. 2004-12-30 23:14:25 +00:00
Karoly Lorentey
90b404757b Merged in changes from CVS trunk.
Patches applied:

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

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

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

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

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

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

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

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

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

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

 * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-51
   Update from CVS

 * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-52
   Update from CVS

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


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-261
2004-10-19 17:00:02 +00:00
Richard M. Stallman
3bb38bc22e (server-unload-hook): Set as a variable with add-hook. 2004-10-17 06:55:07 +00:00
Karoly Lorentey
65f640341c Set ncurses-related environment variables while creating a new tty frame. (Reported by Dan Nicolaescu.)
* lisp/server.el (server-with-client-environment): New macro.
  (server-process-filter): Temporarily set ncurses-related environment
  variables to those of the client while creating a new tty frame.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-257
2004-10-10 18:11:21 +00:00
Karoly Lorentey
6d3a46f779 Small tweaks in server.el.
* lisp/server.el: Doc updates.
  (server-select-display): Remove (unused).
  (server-handle-suspend-tty): Kill the client in case of errors from
  process-send-string.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-255
2004-10-10 16:41:15 +00:00
Masatake YAMATO
9afed9b1fa (server-process-filter): Wrap `process-send-region'
by `condition-case' to guard the case when the pipe to PROC is
closed.
2004-10-08 15:50:59 +00:00
Karoly Lorentey
90376e6f17 Fix typo in server.el (Han Boetes, Ted Morse, Ami Fischman)
* lisp/server.el ("\C-x#"): Fix typo.  (Thanks Han Boetes, Ted Morse and
  Ami Fischman.)


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-235
2004-08-23 08:50:01 +00:00
Karoly Lorentey
b4ca027117 Change binding of C-x C-c to only exit emacsclient, not Emacs itself.
* lisp/server.el (server-save-buffers-kill-display): New function.

* lisp/files.el (ctl-x-map): Change binding of C-x C-c to
  server-save-buffers-kill-display.



git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-232
2004-08-16 19:54:16 +00:00
Karoly Lorentey
c5b0a35529 Don't leave buffers created by nowait clients buried under others (rep. by Dan Nicolaescu).
* lisp/server.el (server-process-filter): Select buffers opened by
  nowait clients, don't leave them buried under others.  (Reported by
  Dan Nicolaescu.)
  (server-visit-files): Return list of buffers created. Update doc.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-212
2004-07-10 20:56:57 +00:00
Karoly Lorentey
b6660415b3 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
* lisp/frame.el (make-frame-on-display): Update doc.
(make-frame): Handle display-id parameter.  Update doc.
(frames-on-display-list): Update for display ids.
(framep-on-display): Ditto.
(suspend-frame): Use display-name, not frame-tty-name.
(selected-display): New function.

* lisp/server.el (server-delete-client): Use delete-display, not delete-tty.
(server-tty-live-p, server-handle-delete-tty): Removed.
(server-handle-delete-frame): Delete tty clients, if needed.
(server-process-filter): Set the display parameter, and use it when appropriate.
(server-handle-suspend-tty): Use the display parameter.
(server-start, server-unload-hook): Removed obsolete delete-tty hook.

* lisp/talk.el (talk): Always use talk-add-display.
(talk-add-tty-frame, talk-handle-delete-tty): Removed.
(talk-handle-delete-frame): New function.
(talk-add-display): Open a new frame only if parameter was not a frame.

* src/dispextern.h (get_display, Fdisplay_tty_type):  New prototypes.
(Fframe_tty_type): Removed.

* src/dispnew.c (init_display): Use Fdisplay_tty_type, not Fframe_tty_type.

* src/frame.c (Qdisplay_id, Qdisplay_live_p): New symbols.
(make_terminal_frame): Get display as a parameter.
(Fmake_terminal_frame): Get/create display here; pass it to
make_terminal_frame.
(Fframe_display): New function.
(Fdelete_frame): Stop if the hook deleted the frame.
(syms_of_frame): Register new stuff.

* src/frame.h (Qdisplay_id, Qdisplay_live_p, make_terminal_frame):
Updated prototypes.

* src/keyboard.c (interrupt_signal): Updated comment.

* src/term.c (Vdelete_tty_after_functions): Removed variable.
(Qframe_tty_name, Qframe_tty_type): Removed.
(next_display_id): New var.
(tty_ring_bell): Don't do anything on suspended frames.
(Ftty_display_color_p, Ftty_display_color_cells): Doc update.
(get_display): New function.
(get_tty_display): Use it.
(get_named_tty_display): Ignore suspended displays.
(Fframe_tty_name): Renamed to Fdisplay_name.  Handle all kinds of
displays.
(Fframe_tty_type): Renamed to Fdisplay_tty_type.
(init_initial_display): Set display name.
(term_init): Allow more displays on the same device.  Set display name.
(Fdelete_tty): Removed.
(delete_tty): Don't run hooks.
(create_display): Set display id.
(delete_display): Free display name.
(Fdelete_display, Fdisplay_live_p, Fdisplay_list): New functions.
(Fsuspend_tty): Call hook with display id.  Doc update.
(Fresume_tty): Refuse to resume when there is already an active display
on the same device.  Call hook with display id.  Doc update.
(syms_of_term): Reflect above changes.

* src/termhooks.h (struct display): Added `id' and `name' members.
(DISPLAY_ACTIVE_P): New macro.

* src/xfns.c (check_x_display_info): Handle display ids.
(Fx_create_frame): Try to get display from `display-id' parameter.

* src/xterm.c (x_term_init): Set display name.
(x_delete_display): Handle the case when `font_table' is NULL.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-207
2004-07-04 04:48:55 +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
d6b4b3cfcc Make server-start safe against accidental restarts.
* lisp/server.el (server-start): Ask before restarting if the old server
  still has clients.  Added feedback messages.


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-195
2004-06-08 01:33:48 +00:00
Karoly Lorentey
3a2584741d Fix background mode initialization on client tty frames (rep. by Dan Nicolaescu).
lisp/server.el (server-process-filter): Add the client parameter to
the initialization parameters of new frames.
(server-getenv): Use the 'client frame parameter and not
server-clients-with to get the client; server-getenv is called during
frame initialization. (Dan Nicolaescu)

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-179
2004-05-27 17:57:59 +00:00
Karoly Lorentey
fc0dcdef8f Fix server-socket-dir initialization (rep. by Friedrich Delgado Friedrichs).
lisp/server.el (server-socket-dir): Remove premature initialization.
(server-start): Initialize server-socket-dir with the correct uid.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-175
2004-05-25 01:18:01 +00:00
Karoly Lorentey
14de9163b4 Use the remote locale for terminal & keyboard coding system.
lisp/international/mule-cmds.el (set-locale-translation-file-name)
(get-locale-real-name, get-locale-coding-system)
(configure-display-for-locale): New functions.
(set-locale-environment): Factored contents into separate functions.

lisp/server.el (server-process-filter): Call
configure-display-for-locale after creating a new terminal frame.

lisp/startup.el (command-line): Call set-locale-translation-file-name.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-171
2004-05-23 03:56:10 +00:00
Karoly Lorentey
44070fdf1a Fix environment variables on emacsclient frames.
lisp/server.el (server-getenv): Fix string lookup in alist.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-170
2004-05-23 03:37:58 +00:00
Karoly Lorentey
35dfa9b69e Fix fatal error during startup (rep. by Friedrich Delgado Friedrichs)
lisp/loadup.el: Unconditionally preload server.

lisp/server.el: Change server-getenv to a simple defun.

src/Makefile.in (lisp, shortlisp): Added server.elc.
mac/makefile.MPW (LispSource): Ditto.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-164
2004-05-18 19:58:00 +00:00
Karoly Lorentey
2cd1371d9b Fixed environment variable handling during terminal initialization.
lisp/server.el (server-getenv): New inline function.

lisp/term/rxvt.el (rxvt-set-background-mode): Use server-getenv
instead of getenv.
lisp/term/x-win.el (x-initialize-window-system): Ditto.
lisp/term/xterm.el (xterm-rxvt-set-background-mode): Ditto.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-158
2004-05-08 16:20:28 +00:00
Karoly Lorentey
de93c7914c Fix one more case of the previous error.
lisp/server.el (server-delete-client): Added noframe parameter.
(server-handle-delete-frame): Use it.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-149
2004-04-19 14:21:37 +00:00
Karoly Lorentey
6ed9e43af1 Fix error on deleting an emacsclient terminal (Dan Nicolaescu).
lisp/server.el (server-delete-client): Check that the buffer is live
before switching to it.  Also, check that the tty display still has
live buffers before deleting it.  
(server-handle-delete-frame): Don't do anything if the frame was on a
tty device (reported by Dan Nicolaescu).


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-148
2004-04-19 14:16:10 +00:00
Karoly Lorentey
540216761e Fix frame parameter handling in server.el.
lisp/server.el (server-process-filter): Work around make-frame
frame parameter bogosity by using modify-frame-parameters.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-145
2004-04-18 02:24:18 +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
Stefan Monnier
5b421c8154 (server-process-filter): Delete temp frame. 2004-03-19 00:50:48 +00:00
Karoly Lorentey
6114b889a2 Merged in changes from CVS HEAD
Patches applied:

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

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

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

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

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

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

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

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

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

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

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

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

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


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-118
2004-03-16 20:27:22 +00:00
Stefan Monnier
03ae35cfae (server-name): New var.
(server-socket-dir): New var to replace server-socket-name.
(server-start): Use them.
2004-03-11 18:35:20 +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
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
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
92c7831bff (server-socket-name): Don't use the hostname in the
socket name since /tmp is local to the host anyway.
2004-01-27 23:08:29 +00:00
Karoly Lorentey
114a8b8cab Numerous bugfixes and small improvements.
lisp/bindings.el (mode-line-frame-identification): Use %T, not %F.

lisp/faces.el (x-create-frame-with-faces): Added
frame-creation-function parameter.
(tty-create-frame-with-faces): Ditto.

lisp/frame.el (frame-creation-function): Make it frame-local.
(select-frame-set-input-focus): Use the window-system function, not
the variable.

lisp/server.el (server-handle-delete-tty): Make sure the client
process is removed from server-clients after the delete-process call.
It seems that the sentinel is not called.  Added docs.
(server-process-filter): Immediately add the client to server-clients
when a new termcap frame is created.  Fixed a case of `not' called
with two parameters.  Ignore errors while sending the evaluation
result back to the client.
(server-kill-buffer-query-function): Don't ask the user if the server
process is already dead.

lisp/term/x-win.el: Don't change mode-line-frame-identification.

src/buffer.c (syms_of_buffer): Added %T to the docs of mode-line-format.

src/dispnew.c (init_display): Increment the reference count of the new
termcap display.

src/frame.c (make_terminal_frame): Set the old top frame's visibility
to `obscured'.
(Fmake_terminal_frame): Look at the current termcap display's name,
not just the similar frame parameter.  Try to get the type from the
current display first, and only then from Vdefault_frame_alist.

src/keyboard.c (handle_interrupt): New function to separate the signal
handling from C-g processing.
(interrupt_signal): Call handle_interrupt to do the real work.
(kbd_buffer_store_event): Use handle_interrupt instead of interrupt_signal.
(cmd_error_internal): Use FRAME_INITIAL_P instead of ugly hacks.

src/termhooks.h (initial_display): New declaration.

src/xdisp.c (decode_mode_spec): Added '%T' (termcap-only frame name).

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-49
2004-01-10 12:56:22 +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
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
22de1e79e7 Delete server frames on server restart.
lisp/server.el (server-start): Delete any remaining opened frames of
the previous server.
(server-sentinel, server-process-filter): Force deleting the frame.
(server-buffer-done): Ditto.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-25
2003-12-30 17:42:02 +00:00
Karoly Lorentey
b2af72d2f0 Make sure secondary frames are deleted when emacsclient quits.
lisp/server.el (server-sentinel): Delete frame if alive.  Fix delq
invocation on server-frames.  
(server-process-filter, server-buffer-done): Fix delq invocation on
server-frames.

src/cm.c (cmputc): Abort on write error, see what happens.

src/keyboard.c (read_avail_input): Do delete_tty on read errors.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-21
2003-12-29 08:28:35 +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
8303ba32ba Implemented automatic deletion of terminals.
lisp/server.el (server-process-filter): Switch to the new terminal frame.

src/frame.c (Fdelete_frame): Delete the tty if this was its the last frame.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-12
2003-12-27 13:55:54 +00:00