mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
(eval-when-compile-load-eval, completion-eval-when)
(cmpl-read-time-eval, minibuffer-window-selected-p): Remove. (completion-min-length, completion-max-length) (completion-prefix-min-length): Don't hard-code the default value when byte-compiling. (complete): Inline minibuffer-window-selected-p.
This commit is contained in:
parent
821b278f80
commit
7975cb9fe0
1 changed files with 25 additions and 58 deletions
|
|
@ -75,7 +75,7 @@
|
|||
;; When you load this file, completion will be on. I suggest you use the
|
||||
;; compiled version (because it is noticeably faster).
|
||||
;;
|
||||
;; M-X completion-mode toggles whether or not new words are added to the
|
||||
;; M-x completion-mode toggles whether or not new words are added to the
|
||||
;; database by changing the value of enable-completion.
|
||||
;;
|
||||
;; SAVING/LOADING COMPLETIONS
|
||||
|
|
@ -350,32 +350,18 @@ are automatically added to the completion database."
|
|||
;; "*The period in seconds to wait for emacs to be idle before autosaving
|
||||
;;the completions. Default is a 1/2 hour.")
|
||||
|
||||
(defconst completion-min-length nil ;; defined below in eval-when
|
||||
(defvar completion-min-length 6
|
||||
"*The minimum length of a stored completion.
|
||||
DON'T CHANGE WITHOUT RECOMPILING ! This is used by macros.")
|
||||
|
||||
(defconst completion-max-length nil ;; defined below in eval-when
|
||||
(defvar completion-max-length 200
|
||||
"*The maximum length of a stored completion.
|
||||
DON'T CHANGE WITHOUT RECOMPILING ! This is used by macros.")
|
||||
|
||||
(defconst completion-prefix-min-length nil ;; defined below in eval-when
|
||||
(defvar completion-prefix-min-length 3
|
||||
"The minimum length of a completion search string.
|
||||
DON'T CHANGE WITHOUT RECOMPILING ! This is used by macros.")
|
||||
|
||||
(defmacro eval-when-compile-load-eval (&rest body)
|
||||
;; eval everything before expanding
|
||||
(mapcar 'eval body)
|
||||
(cons 'progn body))
|
||||
|
||||
(defun completion-eval-when ()
|
||||
(eval-when-compile-load-eval
|
||||
;; These vars. are defined at both compile and load time.
|
||||
(setq completion-min-length 6)
|
||||
(setq completion-max-length 200)
|
||||
(setq completion-prefix-min-length 3)))
|
||||
|
||||
(completion-eval-when)
|
||||
|
||||
;;---------------------------------------------------------------------------
|
||||
;; Internal Variables
|
||||
;;---------------------------------------------------------------------------
|
||||
|
|
@ -396,18 +382,6 @@ Used to decide whether to save completions.")
|
|||
;; Low level tools
|
||||
;;---------------------------------------------------------------------------
|
||||
|
||||
;;-----------------------------------------------
|
||||
;; Misc.
|
||||
;;-----------------------------------------------
|
||||
|
||||
(defun minibuffer-window-selected-p ()
|
||||
"True iff the current window is the minibuffer."
|
||||
(window-minibuffer-p (selected-window)))
|
||||
|
||||
;; This used to be `(eval form)'. Eval FORM at run time now.
|
||||
(defmacro cmpl-read-time-eval (form)
|
||||
form)
|
||||
|
||||
;;-----------------------------------------------
|
||||
;; String case coercion
|
||||
;;-----------------------------------------------
|
||||
|
|
@ -592,7 +566,7 @@ Used to decide whether to save completions.")
|
|||
(defvar cmpl-saved-point nil)
|
||||
|
||||
(defun symbol-under-point ()
|
||||
"Returns the symbol that the point is currently on.
|
||||
"Return the symbol that the point is currently on.
|
||||
But only if it is longer than `completion-min-length'."
|
||||
(setq cmpl-saved-syntax (syntax-table))
|
||||
(unwind-protect
|
||||
|
|
@ -617,10 +591,10 @@ But only if it is longer than `completion-min-length'."
|
|||
(setq cmpl-symbol-end (point))
|
||||
(goto-char cmpl-saved-point)))
|
||||
;; Return completion if the length is reasonable.
|
||||
(if (and (<= (cmpl-read-time-eval completion-min-length)
|
||||
(if (and (<= completion-min-length
|
||||
(- cmpl-symbol-end cmpl-symbol-start))
|
||||
(<= (- cmpl-symbol-end cmpl-symbol-start)
|
||||
(cmpl-read-time-eval completion-max-length)))
|
||||
completion-max-length))
|
||||
(buffer-substring cmpl-symbol-start cmpl-symbol-end)))))
|
||||
(set-syntax-table cmpl-saved-syntax)))
|
||||
|
||||
|
|
@ -637,7 +611,7 @@ But only if it is longer than `completion-min-length'."
|
|||
;;
|
||||
|
||||
(defun symbol-before-point ()
|
||||
"Returns a string of the symbol immediately before point.
|
||||
"Return a string of the symbol immediately before point.
|
||||
Returns nil if there isn't one longer than `completion-min-length'."
|
||||
;; This is called when a word separator is typed so it must be FAST !
|
||||
(setq cmpl-saved-syntax (syntax-table))
|
||||
|
|
@ -657,8 +631,7 @@ Returns nil if there isn't one longer than `completion-min-length'."
|
|||
(goto-char cmpl-symbol-end)))
|
||||
;; Return value if long enough.
|
||||
(if (>= cmpl-symbol-end
|
||||
(+ cmpl-symbol-start
|
||||
(cmpl-read-time-eval completion-min-length)))
|
||||
(+ cmpl-symbol-start completion-min-length))
|
||||
(buffer-substring cmpl-symbol-start cmpl-symbol-end)))
|
||||
((= cmpl-preceding-syntax ?w)
|
||||
;; chars to ignore at end
|
||||
|
|
@ -675,10 +648,10 @@ Returns nil if there isn't one longer than `completion-min-length'."
|
|||
;; Restore state.
|
||||
(goto-char cmpl-saved-point)
|
||||
;; Return completion if the length is reasonable
|
||||
(if (and (<= (cmpl-read-time-eval completion-min-length)
|
||||
(if (and (<= completion-min-length
|
||||
(- cmpl-symbol-end cmpl-symbol-start))
|
||||
(<= (- cmpl-symbol-end cmpl-symbol-start)
|
||||
(cmpl-read-time-eval completion-max-length)))
|
||||
completion-max-length))
|
||||
(buffer-substring cmpl-symbol-start cmpl-symbol-end)))))
|
||||
(set-syntax-table cmpl-saved-syntax)))
|
||||
|
||||
|
|
@ -734,11 +707,10 @@ Returns nil if there isn't one longer than `completion-min-length'."
|
|||
(setq cmpl-symbol-start (point))
|
||||
(goto-char cmpl-symbol-end)))
|
||||
;; Return completion if the length is reasonable.
|
||||
(if (and (<= (cmpl-read-time-eval
|
||||
completion-prefix-min-length)
|
||||
(if (and (<= completion-prefix-min-length
|
||||
(- cmpl-symbol-end cmpl-symbol-start))
|
||||
(<= (- cmpl-symbol-end cmpl-symbol-start)
|
||||
(cmpl-read-time-eval completion-max-length)))
|
||||
completion-max-length))
|
||||
(buffer-substring cmpl-symbol-start cmpl-symbol-end)))))
|
||||
;; Restore syntax table.
|
||||
(set-syntax-table cmpl-saved-syntax)))
|
||||
|
|
@ -833,7 +805,7 @@ Returns nil if there isn't one longer than `completion-min-length'."
|
|||
|
||||
|
||||
(defun reset-cdabbrev (abbrev-string &optional initial-completions-tried)
|
||||
"Resets the cdabbrev search to search for abbrev-string.
|
||||
"Reset the cdabbrev search to search for ABBREV-STRING.
|
||||
INITIAL-COMPLETIONS-TRIED is a list of downcased strings to ignore
|
||||
during the search."
|
||||
(setq cdabbrev-abbrev-string abbrev-string
|
||||
|
|
@ -849,7 +821,7 @@ during the search."
|
|||
|
||||
|
||||
(defun reset-cdabbrev-window (&optional initializep)
|
||||
"Resets the cdabbrev search to search for abbrev-string."
|
||||
"Reset the cdabbrev search to search for abbrev-string."
|
||||
;; Set the window
|
||||
(cond (initializep
|
||||
(setq cdabbrev-current-window (selected-window)))
|
||||
|
|
@ -1037,7 +1009,7 @@ Each symbol is bound to a single completion entry.")
|
|||
|
||||
;; CONSTRUCTOR
|
||||
(defun make-completion (string)
|
||||
"Returns a list of a completion entry."
|
||||
"Return a list of a completion entry."
|
||||
(list (list string 0 nil current-completion-source)))
|
||||
|
||||
;; Obsolete
|
||||
|
|
@ -1070,7 +1042,7 @@ Each symbol is bound to a single completion entry.")
|
|||
;; Constructor
|
||||
|
||||
(defun make-cmpl-prefix-entry (completion-entry-list)
|
||||
"Makes a new prefix entry containing only completion-entry."
|
||||
"Make a new prefix entry containing only completion-entry."
|
||||
(cons completion-entry-list completion-entry-list))
|
||||
|
||||
;;-----------------------------------------------
|
||||
|
|
@ -1221,8 +1193,7 @@ Returns the completion entry."
|
|||
;; setup the prefix
|
||||
(prefix-entry (find-cmpl-prefix-entry
|
||||
(substring cmpl-db-downcase-string 0
|
||||
(cmpl-read-time-eval
|
||||
completion-prefix-min-length)))))
|
||||
completion-prefix-min-length))))
|
||||
;; The next two forms should happen as a unit (atomically) but
|
||||
;; no fatal errors should result if that is not the case.
|
||||
(cond (prefix-entry
|
||||
|
|
@ -1253,8 +1224,7 @@ Returns the completion entry."
|
|||
;; found
|
||||
(let* ((prefix-entry (find-cmpl-prefix-entry
|
||||
(substring cmpl-db-downcase-string 0
|
||||
(cmpl-read-time-eval
|
||||
completion-prefix-min-length))))
|
||||
completion-prefix-min-length)))
|
||||
(splice-ptr (locate-completion-entry cmpl-db-entry prefix-entry))
|
||||
(cmpl-ptr (cdr splice-ptr)))
|
||||
;; update entry
|
||||
|
|
@ -1277,8 +1247,7 @@ Returns the completion entry."
|
|||
;; setup the prefix
|
||||
(prefix-entry (find-cmpl-prefix-entry
|
||||
(substring cmpl-db-downcase-string 0
|
||||
(cmpl-read-time-eval
|
||||
completion-prefix-min-length)))))
|
||||
completion-prefix-min-length))))
|
||||
(cond (prefix-entry
|
||||
;; Splice in at head
|
||||
(setcdr entry (cmpl-prefix-entry-head prefix-entry))
|
||||
|
|
@ -1301,8 +1270,7 @@ String must be longer than `completion-prefix-min-length'."
|
|||
;; found
|
||||
(let* ((prefix-entry (find-cmpl-prefix-entry
|
||||
(substring cmpl-db-downcase-string 0
|
||||
(cmpl-read-time-eval
|
||||
completion-prefix-min-length))))
|
||||
completion-prefix-min-length)))
|
||||
(splice-ptr (locate-completion-entry cmpl-db-entry prefix-entry)))
|
||||
;; delete symbol reference
|
||||
(set cmpl-db-symbol nil)
|
||||
|
|
@ -1577,7 +1545,7 @@ If there are no more entries, try cdabbrev and returns only a string."
|
|||
|
||||
|
||||
(defun completion-search-peek (use-cdabbrev)
|
||||
"Returns the next completion entry without actually moving the pointers.
|
||||
"Return the next completion entry without actually moving the pointers.
|
||||
Calling this again or calling `completion-search-next' results in the same
|
||||
string being returned. Depends on `case-fold-search'.
|
||||
If there are no more entries, try cdabbrev and then return only a string."
|
||||
|
|
@ -1707,7 +1675,7 @@ Prefix args ::
|
|||
;; Get the next completion
|
||||
(let* ((print-status-p
|
||||
(and (>= baud-rate completion-prompt-speed-threshold)
|
||||
(not (minibuffer-window-selected-p))))
|
||||
(not (window-minibuffer-p (selected-window)))))
|
||||
(insert-point (point))
|
||||
(entry (completion-search-next cmpl-current-index))
|
||||
string)
|
||||
|
|
@ -2266,7 +2234,7 @@ If file is not specified, then use `save-completions-file-name'."
|
|||
|
||||
(defun initialize-completions ()
|
||||
"Load the default completions file.
|
||||
Also sets up so that exiting emacs will automatically save the file."
|
||||
Also sets up so that exiting Emacs will automatically save the file."
|
||||
(interactive)
|
||||
(cond ((not cmpl-initialized-p)
|
||||
(load-completions-from-file)))
|
||||
|
|
@ -2531,8 +2499,7 @@ TYPE is the type of the wrapper to be added. Can be :before or :under."
|
|||
|
||||
(initialize-completions))
|
||||
|
||||
(mapc (lambda (x)
|
||||
(add-to-list 'debug-ignored-errors x))
|
||||
(mapc (lambda (x) (add-to-list 'debug-ignored-errors x))
|
||||
'("^To complete, the point must be after a symbol at least [0-9]* character long\\.$"
|
||||
"^The string \".*\" is too short to be saved as a completion\\.$"))
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue