亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? gnuserv.el

?? Emacs的一個插件源碼
?? EL
?? 第 1 頁 / 共 2 頁
字號:
; Lisp Interface code between GNU Emacs and gnuserv.;; This file is part of GNU Emacs.;; Copying is permitted under those conditions described by the GNU; General Public License.;; Copyright (C) 1989 Free Software Foundation, Inc.;; Author: Andy Norman (ange@hplb.hpl.hp.com) based on;         'lisp/server.el' from the 18.52 GNU Emacs distribution.;; Please mail bugs and suggestions to the author at the above address.;; Updated for Lucid Emacs, GNU Emacs 19 and Epoch V4 to use multiple frames; by Bob Weiner, <weiner@mot.com>, 1/20/94.  (Still works with Emacs V18, too.);    Modified 'server-process-filter' to use \^D as end of request terminator;      as gnuclient and gnudoit have been modified to send.  This permits;      multi-line requests.;    Modified 'server-make-window-visible' to work with multiple frames.;    Modified 'server-find-file' to display in a separate frame when possible.;    Modified 'server-edit' to delete newly created frame when used to;      terminate an edit and to signal an error if called within a;      non-server-edit buffer.; Bob Weiner, <weiner@mot.com>, 5/9/94.;    Added 'server-done-function' variable.  Made default value 'kill-buffer';    instead of 'bury-buffer' as in original gnuserv.el.;; Darrell Kindred <dkindred+@cmu.edu> May/1994; Updated to allow multi-line return values:;    - output to gnuserv is "m/n:xxx" where m is the client number,;      n is the length of the data, and xxx is the data itself, followed ;      by newline;; Arup Mukherjee <arup+@cmu.edu> May/1994; Updated for Lucid Emacs 19.10, and others:;    - use find-file-other-screen if present;    - new variable gnuserv-screen can be set to a frame or screen which is ;      is used for all edited files. ;    - check to see if server.el is already loaded and complain if it is, since;      gnuserv.el can't coexist with server.el;    - rename server-start to gnuserv-start, although server-start remains as;      an alias. This allows gnuserv-start to be autoloaded from gnuserv.el;    - changed server-get-buffer to take into account that in newer emacsen,;      get buffer returns nil on deleted buffers.;    - only try to create/delete frames or screens if window-system is non-nil ;      (otherwise things don't work w/ emacs19 on a dumb terminal);(defconst gnuserv-rcs-header-id "$Header: gnuserv.el,v 2.0 94/08/14 12:36:52 arup Exp $");; server.el and gnuserv.el can't coexist because of conflicting defvar's and;; function names. (if (and (boundp 'server-buffer-clients)	 (not (featurep 'gnuserv)))    (error "can't run gnuserv because server.el appears to be loaded already"))(defvar gnuserv-screen nil  "*If non-nil, the screen (lucid emacs) or frame (gnu-emacs 19) to be used to display all edited files. If nil, then a new screen or frameis created for each file edited. This variable has no effect in lucid emacsversions older than 19.9")(defvar server-done-function 'kill-buffer   "*Value is a function of one argument, a buffer, which removes the  buffer after editing.  'Kill-buffer' and 'bury-buffer' are good  values.")(defvar server-program "gnuserv"  "*The program to use as the edit server")(defvar server-process nil   "the current server process")(defvar server-string ""  "the last input string from the server")(defvar current-client nil  "the client we are currently talking to")(defvar server-clients nil  "List of current server clients.Each element is (CLIENTID BUFFER...) where CLIENTID is an integerthat can be given to the server process to identify a client.When a buffer is killed, it is removed from this list.")(defvar server-buffer-clients nil  "List of clientids for clients requesting editing of current buffer.")(make-variable-buffer-local 'server-buffer-clients)(setq-default server-buffer-clients nil)(or (assq 'server-buffer-clients minor-mode-alist)    (setq minor-mode-alist (cons '(server-buffer-clients " Server") 				 minor-mode-alist)))(defun server-log (string)  "If a *server* buffer exists, write STRING to it for logging purposes."  (if (get-buffer "*server*")      (save-excursion	(set-buffer "*server*")	(goto-char (point-max))	(insert string)	(or (bolp) (newline)))))(defun server-sentinel (proc msg)  (cond ((eq (process-status proc) 'exit)	 (server-log (message "Server subprocess exited")))	((eq (process-status proc) 'signal)	 (server-log (message "Server subprocess killed")))))(defun server-process-display-error (string)  "When an error has been reported from the server, display the error in apop-up window."  (let ((cur (selected-window))	(pop-up-windows t))    (pop-to-buffer (get-buffer-create "*server*"))    (set-window-start (selected-window) (point))    (server-log string)    (select-window cur)))    (defun server-process-filter (proc string)  "Process incoming requests from the server for GNU Emacs to do some actions."  (setq server-string (concat server-string string))  (if (string-match "\^D$" server-string) ;requests end with ctrl-D      (if (string-match "^[0-9]+" server-string) ;client request id	(progn	  (server-log server-string)	  (let ((header (read-from-string server-string)))	    (setq current-client (car header))	    (condition-case oops		(eval (car (read-from-string server-string 					     (cdr header))))	      (error (setq server-string "")		     (server-write-to-client current-client oops)		     (setq current-client nil)		     (signal (car oops) (cdr oops)))	      (quit (setq server-string "")		    (server-write-to-client current-client oops)		    (setq current-client nil)		    (signal 'quit nil)))	    (setq server-string "")))	(progn				;error string from server	  (server-process-display-error server-string)	  (setq server-string "")))))(defun server-release-outstanding-buffers ()  "Release all buffers that have clients waiting for them to be finished."  (interactive)  (while server-clients    (let ((buffer (nth 1 (car server-clients)))) ;for all buffers...      (server-buffer-done buffer)))) ; destructively modifies server-clients;;;###autoload(defun gnuserv-start (&optional leave-dead)  "Allow this Emacs process to be a server for client processes.This starts a server communications subprocess through whichclient \"editors\" (gnuclient and gnudoit) can send editing commands to this Emacs job. See the gnuserv(1) manual page for more details.Prefix arg means just kill any existing server communications subprocess."  (interactive "P")  ;; kill it dead!  (if server-process      (progn	(server-release-outstanding-buffers)	(set-process-sentinel server-process nil)	(condition-case ()	    (delete-process server-process)	  (error nil))))  ;; If we already had a server, clear out associated status.  (if leave-dead      nil    (if server-process	(server-log (message "Restarting server")))    (setq server-string "")    (setq current-client nil)    (let ((process-connection-type t))      (setq server-process 	    (start-process "server" nil server-program)))    (set-process-sentinel server-process 'server-sentinel)    (set-process-filter server-process 'server-process-filter)    (process-kill-without-query server-process)));; make gnuserv-start an alias to server-start, for backward compatibility(fset 'server-start (function gnuserv-start))(defun server-write-to-client (client form)  "Write the given form to the given client via the server process."  (if (and client	   (eq (process-status server-process) 'run))      (let* ((result (format "%s" form))	     (s      (format "%s/%d:%s\n" client (length result) result)))	(process-send-string server-process s)	(server-log s))))(defun server-eval (form)  "Evaluate form and return result to client."  (server-write-to-client current-client (eval form))  (setq current-client nil))(defun server-eval-quickly (form)  "Let client know that we've received the request, but eval the formafterwards in order to not keep the client waiting."  (server-write-to-client current-client nil)  (setq current-client nil)  (eval form))(defun server-make-window-visible ()  "Try to make this window even more visible."  (and (boundp 'window-system)       (boundp 'window-system-version)       (eq window-system 'x)       (eq window-system-version 11)       (cond ((fboundp 'deiconify-screen)	      (deiconify-screen (selected-screen))	      (raise-screen (selected-screen)))	     ((fboundp 'raise-frame)	      (raise-frame (selected-frame)))	     ((fboundp 'mapraised-screen)	      (mapraised-screen))	     ((fboundp 'x-remap-window)	      (x-remap-window)	      ;; give window chance to re-display text	      (accept-process-output)))))(defun server-find-file (file)  "Edit file FILENAME.Switch to a buffer visiting file FILENAME,creating one if none already exists."  (let ((obuf (get-file-buffer file)))    (if (and obuf (set-buffer obuf))	(if (file-exists-p file)	    (if (or (not (verify-visited-file-modtime obuf))		    (buffer-modified-p obuf))		(revert-buffer t nil))	  (if (y-or-n-p	       (concat "File no longer exists: "		       file		       ", write buffer to file? "))	      (write-file file))))    (cond ((and window-system		gnuserv-screen (fboundp 'live-screen-p)   ;; lemacs 19.9+		(live-screen-p gnuserv-screen))	   (select-screen gnuserv-screen)          

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色88888久久久久久影院野外| 欧美不卡一区二区| 久久亚洲精精品中文字幕早川悠里 | 91精品免费观看| 亚洲一区二区三区激情| 日韩一本二本av| 亚洲mv大片欧洲mv大片精品| 99久久伊人精品| 国产精品理伦片| 色综合中文字幕国产| 中文字幕二三区不卡| 国产精品1区二区.| 国产精品久久久久一区| 成人激情视频网站| 亚洲午夜一区二区| 久久婷婷国产综合精品青草 | 日韩一区二区在线看片| 国产欧美日本一区二区三区| 性久久久久久久久久久久| 成人免费视频播放| 久久久久久久久久久电影| 日日噜噜夜夜狠狠视频欧美人 | 亚洲欧洲三级电影| 高清久久久久久| 欧美妇女性影城| 国产精品综合网| 国产欧美一区二区三区在线老狼| 欧美四级电影在线观看| a美女胸又www黄视频久久| 亚洲视频一二三区| 91精品国产品国语在线不卡| 欧美私人免费视频| 精品sm捆绑视频| 欧美精选在线播放| 亚洲亚洲精品在线观看| 风间由美中文字幕在线看视频国产欧美| 欧美日韩高清一区二区三区| 亚洲福利电影网| 精品蜜桃在线看| 国产成人aaaa| 亚洲蜜桃精久久久久久久| 欧美偷拍一区二区| 亚洲一区在线播放| 国产自产高清不卡| 国产亚洲女人久久久久毛片| 国产美女一区二区| 一区二区三区成人在线视频| 欧美日产在线观看| 韩国三级电影一区二区| 亚洲免费观看高清完整版在线观看 | 91精品国产入口| 亚洲成av人片www| 久久久久久久久99精品| 91精品福利视频| 国产精品一级片| 天堂蜜桃一区二区三区| 亚洲人成网站色在线观看| 欧美精品久久天天躁| 99热这里都是精品| 亚洲成在人线在线播放| 中文字幕中文字幕在线一区| 亚洲在线视频网站| 成人久久18免费网站麻豆| 日韩福利视频网| 亚洲在线一区二区三区| 亚洲婷婷在线视频| 国产精品看片你懂得| 久久精品无码一区二区三区| 日韩女优av电影| 精品国产免费视频| 久久久综合视频| 国产精品天干天干在线综合| 精品国产百合女同互慰| 久久久久久久免费视频了| 精品久久久久久最新网址| 久久综合九色综合久久久精品综合| 在线观看91av| 久久久久久久综合色一本| 精品盗摄一区二区三区| 国产欧美日韩麻豆91| 国产精品久久网站| 亚洲一区av在线| 美女mm1313爽爽久久久蜜臀| 激情图片小说一区| 91同城在线观看| 欧美一区二区在线免费播放| 亚洲精品一区二区三区香蕉| 亚洲欧洲日韩女同| 日韩激情视频在线观看| 国产精品18久久久久| 在线观看91精品国产入口| 久久品道一品道久久精品| 中文字幕一区二区不卡| 精品一区中文字幕| 色香蕉久久蜜桃| 国产精品狼人久久影院观看方式| 亚洲国产一区二区a毛片| 国产成人av一区| 欧美一级国产精品| 爽爽淫人综合网网站| 色综合久久久久网| 亚洲欧洲另类国产综合| 国产九色精品成人porny| 欧美一级一区二区| 亚洲成人自拍一区| 欧美系列在线观看| 亚洲欧美成人一区二区三区| 成人app网站| 国产精品国产a级| 国产91丝袜在线播放0| 精品福利一区二区三区| 国产在线视视频有精品| 久久免费看少妇高潮| 国产乱码一区二区三区| 中文字幕日韩av资源站| 91视频免费看| 六月丁香综合在线视频| 精品国产免费久久| 成人精品国产福利| 一区二区三区欧美亚洲| 日韩一区二区三区精品视频| 首页国产欧美久久| 国产视频一区在线播放| 欧亚洲嫩模精品一区三区| 日韩不卡免费视频| 日韩伦理免费电影| 日韩精品中文字幕一区二区三区| 国产成人免费高清| 天天影视涩香欲综合网| 国产精品视频线看| 日韩欧美色电影| 色综合久久中文字幕综合网| 韩国中文字幕2020精品| 亚洲午夜久久久久久久久电影网| 久久嫩草精品久久久精品一| 99精品视频一区| 国产成人精品午夜视频免费| 青青国产91久久久久久| 亚洲欧美综合色| 国产偷v国产偷v亚洲高清| 精品欧美一区二区久久| 欧美日本高清视频在线观看| 97aⅴ精品视频一二三区| 国产不卡在线播放| 韩国毛片一区二区三区| 日本亚洲电影天堂| 日本伊人午夜精品| 久久99最新地址| 激情深爱一区二区| 高清久久久久久| 亚洲精品免费看| 欧美日韩五月天| 久久久久久久久久久久久女国产乱| 日韩高清国产一区在线| 中文字幕一区av| 欧美三级日韩三级国产三级| 国产真实精品久久二三区| 久久久精品tv| 在线精品视频一区二区三四| 中文字幕一区二区三区不卡| 欧美精品一区二区不卡| 色av成人天堂桃色av| 7777精品伊人久久久大香线蕉最新版| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 成人午夜在线视频| 亚洲国产成人av| 欧美韩日一区二区三区四区| 在线精品视频免费观看| 韩国毛片一区二区三区| 久久精品一区二区三区四区 | 国产精品1区2区3区在线观看| 亚洲一区二区在线免费观看视频| **性色生活片久久毛片| 欧美精品电影在线播放| 美脚の诱脚舐め脚责91| 岛国精品一区二区| 成人福利视频在线| 国产成人超碰人人澡人人澡| 韩国三级电影一区二区| 国产一区不卡视频| 欧美性大战久久久久久久| 色呦呦国产精品| 国产午夜久久久久| 亚洲欧美韩国综合色| 国产风韵犹存在线视精品| 99视频精品在线| 国产亚洲精品bt天堂精选| 亚洲精品中文在线观看| 丁香一区二区三区| 在线观看网站黄不卡| 亚洲精品成人精品456| 91亚洲精品一区二区乱码| 成人欧美一区二区三区黑人麻豆| 麻豆精品久久精品色综合| 日韩一卡二卡三卡四卡| 亚洲成人免费在线观看| 欧美本精品男人aⅴ天堂| 国产在线精品一区二区夜色 | 亚洲一区二区三区中文字幕 | 午夜精品久久久久|