From 135d54e742c6bde4fea399fe45045059a1bcba5a Mon Sep 17 00:00:00 2001 From: Jose Antonio Ortega Ruiz Date: Mon, 12 Oct 2015 12:02:18 +0200 Subject: Keeping the elisp compiler happy Mainly by reordering definitions so that functions are not used before defined. There are a couple of places where the compiler and I disagree (it complains withing eval-after-load), and a valid complain about functions defined via geiser-popup--define that should be addressed). --- elisp/geiser-debug.el | 3 ++- elisp/geiser-eval.el | 28 ++++++++++++++-------------- elisp/geiser-repl.el | 3 +-- elisp/geiser-syntax.el | 36 ++++++++++++++++++------------------ 4 files changed, 35 insertions(+), 35 deletions(-) diff --git a/elisp/geiser-debug.el b/elisp/geiser-debug.el index a63e8eb..dbeefba 100644 --- a/elisp/geiser-debug.el +++ b/elisp/geiser-debug.el @@ -1,6 +1,6 @@ ;;; geiser-debug.el -- displaying debug information and evaluation results -;; Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Jose Antonio Ortega Ruiz +;; Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014, 2015 Jose Antonio Ortega Ruiz ;; This program is free software; you can redistribute it and/or ;; modify it under the terms of the Modified BSD License. You should @@ -18,6 +18,7 @@ (require 'geiser-menu) (require 'geiser-popup) (require 'geiser-base) +(require 'geiser-image) ;;; Customization: diff --git a/elisp/geiser-eval.el b/elisp/geiser-eval.el index 28da110..29797e6 100644 --- a/elisp/geiser-eval.el +++ b/elisp/geiser-eval.el @@ -1,6 +1,6 @@ ;;; geiser-eval.el -- sending scheme code for evaluation -;; Copyright (C) 2009, 2010, 2011, 2012, 2013 Jose Antonio Ortega Ruiz +;; Copyright (C) 2009, 2010, 2011, 2012, 2013, 2015 Jose Antonio Ortega Ruiz ;; This program is free software; you can redistribute it and/or ;; modify it under the terms of the Modified BSD License. You should @@ -69,16 +69,6 @@ module-exports, autodoc, callers, callees and generic-methods.") ;;; Code formatting: -(defsubst geiser-eval--eval (code) - (geiser-eval--form 'eval - (geiser-eval--module (nth 1 code)) - (geiser-eval--scheme-str (nth 0 code)))) - -(defsubst geiser-eval--comp (code) - (geiser-eval--form 'compile - (geiser-eval--module (nth 1 code)) - (geiser-eval--scheme-str (nth 0 code)))) - (defsubst geiser-eval--load-file (file) (geiser-eval--form 'load-file (geiser-eval--scheme-str file))) @@ -94,6 +84,16 @@ module-exports, autodoc, callers, callees and generic-methods.") ((or (eq code :repl) (eq code :f)) :f) (t (geiser-eval--get-module code))))) +(defsubst geiser-eval--eval (code) + (geiser-eval--form 'eval + (geiser-eval--module (nth 1 code)) + (geiser-eval--scheme-str (nth 0 code)))) + +(defsubst geiser-eval--comp (code) + (geiser-eval--form 'compile + (geiser-eval--module (nth 1 code)) + (geiser-eval--scheme-str (nth 0 code)))) + (defsubst geiser-eval--ge (proc args) (apply 'geiser-eval--form (cons proc (mapcar 'geiser-eval--scheme-str args)))) @@ -154,9 +154,6 @@ module-exports, autodoc, callers, callees and generic-methods.") buffer) geiser-eval--sync-retort) -(defsubst geiser-eval--send/result (code &optional timeout buffer) - (geiser-eval--retort-result (geiser-eval--send/wait code timeout buffer))) - ;;; Retort parsing: @@ -167,6 +164,9 @@ module-exports, autodoc, callers, callees and generic-methods.") (let ((values (cdr (assoc 'result ret)))) (car (geiser-syntax--read-from-string (car values))))) +(defsubst geiser-eval--send/result (code &optional timeout buffer) + (geiser-eval--retort-result (geiser-eval--send/wait code timeout buffer))) + (defun geiser-eval--retort-result-str (ret prefix) (let* ((prefix (or prefix "=> ")) (nlprefix (concat "\n" prefix)) diff --git a/elisp/geiser-repl.el b/elisp/geiser-repl.el index 2d3f26e..76991c5 100644 --- a/elisp/geiser-repl.el +++ b/elisp/geiser-repl.el @@ -10,7 +10,6 @@ (require 'geiser-company) -(require 'geiser-compile) (require 'geiser-doc) (require 'geiser-autodoc) (require 'geiser-edit) @@ -424,7 +423,7 @@ module command as a string") (error (insert "Unable to start REPL:\n" (error-message-string err) "\n") - (error "Couldn't start Geiser" err))) + (error "Couldn't start Geiser: %s" err))) (geiser-repl--wait-for-prompt geiser-repl-startup-time))) (defun geiser-repl--wait-for-prompt (timeout) diff --git a/elisp/geiser-syntax.el b/elisp/geiser-syntax.el index 81ba8c6..42af4dd 100644 --- a/elisp/geiser-syntax.el +++ b/elisp/geiser-syntax.el @@ -1,6 +1,6 @@ ;;; geiser-syntax.el -- utilities for parsing scheme syntax -;; Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Jose Antonio Ortega Ruiz +;; Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014, 2015 Jose Antonio Ortega Ruiz ;; This program is free software; you can redistribute it and/or ;; modify it under the terms of the Modified BSD License. You should @@ -289,22 +289,6 @@ implementation-specific entries for font-lock-keywords.") sep (geiser-syntax--mapconcat fun (cdr lst) sep))))) -(defun geiser-syntax--display (a) - (cond ((null a) "()") - ((eq a :t) "#t") - ((eq a :f) "#f") - ((geiser-syntax--keywordp a) (format "#%s" a)) - ((symbolp a) (format "%s" a)) - ((equal a "...") "...") - ((stringp a) (format "%S" a)) - ((and (listp a) (symbolp (car a)) - (equal (symbol-name (car a)) "quote")) - (format "'%s" (geiser-syntax--display (cadr a)))) - ((listp a) - (format "(%s)" - (geiser-syntax--mapconcat 'geiser-syntax--display a " "))) - (t (format "%s" a)))) - ;;; Code parsing: @@ -463,7 +447,23 @@ implementation-specific entries for font-lock-keywords.") '())))))))) -;;; Fontify strings as Scheme code: +;;; Display and fontify strings as Scheme code: + +(defun geiser-syntax--display (a) + (cond ((null a) "()") + ((eq a :t) "#t") + ((eq a :f) "#f") + ((geiser-syntax--keywordp a) (format "#%s" a)) + ((symbolp a) (format "%s" a)) + ((equal a "...") "...") + ((stringp a) (format "%S" a)) + ((and (listp a) (symbolp (car a)) + (equal (symbol-name (car a)) "quote")) + (format "'%s" (geiser-syntax--display (cadr a)))) + ((listp a) + (format "(%s)" + (geiser-syntax--mapconcat 'geiser-syntax--display a " "))) + (t (format "%s" a)))) (defun geiser-syntax--font-lock-buffer () (let ((name " *geiser font lock*")) -- cgit v1.2.3