From: Mattias EngdegÄrd Date: Tue, 27 Jul 2021 18:29:40 +0000 (+0200) Subject: ; * lisp/completion.el (load-completions-from-file): Simplify X-Git-Tag: emacs-28.0.90~1676 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=b4173443fbc2a7c5d318767c503dae228eca2e3c;p=emacs.git ; * lisp/completion.el (load-completions-from-file): Simplify Use a condition-case :success clause instead flags for control. --- diff --git a/lisp/completion.el b/lisp/completion.el index dc0af36cd2d..93a869e86f4 100644 --- a/lisp/completion.el +++ b/lisp/completion.el @@ -1917,68 +1917,64 @@ If file is not specified, then use `save-completions-file-name'." (clear-visited-file-modtime) (erase-buffer) - (let ((insert-okay-p nil) - (buffer (current-buffer)) + (let ((buffer (current-buffer)) string entry last-use-time cmpl-entry cmpl-last-use-time (current-completion-source cmpl-source-init-file) (total-in-file 0) (total-perm 0)) ;; insert the file into a buffer (condition-case nil - (progn (insert-file-contents filename t) - (setq insert-okay-p t)) - + (insert-file-contents filename t) (file-error (message "File error trying to load completion file %s." - filename))) - ;; parse it - (if insert-okay-p - (progn - (goto-char (point-min)) - - (condition-case nil - (while t - (setq entry (read buffer)) - (setq total-in-file (1+ total-in-file)) - (cond - ((and (consp entry) - (stringp (setq string (car entry))) - (cond - ((eq (setq last-use-time (cdr entry)) 'T) - ;; handle case sensitivity - (setq total-perm (1+ total-perm)) - (setq last-use-time t)) - ((eq last-use-time t) - (setq total-perm (1+ total-perm))) - ((integerp last-use-time)))) - ;; Valid entry - ;; add it in - (setq cmpl-last-use-time - (completion-last-use-time - (setq cmpl-entry - (add-completion-to-tail-if-new string)))) - (if (or (eq last-use-time t) - (and (> last-use-time 1000);;backcompatibility - (not (eq cmpl-last-use-time t)) - (or (not cmpl-last-use-time) - ;; more recent - (> last-use-time cmpl-last-use-time)))) - ;; update last-use-time - (set-completion-last-use-time cmpl-entry last-use-time))) - (t - ;; Bad format - (message "Error: invalid saved completion - %s" - (prin1-to-string entry)) - ;; try to get back in sync - (search-forward "\n(")))) - (search-failed - (message "End of file while reading completions.")) - (end-of-file - (if (= (point) (point-max)) - (if (not no-message-p) - (message "Loading completions from file %s . . . Done." - filename)) - (message "End of file while reading completions.")))))) + filename)) + (:success + ;; parse it + (goto-char (point-min)) + + (condition-case nil + (while t + (setq entry (read buffer)) + (setq total-in-file (1+ total-in-file)) + (cond + ((and (consp entry) + (stringp (setq string (car entry))) + (cond + ((eq (setq last-use-time (cdr entry)) 'T) + ;; handle case sensitivity + (setq total-perm (1+ total-perm)) + (setq last-use-time t)) + ((eq last-use-time t) + (setq total-perm (1+ total-perm))) + ((integerp last-use-time)))) + ;; Valid entry + ;; add it in + (setq cmpl-last-use-time + (completion-last-use-time + (setq cmpl-entry + (add-completion-to-tail-if-new string)))) + (if (or (eq last-use-time t) + (and (> last-use-time 1000);;backcompatibility + (not (eq cmpl-last-use-time t)) + (or (not cmpl-last-use-time) + ;; more recent + (> last-use-time cmpl-last-use-time)))) + ;; update last-use-time + (set-completion-last-use-time cmpl-entry last-use-time))) + (t + ;; Bad format + (message "Error: invalid saved completion - %s" + (prin1-to-string entry)) + ;; try to get back in sync + (search-forward "\n(")))) + (search-failed + (message "End of file while reading completions.")) + (end-of-file + (if (= (point) (point-max)) + (if (not no-message-p) + (message "Loading completions from file %s . . . Done." + filename)) + (message "End of file while reading completions.")))))) )))))) (defun completion-initialize ()