summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2010-11-26 14:45:00 +0100
committerJose Antonio Ortega Ruiz <jao@gnu.org>2010-11-26 14:45:00 +0100
commitc6e745e306a294288a14a6bf2c0d3056b4a637aa (patch)
tree501af33e9103ee493249e40cf6dfa74a3955a58c
parent1b36531863a45d1ba714b21500069bc6319ee31f (diff)
downloadgeiser-c6e745e306a294288a14a6bf2c0d3056b4a637aa.tar.gz
geiser-c6e745e306a294288a14a6bf2c0d3056b4a637aa.tar.bz2
Bug fix: don't intern symbols read by scheme reader
We were calling `intern' instead of `make-symbol', polluting emacs' obarray.
-rw-r--r--elisp/geiser-base.el1
-rw-r--r--elisp/geiser-company.el4
-rw-r--r--elisp/geiser-impl.el4
-rw-r--r--elisp/geiser-syntax.el4
4 files changed, 6 insertions, 7 deletions
diff --git a/elisp/geiser-base.el b/elisp/geiser-base.el
index 41fb6fc..d232d2f 100644
--- a/elisp/geiser-base.el
+++ b/elisp/geiser-base.el
@@ -72,4 +72,3 @@
(provide 'geiser-base)
-;;; geiser-base.el ends here
diff --git a/elisp/geiser-company.el b/elisp/geiser-company.el
index eadce93..d6f89e1 100644
--- a/elisp/geiser-company.el
+++ b/elisp/geiser-company.el
@@ -32,7 +32,7 @@
(ignore-errors
(if module
(format "%s [module]" id)
- (or (geiser-autodoc--autodoc (list (list (intern id) 0)) t)
+ (or (geiser-autodoc--autodoc (list (list (make-symbol id) 0)) t)
(format "%s [local id]" id)))))
(defsubst geiser-company--doc-buffer (id module)
@@ -40,7 +40,7 @@
(defun geiser-company--location (id module)
(ignore-errors
- (let ((id (intern id)))
+ (let ((id (make-symbol id)))
(save-excursion
(if module
(geiser-edit-module id 'noselect)
diff --git a/elisp/geiser-impl.el b/elisp/geiser-impl.el
index 7df87cf..038e72f 100644
--- a/elisp/geiser-impl.el
+++ b/elisp/geiser-impl.el
@@ -208,8 +208,8 @@ switcher (switch-to-NAME), and provides geiser-NAME."
(parent (and (listp name) (cadr name))))
(unless (symbolp name)
(error "Malformed implementation name: %s" name))
- (let ((runner (intern (format "run-%s" name)))
- (switcher (intern (format "switch-to-%s" name)))
+ (let ((runner (make-symbol (format "run-%s" name)))
+ (switcher (make-symbol (format "switch-to-%s" name)))
(runner-doc (format "Start a new %s REPL." name))
(switcher-doc (format "Switch to a running %s REPL, or start one."
name))
diff --git a/elisp/geiser-syntax.el b/elisp/geiser-syntax.el
index 65c4813..9bb5e2c 100644
--- a/elisp/geiser-syntax.el
+++ b/elisp/geiser-syntax.el
@@ -161,7 +161,7 @@ implementation-specific entries for font-lock-keywords.")
(?\< (geiser-syntax--read/unprintable))
((?' ?` ?,) (geiser-syntax--read/next-token))
(t (let ((tok (geiser-syntax--read/elisp)))
- (if tok (cons 'atom (intern (format "#%s" tok)))
+ (if tok (cons 'atom (make-symbol (format "#%s" tok)))
(geiser-syntax--read/next-token))))))
(?\' (geiser-syntax--read/token '(quote . quote)))
(?\` (geiser-syntax--read/token
@@ -209,7 +209,7 @@ implementation-specific entries for font-lock-keywords.")
(vectorb (apply 'vector (geiser-syntax--read/list)))
((quote backquote unquote splice) (list (cdr token)
(geiser-syntax--read)))
- (kwd (intern (format ":%s" (cdr token))))
+ (kwd (make-symbol (format ":%s" (cdr token))))
(unprintable (format "#<%s>" (cdr token)))
((char string atom) (cdr token))
(t (error "Reading scheme syntax: unexpected token: %s" token)))))