From: Karoly Lorentey Date: Mon, 29 Jan 2007 22:21:19 +0000 (+0000) Subject: Merged from emacs@sv.gnu.org X-Git-Tag: emacs-pretest-23.0.90~11236^2~141^2~11 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=93afd0f1d463bec0fc8d3127c1d34ccaa4dbe99b;p=emacs.git 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 --- 93afd0f1d463bec0fc8d3127c1d34ccaa4dbe99b diff --cc leim/CXTERM-DIC/4Corner.tit index 8b52b531d64,18417a0dabc..c73d9e389e9 --- a/leim/CXTERM-DIC/4Corner.tit +++ b/leim/CXTERM-DIC/4Corner.tit @@@ -1,3 -1,4 +1,4 @@@ -# $Id: 4Corner.tit,v 1.2 1994/06/06 01:54:03 ygz Exp $ ++# $Id: 4Corner.tit,v 1.5 2007/01/24 06:35:08 handa Exp $ # HANZI input table for cxterm # To be used by cxterm, convert me to .cit format first # .cit version 2 diff --cc leim/CXTERM-DIC/CCDOSPY.tit index 5b135288de1,3f64c408cbb..cca16b62d09 --- a/leim/CXTERM-DIC/CCDOSPY.tit +++ b/leim/CXTERM-DIC/CCDOSPY.tit @@@ -1,9 -1,10 +1,10 @@@ -# $Id: CCDOSPY.tit,v 1.2 1994/06/06 01:51:50 ygz Exp $ ++# $Id: CCDOSPY.tit,v 1.4 2007/01/24 06:35:08 handa Exp $ # HANZI input table for cxterm # To be used by cxterm, convert me to .cit format first - # .cit version 1 + # .cit version 2 ENCODE: GB - MULTICHOICE: YES - PROMPT: ºº×ÖÊäÈë¡ËËõдƴÒô¡Ë£  + AUTOSELECT: NO + PROMPT: ºº×ÖÊäÈë¡ËËõдƴÒô¡Ë\040 # COMMENT ËõдƴÒô·½°¸ (Ô´ÓÚ CCDOS) COMMENT diff --cc leim/CXTERM-DIC/PY-b5.tit index 5ef45b85466,22039a06d04..ae330dbc906 --- a/leim/CXTERM-DIC/PY-b5.tit +++ b/leim/CXTERM-DIC/PY-b5.tit @@@ -1,14 -1,11 +1,11 @@@ -# $Id: PY.tit,v 1.2 1994/06/06 01:54:03 ygz Exp $ ++# $Id: PY-b5.tit,v 1.3 2007/01/24 06:35:08 handa Exp $ # HANZI input table for cxterm - # Generated from PY-b5.cit by cit2tit # To be used by cxterm, convert me to .cit format first - # .cit version 1 + # .cit version 2 ENCODE: BIG5 - MULTICHOICE: YES - PROMPT: ¤¤¤å¿é¤J¡i«÷­µ¡j + AUTOSELECT: NO + PROMPT: º~¦r¿é¤J::«÷­µ::\040 # - COMMENT last modified by cyl@ifcss.org 1994 March 9 - COMMENT Modify by Wei-Chung Hwang, OCT 15, 1992. - COMMENT COMMENT º~»y«÷­µ¿é¤J¤è®×¤¶²Ð (ª`­µ²Å¸¹¹ï·Ó) COMMENT COMMENT Án¥À (CONSONANT) diff --cc leim/CXTERM-DIC/QJ-b5.tit index eb5a558bfb7,3492ae95315..9b18b52486c --- a/leim/CXTERM-DIC/QJ-b5.tit +++ b/leim/CXTERM-DIC/QJ-b5.tit @@@ -1,10 -1,10 +1,10 @@@ -# $Id: QJ.tit,v 1.2 1994/06/06 01:54:03 ygz Exp $ ++# $Id: QJ-b5.tit,v 1.3 2007/01/24 06:35:08 handa Exp $ # HANZI input table for cxterm - # Generated from QJ-b5.cit by cit2tit # To be used by cxterm, convert me to .cit format first - # .cit version 1 + # .cit version 2 ENCODE: BIG5 - MULTICHOICE: NO - PROMPT: ¤¤¤å¿é¤J¡i¥þ§Î¡j + AUTOSELECT: YES + PROMPT: º~¦r¿é¤J::¥þ¨¤:: # COMMENT Copyright 1991 by Yongguang Zhang. (ygz@cs.purdue.edu) COMMENT Permission to use/modify/copy for any purpose is hereby granted. diff --cc leim/CXTERM-DIC/QJ.tit index b591f1326af,cad66ffe474..06c67708072 --- a/leim/CXTERM-DIC/QJ.tit +++ b/leim/CXTERM-DIC/QJ.tit @@@ -1,9 -1,10 +1,10 @@@ -# $Id: QJ.tit,v 1.2 1994/06/06 01:53:09 ygz Exp $ ++# $Id: QJ.tit,v 1.4 2007/01/24 06:35:08 handa Exp $ # HANZI input table for cxterm # To be used by cxterm, convert me to .cit format first - # .cit version 1 + # .cit version 2 ENCODE: GB - MULTICHOICE: NO - PROMPT: ºº×ÖÊäÈë¡ËÈ«½Ç¡Ë£  + AUTOSELECT: YES + PROMPT: ºº×ÖÊäÈë¡ËÈ«½Ç¡Ë # COMMENT Copyright 1991 by Yongguang Zhang. (ygz@cs.purdue.edu) COMMENT Permission to use/modify/copy for any purpose is hereby granted. diff --cc leim/CXTERM-DIC/SW.tit index fed48d62e67,a0a5a442323..b32c73762d4 --- a/leim/CXTERM-DIC/SW.tit +++ b/leim/CXTERM-DIC/SW.tit @@@ -1,9 -1,10 +1,10 @@@ -# $Id: SW.tit,v 1.2 1994/06/06 01:53:09 ygz Exp $ ++# $Id: SW.tit,v 1.4 2007/01/24 06:35:08 handa Exp $ # HANZI input table for cxterm # To be used by cxterm, convert me to .cit format first - # .cit version 1 + # .cit version 2 ENCODE: GB - MULTICHOICE: YES - PROMPT: ºº×ÖÊäÈë¡ËÊ×β¡Ë£  + AUTOSELECT: NO + PROMPT: ºº×ÖÊäÈë¡ËÊ×β¡Ë\040 # COMMENT (Ô´ÓÚ CCDOS) COMMENT Êéд¸Ãºº×ÖʱµÄ¡¸Êױʡ¹¼°¡¸Î²±Ê¡¹¡£ÀýÈ磬¡¾ÂÀ¡¿Ê×β±Ê½ÔΪ¡¸¿Ú¡¹£¬¹ÊÔÚ diff --cc leim/CXTERM-DIC/TONEPY.tit index a93bf9dcb64,501ebfd52d0..46b8df61bbe --- a/leim/CXTERM-DIC/TONEPY.tit +++ b/leim/CXTERM-DIC/TONEPY.tit @@@ -1,9 -1,10 +1,10 @@@ -# $Id: TONEPY.tit,v 1.2 1994/06/06 01:53:09 ygz Exp $ ++# $Id: TONEPY.tit,v 1.4 2007/01/24 06:35:08 handa Exp $ # HANZI input table for cxterm # To be used by cxterm, convert me to .cit format first - # .cit version 1 + # .cit version 2 ENCODE: GB - MULTICHOICE: YES - PROMPT: ºº×ÖÊäÈë¡Ë´øµ÷Æ´Òô¡Ë£  + AUTOSELECT: NO + PROMPT: ºº×ÖÊäÈë¡Ë´øµ÷Æ´Òô¡Ë\040 # COMMENT ´øµ÷Æ´Òô·½°¸ COMMENT diff --cc lisp/semantic.cache index 00000000000,00000000000..4b3d3e8002a new file mode 100644 --- /dev/null +++ b/lisp/semantic.cache @@@ -1,0 -1,0 +1,15 @@@ ++;; Object lisp/ ++;; SEMANTICDB Tags save file ++(semanticdb-project-database-file "lisp/" ++ :tables (list ++ (semanticdb-table "server.el" ++ :major-mode 'emacs-lisp-mode ++ :tags '(("cl" include nil nil [3413 3426]) ("defgroup" code nil nil [3429 3508]) ("server-use-tcp" variable nil nil [3510 3951]) ("server-host" variable nil nil [3953 4256]) ("put" code nil nil [4257 4299]) ("server-auth-dir" variable (:default-value "~/.emacs.d/server/") nil [4301 4450]) ("put" code nil nil [4451 4497]) ("server-raise-frame" variable (:default-value t) nil [4499 4639]) ("server-visit-hook" variable nil nil [4641 4761]) ("server-switch-hook" variable nil nil [4763 4890]) ("server-done-hook" variable nil nil [4892 5017]) ("server-process" variable nil nil [5019 5078]) ("server-clients" variable nil nil [5080 5272]) ("server-buffer-clients" variable nil nil [5274 5375]) ("make-variable-buffer-local" code nil nil [5376 5427]) ("put" code nil nil [5481 5528]) ("server-window" variable nil nil [5530 6224]) ("server-temp-file-regexp" variable (:default-value "^/tmp/Re\\|/draft$") nil [6226 6452]) ("server-kill-new-buffers" variable (:default-value t) nil [6454 6901]) ("or" code nil nil [6903 7017]) ("server-existing-buffer" variable nil nil [7019 7235]) ("make-variable-buffer-local" code nil nil [7236 7288]) ("server-name" variable (:default-value "server") nil [7290 7319]) ("server-socket-dir" variable nil nil [7321 7437]) ("server-client" function (:arguments ("proc")) nil [7439 7690]) ("server-client-get" function (:arguments ("client" "property")) nil [7692 7988]) ("server-client-set" function (:arguments ("client" "property" "value")) nil [7990 8541]) ("server-clients-with" function (:arguments ("property" "value")) nil [8543 8810]) ("server-add-client" function (:arguments ("proc")) nil [8812 9052]) ("server-getenv-from" function (:arguments ("env" "variable")) nil [9054 9641]) ("server-with-environment" function (:arguments ("env" "vars" "&rest" "body")) nil [9643 10396]) ("server-delete-client" function (:arguments ("client" "&optional" "noframe")) nil [10398 12285]) ("server-log" function (:arguments ("string" "&optional" "client")) nil [12287 12786]) ("server-sentinel" function (:arguments ("proc" "msg")) nil [12788 13625]) ("server-handle-delete-frame" function (:arguments ("frame")) nil [13627 14194]) ("server-handle-suspend-tty" function (:arguments ("terminal")) nil [14239 14656]) ("server-unquote-arg" function (:arguments ("arg")) nil [14658 14913]) ("server-send-string" function (:arguments ("proc" "string")) nil [15303 15476]) ("server-ensure-safe-dir" function (:arguments ("dir")) nil [15478 16195]) ("server-start" function (:user-visible-flag t :arguments ("&optional" "leave-dead")) nil [16212 19581]) ("define-minor-mode" code nil nil [19598 20058]) ("server-process-filter" function (:arguments ("proc" "string")) nil [20061 34873]) ("server-goto-line-column" function (:arguments ("file-line-col")) nil [34875 35214]) ("server-visit-files" function (:arguments ("files" "client" "&optional" "nowait")) nil [35216 37216]) ("server-buffer-done" function (:arguments ("buffer" "&optional" "for-killing")) nil [37219 39280]) ("server-temp-file-p" function (:arguments ("&optional" "buffer")) nil [39282 39694]) ("server-done" function nil nil [39696 40513]) ("server-kill-buffer-query-function" function nil nil [40715 41129]) ("server-kill-emacs-query-function" function nil nil [41131 41503]) ("server-kill-buffer-running" variable nil nil [41505 41619]) ("server-kill-buffer" function nil nil [41621 42031]) ("server-edit" function (:user-visible-flag t :arguments ("&optional" "arg")) nil [42034 43127]) ("server-switch-buffer" function (:arguments ("&optional" "next-buffer" "killed-one")) nil [43129 45832]) ("server-save-buffers-kill-terminal" function (:arguments ("proc" "&optional" "arg")) nil [45849 46512]) ("define-key" code nil nil [46514 46553]) ("server-unload-hook" function nil nil [46555 46980]) ("add-hook" code nil nil [46982 47038]) ("add-hook" code nil nil [47059 47109]) ("server" package nil nil [47112 47129])) ++ :file "server.el" ++ :pointmax 47205 ++ ) ++ ) ++ :file "semantic.cache" ++ :semantic-tag-version "2.0pre3" ++ :semanticdb-version "2.0pre3" ++ ) diff --cc lisp/server.el index dd64bb6cf89,f03c802bb77..e0465324e05 --- a/lisp/server.el +++ b/lisp/server.el @@@ -444,85 -307,68 +444,85 @@@ Creates the directory if necessary and (defun server-start (&optional leave-dead) "Allow this Emacs process to be a server for client processes. This starts a server communications subprocess through which -client \"editors\" can send your editing commands to this Emacs job. -To use the server, set up the program `emacsclient' in the +client \"editors\" can send your editing commands to this Emacs +job. To use the server, set up the program `emacsclient' in the Emacs distribution as your standard \"editor\". - Prefix arg LEAVE-DEAD means just kill any existing server - communications subprocess." + Optional argument LEAVE-DEAD (interactively, a prefix arg) means just + kill any existing server communications subprocess." (interactive "P") - (when server-process - ;; kill it dead! - (ignore-errors (delete-process server-process))) - ;; If this Emacs already had a server, clear out associated status. - (while server-clients - (let ((buffer (nth 1 (car server-clients)))) - (server-buffer-done buffer))) - ;; Now any previous server is properly stopped. - (unless leave-dead - (let* ((server-dir (if server-use-tcp server-auth-dir server-socket-dir)) - (server-file (expand-file-name server-name server-dir))) - ;; Make sure there is a safe directory in which to place the socket. - (server-ensure-safe-dir server-dir) - ;; Remove any leftover socket or authentication file. - (ignore-errors (delete-file server-file)) - (when server-process - (server-log (message "Restarting server"))) - (letf (((default-file-modes) ?\700)) - (setq server-process - (apply #'make-network-process - :name server-name - :server t - :noquery t - :sentinel 'server-sentinel - :filter 'server-process-filter - ;; We must receive file names without being decoded. - ;; Those are decoded by server-process-filter according - ;; to file-name-coding-system. - :coding 'raw-text - ;; The rest of the args depends on the kind of socket used. - (if server-use-tcp - (list :family nil - :service t - :host (or server-host 'local) - :plist '(:authenticated nil)) - (list :family 'local - :service server-file - :plist '(:authenticated t))))) - (unless server-process (error "Could not start server process")) - (when server-use-tcp - (let ((auth-key - (loop - ;; The auth key is a 64-byte string of random chars in the - ;; range `!'..`~'. - for i below 64 - collect (+ 33 (random 94)) into auth - finally return (concat auth)))) - (process-put server-process :auth-key auth-key) - (with-temp-file server-file - (set-buffer-multibyte nil) - (setq buffer-file-coding-system 'no-conversion) - (insert (format-network-address - (process-contact server-process :local)) - " " (int-to-string (emacs-pid)) - "\n" auth-key)))))))) + (when (or + (not server-clients) + (yes-or-no-p + "The current server still has clients; delete them? ")) + ;; It is safe to get the user id now. + (setq server-socket-dir (or server-socket-dir + (format "/tmp/emacs%d" (user-uid)))) + (when server-process + ;; kill it dead! + (ignore-errors (delete-process server-process))) + ;; Delete the socket files made by previous server invocations. + (condition-case () + (delete-file (expand-file-name server-name server-socket-dir)) + (error nil)) + ;; If this Emacs already had a server, clear out associated status. + (while server-clients + (server-delete-client (car server-clients))) + ;; Now any previous server is properly stopped. + (if leave-dead + (progn + (server-log (message "Server stopped")) + (setq server-process nil)) + (let* ((server-dir (if server-use-tcp server-auth-dir server-socket-dir)) + (server-file (expand-file-name server-name server-dir))) + ;; Make sure there is a safe directory in which to place the socket. + (server-ensure-safe-dir server-dir) + ;; Remove any leftover socket or authentication file. + (ignore-errors (delete-file server-file)) + (when server-process + (server-log (message "Restarting server"))) + (letf (((default-file-modes) ?\700)) + (add-hook 'suspend-tty-functions 'server-handle-suspend-tty) + (add-hook 'delete-frame-functions 'server-handle-delete-frame) + (add-hook 'kill-buffer-query-functions 'server-kill-buffer-query-function) + (add-hook 'kill-emacs-query-functions 'server-kill-emacs-query-function) + (setq server-process + (apply #'make-network-process + :name server-name + :server t + :noquery t + :sentinel 'server-sentinel + :filter 'server-process-filter + ;; We must receive file names without being decoded. + ;; Those are decoded by server-process-filter according + ;; to file-name-coding-system. + :coding 'raw-text + ;; The rest of the args depends on the kind of socket used. + (if server-use-tcp + (list :family nil + :service t + :host (or server-host 'local) + :plist '(:authenticated nil)) + (list :family 'local + :service server-file + :plist '(:authenticated t))))) + (unless server-process (error "Could not start server process")) + (when server-use-tcp + (let ((auth-key + (loop + ;; The auth key is a 64-byte string of random chars in the + ;; range `!'..`~'. + for i below 64 + collect (+ 33 (random 94)) into auth + finally return (concat auth)))) + (process-put server-process :auth-key auth-key) + (with-temp-file server-file + (set-buffer-multibyte nil) + (setq buffer-file-coding-system 'no-conversion) + (insert (format-network-address + (process-contact server-process :local)) + " " (int-to-string (emacs-pid)) + "\n" auth-key))))))))) ;;;###autoload (define-minor-mode server-mode diff --cc lisp/startup.el index 30d25900ad4,e2a80088a3e..c19a997da82 --- a/lisp/startup.el +++ b/lisp/startup.el @@@ -1549,20 -1552,20 +1555,20 @@@ More Manuals / Ordering Manuals How ") (insert "\n\n" (emacs-version) " - Copyright (C) 2006 Free Software Foundation, Inc.")) + Copyright (C) 2007 Free Software Foundation, Inc.")) - ;; No mouse menus, so give help using kbd commands. - - ;; If keys have their default meanings, - ;; use precomputed string to save lots of time. - (if (and (eq (key-binding "\C-h") 'help-command) - (eq (key-binding "\C-xu") 'advertised-undo) - (eq (key-binding "\C-x\C-c") 'save-buffers-kill-emacs) - (eq (key-binding "\C-ht") 'help-with-tutorial) - (eq (key-binding "\C-hi") 'info) - (eq (key-binding "\C-hr") 'info-emacs-manual) - (eq (key-binding "\C-h\C-n") 'view-emacs-news)) - (insert " + ;; No mouse menus, so give help using kbd commands. + + ;; If keys have their default meanings, + ;; use precomputed string to save lots of time. + (if (and (eq (key-binding "\C-h") 'help-command) + (eq (key-binding "\C-xu") 'advertised-undo) + (eq (key-binding "\C-x\C-c") 'save-buffers-kill-terminal) + (eq (key-binding "\C-ht") 'help-with-tutorial) + (eq (key-binding "\C-hi") 'info) + (eq (key-binding "\C-hr") 'info-emacs-manual) + (eq (key-binding "\C-h\C-n") 'view-emacs-news)) + (insert " Get help C-h (Hold down CTRL and press h) Emacs manual C-h r Emacs tutorial C-h t Undo changes C-x u @@@ -1595,15 -1598,15 +1601,15 @@@ Activate menubar \\[tmm-menubar]")) \(`C-' means use the CTRL key. `M-' means use the Meta (or Alt) key. If you have no Meta key, you may instead type ESC followed by the character.)") - (insert "\n\n" (emacs-version) - " + (insert "\n\n" (emacs-version) + " - Copyright (C) 2006 Free Software Foundation, Inc.") + Copyright (C) 2007 Free Software Foundation, Inc.") - (if (and (eq (key-binding "\C-h\C-c") 'describe-copying) - (eq (key-binding "\C-h\C-d") 'describe-distribution) - (eq (key-binding "\C-h\C-w") 'describe-no-warranty)) - (insert - "\n + (if (and (eq (key-binding "\C-h\C-c") 'describe-copying) + (eq (key-binding "\C-h\C-d") 'describe-distribution) + (eq (key-binding "\C-h\C-w") 'describe-no-warranty)) + (insert + "\n GNU Emacs comes with ABSOLUTELY NO WARRANTY; type C-h C-w for full details. Emacs is Free Software--Free as in Freedom--so you can redistribute copies of Emacs and modify it; type C-h C-c to see the conditions. diff --cc src/termhooks.h index 98c4edb4f24,8aef23bc2a7..72e0940cea6 --- a/src/termhooks.h +++ b/src/termhooks.h @@@ -1,6 -1,7 +1,6 @@@ -/* Hooks by which low level terminal operations - can be made to call other routines. - Copyright (C) 1985, 1986, 1993, 1994, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. +/* Parameters and display hooks for terminal devices. + Copyright (C) 1985, 1986, 1993, 1994, 2002, 2003, 2004, - 2005, 2006 Free Software Foundation, Inc. ++ 2005, 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Emacs.