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