diff options
| author | Paul Eggert | 2015-07-31 10:12:37 -0700 |
|---|---|---|
| committer | Paul Eggert | 2015-07-31 10:13:38 -0700 |
| commit | eb0f65b4fbbea60100b53cb40a1d7138d47ad0d2 (patch) | |
| tree | f2debb3a46b3e18217d8cd1736fc7d8add90e3bd | |
| parent | 0f23e95b29a7a0a07bba0e9bc796cd7b7bc7232a (diff) | |
| download | emacs-eb0f65b4fbbea60100b53cb40a1d7138d47ad0d2.tar.gz emacs-eb0f65b4fbbea60100b53cb40a1d7138d47ad0d2.zip | |
Don't overflow if computing approximate percentage
* lisp/align.el (align-region):
* lisp/cedet/semantic.el (semantic-repeat-parse-whole-stream):
* lisp/cedet/semantic/wisent.el (wisent-parse-region):
* lisp/cus-edit.el (custom-buffer-create-internal):
* lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-ispell-loop)
(checkdoc-message-interactive-ispell-loop, checkdoc-next-error)
(checkdoc-next-message-error):
* lisp/emacs-lisp/eieio-opt.el (eieio-display-method-list):
* lisp/epa.el (epa-progress-callback-function):
* lisp/erc/erc-dcc.el (erc-dcc-do-LIST-command):
* lisp/ffap.el (ffap-menu-rescan):
* lisp/gnus/nnbabyl.el (nnbabyl-retrieve-headers):
* lisp/gnus/nndiary.el (nndiary-retrieve-headers):
* lisp/gnus/nneething.el (nneething-retrieve-headers):
* lisp/gnus/nnmbox.el (nnmbox-retrieve-headers):
* lisp/gnus/nnmh.el (nnmh-retrieve-headers):
* lisp/gnus/nnml.el (nnml-retrieve-headers):
* lisp/gnus/nnspool.el (nnspool-retrieve-headers):
* lisp/gnus/nntp.el (nntp-retrieve-headers)
(nntp-retrieve-articles):
* lisp/imenu.el (imenu--relative-position):
* lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
(skkdic-convert-okuri-nasi):
* lisp/net/ange-ftp.el (ange-ftp-process-handle-hash):
* lisp/nxml/rng-valid.el (rng-compute-mode-line-string):
* lisp/org/org-list.el (org-update-checkbox-count):
* lisp/org/org.el (org-table-map-tables)
(org-update-parent-todo-statistics):
* lisp/play/decipher.el (decipher-insert-frequency-counts)
(decipher-analyze-buffer):
* lisp/profiler.el (profiler-format-percent):
* lisp/progmodes/cc-cmds.el (c-progress-update):
* lisp/progmodes/cpp.el (cpp-highlight-buffer):
* lisp/progmodes/idlwave.el (idlwave-convert-xml-system-routine-info)
(idlwave-list-load-path-shadows):
* lisp/progmodes/opascal.el (opascal-step-progress):
* lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
(vhdl-scan-directory-contents):
* lisp/textmodes/bibtex.el (bibtex-progress-message):
* lisp/textmodes/flyspell.el (flyspell-small-region)
(flyspell-external-point-words):
* lisp/textmodes/table.el (table-recognize):
Prefer (floor (* 100.0 NUMERATOR) DENOMINATOR) when calculating
progress-report percentages and the like. This avoids problems
if (* 100 NUMERATOR) would overflow.
* lisp/gnus/gnus-registry.el (gnus-registry-import-eld):
* lisp/gnus/registry.el (registry-reindex):
Use (* 100.0 ...) rather than (* 100 ...) to avoid int overflow issues.
* lisp/descr-text.el (describe-char):
* lisp/org/org-colview.el (org-nofm-to-completion):
* lisp/ps-print.el (ps-plot):
* lisp/simple.el (what-cursor-position):
Prefer (round (* 100.0 NUMERATOR) DENOMINATOR) to a
more-complicated and less-accurate approximation.
39 files changed, 74 insertions, 91 deletions
diff --git a/lisp/align.el b/lisp/align.el index 82a55b0feac..ad5be2ae74d 100644 --- a/lisp/align.el +++ b/lisp/align.el | |||
| @@ -1437,12 +1437,12 @@ aligner would have dealt with are." | |||
| 1437 | (message | 1437 | (message |
| 1438 | "Aligning `%s' (rule %d of %d) %d%%..." | 1438 | "Aligning `%s' (rule %d of %d) %d%%..." |
| 1439 | (symbol-name symbol) rule-index rule-count | 1439 | (symbol-name symbol) rule-index rule-count |
| 1440 | (/ (* (- (point) real-beg) 100) | 1440 | (floor (* (- (point) real-beg) 100.0) |
| 1441 | (- end-mark real-beg))) | 1441 | (- end-mark real-beg))) |
| 1442 | (message | 1442 | (message |
| 1443 | "Aligning %d%%..." | 1443 | "Aligning %d%%..." |
| 1444 | (/ (* (- (point) real-beg) 100) | 1444 | (floor (* (- (point) real-beg) 100.0) |
| 1445 | (- end-mark real-beg)))))) | 1445 | (- end-mark real-beg)))))) |
| 1446 | 1446 | ||
| 1447 | ;; if the search ended us on the beginning of | 1447 | ;; if the search ended us on the beginning of |
| 1448 | ;; the next line, move back to the end of the | 1448 | ;; the next line, move back to the end of the |
diff --git a/lisp/cedet/semantic.el b/lisp/cedet/semantic.el index 81a97884554..290cd907beb 100644 --- a/lisp/cedet/semantic.el +++ b/lisp/cedet/semantic.el | |||
| @@ -769,8 +769,8 @@ This function returns semantic tags without overlays." | |||
| 769 | (eq semantic-working-type 'percent) | 769 | (eq semantic-working-type 'percent) |
| 770 | (progress-reporter-update | 770 | (progress-reporter-update |
| 771 | semantic--progress-reporter | 771 | semantic--progress-reporter |
| 772 | (/ (* 100 (semantic-lex-token-start (car stream))) | 772 | (floor (* 100.0 (semantic-lex-token-start (car stream))) |
| 773 | (point-max)))))) | 773 | (point-max)))))) |
| 774 | result)) | 774 | result)) |
| 775 | 775 | ||
| 776 | ;;; Parsing Warnings: | 776 | ;;; Parsing Warnings: |
diff --git a/lisp/cedet/semantic/wisent.el b/lisp/cedet/semantic/wisent.el index dfa533c7b26..761bc6812da 100644 --- a/lisp/cedet/semantic/wisent.el +++ b/lisp/cedet/semantic/wisent.el | |||
| @@ -322,9 +322,9 @@ the standard function `semantic-parse-region'." | |||
| 322 | semantic--progress-reporter | 322 | semantic--progress-reporter |
| 323 | (progress-reporter-update | 323 | (progress-reporter-update |
| 324 | semantic--progress-reporter | 324 | semantic--progress-reporter |
| 325 | (/ (* 100 (semantic-lex-token-start | 325 | (floor (* 100.0 (semantic-lex-token-start |
| 326 | (car wisent-lex-istream))) | 326 | (car wisent-lex-istream))) |
| 327 | (point-max)))))) | 327 | (point-max)))))) |
| 328 | ;; Return parse tree | 328 | ;; Return parse tree |
| 329 | (nreverse ptree))) | 329 | (nreverse ptree))) |
| 330 | 330 | ||
diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el index 1d9a9d6d426..a8d1c97e37a 100644 --- a/lisp/cus-edit.el +++ b/lisp/cus-edit.el | |||
| @@ -1709,7 +1709,7 @@ Operate on all settings in this buffer:\n")) | |||
| 1709 | (mapcar (lambda (entry) | 1709 | (mapcar (lambda (entry) |
| 1710 | (prog2 | 1710 | (prog2 |
| 1711 | (message "Creating customization items ...%2d%%" | 1711 | (message "Creating customization items ...%2d%%" |
| 1712 | (/ (* 100.0 count) length)) | 1712 | (floor (* 100.0 count) length)) |
| 1713 | (widget-create (nth 1 entry) | 1713 | (widget-create (nth 1 entry) |
| 1714 | :tag (custom-unlispify-tag-name | 1714 | :tag (custom-unlispify-tag-name |
| 1715 | (nth 0 entry)) | 1715 | (nth 0 entry)) |
diff --git a/lisp/descr-text.el b/lisp/descr-text.el index a0b9ddfe2c9..71233d406e1 100644 --- a/lisp/descr-text.el +++ b/lisp/descr-text.el | |||
| @@ -542,9 +542,7 @@ relevant to POS." | |||
| 542 | ,(let* ((beg (point-min)) | 542 | ,(let* ((beg (point-min)) |
| 543 | (end (point-max)) | 543 | (end (point-max)) |
| 544 | (total (buffer-size)) | 544 | (total (buffer-size)) |
| 545 | (percent (if (> total 50000) ; Avoid overflow multiplying by 100 | 545 | (percent (round (* 100.0 (1- pos)) (max total 1))) |
| 546 | (/ (+ (/ total 200) (1- pos)) (max (/ total 100) 1)) | ||
| 547 | (/ (+ (/ total 2) (* 100 (1- pos))) (max total 1)))) | ||
| 548 | (hscroll (if (= (window-hscroll) 0) | 546 | (hscroll (if (= (window-hscroll) 0) |
| 549 | "" | 547 | "" |
| 550 | (format ", Hscroll: %d" (window-hscroll)))) | 548 | (format ", Hscroll: %d" (window-hscroll)))) |
diff --git a/lisp/emacs-lisp/checkdoc.el b/lisp/emacs-lisp/checkdoc.el index 0b451ef6b2a..c22aff4cbca 100644 --- a/lisp/emacs-lisp/checkdoc.el +++ b/lisp/emacs-lisp/checkdoc.el | |||
| @@ -747,7 +747,7 @@ buffer, otherwise searching starts at START-HERE." | |||
| 747 | ;; Loop over docstrings. | 747 | ;; Loop over docstrings. |
| 748 | (while (checkdoc-next-docstring) | 748 | (while (checkdoc-next-docstring) |
| 749 | (message "Searching for doc string spell error...%d%%" | 749 | (message "Searching for doc string spell error...%d%%" |
| 750 | (/ (* 100 (point)) (point-max))) | 750 | (floor (* 100.0 (point)) (point-max))) |
| 751 | (if (looking-at "\"") | 751 | (if (looking-at "\"") |
| 752 | (checkdoc-ispell-docstring-engine | 752 | (checkdoc-ispell-docstring-engine |
| 753 | (save-excursion (forward-sexp 1) (point-marker))))) | 753 | (save-excursion (forward-sexp 1) (point-marker))))) |
| @@ -767,7 +767,7 @@ buffer, otherwise searching starts at START-HERE." | |||
| 767 | ;; Loop over message strings. | 767 | ;; Loop over message strings. |
| 768 | (while (checkdoc-message-text-next-string (point-max)) | 768 | (while (checkdoc-message-text-next-string (point-max)) |
| 769 | (message "Searching for message string spell error...%d%%" | 769 | (message "Searching for message string spell error...%d%%" |
| 770 | (/ (* 100 (point)) (point-max))) | 770 | (floor (* 100.0 (point)) (point-max))) |
| 771 | (if (looking-at "\"") | 771 | (if (looking-at "\"") |
| 772 | (checkdoc-ispell-docstring-engine | 772 | (checkdoc-ispell-docstring-engine |
| 773 | (save-excursion (forward-sexp 1) (point-marker))))) | 773 | (save-excursion (forward-sexp 1) (point-marker))))) |
| @@ -791,7 +791,7 @@ perform the fix." | |||
| 791 | (condition-case nil | 791 | (condition-case nil |
| 792 | (while (and (not msg) (checkdoc-next-docstring)) | 792 | (while (and (not msg) (checkdoc-next-docstring)) |
| 793 | (message "Searching for doc string error...%d%%" | 793 | (message "Searching for doc string error...%d%%" |
| 794 | (/ (* 100 (point)) (point-max))) | 794 | (floor (* 100.0 (point)) (point-max))) |
| 795 | (if (setq msg (checkdoc-this-string-valid)) | 795 | (if (setq msg (checkdoc-this-string-valid)) |
| 796 | (setq msg (cons msg (point))))) | 796 | (setq msg (cons msg (point))))) |
| 797 | ;; Quit.. restore position, Other errors, leave alone | 797 | ;; Quit.. restore position, Other errors, leave alone |
| @@ -813,7 +813,7 @@ assumes that the cursor is already positioned to perform the fix." | |||
| 813 | (setq type | 813 | (setq type |
| 814 | (checkdoc-message-text-next-string (point-max)))) | 814 | (checkdoc-message-text-next-string (point-max)))) |
| 815 | (message "Searching for message string error...%d%%" | 815 | (message "Searching for message string error...%d%%" |
| 816 | (/ (* 100 (point)) (point-max))) | 816 | (floor (* 100.0 (point)) (point-max))) |
| 817 | (if (setq msg (checkdoc-message-text-engine type)) | 817 | (if (setq msg (checkdoc-message-text-engine type)) |
| 818 | (setq msg (cons msg (point))))) | 818 | (setq msg (cons msg (point))))) |
| 819 | ;; Quit.. restore position, Other errors, leave alone | 819 | ;; Quit.. restore position, Other errors, leave alone |
diff --git a/lisp/emacs-lisp/eieio-opt.el b/lisp/emacs-lisp/eieio-opt.el index 9ecc59434e1..0b003360ed5 100644 --- a/lisp/emacs-lisp/eieio-opt.el +++ b/lisp/emacs-lisp/eieio-opt.el | |||
| @@ -243,13 +243,13 @@ are not abstract." | |||
| 243 | (princ "Methods Primary Only: ") | 243 | (princ "Methods Primary Only: ") |
| 244 | (prin1 primaryonly) | 244 | (prin1 primaryonly) |
| 245 | (princ "\t") | 245 | (princ "\t") |
| 246 | (princ (format "%d" (* (/ (float primaryonly) (float methidx)) 100))) | 246 | (princ (format "%d" (floor (* 100.0 primaryonly) methidx))) |
| 247 | (princ "% of total methods") | 247 | (princ "% of total methods") |
| 248 | (terpri) | 248 | (terpri) |
| 249 | (princ "Only One Primary Impl: ") | 249 | (princ "Only One Primary Impl: ") |
| 250 | (prin1 oneprimary) | 250 | (prin1 oneprimary) |
| 251 | (princ "\t") | 251 | (princ "\t") |
| 252 | (princ (format "%d" (* (/ (float oneprimary) (float primaryonly)) 100))) | 252 | (princ (format "%d" (floor (* 100.0 oneprimary) primaryonly))) |
| 253 | (princ "% of total primary methods") | 253 | (princ "% of total primary methods") |
| 254 | (terpri) | 254 | (terpri) |
| 255 | )) | 255 | )) |
diff --git a/lisp/epa.el b/lisp/epa.el index d3fec73ecf4..f6d60459777 100644 --- a/lisp/epa.el +++ b/lisp/epa.el | |||
| @@ -658,7 +658,7 @@ If SECRET is non-nil, list secret keys instead of public keys." | |||
| 658 | (if (= current total) | 658 | (if (= current total) |
| 659 | (message "%s...done" prompt) | 659 | (message "%s...done" prompt) |
| 660 | (message "%s...%d%%" prompt | 660 | (message "%s...%d%%" prompt |
| 661 | (floor (* (/ current (float total)) 100)))) | 661 | (floor (* 100.0 current) total))) |
| 662 | (message "%s..." prompt)))) | 662 | (message "%s..." prompt)))) |
| 663 | 663 | ||
| 664 | (defun epa-read-file-name (input) | 664 | (defun epa-read-file-name (input) |
diff --git a/lisp/erc/erc-dcc.el b/lisp/erc/erc-dcc.el index 182f1e05921..d4d005d8345 100644 --- a/lisp/erc/erc-dcc.el +++ b/lisp/erc/erc-dcc.el | |||
| @@ -594,14 +594,9 @@ It lists the current state of `erc-dcc-list' in an easy to read manner." | |||
| 594 | (get-buffer (plist-get elt :file)) | 594 | (get-buffer (plist-get elt :file)) |
| 595 | (+ (buffer-size) 0.0 | 595 | (+ (buffer-size) 0.0 |
| 596 | erc-dcc-byte-count)))) | 596 | erc-dcc-byte-count)))) |
| 597 | (concat " (" | 597 | (format " (%d%%)" |
| 598 | (if (= byte-count 0) | 598 | (floor (* 100.0 byte-count) |
| 599 | "0" | 599 | (plist-get elt :size)))))) |
| 600 | (number-to-string | ||
| 601 | (truncate | ||
| 602 | (* 100 | ||
| 603 | (/ byte-count (plist-get elt :size)))))) | ||
| 604 | "%)")))) | ||
| 605 | ?f (or (and (plist-member elt :file) (plist-get elt :file)) ""))) | 600 | ?f (or (and (plist-member elt :file) (plist-get elt :file)) ""))) |
| 606 | (erc-display-message | 601 | (erc-display-message |
| 607 | nil 'notice 'active | 602 | nil 'notice 'active |
diff --git a/lisp/ffap.el b/lisp/ffap.el index 81cba07d4c3..c0ab1af80f5 100644 --- a/lisp/ffap.el +++ b/lisp/ffap.el | |||
| @@ -1568,7 +1568,7 @@ Applies `ffap-menu-text-plist' text properties at all matches." | |||
| 1568 | (add-text-properties (car ffap-string-at-point-region) (point) | 1568 | (add-text-properties (car ffap-string-at-point-region) (point) |
| 1569 | ffap-menu-text-plist) | 1569 | ffap-menu-text-plist) |
| 1570 | (message "Scanning...%2d%% <%s>" | 1570 | (message "Scanning...%2d%% <%s>" |
| 1571 | (/ (* 100 (- (point) (point-min))) range) item))) | 1571 | (floor (* 100.0 (- (point) (point-min))) range) item))) |
| 1572 | (or mod (restore-buffer-modified-p nil)))) | 1572 | (or mod (restore-buffer-modified-p nil)))) |
| 1573 | (message "Scanning...done") | 1573 | (message "Scanning...done") |
| 1574 | ;; Remove duplicates. | 1574 | ;; Remove duplicates. |
diff --git a/lisp/gnus/gnus-registry.el b/lisp/gnus/gnus-registry.el index 0cb596012c7..50443973a8d 100644 --- a/lisp/gnus/gnus-registry.el +++ b/lisp/gnus/gnus-registry.el | |||
| @@ -1100,7 +1100,7 @@ only the last one's marks are returned." | |||
| 1100 | (when (and (< 0 expected) | 1100 | (when (and (< 0 expected) |
| 1101 | (= 0 (mod count 100))) | 1101 | (= 0 (mod count 100))) |
| 1102 | (message "importing: %d of %d (%.2f%%)" | 1102 | (message "importing: %d of %d (%.2f%%)" |
| 1103 | count expected (/ (* 100 count) expected))) | 1103 | count expected (/ (* 100.0 count) expected))) |
| 1104 | (setq entry (car-safe old) | 1104 | (setq entry (car-safe old) |
| 1105 | old (cdr-safe old)) | 1105 | old (cdr-safe old)) |
| 1106 | (let* ((id (car-safe entry)) | 1106 | (let* ((id (car-safe entry)) |
diff --git a/lisp/gnus/nnbabyl.el b/lisp/gnus/nnbabyl.el index d060c2a80dd..ae417a0ffe8 100644 --- a/lisp/gnus/nnbabyl.el +++ b/lisp/gnus/nnbabyl.el | |||
| @@ -105,7 +105,7 @@ | |||
| 105 | (> number nnmail-large-newsgroup) | 105 | (> number nnmail-large-newsgroup) |
| 106 | (zerop (% (incf count) 20)) | 106 | (zerop (% (incf count) 20)) |
| 107 | (nnheader-message 5 "nnbabyl: Receiving headers... %d%%" | 107 | (nnheader-message 5 "nnbabyl: Receiving headers... %d%%" |
| 108 | (/ (* count 100) number)))) | 108 | (floor (* count 100.0) number)))) |
| 109 | 109 | ||
| 110 | (and (numberp nnmail-large-newsgroup) | 110 | (and (numberp nnmail-large-newsgroup) |
| 111 | (> number nnmail-large-newsgroup) | 111 | (> number nnmail-large-newsgroup) |
diff --git a/lisp/gnus/nndiary.el b/lisp/gnus/nndiary.el index 027d8888705..31344382029 100644 --- a/lisp/gnus/nndiary.el +++ b/lisp/gnus/nndiary.el | |||
| @@ -423,7 +423,7 @@ all. This may very well take some time.") | |||
| 423 | (> number nnmail-large-newsgroup) | 423 | (> number nnmail-large-newsgroup) |
| 424 | (zerop (% count 20)) | 424 | (zerop (% count 20)) |
| 425 | (nnheader-message 6 "nndiary: Receiving headers... %d%%" | 425 | (nnheader-message 6 "nndiary: Receiving headers... %d%%" |
| 426 | (/ (* count 100) number)))) | 426 | (floor (* count 100.0) number)))) |
| 427 | 427 | ||
| 428 | (and (numberp nnmail-large-newsgroup) | 428 | (and (numberp nnmail-large-newsgroup) |
| 429 | (> number nnmail-large-newsgroup) | 429 | (> number nnmail-large-newsgroup) |
diff --git a/lisp/gnus/nneething.el b/lisp/gnus/nneething.el index 183e3967632..0d9044fb712 100644 --- a/lisp/gnus/nneething.el +++ b/lisp/gnus/nneething.el | |||
| @@ -106,7 +106,7 @@ included.") | |||
| 106 | (and large | 106 | (and large |
| 107 | (zerop (% count 20)) | 107 | (zerop (% count 20)) |
| 108 | (nnheader-message 5 "nneething: Receiving headers... %d%%" | 108 | (nnheader-message 5 "nneething: Receiving headers... %d%%" |
| 109 | (/ (* count 100) number)))) | 109 | (floor (* count 100.0) number)))) |
| 110 | 110 | ||
| 111 | (when large | 111 | (when large |
| 112 | (nnheader-message 5 "nneething: Receiving headers...done")) | 112 | (nnheader-message 5 "nneething: Receiving headers...done")) |
diff --git a/lisp/gnus/nnmbox.el b/lisp/gnus/nnmbox.el index 78983a5cfef..a70a0395f37 100644 --- a/lisp/gnus/nnmbox.el +++ b/lisp/gnus/nnmbox.el | |||
| @@ -106,7 +106,7 @@ | |||
| 106 | (> number nnmail-large-newsgroup) | 106 | (> number nnmail-large-newsgroup) |
| 107 | (zerop (% count 20)) | 107 | (zerop (% count 20)) |
| 108 | (nnheader-message 5 "nnmbox: Receiving headers... %d%%" | 108 | (nnheader-message 5 "nnmbox: Receiving headers... %d%%" |
| 109 | (/ (* count 100) number)))) | 109 | (floor (* count 100.0) number)))) |
| 110 | 110 | ||
| 111 | (and (numberp nnmail-large-newsgroup) | 111 | (and (numberp nnmail-large-newsgroup) |
| 112 | (> number nnmail-large-newsgroup) | 112 | (> number nnmail-large-newsgroup) |
diff --git a/lisp/gnus/nnmh.el b/lisp/gnus/nnmh.el index 04270a554cf..cdbf38ae62d 100644 --- a/lisp/gnus/nnmh.el +++ b/lisp/gnus/nnmh.el | |||
| @@ -109,7 +109,7 @@ as unread by Gnus.") | |||
| 109 | (and large | 109 | (and large |
| 110 | (zerop (% count 20)) | 110 | (zerop (% count 20)) |
| 111 | (nnheader-message 5 "nnmh: Receiving headers... %d%%" | 111 | (nnheader-message 5 "nnmh: Receiving headers... %d%%" |
| 112 | (/ (* count 100) number)))) | 112 | (floor (* count 100.0) number)))) |
| 113 | 113 | ||
| 114 | (when large | 114 | (when large |
| 115 | (nnheader-message 5 "nnmh: Receiving headers...done")) | 115 | (nnheader-message 5 "nnmh: Receiving headers...done")) |
diff --git a/lisp/gnus/nnml.el b/lisp/gnus/nnml.el index 8275e19f3b6..c825e097481 100644 --- a/lisp/gnus/nnml.el +++ b/lisp/gnus/nnml.el | |||
| @@ -178,7 +178,7 @@ non-nil.") | |||
| 178 | (> number nnmail-large-newsgroup) | 178 | (> number nnmail-large-newsgroup) |
| 179 | (zerop (% count 20)) | 179 | (zerop (% count 20)) |
| 180 | (nnheader-message 6 "nnml: Receiving headers... %d%%" | 180 | (nnheader-message 6 "nnml: Receiving headers... %d%%" |
| 181 | (/ (* count 100) number)))) | 181 | (floor (* count 100.0) number)))) |
| 182 | 182 | ||
| 183 | (and (numberp nnmail-large-newsgroup) | 183 | (and (numberp nnmail-large-newsgroup) |
| 184 | (> number nnmail-large-newsgroup) | 184 | (> number nnmail-large-newsgroup) |
diff --git a/lisp/gnus/nnspool.el b/lisp/gnus/nnspool.el index 9e9537af1f9..f10b1ad6c54 100644 --- a/lisp/gnus/nnspool.el +++ b/lisp/gnus/nnspool.el | |||
| @@ -174,7 +174,7 @@ there.") | |||
| 174 | (and do-message | 174 | (and do-message |
| 175 | (zerop (% (incf count) 20)) | 175 | (zerop (% (incf count) 20)) |
| 176 | (nnheader-message 5 "nnspool: Receiving headers... %d%%" | 176 | (nnheader-message 5 "nnspool: Receiving headers... %d%%" |
| 177 | (/ (* count 100) number)))) | 177 | (floor (* count 100.0) number)))) |
| 178 | 178 | ||
| 179 | (when do-message | 179 | (when do-message |
| 180 | (nnheader-message 5 "nnspool: Receiving headers...done")) | 180 | (nnheader-message 5 "nnspool: Receiving headers...done")) |
diff --git a/lisp/gnus/nntp.el b/lisp/gnus/nntp.el index 0891dba0387..b617a1beeb2 100644 --- a/lisp/gnus/nntp.el +++ b/lisp/gnus/nntp.el | |||
| @@ -728,7 +728,7 @@ command whose response triggered the error." | |||
| 728 | (> number nntp-large-newsgroup) | 728 | (> number nntp-large-newsgroup) |
| 729 | (zerop (% received 20)) | 729 | (zerop (% received 20)) |
| 730 | (nnheader-message 6 "NNTP: Receiving headers... %d%%" | 730 | (nnheader-message 6 "NNTP: Receiving headers... %d%%" |
| 731 | (/ (* received 100) number))) | 731 | (floor (* received 100.0) number))) |
| 732 | (nntp-accept-response)))) | 732 | (nntp-accept-response)))) |
| 733 | (and (numberp nntp-large-newsgroup) | 733 | (and (numberp nntp-large-newsgroup) |
| 734 | (> number nntp-large-newsgroup) | 734 | (> number nntp-large-newsgroup) |
| @@ -965,7 +965,7 @@ command whose response triggered the error." | |||
| 965 | (> number nntp-large-newsgroup) | 965 | (> number nntp-large-newsgroup) |
| 966 | (zerop (% received 20)) | 966 | (zerop (% received 20)) |
| 967 | (nnheader-message 6 "NNTP: Receiving articles... %d%%" | 967 | (nnheader-message 6 "NNTP: Receiving articles... %d%%" |
| 968 | (/ (* received 100) number))) | 968 | (floor (* received 100.0) number))) |
| 969 | (nntp-accept-response)))) | 969 | (nntp-accept-response)))) |
| 970 | (and (numberp nntp-large-newsgroup) | 970 | (and (numberp nntp-large-newsgroup) |
| 971 | (> number nntp-large-newsgroup) | 971 | (> number nntp-large-newsgroup) |
diff --git a/lisp/gnus/registry.el b/lisp/gnus/registry.el index 96a89fca1b7..7bada9f3095 100644 --- a/lisp/gnus/registry.el +++ b/lisp/gnus/registry.el | |||
| @@ -320,7 +320,7 @@ Errors out if the key exists already." | |||
| 320 | (when (and (< 0 expected) | 320 | (when (and (< 0 expected) |
| 321 | (= 0 (mod count 1000))) | 321 | (= 0 (mod count 1000))) |
| 322 | (message "reindexing: %d of %d (%.2f%%)" | 322 | (message "reindexing: %d of %d (%.2f%%)" |
| 323 | count expected (/ (* 100 count) expected))) | 323 | count expected (/ (* 100.0 count) expected))) |
| 324 | (dolist (val (cdr-safe (assq tr v))) | 324 | (dolist (val (cdr-safe (assq tr v))) |
| 325 | (let* ((value-keys (registry-lookup-secondary-value db tr val))) | 325 | (let* ((value-keys (registry-lookup-secondary-value db tr val))) |
| 326 | (push key value-keys) | 326 | (push key value-keys) |
diff --git a/lisp/imenu.el b/lisp/imenu.el index 65c52828c47..3a856b88397 100644 --- a/lisp/imenu.el +++ b/lisp/imenu.el | |||
| @@ -499,10 +499,7 @@ If REVERSE is non-nil then the beginning is 100 and the end is 0." | |||
| 499 | (let ((pos (point)) | 499 | (let ((pos (point)) |
| 500 | (total (buffer-size))) | 500 | (total (buffer-size))) |
| 501 | (and reverse (setq pos (- total pos))) | 501 | (and reverse (setq pos (- total pos))) |
| 502 | (if (> total 50000) | 502 | (floor (* 100.0 (1- pos)) (max total 1)))) |
| 503 | ;; Avoid overflow from multiplying by 100! | ||
| 504 | (/ (1- pos) (max (/ total 100) 1)) | ||
| 505 | (/ (* 100 (1- pos)) (max total 1))))) | ||
| 506 | 503 | ||
| 507 | (defun imenu--split (list n) | 504 | (defun imenu--split (list n) |
| 508 | "Split LIST into sublists of max length N. | 505 | "Split LIST into sublists of max length N. |
diff --git a/lisp/international/ja-dic-cnv.el b/lisp/international/ja-dic-cnv.el index edb6d8900e6..d9c77bf5652 100644 --- a/lisp/international/ja-dic-cnv.el +++ b/lisp/international/ja-dic-cnv.el | |||
| @@ -280,7 +280,7 @@ | |||
| 280 | (cons (cons kana candidates) skkdic-okuri-nasi-entries) | 280 | (cons (cons kana candidates) skkdic-okuri-nasi-entries) |
| 281 | skkdic-okuri-nasi-entries-count | 281 | skkdic-okuri-nasi-entries-count |
| 282 | (1+ skkdic-okuri-nasi-entries-count)) | 282 | (1+ skkdic-okuri-nasi-entries-count)) |
| 283 | (setq ratio (floor (/ (* (point) 100.0) (point-max)))) | 283 | (setq ratio (floor (* (point) 100.0) (point-max))) |
| 284 | (if (/= (/ prev-ratio 10) (/ ratio 10)) | 284 | (if (/= (/ prev-ratio 10) (/ ratio 10)) |
| 285 | (progn | 285 | (progn |
| 286 | (message "collected %2d%% ..." ratio) | 286 | (message "collected %2d%% ..." ratio) |
| @@ -306,7 +306,7 @@ | |||
| 306 | (while l | 306 | (while l |
| 307 | (let ((kana (car (car l))) | 307 | (let ((kana (car (car l))) |
| 308 | (candidates (cdr (car l)))) | 308 | (candidates (cdr (car l)))) |
| 309 | (setq ratio (/ (* count 100) skkdic-okuri-nasi-entries-count) | 309 | (setq ratio (floor (* count 100.0) skkdic-okuri-nasi-entries-count) |
| 310 | count (1+ count)) | 310 | count (1+ count)) |
| 311 | (if (/= (/ prev-ratio 10) (/ ratio 10)) | 311 | (if (/= (/ prev-ratio 10) (/ ratio 10)) |
| 312 | (progn | 312 | (progn |
diff --git a/lisp/net/ange-ftp.el b/lisp/net/ange-ftp.el index 1f893a72f8e..0685bac26c7 100644 --- a/lisp/net/ange-ftp.el +++ b/lisp/net/ange-ftp.el | |||
| @@ -1613,7 +1613,7 @@ good, skip, fatal, or unknown." | |||
| 1613 | -6))) | 1613 | -6))) |
| 1614 | (if (zerop ange-ftp-xfer-size) | 1614 | (if (zerop ange-ftp-xfer-size) |
| 1615 | (ange-ftp-message "%s...%dk" ange-ftp-process-msg kbytes) | 1615 | (ange-ftp-message "%s...%dk" ange-ftp-process-msg kbytes) |
| 1616 | (let ((percent (/ (* 100 kbytes) ange-ftp-xfer-size))) | 1616 | (let ((percent (floor (* 100.0 kbytes) ange-ftp-xfer-size))) |
| 1617 | ;; cut out the redisplay of identical %-age messages. | 1617 | ;; cut out the redisplay of identical %-age messages. |
| 1618 | (unless (eq percent ange-ftp-last-percent) | 1618 | (unless (eq percent ange-ftp-last-percent) |
| 1619 | (setq ange-ftp-last-percent percent) | 1619 | (setq ange-ftp-last-percent percent) |
diff --git a/lisp/nxml/rng-valid.el b/lisp/nxml/rng-valid.el index 2bf8f1dfa63..61a96545a82 100644 --- a/lisp/nxml/rng-valid.el +++ b/lisp/nxml/rng-valid.el | |||
| @@ -345,17 +345,11 @@ The schema is set like `rng-auto-set-schema'." | |||
| 345 | 345 | ||
| 346 | (defun rng-compute-mode-line-string () | 346 | (defun rng-compute-mode-line-string () |
| 347 | (cond (rng-validate-timer | 347 | (cond (rng-validate-timer |
| 348 | (concat " Validated:" | 348 | (format " Validated:%d%%" |
| 349 | (number-to-string | 349 | (if (= 0 (buffer-size)) |
| 350 | ;; Use floor rather than round because we want | 350 | 0 |
| 351 | ;; to show 99% rather than 100% for changes near | 351 | (floor (- rng-validate-up-to-date-end (point-min)) |
| 352 | ;; the end. | 352 | (- (point-max) (point-min)))))) |
| 353 | (floor (if (eq (buffer-size) 0) | ||
| 354 | 0.0 | ||
| 355 | (/ (* (- rng-validate-up-to-date-end (point-min)) | ||
| 356 | 100.0) | ||
| 357 | (- (point-max) (point-min)))))) | ||
| 358 | "%%")) | ||
| 359 | ((> rng-error-count 0) | 353 | ((> rng-error-count 0) |
| 360 | (concat " " | 354 | (concat " " |
| 361 | (propertize "Invalid" | 355 | (propertize "Invalid" |
diff --git a/lisp/org/org-colview.el b/lisp/org/org-colview.el index e14849f68e4..e938ab4ae4b 100644 --- a/lisp/org/org-colview.el +++ b/lisp/org/org-colview.el | |||
| @@ -1086,7 +1086,7 @@ display, or in the #+COLUMNS line of the current buffer." | |||
| 1086 | (defun org-nofm-to-completion (n m &optional percent) | 1086 | (defun org-nofm-to-completion (n m &optional percent) |
| 1087 | (if (not percent) | 1087 | (if (not percent) |
| 1088 | (format "[%d/%d]" n m) | 1088 | (format "[%d/%d]" n m) |
| 1089 | (format "[%d%%]"(floor (+ 0.5 (* 100. (/ (* 1.0 n) m))))))) | 1089 | (format "[%d%%]" (round (* 100.0 n) m)))) |
| 1090 | 1090 | ||
| 1091 | 1091 | ||
| 1092 | (defun org-columns-string-to-number (s fmt) | 1092 | (defun org-columns-string-to-number (s fmt) |
diff --git a/lisp/org/org-list.el b/lisp/org/org-list.el index 73f24ce7bd8..432e4310fae 100644 --- a/lisp/org/org-list.el +++ b/lisp/org/org-list.el | |||
| @@ -2555,8 +2555,8 @@ With optional prefix argument ALL, do this for the whole buffer." | |||
| 2555 | (checked (car (nth 3 cookie))) | 2555 | (checked (car (nth 3 cookie))) |
| 2556 | (total (cdr (nth 3 cookie))) | 2556 | (total (cdr (nth 3 cookie))) |
| 2557 | (new (if percentp | 2557 | (new (if percentp |
| 2558 | (format "[%d%%]" (/ (* 100 checked) | 2558 | (format "[%d%%]" (floor (* 100.0 checked) |
| 2559 | (max 1 total))) | 2559 | (max 1 total))) |
| 2560 | (format "[%d/%d]" checked total)))) | 2560 | (format "[%d/%d]" checked total)))) |
| 2561 | (goto-char beg) | 2561 | (goto-char beg) |
| 2562 | (insert new) | 2562 | (insert new) |
diff --git a/lisp/org/org.el b/lisp/org/org.el index e9dae191b99..b545f9ee1cb 100644 --- a/lisp/org/org.el +++ b/lisp/org/org.el | |||
| @@ -4346,7 +4346,8 @@ If TABLE-TYPE is non-nil, also check for table.el-type tables." | |||
| 4346 | (goto-char (point-min)) | 4346 | (goto-char (point-min)) |
| 4347 | (while (re-search-forward org-table-any-line-regexp nil t) | 4347 | (while (re-search-forward org-table-any-line-regexp nil t) |
| 4348 | (unless quietly | 4348 | (unless quietly |
| 4349 | (message "Mapping tables: %d%%" (/ (* 100.0 (point)) (buffer-size)))) | 4349 | (message "Mapping tables: %d%%" |
| 4350 | (floor (* 100.0 (point)) (buffer-size)))) | ||
| 4350 | (beginning-of-line 1) | 4351 | (beginning-of-line 1) |
| 4351 | (when (and (looking-at org-table-line-regexp) | 4352 | (when (and (looking-at org-table-line-regexp) |
| 4352 | ;; Exclude tables in src/example/verbatim/clocktable blocks | 4353 | ;; Exclude tables in src/example/verbatim/clocktable blocks |
| @@ -12679,7 +12680,8 @@ statistics everywhere." | |||
| 12679 | (outline-next-heading))) | 12680 | (outline-next-heading))) |
| 12680 | (setq new | 12681 | (setq new |
| 12681 | (if is-percent | 12682 | (if is-percent |
| 12682 | (format "[%d%%]" (/ (* 100 cnt-done) (max 1 cnt-all))) | 12683 | (format "[%d%%]" (floor (* 100.0 cnt-done) |
| 12684 | (max 1 cnt-all))) | ||
| 12683 | (format "[%d/%d]" cnt-done cnt-all)) | 12685 | (format "[%d/%d]" cnt-done cnt-all)) |
| 12684 | ndel (- (match-end 0) checkbox-beg)) | 12686 | ndel (- (match-end 0) checkbox-beg)) |
| 12685 | ;; handle overlays when updating cookie from column view | 12687 | ;; handle overlays when updating cookie from column view |
diff --git a/lisp/play/decipher.el b/lisp/play/decipher.el index f42ae90f3c8..c2268a9b057 100644 --- a/lisp/play/decipher.el +++ b/lisp/play/decipher.el | |||
| @@ -793,7 +793,7 @@ TOTAL is the total number of letters in the ciphertext." | |||
| 793 | (insert (caar temp-list) | 793 | (insert (caar temp-list) |
| 794 | (format "%4d%3d%% " | 794 | (format "%4d%3d%% " |
| 795 | (cl-cadar temp-list) | 795 | (cl-cadar temp-list) |
| 796 | (/ (* 100 (cl-cadar temp-list)) total))) | 796 | (floor (* 100.0 (cl-cadar temp-list)) total))) |
| 797 | (setq temp-list (nthcdr 4 temp-list))) | 797 | (setq temp-list (nthcdr 4 temp-list))) |
| 798 | (insert ?\n) | 798 | (insert ?\n) |
| 799 | (setq freq-list (cdr freq-list) | 799 | (setq freq-list (cdr freq-list) |
| @@ -957,7 +957,7 @@ Creates the statistics buffer if it doesn't exist." | |||
| 957 | ": A B C D E F G H I J K L M N O P Q R S T U V W X Y Z *" | 957 | ": A B C D E F G H I J K L M N O P Q R S T U V W X Y Z *" |
| 958 | (format "%4d %4d %3d%%\n " | 958 | (format "%4d %4d %3d%%\n " |
| 959 | (cl-third entry) (cl-second entry) | 959 | (cl-third entry) (cl-second entry) |
| 960 | (/ (* 100 (cl-second entry)) total-chars)) | 960 | (floor (* 100.0 (cl-second entry)) total-chars)) |
| 961 | (decipher--digram-counts (aref decipher--after i)) ?\n)))) | 961 | (decipher--digram-counts (aref decipher--after i)) ?\n)))) |
| 962 | (setq buffer-read-only t) | 962 | (setq buffer-read-only t) |
| 963 | (set-buffer-modified-p nil) | 963 | (set-buffer-modified-p nil) |
diff --git a/lisp/profiler.el b/lisp/profiler.el index 2425d8c56a7..f28bbfe2768 100644 --- a/lisp/profiler.el +++ b/lisp/profiler.el | |||
| @@ -56,7 +56,7 @@ | |||
| 56 | (format "%s" object)))) | 56 | (format "%s" object)))) |
| 57 | 57 | ||
| 58 | (defun profiler-format-percent (number divisor) | 58 | (defun profiler-format-percent (number divisor) |
| 59 | (concat (number-to-string (/ (* number 100) divisor)) "%")) | 59 | (format "%d%%" (floor (* 100.0 number) divisor))) |
| 60 | 60 | ||
| 61 | (defun profiler-format-number (number) | 61 | (defun profiler-format-number (number) |
| 62 | "Format NUMBER in human readable string." | 62 | "Format NUMBER in human readable string." |
diff --git a/lisp/progmodes/cc-cmds.el b/lisp/progmodes/cc-cmds.el index 94dc34bb20e..c9f59451b7e 100644 --- a/lisp/progmodes/cc-cmds.el +++ b/lisp/progmodes/cc-cmds.el | |||
| @@ -1809,7 +1809,7 @@ with a brace block." | |||
| 1809 | (c-save-buffer-state | 1809 | (c-save-buffer-state |
| 1810 | (beginning-of-defun-function end-of-defun-function | 1810 | (beginning-of-defun-function end-of-defun-function |
| 1811 | where pos name-end case-fold-search) | 1811 | where pos name-end case-fold-search) |
| 1812 | 1812 | ||
| 1813 | (save-restriction | 1813 | (save-restriction |
| 1814 | (widen) | 1814 | (widen) |
| 1815 | (save-excursion | 1815 | (save-excursion |
| @@ -3412,7 +3412,7 @@ Otherwise reindent just the current line." | |||
| 3412 | (if (< c-progress-interval (- now lastsecs)) | 3412 | (if (< c-progress-interval (- now lastsecs)) |
| 3413 | (progn | 3413 | (progn |
| 3414 | (message "Indenting region... (%d%% complete)" | 3414 | (message "Indenting region... (%d%% complete)" |
| 3415 | (/ (* 100 (- (point) start)) (- end start))) | 3415 | (floor (* 100.0 (- (point) start)) (- end start))) |
| 3416 | (aset c-progress-info 2 now))) | 3416 | (aset c-progress-info 2 now))) |
| 3417 | ))) | 3417 | ))) |
| 3418 | 3418 | ||
diff --git a/lisp/progmodes/cpp.el b/lisp/progmodes/cpp.el index bf8458e725a..0a51add68b6 100644 --- a/lisp/progmodes/cpp.el +++ b/lisp/progmodes/cpp.el | |||
| @@ -234,7 +234,8 @@ A prefix arg suppresses display of that buffer." | |||
| 234 | (cpp-progress-message "Parsing...") | 234 | (cpp-progress-message "Parsing...") |
| 235 | (while (re-search-forward cpp-parse-regexp nil t) | 235 | (while (re-search-forward cpp-parse-regexp nil t) |
| 236 | (cpp-progress-message "Parsing...%d%%" | 236 | (cpp-progress-message "Parsing...%d%%" |
| 237 | (/ (* 100 (- (point) (point-min))) (buffer-size))) | 237 | (floor (* 100.0 (- (point) (point-min))) |
| 238 | (buffer-size))) | ||
| 238 | (let ((match (buffer-substring (match-beginning 0) (match-end 0)))) | 239 | (let ((match (buffer-substring (match-beginning 0) (match-end 0)))) |
| 239 | (cond ((or (string-equal match "'") | 240 | (cond ((or (string-equal match "'") |
| 240 | (string-equal match "\"")) | 241 | (string-equal match "\"")) |
diff --git a/lisp/progmodes/idlwave.el b/lisp/progmodes/idlwave.el index 8e30aa29502..d7594428e8d 100644 --- a/lisp/progmodes/idlwave.el +++ b/lisp/progmodes/idlwave.el | |||
| @@ -4881,7 +4881,7 @@ Cache to disk for quick recovery." | |||
| 4881 | props (car (cdr elem))) | 4881 | props (car (cdr elem))) |
| 4882 | (if (= (mod elem-cnt msg-cnt) 0) | 4882 | (if (= (mod elem-cnt msg-cnt) 0) |
| 4883 | (message "Converting XML routine info...%2d%%" | 4883 | (message "Converting XML routine info...%2d%%" |
| 4884 | (/ (* elem-cnt 100) nelem))) | 4884 | (floor (* elem-cnt 100.0) nelem))) |
| 4885 | (cond | 4885 | (cond |
| 4886 | ((eq type 'ROUTINE) | 4886 | ((eq type 'ROUTINE) |
| 4887 | (if (setq alias (assq 'alias_to props)) | 4887 | (if (setq alias (assq 'alias_to props)) |
| @@ -8694,7 +8694,7 @@ can be used to detect possible name clashes during this process." | |||
| 8694 | (erase-buffer) | 8694 | (erase-buffer) |
| 8695 | (while (setq routine (pop routines)) | 8695 | (while (setq routine (pop routines)) |
| 8696 | (if (= (mod (setq n (1+ n)) step) 0) | 8696 | (if (= (mod (setq n (1+ n)) step) 0) |
| 8697 | (message "Compiling list...(%2d%%)" (/ (* n 100) nroutines))) | 8697 | (message "Compiling list...(%2d%%)" (floor (* n 100.0) nroutines))) |
| 8698 | 8698 | ||
| 8699 | ;; Get a list of all twins | 8699 | ;; Get a list of all twins |
| 8700 | (setq twins (idlwave-routine-twins routine (or lroutines routines))) | 8700 | (setq twins (idlwave-routine-twins routine (or lroutines routines))) |
diff --git a/lisp/progmodes/opascal.el b/lisp/progmodes/opascal.el index 2eba620ceb2..ef3433f003b 100644 --- a/lisp/progmodes/opascal.el +++ b/lisp/progmodes/opascal.el | |||
| @@ -368,7 +368,7 @@ routine.") | |||
| 368 | ;; Report the percentage complete. | 368 | ;; Report the percentage complete. |
| 369 | (setq opascal-progress-last-reported-point p) | 369 | (setq opascal-progress-last-reported-point p) |
| 370 | (message "%s %s ... %d%%" | 370 | (message "%s %s ... %d%%" |
| 371 | desc (buffer-name) (/ (* 100 p) (point-max)))))) | 371 | desc (buffer-name) (floor (* 100.0 p) (point-max)))))) |
| 372 | 372 | ||
| 373 | (defun opascal-next-line-start (&optional from-point) | 373 | (defun opascal-next-line-start (&optional from-point) |
| 374 | ;; Returns the first point of the next line. | 374 | ;; Returns the first point of the next line. |
diff --git a/lisp/progmodes/vhdl-mode.el b/lisp/progmodes/vhdl-mode.el index 5ed0ff0ebed..16e4e8ed53d 100644 --- a/lisp/progmodes/vhdl-mode.el +++ b/lisp/progmodes/vhdl-mode.el | |||
| @@ -7383,11 +7383,11 @@ only-lines." | |||
| 7383 | (- (nth 1 (current-time)) (aref vhdl-progress-info 2)))) | 7383 | (- (nth 1 (current-time)) (aref vhdl-progress-info 2)))) |
| 7384 | (let ((delta (- (aref vhdl-progress-info 1) | 7384 | (let ((delta (- (aref vhdl-progress-info 1) |
| 7385 | (aref vhdl-progress-info 0)))) | 7385 | (aref vhdl-progress-info 0)))) |
| 7386 | (if (= 0 delta) | 7386 | (message "%s... (%2d%%)" string |
| 7387 | (message (concat string "... (100%s)") "%") | 7387 | (if (= 0 delta) |
| 7388 | (message (concat string "... (%2d%s)") | 7388 | 100 |
| 7389 | (/ (* 100 (- pos (aref vhdl-progress-info 0))) | 7389 | (floor (* 100.0 (- pos (aref vhdl-progress-info 0))) |
| 7390 | delta) "%"))) | 7390 | delta)))) |
| 7391 | (aset vhdl-progress-info 2 (nth 1 (current-time))))) | 7391 | (aset vhdl-progress-info 2 (nth 1 (current-time))))) |
| 7392 | 7392 | ||
| 7393 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 7393 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| @@ -13881,10 +13881,10 @@ hierarchy otherwise.") | |||
| 13881 | ;; do for all files | 13881 | ;; do for all files |
| 13882 | (while file-list | 13882 | (while file-list |
| 13883 | (unless noninteractive | 13883 | (unless noninteractive |
| 13884 | (message "Scanning %s %s\"%s\"... (%2d%s)" | 13884 | (message "Scanning %s %s\"%s\"... (%2d%%)" |
| 13885 | (if is-directory "directory" "files") | 13885 | (if is-directory "directory" "files") |
| 13886 | (or num-string "") name | 13886 | (or num-string "") name |
| 13887 | (/ (* 100 (- no-files (length file-list))) no-files) "%")) | 13887 | (floor (* 100.0 (- no-files (length file-list))) no-files))) |
| 13888 | (let ((file-name (abbreviate-file-name (car file-list))) | 13888 | (let ((file-name (abbreviate-file-name (car file-list))) |
| 13889 | ent-list arch-list arch-ent-list conf-list | 13889 | ent-list arch-list arch-ent-list conf-list |
| 13890 | pack-list pack-body-list inst-list inst-ent-list) | 13890 | pack-list pack-body-list inst-list inst-ent-list) |
diff --git a/lisp/ps-print.el b/lisp/ps-print.el index e76b332ee3c..0ba470be68c 100644 --- a/lisp/ps-print.el +++ b/lisp/ps-print.el | |||
| @@ -6043,10 +6043,7 @@ XSTART YSTART are the relative position for the first page in a sheet.") | |||
| 6043 | (progn | 6043 | (progn |
| 6044 | (setq ps-razchunk q-done) | 6044 | (setq ps-razchunk q-done) |
| 6045 | (message "Formatting...%3d%%" | 6045 | (message "Formatting...%3d%%" |
| 6046 | (if (< q-todo 100) | 6046 | (floor (* 100.0 q-done) q-todo))))))) |
| 6047 | (/ (* 100 q-done) q-todo) | ||
| 6048 | (/ q-done (/ q-todo 100))) | ||
| 6049 | )))))) | ||
| 6050 | 6047 | ||
| 6051 | (defvar ps-last-font nil) | 6048 | (defvar ps-last-font nil) |
| 6052 | 6049 | ||
diff --git a/lisp/simple.el b/lisp/simple.el index 7eed279ed59..1a4bcf124db 100644 --- a/lisp/simple.el +++ b/lisp/simple.el | |||
| @@ -1255,10 +1255,7 @@ in *Help* buffer. See also the command `describe-char'." | |||
| 1255 | (end (point-max)) | 1255 | (end (point-max)) |
| 1256 | (pos (point)) | 1256 | (pos (point)) |
| 1257 | (total (buffer-size)) | 1257 | (total (buffer-size)) |
| 1258 | (percent (if (> total 50000) | 1258 | (percent (round (* 100.0 (1- pos)) (max 1 total))) |
| 1259 | ;; Avoid overflow from multiplying by 100! | ||
| 1260 | (/ (+ (/ total 200) (1- pos)) (max (/ total 100) 1)) | ||
| 1261 | (/ (+ (/ total 2) (* 100 (1- pos))) (max total 1)))) | ||
| 1262 | (hscroll (if (= (window-hscroll) 0) | 1259 | (hscroll (if (= (window-hscroll) 0) |
| 1263 | "" | 1260 | "" |
| 1264 | (format " Hscroll=%d" (window-hscroll)))) | 1261 | (format " Hscroll=%d" (window-hscroll)))) |
diff --git a/lisp/textmodes/bibtex.el b/lisp/textmodes/bibtex.el index 9d6d19e6e1e..b1232d4c0a0 100644 --- a/lisp/textmodes/bibtex.el +++ b/lisp/textmodes/bibtex.el | |||
| @@ -2099,7 +2099,7 @@ If FLAG is nil, a message is echoed if point was incremented at least | |||
| 2099 | (let* ((size (- (point-max) (point-min))) | 2099 | (let* ((size (- (point-max) (point-min))) |
| 2100 | (perc (if (= size 0) | 2100 | (perc (if (= size 0) |
| 2101 | 100 | 2101 | 100 |
| 2102 | (/ (* 100 (- (point) (point-min))) size)))) | 2102 | (floor (* 100.0 (- (point) (point-min))) size)))) |
| 2103 | (when (>= perc (+ bibtex-progress-lastperc | 2103 | (when (>= perc (+ bibtex-progress-lastperc |
| 2104 | bibtex-progress-interval)) | 2104 | bibtex-progress-interval)) |
| 2105 | (setq bibtex-progress-lastperc perc) | 2105 | (setq bibtex-progress-lastperc perc) |
diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el index e0749180611..64aa3de146e 100644 --- a/lisp/textmodes/flyspell.el +++ b/lisp/textmodes/flyspell.el | |||
| @@ -1350,7 +1350,7 @@ that may be included as part of a word (see `ispell-dictionary-alist')." | |||
| 1350 | (if (and flyspell-issue-message-flag (= count 100)) | 1350 | (if (and flyspell-issue-message-flag (= count 100)) |
| 1351 | (progn | 1351 | (progn |
| 1352 | (message "Spell Checking...%d%%" | 1352 | (message "Spell Checking...%d%%" |
| 1353 | (* 100 (/ (float (- (point) beg)) (- end beg)))) | 1353 | (floor (* 100.0 (- (point) beg)) (- end beg))) |
| 1354 | (setq count 0)) | 1354 | (setq count 0)) |
| 1355 | (setq count (+ 1 count))) | 1355 | (setq count (+ 1 count))) |
| 1356 | (flyspell-word) | 1356 | (flyspell-word) |
| @@ -1403,7 +1403,7 @@ The buffer to mark them in is `flyspell-large-region-buffer'." | |||
| 1403 | ;; be unnecessary too. -- rms. | 1403 | ;; be unnecessary too. -- rms. |
| 1404 | (if flyspell-issue-message-flag | 1404 | (if flyspell-issue-message-flag |
| 1405 | (message "Spell Checking...%d%% [%s]" | 1405 | (message "Spell Checking...%d%% [%s]" |
| 1406 | (* 100 (/ (float (point)) (point-max))) | 1406 | (floor (* 100.0 (point)) (point-max)) |
| 1407 | word)) | 1407 | word)) |
| 1408 | (with-current-buffer flyspell-large-region-buffer | 1408 | (with-current-buffer flyspell-large-region-buffer |
| 1409 | (goto-char buffer-scan-pos) | 1409 | (goto-char buffer-scan-pos) |
diff --git a/lisp/textmodes/table.el b/lisp/textmodes/table.el index edc78e52efa..fa9f0fa638a 100644 --- a/lisp/textmodes/table.el +++ b/lisp/textmodes/table.el | |||
| @@ -1893,7 +1893,9 @@ all the table specific features." | |||
| 1893 | (while (and (re-search-forward border3 (point-max) t) | 1893 | (while (and (re-search-forward border3 (point-max) t) |
| 1894 | (not (and (input-pending-p) | 1894 | (not (and (input-pending-p) |
| 1895 | table-abort-recognition-when-input-pending))) | 1895 | table-abort-recognition-when-input-pending))) |
| 1896 | (message "Recognizing tables...(%d%%)" (/ (* 100 (match-beginning 0)) (- (point-max) (point-min)))) | 1896 | (message "Recognizing tables...(%d%%)" |
| 1897 | (floor (* 100.0 (match-beginning 0)) | ||
| 1898 | (- (point-max) (point-min)))) | ||
| 1897 | (let ((beg (match-beginning 0)) | 1899 | (let ((beg (match-beginning 0)) |
| 1898 | end) | 1900 | end) |
| 1899 | (if (re-search-forward non-border (point-max) t) | 1901 | (if (re-search-forward non-border (point-max) t) |