Commit 8c01e889 authored by Paul Eggert's avatar Paul Eggert

Follow user preference in calendar diagnostics

Respect text-quoting-style preference in diagnostic formats by
using curved quotes (which are translated as per text-quoting-style)
instead of grave accent and apostrophe (which are not).
* lisp/calendar/appt.el (appt-display-message):
* lisp/calendar/diary-lib.el (diary-check-diary-file)
(diary-mail-entries, diary-from-outlook):
* lisp/calendar/icalendar.el (icalendar-export-region)
(icalendar--convert-float-to-ical)
(icalendar--convert-date-to-ical)
(icalendar--convert-ical-to-diary)
(icalendar--convert-recurring-to-diary)
(icalendar--add-diary-entry):
* lisp/calendar/time-date.el (format-seconds):
* lisp/calendar/timeclock.el (timeclock-mode-line-display)
(timeclock-make-hours-explicit):
* lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category)
(todo-item-mark, todo-check-format)
(todo-insert-item--next-param, todo-edit-item--next-key)
(todo-mode):
Use curved quotes in diagnostic format strings.
* lisp/calendar/icalendar.el (icalendar-import-format-sample):
* test/automated/icalendar-tests.el (icalendar--import-format-sample):
Just use straight quoting for simple test case.
parent 21c2b4ac
...@@ -239,7 +239,7 @@ also calls `beep' for an audible reminder." ...@@ -239,7 +239,7 @@ also calls `beep' for an audible reminder."
(wrong-type-argument (wrong-type-argument
(if (not (listp mins)) (if (not (listp mins))
(signal (car err) (cdr err)) (signal (car err) (cdr err))
(message "Argtype error in `appt-disp-window-function' - \ (message "Argtype error in appt-disp-window-function - \
update it for multiple appts?") update it for multiple appts?")
;; Fallback to just displaying the first appt, as we used to. ;; Fallback to just displaying the first appt, as we used to.
(funcall appt-disp-window-function (funcall appt-disp-window-function
......
...@@ -484,8 +484,8 @@ If so, return the expanded file name, otherwise signal an error." ...@@ -484,8 +484,8 @@ If so, return the expanded file name, otherwise signal an error."
(if (and diary-file (file-exists-p diary-file)) (if (and diary-file (file-exists-p diary-file))
(if (file-readable-p diary-file) (if (file-readable-p diary-file)
diary-file diary-file
(error "Diary file `%s' is not readable" diary-file)) (error "Diary file ‘%s’ is not readable" diary-file))
(error "Diary file `%s' does not exist" diary-file))) (error "Diary file ‘%s’ does not exist" diary-file)))
;;;###autoload ;;;###autoload
(defun diary (&optional arg) (defun diary (&optional arg)
...@@ -1197,7 +1197,7 @@ ensure that all relevant variables are set. ...@@ -1197,7 +1197,7 @@ ensure that all relevant variables are set.
" "
(interactive "P") (interactive "P")
(if (string-equal diary-mail-addr "") (if (string-equal diary-mail-addr "")
(user-error "You must set `diary-mail-addr' to use this command") (user-error "You must set ‘diary-mail-addr’ to use this command")
(let ((diary-display-function 'diary-fancy-display)) (let ((diary-display-function 'diary-fancy-display))
(diary-list-entries (calendar-current-date) (or ndays diary-mail-days))) (diary-list-entries (calendar-current-date) (or ndays diary-mail-days)))
(compose-mail diary-mail-addr (compose-mail diary-mail-addr
...@@ -2527,7 +2527,7 @@ entry is found the user is asked to confirm its addition." ...@@ -2527,7 +2527,7 @@ entry is found the user is asked to confirm its addition."
#'diary-from-outlook-rmail) #'diary-from-outlook-rmail)
((memq major-mode '(gnus-summary-mode gnus-article-mode)) ((memq major-mode '(gnus-summary-mode gnus-article-mode))
#'diary-from-outlook-gnus) #'diary-from-outlook-gnus)
(t (error "Don't know how to snarf in `%s'" major-mode))))) (t (error "Don't know how to snarf in ‘%s’" major-mode)))))
(funcall func noconfirm))) (funcall func noconfirm)))
(provide 'diary-lib) (provide 'diary-lib)
......
...@@ -1118,7 +1118,7 @@ FExport diary data into iCalendar file: ") ...@@ -1118,7 +1118,7 @@ FExport diary data into iCalendar file: ")
(setq found-error t) (setq found-error t)
(save-current-buffer (save-current-buffer
(set-buffer (get-buffer-create "*icalendar-errors*")) (set-buffer (get-buffer-create "*icalendar-errors*"))
(insert (format "Error in line %d -- %s: `%s'\n" (insert (format "Error in line %d -- %s: %s\n"
(count-lines (point-min) (point)) (count-lines (point-min) (point))
error-val error-val
entry-main)))))) entry-main))))))
...@@ -1741,7 +1741,7 @@ entries. ENTRY-MAIN is the first line of the diary entry." ...@@ -1741,7 +1741,7 @@ entries. ENTRY-MAIN is the first line of the diary entry."
(when day (when day
(progn (progn
(icalendar--dmsg "diary-float %s" entry-main) (icalendar--dmsg "diary-float %s" entry-main)
(error "Don't know if or how to implement day in `diary-float'"))) (error "Don't know if or how to implement day in ‘diary-float’")))
(cons (concat (cons (concat
;;Start today (yes this is an arbitrary choice): ;;Start today (yes this is an arbitrary choice):
...@@ -1788,7 +1788,7 @@ entries. ENTRY-MAIN is the first line of the diary entry." ...@@ -1788,7 +1788,7 @@ entries. ENTRY-MAIN is the first line of the diary entry."
entry-main) entry-main)
(progn (progn
(icalendar--dmsg "diary-date %s" entry-main) (icalendar--dmsg "diary-date %s" entry-main)
(error "`diary-date' is not supported yet")) (error "‘diary-date’ is not supported yet"))
;; no match ;; no match
nil)) nil))
...@@ -2104,7 +2104,7 @@ written into the buffer `*icalendar-errors*'." ...@@ -2104,7 +2104,7 @@ written into the buffer `*icalendar-errors*'."
(rrule (icalendar--get-event-property e 'RRULE)) (rrule (icalendar--get-event-property e 'RRULE))
(rdate (icalendar--get-event-property e 'RDATE)) (rdate (icalendar--get-event-property e 'RDATE))
(duration (icalendar--get-event-property e 'DURATION))) (duration (icalendar--get-event-property e 'DURATION)))
(icalendar--dmsg "%s: `%s'" start-d summary) (icalendar--dmsg "%s: %s" start-d summary)
;; check whether start-time is missing ;; check whether start-time is missing
(if (and dtstart (if (and dtstart
(string= (string=
...@@ -2282,7 +2282,7 @@ END-T is the event's end time in diary format." ...@@ -2282,7 +2282,7 @@ END-T is the event's end time in diary format."
interval)))) interval))))
) )
(t (t
(message "Cannot handle COUNT attribute for `%s' events." (message "Cannot handle COUNT attribute for %s events."
frequency))) frequency)))
(setq until-conv (icalendar--datetime-to-diary-date until)) (setq until-conv (icalendar--datetime-to-diary-date until))
(setq until-1-conv (icalendar--datetime-to-diary-date until-1)) (setq until-1-conv (icalendar--datetime-to-diary-date until-1))
...@@ -2473,7 +2473,7 @@ SUMMARY is not nil it must be a string that gives the summary of the ...@@ -2473,7 +2473,7 @@ SUMMARY is not nil it must be a string that gives the summary of the
entry. In this case the user will be asked whether he wants to insert entry. In this case the user will be asked whether he wants to insert
the entry." the entry."
(when (or (not summary) (when (or (not summary)
(y-or-n-p (format "Add appointment for `%s' to diary? " (y-or-n-p (format "Add appointment for %s to diary? "
summary))) summary)))
(when summary (when summary
(setq non-marking (setq non-marking
...@@ -2500,8 +2500,8 @@ the entry." ...@@ -2500,8 +2500,8 @@ the entry."
;; ====================================================================== ;; ======================================================================
(defun icalendar-import-format-sample (event) (defun icalendar-import-format-sample (event)
"Example function for formatting an iCalendar EVENT." "Example function for formatting an iCalendar EVENT."
(format (concat "SUMMARY=`%s' DESCRIPTION=`%s' LOCATION=`%s' ORGANIZER=`%s' " (format (concat "SUMMARY='%s' DESCRIPTION='%s' LOCATION='%s' ORGANIZER='%s' "
"STATUS=`%s' URL=`%s' CLASS=`%s'") "STATUS='%s' URL='%s' CLASS='%s'")
(or (icalendar--get-event-property event 'SUMMARY) "") (or (icalendar--get-event-property event 'SUMMARY) "")
(or (icalendar--get-event-property event 'DESCRIPTION) "") (or (icalendar--get-event-property event 'DESCRIPTION) "")
(or (icalendar--get-event-property event 'LOCATION) "") (or (icalendar--get-event-property event 'LOCATION) "")
......
...@@ -377,9 +377,9 @@ This function does not work for SECONDS greater than `most-positive-fixnum'." ...@@ -377,9 +377,9 @@ This function does not work for SECONDS greater than `most-positive-fixnum'."
spec (match-string 1 string)) spec (match-string 1 string))
(unless (string-equal spec "%") (unless (string-equal spec "%")
(or (setq match (assoc (downcase spec) units)) (or (setq match (assoc (downcase spec) units))
(error "Bad format specifier: `%s'" spec)) (error "Bad format specifier: ‘%s’" spec))
(if (assoc (downcase spec) usedunits) (if (assoc (downcase spec) usedunits)
(error "Multiple instances of specifier: `%s'" spec)) (error "Multiple instances of specifier: ‘%s’" spec))
(if (string-equal (car match) "z") (if (string-equal (car match) "z")
(setq zeroflag t) (setq zeroflag t)
(unless larger (unless larger
......
...@@ -305,8 +305,8 @@ display (non-nil means on)." ...@@ -305,8 +305,8 @@ display (non-nil means on)."
;; on calling this function. ;; on calling this function.
(if display-time-mode (if display-time-mode
(timeclock-update-mode-line) (timeclock-update-mode-line)
(message "Activate `display-time-mode' or turn off \ (message "Activate display-time-mode or turn off \
`timeclock-use-display-time' to see timeclock information")) timeclock-use-display-time to see timeclock information"))
(add-hook 'display-time-hook 'timeclock-update-mode-line)) (add-hook 'display-time-hook 'timeclock-update-mode-line))
(setq timeclock-update-timer (setq timeclock-update-timer
(run-at-time nil 60 'timeclock-update-mode-line)))) (run-at-time nil 60 'timeclock-update-mode-line))))
...@@ -575,7 +575,7 @@ relative only to the time worked today, and not to past time." ...@@ -575,7 +575,7 @@ relative only to the time worked today, and not to past time."
OLD-DEFAULT hours are set for every day that has no number indicated." OLD-DEFAULT hours are set for every day that has no number indicated."
(interactive "P") (interactive "P")
(if old-default (setq old-default (prefix-numeric-value old-default)) (if old-default (setq old-default (prefix-numeric-value old-default))
(error "`timelog-make-hours-explicit' requires an explicit argument")) (error "timelog-make-hours-explicit requires an explicit argument"))
(let ((extant-timelog (find-buffer-visiting timeclock-file)) (let ((extant-timelog (find-buffer-visiting timeclock-file))
current-date) current-date)
(with-current-buffer (find-file-noselect timeclock-file t) (with-current-buffer (find-file-noselect timeclock-file t)
...@@ -589,7 +589,7 @@ OLD-DEFAULT hours are set for every day that has no number indicated." ...@@ -589,7 +589,7 @@ OLD-DEFAULT hours are set for every day that has no number indicated."
(unless (looking-at (unless (looking-at
(concat "^\\([bhioO]\\) \\([0-9]+/[0-9]+/[0-9]+\\) " (concat "^\\([bhioO]\\) \\([0-9]+/[0-9]+/[0-9]+\\) "
"\\([0-9]+:[0-9]+:[0-9]+\\)")) "\\([0-9]+:[0-9]+:[0-9]+\\)"))
(error "Can't parse `%s'" timeclock-file)) (error "Can't parse %s" timeclock-file))
(let ((this-date (match-string 2))) (let ((this-date (match-string 2)))
(unless (or (and current-date (unless (or (and current-date
(string= this-date current-date)) (string= this-date current-date))
......
...@@ -237,7 +237,7 @@ The final element is \"*\", indicating an unspecified month.") ...@@ -237,7 +237,7 @@ The final element is \"*\", indicating an unspecified month.")
(when (string= (widget-value widget) todo-item-mark) (when (string= (widget-value widget) todo-item-mark)
(widget-put (widget-put
widget :error widget :error
"Invalid value: must be distinct from `todo-item-mark'") "Invalid value: must be distinct from ‘todo-item-mark’")
widget))) widget)))
:initialize 'custom-initialize-default :initialize 'custom-initialize-default
:set 'todo-reset-prefix :set 'todo-reset-prefix
...@@ -1346,7 +1346,7 @@ todo or done items." ...@@ -1346,7 +1346,7 @@ todo or done items."
"the archived category will remain\n" "the archived category will remain\n"
"after deleting the todo category. " "after deleting the todo category. "
"Do you still want to delete it\n" "Do you still want to delete it\n"
"(see `todo-skip-archived-categories' " "(see ‘todo-skip-archived-categories’ "
"for another option)? "))) "for another option)? ")))
(t (t
(todo-y-or-n-p (concat "Permanently remove category \"" cat (todo-y-or-n-p (concat "Permanently remove category \"" cat
...@@ -1694,7 +1694,7 @@ only when no items are marked." ...@@ -1694,7 +1694,7 @@ only when no items are marked."
(when (string= (widget-value widget) todo-prefix) (when (string= (widget-value widget) todo-prefix)
(widget-put (widget-put
widget :error widget :error
"Invalid value: must be distinct from `todo-prefix'") "Invalid value: must be distinct from ‘todo-prefix’")
widget))) widget)))
:set (lambda (symbol value) :set (lambda (symbol value)
(custom-set-default symbol (propertize value 'face 'todo-mark))) (custom-set-default symbol (propertize value 'face 'todo-mark)))
...@@ -5034,7 +5034,7 @@ but the categories sexp differs from the current value of ...@@ -5034,7 +5034,7 @@ but the categories sexp differs from the current value of
;; Warn user if categories sexp has changed. ;; Warn user if categories sexp has changed.
(unless (string= ssexp cats) (unless (string= ssexp cats)
(message (concat "The sexp at the beginning of the file differs " (message (concat "The sexp at the beginning of the file differs "
"from the value of `todo-categories.\n" "from the value of ‘todo-categories’.\n"
"If the sexp is wrong, you can fix it with " "If the sexp is wrong, you can fix it with "
"M-x todo-repair-categories-sexp,\n" "M-x todo-repair-categories-sexp,\n"
"but note this reverts any changes you have " "but note this reverts any changes you have "
...@@ -5531,7 +5531,7 @@ already entered and those still available." ...@@ -5531,7 +5531,7 @@ already entered and those still available."
(todo-insert-item--this-key) (todo-insert-item--this-key)
todo-insert-item--argsleft))))))))) todo-insert-item--argsleft)))))))))
(setq todo-insert-item--argsleft todo-insert-item--newargsleft)) (setq todo-insert-item--argsleft todo-insert-item--newargsleft))
(when prompt (message "Press a key (so far `%s'): %s" (when prompt (message "Press a key (so far ‘%s’): %s"
todo-insert-item--keys-so-far prompt)) todo-insert-item--keys-so-far prompt))
(set-transient-map map) (set-transient-map map)
(setq todo-insert-item--argsleft argsleft))) (setq todo-insert-item--argsleft argsleft)))
...@@ -5585,7 +5585,7 @@ already entered and those still available." ...@@ -5585,7 +5585,7 @@ already entered and those still available."
(`delete (todo-edit-item--text 'comment-delete)) (`delete (todo-edit-item--text 'comment-delete))
(`diary (todo-edit-item--diary-inclusion)) (`diary (todo-edit-item--diary-inclusion))
(`nonmarking (todo-edit-item--diary-inclusion 'nonmarking)) (`nonmarking (todo-edit-item--diary-inclusion 'nonmarking))
(`date (let ((todo-edit-item--prompt "Press a key (so far `e d'): ")) (`date (let ((todo-edit-item--prompt "Press a key (so far ‘e d’): "))
(todo-edit-item--next-key (todo-edit-item--next-key
todo-edit-item--date-param-key-alist arg))) todo-edit-item--date-param-key-alist arg)))
(`full (progn (todo-edit-item--header 'date) (`full (progn (todo-edit-item--header 'date)
...@@ -6598,7 +6598,7 @@ Added to `window-configuration-change-hook' in Todo mode." ...@@ -6598,7 +6598,7 @@ Added to `window-configuration-change-hook' in Todo mode."
\\{todo-mode-map}" \\{todo-mode-map}"
(if (called-interactively-p 'any) (if (called-interactively-p 'any)
(message "Type `M-x todo-show' to enter Todo mode") (message "Type ‘M-x todo-show’ to enter Todo mode")
(todo-modes-set-1) (todo-modes-set-1)
(todo-modes-set-2) (todo-modes-set-2)
(todo-modes-set-3) (todo-modes-set-3)
......
...@@ -391,8 +391,8 @@ END:VTIMEZONE ...@@ -391,8 +391,8 @@ END:VTIMEZONE
(ert-deftest icalendar--import-format-sample () (ert-deftest icalendar--import-format-sample ()
"Test method for `icalendar-import-format-sample'." "Test method for `icalendar-import-format-sample'."
(should (string= (concat "SUMMARY=`a' DESCRIPTION=`b' LOCATION=`c' " (should (string= (concat "SUMMARY='a' DESCRIPTION='b' LOCATION='c' "
"ORGANIZER=`d' STATUS=`' URL=`' CLASS=`'") "ORGANIZER='d' STATUS='' URL='' CLASS=''")
(icalendar-import-format-sample (icalendar-import-format-sample
(icalendar-tests--get-ical-event "BEGIN:VEVENT (icalendar-tests--get-ical-event "BEGIN:VEVENT
DTSTAMP:20030509T043439Z DTSTAMP:20030509T043439Z
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment