Merge pull request #35 from juergenhoetzel/fix-emacs-26-network-server-process
Add workaround for Emacs 26 async network-server-process issues
This commit is contained in:
commit
180350da77
@ -159,10 +159,21 @@ rendered copy to PREVIEW-FILE, ready to be open in browser."
|
|||||||
(replace-match (format "%s" preview-uuid) t))
|
(replace-match (format "%s" preview-uuid) t))
|
||||||
(buffer-string)))
|
(buffer-string)))
|
||||||
|
|
||||||
|
;; Emacs 26 async network workaround
|
||||||
|
(defun markdown-preview--fix-network-process-wait (plist)
|
||||||
|
"Ensure PLIST contains :nowait nil."
|
||||||
|
(if (and (>= emacs-major-version 26)
|
||||||
|
(equal (plist-get plist :name) "ws-server")
|
||||||
|
(plist-get plist :server)
|
||||||
|
(plist-get plist :nowait))
|
||||||
|
(plist-put plist :nowait nil)
|
||||||
|
plist))
|
||||||
|
|
||||||
(defun markdown-preview--start-http-server (port)
|
(defun markdown-preview--start-http-server (port)
|
||||||
"Start http server at PORT to serve preview file via http."
|
"Start http server at PORT to serve preview file via http."
|
||||||
(unless markdown-preview--http-server
|
(unless markdown-preview--http-server
|
||||||
(lexical-let ((docroot default-directory))
|
(lexical-let ((docroot default-directory))
|
||||||
|
(advice-add 'make-network-process :filter-args #'markdown-preview--fix-network-process-wait)
|
||||||
(setq markdown-preview--http-server
|
(setq markdown-preview--http-server
|
||||||
(ws-start
|
(ws-start
|
||||||
(lambda (request)
|
(lambda (request)
|
||||||
@ -186,7 +197,8 @@ rendered copy to PREVIEW-FILE, ready to be open in browser."
|
|||||||
(ws-send-file process filename)
|
(ws-send-file process filename)
|
||||||
(ws-send-404 process)
|
(ws-send-404 process)
|
||||||
))))))
|
))))))
|
||||||
markdown-preview-http-port nil :host markdown-preview-http-host)))))
|
markdown-preview-http-port nil :host markdown-preview-http-host))
|
||||||
|
(advice-remove 'make-network-process #'my-filter))))
|
||||||
|
|
||||||
(defun markdown-preview--parse-uuid (headers)
|
(defun markdown-preview--parse-uuid (headers)
|
||||||
"Find uuid query param in HEADERS."
|
"Find uuid query param in HEADERS."
|
||||||
|
Loading…
x
Reference in New Issue
Block a user