X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/f46305c86cd247b2396e73ce8bb064f69373834d..b9ad615e658803846192340d18919f3c7ac9b94e:/lisp/completion.el diff --git a/lisp/completion.el b/lisp/completion.el index 3fbc3c05fb..d2d94e778d 100644 --- a/lisp/completion.el +++ b/lisp/completion.el @@ -1,9 +1,9 @@ ;;; completion.el --- dynamic word-completion code -;; Copyright (C) 1990, 1993, 1995, 1997, 2001-2013 Free Software +;; Copyright (C) 1990, 1993, 1995, 1997, 2001-2014 Free Software ;; Foundation, Inc. -;; Maintainer: FSF +;; Maintainer: emacs-devel@gnu.org ;; Keywords: abbrev convenience ;; Author: Jim Salem of Thinking Machines Inc. ;; (ideas suggested by Brewster Kahle) @@ -343,9 +343,6 @@ are automatically added to the completion database." :type '(set (const lisp) (const c)) :group 'completion) -;;(defvar *record-cmpl-statistics-p* nil -;; "If non-nil, record completion statistics.") - ;;(defvar *completion-auto-save-period* 1800 ;; "The period in seconds to wait for emacs to be idle before autosaving ;;the completions. Default is a 1/2 hour.") @@ -438,8 +435,7 @@ Used to decide whether to save completions.") (defun cmpl-hours-since-origin () - (let ((time (current-time))) - (floor (+ (* 65536.0 (nth 0 time)) (nth 1 time)) 3600))) + (floor (float-time) 3600)) ;;--------------------------------------------------------------------------- ;; "Symbol" parsing functions @@ -691,16 +687,6 @@ Returns nil if there isn't one longer than `completion-min-length'." ;; Note that the guts of this has been turned off. The guts ;; are in completion-stats.el. -;;----------------------------------------------- -;; Conditionalizing code on *record-cmpl-statistics-p* -;;----------------------------------------------- -;; All statistics code outside this block should use this -(defmacro cmpl-statistics-block (&rest _body)) -;; "Only executes body if we are recording statistics." -;; (list 'cond -;; (list* '*record-cmpl-statistics-p* body) -;; )) - ;;----------------------------------------------- ;; Completion Sources ;;----------------------------------------------- @@ -1004,9 +990,7 @@ Each symbol is bound to a single completion entry.") "Initialize the completion storage. All existing completions are lost." (interactive) (setq cmpl-prefix-obarray (make-vector cmpl-obarray-length 0)) - (setq cmpl-obarray (make-vector cmpl-obarray-length 0)) - (cmpl-statistics-block - (record-clear-all-completions))) + (setq cmpl-obarray (make-vector cmpl-obarray-length 0))) (defvar completions-list-return-value) @@ -1154,9 +1138,6 @@ Returns the completion entry." (set-cmpl-prefix-entry-tail prefix-entry entry)) (t (set cmpl-db-prefix-symbol (make-cmpl-prefix-entry entry)))) - ;; statistics - (cmpl-statistics-block - (note-added-completion)) ;; set symbol (set cmpl-db-symbol (car entry))))) @@ -1206,9 +1187,6 @@ Returns the completion entry." (t ;; Start new prefix entry (set cmpl-db-prefix-symbol (make-cmpl-prefix-entry entry)))) - ;; statistics - (cmpl-statistics-block - (note-added-completion)) ;; Add it to the symbol (set cmpl-db-symbol (car entry))))) @@ -1236,9 +1214,7 @@ String must be longer than `completion-prefix-min-length'." (or (set-cmpl-prefix-entry-head prefix-entry (cdr (cmpl-prefix-entry-head prefix-entry))) ;; List is now empty - (set cmpl-db-prefix-symbol nil)))) - (cmpl-statistics-block - (note-completion-deleted))) + (set cmpl-db-prefix-symbol nil))))) (error "Unknown completion `%s'" completion-string))) ;; Tests -- @@ -1372,8 +1348,6 @@ Completions added this way will automatically be saved if (let ((string (and enable-completion (symbol-before-point))) (current-completion-source cmpl-source-separator) entry) - (cmpl-statistics-block - (note-separator-character string)) (cond (string (setq entry (add-completion-to-head string)) (if (and completion-on-separator-character @@ -1614,9 +1588,6 @@ Prefix args :: completion-prefix-min-length))) ;; get index (setq cmpl-current-index (if current-prefix-arg arg 0)) - ;; statistics - (cmpl-statistics-block - (note-complete-entered-afresh cmpl-original-string)) ;; reset database (completion-search-reset cmpl-original-string) ;; erase what we've got @@ -1626,7 +1597,7 @@ Prefix args :: ;; Get the next completion (let* ((print-status-p (and (>= baud-rate completion-prompt-speed-threshold) - (not (window-minibuffer-p (selected-window))))) + (not (window-minibuffer-p)))) (insert-point (point)) (entry (completion-search-next cmpl-current-index)) string) @@ -1649,9 +1620,6 @@ Prefix args :: (goto-char insert-point)) (t;; point at end, (setq cmpl-last-insert-location insert-point))) - ;; statistics - (cmpl-statistics-block - (note-complete-inserted entry cmpl-current-index)) ;; Done ! cmpl-stat-complete-successful ;;display the next completion (cond @@ -1677,9 +1645,6 @@ Prefix args :: (if (and print-status-p (sit-for 0)) (message "No %scompletions." (if (eq this-command last-command) "more " ""))) - ;; statistics - (cmpl-statistics-block - (record-complete-failed cmpl-current-index)) ;; Pretend that we were never here (setq this-command 'failed-complete))))) @@ -1709,25 +1674,14 @@ Prefix args :: (defun add-completions-from-buffer () (interactive) - (let ((current-completion-source cmpl-source-file-parsing) - (start-num - (cmpl-statistics-block - (aref completion-add-count-vector cmpl-source-file-parsing))) - mode) + (let ((current-completion-source cmpl-source-file-parsing)) (cond ((memq major-mode '(emacs-lisp-mode lisp-mode)) - (add-completions-from-lisp-buffer) - (setq mode 'lisp)) + (add-completions-from-lisp-buffer)) ((memq major-mode '(c-mode)) - (add-completions-from-c-buffer) - (setq mode 'c)) + (add-completions-from-c-buffer)) (t (error "Cannot parse completions in %s buffers" - major-mode))) - (cmpl-statistics-block - (record-cmpl-parse-file - mode (point-max) - (- (aref completion-add-count-vector cmpl-source-file-parsing) - start-num))))) + major-mode))))) ;; Find file hook (defun completion-find-file-hook () @@ -1960,8 +1914,7 @@ Prefix args :: ((not cmpl-completions-accepted-p) (message "Completions database has not changed - not writing.")) (t - (save-completions-to-file)))) - (cmpl-statistics-block (record-cmpl-kill-emacs))) + (save-completions-to-file))))) ;; There is no point bothering to change this again ;; unless the package changes so much that it matters @@ -1996,7 +1949,7 @@ If file name is not specified, use `save-completions-file-name'." (kept-old-versions 0) (kept-new-versions completions-file-versions-kept) last-use-time - (current-time (cmpl-hours-since-origin)) + (this-use-time (cmpl-hours-since-origin)) (total-in-db 0) (total-perm 0) (total-saved 0) @@ -2028,13 +1981,13 @@ If file name is not specified, use `save-completions-file-name'." ;; or if (if (> (completion-num-uses completion) 0) ;; it's been used - (setq last-use-time current-time) + (setq last-use-time this-use-time) ;; or it was saved before and (and last-use-time ;; save-completions-retention-time is nil (or (not save-completions-retention-time) ;; or time since last use is < ...retention-time* - (< (- current-time last-use-time) + (< (- this-use-time last-use-time) save-completions-retention-time))))) ;; write to file (setq total-saved (1+ total-saved)) @@ -2066,9 +2019,7 @@ If file name is not specified, use `save-completions-file-name'." (set-buffer-modified-p nil) (message "Couldn't save completion file `%s'" filename))) ;; Reset accepted-p flag - (setq cmpl-completions-accepted-p nil) ) - (cmpl-statistics-block - (record-save-completions total-in-db total-perm total-saved)))))) + (setq cmpl-completions-accepted-p nil) ))))) ;;(defun auto-save-completions () ;; (if (and save-completions-flag enable-completion cmpl-initialized-p @@ -2103,9 +2054,6 @@ If file is not specified, then use `save-completions-file-name'." string entry last-use-time cmpl-entry cmpl-last-use-time (current-completion-source cmpl-source-init-file) - (start-num - (cmpl-statistics-block - (aref completion-add-count-vector cmpl-source-file-parsing))) (total-in-file 0) (total-perm 0)) ;; insert the file into a buffer (condition-case nil @@ -2163,12 +2111,6 @@ If file is not specified, then use `save-completions-file-name'." (message "Loading completions from file %s . . . Done." filename)) (message "End of file while reading completions.")))))) - - (cmpl-statistics-block - (record-load-completions - total-in-file total-perm - (- (aref completion-add-count-vector cmpl-source-init-file) - start-num))) )))))) (defun completion-initialize () @@ -2201,9 +2143,7 @@ Patched to remove the most recent completion." (cond ((eq last-command 'complete) (delete-region (point) cmpl-last-insert-location) (insert cmpl-original-string) - (setq completion-to-accept nil) - (cmpl-statistics-block - (record-complete-failed))) + (setq completion-to-accept nil)) (t (kill-region beg end)))) @@ -2263,15 +2203,10 @@ TYPE is the type of the wrapper to be added. Can be :before or :under." (use-completion-before-separator))) (defun use-completion-backward-under () - (use-completion-under-point) - (if (eq last-command 'complete) - ;; probably a failed completion if you have to back up - (cmpl-statistics-block (record-complete-failed)))) + (use-completion-under-point)) (defun use-completion-backward () - (if (eq last-command 'complete) - ;; probably a failed completion if you have to back up - (cmpl-statistics-block (record-complete-failed)))) + nil) (defun completion-before-command () (funcall (or (and (symbolp this-command) @@ -2428,9 +2363,6 @@ if ARG is omitted or nil." ;; fooquux ;; fooper - (cmpl-statistics-block - (record-completion-file-loaded)) - (completion-initialize))) ;;-----------------------------------------------