summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2010-09-02 06:15:33 +0200
committerJose Antonio Ortega Ruiz <jao@gnu.org>2010-09-02 06:15:33 +0200
commita15f00af2677a559f0932f0aa7c6c8e82ac8be26 (patch)
tree43a0699dd3375b5917fc1d4381f8c399d4169b28
parent46e6067f388d7d1ac502f50c5558c9d953d700c7 (diff)
downloadgeiser-guile-a15f00af2677a559f0932f0aa7c6c8e82ac8be26.tar.gz
geiser-guile-a15f00af2677a559f0932f0aa7c6c8e82ac8be26.tar.bz2
Dead code elimination
-rw-r--r--elisp/geiser-guile.el78
1 files 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