Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 5919418

Browse filesBrowse files
syohexbbatsov
authored andcommitted
Declare global variable before referenced
1 parent dca9f19 commit 5919418
Copy full SHA for 5919418

File tree

Expand file treeCollapse file tree

1 file changed

+54
-54
lines changed
Filter options
Expand file treeCollapse file tree

1 file changed

+54
-54
lines changed

‎inf-clojure.el

Copy file name to clipboardExpand all lines: inf-clojure.el
+54-54Lines changed: 54 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,47 @@
154154
(macroexpand . "(clojure.core/macroexpand '%s)")
155155
(macroexpand-1 . "(clojure.core/macroexpand-1 '%s)")))))
156156

157+
(defvar-local inf-clojure-repl-type nil
158+
"Symbol to define your REPL type.
159+
Its root binding is nil and it can be further customized using
160+
either `setq-local` or an entry in `.dir-locals.el`." )
161+
162+
(defvar inf-clojure-buffer nil
163+
"The current `inf-clojure' process buffer.
164+
165+
MULTIPLE PROCESS SUPPORT
166+
===========================================================================
167+
To run multiple Clojure processes, you start the first up
168+
with \\[inf-clojure]. It will be in a buffer named `*inf-clojure*'.
169+
Rename this buffer with \\[rename-buffer]. You may now start up a new
170+
process with another \\[inf-clojure]. It will be in a new buffer,
171+
named `*inf-clojure*'. You can switch between the different process
172+
buffers with \\[switch-to-buffer].
173+
174+
Commands that send text from source buffers to Clojure processes --
175+
like `inf-clojure-eval-defun' or `inf-clojure-show-arglists' -- have to choose a
176+
process to send to, when you have more than one Clojure process around. This
177+
is determined by the global variable `inf-clojure-buffer'. Suppose you
178+
have three inferior Clojures running:
179+
Buffer Process
180+
foo inf-clojure
181+
bar inf-clojure<2>
182+
*inf-clojure* inf-clojure<3>
183+
If you do a \\[inf-clojure-eval-defun] command on some Clojure source code,
184+
what process do you send it to?
185+
186+
- If you're in a process buffer (foo, bar, or *inf-clojure*),
187+
you send it to that process.
188+
- If you're in some other buffer (e.g., a source file), you
189+
send it to the process attached to buffer `inf-clojure-buffer'.
190+
This process selection is performed by function `inf-clojure-proc'.
191+
192+
Whenever \\[inf-clojure] fires up a new process, it resets
193+
`inf-clojure-buffer' to be the new process's buffer. If you only run
194+
one process, this does the right thing. If you run multiple
195+
processes, you might need to change `inf-clojure-buffer' to
196+
whichever process buffer you want to use.")
197+
157198
(defun inf-clojure--get-feature (repl-type feature no-error)
158199
"Get FEATURE for REPL-TYPE from repl-features.
159200
If no-error is truthy don't error if feature is not present."
@@ -232,11 +273,6 @@ buffers after they are created with `rename-buffer'."
232273
(setq inf-clojure-buffer (get-buffer repl-buffer)))
233274
(user-error "No buffers have an inf-clojure process")))))
234275

