emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 3739d51: Be safer about "%" in message formats


From: Paul Eggert
Subject: [Emacs-diffs] master 3739d51: Be safer about "%" in message formats
Date: Thu, 7 Mar 2019 12:06:02 -0500 (EST)

branch: master
commit 3739d51ef3b935b30e40ba4534fe362bc685865f
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>

    Be safer about "%" in message formats
    
    * lisp/calc/calc-store.el (calc-copy-special-constant):
    * lisp/net/rcirc.el (rcirc-handler-PART, rcirc-handler-KICK):
    * lisp/org/org-agenda.el (org-agenda):
    * lisp/org/org-clock.el (org-clock-out, org-clock-display):
    * lisp/org/org.el (org-refile):
    * lisp/progmodes/ada-xref.el (ada-goto-declaration):
    * lisp/progmodes/idlwave.el (idlwave-scan-library-catalogs):
    Don’t trust arbitrary strings to not contain "%" or "`" in
    (message (concat STRING1 STRING2 ...)).
---
 lisp/calc/calc-store.el    |  4 ++--
 lisp/net/rcirc.el          |  4 ++--
 lisp/org/org-agenda.el     | 13 ++++++-------
 lisp/org/org-clock.el      | 22 ++++++++++++----------
 lisp/org/org.el            |  3 ++-
 lisp/progmodes/ada-xref.el |  3 +--
 lisp/progmodes/idlwave.el  |  7 +++----
 7 files changed, 28 insertions(+), 28 deletions(-)

diff --git a/lisp/calc/calc-store.el b/lisp/calc/calc-store.el
index 589a776..3987c12 100644
--- a/lisp/calc/calc-store.el
+++ b/lisp/calc/calc-store.el
@@ -405,8 +405,8 @@
                                     sconst))))
        (if var
            (let ((msg (calc-store-value var value "")))
-             (message (concat "Special constant \"%s\" copied to \"%s\"" msg)
-                      sconst (calc-var-name var)))))))))
+            (message "Special constant \"%s\" copied to \"%s\"%s"
+                     sconst (calc-var-name var) msg))))))))
 
 (defun calc-copy-variable (&optional var1 var2)
   (interactive)
diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el
index b1a6c1c..9d53cd4 100644
--- a/lisp/net/rcirc.el
+++ b/lisp/net/rcirc.el
@@ -2685,7 +2685,7 @@ the only argument."
 (defun rcirc-handler-PART (process sender args _text)
   (let* ((channel (car args))
         (reason (cadr args))
-        (message (concat channel " " reason)))
+        (message "%s %s" channel reason))
     (rcirc-print process sender "PART" channel message)
     ;; print in private chat buffer if it exists
     (when (rcirc-get-buffer (rcirc-buffer-process) sender)
@@ -2697,7 +2697,7 @@ the only argument."
   (let* ((channel (car args))
         (nick (cadr args))
         (reason (nth 2 args))
-        (message (concat nick " " channel " " reason)))
+        (message "%s %s %s" nick channel reason))
     (rcirc-print process sender "KICK" channel message t)
     ;; print in private chat buffer if it exists
     (when (rcirc-get-buffer (rcirc-buffer-process) nick)
diff --git a/lisp/org/org-agenda.el b/lisp/org/org-agenda.el
index e416f5f..23ee8d7 100644
--- a/lisp/org/org-agenda.el
+++ b/lisp/org/org-agenda.el
@@ -2882,13 +2882,12 @@ Pressing `<' twice means to restrict to the current 
subtree or region
             (let* ((m (org-agenda-get-any-marker))
                    (note (and m (org-entry-get m "THEFLAGGINGNOTE"))))
               (when note
-                (message (concat
-                          "FLAGGING-NOTE ([?] for more info): "
-                          (org-add-props
-                              (replace-regexp-in-string
-                               "\\\\n" "//"
-                               (copy-sequence note))
-                              nil 'face 'org-warning)))))))
+                (message "FLAGGING-NOTE ([?] for more info): %s"
+                         (org-add-props
+                          (replace-regexp-in-string
+                           "\\\\n" "//"
+                           (copy-sequence note))
+                          nil 'face 'org-warning))))))
         t t))
        ((equal org-keys "#") (call-interactively 
'org-agenda-list-stuck-projects))
        ((equal org-keys "/") (call-interactively 'org-occur-in-agenda-files))
diff --git a/lisp/org/org-clock.el b/lisp/org/org-clock.el
index 34b694d..62c7cd9 100644
--- a/lisp/org/org-clock.el
+++ b/lisp/org/org-clock.el
@@ -1622,9 +1622,10 @@ to, overriding the existing value of 
`org-clock-out-switch-to-state'."
                                                "\\>"))))
                  (org-todo org-clock-out-switch-to-state))))))
          (force-mode-line-update)
