|  | @@ -55,11 +55,6 @@
 | 
	
		
			
				|  |  |  ;; with lexical information will display that informatio in a "term"
 | 
	
		
			
				|  |  |  ;; buffer.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -;;;
 | 
	
		
			
				|  |  | -;;; "bm-" is used as shorthand (see Local Variables) for "bible-mode-"
 | 
	
		
			
				|  |  | -;;; Names of the form "bm--" are intended to be "unexported".
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  ;;; Code:
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  ;;;; Requirements
 | 
	
	
		
			
				|  | @@ -240,6 +235,8 @@ which are of the form
 | 
	
		
			
				|  |  |  (defvar-local bible-mode-search-mode "phrase"
 | 
	
		
			
				|  |  |    "Search mode: either `lucene' or `phrase'.")
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +(defvar bible-mode-search-range nil)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  (defvar-local bible-mode-has-strongs nil
 | 
	
		
			
				|  |  |    "Set if the module being displayed has strongs numbers availabile.")
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -319,7 +316,7 @@ which are of the form
 | 
	
		
			
				|  |  |  	    '("Bible Search" . bible-search))
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  ;;;; Not yet
 | 
	
		
			
				|  |  | -;;;(define-key bible-mode-map "r" 'bible-mode-set-search-range)
 | 
	
		
			
				|  |  | +(define-key bible-mode-map "r" 'bible-mode-set-search-range)
 | 
	
		
			
				|  |  |  ;;;;; Misc
 | 
	
		
			
				|  |  |  (define-key bible-mode-map "m" 'bible-mode-select-module)
 | 
	
		
			
				|  |  |  (define-key bible-mode-map "w" 'bible-mode-toggle-word-study)
 | 
	
	
		
			
				|  | @@ -566,6 +563,17 @@ Genesis 1:1 is used."
 | 
	
		
			
				|  |  |      (when chapter
 | 
	
		
			
				|  |  |        (bible-mode--set-location bible-mode-current-book chapter))))
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +(defun bible-mode-set-search-range ()
 | 
	
		
			
				|  |  | +  "Ask user for a new text module for the current `bible-mode' buffer."
 | 
	
		
			
				|  |  | +  (interactive)
 | 
	
		
			
				|  |  | +  (let ((range (read-string "Range (<return> to clear): " nil nil nil)))
 | 
	
		
			
				|  |  | +    (if (string-equal range "")
 | 
	
		
			
				|  |  | +	(setq bible-mode-search-range nil)
 | 
	
		
			
				|  |  | +      (setq bible-mode-search-range range))
 | 
	
		
			
				|  |  | +;;    (bible-mode--display)
 | 
	
		
			
				|  |  | +))
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  ;;;###autoload
 | 
	
		
			
				|  |  |  (defun bible-mode-select-module ()
 | 
	
		
			
				|  |  |    "Ask user for a new text module for the current `bible-mode' buffer."
 | 
	
	
		
			
				|  | @@ -650,7 +658,6 @@ OT/NT etc. If that module doesn't have that verse...???"
 | 
	
		
			
				|  |  |  	(setq book-abbrev (car verse-ref))
 | 
	
		
			
				|  |  |  	(setq chapter-verse (split-string (cadr verse-ref) ":"))))
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    ;;    (setq book (cdr (assoc book-abbrev bible-mode-book-name-abbreviations-alist)))
 | 
	
		
			
				|  |  |      (setq book (car verse-ref))
 | 
	
		
			
				|  |  |      (setq chapter (car chapter-verse)
 | 
	
		
			
				|  |  |  	  verse (cadr chapter-verse))
 | 
	
	
		
			
				|  | @@ -698,7 +705,8 @@ OT/NT etc. If that module doesn't have that verse...???"
 | 
	
		
			
				|  |  |  	(if searchtype
 | 
	
		
			
				|  |  |  	    (progn
 | 
	
		
			
				|  |  |  	      (setq filter nil) ; search is not compatible with filters XXX
 | 
	
		
			
				|  |  | -	      (setq args (append args (list "-s" (pcase searchtype ("lucene" "lucene") ("phrase" "phrase"))))))
 | 
	
		
			
				|  |  | +	      (setq args (append args (list "-s" (pcase searchtype ("lucene" "lucene") ("phrase" "phrase")))))
 | 
	
		
			
				|  |  | +	      (when bible-mode-search-range (setq args (append args (list "-r" bible-mode-search-range)))))
 | 
	
		
			
				|  |  |  	  (progn
 | 
	
		
			
				|  |  |  	    (if filter
 | 
	
		
			
				|  |  |  		(setq filter (concat filter diatheke-filter-options))
 | 
	
	
		
			
				|  | @@ -1283,13 +1291,14 @@ Module MOD is used for the query."
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	  (when match
 | 
	
		
			
				|  |  |  	    (push
 | 
	
		
			
				|  |  | -	     ;; Massage match to make it more sortable, get rid of
 | 
	
		
			
				|  |  | -	     ;; some characters.
 | 
	
		
			
				|  |  | +	     ;; Massage match to make it more sortable, get rid of some characters.
 | 
	
		
			
				|  |  |  	     (replace-regexp-in-string 
 | 
	
		
			
				|  |  |  	      "I " "1"
 | 
	
		
			
				|  |  |  	      (replace-regexp-in-string
 | 
	
		
			
				|  |  |  	       "II " "2"
 | 
	
		
			
				|  |  | -	       (replace-regexp-in-string ".+; " "" matchstr)))
 | 
	
		
			
				|  |  | +	       (replace-regexp-in-string
 | 
	
		
			
				|  |  | +		"III " "3"
 | 
	
		
			
				|  |  | +		(replace-regexp-in-string ".+; " "" matchstr))))
 | 
	
		
			
				|  |  |  	     verses)))
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	(setq match 0)
 | 
	
	
		
			
				|  | @@ -1309,7 +1318,10 @@ Module MOD is used for the query."
 | 
	
		
			
				|  |  |  	  (while (search-forward (concat "(" mod ")") nil t)
 | 
	
		
			
				|  |  |  	    (replace-match "")))))
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    (setq mode-name (concat "Bible Search (" mod ")"))
 | 
	
		
			
				|  |  | +    (setq mode-name (concat "Bible Search (" mod))
 | 
	
		
			
				|  |  | +    (when bible-mode-search-range
 | 
	
		
			
				|  |  | +      (setq mode-name (concat mode-name " [" bible-mode-search-range "]")))
 | 
	
		
			
				|  |  | +    (setq mode-name (concat mode-name ")"))
 | 
	
		
			
				|  |  |      (setq buffer-read-only t)
 | 
	
		
			
				|  |  |      (setq-local bible-mode-search-query query)
 | 
	
		
			
				|  |  |      (setq-local bible-mode-search-mode searchmode)
 |