235-
(defvar-local inf-clojure-repl-type nil
236-
"Symbol to define your REPL type.
237-
Its root binding is nil and it can be further customized using
238-
either `setq-local` or an entry in `.dir-locals.el`." )
239-
240276
(defvar inf-clojure--repl-type-lock nil
241277
"Global lock for protecting against proc filter race conditions.
242278
See http://blog.jorgenschaefer.de/2014/05/race-conditions-in-emacs-process-filter.html")
@@ -544,42 +580,6 @@ See command `inf-clojure-minor-mode'."
544580
(with-current-buffer buffer
545581
(inf-clojure-minor-mode -1))))
546582

547-
(defvar inf-clojure-buffer nil
548-
"The current `inf-clojure' process buffer.
549-
550-
MULTIPLE PROCESS SUPPORT
551-
===========================================================================
552-
To run multiple Clojure processes, you start the first up
553-
with \\[inf-clojure]. It will be in a buffer named `*inf-clojure*'.
554-
Rename this buffer with \\[rename-buffer]. You may now start up a new
555-
process with another \\[inf-clojure]. It will be in a new buffer,
556-
named `*inf-clojure*'. You can switch between the different process
557-
buffers with \\[switch-to-buffer].
558-
559-
Commands that send text from source buffers to Clojure processes --
560-
like `inf-clojure-eval-defun' or `inf-clojure-show-arglists' -- have to choose a
561-
process to send to, when you have more than one Clojure process around. This
562-
is determined by the global variable `inf-clojure-buffer'. Suppose you
563-
have three inferior Clojures running:
564-
Buffer Process
565-
foo inf-clojure
566-
bar inf-clojure<2>
567-
*inf-clojure* inf-clojure<3>
568-
If you do a \\[inf-clojure-eval-defun] command on some Clojure source code,
569-
what process do you send it to?
570-
571-
- If you're in a process buffer (foo, bar, or *inf-clojure*),
572-
you send it to that process.
573-
- If you're in some other buffer (e.g., a source file), you
574-
send it to the process attached to buffer `inf-clojure-buffer'.
575-
This process selection is performed by function `inf-clojure-proc'.
576-
577-
Whenever \\[inf-clojure] fires up a new process, it resets
578-
`inf-clojure-buffer' to be the new process's buffer. If you only run
579-
one process, this does the right thing. If you run multiple
580-
processes, you might need to change `inf-clojure-buffer' to
581-
whichever process buffer you want to use.")
582-
583583
(define-derived-mode inf-clojure-mode comint-mode "Inferior Clojure"
584584
"Major mode for interacting with an inferior Clojure process.
585585
Runs a Clojure interpreter as a subprocess of Emacs, with Clojure
@@ -1253,19 +1253,6 @@ every other EXPR will be discarded and nil will be returned."
12531253
(inf-clojure--read-or-nil)
12541254
(inf-clojure--list-or-nil)))
12551255

1256-
(defun inf-clojure-completions (expr)
1257-
"Return completions for the Clojure expression starting with EXPR.
1258-
1259-
Under the hood it calls the function
1260-
\\[inf-clojure-completions-fn] passing in the result of
1261-
evaluating \\[inf-clojure-completion-form] at the REPL."
1262-
(let* ((proc (inf-clojure-proc 'no-error))
1263-
(completion-form (inf-clojure-get-feature proc 'completion t)))
1264-
(when (and proc completion-form (not (string-blank-p expr)))
1265-
(let ((completion-expr (format completion-form (substring-no-properties expr))))
1266-
(funcall inf-clojure-completions-fn
1267-
(inf-clojure--process-response completion-expr proc "(" ")"))))))
1268-
12691256
(defcustom inf-clojure-completions-fn 'inf-clojure-list-completions
12701257
"The function that parses completion results.
12711258
@@ -1290,6 +1277,19 @@ you might want to use in your customization."
12901277
:type 'function
12911278
:package-version '(inf-clojure . "2.1.0"))
12921279

1280+
(defun inf-clojure-completions (expr)
1281+
"Return completions for the Clojure expression starting with EXPR.
1282+
1283+
Under the hood it calls the function
1284+
\\[inf-clojure-completions-fn] passing in the result of
1285+
evaluating \\[inf-clojure-completion-form] at the REPL."
1286+
(let* ((proc (inf-clojure-proc 'no-error))
1287+
(completion-form (inf-clojure-get-feature proc 'completion t)))
1288+
(when (and proc completion-form (not (string-blank-p expr)))
1289+
(let ((completion-expr (format completion-form (substring-no-properties expr))))
1290+
(funcall inf-clojure-completions-fn
1291+
(inf-clojure--process-response completion-expr proc "(" ")"))))))
1292+
12931293
(defconst inf-clojure-clojure-expr-break-chars "^[] \"'`><,;|&{()[@\\^]"
12941294
"Regexp are hard.
12951295

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.