-         (message (concat "Clock stopped at %s after "
-                          (org-duration-from-minutes (+ (* 60 h) m)) "%s")
-                  te (if remove " => LINE REMOVED" ""))
+         (message (if remove
+                      "Clock stopped at %s after %s => LINE REMOVED"
+                    "Clock stopped at %s after %s")
+                  te (org-duration-from-minutes (+ (* 60 h) m)))
          (run-hooks 'org-clock-out-hook)
          (unless (org-clocking-p)
            (setq org-clock-current-task nil)))))))
@@ -1925,13 +1926,14 @@ Use `\\[org-clock-remove-overlays]' to remove the 
subtree times."
                    nil 'local))))
     (let* ((h (/ org-clock-file-total-minutes 60))
           (m (- org-clock-file-total-minutes (* 60 h))))
-      (message (concat (format "Total file time%s: "
-                              (cond (todayp " for today")
-                                    (customp " (custom)")
-                                    (t "")))
-                      (org-duration-from-minutes
-                       org-clock-file-total-minutes)
-                      " (%d hours and %d minutes)")
+      (message (cond
+               (todayp
+                "Total file time for today: %s (%d hours and %d minutes)")
+               (customp
+                "Total file time (custom): %s (%d hours and %d minutes)")
+               (t
+                "Total file time: %s (%d hours and %d minutes)"))
+              (org-duration-from-minutes org-clock-file-total-minutes)
               h m))))
 
 (defvar-local org-clock-overlays nil)
diff --git a/lisp/org/org.el b/lisp/org/org.el
index 3a434d1..e3c78ae 100644
--- a/lisp/org/org.el
+++ b/lisp/org/org.el
@@ -11878,7 +11878,8 @@ prefix argument (`C-u C-u C-u C-c C-w')."
            (when (featurep 'org-inlinetask)
              (org-inlinetask-remove-END-maybe))
            (setq org-markers-to-move nil)
-           (message (concat actionmsg " to \"%s\" in file %s: done") (car it) 
file)))))))
+           (message "%s to \"%s\" in file %s: done" actionmsg
+                    (car it) file)))))))
 
 (defun org-refile-goto-last-stored ()
   "Go to the location where the last refile was stored."
diff --git a/lisp/progmodes/ada-xref.el b/lisp/progmodes/ada-xref.el
index 28c52b0..c9c923e 100644
--- a/lisp/progmodes/ada-xref.el
+++ b/lisp/progmodes/ada-xref.el
@@ -1133,8 +1133,7 @@ If OTHER-FRAME is non-nil, display the cross-reference in 
another frame."
        (ada-find-in-ali identlist other-frame)
       ;; File not found: print explicit error message
       (ada-error-file-not-found
-       (message (concat (error-message-string err)
-                       (nthcdr 1 err))))
+       (message "%s%s" (error-message-string err) (nthcdr 1 err)))
 
       (error
        (let ((ali-file (ada-get-ali-file-name (ada-file-of identlist))))
diff --git a/lisp/progmodes/idlwave.el b/lisp/progmodes/idlwave.el
index 476d935..25bc788 100644
--- a/lisp/progmodes/idlwave.el
+++ b/lisp/progmodes/idlwave.el
@@ -5588,7 +5588,7 @@ be set to nil to disable library catalog scanning."
             (mapcar 'car idlwave-path-alist)))
          (old-libname "")
          dir-entry dir catalog all-routines)
-      (if message-base (message message-base))
+      (if message-base (message "%s" message-base))
       (while (setq dir (pop dirs))
        (catch 'continue
          (when (file-readable-p
@@ -5603,8 +5603,7 @@ be set to nil to disable library catalog scanning."
                     message-base
                     (not (string= idlwave-library-catalog-libname
                                   old-libname)))
-               (message "%s" (concat message-base
-                                     idlwave-library-catalog-libname))
+               (message "%s%s" message-base idlwave-library-catalog-libname)
                (setq old-libname idlwave-library-catalog-libname))
              (when idlwave-library-catalog-routines
                (setq all-routines
@@ -5618,7 +5617,7 @@ be set to nil to disable library catalog scanning."
                       (setq dir-entry (assoc dir idlwave-path-alist)))
              (idlwave-path-alist-add-flag dir-entry 'lib)))))
       (unless no-load (setq idlwave-library-catalog-routines all-routines))
-      (if message-base (message (concat message-base "done"))))))
+      (if message-base (message "%sdone" message-base)))))
 
 ;;----- Communicating with the Shell -------------------
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]