[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] 106/352: Muutetaan prosessit puskurikohtaisiksi
From: |
Stefan Monnier |
Subject: |
[elpa] 106/352: Muutetaan prosessit puskurikohtaisiksi |
Date: |
Mon, 07 Jul 2014 14:02:51 +0000 |
monnier pushed a commit to branch master
in repository elpa.
commit 3c09778a3bc13460a21640e320d17b0b31b62b60
Author: Teemu Likonen <address@hidden>
Date: Wed Jul 22 07:57:29 2009 +0000
Muutetaan prosessit puskurikohtaisiksi
Aiemmin ulkoiset prosessit ovat olleet kielikohtaisia. Se toimii yleensä
mutta aiheuttaa eräissä tilanteissa sen, että ulkoisen prosessin
palauttamat sanat päätyvät väärälle puskurille eikä sanoja merkitä siinä
puskurissa, missä pitäisi. Nyt kun prosessit ovat puskurikohtaisia, ei
tällaista ongelmaa ole.
Samalla muutetaan prosessinkäsittelyfunktiot käyttämään uutta puskurien,
prosessien ja kielten tietokantaa.
---
wcheck-mode.el | 84 +++++++++++++++++++++++++++----------------------------
1 files changed, 41 insertions(+), 43 deletions(-)
diff --git a/wcheck-mode.el b/wcheck-mode.el
index 1938e4a..cdfca55 100644
--- a/wcheck-mode.el
+++ b/wcheck-mode.el
@@ -258,8 +258,8 @@ This is used when language does not define face."
(defvar wcheck-buffer-data nil)
-(defconst wcheck-process-name-prefix "wcheck/"
- "Process name prefix for `wcheck-mode'.")
+(defconst wcheck-process-name "wcheck"
+ "Process name for `wcheck-mode'.")
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -623,47 +623,45 @@ Turn off `wcheck-mode' before changing major mode."
;;; Processes
-(defun wcheck-start-get-process (language)
- "Start or get external process for LANGUAGE.
-Start a new process or get already existing process which handles
-language LANGUAGE. Return the symbol of that particular process
-or nil if the operation was unsuccessful."
- (when (wcheck-language-valid-p language)
- (let ((proc-name (concat wcheck-process-name-prefix language)))
- ;; If process for this LANGUAGE exists return it.
- (or (get-process proc-name)
- ;; It doesn't exist so start a new one.
- (let ((program (wcheck-query-language-data language 'program))
- (args (split-string-and-unquote
- (wcheck-query-language-data language 'args t)
- "[ \t\n]+"))
- (process-connection-type
- (wcheck-query-language-data language 'connection t))
- proc)
-
- (when (wcheck-program-executable-p program)
- (setq proc (apply 'start-process proc-name nil program args))
- ;; The next command sets `wcheck-receive-words' as the
- ;; output handler function for the process we just
- ;; started.
- (set-process-filter proc #'wcheck-receive-words)
- (when (wcheck-process-running-p language)
- proc)))))))
-
-
-(defun wcheck-process-running-p (language)
- "Return t if the process for LANGUAGE is running."
- (eq 'run (process-status (concat wcheck-process-name-prefix language))))
-
-
-(defun wcheck-end-process (language)
- "Stop the process for LANGUAGE.
-Return the stopped process or nil if there was no such process."
- (let ((proc (get-process (concat wcheck-process-name-prefix
- language))))
- (when proc
- (delete-process proc)
- proc)))
+(defun wcheck-start-get-process (buffer)
+ "Start or get external process for BUFFER.
+Start a new process or get already existing process for BUFFER..
+Return the symbol of that particular process or nil if the
+operation was unsuccessful."
+ ;; If process for this BUFFER exists return it.
+ (or (wcheck-get-buffer-data buffer :process)
+ ;; It doesn't exist so start a new one.
+ (let* ((language (wcheck-get-buffer-data buffer :language))
+ (program (wcheck-query-language-data language 'program))
+ (args (split-string-and-unquote
+ (wcheck-query-language-data language 'args t)
+ "[ \t\n]+"))
+ (process-connection-type
+ (wcheck-query-language-data language 'connection t))
+ proc)
+
+ ;; Start the process.
+ (when (wcheck-program-executable-p program)
+ (setq proc (apply 'start-process wcheck-process-name nil
+ program args))
+ ;; Add the process Lisp object to database.
+ (wcheck-set-buffer-data buffer :process proc)
+ ;; Set the output handler function.
+ (set-process-filter proc #'wcheck-receive-words)
+ ;; Prevent Emacs from querying user about running processes
+ ;; when killing Emacs.
+ (set-process-query-on-exit-flag proc nil)
+ proc))))
+
+
+(defun wcheck-process-running-p (buffer)
+ "Return t if the process for BUFFER is running."
+ (eq 'run (process-status (wcheck-get-buffer-data buffer :process))))
+
+
+(defun wcheck-end-process (process)
+ "Stop PROCESS."
+ (delete-process process))
(defun wcheck-update-buffer-data (buffer language)
- [elpa] 93/352: Hajotetaan merkkijono funktiolla split-string-and-unquote, (continued)
- [elpa] 93/352: Hajotetaan merkkijono funktiolla split-string-and-unquote, Stefan Monnier, 2014/07/07
- [elpa] 94/352: Poistetaan wcheck-mode päältä käyttämällä parametria -1 eikä 0, Stefan Monnier, 2014/07/07
- [elpa] 102/352: Poistetaan turhia testejä funktiosta wcheck-combine-two, Stefan Monnier, 2014/07/07
- [elpa] 91/352: Muutos muuttujan kuvauksessa: buffer-specific --> buffer-local, Stefan Monnier, 2014/07/07
- [elpa] 97/352: Kielellistä hienosaatöä muuttujan wcheck-language-data ohjeeseen, Stefan Monnier, 2014/07/07
- [elpa] 95/352: Lisätään tarkistus ulkoisen prosessin päälläolosta, Stefan Monnier, 2014/07/07
- [elpa] 99/352: Maalataan sanat tiedossa olevan tekstialueen perusteella, Stefan Monnier, 2014/07/07
- [elpa] 98/352: Luetaan vain tarpeelliset tekstialueet, Stefan Monnier, 2014/07/07
- [elpa] 100/352: Merkitään funtio-objektit #'-merkillä, Stefan Monnier, 2014/07/07
- [elpa] 101/352: Korjataan kirjoitusvirhe funktion kuvauksesta, Stefan Monnier, 2014/07/07
- [elpa] 106/352: Muutetaan prosessit puskurikohtaisiksi,
Stefan Monnier <=
- [elpa] 96/352: Customize-tyypin "face" tilalle "symbol", Stefan Monnier, 2014/07/07
- [elpa] 103/352: Siirretään overlayt uuteen paikkaan, Stefan Monnier, 2014/07/07
- [elpa] 105/352: wcheck-update-buffer-data uuden tietokannan mukaiseksi, Stefan Monnier, 2014/07/07
- [elpa] 110/352: Muutetaan wcheck-send-words hakemaan kielitiedot tietokannasta, Stefan Monnier, 2014/07/07
- [elpa] 107/352: Poistetaan turha wcheck-end-process, Stefan Monnier, 2014/07/07
- [elpa] 104/352: Lisätään matalan tason tietokantafunktiot, Stefan Monnier, 2014/07/07
- [elpa] 114/352: Asetetaan ajastinfunktiot hakemaan tiedot uudesta tietokannasta, Stefan Monnier, 2014/07/07
- [elpa] 108/352: Siirretään koukkujen asennus omiin funktioihinsa, Stefan Monnier, 2014/07/07
- [elpa] 112/352: Muutetaan wcheck-make-overlay hakemaan kielitiedot tietokannasta, Stefan Monnier, 2014/07/07
- [elpa] 116/352: Muutetaan tietokannan kyselyfunktio geneerisemmäksi, Stefan Monnier, 2014/07/07