[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/geiser-guile a15f00a 156/284: Dead code elimination
From: |
Philip Kaludercic |
Subject: |
[nongnu] elpa/geiser-guile a15f00a 156/284: Dead code elimination |
Date: |
Sun, 1 Aug 2021 18:29:36 -0400 (EDT) |
branch: elpa/geiser-guile
commit a15f00af2677a559f0932f0aa7c6c8e82ac8be26
Author: Jose Antonio Ortega Ruiz <jao@gnu.org>
Commit: Jose Antonio Ortega Ruiz <jao@gnu.org>
Dead code elimination
---
elisp/geiser-guile.el | 78 ++++++++++++++-------------------------------------
1 file changed, 21 insertions(+), 57 deletions(-)
diff --git a/elisp/geiser-guile.el b/elisp/geiser-guile.el
index 910d3b7..8d8c4f3 100644
--- a/elisp/geiser-guile.el
+++ b/elisp/geiser-guile.el
@@ -120,49 +120,16 @@ This function uses `geiser-guile-init-file' if it exists."
;;; Error display
-(defvar geiser-guile--file-cache (make-hash-table :test 'equal))
-
-(defun geiser-guile--resolve-file (file)
- (when (and (stringp file) (not (string-equal file "unknown file")))
- (if (file-name-absolute-p file) file
- (or (gethash file geiser-guile--file-cache)
- (puthash file
- (geiser-eval--send/result `(:eval ((:ge find-file) ,file)))
- geiser-guile--file-cache)))))
-
-(defconst geiser-guile--file-rx
- "^In \\([^\n:]+\\):\n *\\([[:digit:]]+\\|\\?\\):")
-
-(defun geiser-guile--find-files ()
- (with--geiser-implementation 'guile
- (save-excursion
- (while (re-search-forward geiser-guile--file-rx nil t)
- (let ((file (match-string 1))
- (beg (match-beginning 1))
- (end (match-end 1))
- (line (string-to-number (or (match-string 2) "0"))))
- (let ((file (geiser-guile--resolve-file file)))
- (when file
- (geiser-edit--make-link beg end file line 0))))))))
(defun geiser-guile--display-error (module key msg)
- (if (eq key 'geiser-debugger)
- (let ((bt-cmd (format ",%s\n"
- (if geiser-guile-debug-show-bt-p "bt" "fr"))))
- (goto-char (point-max))
- (comint-send-string nil "((@ (geiser emacs) ge:newline))\n")
- (comint-send-string nil ",error-message\n")
- (comint-send-string nil bt-cmd)
- (message "Debug REPL. Enter ,q to quit, ,h for help."))
- (when key
- (insert "Error: ")
- (geiser--insert-with-face (format "%s" key) 'bold)
- (newline 2))
- (when msg
- (let ((p (point)))
- (insert msg)
- (goto-char p)
- (geiser-guile--find-files))))
+ (when (eq key 'geiser-debugger)
+ (let ((bt-cmd (format ",%s\n"
+ (if geiser-guile-debug-show-bt-p "bt" "fr"))))
+ (goto-char (point-max))
+ (comint-send-string nil "((@ (geiser emacs) ge:newline))\n")
+ (comint-send-string nil ",error-message\n")
+ (comint-send-string nil bt-cmd)
+ (message "Debug REPL. Enter ,q to quit, ,h for help.")))
t)
@@ -180,31 +147,28 @@ This function uses `geiser-guile-init-file' if it exists."
(defconst geiser-guile--rel-path-rx "^In +\\([^/\n :]+\\):\n")
-(make-variable-buffer-local
- (defvar geiser-guile--load-path nil))
-
-(defun geiser-guile--load-path ()
- (geiser-eval--send/result `(:eval (:scm "%load-path"))))
+(defvar geiser-guile--file-cache (make-hash-table :test 'equal))
-(defun geiser-guile--find-in-load-path (f ps)
- (when ps
- (let ((c (expand-file-name f (car ps))))
- (or (and (file-exists-p c) c)
- (geiser-guile--find-in-load-path f (cdr ps))))))
+(defun geiser-guile--resolve-file (file)
+ (when (and (stringp file) (not (string-equal file "unknown file")))
+ (if (file-name-absolute-p file) file
+ (or (gethash file geiser-guile--file-cache)
+ (puthash file
+ (geiser-eval--send/result `(:eval ((:ge find-file) ,file)))
+ geiser-guile--file-cache)))))
(defun geiser-guile--resolve-file-x ()
- (let ((f (match-string-no-properties 1)))
- (if (file-name-absolute-p f)
- (list f)
- (let ((f (geiser-guile--find-in-load-path f geiser-guile--load-path)))
- (and f (list f))))))
+ (let ((f (geiser-guile--resolve-file (match-string-no-properties 1))))
+ (and f (list f))))
+
+
+;;; REPL startup
(defun geiser-guile--startup ()
(set (make-local-variable 'compilation-error-regexp-alist)
`((,geiser-guile--path-rx geiser-guile--resolve-file-x)
("^ *\\([0-9]+\\): +" nil 1)
("at \\(/[^:\n]+\\):\\([[:digit:]]+\\):\\([[:digit:]]+\\)" 1 2 3)))
- (setq geiser-guile--load-path (geiser-guile--load-path))
(setq geiser-con--debugging-inhibits-eval nil)
(compilation-setup t)
(font-lock-add-keywords nil
- [nongnu] elpa/geiser-guile c8d63ff 073/284: Guile: bug fix (missing module import)., (continued)
- [nongnu] elpa/geiser-guile c8d63ff 073/284: Guile: bug fix (missing module import)., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 936a20e 074/284: Fixing the mess during initialization., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 4bc26f8 086/284: kludgy fix for opt/key/rest markers in autodoc, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile d5840a0 093/284: BSD relicensing: elisp code., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 236ec5f 096/284: Guile: define-module forms are now individually evaluable (e.g. using C-M-x or C-x C-e)., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile e8d1ca5 113/284: Guile: switch to REPL and module activated., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile c6248c4 119/284: Guile: evaluation output collection reactivated., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 503e239 137/284: Guile: tweaks to the previous fix., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 6212ff6 128/284: Guile: real fix for symbol locations (needs Guile's git head)., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 90835ae 127/284: Guile: new evaluation strategy that really delimits stack frames., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile a15f00a 156/284: Dead code elimination,
Philip Kaludercic <=
- [nongnu] elpa/geiser-guile 7ecebbc 160/284: Guile: xref commands working again, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile d5252a1 189/284: Guile: fix for the argument shortening algorithm, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile a77bf8b 193/284: Elisp buggettes and warnings, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 1eebcce 197/284: Guile reconnected (but not debuggable (yet)), Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile fa4e0bc 198/284: Guile reconnected (but not debuggable (yet)), Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 6d52afb 199/284: Better EOT token for more robust communication, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 2ea6d9d 204/284: Superior schemes, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 0d3b1f8 205/284: Support for implementation-specific font lock keywords, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 92dadf9 206/284: Typo, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile e25e31f 208/284: Fix for error in Guile initialisation, Philip Kaludercic, 2021/08/01