X-Git-Url: https://git.hcoop.net/bpt/emacs.git/blobdiff_plain/e983096bb6a50fdae6625cb363642bcd74ec39c5..acaf905b1130aae80fa59d2c861ffd4c8eb75486:/lisp/completion.el diff --git a/lisp/completion.el b/lisp/completion.el index 8779eeda59..485305b6e4 100644 --- a/lisp/completion.el +++ b/lisp/completion.el @@ -1,7 +1,7 @@ ;;; completion.el --- dynamic word-completion code -;; Copyright (C) 1990, 1993, 1995, 1997, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +;; Copyright (C) 1990, 1993, 1995, 1997, 2001-2012 +;; Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: abbrev convenience @@ -10,10 +10,10 @@ ;; This file is part of GNU Emacs. -;; GNU Emacs is free software; you can redistribute it and/or modify +;; GNU Emacs is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 3, or (at your option) -;; any later version. +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. ;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -21,9 +21,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -;; Boston, MA 02110-1301, USA. +;; along with GNU Emacs. If not, see . ;;; Commentary: @@ -298,13 +296,7 @@ See also `save-completions-retention-time'." :group 'completion) (defcustom save-completions-file-name - (let ((olddef (convert-standard-filename "~/.completions"))) - (cond - ((file-readable-p olddef) olddef) - ((file-directory-p user-emacs-directory) - (convert-standard-filename - (expand-file-name "completions" user-emacs-directory))) - (t olddef))) + (locate-user-emacs-file "completions" ".completions") "The filename to save completions to." :type 'file :group 'completion) @@ -703,7 +695,7 @@ Returns nil if there isn't one longer than `completion-min-length'." ;; Conditionalizing code on *record-cmpl-statistics-p* ;;----------------------------------------------- ;; All statistics code outside this block should use this -(defmacro cmpl-statistics-block (&rest body)) +(defmacro cmpl-statistics-block (&rest _body)) ;; "Only executes body if we are recording statistics." ;; (list 'cond ;; (list* '*record-cmpl-statistics-p* body) @@ -1171,7 +1163,7 @@ Returns the completion entry." (defun add-completion-to-head (completion-string) "If COMPLETION-STRING is not in the database, add it to prefix list. We add COMPLETION-STRING to the head of the appropriate prefix list, -or it to the head of the list. +or to the head of the list. COMPLETION-STRING must be longer than `completion-prefix-min-length'. Updates the saved string with the supplied string. This must be very fast. @@ -1315,11 +1307,11 @@ String must be longer than `completion-prefix-min-length'." (defun add-completion (string &optional num-uses last-use-time) "Add STRING to completion list, or move it to head of list. -The completion is altered appropriately if num-uses and/or last-use-time is -specified." +The completion is altered appropriately if NUM-USES and/or LAST-USE-TIME +are specified." (interactive (interactive-completion-string-reader "Completion to add")) (check-completion-length string) - (let* ((current-completion-source (if (interactive-p) + (let* ((current-completion-source (if (called-interactively-p 'interactive) cmpl-source-interactive current-completion-source)) (entry (add-completion-to-head string))) @@ -1332,7 +1324,7 @@ specified." "Add STRING if it isn't already listed, and mark it permanent." (interactive (interactive-completion-string-reader "Completion to add permanently")) - (let ((current-completion-source (if (interactive-p) + (let ((current-completion-source (if (called-interactively-p 'interactive) cmpl-source-interactive current-completion-source))) (add-completion string nil t))) @@ -1465,7 +1457,7 @@ STRING must be longer than `completion-prefix-min-length'." (defun completion-search-next (index) "Return the next completion entry. If INDEX is out of sequence, reset and start from the top. -If there are no more entries, try cdabbrev and returns only a string." +If there are no more entries, try cdabbrev and return only a string." (cond ((= index (setq cmpl-last-index (1+ cmpl-last-index))) (completion-search-peek t)) @@ -1701,7 +1693,7 @@ Prefix args :: ;; User interface (defun add-completions-from-file (file) - "Parse possible completions from a FILE and add them to data base." + "Parse possible completions from a FILE and add them to database." (interactive "fFile: ") (setq file (expand-file-name file)) (let* ((buffer (get-file-buffer file)) @@ -1759,7 +1751,7 @@ Prefix args :: (save-excursion (goto-char (point-min)) (let (string) - (condition-case e + (condition-case nil (while t (search-forward "\177") (backward-char 3) @@ -1796,7 +1788,7 @@ Prefix args :: (let (string) (save-excursion (goto-char (point-min)) - (condition-case e + (condition-case nil (while t (re-search-forward *lisp-def-regexp*) (and (setq string (symbol-under-point)) @@ -2050,7 +2042,7 @@ If file name is not specified, use `save-completions-file-name'." last-use-time)) "\n")))) ;; write the buffer - (condition-case e + (condition-case nil (let ((file-exists-p (file-exists-p filename))) (if file-exists-p (progn @@ -2116,7 +2108,7 @@ If file is not specified, then use `save-completions-file-name'." (aref completion-add-count-vector cmpl-source-file-parsing))) (total-in-file 0) (total-perm 0)) ;; insert the file into a buffer - (condition-case e + (condition-case nil (progn (insert-file-contents filename t) (setq insert-okay-p t)) @@ -2128,7 +2120,7 @@ If file is not specified, then use `save-completions-file-name'." (progn (goto-char (point-min)) - (condition-case e + (condition-case nil (while t (setq entry (read buffer)) (setq total-in-file (1+ total-in-file)) @@ -2478,5 +2470,4 @@ TYPE is the type of the wrapper to be added. Can be :before or :under." (provide 'completion) -;; arch-tag: 6990dafe-4abd-4a1f-8c42-ffb25e120f5e ;;; completion.el ends here