From: Peder O. Klingenberg Date: Thu, 18 Jul 2024 20:34:54 +0000 (+0200) Subject: Visualize ranking of last game when adding scores X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=fb5f640948392d9bc531e89fa2f9568c685e5d3b;p=emacs.git Visualize ranking of last game when adding scores * lisp/play/gamegrid.el (gamegrid-add-score-insecure): Move point to the score just added, or end of buffer if the new score did not make the list. This makes it easier to see where the last game ranked. (Bug#72185) (cherry picked from commit c330b97fe24088c32394fae7f52aa18315d123b0) --- diff --git a/lisp/play/gamegrid.el b/lisp/play/gamegrid.el index a098d0f6f69..36c72c5cff7 100644 --- a/lisp/play/gamegrid.el +++ b/lisp/play/gamegrid.el @@ -639,27 +639,31 @@ FILE is created there." (defun gamegrid-add-score-insecure (file score &optional directory reverse) (save-excursion - (setq file (expand-file-name file (or directory - temporary-file-directory))) - (unless (file-exists-p (file-name-directory file)) - (make-directory (file-name-directory file) t)) - (find-file-other-window file) - (setq buffer-read-only nil) - (goto-char (point-max)) - (insert (format "%05d\t%s\t%s <%s>\n" - score - (current-time-string) - (user-full-name) - user-mail-address)) - (sort-fields 1 (point-min) (point-max)) - (unless reverse - (reverse-region (point-min) (point-max))) - (goto-char (point-min)) - (forward-line gamegrid-score-file-length) - (delete-region (point) (point-max)) - (setq buffer-read-only t) - (save-buffer) - (view-mode))) + (let ((score-line (format "%05d\t%s\t%s <%s>\n" + score + (current-time-string) + (user-full-name) + user-mail-address))) + (setq file (expand-file-name file (or directory + temporary-file-directory))) + (unless (file-exists-p (file-name-directory file)) + (make-directory (file-name-directory file) t)) + (find-file-other-window file) + (setq buffer-read-only nil) + (goto-char (point-max)) + (insert score-line) + (sort-fields 1 (point-min) (point-max)) + (unless reverse + (reverse-region (point-min) (point-max))) + (goto-char (point-min)) + (forward-line gamegrid-score-file-length) + (delete-region (point) (point-max)) + (setq buffer-read-only t) + (save-buffer) + (view-mode) + (goto-char (point-min)) + (when (search-forward score-line nil 'end) + (forward-line -1))))) ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;