;; (4) possibly update the switch cases in
;; bidi.c:bidi_get_type and bidi.c:bidi_get_category.
(bidi-warning "\
-** Found new bidi-class ‘%s’, please update bidi.c and dispextern.h")
+** Found new bidi-class `%s', please update bidi.c and dispextern.h")
tail elt range val val-code idx slot
prev-range-data)
(setq val-list (cons nil (copy-sequence val-list)))
@smallexample
@group
(defvar shell-command-default-error-buffer nil
- "*Buffer name for ‘shell-command’ @dots{} error output.
+ "*Buffer name for `shell-command' @dots{} error output.
@dots{} ")
@end group
@end smallexample
@smallexample
@group
(defun triangle-using-dotimes (number-of-rows)
- "Using ‘dotimes’, add up the number of pebbles in a triangle."
+ "Using `dotimes', add up the number of pebbles in a triangle."
(let ((total 0)) ; otherwise a total is a void variable
(dotimes (number number-of-rows total)
(setq total (+ total (1+ number))))))
@smallexample
@group
(let* ((foo 7)
- (bar (* 3 foo)))
- (message "‘bar’ is %d." bar))
+ (bar (* 3 foo)))
+ (message "`bar' is %d." bar))
@result{} ‘bar’ is 21.
@end group
@end smallexample
"Print number of words in the region.
Words are defined as at least one word-constituent
character followed by at least one character that
-is not a word-constituent. The buffer’s syntax
+is not a word-constituent. The buffer's syntax
table determines which characters these are."
(interactive "r")
(message "Counting words in region ... ")
(defun @value{COUNT-WORDS} (beginning end)
"Print number of words in the region.
Words are defined as at least one word-constituent character followed
-by at least one character that is not a word-constituent. The buffer’s
+by at least one character that is not a word-constituent. The buffer's
syntax table determines which characters these are."
@end group
@group
@smallexample
@group
(defun lengths-list-file (filename)
- "Return list of definitions’ lengths within FILE.
+ "Return list of definitions' lengths within FILE.
The returned list is a list of numbers.
Each number is the number of words or
symbols in one function definition."
@end group
@group
- (message "Working on ‘%s’ ... " filename)
+ (message "Working on `%s' ... " filename)
(save-excursion
(let ((buffer (find-file-noselect filename))
(lengths-list))
160 170 180 190 200
210 220 230 240 250
260 270 280 290 300)
- "List specifying ranges for ‘defuns-per-range’.")
+ "List specifying ranges for `defuns-per-range'.")
@end group
@end smallexample
@group
(defun Y-axis-element (number full-Y-label-width)
"Construct a NUMBERed label element.
-A numbered element looks like this ‘ 5 - ’,
+A numbered element looks like this ` 5 - ',
and is padded as needed so all line up with
the element for the largest number."
@end group
Height must be the maximum height of the graph.
Full width is the width of the highest label element."
;; Value of height and full-Y-label-width
-;; are passed by ‘print-graph’.
+;; are passed by print-graph.
@end group
@group
(let ((start (point)))
@end group
@group
;; Value of symbol-width and full-Y-label-width
-;; are passed by ‘print-graph’.
+;; are passed by print-graph.
(let* ((leading-spaces
(make-string full-Y-label-width ? ))
;; symbol-width @r{is provided by} graph-body-print
110 120 130 140 150
160 170 180 190 200
210 220 230 240 250)
- "List specifying ranges for ‘defuns-per-range’.")
+ "List specifying ranges for `defuns-per-range'.")
@end group
@group
@smallexample
@group
(defun lengths-list-file (filename)
- "Return list of definitions’ lengths within FILE.
+ "Return list of definitions' lengths within FILE.
The returned list is a list of numbers.
Each number is the number of words or
symbols in one function definition."
@end group
@group
- (message "Working on ‘%s’ ... " filename)
+ (message "Working on `%s' ... " filename)
(save-excursion
(let ((buffer (find-file-noselect filename))
(lengths-list))
@group
(defun Y-axis-element (number full-Y-label-width)
"Construct a NUMBERed label element.
-A numbered element looks like this ‘ 5 - ’,
+A numbered element looks like this ` 5 - ',
and is padded as needed so all line up with
the element for the largest number."
@end group
@end group
@group
;; Value of height and full-Y-label-width
-;; are passed by ‘print-graph’.
+;; are passed by 'print-graph'.
(let ((start (point)))
(insert-rectangle
(Y-axis-column height full-Y-label-width vertical-step))
@end group
@group
;; Value of symbol-width and full-Y-label-width
-;; are passed by ‘print-graph’.
+;; are passed by 'print-graph'.
(let* ((leading-spaces
(make-string full-Y-label-width ? ))
;; symbol-width @r{is provided by} graph-body-print
@example
(pcase (get-return-code x)
(`success (message "Done!"))
- (`would-block (message "Sorry, can’t do it now"))
+ (`would-block (message "Sorry, can't do it now"))
(`read-only (message "The shmliblick is read-only"))
(`access-denied (message "You do not have the needed rights"))
(code (message "Unknown return code %S" code)))
@example
(defadvice foo (around foo-around)
- "Ignore case in ‘foo’."
+ "Ignore case in `foo'."
(let ((case-fold-search t))
ad-do-it))
(ad-activate 'foo)
@example
(defun foo--foo-around (orig-fun &rest args)
- "Ignore case in ‘foo’."
+ "Ignore case in `foo'."
(let ((case-fold-search t))
(apply orig-fun args)))
(advice-add 'foo :around #'foo--foo-around)
@smallexample
@group
(substitute-command-keys
- "To abort recursive edit, type ‘\\[abort-recursive-edit]’.")
+ "To abort recursive edit, type `\\[abort-recursive-edit]'.")
@result{} "To abort recursive edit, type ‘C-]’."
@end group
@group
(substitute-command-keys
- "To abort a recursive edit from the minibuffer, type\
+ "To abort a recursive edit from the minibuffer, type \
`\\<minibuffer-local-must-match-map>\\[abort-recursive-edit]'.")
@result{} "To abort a recursive edit from the minibuffer, type ‘C-g’."
@end group
"Major mode for editing text written for humans to read.
In this mode, paragraphs are delimited only by blank or white lines.
You can thus get the full benefit of adaptive filling
- (see the variable ‘adaptive-fill-mode’).
+ (see the variable `adaptive-fill-mode').
\\@{text-mode-map@}
-Turning on Text mode runs the normal hook ‘text-mode-hook’."
+Turning on Text mode runs the normal hook `text-mode-hook'."
@end group
@group
(set (make-local-variable 'text-mode-variant) t)
@dots{}
map)
"Keymap for ordinary Lisp mode.
-All commands in ‘lisp-mode-shared-map’ are inherited by this map.")
+All commands in `lisp-mode-shared-map' are inherited by this map.")
@end group
@end smallexample
Blank lines separate paragraphs. Semicolons start comments.
\\@{lisp-mode-map@}
-Note that ‘run-lisp’ may be used either to start an inferior Lisp job
+Note that `run-lisp' may be used either to start an inferior Lisp job
or to switch back to an existing one.
@end group
@group
-Entry to this mode calls the value of ‘lisp-mode-hook’
+Entry to this mode calls the value of `lisp-mode-hook'
if that value is non-nil."
(lisp-mode-variables nil t)
(set (make-local-variable 'find-tag-default-function)
(defcustom msb-mode nil
"Toggle msb-mode.
Setting this variable directly does not take effect;
-use either \\[customize] or the function ‘msb-mode’."
+use either \\[customize] or the function `msb-mode'."
:set 'custom-set-minor-mode
:initialize 'custom-initialize-default
:version "20.4"
Interactively with no argument, this command toggles the mode.
A positive prefix argument enables the mode, any other prefix
argument disables it. From Lisp, argument omitted or nil enables
-the mode, ‘toggle’ toggles the state.
+the mode, `toggle' toggles the state.
When Hungry mode is enabled, the control delete key
gobbles all preceding whitespace except the last.
@example
(defvar my-resume-timer nil
- "Timer for ‘my-timer-function’ to reschedule itself, or nil.")
+ "Timer for `my-timer-function' to reschedule itself, or nil.")
(defun my-timer-function ()
;; @r{If the user types a command while @code{my-resume-timer}}
@group
(defun msg-me (process event)
(princ
- (format "Process: %s had the event ‘%s’" process event)))
+ (format "Process: %s had the event '%s'" process event)))
(set-process-sentinel (get-process "shell") 'msg-me)
@result{} msg-me
@end group
@group
(kill-process (get-process "shell"))
- @print{} Process: #<process shell> had the event ‘killed’
+ @print{} Process: #<process shell> had the event 'killed'
@result{} #<process shell>
@end group
@end smallexample
@example
@group
-(format "The word ‘%7s’ has %d letters in it."
+(format "The word '%7s' has %d letters in it."
"foo" (length "foo"))
- @result{} "The word ‘ foo’ has 3 letters in it."
-(format "The word ‘%7s’ has %d letters in it."
+ @result{} "The word ' foo' has 3 letters in it."
+(format "The word '%7s' has %d letters in it."
"specification" (length "specification"))
- @result{} "The word ‘specification’ has 13 letters in it."
+ @result{} "The word 'specification' has 13 letters in it."
@end group
@end example
(format "%06d is padded on the left with zeros" 123)
@result{} "000123 is padded on the left with zeros"
-(format "‘%-6d’ is padded on the right" 123)
- @result{} "‘123 ’ is padded on the right"
+(format "'%-6d' is padded on the right" 123)
+ @result{} "'123 ' is padded on the right"
-(format "The word ‘%-7s’ actually has %d letters in it."
+(format "The word '%-7s' actually has %d letters in it."
"foo" (length "foo"))
- @result{} "The word ‘foo ’ actually has 3 letters in it."
+ @result{} "The word 'foo ' actually has 3 letters in it."
@end group
@end example
@group
REVERSE (non-nil means reverse order),\
BEG and END (region to sort).
-The variable ‘sort-fold-case’ determines\
+The variable `sort-fold-case' determines\
whether alphabetic case affects
the sort order."
@end group
recognizing these indicator words.) For example, if you write
@example
-This function sets the variable ‘buffer-file-name’.
+This function sets the variable `buffer-file-name'.
@end example
@noindent
symbol name to prevent making any hyperlink. For example,
@example
-If the argument KIND-OF-RESULT is the symbol ‘list’,
+If the argument KIND-OF-RESULT is the symbol `list',
this function returns a list of all the objects
that satisfy the criterion.
@end example
anchor}. The Info file name defaults to @samp{emacs}. For example,
@smallexample
-See Info node ‘Font Lock’ and Info node ‘(elisp)Font Lock Basics’.
+See Info node `Font Lock' and Info node `(elisp)Font Lock Basics'.
@end smallexample
Finally, to create a hyperlink to URLs, write the single-quoted URL,
@smallexample
The home page for the GNU project has more information (see URL
-‘http://www.gnu.org/’).
+`http://www.gnu.org/').
@end smallexample
@item
)
(defun MY-ROOT-FCN ()
- "Return the root fcn for ‘default-directory’"
+ "Return the root fcn for `default-directory'"
;; You might be able to use 'ede-cpp-root-project-root'
;; and not write this at all.
)
(defun MY-LOAD (dir)
- "Load a project of type ‘cpp-root’ for the directory DIR.
-Return nil if there isn’t one."
+ "Load a project of type `cpp-root' for the directory DIR.
+Return nil if there isn't one."
;; Use your preferred construction method here.
(ede-cpp-root-project "NAME" :file (expand-file-name "FILE" dir)
:locate-fcn 'MYFCN)
@lisp
(defun rmail-reply-t ()
- "Reply only to the sender of the current message. (See ‘rmail-reply’.)"
+ "Reply only to the sender of the current message. (See rmail-reply.)"
(interactive)
(rmail-reply t))
nil
"Default parent class for classes with no specified parent class.
Its slots are automatically adopted by classes with no specified
-parents. This class is not stored in the ‘parent’ slot of a class vector."
+parents. This class is not stored in the `parent' slot of a class vector."
:abstract t)
@end example
(setq message-user-fqdn fqdn)
(gnus-message 1 "Redefining `message-make-fqdn'.")
(defun message-make-fqdn ()
- "Return user’s fully qualified domain name."
+ "Return user's fully qualified domain name."
fqdn))))
@end example
@noindent
@example
(defun my-archive-article (&optional n)
- "Copies one or more article(s) to a corresponding ‘nnml:’ group, e.g.,
-‘gnus.ding’ goes to ‘nnml:1.gnus.ding’. And ‘nnml:List-gnus.ding’ goes
-to ‘nnml:1.List-gnus-ding’.
+ "Copies one or more article(s) to a corresponding `nnml:' group, e.g.,
+`gnus.ding' goes to `nnml:1.gnus.ding'. And `nnml:List-gnus.ding' goes
+to `nnml:1.List-gnus-ding'.
Use process marks or mark a region in the summary buffer to archive
more then one article."
@lisp
(defun gnus-decay-score (score)
- "Decay SCORE according to ‘gnus-score-decay-constant’
-and ‘gnus-score-decay-scale’."
+ "Decay SCORE according to `gnus-score-decay-constant'
+and `gnus-score-decay-scale'."
(let ((n (- score
(* (if (< score 0) -1 1)
(min (abs score)
@lisp
(defun my-gnus-raze-spam ()
- "Submit SPAM to Vipul’s Razor, then mark it as expirable."
+ "Submit SPAM to Vipul's Razor, then mark it as expirable."
(interactive)
(gnus-summary-save-in-pipe "razor-report -f -d" t)
(gnus-summary-mark-as-expirable 1))
"Reconnect the server process."
(interactive "i")
(unless process
- (error "There’s no process for this target"))
+ (error "There's no process for this target"))
(let* ((server (car (process-contact process)))
(port (process-contact process :service))
(nick (rcirc-nick process))
(buffer-substring-no-properties
(save-excursion (forward-word -1) (point))
pnt)))
- (if (or noquery (y-or-n-p (format-message "Expand ‘%s’? " string)))
+ (if (or noquery (y-or-n-p (format-message "Expand `%s'? " string)))
(expand-abbrev)))))))
;;; Abbrev properties.
(if real-beg
(goto-char beg)
(if (or (not thissep) (eq thissep 'entire))
- (error "Cannot determine alignment region for ‘%s’"
+ (error "Cannot determine alignment region for `%s'"
(symbol-name (cdr (assq 'title rule)))))
(beginning-of-line)
(while (and (not (eobp))
\(That space is used to convey selected cues indicating body qualities,
including things like:
- - encryption ‘~’
- - numbering ‘#’
- - indirect reference ‘@’
+ - encryption `~'
+ - numbering `#'
+ - indirect reference `@'
- distinctive bullets - see `allout-distinctive-bullets-string'.)")
;;;_ = allout-span-to-category
(defvar allout-span-to-category
that are not prefixed.
Use vector format for the keys:
- - put literal keys after a ‘?’ question mark, eg: ‘?a’, ‘?.’
+ - put literal keys after a `?' question mark, eg: `?a', `?.'
- enclose control, shift, or meta-modified keys as sequences within
parentheses, with the literal key, as above, preceded by the name(s)
of the modifiers, eg: [(control ?a)]
preceding command key.
Use vector format for the keys:
- - put literal keys after a ‘?’ question mark, eg: ‘?a’, ‘?.’
+ - put literal keys after a `?' question mark, eg: `?a', `?.'
- enclose control, shift, or meta-modified keys as sequences within
parentheses, with the literal key, as above, preceded by the name(s)
of the modifiers, eg: [(control ?a)]
being followed by a legitimate item of excessively greater depth.
The classic example of a mistaken item, for a standard allout
-outline configuration, is a body line that begins with an ‘...’
+outline configuration, is a body line that begins with an `...'
ellipsis. This happens to contain a legitimate depth-2 header
-prefix, constituted by two ‘..’ dots at the beginning of the
+prefix, constituted by two `..' dots at the beginning of the
line. The only thing that can distinguish it *in principle* from
a legitimate one is if the following real header is at a depth
that is discontinuous from the depth of 2 implied by the
(and (not (string= allout-auto-activation "activate"))
(if (string= allout-auto-activation "ask")
(if (y-or-n-p (format-message
- "Expose %s with layout ‘%s’? "
+ "Expose %s with layout `%s'? "
(buffer-name) use-layout))
t
(message "Skipped %s layout." (buffer-name))
nil)
t)))
(save-excursion
- (message "Adjusting ‘%s’ exposure..." (buffer-name))
+ (message "Adjusting `%s' exposure..." (buffer-name))
(goto-char 0)
(allout-this-or-next-heading)
(condition-case err
(progn
(apply 'allout-expose-topic (list use-layout))
- (message "Adjusting ‘%s’ exposure... done."
+ (message "Adjusting `%s' exposure... done."
(buffer-name)))
;; Problem applying exposure -- notify user, but don't
;; interrupt, eg, file visit:
(goto-char (allout-current-bullet-pos))
(setq choice (solicit-char-in-string
(format-message
- "Select bullet: %s (‘%s’ default): "
+ "Select bullet: %s (`%s' default): "
sans-escapes
(allout-substring-no-properties default-bullet))
sans-escapes
(defun allout-toggle-current-subtree-encryption (&optional keymode-cue)
"Encrypt clear or decrypt encoded topic text.
-Allout uses Emacs ‘epg’ library to perform encryption. Symmetric
+Allout uses Emacs `epg' library to perform encryption. Symmetric
and keypair encryption are supported. All encryption is ascii
armored.
recipients with the file, by selecting no recipients in the
dialog.
-Encryption and decryption uses the Emacs ‘epg’ library.
+Encryption and decryption uses the Emacs `epg' library.
Encrypted text will be ascii-armored.
(allout-open-topic 2)
(insert (substitute-command-keys
(concat "Dummy outline topic header -- see"
- " ‘allout-mode’ docstring: ‘\\[describe-mode]’.")))
+ " `allout-mode' docstring: `\\[describe-mode]'.")))
(allout-adjust-file-variable
"allout-layout" (or allout-layout '(-1 : 0))))))
;;;_ > allout-file-vars-section-data ()
(defun regexp-sans-escapes (regexp &optional successive-backslashes)
"Return a copy of REGEXP with all character escapes stripped out.
-Representations of actual backslashes -- ‘\\\\\\\\’ -- are left as a
+Representations of actual backslashes -- `\\\\\\\\' -- are left as a
single backslash.
Optional arg SUCCESSIVE-BACKSLASHES is used internally for recursion."
symbols apropos-do-all
(concat
(format-message
- "Library ‘%s’ provides: %s\nand requires: %s"
+ "Library `%s' provides: %s\nand requires: %s"
file
(mapconcat 'apropos-library-button
(or provides '(nil)) " and ")
The default annotation text is simply some text explaining how to use
annotations."
(concat (format-message
- "# Type the annotation for bookmark ‘%s’ here.\n"
+ "# Type the annotation for bookmark `%s' here.\n"
bookmark-name)
(format-message
- "# All lines which start with a ‘#’ will be deleted.\n")
+ "# All lines which start with a `#' will be deleted.\n")
"# Type C-c C-c when done.\n#\n"
"# Author: " (user-full-name) " <" (user-login-name) "@"
(system-name) ">\n"
(format-mode-line mode-name nil nil start-buffer))
(defun bs--get-file-name (_start-buffer _all-buffers)
- "Return string for column ‘File’ in Buffer Selection Menu.
+ "Return string for column `File' in Buffer Selection Menu.
This is the variable `buffer-file-name' of current buffer.
If not visiting a file, `list-buffers-directory' is returned instead.
START-BUFFER is the buffer where we started buffer selection.
"Return the symbol used by button-type TYPE to store properties.
Buttons inherit them by setting their `category' property to that symbol."
(or (get type 'button-category-symbol)
- (error "Unknown button type ‘%s’" type)))
+ (error "Unknown button type `%s'" type)))
(defun define-button-type (name &rest properties)
"Define a `button type' called NAME (a symbol).
(setq val (button-category-symbol val)))
((eq prop 'category)
;; Disallow updating the `category' property directly.
- (error "Button ‘category’ property may not be set directly")))
+ (error "Button `category' property may not be set directly")))
;; Add the property.
(cond ((overlayp button)
(overlay-put button prop val))
(setq object beg beg 0 end (length object)))
;; Disallow setting the `category' property directly.
(when (plist-get properties 'category)
- (error "Button ‘category’ property may not be set directly"))
+ (error "Button `category' property may not be set directly"))
(if (null type-entry)
;; The user didn't specify a `type' property, use the default.
(setq properties (cons 'category (cons 'default-button properties)))
(defun math-restore-placeholders (x)
"Replace placeholders by the proper characters in the symbol x.
-This includes ‘#’ for ‘_’ and ‘'’ for ‘%’.
+This includes `#' for `_' and `'' for `%'.
If the current Calc language does not use placeholders, return nil."
(if (or (memq calc-language calc-lang-allow-underscores)
(memq calc-language calc-lang-allow-percentsigns))
(defun math-read-if (cond op)
(let ((then (math-read-expr-level 0)))
(or (equal math-expr-data ":")
- (throw 'syntax "Expected ‘:’"))
+ (throw 'syntax "Expected `:'"))
(math-read-token)
(list 'calcFunc-if cond then (math-read-expr-level (nth 3 op)))))
(math-read-expr-list))))
(if (not (or (equal math-expr-data calc-function-close)
(eq math-exp-token 'end)))
- (throw 'syntax "Expected ‘)’"))
+ (throw 'syntax "Expected `)'"))
(math-read-token)
(if (and (memq calc-language
calc-lang-parens-are-subscripts)
(setq el (cdr el))))
(if (equal math-expr-data "]")
(math-read-token)
- (throw 'syntax "Expected ‘]’")))
+ (throw 'syntax "Expected `]'")))
val)))))
((eq math-exp-token 'dollar)
(let ((abs (if (> math-expr-data 0) math-expr-data (- math-expr-data))))
(if (not (or (equal math-expr-data ")")
(and (equal math-expr-data "]") (eq (car-safe exp) 'intv))
(eq math-exp-token 'end)))
- (throw 'syntax "Expected ‘)’"))
+ (throw 'syntax "Expected `)'"))
(math-read-token)
exp))
((eq math-exp-token 'string)
(message (concat
"Embedded Calc mode enabled; "
(if calc-embedded-quiet
- "Type ‘C-x * x’"
+ "Type `C-x * x'"
"Give this command again")
" to return to normal")))))
(scroll-down 0)) ; fix a bug which occurs when truncate-lines is changed.
(desc
(if (symbolp func)
(if (= (logand kind 3) 0)
- (format-message "‘%c’ = %s" key name)
+ (format-message "`%c' = %s" key name)
(if pos
(format "%s%c%s"
(downcase (substring name 0 pos))
(define-key calc-dumb-map "\C-c\C-c" 'exit-recursive-edit)))
(use-local-map calc-dumb-map)
(setq truncate-lines t)
- (message "Type ‘q’ or ‘C-c C-c’ to return to Calc")
+ (message "Type `q' or `C-c C-c' to return to Calc")
(recursive-edit)
(bury-buffer "*Gnuplot Trail*")))
(if (string-match "\\` +" prompts)
(setq prompts (substring prompts (match-end 0))))
(setq msg (format-message
- "%s: %s%s‘%s’%s%s %s%s"
+ "%s: %s%s`%s'%s%s %s%s"
(if (string-match
"\\`\\(calc-[-a-zA-Z0-9]+\\) *\\(.*\\)\\'"
cmd)
(calc-describe-thing var "Variable Index"))
(defun calc-describe-thing (thing where &optional target not-quoted)
- (message "Looking for ‘%s’ in %s..." thing where)
+ (message "Looking for `%s' in %s..." thing where)
(let ((savewin (current-window-configuration)))
(calc-info-goto-node where)
(or (let ((case-fold-search nil))
(if Info-history
(Info-last))
(set-window-configuration savewin)
- (error "Can't find ‘%s’ in %s" thing where)))
+ (error "Can't find `%s' in %s" thing where)))
(let (Info-history)
(Info-goto-node (buffer-substring (match-beginning 1) (match-end 1))))
(let* ((string-target (or target thing))
(re-search-forward quoted nil t)
(search-forward string-target nil t)))))
(beginning-of-line)
- (message "Found ‘%s’ in %s" thing where)))
+ (message "Found `%s' in %s" thing where)))
(defun calc-view-news ()
(interactive)
(princ "GNU Emacs Calculator.\n")
(princ " By Dave Gillespie.\n")
(princ (format " %s\n\n" emacs-copyright))
- (princ (format-message "Type ‘h s’ for a more detailed summary.\n"))
+ (princ (format-message "Type `h s' for a more detailed summary.\n"))
(princ (format-message
- "Or type ‘h i’ to read the full Calc manual on-line.\n\n"))
+ "Or type `h i' to read the full Calc manual on-line.\n\n"))
(princ "Basic keys:\n")
(let* ((calc-full-help-flag t))
(mapc (function (lambda (x) (princ (format
(princ
(if (eq (nth 2 msgs) ?v)
(format-message
- "\n‘v’ or ‘V’ prefix (vector/matrix) keys: \n")
+ "\n`v' or `V' prefix (vector/matrix) keys: \n")
(if (nth 2 msgs)
(format-message
- "\n‘%c’ prefix (%s) keys:\n"
+ "\n`%c' prefix (%s) keys:\n"
(nth 2 msgs)
(or (cdr (assq (nth 2 msgs)
calc-help-long-names))
(interactive)
(calc-wrapper
(calc-set-language 'c)
- (message "‘C’ language mode")))
+ (message "C language mode")))
(put 'c 'math-oper-table
'( ( "u!" calcFunc-lnot -1 1000 )
math-exp-token 'end
math-expr-data "\000")
x)
- (throw 'syntax "Unmatched closing ‘/’")))
+ (throw 'syntax "Unmatched closing `/'")))
(defun math-parse-fortran-subscr (sym args)
(setq sym (math-build-var-name sym))
(defun math-parse-tex-sum (f val)
(let (low high save)
- (or (equal math-expr-data "_") (throw 'syntax "Expected ‘_’"))
+ (or (equal math-expr-data "_") (throw 'syntax "Expected `_'"))
(math-read-token)
(setq save math-exp-old-pos)
(setq low (math-read-factor))
(progn
(setq math-exp-old-pos (1+ save))
(throw 'syntax "Expected equation")))
- (or (equal math-expr-data "^") (throw 'syntax "Expected ‘^’"))
+ (or (equal math-expr-data "^") (throw 'syntax "Expected `^'"))
(math-read-token)
(setq high (math-read-factor))
(list (nth 2 f) (math-read-factor) (nth 1 low) (nth 2 low) high)))
(while (assoc math-expr-data '(("ccol") ("lcol") ("rcol")))
(math-read-token)
(or (equal math-expr-data calc-function-open)
- (throw 'syntax "Expected ‘{’"))
+ (throw 'syntax "Expected `{'"))
(math-read-token)
(setq vec (cons (cons 'vec (math-read-expr-list)) vec))
(or (equal math-expr-data calc-function-close)
- (throw 'syntax "Expected ‘}’"))
+ (throw 'syntax "Expected `}'"))
(math-read-token))
(or (equal math-expr-data calc-function-close)
- (throw 'syntax "Expected ‘}’"))
+ (throw 'syntax "Expected `}'"))
(math-read-token)
(math-transpose (cons 'vec (nreverse vec)))))
(math-read-expr-list))))
(if (not (or (equal math-expr-data calc-function-close)
(eq math-exp-token 'end)))
- (throw 'syntax "Expected ‘)’"))
+ (throw 'syntax "Expected `)'"))
(math-read-token)
(cons (intern (format "calcFunc-%s'" (nth 1 x))) args)))
(list 'var
(interactive)
(calc-wrapper
(calc-set-language 'yacas)
- (message "‘Yacas’ language mode")))
+ (message "Yacas language mode")))
(put 'yacas 'math-vector-brackets "{}")
(interactive)
(calc-wrapper
(calc-set-language 'maxima)
- (message "‘Maxima’ language mode")))
+ (message "Maxima language mode")))
(put 'maxima 'math-oper-table
'(("+" + 100 100)
(interactive)
(calc-wrapper
(calc-set-language 'giac)
- (message "‘Giac’ language mode")))
+ (message "Giac language mode")))
(put 'giac 'math-oper-table
'( ( "[" (math-read-giac-subscr) 250 -1 )
(defun math-read-giac-subscr (x op)
(let ((idx (math-read-expr-level 0)))
(or (equal math-expr-data "]")
- (throw 'syntax "Expected ‘]’"))
+ (throw 'syntax "Expected `]'"))
(math-read-token)
(list 'calcFunc-subscr x (calc-normalize (list '+ idx 1)))))
(progn
(math-read-token)
(equal math-expr-data "]")))
- (throw 'syntax "Expected ‘]]’"))
+ (throw 'syntax "Expected `]]'"))
(math-read-token)
(list 'calcFunc-subscr x idx)))
(if (= sep ?\.)
(setq h (1+ h)))
(if (= sep ?\])
- (math-read-big-error (1- h) v "Expected ‘)’"))
+ (math-read-big-error (1- h) v "Expected `)'"))
(if (= sep ?\))
(setq p (math-read-big-rec
(1+ math-rb-h1) math-rb-v1 (1- h) math-rb-v2 v))
0 1)
p))))
((= (math-read-big-char (1- h) v) ?\])
- (math-read-big-error (1- h) v "Expected ‘)’"))
+ (math-read-big-error (1- h) v "Expected `)'"))
((= sep ?\,)
(or (and (math-realp (car p)) (math-realp (nth 1 p)))
(math-read-big-error
(setq h (math-read-big-balance (1+ hleft) v "["))
(if hright
(or (= h hright)
- (math-read-big-error hright v "Expected ‘]’"))
+ (math-read-big-error hright v "Expected `]'"))
(setq hright h))
(setq p (cons (math-read-big-rec
hleft v h (1+ v)) p))
(setq h (1+ h)))
(and (= (math-read-big-char h v) ?\])
(setq h (1+ h))))
- (math-read-big-error (1- h) v "Expected ‘]’"))
+ (math-read-big-error (1- h) v "Expected `]'"))
(if (= (math-read-big-char h vtop) ?\,)
(setq h (1+ h)))
(math-read-big-emptyp math-rb-h1 (1+ v) (1- h) math-rb-v2 nil t)
(setq widest (math-read-big-char (1- h) v))
(if (or (memq widest '(?\; ?\)))
(and (eq widest ?\.) (cdr p)))
- (math-read-big-error (1- h) v "Expected ‘]’"))
+ (math-read-big-error (1- h) v "Expected `]'"))
(if (= widest ?\.)
(setq h (1+ h)
widest (math-read-big-balance h v "[")
h widest)
(= (math-read-big-char (1- h) v) ?\,)))
(or (= (math-read-big-char (1- h) v) ?\))
- (math-read-big-error (1- h) v "Expected ‘)’"))
+ (math-read-big-error (1- h) v "Expected `)'"))
(setq p (cons line (nreverse p))))
(setq p (list 'var
(intern (math-remove-dashes p))
math-rb-v2 baseline nil t)))
(or (= (math-read-big-char math-read-big-h2 baseline) ?\:)
(math-read-big-error math-read-big-h2 baseline
- "Expected ‘:’"))
+ "Expected `:'"))
(setq p (list (nth 1 widest) p y
(math-read-big-rec
(1+ math-read-big-h2) math-rb-v1 math-rb-h2 math-rb-v2
(if (>= h len)
(if what
(math-read-big-error nil v (format-message
- "Unmatched ‘%s’" what))
+ "Unmatched `%s'" what))
(setq count 0))
(if (memq (aref line h) '(?\( ?\[))
(setq count (1+ count))
(defun calc-help ()
(interactive)
(let ((msgs
- '("Press ‘h’ for complete help; press ‘?’ repeatedly for a summary"
+ '("Press `h' for complete help; press `?' repeatedly for a summary"
"Letter keys: Negate; Precision; Yank; Why; Xtended cmd; Quit"
"Letter keys: SHIFT + Undo, reDo; Inverse, Hyperbolic, Option"
"Letter keys: SHIFT + sQrt; Sin, Cos, Tan; Exp, Ln, logB"
nil nil nil
"Please describe exactly what actions triggered the bug and the
precise symptoms of the bug. If possible, include a backtrace by
-doing ‘\\[toggle-debug-on-error]’, then reproducing the bug.
+doing `\\[toggle-debug-on-error]', then reproducing the bug.
" )))
;;;###autoload
(defalias 'calc-report-bug 'report-calc-bug)
(setq n (and (not (eq calc-auto-why t)) (if calc-auto-why t 1))))
(calc-change-mode 'calc-auto-why n nil)
(cond ((null n)
- (message "User must press ‘w’ to explain unsimplified results"))
+ (message "User must press `w' to explain unsimplified results"))
((eq n t)
- (message "Automatically doing ‘w’ to explain unsimplified results"))
+ (message "Automatically doing `w' to explain unsimplified results"))
(t
- (message "Automatically doing ‘w’ only for unusual messages")))))
+ (message "Automatically doing `w' only for unusual messages")))))
(defun calc-group-digits (n)
(interactive "P")
(vals (mapcar (function (lambda (v) (symbol-value (car v))))
calc-mode-var-list)))
(unless calc-settings-file
- (error "No ‘calc-settings-file’ specified"))
+ (error "No `calc-settings-file' specified"))
(set-buffer (find-file-noselect (substitute-in-file-name
calc-settings-file)))
(goto-char (point-min))
(calc-change-mode 'calc-auto-recompute arg nil t)
(calc-refresh-evaltos)
(message (if calc-auto-recompute
- "Automatically recomputing ‘=>’ forms when necessary"
- "Not recomputing ‘=>’ forms automatically"))))
+ "Automatically recomputing `=>' forms when necessary"
+ "Not recomputing `=>' forms automatically"))))
(defun calc-working (n)
(interactive "P")
",")
((equal name "#")
(search-backward "#")
- (error "Token ‘#’ is reserved"))
+ (error "Token `#' is reserved"))
((and unquoted (string-match "#" name))
- (error "Tokens containing ‘#’ must be quoted"))
+ (error "Tokens containing `#' must be quoted"))
((not (string-match "[^ ]" name))
(search-backward "\"" nil t)
(error "Blank tokens are not allowed"))
(quoted nil))
(while (progn
(skip-chars-forward "\n\t ")
- (if (eobp) (error "Expected ‘%s’" eterm))
+ (if (eobp) (error "Expected `%s'" eterm))
(not (looking-at term)))
(cond ((looking-at "%%")
(end-of-line))
(forward-char 2)
(let ((p (calc-read-parse-table-part "}" "}")))
(or (looking-at "[+*?]")
- (error "Expected ‘+’, ‘*’, or ‘?’"))
+ (error "Expected `+', `*', or `?'"))
(let ((sym (intern (buffer-substring (point) (1+ (point))))))
(forward-char 1)
(looking-at "[^\n\t ]*")
(match-end 1)))))))
(goto-char (match-end 0)))
((looking-at ":=[\n\t ]")
- (error "Misplaced ‘:=’"))
+ (error "Misplaced `:='"))
(t
(looking-at "[^\n\t ]*")
(let ((end (match-end 0)))
(or last-kbd-macro
(error "No keyboard macro defined"))
(setq calc-invocation-macro last-kbd-macro)
- (message "Use ‘C-x * Z’ to invoke this macro"))
+ (message "Use `C-x * Z' to invoke this macro"))
(defun calc-user-define-edit ()
(interactive) ; but no calc-wrapper!
`((and
(,chk ,var)
(math-reject-arg ,var ',qual)))))
- (error "Unknown qualifier ‘%s’" qual-name))))))))
+ (error "Unknown qualifier `%s'" qual-name))))))))
(defun math-do-arg-list-check (args is-opt is-rest)
(cond ((null args) nil)
(calc-edit-mode (list 'calc-finish-stack-edit (list 'quote var))
t
(format-message
- "Editing variable ‘%s’" (calc-var-name var)))
+ "Editing variable `%s'" (calc-var-name var)))
(and value
(insert (math-format-nice-expr value (frame-width)) "\n")))))
(calc-show-edit-buffer))
(format-message
(concat
"(**) When in TeX or LaTeX display mode, the TeX specific unit\n"
- "names will not use the ‘tex’ prefix; the unit name for a\n"
- "TeX point will be ‘pt’ instead of ‘texpt’, for example.\n"
+ "names will not use the `tex' prefix; the unit name for a\n"
+ "TeX point will be `pt' instead of `texpt', for example.\n"
"To avoid conflicts, the unit names for pint and parsec will\n"
- "be ‘pint’ and ‘parsec’ instead of ‘pt’ and ‘pc’."))))
+ "be `pint' and `parsec' instead of `pt' and `pc'."))))
(view-mode)
(message "Formatting units table...done"))
(setq math-units-table-buffer-valid t)
(if (not (or (equal math-expr-data math-rb-close)
(equal math-expr-data ")")
(eq math-exp-token 'end)))
- (throw 'syntax "Expected ‘]’")))
+ (throw 'syntax "Expected `]'")))
(if (equal math-expr-data ";")
(let ((math-exp-keep-spaces space-sep))
(setq vals (cons 'vec (math-read-matrix (list vals))))))
(if (not (or (equal math-expr-data math-rb-close)
(eq math-exp-token 'end)))
- (throw 'syntax "Expected ‘]’")))
+ (throw 'syntax "Expected `]'")))
(or (eq math-exp-token 'end)
(math-read-token))
vals)))
(insert (propertize
(concat
(or title title "Calc Edit Mode. ")
- (format-message "Press ‘C-c C-c’")
+ (format-message "Press `C-c C-c'")
(if allow-ret "" " or RET")
- (format-message " to finish, ‘C-x k RET’ to cancel.\n\n"))
+ (format-message " to finish, `C-x k RET' to cancel.\n\n"))
'font-lock-face 'italic 'read-only t 'rear-nonsticky t 'front-sticky t))
(make-local-variable 'calc-edit-top)
(setq calc-edit-top (point))))
(defvar calc-last-kill nil
"The last number killed in calc-mode.")
(defvar calc-dollar-values nil
- "Values to be used for ‘$’.")
+ "Values to be used for `$'.")
(defvar calc-dollar-used nil
- "The highest order of ‘$’ that occurred.")
+ "The highest order of `$' that occurred.")
(defvar calc-hashes-used nil
- "The highest order of ‘#’ that occurred.")
+ "The highest order of `#' that occurred.")
(defvar calc-quick-prev-results nil
"Previous results from Quick Calc.")
(defvar calc-said-hello nil
(and calc-display-trail
(= (window-width) (frame-width))
(calc-trail-display 1 t)))
- (message "Welcome to the GNU Emacs Calculator! Press ‘?’ or ‘h’ for help, ‘q’ to quit")
+ (message "Welcome to the GNU Emacs Calculator! Press `?' or `h' for help, `q' to quit")
(run-hooks 'calc-start-hook)
(and (windowp full-display)
(window-point full-display)
(stringp (nth 1 err))
(string-match "max-specpdl-size\\|max-lisp-eval-depth"
(nth 1 err)))
- (error "Computation got stuck or ran too long. Type ‘M’ to increase the limit")
+ (error "Computation got stuck or ran too long. Type `M' to increase the limit")
(setq calc-aborted-prefix nil)
(signal (car err) (cdr err)))))
(when calc-aborted-prefix
(defun calc-user-invocation ()
(interactive)
(unless calc-invocation-macro
- (error "Use ‘Z I’ inside Calc to define a ‘C-x * Z’ keyboard macro"))
+ (error "Use `Z I' inside Calc to define a `C-x * Z' keyboard macro"))
(execute-kbd-macro calc-invocation-macro nil))
;;; User-programmability.
(wrong-type-argument
(if (not (listp mins))
(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?")
;; Fallback to just displaying the first appt, as we used to.
(funcall appt-disp-window-function
(if (and diary-file (file-exists-p diary-file))
(if (file-readable-p diary-file)
diary-file
- (error "Diary file ‘%s’ is not readable" diary-file))
- (error "Diary file ‘%s’ does not exist" diary-file)))
+ (error "Diary file `%s' is not readable" diary-file))
+ (error "Diary file `%s' does not exist" diary-file)))
;;;###autoload
(defun diary (&optional arg)
"
(interactive "P")
(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))
(diary-list-entries (calendar-current-date) (or ndays diary-mail-days)))
(compose-mail diary-mail-addr
#'diary-from-outlook-rmail)
((memq major-mode '(gnus-summary-mode gnus-article-mode))
#'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)))
(provide 'diary-lib)
result))
(defun icalendar--split-value (value-string)
- "Split VALUE-STRING at ‘;=’."
+ "Split VALUE-STRING at `;='."
(let ((result '())
param-name param-value)
(when value-string
(setq found-error t)
(save-current-buffer
(set-buffer (get-buffer-create "*icalendar-errors*"))
- (insert (format-message "Error in line %d -- %s: ‘%s’\n"
+ (insert (format-message "Error in line %d -- %s: `%s'\n"
(count-lines (point-min) (point))
error-val
entry-main))))))
(when day
(progn
(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
;;Start today (yes this is an arbitrary choice):
entry-main)
(progn
(icalendar--dmsg "diary-date %s" entry-main)
- (error "‘diary-date’ is not supported yet"))
+ (error "`diary-date' is not supported yet"))
;; no match
nil))
(rrule (icalendar--get-event-property e 'RRULE))
(rdate (icalendar--get-event-property e 'RDATE))
(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
(if (and dtstart
(string=
interval))))
)
(t
- (message "Cannot handle COUNT attribute for ‘%s’ events."
+ (message "Cannot handle COUNT attribute for `%s' events."
frequency)))
(setq until-conv (icalendar--datetime-to-diary-date until))
(setq until-1-conv (icalendar--datetime-to-diary-date until-1))
entry. In this case the user will be asked whether he wants to insert
the entry."
(when (or (not summary)
- (y-or-n-p (format-message "Add appointment for ‘%s’ to diary? "
+ (y-or-n-p (format-message "Add appointment for `%s' to diary? "
summary)))
(when summary
(setq non-marking
spec (match-string 1 string))
(unless (string-equal spec "%")
(or (setq match (assoc (downcase spec) units))
- (error "Bad format specifier: ‘%s’" spec))
+ (error "Bad format specifier: `%s'" spec))
(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")
(setq zeroflag t)
(unless larger
;; on calling this function.
(if display-time-mode
(timeclock-update-mode-line)
- (message "Activate ‘display-time-mode’ or turn off \
-‘timeclock-use-display-time’ to see timeclock information"))
+ (message "Activate `display-time-mode' or turn off \
+`timeclock-use-display-time' to see timeclock information"))
(add-hook 'display-time-hook 'timeclock-update-mode-line))
(setq timeclock-update-timer
(run-at-time nil 60 'timeclock-update-mode-line))))
OLD-DEFAULT hours are set for every day that has no number indicated."
(interactive "P")
(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))
current-date)
(with-current-buffer (find-file-noselect timeclock-file t)
(unless (looking-at
(concat "^\\([bhioO]\\) \\([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)))
(unless (or (and current-date
(string= this-date current-date))
(DEBT ENTRIES-BY-DAY ENTRIES-BY-PROJECT)
DEBT is a floating point number representing the number of seconds
-“owed” before any work was done. For a new file (one without a ‘b’
+“owed” before any work was done. For a new file (one without a `b'
entry), this is always zero.
The two entries lists have similar formats. They are both alists,
(widget-put
widget :error
(format-message
- "Invalid value: must be distinct from ‘todo-item-mark’"))
+ "Invalid value: must be distinct from `todo-item-mark'"))
widget)))
:initialize 'custom-initialize-default
:set 'todo-reset-prefix
"deleting it will also delete the file.\n"
"Do you want to proceed? ")))
((> archived 0)
- (todo-y-or-n-p (concat "This category has archived items; "
+ (todo-y-or-n-p (format-message
+ (concat "This category has archived items; "
"the archived category will remain\n"
"after deleting the todo category. "
"Do you still want to delete it\n"
- "(see ‘todo-skip-archived-categories’ "
- "for another option)? ")))
+ "(see `todo-skip-archived-categories' "
+ "for another option)? "))))
(t
(todo-y-or-n-p (concat "Permanently remove category \"" cat
"\"" (and arg " and all its entries")
(widget-put
widget :error
(format-message
- "Invalid value: must be distinct from ‘todo-prefix’"))
+ "Invalid value: must be distinct from `todo-prefix'"))
widget)))
:set (lambda (symbol value)
(custom-set-default symbol (propertize value 'face 'todo-mark)))
;; Warn user if categories sexp has changed.
(unless (string= ssexp cats)
(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 "
"M-x todo-repair-categories-sexp,\n"
"but note this reverts any changes you have "
(todo-insert-item--this-key)
todo-insert-item--argsleft)))))))))
(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))
(set-transient-map map)
(setq todo-insert-item--argsleft argsleft)))
'(add/edit delete))
" comment"))))
params " "))
- (this-key (let ((key (read-key (concat todo-edit-item--prompt p->k))))
+ (key-prompt (substitute-command-keys todo-edit-item--prompt))
+ (this-key (let ((key (read-key (concat key-prompt p->k))))
(and (characterp key) (char-to-string key))))
(this-param (car (rassoc this-key params))))
(pcase this-param
(`delete (todo-edit-item--text 'comment-delete))
(`diary (todo-edit-item--diary-inclusion))
(`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--date-param-key-alist arg)))
(`full (progn (todo-edit-item--header 'date)
(if (called-interactively-p 'any)
(message "%s"
(substitute-command-keys
- "Type ‘\\[todo-show]’ to enter Todo mode"))
+ "Type `\\[todo-show]' to enter Todo mode"))
(todo-modes-set-1)
(todo-modes-set-2)
(todo-modes-set-3)
(defcustom cedet-global-gtags-command "gtags"
"Command name for the GNU Global gtags executable.
-GTAGS is used to create the tags table queried by the ‘global’ command."
+GTAGS is used to create the tags table queried by the `global' command."
:type 'string
:group 'cedet)
"It needs to be regenerated by EDE.\n"
"\t@echo If you have not modified Project.ede, you can"
(format-message
- " use ‘touch’ to update the Makefile time stamp.\n")
+ " use `touch' to update the Makefile time stamp.\n")
"\t@false\n\n"
"\n\n# End of Makefile\n")))
(override (fetch-overload symbol)))
(when override
- (insert (format-message "\noverride in mode ‘%s’: ’%s’\n"
+ (insert (format-message "\noverride in mode `%s': `%s'\n"
major-mode override))
)))
)))
(defun mode-local-print-binding (symbol)
"Print the SYMBOL binding."
(let ((value (symbol-value symbol)))
- (princ (format-message "\n ‘%s’ value is\n " symbol))
+ (princ (format-message "\n `%s' value is\n " symbol))
(if (and value (symbolp value))
- (princ (format-message "‘%s’" value))
+ (princ (format-message "`%s'" value))
(let ((pt (point)))
(pp value)
(save-excursion
)
((symbolp buffer-or-mode)
(setq mode buffer-or-mode)
- (princ (format-message "‘%s’\n" buffer-or-mode))
+ (princ (format-message "`%s'\n" buffer-or-mode))
)
((signal 'wrong-type-argument
(list 'buffer-or-mode buffer-or-mode))))
(while mode
(setq table (get mode 'mode-local-symbol-table))
(when table
- (princ (format-message "\n- From ‘%s’\n" mode))
+ (princ (format-message "\n- From `%s'\n" mode))
(mode-local-print-bindings table))
(setq mode (get-mode-local-parent mode)))))
(when (>= (oref obj typing-count) 5)
(oset obj mode 'standard)
(setq mode 'standard)
- (message "Resetting inline-mode to ‘standard’."))
+ (message "Resetting inline-mode to `standard'."))
(when (and (> numcompl max-tags)
(< (oref obj typing-count) 2))
;; Discretely hint at completion availability.
(setq msg-tail (concat "\n[<TAB> " (number-to-string (- numcompl max-tags)) " more]"))
(setq msg-tail (concat "\n[<n/a> " (number-to-string (- numcompl max-tags)) " more]"))
(when (>= (oref obj typing-count) 2)
- (message "Refine search to display results beyond the ‘%s’ limit"
+ (message "Refine search to display results beyond the `%s' limit"
(symbol-name 'semantic-complete-inline-max-tags-extended)))))
((= numcompl 1)
;; two possible cases
(defsubst semantic-java-doc-tag-name (tag)
"Return name of the doc TAG symbol.
-That is TAG `symbol-name' without the leading ‘@’."
+That is TAG `symbol-name' without the leading `@'."
(substring (symbol-name tag) 1))
(defun semantic-java-doc-keyword-before-p (k1 k2)
(when (class-abstract-p C)
(throw 'skip nil))
- (princ (substitute-command-keys "‘"))
+ (princ (substitute-command-keys "`"))
(princ name)
- (princ (substitute-command-keys "’"))
+ (princ (substitute-command-keys "'"))
(when (slot-exists-p C 'key)
(when key
(princ " - Character Key: ")
(if (not (boundp symbol))
;; If variables are removed from C code, give an error here!
(and native-p
- (message "Note, built-in variable ‘%S’ not bound" symbol))
+ (message "Note, built-in variable `%S' not bound" symbol))
;; Save the standard value, unless we already did.
(or (get symbol 'standard-value)
(put symbol 'standard-value (list standard)))
'("" "c")))
doc)
(when fn
- (princ (substitute-command-keys " in ‘"))
+ (princ (substitute-command-keys " in `"))
(help-insert-xref-button (file-name-nondirectory fn)
'help-theme-def fn)
- (princ (substitute-command-keys "’")))
+ (princ (substitute-command-keys "'")))
(princ ".\n")
(if (custom-theme-p theme)
(progn
this specifies that SYMBOL should be set after the specified symbol,
if both appear in constructs like `custom-set-variables'."
(unless (listp value)
- (error "Invalid custom dependency ‘%s’" value))
+ (error "Invalid custom dependency `%s'" value))
(let* ((deps (get symbol 'custom-dependencies))
(new-deps deps))
(while value
(let ((dep (car value)))
(unless (symbolp dep)
- (error "Invalid custom dependency ‘%s’" dep))
+ (error "Invalid custom dependency `%s'" dep))
(unless (memq dep new-deps)
(setq new-deps (cons dep new-deps)))
(setq value (cdr value))))
(defsubst custom-check-theme (theme)
"Check whether THEME is valid, and signal an error if it is not."
(unless (custom-theme-p theme)
- (error "Unknown theme ‘%s’" theme)))
+ (error "Unknown theme `%s'" theme)))
(defun custom-push-theme (prop symbol theme mode &optional value)
"Record VALUE for face or variable SYMBOL in custom theme THEME.
(when elt
(cond
((eq (car elt) 'dependant)
- (error "Circular custom dependency on ‘%s’" sym))
+ (error "Circular custom dependency on `%s'" sym))
((car elt)
(setcar elt 'dependant)
(dolist (dep (get sym 'custom-dependencies))
(custom-available-themes))))
nil nil))
(unless (custom-theme-name-valid-p theme)
- (error "Invalid theme name ‘%s’" theme))
+ (error "Invalid theme name `%s'" theme))
;; If THEME is already enabled, re-enable it after loading, even if
;; NO-ENABLE is t.
(if no-enable
'("" "c")))
hash)
(unless fn
- (error "Unable to find theme file for ‘%s’" theme))
+ (error "Unable to find theme file for `%s'" theme))
(with-temp-buffer
(insert-file-contents fn)
(setq hash (secure-hash 'sha256 (current-buffer)))
;; Buttons
(when (and button (not (widgetp wid-button)))
(newline)
- (insert (format-message "Here is a ‘%S’ button labeled ‘%s’.\n\n"
+ (insert (format-message "Here is a `%S' button labeled `%s'.\n\n"
button-type button-label)))
;; Overlays
(when overlays
(when face
(insert (propertize " " 'display '(space :align-to 5))
"face: ")
- (insert (format-message "‘%s’\n" face))))))
+ (insert (format-message "`%s'\n" face))))))
(when composition
(insert "\nComposed")
(let ((file (dired-get-filename t)))
(if dired-bind-vm
(if (y-or-n-p (format-message
- "Visit ‘%s’ as a mail folder with VM?" file))
+ "Visit `%s' as a mail folder with VM?" file))
(dired-vm))
;; Read mail folder using rmail.
(if (y-or-n-p (format-message
- "Visit ‘%s’ as a mailbox with RMAIL?" file))
+ "Visit `%s' as a mailbox with RMAIL?" file))
(dired-rmail)))))
\f
(unless (bolp)
(insert "\n"))
(insert (current-time-string)
- (format-message "\tBuffer ‘%s’\n" (buffer-name obuf)))
+ (format-message "\tBuffer `%s'\n" (buffer-name obuf)))
(goto-char (point-max))
(insert "\f\n")))))))
nil string))))
(defun electric-quote-post-self-insert-function ()
- "Function that ‘electric-quote-mode’ adds to ‘post-self-insert-hook’.
+ "Function that `electric-quote-mode' adds to `post-self-insert-hook'.
This requotes when a quoting key is typed."
(when (and electric-quote-mode
(memq last-command-event '(?\' ?\`)))
When enabled, as you type this replaces \\=` with \\=‘, \\=' with \\=’,
\\=`\\=` with “, and \\='\\=' with ”. This occurs only in comments, strings,
and text paragraphs, and these are selectively controlled with
-‘electric-quote-comment’, ‘electric-quote-string’, and
-‘electric-quote-paragraph’.
+`electric-quote-comment', `electric-quote-string', and
+`electric-quote-paragraph'.
This is a global minor mode. To toggle the mode in a single buffer,
-use ‘electric-quote-local-mode’."
+use `electric-quote-local-mode'."
:global t :group 'electricity
:initialize 'custom-initialize-delay
:init-value nil
;;;###autoload
(define-minor-mode electric-quote-local-mode
- "Toggle ‘electric-quote-mode’ only in this buffer."
+ "Toggle `electric-quote-mode' only in this buffer."
:variable (buffer-local-value 'electric-quote-mode (current-buffer))
(cond
((eq electric-quote-mode (default-value 'electric-quote-mode))
(if (equal function "")
(if (ad-is-advised default)
default
- (error "ad-read-advised-function: ‘%s’ is not advised" default))
+ (error "ad-read-advised-function: `%s' is not advised" default))
(intern function))))
(defvar ad-advice-class-completion-table
(cl-dolist (class ad-advice-classes)
(if (ad-get-advice-info-field function class)
(cl-return class)))
- (error "ad-read-advice-class: ‘%s’ has no advices" function)))
+ (error "ad-read-advice-class: `%s' has no advices" function)))
(let ((class (completing-read
(format "%s (default %s): " (or prompt "Class") default)
ad-advice-class-completion-table nil t)))
(ad-get-advice-info-field function class)))
(default
(if (null name-completion-table)
- (error "ad-read-advice-name: ‘%s’ has no %s advice"
+ (error "ad-read-advice-name: `%s' has no %s advice"
function class)
(car (car name-completion-table))))
(prompt (format "%s (default %s): " (or prompt "Name") default))
(interactive (ad-read-advice-specification "Enable advice of"))
(if (ad-is-advised function)
(if (eq (ad-enable-advice-internal function class name t) 0)
- (error "ad-enable-advice: ‘%s’ has no %s advice matching ‘%s’"
+ (error "ad-enable-advice: `%s' has no %s advice matching `%s'"
function class name))
- (error "ad-enable-advice: ‘%s’ is not advised" function)))
+ (error "ad-enable-advice: `%s' is not advised" function)))
;;;###autoload
(defun ad-disable-advice (function class name)
(interactive (ad-read-advice-specification "Disable advice of"))
(if (ad-is-advised function)
(if (eq (ad-enable-advice-internal function class name nil) 0)
- (error "ad-disable-advice: ‘%s’ has no %s advice matching ‘%s’"
+ (error "ad-disable-advice: `%s' has no %s advice matching `%s'"
function class name))
- (error "ad-disable-advice: ‘%s’ is not advised" function)))
+ (error "ad-disable-advice: `%s' is not advised" function)))
(defun ad-enable-regexp-internal (regexp class flag)
"Set enable FLAGs of all CLASS advices whose name contains a REGEXP match.
(ad-set-advice-info-field
function class
(delq advice-to-remove (ad-get-advice-info-field function class)))
- (error "ad-remove-advice: ‘%s’ has no %s advice ‘%s’"
+ (error "ad-remove-advice: `%s' has no %s advice `%s'"
function class name)))
- (error "ad-remove-advice: ‘%s’ is not advised" function)))
+ (error "ad-remove-advice: `%s' is not advised" function)))
;;;###autoload
(defun ad-add-advice (function advice class position)
,value-form))
(argument-access
`(setq ,argument-access ,value-form))
- (t (error "ad-set-argument: No argument at position %d of ‘%s’"
+ (t (error "ad-set-argument: No argument at position %d of `%s'"
index arglist)))))
(defun ad-get-arguments (arglist index)
(setq index (1+ index))
(setq values-index (1+ values-index)))
(if (null set-forms)
- (error "ad-set-arguments: No argument at position %d of ‘%s’"
+ (error "ad-set-arguments: No argument at position %d of `%s'"
index arglist)
(if (= (length set-forms) 1)
;; For exactly one set-form we can use values-form directly,...
;; The mapping should work for any two argument lists.
(defun ad-map-arglists (source-arglist target-arglist)
- "Make ‘funcall/apply’ form to map SOURCE-ARGLIST to TARGET-ARGLIST.
+ "Make `funcall/apply' form to map SOURCE-ARGLIST to TARGET-ARGLIST.
The arguments supplied to TARGET-ARGLIST will be taken from SOURCE-ARGLIST just
as if they had been supplied to a function with TARGET-ARGLIST directly.
Excess source arguments will be neglected, missing source arguments will be
-supplied as nil. Returns a ‘funcall’ or ‘apply’ form with the second element
-being ‘function’ which has to be replaced by an actual function argument.
-Example: ‘(ad-map-arglists '(a &rest args) '(w x y z))’ will return
- ‘(funcall ad--addoit-function a (car args) (car (cdr args)) (nth 2 args))’."
+supplied as nil. Returns a `funcall' or `apply' form with the second element
+being `function' which has to be replaced by an actual function argument.
+Example: (ad-map-arglists '(a &rest args) '(w x y z)) will return
+ (funcall ad--addoit-function a (car args) (car (cdr args)) (nth 2 args))."
(let* ((parsed-source-arglist (ad-parse-arglist source-arglist))
(source-reqopt-args (append (nth 0 parsed-source-arglist)
(nth 1 parsed-source-arglist)))
(if (not (eq current-definition original-definition))
;; We have a redefinition:
(if (not (memq ad-redefinition-action '(accept discard warn)))
- (error "ad-redefinition-action: ‘%s’ %s"
+ (error "ad-redefinition-action: `%s' %s"
function "invalidly redefined")
(if (eq ad-redefinition-action 'discard)
nil ;; Just drop it!
(funcall (or fsetfun #'fset) function newdef)
(ad-activate-internal function)
(if (eq ad-redefinition-action 'warn)
- (message "ad-handle-definition: ‘%s’ got redefined"
+ (message "ad-handle-definition: `%s' got redefined"
function))))
;; either advised def or correct original is in place:
nil)
current-prefix-arg))
(cond
((not (ad-is-advised function))
- (error "ad-activate: ‘%s’ is not advised" function))
+ (error "ad-activate: `%s' is not advised" function))
;; Just return for forward advised and not yet defined functions:
((not (ad-get-orig-definition function)) nil)
((not (ad-has-any-advice function)) (ad-unadvise function))
(interactive
(list (ad-read-advised-function "Deactivate advice of" 'ad-is-active)))
(if (not (ad-is-advised function))
- (error "ad-deactivate: ‘%s’ is not advised" function)
+ (error "ad-deactivate: `%s' is not advised" function)
(cond ((ad-is-active function)
(if (not (ad-get-orig-definition function))
- (error "ad-deactivate: ‘%s’ has no original definition"
+ (error "ad-deactivate: `%s' has no original definition"
function)
(ad-clear-advicefunname-definition function)
(ad-set-advice-info-field function 'active nil)
(cdr (assq name byte-compile-function-environment)))))
(pcase fn
(`nil
- (byte-compile-warn "attempt to inline ‘%s’ before it was defined"
+ (byte-compile-warn "attempt to inline `%s' before it was defined"
name)
form)
(`(autoload . ,_)
- (error "File ‘%s’ didn't define ‘%s’" (nth 1 fn) name))
+ (error "File `%s' didn't define `%s'" (nth 1 fn) name))
((and (pred symbolp) (guard (not (eq fn t)))) ;A function alias.
(byte-compile-inline-expand (cons fn (cdr form))))
((pred byte-code-function-p)
bindings)
values nil))
((and (not optionalp) (null values))
- (byte-compile-warn "attempt to open-code ‘%s’ with too few arguments" name)
+ (byte-compile-warn "attempt to open-code `%s' with too few arguments" name)
(setq arglist nil values 'too-few))
(t
(setq bindings (cons (list (car arglist) (car values))
(progn
(or (eq values 'too-few)
(byte-compile-warn
- "attempt to open-code ‘%s’ with too many arguments" name))
+ "attempt to open-code `%s' with too many arguments" name))
form)
;; The following leads to infinite recursion when loading a
form))
((eq fn 'quote)
(if (cdr (cdr form))
- (byte-compile-warn "malformed quote form: ‘%s’"
+ (byte-compile-warn "malformed quote form: `%s'"
(prin1-to-string form)))
;; map (quote nil) to nil to simplify optimizer logic.
;; map quoted constants to nil if for-effect (just because).
(if (symbolp binding)
binding
(if (cdr (cdr binding))
- (byte-compile-warn "malformed let binding: ‘%s’"
+ (byte-compile-warn "malformed let binding: `%s'"
(prin1-to-string binding)))
(list (car binding)
(byte-optimize-form (nth 1 binding) nil))))
(cons
(byte-optimize-form (car clause) nil)
(byte-optimize-body (cdr clause) for-effect))
- (byte-compile-warn "malformed cond form: ‘%s’"
+ (byte-compile-warn "malformed cond form: `%s'"
(prin1-to-string clause))
clause))
(cdr form))))
((eq fn 'if)
(when (< (length form) 3)
- (byte-compile-warn "too few arguments for ‘if’"))
+ (byte-compile-warn "too few arguments for `if'"))
(cons fn
(cons (byte-optimize-form (nth 1 form) nil)
(cons
(cons fn (mapcar 'byte-optimize-form (cdr form)))))
((eq fn 'interactive)
- (byte-compile-warn "misplaced interactive spec: ‘%s’"
+ (byte-compile-warn "misplaced interactive spec: `%s'"
(prin1-to-string form))
nil)
(cons fn (mapcar #'byte-optimize-form (cdr form))))
((not (symbolp fn))
- (byte-compile-warn "‘%s’ is a malformed function"
+ (byte-compile-warn "`%s' is a malformed function"
(prin1-to-string fn))
form)
(defun byte-optimize-while (form)
(when (< (length form) 2)
- (byte-compile-warn "too few arguments for ‘while’"))
+ (byte-compile-warn "too few arguments for `while'"))
(if (nth 1 form)
form))
(nconc (list 'funcall fn) butlast
(mapcar (lambda (x) (list 'quote x)) (nth 1 last))))
(byte-compile-warn
- "last arg to apply can't be a literal atom: ‘%s’"
+ "last arg to apply can't be a literal atom: `%s'"
(prin1-to-string last))
nil))
form)))
(cdr body)
body)))
nil)
- (t (message "Warning: Unknown defun property ‘%S’ in %S"
+ (t (message "Warning: Unknown defun property `%S' in %S"
(car x) name)))))
decls))
(def (list 'defalias
(declare (debug defun) (doc-string 3))
(or (memq (get name 'byte-optimizer)
'(nil byte-compile-inline-expand))
- (error "‘%s’ is a primitive" name))
+ (error "`%s' is a primitive" name))
`(prog1
(defun ,name ,arglist ,@body)
(eval-and-compile
off (cdr lap-entry))
(cond
((not (symbolp op))
- (error "Non-symbolic opcode ‘%s’" op))
+ (error "Non-symbolic opcode `%s'" op))
((eq op 'TAG)
(setcar off pc))
(t
pt)
(when dir
(unless was-same
- (insert (format-message "Leaving directory ‘%s’\n"
+ (insert (format-message "Leaving directory `%s'\n"
default-directory))))
(unless (bolp)
(insert "\n"))
(when dir
(setq default-directory dir)
(unless was-same
- (insert (format-message "Entering directory ‘%s’\n"
+ (insert (format-message "Entering directory `%s'\n"
default-directory))))
(setq byte-compile-last-logged-file byte-compile-current-file
byte-compile-last-warned-form nil)
(nargs (- (length form) 2)))
(unless (= nargs nfields)
(byte-compile-warn
- "‘%s’ called with %d args to fill %d format field(s)" (car form)
+ "`%s' called with %d args to fill %d format field(s)" (car form)
nargs nfields)))))
(dolist (elt '(format message error))
(plist-get keyword-args :group)
(not (and (consp name) (eq (car name) 'quote)))
(byte-compile-warn
- "%s for ‘%s’ fails to specify containing group"
+ "%s for `%s' fails to specify containing group"
(cdr (assq (car form)
'((custom-declare-group . defgroup)
(custom-declare-face . defface)
(let ((calls (assq name byte-compile-unresolved-functions))
nums sig min max)
(when (and calls macrop)
- (byte-compile-warn "macro ‘%s’ defined too late" name))
+ (byte-compile-warn "macro `%s' defined too late" name))
(setq byte-compile-unresolved-functions
(delq calls byte-compile-unresolved-functions))
(setq calls (delq t calls)) ;Ignore higher-order uses of the function.
(when (and (symbolp name)
(eq (function-get name 'byte-optimizer)
'byte-compile-inline-expand))
- (byte-compile-warn "defsubst ‘%s’ was used before it was defined"
+ (byte-compile-warn "defsubst `%s' was used before it was defined"
name))
(setq sig (byte-compile-arglist-signature arglist)
nums (sort (copy-sequence (cdr calls)) (function <))
;; so don't warn about them.
macroexpand
cl--compiling-file))))
- (byte-compile-warn "function ‘%s’ from cl package called at runtime"
+ (byte-compile-warn "function `%s' from cl package called at runtime"
func)))
form)
(if (fboundp f) (push f noruntime) (push f unresolved)))
;; Complain about the no-run-time functions
(byte-compile-print-syms
- "the function ‘%s’ might not be defined at runtime."
+ "the function `%s' might not be defined at runtime."
"the following functions might not be defined at runtime:"
noruntime)
;; Complain about the unresolved functions
(byte-compile-print-syms
- "the function ‘%s’ is not known to be defined."
+ "the function `%s' is not known to be defined."
"the following functions are not known to be defined:"
unresolved)))
nil)
;; (byte-compile-abbreviate-file filename)
;; (with-current-buffer input-buffer no-byte-compile))
(when (file-exists-p target-file)
- (message "%s deleted because of ‘no-byte-compile: %s’"
+ (message "%s deleted because of `no-byte-compile: %s'"
(byte-compile-abbreviate-file target-file)
(buffer-local-value 'no-byte-compile input-buffer))
(condition-case nil (delete-file target-file) (error nil)))
(when (and (symbolp sym)
(not (string-match "[-*/:$]" (symbol-name sym)))
(byte-compile-warning-enabled-p 'lexical))
- (byte-compile-warn "global/dynamic var ‘%s’ lacks a prefix"
+ (byte-compile-warn "global/dynamic var `%s' lacks a prefix"
sym))
(when (memq sym byte-compile-lexical-variables)
(setq byte-compile-lexical-variables
(delq sym byte-compile-lexical-variables))
- (byte-compile-warn "Variable ‘%S’ declared after its first use" sym))
+ (byte-compile-warn "Variable `%S' declared after its first use" sym))
(push sym byte-compile-bound-variables))
(defun byte-compile-file-form-defvar (form)
;; Don't warn when compiling the stubs in byte-run...
(not (assq name byte-compile-initial-macro-environment)))
(byte-compile-warn
- "‘%s’ defined multiple times, as both function and macro"
+ "`%s' defined multiple times, as both function and macro"
name))
(setcdr that-one nil))
(this-one
;; Hack: Don't warn when compiling the magic internal
;; byte-compiler macros in byte-run.el...
(not (assq name byte-compile-initial-macro-environment)))
- (byte-compile-warn "%s ‘%s’ defined multiple times in this file"
+ (byte-compile-warn "%s `%s' defined multiple times in this file"
(if macro "macro" "function")
name)))
((eq (car-safe (symbol-function name))
(if macro 'lambda 'macro))
(when (byte-compile-warning-enabled-p 'redefine)
- (byte-compile-warn "%s ‘%s’ being redefined as a %s"
+ (byte-compile-warn "%s `%s' being redefined as a %s"
(if macro "function" "macro")
name
(if macro "macro" "function")))
(stringp (car-safe (cdr-safe (cdr-safe body)))))
;; FIXME: We've done that already just above, so this looks wrong!
;;(byte-compile-set-symbol-position name)
- (byte-compile-warn "probable ‘\"’ without ‘\\’ in doc string of %s"
+ (byte-compile-warn "probable `\"' without `\\' in doc string of %s"
name))
(if (not (listp body))
(`(',var . ,_)
(when (assq var byte-compile-lexical-variables)
(byte-compile-log-warning
- (format-message "%s cannot use lexical var ‘%s’" fn var)
+ (format-message "%s cannot use lexical var `%s'" fn var)
nil :error)))))
(when (macroexp--const-symbol-p fn)
- (byte-compile-warn "‘%s’ called as a function" fn))
+ (byte-compile-warn "`%s' called as a function" fn))
(when (and (byte-compile-warning-enabled-p 'interactive-only)
interactive-only)
- (byte-compile-warn "‘%s’ is for interactive use only%s"
+ (byte-compile-warn "`%s' is for interactive use only%s"
fn
(cond ((stringp interactive-only)
(format "; %s"
interactive-only)))
((and (symbolp 'interactive-only)
(not (eq interactive-only t)))
- (format-message "; use ‘%s’ instead."
+ (format-message "; use `%s' instead."
interactive-only))
(t "."))))
(if (eq (car-safe (symbol-function (car form))) 'macro)
(byte-compile-warning-enabled-p 'mapcar))
(byte-compile-set-symbol-position 'mapcar)
(byte-compile-warn
- "‘mapcar’ called for effect; use ‘mapc’ or ‘dolist’ instead"))
+ "`mapcar' called for effect; use `mapc' or `dolist' instead"))
(byte-compile-push-constant (car form))
(mapc 'byte-compile-form (cdr form)) ; wasteful, but faster.
(byte-compile-out 'byte-call (length (cdr form))))
(cond ((or (not (symbolp var)) (macroexp--const-symbol-p var))
(when (byte-compile-warning-enabled-p 'constants)
(byte-compile-warn (if (eq access-type 'let-bind)
- "attempt to let-bind %s ‘%s’"
- "variable reference to %s ‘%s’")
+ "attempt to let-bind %s `%s'"
+ "variable reference to %s `%s'")
(if (symbolp var) "constant" "nonvariable")
(prin1-to-string var))))
((let ((od (get var 'byte-obsolete-variable)))
(boundp var)
(memq var byte-compile-bound-variables)
(memq var byte-compile-free-references))
- (byte-compile-warn "reference to free variable ‘%S’" var)
+ (byte-compile-warn "reference to free variable `%S'" var)
(push var byte-compile-free-references))
(byte-compile-dynamic-variable-op 'byte-varref var))))
(boundp var)
(memq var byte-compile-bound-variables)
(memq var byte-compile-free-assignments))
- (byte-compile-warn "assignment to free variable ‘%s’" var)
+ (byte-compile-warn "assignment to free variable `%s'" var)
(push var byte-compile-free-assignments))
(byte-compile-dynamic-variable-op 'byte-varset var))))
\f
(defun byte-compile-subr-wrong-args (form n)
(byte-compile-set-symbol-position (car form))
- (byte-compile-warn "‘%s’ called with %d arg%s, but requires %s"
+ (byte-compile-warn "`%s' called with %d arg%s, but requires %s"
(car form) (length (cdr form))
(if (= 1 (length (cdr form))) "" "s") n)
;; Get run-time wrong-number-of-args error.
(macroexp--const-symbol-p var t))
(byte-compile-warning-enabled-p 'constants)
(byte-compile-warn
- "variable assignment to %s ‘%s’"
+ "variable assignment to %s `%s'"
(if (symbolp var) "constant" "nonvariable")
(prin1-to-string var)))
(byte-compile-normal-call `(set-default ',var ,@(cdr form)))))))
(list 'not
(cons (or (get (car form) 'byte-compile-negated-op)
(error
- "Compiler error: ‘%s’ has no ‘byte-compile-negated-op’ property"
+ "Compiler error: `%s' has no `byte-compile-negated-op' property"
(car form)))
(cdr form))))
\f
(byte-compile-set-symbol-position 'condition-case)
(unless (symbolp var)
(byte-compile-warn
- "‘%s’ is not a variable-name or nil (in condition-case)" var))
+ "`%s' is not a variable-name or nil (in condition-case)" var))
(if fun-bodies (setq var (make-symbol "err")))
(byte-compile-push-constant var)
(if fun-bodies
(setq ok nil)))
ok))))
(byte-compile-warn
- "‘%S’ is not a condition name or list of such (in condition-case)"
+ "`%S' is not a condition name or list of such (in condition-case)"
condition))
;; (not (or (eq condition 't)
;; (and (stringp (get condition 'error-message))
(byte-compile-set-symbol-position 'condition-case)
(unless (symbolp var)
(byte-compile-warn
- "‘%s’ is not a variable-name or nil (in condition-case)" var))
+ "`%s' is not a variable-name or nil (in condition-case)" var))
(dolist (clause (reverse clauses))
(let ((condition (nth 1 clause)))
(dolist (c condition)
(unless (and c (symbolp c))
(byte-compile-warn
- "‘%S’ is not a condition name (in condition-case)" c))
+ "`%S' is not a condition name (in condition-case)" c))
;; In reality, the `error-conditions' property is only required
;; for the argument to `signal', not to `condition-case'.
;;(unless (consp (get c 'error-conditions))
(if (and (eq 'set-buffer (car-safe (car-safe (cdr form))))
(byte-compile-warning-enabled-p 'suspicious))
(byte-compile-warn
- "Use ‘with-current-buffer’ rather than save-excursion+set-buffer"))
+ "Use `with-current-buffer' rather than save-excursion+set-buffer"))
(byte-compile-out 'byte-save-excursion 0)
(byte-compile-body-do-effect (cdr form))
(byte-compile-out 'byte-unbind 1))
(when (and (symbolp (nth 1 form))
(not (string-match "[-*/:$]" (symbol-name (nth 1 form))))
(byte-compile-warning-enabled-p 'lexical))
- (byte-compile-warn "global/dynamic var ‘%s’ lacks a prefix"
+ (byte-compile-warn "global/dynamic var `%s' lacks a prefix"
(nth 1 form)))
(let ((fun (nth 0 form))
(var (nth 1 form))
(and (eq fun 'defconst) (null (cddr form))))
(let ((ncall (length (cdr form))))
(byte-compile-warn
- "‘%s’ called with %d argument%s, but %s %s"
+ "`%s' called with %d argument%s, but %s %s"
fun ncall
(if (= 1 ncall) "" "s")
(if (< ncall 2) "requires" "accepts only")
(if (eq fun 'defconst)
(push var byte-compile-const-variables))
(when (and string (not (stringp string)))
- (byte-compile-warn "third arg to ‘%s %s’ is not a string: %s"
+ (byte-compile-warn "third arg to `%s %s' is not a string: %s"
fun var string))
(byte-compile-form-do-effect
(if (cddr form) ; `value' provided
(not (fboundp (eval (nth 1 form))))
(byte-compile-warn
"The compiler ignores `autoload' except at top level. You should
- probably put the autoload of the macro ‘%s’ at top-level."
+ probably put the autoload of the macro `%s' at top-level."
(eval (nth 1 form))))
(byte-compile-normal-call form))
;; The ones that remain are errors.
(defun byte-compile-lambda-form (_form)
(byte-compile-set-symbol-position 'lambda)
- (error "‘lambda’ used as function name is invalid"))
+ (error "`lambda' used as function name is invalid"))
;; Compile normally, but deal with warnings for the function being defined.
(put 'defalias 'byte-hunk-handler 'byte-compile-file-form-defalias)
(if (and (eq (car-safe (car-safe (cdr-safe form))) 'quote)
(byte-compile-warning-enabled-p 'make-local))
(byte-compile-warn
- "‘make-variable-buffer-local’ not called at toplevel"))
+ "`make-variable-buffer-local' not called at toplevel"))
(byte-compile-normal-call form))
(put 'make-variable-buffer-local
'byte-hunk-handler 'byte-compile-form-make-variable-buffer-local)
(length (nth 2 y))))))
(`name
(lambda (x y) (string< (car x) (car y))))
- (_ (error "‘byte-compile-call-tree-sort’: ‘%s’ - unknown sort mode"
+ (_ (error "`byte-compile-call-tree-sort': `%s' - unknown sort mode"
byte-compile-call-tree-sort))))))
(message "Generating call tree...")
(let ((rest byte-compile-call-tree)
;; startup.el.
(defvar command-line-args-left) ;Avoid 'free variable' warning
(if (not noninteractive)
- (error "‘batch-byte-compile’ is to be used only with -batch"))
+ (error "`batch-byte-compile' is to be used only with -batch"))
(let ((error nil))
(while command-line-args-left
(if (file-directory-p (expand-file-name (car command-line-args-left)))
(prog1 binder (setq binder (list binder)))
(when (cddr binder)
(byte-compile-log-warning
- (format-message "Malformed ‘%S’ binding: %S"
+ (format-message "Malformed `%S' binding: %S"
letsym binder)))
(setq value (cadr binder))
(car binder)))
(`((,(and var (guard (eq ?_ (aref (symbol-name var) 0)))) . ,_)
,_ ,_ ,_ ,_)
(byte-compile-log-warning
- (format-message "%s ‘%S’ not left unused" varkind var))))
+ (format-message "%s `%S' not left unused" varkind var))))
(pcase vardata
(`((,var . ,_) nil ,_ ,_ nil)
;; FIXME: This gives warnings in the wrong order, with imprecise line
(eq ?_ (aref (symbol-name var) 0))
;; As a special exception, ignore "ignore".
(eq var 'ignored))
- (byte-compile-log-warning (format-message "Unused lexical %s ‘%S’"
+ (byte-compile-log-warning (format-message "Unused lexical %s `%S'"
varkind var))))
;; If it's unused, there's no point converting it into a cons-cell, even if
;; it's captured and mutated.
(set-buffer b)
(erase-buffer)
(insert "cd " d ";du -sk * \n")
- (message "Running ‘cd %s;du -sk *’..." d)
+ (message "Running `cd %s;du -sk *'..." d)
(call-process-region (point-min) (point-max) shell-file-name t
(current-buffer) nil)
(goto-char (point-min))
(symbolp (setq fileonly (nth 4 form))))
(setq alist (cons (list fnfile fn arglist fileonly) alist))
;; FIXME make this more noticeable.
- (if form (message "Malformed declaration for ‘%s’" (cadr form))))))
+ (if form (message "Malformed declaration for `%s'" (cadr form))))))
(message "%sdone" m)
alist))
entry))
(warning-fill-prefix " "))
(display-warning 'check-declare
- (format-message "said ‘%s’ was defined in %s: %s"
+ (format-message "said `%s' was defined in %s: %s"
fn (file-name-nondirectory fnfile) type)
nil check-declare-warning-buffer)))
See `check-declare-directory' for more information."
(interactive "fFile to check: ")
(or (file-exists-p file)
- (error "File ‘%s’ not found" file))
+ (error "File `%s' not found" file))
(let ((m (format "Checking %s..." file))
errlist)
(message "%s" m)
Returns non-nil if any false statements are found."
(interactive "DDirectory to check: ")
(or (file-directory-p (setq root (expand-file-name root)))
- (error "Directory ‘%s’ not found" root))
- (let ((m "Checking ‘declare-function’ statements...")
+ (error "Directory `%s' not found" root))
+ (let ((m "Checking `declare-function' statements...")
(m2 "Finding files with declarations...")
errlist files)
(message "%s" m)
(when (re-search-forward "^(" e t)
(if (checkdoc-autofix-ask-replace (match-beginning 0)
(match-end 0)
- "Escape this ‘(’? "
+ (format-message "Escape this `('? ")
"\\(")
nil
(checkdoc-create-error
(if (checkdoc-autofix-ask-replace
(match-beginning 1) (match-end 1)
(format-message
- "If this is the argument ‘%s’, it should appear as %s. Fix? "
+ "If this is the argument `%s', it should appear as %s. Fix? "
(car args) (upcase (car args)))
(upcase (car args)) t)
(setq found (match-beginning 1))))))
nil)
(checkdoc-create-error
(format-message
- "Argument ‘%s’ should appear (as %s) in the doc string"
+ "Argument `%s' should appear (as %s) in the doc string"
(car args) (upcase (car args)))
s (marker-position e)))
(if (or (and order (eq order 'yes))
(or (boundp found) (fboundp found)))
(progn
(setq msg (format-message
- "Add quotes around Lisp symbol ‘%s’? " ms))
+ "Add quotes around Lisp symbol `%s'? " ms))
(if (checkdoc-autofix-ask-replace
(match-beginning 1) (+ (match-beginning 1)
(length ms))
- msg (concat "‘" ms "’") t)
+ msg (format-message "`%s'" ms) t)
(setq msg nil)
(setq msg
(format-message
- "Lisp symbol ‘%s’ should appear in quotes" ms))))))
+ "Lisp symbol `%s' should appear in quotes" ms))))))
(if msg
(checkdoc-create-error msg (match-beginning 1)
(+ (match-beginning 1)
(match-string 2) t)
nil
(checkdoc-create-error
- "Symbols t and nil should not appear in ‘...’ quotes"
+ "Symbols t and nil should not appear in single quotes"
(match-beginning 1) (match-end 1)))))
;; Here is some basic sentence formatting
(checkdoc-sentencespace-region-engine (point) e)
;; If we see a ?, then replace with "? ".
(if (checkdoc-autofix-ask-replace
(match-beginning 0) (match-end 0)
- "‘y-or-n-p’ argument should end with \"? \". Fix? "
+ (format-message
+ "`y-or-n-p' argument should end with \"? \". Fix? ")
"? " t)
nil
(checkdoc-create-error
- "‘y-or-n-p’ argument should end with \"? \""
+ "`y-or-n-p' argument should end with \"? \""
(match-beginning 0) (match-end 0)))
(if (save-excursion (forward-sexp 1)
(forward-char -2)
(looking-at " "))
(if (checkdoc-autofix-ask-replace
(match-beginning 0) (match-end 0)
- "‘y-or-n-p’ argument should end with \"? \". Fix? "
+ (format-message
+ "`y-or-n-p' argument should end with \"? \". Fix? ")
"? " t)
nil
(checkdoc-create-error
- "‘y-or-n-p’ argument should end with \"? \""
+ "`y-or-n-p' argument should end with \"? \""
(match-beginning 0) (match-end 0)))
(if (and ;; if this isn't true, we have a problem.
(save-excursion (forward-sexp 1)
(looking-at "\""))
(checkdoc-autofix-ask-replace
(match-beginning 0) (match-end 0)
- "‘y-or-n-p’ argument should end with \"? \". Fix? "
+ (format-message
+ "`y-or-n-p' argument should end with \"? \". Fix? ")
"? \"" t))
nil
(checkdoc-create-error
- "‘y-or-n-p’ argument should end with \"? \""
+ "`y-or-n-p' argument should end with \"? \""
(match-beginning 0) (match-end 0)))))))
;; Now, let's just run the spell checker on this guy.
(checkdoc-ispell-docstring-engine (save-excursion (forward-sexp 1)
(cond ((and junk-allowed (null sum)) sum)
(junk-allowed (* sign sum))
((or (/= start end) (null sum))
- (error "Not an integer string: ‘%s’" string))
+ (error "Not an integer string: `%s'" string))
(t (* sign sum)))))))
;; FIXME: Add a `cl-class-of' or `cl-typeof' or somesuch.
(metatype (cl--class-name (symbol-value (aref class 0)))))
(insert (symbol-name type)
- (substitute-command-keys " is a type (of kind ‘"))
+ (substitute-command-keys " is a type (of kind `"))
(help-insert-xref-button (symbol-name metatype)
'cl-help-type metatype)
- (insert (substitute-command-keys "’)"))
+ (insert (substitute-command-keys "')"))
(when location
- (insert (substitute-command-keys " in ‘"))
+ (insert (substitute-command-keys " in `"))
(help-insert-xref-button
(help-fns-short-filename location)
'cl-type-definition type location 'define-type)
- (insert (substitute-command-keys "’")))
+ (insert (substitute-command-keys "'")))
(insert ".\n")
;; Parents.
(insert " Inherits from ")
(while (setq cur (pop pl))
(setq cur (cl--class-name cur))
- (insert (substitute-command-keys "‘"))
+ (insert (substitute-command-keys "`"))
(help-insert-xref-button (symbol-name cur)
'cl-help-type cur)
- (insert (substitute-command-keys (if pl "’, " "’"))))
+ (insert (substitute-command-keys (if pl "', " "'"))))
(insert ".\n")))
;; Children, if available. ¡For EIEIO!
(when ch
(insert " Children ")
(while (setq cur (pop ch))
- (insert (substitute-command-keys "‘"))
+ (insert (substitute-command-keys "`"))
(help-insert-xref-button (symbol-name cur)
'cl-help-type cur)
- (insert (substitute-command-keys (if ch "’, " "’"))))
+ (insert (substitute-command-keys (if ch "', " "'"))))
(insert ".\n")))
;; Type's documentation.
(when generics
(insert (propertize "Specialized Methods:\n\n" 'face 'bold))
(dolist (generic generics)
- (insert (substitute-command-keys "‘"))
+ (insert (substitute-command-keys "`"))
(help-insert-xref-button (symbol-name generic)
'help-function generic)
- (insert (substitute-command-keys "’"))
+ (insert (substitute-command-keys "'"))
(pcase-dolist (`(,qualifiers ,args ,doc)
(cl--generic-method-documentation generic type))
(insert (format " %s%S\n" qualifiers args)
(when doc (error "Multiple doc strings for %S" name))
(setq doc (cadr (pop options-and-methods))))
(`declare
- (when declarations (error "Multiple ‘declare’ for %S" name))
+ (when declarations (error "Multiple `declare' for %S" name))
(setq declarations (pop options-and-methods)))
(`:method (push (cdr (pop options-and-methods)) methods))
(_ (push (pop options-and-methods) options))))
defun-declarations-alist))))
(cond
(f (apply (car f) name args (cdr declaration)))
- (t (message "Warning: Unknown defun property ‘%S’ in %S"
+ (t (message "Warning: Unknown defun property `%S' in %S"
(car declaration) name)
nil))))
(cdr declarations))
(cl--generic-method-specializers method)))
(file (find-lisp-object-file-name met-name 'cl-defmethod)))
(when file
- (insert (substitute-command-keys " in ‘"))
+ (insert (substitute-command-keys " in `"))
(help-insert-xref-button (help-fns-short-filename file)
'help-function-def met-name file
'cl-defmethod)
- (insert (substitute-command-keys "’.\n"))))
+ (insert (substitute-command-keys "'.\n"))))
(insert "\n" (or (nth 2 info) "Undocumented") "\n\n")))))))
(defun cl--generic-specializers-apply-to-type-p (specializers type)
(and (assq type cl--generic-typeof-types)
(progn
(if (memq type '(vector array sequence))
- (message "‘%S’ also matches CL structs and EIEIO classes" type))
+ (message "`%S' also matches CL structs and EIEIO classes" type))
(list cl--generic-typeof-generalizer)))
(cl-call-next-method)))
(cond
((null cl--loop-args)
- (error "Malformed ‘cl-loop’ macro"))
+ (error "Malformed `cl-loop' macro"))
((eq word 'named)
(setq cl--loop-name (pop cl--loop-args)))
((eq word 'initially)
(if (memq (car cl--loop-args) '(do doing)) (pop cl--loop-args))
(or (consp (car cl--loop-args))
- (error "Syntax error on ‘initially’ clause"))
+ (error "Syntax error on `initially' clause"))
(while (consp (car cl--loop-args))
(push (pop cl--loop-args) cl--loop-initially)))
(or (cl--pop2 cl--loop-args) '(quote nil)))
(if (memq (car cl--loop-args) '(do doing)) (pop cl--loop-args))
(or (consp (car cl--loop-args))
- (error "Syntax error on ‘finally’ clause"))
+ (error "Syntax error on `finally' clause"))
(if (and (eq (caar cl--loop-args) 'return) (null cl--loop-name))
(setq cl--loop-result-explicit
(or (nth 1 (pop cl--loop-args)) '(quote nil)))
above below by))
(push word cl--loop-args)
(if (memq (car cl--loop-args) '(downto above))
- (error "Must specify ‘from’ value for downward cl-loop"))
+ (error "Must specify `from' value for downward cl-loop"))
(let* ((down (or (eq (car cl--loop-args) 'downfrom)
(memq (nth 2 cl--loop-args)
'(downto above))))
(step-var (and (not (macroexp-const-p step))
(make-symbol "--cl-var--"))))
(and step (numberp step) (<= step 0)
- (error "Loop ‘by’ value is not positive: %s" step))
+ (error "Loop `by' value is not positive: %s" step))
(push (list var (or start 0)) loop-for-bindings)
(if end-var (push (list end-var end) loop-for-bindings))
(if step-var (push (list step-var step)
((memq word '(element elements))
(let ((ref (or (memq (car cl--loop-args) '(in-ref of-ref))
(and (not (memq (car cl--loop-args) '(in of)))
- (error "Expected ‘of’"))))
+ (error "Expected `of'"))))
(seq (cl--pop2 cl--loop-args))
(temp-seq (make-symbol "--cl-seq--"))
(temp-idx
(if (and (= (length (cadr cl--loop-args)) 2)
(eq (cl-caadr cl--loop-args) 'index))
(cadr (cl--pop2 cl--loop-args))
- (error "Bad ‘using’ clause"))
+ (error "Bad `using' clause"))
(make-symbol "--cl-idx--"))))
(push (list temp-seq seq) loop-for-bindings)
(push (list temp-idx 0) loop-for-bindings)
((memq word hash-types)
(or (memq (car cl--loop-args) '(in of))
- (error "Expected ‘of’"))
+ (error "Expected `of'"))
(let* ((table (cl--pop2 cl--loop-args))
(other
(if (eq (car cl--loop-args) 'using)
(memq (cl-caadr cl--loop-args) hash-types)
(not (eq (cl-caadr cl--loop-args) word)))
(cadr (cl--pop2 cl--loop-args))
- (error "Bad ‘using’ clause"))
+ (error "Bad `using' clause"))
(make-symbol "--cl-var--"))))
(if (memq word '(hash-value hash-values))
(setq var (prog1 other (setq other var))))
((memq word key-types)
(or (memq (car cl--loop-args) '(in of))
- (error "Expected ‘of’"))
+ (error "Expected `of'"))
(let ((cl-map (cl--pop2 cl--loop-args))
(other
(if (eq (car cl--loop-args) 'using)
(memq (cl-caadr cl--loop-args) key-types)
(not (eq (cl-caadr cl--loop-args) word)))
(cadr (cl--pop2 cl--loop-args))
- (error "Bad ‘using’ clause"))
+ (error "Bad `using' clause"))
(make-symbol "--cl-var--"))))
(if (memq word '(key-binding key-bindings))
(setq var (prog1 other (setq other var))))
(get word 'cl-loop-for-handler))))
(if handler
(funcall handler var)
- (error "Expected a ‘for’ preposition, found %s" word)))))
+ (error "Expected a `for' preposition, found %s" word)))))
(eq (car cl--loop-args) 'and))
(setq ands t)
(pop cl--loop-args))
((memq word '(do doing))
(let ((body nil))
- (or (consp (car cl--loop-args)) (error "Syntax error on ‘do’ clause"))
+ (or (consp (car cl--loop-args)) (error "Syntax error on `do' clause"))
(while (consp (car cl--loop-args)) (push (pop cl--loop-args) body))
(push (cons 'progn (nreverse (cons t body))) cl--loop-body)))
`((go . ,(lambda (label)
(let ((catch-tag (cdr (assq label cl--tagbody-alist))))
(unless catch-tag
- (error "Unknown cl-tagbody go label ‘%S’" label))
+ (error "Unknown cl-tagbody go label `%S'" label))
`(throw ',catch-tag ',label))))
,@macroexpand-all-environment)))))
macroexpand-all-environment))))
(if (or (null (cdar bindings)) (cl-cddar bindings))
(macroexp--warn-and-return
- (format-message "Malformed ‘cl-symbol-macrolet’ binding: %S"
+ (format-message "Malformed `cl-symbol-macrolet' binding: %S"
(car bindings))
expansion)
expansion)))
(defun cl-unload-function ()
"Stop unloading of the Common Lisp extensions."
- (message "Cannot unload the feature ‘cl’")
+ (message "Cannot unload the feature `cl'")
;; Stop standard unloading!
t)
(if (or (and (fboundp (car x))
(eq (car-safe (symbol-function (car x))) 'macro))
(cdr (assq (car x) macroexpand-all-environment)))
- (error "Use ‘labels’, not ‘flet’, to rebind macro names"))
+ (error "Use `labels', not `flet', to rebind macro names"))
(let ((func `(cl-function
(lambda ,(cadr x)
(cl-block ,(car x) ,@(cddr x))))))
(when (cl--compiling-file)
;; Bug#411. It would be nice to fix this.
(and (get (car x) 'byte-compile)
- (error "Byte-compiling a redefinition of ‘%s’ \
-will not work - use ‘labels’ instead" (symbol-name (car x))))
+ (error "Byte-compiling a redefinition of `%s' \
+will not work - use `labels' instead" (symbol-name (car x))))
;; FIXME This affects the rest of the file, when it
;; should be restricted to the flet body.
(and (boundp 'byte-compile-function-environment)
(or (getenv "ORGANIZATION")
str)
'(if (copyright-offset-too-large-p)
- (message "Copyright extends beyond ‘copyright-limit’ and won't be updated automatically."))
+ (message "Copyright extends beyond `copyright-limit' and won't be updated automatically."))
comment-end \n)
;; TODO: recurse, exclude COPYING etc.
(interactive "DDirectory: \nMFilenames matching (regexp): ")
(dolist (file (directory-files directory t match nil))
(unless (file-directory-p file)
- (message "Updating file ‘%s’" file)
+ (message "Updating file `%s'" file)
;; FIXME we should not use find-file+save+kill.
(let ((enable-local-variables :safe)
(enable-local-eval nil))
(setq dotted-form (edebug-read-storing-offsets stream))
elements (nconc elements dotted-form)
(if (not (eq (edebug-next-token-class) 'rparen))
- (edebug-syntax-error "Expected ‘)’"))
+ (edebug-syntax-error "Expected `)'"))
(setq edebug-read-dotted-list (listp dotted-form))
))
elements)
`eieio-persistent-read' to load in subclasses of class instead of
being pedantic."
(unless class
- (message "Unsafe call to ‘eieio-persistent-read’."))
+ (message "Unsafe call to `eieio-persistent-read'."))
(when class (cl-check-type class class))
(let ((ret nil)
(buffstr nil))
(if (not (eq type t))
(if (not (equal type tp))
(error
- "Child slot type ‘%s’ does not match inherited type ‘%s’ for ‘%s’"
+ "Child slot type `%s' does not match inherited type `%s' for `%s'"
type tp a))
(setf (cl--slot-descriptor-type new) tp))
;; If we have a repeat, only update the initarg...
(let ((super-prot (alist-get :protection oprops))
(prot (alist-get :protection nprops)))
(if (not (eq prot super-prot))
- (error "Child slot protection ‘%s’ does not match inherited protection ‘%s’ for ‘%s’"
+ (error "Child slot protection `%s' does not match inherited protection `%s' for `%s'"
prot super-prot a)))
;; End original PLN
((and (or `',name (and name (pred keywordp)))
(guard (not (memq name eieio--known-slot-names))))
(macroexp--warn-and-return
- (format-message "Unknown slot ‘%S’" name) exp 'compile-only))
+ (format-message "Unknown slot `%S'" name) exp 'compile-only))
(_ exp)))))
(cl-check-type slot symbol)
(cl-check-type obj (or eieio-object class))
(setq location
(find-lisp-object-file-name ctr def)))
(when location
- (insert (substitute-command-keys " in ‘"))
+ (insert (substitute-command-keys " in `"))
(help-insert-xref-button
(help-fns-short-filename location)
'cl-type-definition ctr location 'define-type)
- (insert (substitute-command-keys "’")))
+ (insert (substitute-command-keys "'")))
(insert ".\nCreates an object of class " (symbol-name ctr) ".")
(goto-char (point-max))
(if (autoloadp def)
(cl-defmethod eieio-speedbar-child-make-tag-lines ((object eieio-speedbar) _depth)
"Base method for creating tag lines for non-object children."
- (error "You must implement ‘eieio-speedbar-child-make-tag-lines’ for %s"
+ (error "You must implement `eieio-speedbar-child-make-tag-lines' for %s"
(eieio-object-name object)))
(cl-defmethod eieio-speedbar-expand ((object eieio-speedbar) depth)
(cl-defmethod eieio-speedbar-child-description ((obj eieio-speedbar))
"Return a description for a child of OBJ which is not an object."
- (error "You must implement ‘eieio-speedbar-child-description’ for %s"
+ (error "You must implement `eieio-speedbar-child-description' for %s"
(eieio-object-name obj)))
(defun eieio-speedbar-item-info ()
(cond ((and (stringp (car options-and-doc))
(/= 1 (% (length options-and-doc) 2)))
- (error "Too many arguments to ‘defclass’"))
+ (error "Too many arguments to `defclass'"))
((and (symbolp (car options-and-doc))
(/= 0 (% (length options-and-doc) 2)))
- (error "Too many arguments to ‘defclass’")))
+ (error "Too many arguments to `defclass'")))
(if (stringp (car options-and-doc))
(setq options-and-doc
"Change the class of OBJ to type CLASS.
This may create or delete slots, but does not affect the return value
of `eq'."
- (error "EIEIO: ‘change-class’ is unimplemented"))
+ (error "EIEIO: `change-class' is unimplemented"))
;; Hook ourselves into help system for describing classes and methods.
;; FIXME: This is not actually needed any more since we can click on the
(elint-set-mode-line t)
(with-current-buffer elint-log-buffer
(unless (string-equal default-directory dir)
- (elint-log-message (format-message "\f\nLeaving directory ‘%s’"
+ (elint-log-message (format-message "\f\nLeaving directory `%s'"
default-directory) t)
- (elint-log-message (format-message "Entering directory ‘%s’" dir) t)
+ (elint-log-message (format-message "Entering directory `%s'" dir) t)
(setq default-directory dir))))
(let ((str (format "Linting file %s" file)))
(message "%s..." str)
;; quoted check cannot be elsewhere, since quotes skipped.
(if (looking-back "'" (1- (point)))
;; Eg cust-print.el uses ' as a comment syntax.
- (elint-warning "Skipping quoted form ‘'%.20s...’"
+ (elint-warning "Skipping quoted form `%c%.20s...'" ?\'
(read (current-buffer)))
(condition-case nil
(setq tops (cons
tops))
(end-of-file
(goto-char elint-current-pos)
- (error "Missing ‘)’ in top form: %s"
+ (error "Missing `)' in top form: %s"
(buffer-substring elint-current-pos
(line-end-position))))))))
(nreverse tops))))
(cond
;; Eg nnmaildir seems to use [] as a form of comment syntax.
((not (listp form))
- (elint-warning "Skipping non-list form ‘%s’" form))
+ (elint-warning "Skipping non-list form `%s'" form))
;; Add defined variable
((memq (car form) '(defvar defconst defcustom))
(setq elint-env (elint-env-add-var elint-env (cadr form))))
(if (or (< (length form) 4)
(eq (nth 3 form) t)
(unless (stringp (nth 2 form))
- (elint-error "Malformed declaration for ‘%s’"
+ (elint-error "Malformed declaration for `%s'"
(cadr form))
t))
'unknown
(and (eq (car-safe alias) 'quote)
(eq (car-safe target) 'quote)
(eq (elint-get-args (cadr target) env) 'undefined)
- (elint-warning "Alias ‘%s’ has unknown target ‘%s’"
+ (elint-warning "Alias `%s' has unknown target `%s'"
(cadr alias) (cadr target))))
(elint-form form env t))
(setq newenv
(elint-env-add-var newenv (car s))))
(t (elint-error
- "Malformed ‘let’ declaration: %s" s))))
+ "Malformed `let' declaration: %s" s))))
varlist)
;; Lint the body forms
(defun ert-get-test (symbol)
"If SYMBOL names a test, return that. Signal an error otherwise."
- (unless (ert-test-boundp symbol) (error "No test named ‘%S’" symbol))
+ (unless (ert-test-boundp symbol) (error "No test named `%S'" symbol))
(get symbol 'ert--test))
(defun ert-set-test (symbol definition)
"--"
["Show backtrace" ert-results-pop-to-backtrace-for-test-at-point]
["Show messages" ert-results-pop-to-messages-for-test-at-point]
- ["Show ‘should’ forms" ert-results-pop-to-should-forms-for-test-at-point]
+ ["Show `should' forms" ert-results-pop-to-should-forms-for-test-at-point]
["Describe test" ert-results-describe-test-at-point]
"--"
["Delete test" ert-delete-test]
(ert--print-backtrace backtrace)
(debugger-make-xrefs)
(goto-char (point-min))
- (insert "Backtrace for test ‘")
+ (insert (substitute-command-keys "Backtrace for test `"))
(ert-insert-test-name-button (ert-test-name test))
- (insert "’:\n")))))))
+ (insert (substitute-command-keys "':\n"))))))))
(defun ert-results-pop-to-messages-for-test-at-point ()
"Display the part of the *Messages* buffer generated during the test at point.
(ert-simple-view-mode)
(insert (ert-test-result-messages result))
(goto-char (point-min))
- (insert "Messages for test ‘")
+ (insert (substitute-command-keys "Messages for test `"))
(ert-insert-test-name-button (ert-test-name test))
- (insert "’:\n")))))
+ (insert (substitute-command-keys "':\n"))))))
(defun ert-results-pop-to-should-forms-for-test-at-point ()
"Display the list of `should' forms executed during the test at point.
(ert--pp-with-indentation-and-newline form-description)
(ert--make-xrefs-region begin (point)))))
(goto-char (point-min))
- (insert "‘should’ forms executed during test ‘")
+ (insert (substitute-command-keys
+ "`should' forms executed during test `"))
(ert-insert-test-name-button (ert-test-name test))
- (insert "’:\n")
+ (insert (substitute-command-keys "':\n"))
(insert "\n")
(insert (concat "(Values are shallow copies and may have "
"looked different during the test if they\n"
(let ((file-name (and test-name
(symbol-file test-name 'ert-deftest))))
(when file-name
- (insert " defined in ‘" (file-name-nondirectory file-name) "’")
+ (insert (format-message " defined in `%s'"
+ (file-name-nondirectory file-name)))
(save-excursion
- (re-search-backward "‘\\([^‘’]+\\)’" nil t)
+ (re-search-backward (substitute-command-keys "`\\([^`']+\\)'")
+ nil t)
(help-xref-button 1 'help-function-def test-name file-name)))
(insert ".")
(fill-region-as-paragraph (point-min) (point))
and it is interpreted via `find-function-regexp-alist'.
The search is done in the source for library LIBRARY."
(if (null library)
- (error "Don't know where ‘%s’ is defined" symbol))
+ (error "Don't know where `%s' is defined" symbol))
;; Some functions are defined as part of the construct
;; that defines something else.
(while (and (symbolp symbol) (get symbol 'definition-name))
(setq aliases (if aliases
(concat aliases
(format-message
- ", which is an alias for ‘%s’"
+ ", which is an alias for `%s'"
(symbol-name def)))
- (format-message "‘%s’ is an alias for ‘%s’"
+ (format-message "`%s' is an alias for `%s'"
function (symbol-name def)))))
(setq function (find-function-advised-original function)
def (find-function-advised-original function)))
`iter-next' resumes execution at the previous
`iter-yield' point."
(identity value)
- (error "‘iter-yield’ used outside a generator"))
+ (error "`iter-yield' used outside a generator"))
(defmacro iter-yield-from (value)
"When used inside a generator function, delegate to a sub-iterator.
so as to preserve the semantics of `setf'."
(declare (debug (sexp (&or symbolp lambda-expr) &optional sexp)))
(when (eq 'lambda (car-safe setter))
- (message "Use ‘gv-define-setter’ or name %s's setter function" name))
+ (message "Use `gv-define-setter' or name %s's setter function" name))
`(gv-define-setter ,name (val &rest args)
,(if fix-return
`(macroexp-let2 nil v val
((null name)
"Can't find package name")
((not (lm-authors))
- "‘Author:’ tag missing")
+ "`Author:' tag missing")
((not (lm-maintainer))
- "‘Maintainer:’ tag missing")
+ "`Maintainer:' tag missing")
((not (lm-summary))
"Can't find the one-line summary description")
((not (lm-keywords))
- "‘Keywords:’ tag missing")
+ "`Keywords:' tag missing")
((not (lm-keywords-finder-p))
- "‘Keywords:’ has no valid finder keywords (see ‘finder-known-keywords’)")
+ "`Keywords:' has no valid finder keywords (see `finder-known-keywords')")
((not (lm-commentary-mark))
- "Can't find a ‘Commentary’ section marker")
+ "Can't find a `Commentary' section marker")
((not (lm-history-mark))
- "Can't find a ‘History’ section marker")
+ "Can't find a `History' section marker")
((not (lm-code-mark))
- "Can't find a ‘Code’ section marker")
+ "Can't find a `Code' section marker")
((progn
(goto-char (point-max))
(not
(let ((instead (car obsolescence-data))
(asof (nth 2 obsolescence-data)))
(format-message
- "‘%s’ is an obsolete %s%s%s" fun type
+ "`%s' is an obsolete %s%s%s" fun type
(if asof (concat " (as of " asof ")") "")
(cond ((stringp instead) (concat "; " (substitute-command-keys instead)))
- (instead (format-message "; use ‘%s’ instead." instead))
+ (instead (format-message "; use `%s' instead." instead))
(t ".")))))
(defun macroexpand-1 (form &optional environment)
(action (if help (nth 2 help) "act on")))
(concat
(format-message "\
-Type SPC or ‘y’ to %s the current %s;
-DEL or ‘n’ to skip the current %s;
-RET or ‘q’ to give up on the %s (skip all remaining %s);
+Type SPC or `y' to %s the current %s;
+DEL or `n' to skip the current %s;
+RET or `q' to give up on the %s (skip all remaining %s);
C-g to quit (cancel the whole command);
! to %s all remaining %s;\n"
action object object action objects action
(propertize (format "%s advice: " where)
'face 'warning)
(let ((fun (advice--car flist)))
- (if (symbolp fun) (format-message "‘%S’" fun)
+ (if (symbolp fun) (format-message "`%S'" fun)
(let* ((name (cdr (assq 'name (advice--props flist))))
(doc (documentation fun t))
(usage (help-split-fundoc doc function)))
(advice--make-1 (aref main 1) (aref main 3)
(advice--car main) rest (advice--props main)))
(let ((desc (assq where advice--where-alist)))
- (unless desc (error "Unknown add-function location ‘%S’" where))
+ (unless desc (error "Unknown add-function location `%S'" where))
(advice--make-1 (nth 1 desc) (nth 2 desc)
function main props)))))
(advice (cond ((null name) `(lambda ,lambda-list ,@body))
((or (stringp name) (symbolp name))
(intern (format "%s@%s" symbol name)))
- (t (error "Unrecognized name spec ‘%S’" name)))))
+ (t (error "Unrecognized name spec `%S'" name)))))
`(prog1 ,@(and (symbolp advice) `((defun ,advice ,lambda-list ,@body)))
(advice-add ',symbol ,where #',advice ,@(and props `(',props))))))
((string-match "\\.tar\\'" file)
(tar-mode) (package-tar-file-info))
((string-match "\\.el\\'" file) (package-buffer-info))
- (t (error "Unrecognized extension ‘%s’"
+ (t (error "Unrecognized extension `%s'"
(file-name-extension file))))))
(package-upload-buffer-internal pkg-desc (file-name-extension file)))))
(push (int-to-string num) str-list)
(push "." str-list))
((< num -4)
- (error "Invalid version list ‘%s’" vlist))
+ (error "Invalid version list `%s'" vlist))
(t
;; pre, or beta, or alpha
(cond ((equal "." (car str-list))
(pop str-list))
((not (string-match "[0-9]+" (car str-list)))
- (error "Invalid version list ‘%s’" vlist)))
+ (error "Invalid version list `%s'" vlist)))
(push (cond ((= num -1) "pre")
((= num -2) "beta")
((= num -3) "alpha")
((stringp force) ; held
(unless (version-list-= version (version-to-list force))
force))
- (t (error "Invalid element in ‘package-load-list’")))))
+ (t (error "Invalid element in `package-load-list'")))))
(defun package-built-in-p (package &optional min-version)
"Return true if PACKAGE is built-in to Emacs.
(let* ((name (package-desc-name pkg-desc))
(pkg-dir (package-desc-dir pkg-desc)))
(unless pkg-dir
- (error "Internal error: unable to find directory for ‘%s’"
+ (error "Internal error: unable to find directory for `%s'"
(package-desc-full-name pkg-desc)))
(let* ((loaded-files-list (when reload
(package--list-loaded-files pkg-dir))))
(unless (package-activate (car req))
(throw 'dep-failure req))))))
(if fail
- (warn "Unable to activate package ‘%s’.
-Required package ‘%s-%s’ is unavailable"
+ (warn "Unable to activate package `%s'.
+Required package `%s-%s' is unavailable"
package (car fail) (package-version-join (cadr fail)))
;; If all goes well, activate the package itself.
(package-activate-1 pkg-vec force)))))))
;; Even if the sig fails, this download is done, so
;; remove it from the in-progress list.
(package--update-downloads-in-progress archive)
- (error "Unsigned archive ‘%s’" name))
+ (error "Unsigned archive `%s'" name))
;; Write out the archives file.
(write-region content nil local-file nil 'silent)
;; Write out good signatures into archive-contents.signed file.
(when async
;; The t at the end means to propagate connection errors.
(lambda () (package--update-downloads-in-progress archive) t)))
- (error (message "Failed to download ‘%s’ archive."
+ (error (message "Failed to download `%s' archive."
(car archive))))))
;;;###autoload
(package-desc-full-name already))
(setq packages (delq already packages))
(setq already nil))
- (error "Need package ‘%s-%s’, but only %s is being installed"
+ (error "Need package `%s-%s', but only %s is being installed"
next-pkg (package-version-join next-version)
(package-version-join (package-desc-version already)))))
(cond
(setq problem
(if (stringp disabled)
(format-message
- "Package ‘%s’ held at version %s, but version %s required"
+ "Package `%s' held at version %s, but version %s required"
next-pkg disabled
(package-version-join next-version))
- (format-message "Required package ‘%s’ is disabled"
+ (format-message "Required package `%s' is disabled"
next-pkg)))))
(t (setq found pkg-desc)))))
(unless found
(cond
(problem (error "%s" problem))
(found-something
- (error "Need package ‘%s-%s’, but only %s is available"
+ (error "Need package `%s-%s', but only %s is available"
next-pkg (package-version-join next-version)
found-something))
- (t (error "Package ‘%s-%s’ is unavailable"
+ (t (error "Package `%s-%s' is unavailable"
next-pkg (package-version-join next-version)))))
(setq packages
(package-compute-transaction (cons found packages)
(unless (or good-sigs (eq package-check-signature 'allow-unsigned))
;; Even if the sig fails, this download is done, so
;; remove it from the in-progress list.
- (error "Unsigned package: ‘%s’"
+ (error "Unsigned package: `%s'"
(package-desc-name pkg-desc)))
;; Signature checked, unpack now.
(with-temp-buffer (insert content)
(package-desc-reqs pkg)))
(package-compute-transaction () (list (list pkg))))))
(package-download-transaction transaction)
- (message "‘%s’ is already installed" (package-desc-full-name pkg))))
+ (message "`%s' is already installed" (package-desc-full-name pkg))))
(defun package-strip-rcs-id (str)
"Strip RCS version ID from the version string STR.
;; using here, because the outcome is the same either way (nothing
;; gets installed).
(if (not package-selected-packages)
- (message "‘package-selected-packages’ is empty, nothing to install")
+ (message "`package-selected-packages' is empty, nothing to install")
(cl-loop for p in package-selected-packages
unless (package-installed-p p)
collect p into lst
(expand-file-name package-user-dir))
(expand-file-name dir)))
;; Don't delete "system" packages.
- (error "Package ‘%s’ is a system package, not deleting"
+ (error "Package `%s' is a system package, not deleting"
(package-desc-full-name pkg-desc)))
((and (null force)
(setq pkg-used-elsewhere-by
(package--used-elsewhere-p pkg-desc)))
;; Don't delete packages used as dependency elsewhere.
- (error "Package ‘%s’ is used by ‘%s’ as dependency, not deleting"
+ (error "Package `%s' is used by `%s' as dependency, not deleting"
(package-desc-full-name pkg-desc)
(package-desc-name pkg-used-elsewhere-by)))
(t
(delete pkg-desc pkgs)
(unless (cdr pkgs)
(setq package-alist (delq pkgs package-alist))))
- (message "Package ‘%s’ deleted." (package-desc-full-name pkg-desc))))))
+ (message "Package `%s' deleted." (package-desc-full-name pkg-desc))))))
;;;###autoload
(defun package-reinstall (pkg)
;; do absolutely nothing.
(when (or package-selected-packages
(yes-or-no-p
- "‘package-selected-packages’ is empty! Really remove ALL packages? "))
+ (format-message
+ "`package-selected-packages' is empty! Really remove ALL packages? ")))
(let ((removable (package--removable-packages)))
(if removable
(when (y-or-n-p
"Installed"
(capitalize status))
'font-lock-face 'package-status-builtin-face))
- (insert (substitute-command-keys " in ‘"))
+ (insert (substitute-command-keys " in `"))
(let ((dir (abbreviate-file-name
(file-name-as-directory
(if (file-in-directory-p pkg-dir package-user-dir)
(if (and (package-built-in-p name)
(not (package-built-in-p name version)))
(insert (substitute-command-keys
- "’,\n shadowing a ")
+ "',\n shadowing a ")
(propertize "built-in package"
'font-lock-face 'package-status-builtin-face))
- (insert (substitute-command-keys "’")))
+ (insert (substitute-command-keys "'")))
(if signed
(insert ".")
(insert " (unsigned)."))
(defun package-install-button-action (button)
(let ((pkg-desc (button-get button 'package-desc)))
- (when (y-or-n-p (format-message "Install package ‘%s’? "
+ (when (y-or-n-p (format-message "Install package `%s'? "
(package-desc-full-name pkg-desc)))
(package-install pkg-desc nil)
(revert-buffer nil t)
(defun package-delete-button-action (button)
(let ((pkg-desc (button-get button 'package-desc)))
- (when (y-or-n-p (format-message "Delete package ‘%s’? "
+ (when (y-or-n-p (format-message "Delete package `%s'? "
(package-desc-full-name pkg-desc)))
(package-delete pkg-desc)
(revert-buffer nil t)
(cl-remove-if-not (lambda (e) (string-match re (symbol-name (car e))))
package-archive-contents)))
(message (substitute-command-keys
- (concat "Hiding %s packages, type ‘\\[package-menu-toggle-hiding]’"
- " to toggle or ‘\\[customize-variable] RET package-hidden-regexps’"
+ (concat "Hiding %s packages, type `\\[package-menu-toggle-hiding]'"
+ " to toggle or `\\[customize-variable] RET package-hidden-regexps'"
" to customize it"))
(length hidden)))))
(length packages)
(mapconcat #'package-desc-full-name packages ", ")))
;; Exactly 1
- (t (format-message "package ‘%s’"
+ (t (format-message "package `%s'"
(package-desc-full-name (car packages))))))
(defun package-menu--prompt-transaction-p (delete install upgrade)
(condition-case-unless-debug err
(let ((inhibit-message package-menu-async))
(package-delete elt nil 'nosave))
- (error (message "Error trying to delete ‘%s’: %S"
+ (error (message "Error trying to delete `%s': %S"
(package-desc-full-name elt)
err))))))
(defun package-menu--find-and-notify-upgrades ()
"Notify the user of upgradable packages."
(when-let ((upgrades (package-menu--find-upgrades)))
- (message "%d package%s can be upgraded; type ‘%s’ to mark %s for upgrading."
+ (message "%d package%s can be upgraded; type `%s' to mark %s for upgrading."
(length upgrades)
(if (= (length upgrades) 1) "" "s")
(substitute-command-keys "\\[package-menu-mark-upgrades]")
(pcase--dontwarn-upats (cons x pcase--dontwarn-upats)))
(pcase--expand
;; FIXME: Could we add the FILE:LINE data in the error message?
- exp (append cases `((,x (error "No clause matching ‘%S’" ,x)))))))
+ exp (append cases `((,x (error "No clause matching `%S'" ,x)))))))
;;;###autoload
(defmacro pcase-lambda (lambda-list &rest body)
(let ((code (pcase--u1 matches code vars rest)))
(if (eq upat '_) code
(macroexp--warn-and-return
- "Pattern t is deprecated. Use ‘_’ instead"
+ "Pattern t is deprecated. Use `_' instead"
code))))
((eq upat 'pcase--dontcare) :pcase--dontcare)
((memq (car-safe upat) '(guard pred))
(pcase--u rest))
vars
(list `((and . ,matches) ,code . ,vars))))
- (t (error "Unknown pattern ‘%S’" upat)))))
+ (t (error "Unknown pattern `%S'" upat)))))
(t (error "Incorrect MATCH %S" (car matches)))))
(def-edebug-spec
(setq reb-subexp-mode t)
(reb-update-modestring)
(use-local-map reb-subexp-mode-map)
- (message "‘0’-‘9’ to display subexpressions ‘q’ to quit subexp mode"))
+ (message "`0'-`9' to display subexpressions `q' to quit subexp mode"))
(defun reb-show-subexp (subexp &optional pause)
"Visually show limit of subexpression SUBEXP of recent search.
"Return the next item in the RING, after ITEM.
Raise error if ITEM is not in the RING."
(let ((curr-index (ring-member ring item)))
- (unless curr-index (error "Item is not in the ring: ‘%s’" item))
+ (unless curr-index (error "Item is not in the ring: `%s'" item))
(ring-ref ring (ring-plus1 curr-index (ring-length ring)))))
(defun ring-previous (ring item)
"Return the previous item in the RING, before ITEM.
Raise error if ITEM is not in the RING."
(let ((curr-index (ring-member ring item)))
- (unless curr-index (error "Item is not in the ring: ‘%s’" item))
+ (unless curr-index (error "Item is not in the ring: `%s'" item))
(ring-ref ring (ring-minus1 curr-index (ring-length ring)))))
(defun ring-extend (ring x)
(defun rx-check (form)
"Check FORM according to its car's parsing info."
(unless (listp form)
- (error "rx ‘%s’ needs argument(s)" form))
+ (error "rx `%s' needs argument(s)" form))
(let* ((rx (rx-info (car form) 'head))
(nargs (1- (length form)))
(min-args (nth 1 rx))
(type-pred (nth 3 rx)))
(when (and (not (null min-args))
(< nargs min-args))
- (error "rx form ‘%s’ requires at least %d args"
+ (error "rx form `%s' requires at least %d args"
(car form) min-args))
(when (and (not (null max-args))
(> nargs max-args))
- (error "rx form ‘%s’ accepts at most %d args"
+ (error "rx form `%s' accepts at most %d args"
(car form) max-args))
(when (not (null type-pred))
(dolist (sub-form (cdr form))
(unless (funcall type-pred sub-form)
- (error "rx form ‘%s’ requires args satisfying ‘%s’"
+ (error "rx form `%s' requires args satisfying `%s'"
(car form) type-pred))))))
(defun rx-anything (form)
"Match any character."
(if (consp form)
- (error "rx ‘anything’ syntax error: %s" form))
+ (error "rx `anything' syntax error: %s" form))
(rx-or (list 'or 'not-newline ?\n)))
(let ((i 0)
c1 c2 l)
(if (= 0 (length str))
- (error "String arg for Rx ‘any’ must not be empty"))
+ (error "String arg for Rx `any' must not be empty"))
(while (string-match ".-." str i)
;; string before range: convert it to characters
(if (< i (match-beginning 0))
(error nil))))
(if (or (null translation)
(null (string-match "\\`\\[\\[:[-a-z]+:\\]\\]\\'" translation)))
- (error "Invalid char class ‘%s’ in Rx ‘any’" arg))
+ (error "Invalid char class `%s' in Rx `any'" arg))
(list (substring translation 1 -1)))) ; strip outer brackets
((and (integerp (car-safe arg)) (integerp (cdr-safe arg)))
(list arg))
((stringp arg) (rx-check-any-string arg))
((error
- "rx ‘any’ requires string, character, char pair or char class args"))))
+ "rx `any' requires string, character, char pair or char class args"))))
(defun rx-any (form)
(eq arg 'word-boundary)
(and (consp arg)
(memq (car arg) '(not any in syntax category))))
- (error "rx ‘not’ syntax error: %s" arg))
+ (error "rx `not' syntax error: %s" arg))
t)
(setq form (rx-trans-forms form 1))
(unless (and (integerp (nth 1 form))
(> (nth 1 form) 0))
- (error "rx ‘=’ requires positive integer first arg"))
+ (error "rx `=' requires positive integer first arg"))
(format "%s\\{%d\\}" (rx-form (nth 2 form) '*) (nth 1 form)))
(setq form (rx-trans-forms form 1))
(unless (and (integerp (nth 1 form))
(> (nth 1 form) 0))
- (error "rx ‘>=’ requires positive integer first arg"))
+ (error "rx `>=' requires positive integer first arg"))
(format "%s\\{%d,\\}" (rx-form (nth 2 form) '*) (nth 1 form)))
(cond ((= (length form) 3)
(unless (and (integerp (nth 1 form))
(> (nth 1 form) 0))
- (error "rx ‘repeat’ requires positive integer first arg"))
+ (error "rx `repeat' requires positive integer first arg"))
(format "%s\\{%d\\}" (rx-form (nth 2 form) '*) (nth 1 form)))
((or (not (integerp (nth 2 form)))
(< (nth 2 form) 0)
(not (integerp (nth 1 form)))
(< (nth 1 form) 0)
(< (nth 2 form) (nth 1 form)))
- (error "rx ‘repeat’ range error"))
+ (error "rx `repeat' range error"))
(t
(format "%s\\{%d,%d\\}" (rx-form (nth 3 form) '*)
(nth 1 form) (nth 2 form)))))
(defun rx-check-backref (arg)
"Check arg ARG for Rx `backref'."
(or (and (integerp arg) (>= arg 1) (<= arg 9))
- (error "rx ‘backref’ requires numeric 1<=arg<=9: %s" arg)))
+ (error "rx `backref' requires numeric 1<=arg<=9: %s" arg)))
(defun rx-kleene (form)
"Parse and produce code from FORM.
(if (= 1 (length name))
(setq syntax (aref name 0))))))
(unless syntax
- (error "Unknown rx syntax ‘%s’" sym)))
+ (error "Unknown rx syntax `%s'" sym)))
(format "\\s%c" syntax)))
"Check the argument FORM of a `(category FORM)'."
(unless (or (integerp form)
(cdr (assq form rx-categories)))
- (error "Unknown category ‘%s’" form))
+ (error "Unknown category `%s'" form))
t)
(cond ((stringp info)
info)
((null info)
- (error "Unknown rx form ‘%s’" form))
+ (error "Unknown rx form `%s'" form))
(t
(funcall (nth 0 info) form)))))
((consp form)
(let ((info (rx-info (car form) 'head)))
(unless (consp info)
- (error "Unknown rx form ‘%s’" (car form)))
+ (error "Unknown rx form `%s'" (car form)))
(funcall (nth 0 info) form)))
(t
- (error "rx syntax error at ‘%s’" form))))
+ (error "rx syntax error at `%s'" form))))
;;;###autoload
(let* ((existing (assq major-mode smie-config))
(config
(cond ((null existing)
- (message "Local rules saved in ‘smie-config’")
+ (message "Local rules saved in `smie-config'")
smie-config--buffer-local)
((y-or-n-p "Replace the existing mode's config? ")
- (message "Mode rules replaced in ‘smie-config’")
+ (message "Mode rules replaced in `smie-config'")
smie-config--buffer-local)
((y-or-n-p "Merge with existing mode's config? ")
- (message "Mode rules adjusted in ‘smie-config’")
+ (message "Mode rules adjusted in `smie-config'")
(append smie-config--buffer-local (cdr existing)))
(t (error "Abort")))))
(if existing
(when (> (length binding) 2)
(signal
'error
- (cons "‘let’ bindings can have only one value-form" binding)))
+ (cons "`let' bindings can have only one value-form" binding)))
binding)
(defsubst internal--build-binding-value-form (binding prev-var)
TAG should be a string, with length <= `tabulated-list-padding'.
If ADVANCE is non-nil, move forward by one line afterwards."
(unless (stringp tag)
- (error "Invalid argument to ‘tabulated-list-put-tag’"))
+ (error "Invalid argument to `tabulated-list-put-tag'"))
(unless (> tabulated-list-padding 0)
(error "Unable to tag the current line"))
(save-excursion
(aset testcover-vector idx (cons '1value val)))
((not (and (eq (car-safe (aref testcover-vector idx)) '1value)
(equal (cdr (aref testcover-vector idx)) val)))
- (error "Value of form marked with ‘1value’ does vary: %s" val)))
+ (error "Value of form marked with `1value' does vary: %s" val)))
val)
(apply (timer--function timer) (timer--args timer)))
(error (message "Error running timer%s: %S"
(if (symbolp (timer--function timer))
- (format-message " ‘%s’" (timer--function timer))
+ (format-message " `%s'" (timer--function timer))
"")
err)))
(when (and retrigger
(setq viper-parse-sexp-ignore-comments
(not viper-parse-sexp-ignore-comments))
(princ (format-message
- "From now on, ‘%%’ will %signore parentheses inside comment fields"
+ "From now on, `%%' will %signore parentheses inside comment fields"
(if viper-parse-sexp-ignore-comments "" "NOT "))))
\f
(cond ((or (eq arg 1)
(and (null arg)
(y-or-n-p (format-message
- "Search style: ‘%s’. Want ‘%s’? "
+ "Search style: `%s'. Want `%s'? "
(if viper-case-fold-search
"case-insensitive" "case-sensitive")
(if viper-case-fold-search
((or (eq arg 2)
(and (null arg)
(y-or-n-p (format-message
- "Search style: ‘%s’. Want ‘%s’? "
+ "Search style: `%s'. Want `%s'? "
(if viper-re-search
"regexp-search" "vanilla-search")
(if viper-re-search
(if (or (not (buffer-modified-p buffer))
(y-or-n-p
(format-message
- "Buffer ‘%s’ is modified, are you sure you want to kill it? "
+ "Buffer `%s' is modified, are you sure you want to kill it? "
buffer-name)))
(kill-buffer buffer)
(error "Buffer not killed"))))
reg (substring text (- pos s)))))
(princ
(format-message
- "Textmarker ‘%c’ is in buffer ‘%s’ at line %d.\n"
+ "Textmarker `%c' is in buffer `%s' at line %d.\n"
reg (buffer-name buf) line-no))
(princ (format "Here is some text around %c:\n\n %s"
reg text)))
(defcustom viper-keep-point-on-repeat t
"If t, don't move point when repeating previous command.
-This is useful for doing repeated changes with the ‘.’ key.
+This is useful for doing repeated changes with the `.' key.
The user can change this to nil, if she likes when the cursor moves
to a new place after repeating previous Vi command."
:type 'boolean
(cond
((y-or-n-p
(format-message
- "Map this macro for buffer ‘%s’ only? "
+ "Map this macro for buffer `%s' only? "
(buffer-name)))
(setq msg
(format-message
- "%S is mapped to %s for %s in ‘%s’"
+ "%S is mapped to %s for %s in `%s'"
(viper-display-macro macro-name)
(viper-abbreviate-string
(format
(buffer-name))
((y-or-n-p
(format-message
- "Map this macro for the major mode ‘%S’ only? "
+ "Map this macro for the major mode `%S' only? "
major-mode))
(setq msg
(format-message
- "%S is mapped to %s for %s in ‘%S’"
+ "%S is mapped to %s for %s in `%S'"
(viper-display-macro macro-name)
(viper-abbreviate-string
(format
(let ((codings (find-coding-systems-string (concat variable value))))
(unless (or (eq 'undecided (car codings))
(memq (coding-system-base locale-coding-system) codings))
- (error "Can't encode ‘%s=%s’ with ‘locale-coding-system’"
+ (error "Can't encode `%s=%s' with `locale-coding-system'"
variable (or value "")))))
(and value
substitute-env-vars
(if (and value (multibyte-string-p value))
(setq value (encode-coding-string value locale-coding-system)))
(if (string-match "=" variable)
- (error "Environment variable name ‘%s’ contains ‘=’" variable))
+ (error "Environment variable name `%s' contains `='" variable))
(if (string-equal "TZ" variable)
(set-time-zone-rule value))
(setq process-environment (setenv-internal process-environment
(defun erc-nick-popup (nick)
(let* ((completion-ignore-case t)
(action (completing-read (format-message
- "What action to take on ‘%s’? " nick)
+ "What action to take on `%s'? " nick)
erc-nick-popup-alist))
(code (cdr (assoc action erc-nick-popup-alist))))
(when code
"Return the first matching entry in `erc-dcc-list' which satisfies the
constraints given as a plist in ARGS. Returns nil on no match.
-The property :nick is treated specially, if it contains a ‘!’ character,
+The property :nick is treated specially, if it contains a `!' character,
it is treated as a nick!user@host string, and compared with the :nick property
value of the individual elements using string-equal. Otherwise it is
compared with `erc-nick-equal-p' which is IRC case-insensitive."
(defcustom erc-hide-prompt nil
"If non-nil, do not display the prompt for commands.
-\(A command is any input starting with a ‘/’).
+\(A command is any input starting with a `/').
See also the variables `erc-prompt' and `erc-command-indicator'."
:group 'erc-display
"Indicator used by ERC for showing commands.
If non-nil, this will be used in the ERC buffer to indicate
-commands (i.e., input starting with a ‘/’).
+commands (i.e., input starting with a `/').
If nil, the prompt will be constructed from the variable `erc-prompt'."
:group 'erc-display
(defun erc-cmd-SAY (line)
"Send LINE to the current query or channel as a message, not a command.
-Use this when you want to send a message with a leading ‘/’. Note
+Use this when you want to send a message with a leading `/'. Note
that since multi-line messages are never a command, you don't
need this when pasting multiple lines of text."
(if (string-match "^\\s-*$" line)
(erc-display-message nil 'error (current-buffer)
'cannot-read-file ?f file))
(t
- (message "Loading ‘%s’..." file)
+ (message "Loading `%s'..." file)
(erc-load-script file)
- (message "Loading ‘%s’...done" file))))
+ (message "Loading `%s'...done" file))))
t)
(t nil)))
It serves as a menu to find any of the occurrences in this buffer.
\\[describe-mode] in that buffer will explain how.
-If LINE contains upper case characters (excluding those preceded by ‘\\’),
+If LINE contains upper case characters (excluding those preceded by `\\'),
the matching is case-sensitive."
(occur line)
t)
"Handle the logging in process of connection."
(unless erc-logged-in
(setq erc-logged-in t)
- (message "Logging in as ‘%s’... done" (erc-current-nick))
+ (message "Logging in as `%s'... done" (erc-current-nick))
;; execute a startup script
(let ((f (erc-select-startup-file)))
(when f
. "\n\nConnection failed! Not re-establishing connection.\n")
(finished . "\n\n*** ERC finished ***\n")
(terminated . "\n\n*** ERC terminated: %e\n")
- (login . "Logging in as ‘%n’...")
+ (login . "Logging in as `%n'...")
(nick-in-use . "%n is in use. Choose new nickname: ")
(nick-too-long
. "WARNING: Nick length (%i) exceeds max NICKLEN(%l) defined by server")
eshell-user-names)))))))
(defun eshell/pwd (&rest args)
- "Change output from ‘pwd’ to be cleaner."
+ "Change output from `pwd' to be cleaner."
(let* ((path default-directory)
(len (length path)))
(if (and (> len 1)
(let ((curdir (eshell/pwd)))
(if (string-match path curdir)
(setq path (replace-match subpath nil nil curdir))
- (error "Path substring ‘%s’ not found" path))))
+ (error "Path substring `%s' not found" path))))
((and path (string-match "^-\\([0-9]*\\)$" path))
(let ((index (match-string 1 path)))
(setq path
* .* matches any group of characters (or none)
# * matches zero or more occurrences of preceding
## + matches one or more occurrences of preceding
- (x) \(x\) makes ‘x’ a regular expression group
+ (x) \(x\) makes `x' a regular expression group
| \| boolean OR within an expression group
[a-b] [a-b] matches a character or range
[^a] [^a] excludes a character or range
matched-in-pattern (1+ op-begin))
(let ((xlat (assq op-char eshell-glob-translate-alist)))
(if (not xlat)
- (error "Unrecognized globbing character ‘%c’" op-char)
+ (error "Unrecognized globbing character `%c'" op-char)
(if (stringp (cdr xlat))
(setq regexp (concat regexp (cdr xlat))
matched-in-pattern (1+ op-begin))
glob (car globs)
len (length glob)))))
(if (and recurse-p (not glob))
- (error "‘**’ cannot end a globbing pattern"))
+ (error "`**' cannot end a globbing pattern"))
(let ((index 1))
(setq incl glob)
(while (and (eq incl glob)
***/*~f*(-/) recursively (though not traversing symlinks),
find all directories (or symlinks referring to
directories) whose names do not begin with f.
- e*(*Lk+50) executables 50k or larger beginning with ‘e’")
+ e*(*Lk+50) executables 50k or larger beginning with `e'")
(defvar eshell-modifier-help-string
"Eshell modifier quick reference:
(if (and func (functionp func))
(setq preds (eshell-add-pred-func func preds
negate follow))
- (error "Invalid function predicate ‘%s’"
+ (error "Invalid function predicate `%s'"
(eshell-stringify func))))
(error "Invalid function predicate")))
((eq char ?^)
(cons `(lambda (lst)
(mapcar (function ,func) lst))
mods))
- (error "Invalid function modifier ‘%s’"
+ (error "Invalid function modifier `%s'"
(eshell-stringify func))))
(error "Invalid function modifier")))
((eq char ?:)
(forward-char)
(let ((mod (assq (char-after) eshell-modifier-alist)))
(if (not mod)
- (error "Unknown modifier character ‘%c’" (char-after))
+ (error "Unknown modifier character `%c'" (char-after))
(forward-char)
(setq mods (cons (eval (cdr mod)) mods)))))
(t
(let ((pred (assq char eshell-predicate-alist)))
(if (not pred)
- (error "Unknown predicate character ‘%c’" char)
+ (error "Unknown predicate character `%c'" char)
(forward-char)
(setq preds
(eshell-add-pred-func (eval (cdr pred)) preds
(defcustom eshell-login-script (expand-file-name "login" eshell-directory-name)
"If non-nil, a file to invoke when starting up Eshell interactively.
This file should be a file containing Eshell commands, where comment
-lines begin with ‘#’."
+lines begin with `#'."
:type 'file
:group 'eshell-script)
(defun eshell-source-file (file &optional args subcommand-p)
"Execute a series of Eshell commands in FILE, passing ARGS.
-Comments begin with ‘#’."
+Comments begin with `#'."
(interactive "f")
(let ((orig (point))
(here (point-max))
(concat usage
(format-message "
This command is implemented in Lisp. If an unrecognized option is
-passed to this command, the external version ‘%s’
+passed to this command, the external version `%s'
will be called instead." extcmd)))))
(throw 'eshell-usage usage)))
(require 'ring)
(defgroup eshell-var nil
- "Variable interpolation is introduced whenever the ‘$’ character
+ "Variable interpolation is introduced whenever the `$' character
appears unquoted in any argument (except when that argument is
surrounded by single quotes). It may be used to interpolate a
variable value, a subcommand, or even the result of a Lisp form."
symbol (intern name)))
(setq menu 'facemenu-face-menu)
(setq docstring
- (purecopy (format-message "Select face ‘%s’ for subsequent insertion.
+ (purecopy (format "Select face `%s' for subsequent insertion.
If the mark is active and there is no prefix argument,
-apply face ‘%s’ to the region instead.
-This command was defined by ‘facemenu-add-new-face’."
+apply face `%s' to the region instead.
+This command was defined by `facemenu-add-new-face'."
name name)))
(cond ((facemenu-iterate ; check if equivalent face is already in the menu
(lambda (m) (and (listp m)
This is called whenever you use a new color."
(let (symbol)
(unless (color-defined-p color)
- (error "Color ‘%s’ undefined" color))
+ (error "Color `%s' undefined" color))
(cond ((eq menu 'facemenu-foreground-menu)
(setq symbol (intern (concat "fg:" color))))
((eq menu 'facemenu-background-menu)
(setq symbol (intern (concat "bg:" color))))
- (t (error "MENU should be ‘facemenu-foreground-menu’ or ‘facemenu-background-menu’")))
+ (t (error "MENU should be `facemenu-foreground-menu' or `facemenu-background-menu'")))
(unless (facemenu-iterate ; Check if color is already in the menu.
(lambda (m) (and (listp m)
(eq (car m) symbol)))
(let ((alias (get face 'face-alias)))
(if alias
(let ((doc (get alias 'face-documentation)))
- (format-message "%s is an alias for the face ‘%s’.%s" face alias
+ (format "%s is an alias for the face `%s'.%s" face alias
(if doc (format "\n%s" doc)
"")))
(get face 'face-documentation))))
(setq default (car (split-string default crm-separator t))))
(let ((prompt (if default
- (format-message "%s (default ‘%s’): " prompt default)
+ (format-message "%s (default `%s'): " prompt default)
(format "%s: " prompt)))
aliasfaces nonaliasfaces faces)
;; Build up the completion tables.
(let* ((completion-ignore-case t)
(value (completing-read
(format-message (if default
- "%s for face ‘%s’ (default %s): "
- "%s for face ‘%s’: ")
+ "%s for face `%s' (default %s): "
+ "%s for face `%s': ")
name face default)
completion-alist nil nil nil nil default)))
(if (equal value "") default value)))
If optional argument FRAME is nil or omitted, use the selected frame."
(let ((completion-ignore-case t))
(completing-read (format-message
- "Set font attributes of face ‘%s’ from font: " face)
+ "Set font attributes of face `%s' from font: " face)
(append (fontset-list) (x-list-fonts "*" nil frame)))))
(setq face alias)
(insert
(format-message
- "\n %s is an alias for the face ‘%s’.\n%s"
+ "\n %s is an alias for the face `%s'.\n%s"
f alias
(if (setq obsolete (get f 'obsolete-face))
(format-message
- " This face is obsolete%s; use ‘%s’ instead.\n"
+ " This face is obsolete%s; use `%s' instead.\n"
(if (stringp obsolete)
(format " since %s" obsolete)
"")
(help-xref-button 1 'help-customize-face f)))
(setq file-name (find-lisp-object-file-name f 'defface))
(when file-name
- (princ (substitute-command-keys "Defined in ‘"))
+ (princ (substitute-command-keys "Defined in `"))
(princ (file-name-nondirectory file-name))
- (princ (substitute-command-keys "’"))
+ (princ (substitute-command-keys "'"))
;; Make a hyperlink to the library.
(save-excursion
(re-search-backward
- (substitute-command-keys "‘\\([^‘’]+\\)’") nil t)
+ (substitute-command-keys "`\\([^`']+\\)'") nil t)
(help-xref-button 1 'help-face-def f file-name))
(princ ".")
(terpri)
options))
((eq req 'supports)
(display-supports-face-attributes-p options frame))
- (t (error "Unknown req ‘%S’ with options ‘%S’"
+ (t (error "Unknown req `%S' with options `%S'"
req options)))))
match))
(logand 65535 (nth 0 components))
(logand 65535 (nth 1 components))
(logand 65535 (nth 2 components))))))))
- (when msg (message "Color: ‘%s’" color))
+ (when msg (message "Color: `%s'" color))
color))
(defun face-at-point (&optional thing multiple)
(if (string-match-p "\\*" pattern)
(if (null (face-font face))
(error "No matching fonts are the same height as the frame default font")
- (error "No matching fonts are the same height as face ‘%s’" face))
+ (error "No matching fonts are the same height as face `%s'" face))
(if (null (face-font face))
- (error "Height of font ‘%s’ doesn't match the frame default font"
+ (error "Height of font `%s' doesn't match the frame default font"
pattern)
- (error "Height of font ‘%s’ doesn't match face ‘%s’"
+ (error "Height of font `%s' doesn't match face `%s'"
pattern face)))
- (error "No fonts match ‘%s’" pattern)))
+ (error "No fonts match `%s'" pattern)))
(car fonts))
(cdr (assq 'font (frame-parameters (selected-frame))))))
(unless (let ((case-fold-search t))
(goto-char beg)
(search-forward "Local Variables:" nil t))
- (throw 'exit (message "Can’t add file-local variables"))))
+ (throw 'exit (message "Can't add file-local variables"))))
;; prefix is what comes before "local variables:" in its line.
;; suffix is what comes after "local variables:" in its line.
(put 'user-emacs-directory-warning 'this-session t)
(display-warning 'initialization
(format "\
-Unable to %s ‘user-emacs-directory’ (%s).
+Unable to %s `user-emacs-directory' (%s).
Any data that would normally be written there may be lost!
If you never want to see this message again,
-customize the variable ‘user-emacs-directory-warning’."
+customize the variable `user-emacs-directory-warning'."
errtype user-emacs-directory)))))
bestname))))
(user-error "Aborted"))
(and (buffer-modified-p) buffer-file-name
(not (yes-or-no-p
- (format-message "Kill and replace buffer ‘%s’ without saving it? "
+ (format-message "Kill and replace buffer `%s' without saving it? "
(buffer-name))))
(user-error "Aborted"))
(let ((obuf (current-buffer))
(catch 'nop
(dolist (mode (nreverse modes))
(if (not (functionp mode))
- (message "Ignoring unknown mode ‘%s’" mode)
+ (message "Ignoring unknown mode `%s'" mode)
(setq done t)
(or (set-auto-mode-0 mode keep-mode-if-same)
;; continuing would call minor modes again, toggling them off
(setq mode (hack-local-variables t))
(not (memq mode modes)) ; already tried and failed
(if (not (functionp mode))
- (message "Ignoring unknown mode ‘%s’" mode)
+ (message "Ignoring unknown mode `%s'" mode)
(setq done t)
(set-auto-mode-0 mode keep-mode-if-same)))
;; If we didn't, look for an interpreter specified in the first line.
(display-warning
:warning
(format-message
- "%s: ‘lexical-binding’ at end of file unreliable"
+ "%s: `lexical-binding' at end of file unreliable"
(file-name-nondirectory
(or buffer-file-name ""))))))
(t
var (if since (format " (since %s)" since))
(if (stringp instead)
(substitute-command-keys instead)
- (format-message "use ‘%s’ instead" instead)))))))
+ (format-message "use `%s' instead" instead)))))))
(defun hack-one-local-variable (var val)
"Set local variable VAR with value VAL.
for a class are defined using `dir-locals-set-class-variables'."
(setq directory (file-name-as-directory (expand-file-name directory)))
(unless (assq class dir-locals-class-alist)
- (error "No such class ‘%s’" (symbol-name class)))
+ (error "No such class `%s'" (symbol-name class)))
(push (list directory class mtime) dir-locals-directory-cache))
(defun dir-locals-set-class-variables (class variables)
(listp last-nonmenu-event)
use-dialog-box))
(or (y-or-n-p (format-message
- "File ‘%s’ exists; overwrite? " filename))
+ "File `%s' exists; overwrite? " filename))
(user-error "Canceled")))
(set-visited-file-name filename (not confirm))))
(set-buffer-modified-p t)
;; existing directory.
(error "%s is a directory" filename)
(unless (y-or-n-p (format-message
- "File ‘%s’ exists; overwrite? "
+ "File `%s' exists; overwrite? "
filename))
(error "Canceled"))))
(set-visited-file-name filename)))
(unless (file-exists-p dir)
(if (y-or-n-p
(format-message
- "Directory ‘%s’ does not exist; create? " dir))
+ "Directory `%s' does not exist; create? " dir))
(make-directory dir t)
(error "Canceled")))
(setq setmodes (basic-save-buffer-1))))
(list dir
(if (directory-files dir nil directory-files-no-dot-files-regexp)
(y-or-n-p
- (format-message "Directory ‘%s’ is not empty, really %s? "
+ (format-message "Directory `%s' is not empty, really %s? "
dir (if trashing "trash" "delete")))
nil)
(null current-prefix-arg))))
default-directory default-directory nil nil)
current-prefix-arg t nil)))
(when (file-in-directory-p newname directory)
- (error "Cannot copy ‘%s’ into its subdirectory ‘%s’"
+ (error "Cannot copy `%s' into its subdirectory `%s'"
directory newname))
;; If default-directory is a remote directory, make sure we find its
;; copy-directory handler.
Then you'll be asked about a number of files to recover."
(interactive)
(if (null auto-save-list-file-prefix)
- (error "You set ‘auto-save-list-file-prefix’ to disable making session files"))
+ (error "You set `auto-save-list-file-prefix' to disable making session files"))
(let ((dir (file-name-directory auto-save-list-file-prefix))
(nd (file-name-nondirectory auto-save-list-file-prefix)))
(unless (file-directory-p dir)
(condition-case nil
(save-excursion (recover-file file))
(error
- "Failed to recover ‘%s’" file)))
+ "Failed to recover `%s'" file)))
files
'("file" "files" "recover"))
(message "No files can be recovered from this session now")))
file result)
;; Unix. Access the file to get a suitable error.
(access-file file "Reading directory")
- (error "Listing directory failed but ‘access-file’ worked")))
+ (error "Listing directory failed but `access-file' worked")))
(when (if (stringp switches)
(string-match "--dired\\>" switches)
((= char ?g) #o2070)
((= char ?o) #o1007)
((= char ?a) #o7777)
- (t (error "%c: bad ‘who’ character" char))))
+ (t (error "%c: bad `who' character" char))))
(defun file-modes-char-to-right (char &optional from)
"Convert CHAR to a numeric value of mode bits.
(file-modes-rights-to-number (substring modes (match-end 1))
num-who num-modes)
modes (substring modes (match-end 3))))
- (error "Parse error in modes near ‘%s’" (substring modes 0))))
+ (error "Parse error in modes near `%s'" (substring modes 0))))
num-modes)))
(defun read-file-modes (&optional prompt orig-file)
trash-dir)))
;; We can't trash a parent directory of trash-directory.
(if (string-prefix-p fn trash-dir)
- (error "Trash directory ‘%s’ is a subdirectory of ‘%s’"
+ (error "Trash directory `%s' is a subdirectory of `%s'"
trash-dir filename))
(unless (file-directory-p trash-dir)
(make-directory trash-dir t))
(current-buffer)))
(name (or name
(completing-read
- (format-message "Add ‘%s’ to fileset: " buffer)
+ (format-message "Add `%s' to fileset: " buffer)
filesets-data nil)))
(entry (or (assoc name filesets-data)
(when (y-or-n-p
:test 'filesets-files-equalp)))
(cond
(inlist
- (message "Filesets: ‘%s’ is already in ‘%s’" this name))
+ (message "Filesets: `%s' is already in `%s'" this name))
((and (equal (filesets-entry-mode entry) ':files)
this)
(filesets-entry-set-files entry (cons this files) t)
(filesets-set-config name 'filesets-data filesets-data))
(t
- (message "Filesets: Can't add ‘%s’ to fileset ‘%s’" this name)))))))
+ (message "Filesets: Can't add `%s' to fileset `%s'" this name)))))))
(defun filesets-remove-buffer (&optional name buffer)
"Remove BUFFER (or current buffer) to fileset NAME.
(current-buffer)))
(name (or name
(completing-read
- (format-message "Remove ‘%s’ from fileset: " buffer)
+ (format-message "Remove `%s' from fileset: " buffer)
filesets-data nil t)))
(entry (assoc name filesets-data)))
(if entry
(let ((new (list (cons ':files (delete (car inlist) files)))))
(setcdr entry new)
(filesets-set-config name 'filesets-data filesets-data))
- (message "Filesets: Can't remove ‘%s’ from fileset ‘%s’"
+ (message "Filesets: Can't remove `%s' from fileset `%s'"
this
name))))))
"Filesets: manual editing of user data required!
Filesets has detected that you were using an older version before,
-which requires some manual updating. Type ‘y’ for editing the startup
+which requires some manual updating. Type `y' for editing the startup
file now.
-The layout of ‘filesets-data’ has changed. Please delete your cache file
+The layout of `filesets-data' has changed. Please delete your cache file
and edit your startup file as shown below:
-1. ‘filesets-data’: Edit all :pattern filesets in your startup file and
+1. `filesets-data': Edit all :pattern filesets in your startup file and
transform all entries as shown in this example:
\(\"Test\" (:pattern \"~/dir/^pattern$\"))
--> \(\"Test\" (:pattern \"~/dir/\" \"^pattern$\"))
-2. ‘filesets-data’: Change all occurrences of \":document\" to \":ingroup\":
+2. `filesets-data': Change all occurrences of \":document\" to \":ingroup\":
\(\(\"Test\" \(:document \"~/dir/file\"))
--> \(\(\"Test\" \(:ingroup \"~/dir/file\"))
-3. ‘filesets-subdocument-patterns’: If you already modified the variable
-previously called ‘filesets-subdocument-patterns’, change its name to
-‘filesets-ingroup-patterns’.
+3. `filesets-subdocument-patterns': If you already modified the variable
+previously called `filesets-subdocument-patterns', change its name to
+`filesets-ingroup-patterns'.
-4. ‘filesets-menu-cache-contents’: If you already modified this
-variable, change the entry ‘filesets-subdocument--cache’ to
-‘filesets-ingroup-cache’.
+4. `filesets-menu-cache-contents': If you already modified this
+variable, change the entry `filesets-subdocument--cache' to
+`filesets-ingroup-cache'.
5. Type M-x filesets-update-cleanup and restart Emacs.
If DONT-QUOTE is non-nil, arguments are quoted for passing them to
the shell."
(when (and (numberp argcount) (< (length args) argcount))
- (error "‘%s’ needs at least %d arguments" option argcount))
+ (error "`%s' needs at least %d arguments" option argcount))
(let ((oper (or oper 'find-or)))
(if (and args (length args))
(funcall oper (mapcar (lambda (x)
(find-to-string
(find-generic option oper argcnt (cdr form) dont-quote))))
(t
- (error "Sorry I don't know how to handle ‘%s’" (car form))))))))
+ (error "Sorry I don't know how to handle `%s'" (car form))))))))
(provide 'find-cmd)
(if (locate-library (match-string 1))
(make-text-button (match-beginning 1) (match-end 1)
'xref (match-string-no-properties 1)
- 'help-echo "Read this file’s commentary"
+ 'help-echo "Read this file's commentary"
:type 'finder-xref)))
(goto-char (point-min))
(setq buffer-read-only t)
;; Of course, this function doesn't do all of the above in all situations
;; (e.g. depending on whether jit-lock is in use) and it can't guess what
;; the caller wants.
- (interactive-only "use ‘font-lock-ensure’ or ‘font-lock-flush’ instead."))
+ (interactive-only "use `font-lock-ensure' or `font-lock-flush' instead."))
(interactive "p")
(font-lock-set-defaults)
(let ((font-lock-verbose (or font-lock-verbose interactively)))
(cdr (assq 'default-directory
(buffer-local-variables)))
nil nil (buffer-name))))
- (fmt (format-read (format-message "Write file ‘%s’ in format: "
+ (fmt (format-read (format-message "Write file `%s' in format: "
(file-name-nondirectory file)))))
(list file fmt (not current-prefix-arg))))
(let ((old-formats buffer-file-format)
(interactive
;; Same interactive spec as write-file, plus format question.
(let* ((file (read-file-name "Find file: "))
- (fmt (format-read (format-message "Read file ‘%s’ in format: "
+ (fmt (format-read (format-message "Read file `%s' in format: "
(file-name-nondirectory file)))))
(list file fmt)))
(let ((format-alist nil))
(interactive
;; Same interactive spec as write-file, plus format question.
(let* ((file (read-file-name "Find file: "))
- (fmt (format-read (format-message "Read file ‘%s’ in format: "
+ (fmt (format-read (format-message "Read file `%s' in format: "
(file-name-nondirectory file)))))
(list file fmt)))
(let (value size old-undo)
(frame-terminal f)))
((terminal-live-p device) device)
(t
- (error "Invalid argument %s in ‘get-device-terminal’" device))))
+ (error "Invalid argument %s in `get-device-terminal'" device))))
(defun frames-on-display-list (&optional device)
"Return a list of all frames on DEVICE.
(frame (cdr (assoc name frame-names-alist))))
(if frame
(select-frame-set-input-focus frame)
- (error "There is no frame named ‘%s’" name))))
+ (error "There is no frame named `%s'" name))))
\f
;;;; Background mode.
(and (consp style)
(or (null (car style)) (integerp (car style)))
(or (null (cdr style)) (integerp (cdr style))))
- (error "Invalid fringe style ‘%s’" style)))
+ (error "Invalid fringe style `%s'" style)))
;; For initialization of fringe-mode, take account of changes
;; made explicitly to default-frame-alist.
(kill-all-local-variables)
(erase-buffer)
(widget-insert "Specify your query for Mairix (check boxes for activating fields):\n\n")
- (widget-insert "(Whitespaces will be converted to ‘,’ (i.e. AND). Use ‘/’ for OR.)\n\n")
+ (widget-insert
+ (substitute-command-keys
+ "(Whitespaces will be converted to `,' (i.e. AND). Use `/' for OR.)\n\n"))
; (make-local-variable 'nnmairix-widgets)
(setq nnmairix-widgets (nnmairix-widget-build-editable-fields values))
(when (member 'flags nnmairix-widget-other)
(when remapped
(princ "Its keys are remapped to ")
(princ (if (symbolp remapped)
- (format-message "‘%s’" remapped)
+ (format-message "`%s'" remapped)
"an anonymous command"))
(princ ".\n"))
(insert "\nThis function has a compiler macro")
(if (symbolp handler)
(progn
- (insert (format-message " ‘%s’" handler))
+ (insert (format-message " `%s'" handler))
(save-excursion
- (re-search-backward (substitute-command-keys "‘\\([^‘’]+\\)’")
+ (re-search-backward (substitute-command-keys "`\\([^`']+\\)'")
nil t)
(help-xref-button 1 'help-function handler)))
;; FIXME: Obsolete since 24.4.
(let ((lib (get function 'compiler-macro-file)))
(when (stringp lib)
- (insert (format-message " in ‘%s’" lib))
+ (insert (format-message " in `%s'" lib))
(save-excursion
- (re-search-backward (substitute-command-keys "‘\\([^‘’]+\\)’")
+ (re-search-backward (substitute-command-keys "`\\([^`']+\\)'")
nil t)
(help-xref-button 1 'help-function-cmacro function lib)))))
(insert ".\n"))))
(get function
'derived-mode-parent))))
(when parent-mode
- (insert (substitute-command-keys "\nParent mode: ‘"))
+ (insert (substitute-command-keys "\nParent mode: `"))
(let ((beg (point)))
(insert (format "%s" parent-mode))
(make-text-button beg (point)
'type 'help-function
'help-args (list parent-mode)))
- (insert (substitute-command-keys "’.\n")))))
+ (insert (substitute-command-keys "'.\n")))))
(defun help-fns--obsolete (function)
;; Ignore lambda constructs, keyboard macros, etc.
(when (nth 2 obsolete)
(insert (format " since %s" (nth 2 obsolete))))
(insert (cond ((stringp use) (concat ";\n" use))
- (use (format-message ";\nuse ‘%s’ instead." use))
+ (use (format-message ";\nuse `%s' instead." use))
(t "."))
"\n"))))
(format ";\nin Lisp code %s" interactive-only))
((and (symbolp 'interactive-only)
(not (eq interactive-only t)))
- (format-message ";\nin Lisp code use ‘%s’ instead."
+ (format-message ";\nin Lisp code use `%s' instead."
interactive-only))
(t "."))
"\n")))))
;; Aliases are Lisp functions, so we need to check
;; aliases before functions.
(aliased
- (format-message "an alias for ‘%s’" real-def))
+ (format-message "an alias for `%s'" real-def))
((autoloadp def)
(format "%s autoloaded %s"
(if (commandp def) "an interactive" "an")
(save-excursion
(save-match-data
(when (re-search-backward (substitute-command-keys
- "alias for ‘\\([^‘’]+\\)’")
+ "alias for `\\([^`']+\\)'")
nil t)
(help-xref-button 1 'help-function real-def)))))
(when file-name
;; We used to add .el to the file name,
;; but that's completely wrong when the user used load-file.
- (princ (format-message " in ‘%s’"
+ (princ (format-message " in `%s'"
(if (eq file-name 'C-source)
"C source code"
(help-fns-short-filename file-name))))
;; Make a hyperlink to the library.
(with-current-buffer standard-output
(save-excursion
- (re-search-backward (substitute-command-keys "‘\\([^‘’]+\\)’")
+ (re-search-backward (substitute-command-keys "`\\([^`']+\\)'")
nil t)
(help-xref-button 1 'help-function-def function file-name))))
(princ ".")
(if file-name
(progn
(princ (format-message
- " is a variable defined in ‘%s’.\n"
+ " is a variable defined in `%s'.\n"
(if (eq file-name 'C-source)
"C source code"
(file-name-nondirectory file-name))))
(with-current-buffer standard-output
(save-excursion
(re-search-backward (substitute-command-keys
- "‘\\([^‘’]+\\)’")
+ "`\\([^`']+\\)'")
nil t)
(help-xref-button 1 'help-variable-def
variable file-name)))
(princ "Its ")))
(if valvoid
(princ " is void as a variable.")
- (princ (substitute-command-keys "’s ")))))
+ (princ (substitute-command-keys "'s ")))))
(unless valvoid
(with-current-buffer standard-output
(setq val-start-pos (point))
(unless (eq alias variable)
(setq extra-line t)
(princ (format-message
- " This variable is an alias for ‘%s’.\n"
+ " This variable is an alias for `%s'.\n"
alias)))
(when obsolete
(if (nth 2 obsolete)
(princ (format " since %s" (nth 2 obsolete))))
(princ (cond ((stringp use) (concat ";\n " use))
- (use (format-message ";\n use ‘%s’ instead."
+ (use (format-message ";\n use `%s' instead."
(car obsolete)))
(t ".")))
(terpri))
dir-file nil)))
(princ (substitute-command-keys
(if dir-file
- "by the file\n ‘"
- "for the directory\n ‘")))
+ "by the file\n `"
+ "for the directory\n `")))
(with-current-buffer standard-output
(insert-text-button
file 'type 'help-dir-local-var-def
'help-args (list variable file)))
- (princ (substitute-command-keys "’.\n"))))
+ (princ (substitute-command-keys "'.\n"))))
(princ (substitute-command-keys
" This variable's value is file-local.\n"))))
(when (assq variable safe-local-variable-values)
(princ (substitute-command-keys
" However, you have added it to \
-‘safe-local-variable-values’.\n"))))
+`safe-local-variable-values'.\n"))))
(when safe-var
(setq extra-line t)
(princ "if its value\n satisfies the predicate ")
(princ (if (byte-code-function-p safe-var)
"which is a byte-compiled expression.\n"
- (format-message "‘%s’.\n" safe-var))))
+ (format-message "`%s'.\n" safe-var))))
(if extra-line (terpri))
(princ "Documentation:\n")
(let* ((mode major-mode)
(file-name (find-lisp-object-file-name mode nil)))
(when file-name
- (princ (format-message " defined in ‘%s’"
+ (princ (format-message " defined in `%s'"
(file-name-nondirectory file-name)))
;; Make a hyperlink to the library.
(with-current-buffer standard-output
(save-excursion
- (re-search-backward (substitute-command-keys "‘\\([^‘’]+\\)’")
+ (re-search-backward (substitute-command-keys "`\\([^`']+\\)'")
nil t)
(help-xref-button 1 'help-function-def mode file-name)))))
(princ ":\n")
(let ((minor-mode (lookup-minor-mode-from-indicator indicator)))
(if minor-mode
(describe-minor-mode-from-symbol minor-mode)
- (error "Cannot find minor mode for ‘%s’" indicator))))
+ (error "Cannot find minor mode for `%s'" indicator))))
(defun lookup-minor-mode-from-indicator (indicator)
"Return a minor mode symbol from its indicator on the mode line."
\f
(defun help--docstring-quote (string)
"Return a doc string that represents STRING.
-The result, when formatted by ‘substitute-command-keys’, should equal STRING."
+The result, when formatted by `substitute-command-keys', should equal STRING."
(replace-regexp-in-string "['\\`‘’]" "\\\\=\\&" string))
;; The following functions used to be in help-fns.el, which is not preloaded.
:type '(string))
(defcustom hfy-src-doc-link-style "text-decoration: underline;"
- "String to add to the ‘<style> a’ variant of an htmlfontify CSS class."
+ "String to add to the `<style> a' variant of an htmlfontify CSS class."
:group 'htmlfontify
:tag "src-doc-link-style"
:type '(string))
(defcustom hfy-src-doc-link-unstyle " text-decoration: none;"
- "Regex to remove from the ‘<style> a’ variant of an htmlfontify CSS class."
+ "Regex to remove from the `<style> a' variant of an htmlfontify CSS class."
:group 'htmlfontify
:tag "src-doc-link-unstyle"
:type '(string))
(defun ibuffer (&optional other-window-p name qualifiers noselect
shrink filter-groups formats)
"Begin using Ibuffer to edit a list of buffers.
-Type ‘h’ after entering ibuffer for more information.
+Type `h' after entering ibuffer for more information.
All arguments are optional.
OTHER-WINDOW-P says to use another window.
'("\\` ")
"List of regexps or functions matching buffer names to ignore.
For example, traditional behavior is not to list buffers whose names begin
-with a space, for which the regexp is ‘\\\\=` ’. See the source file for
+with a space, for which the regexp is `\\\\=` '. See the source file for
example functions that filter buffer names."
:type '(repeat (choice regexp function))
:group 'ido)
'("\\`CVS/" "\\`#" "\\`.#" "\\`\\.\\./" "\\`\\./")
"List of regexps or functions matching file names to ignore.
For example, traditional behavior is not to list files whose names begin
-with a #, for which the regexp is ‘\\\\=`#’. See the source file for
+with a #, for which the regexp is `\\\\=`#'. See the source file for
example functions that filter filenames."
:type '(repeat (choice regexp function))
:group 'ido)
use its file extension as image type.
Optional DATA-P non-nil means SOURCE is a string containing image data."
(when (and (not data-p) (not (stringp source)))
- (error "Invalid image file name ‘%s’" source))
+ (error "Invalid image file name `%s'" source))
(unless type
(setq type (if data-p
(image-type-from-data source)
(image-type-from-file-name source))))
(or type (error "Cannot determine image type")))
(or (memq type (and (boundp 'image-types) image-types))
- (error "Invalid image type ‘%s’" type))
+ (error "Invalid image type `%s'" type))
type)
(when (equal (car (nth 0 nodeinfo)) (or filename Info-current-file))
(insert
(format "* %-20s %s.\n"
- (format-message "*Index for ‘%s’*::" (cdr (nth 0 nodeinfo)))
+ (format "*Index for ‘%s’*::" (cdr (nth 0 nodeinfo)))
(cdr (nth 0 nodeinfo)))))))))
(defun Info-virtual-index (topic)
(Info-goto-node orignode)
(message "")))
(Info-find-node Info-current-file
- (format-message "*Index for ‘%s’*" topic))))
+ (format "*Index for ‘%s’*" topic))))
\f
(add-to-list 'Info-virtual-files
'("\\`\\*Apropos\\*\\'"
(setq nodes (cdr nodes)))
(if nodes
(Info-find-node Info-apropos-file (car (car nodes)))
- (setq nodename (format-message "Index for ‘%s’" string))
+ (setq nodename (format "Index for ‘%s’" string))
(push (list nodename string (Info-apropos-matches string))
Info-apropos-nodes)
(Info-find-node Info-apropos-file nodename)))))
(let ((len (length ccl-code))
(buffer-mag (aref ccl-code 0)))
(cond ((= buffer-mag 0)
- (insert (substitute-command-keys
- "Don’t output anything.\n")))
+ (insert (substitute-command-keys "Don't output anything.\n")))
((= buffer-mag 1)
(insert "Out-buffer must be as large as in-buffer.\n"))
(t
(condition-case nil
(setq ascii-font (x-resolve-font-name pattern))
(error
- (message "Warning: no fonts matching ‘%s’ available" pattern)
+ (message "Warning: no fonts matching `%s' available" pattern)
(aset xlfd-fields index "*")
(setq index (1+ index))))))
(unless ascii-font
\(prefer-coding-system \\='utf-8)"
(interactive "zPrefer coding system: ")
(if (not (and coding-system (coding-system-p coding-system)))
- (error "Invalid coding system ‘%s’" coding-system))
+ (error "Invalid coding system `%s'" coding-system))
(if (memq (coding-system-type coding-system) '(raw-text undecided))
- (error "Can't prefer the coding system ‘%s’" coding-system))
+ (error "Can't prefer the coding system `%s'" coding-system))
(let ((base (coding-system-base coding-system))
(eol-type (coding-system-eol-type coding-system)))
(set-coding-system-priority base)
(set-default-coding-systems base)
(if (called-interactively-p 'interactive)
(or (eq base default-file-name-coding-system)
- (message "The default value of ‘file-name-coding-system’ was not changed because the specified coding system is not suitable for file names.")))))
+ (message "The default value of `file-name-coding-system' was not changed because the specified coding system is not suitable for file names.")))))
(defvar sort-coding-systems-predicate nil
"If non-nil, a predicate function to sort coding systems.
(insert "No default coding systems to try for "
(if (stringp from)
(format "string \"%s\"." from)
- (format-message "buffer ‘%s’." bufname)))
+ (format-message "buffer `%s'." bufname)))
(insert
"These default coding systems were tried to encode"
(if (stringp from)
(concat " \"" (if (> (length from) 10)
(concat (substring from 0 10) "...\"")
(concat from "\"")))
- (format-message " text\nin the buffer ‘%s’" bufname))
+ (format-message " text\nin the buffer `%s'" bufname))
":\n")
(let ((pos (point))
(fill-prefix " "))
(setq auto-cs (car auto-cs))
(display-warning
'mule
- (format "\
-Invalid coding system ‘%s’ is specified
+ (format-message "\
+Invalid coding system `%s' is specified
for the current buffer/file by the %s.
It is highly recommended to fix it before writing to a file."
(car auto-cs)
(if (eq (cdr auto-cs) :coding) ":coding tag"
- (format-message "variable ‘%s’" (cdr auto-cs))))
+ (format-message "variable `%s'" (cdr auto-cs))))
:warning)
(or (yes-or-no-p "Really proceed with writing? ")
(error "Save aborted"))
(unless (or current-input-method (null input-method))
(let ((slot (assoc input-method input-method-alist)))
(if (null slot)
- (error "Can't activate input method ‘%s’" input-method))
+ (error "Can't activate input method `%s'" input-method))
(setq current-input-method-title nil)
(let ((func (nth 2 slot)))
(if (functionp func)
(progn
(require (cdr func))
(apply (car func) input-method (nthcdr 5 slot)))
- (error "Can't activate input method ‘%s’" input-method))))
+ (error "Can't activate input method `%s'" input-method))))
(setq current-input-method input-method)
(or (stringp current-input-method-title)
(setq current-input-method-title (nth 3 slot)))
(interactive "P\np")
(if toggle-input-method-active
- (error "Recursive use of ‘toggle-input-method’"))
+ (error "Recursive use of `toggle-input-method'"))
(if (and current-input-method (not arg))
(deactivate-input-method)
(let ((toggle-input-method-active t)
(with-output-to-temp-buffer (help-buffer)
(let ((elt (assoc input-method input-method-alist)))
(princ (format-message
- "Input method: %s (‘%s’ in mode line) for %s\n %s\n"
+ "Input method: %s (`%s' in mode line) for %s\n %s\n"
input-method (nth 3 elt) (nth 1 elt) (nth 4 elt))))))))))
(defun describe-current-input-method ()
(if (and (symbolp describe-current-input-method-function)
(fboundp describe-current-input-method-function))
(funcall describe-current-input-method-function)
- (message "No way to describe the current input method ‘%s’"
+ (message "No way to describe the current input method `%s'"
current-input-method)
(ding))
(error "No input method is activated now")))
(search-backward (symbol-name (car l)))
(help-xref-button 0 'help-coding-system (car l))
(goto-char (point-max))
- (insert " (‘"
+ (insert (substitute-command-keys " (`")
(coding-system-mnemonic (car l))
- "’ in mode line):\n\t"
+ (substitute-command-keys "' in mode line):\n\t")
(substitute-command-keys
(coding-system-doc-string (car l)))
"\n")
(dolist (script '(devanagari sanskrit bengali tamil telugu assamese
oriya kannada malayalam gujarati punjabi))
(define-charset (intern (format "%s-cdac" script))
- (format-message
- "Glyphs of %s script for CDAC font. Subset of ‘indian-glyph’."
+ (format
+ "Glyphs of %s script for CDAC font. Subset of `indian-glyph'."
(capitalize (symbol-name script)))
:short-name (format "CDAC %s glyphs" (capitalize (symbol-name script)))
:supplementary-p t
(dolist (script '(devanagari bengali punjabi gujarati
oriya tamil telugu kannada malayalam))
(define-charset (intern (format "%s-akruti" script))
- (format-message
- "Glyphs of %s script for AKRUTI font. Subset of ‘indian-glyph’."
+ (format
+ "Glyphs of %s script for AKRUTI font. Subset of `indian-glyph'."
(capitalize (symbol-name script)))
:short-name (format "AKRUTI %s glyphs" (capitalize (symbol-name script)))
:supplementary-p t
(let ((char (charset-iso-final-char charset)))
(when (> char 0)
(insert "Final char of ISO2022 designation sequence: ")
- (insert (format-message "‘%c’\n" char))))
+ (insert (format-message "`%c'\n" char))))
(let (aliases)
(dolist (c charset-list)
(if (and (not (eq c charset))
(save-excursion
(goto-char (point-min))
(while (re-search-forward
- "^ \\([^ ]+\\) (‘.*’ in mode line)$" nil t)
+ (substitute-command-keys "^ \\([^ ]+\\) (`.*' in mode line)$")
+ nil t)
(help-xref-button 1 'help-input-method (match-string 1)))))))
(defun list-input-methods-1 ()
(princ "
No input method is available, perhaps because you have not
installed LEIM (Libraries of Emacs Input Methods).")
- (princ "LANGUAGE\n NAME (‘TITLE’ in mode line)\n")
+ (princ (substitute-command-keys
+ "LANGUAGE\n NAME (`TITLE' in mode line)\n"))
(princ " SHORT-DESCRIPTION\n------------------------------\n")
(setq input-method-alist
(sort input-method-alist
(princ language)
(terpri))
(princ (format-message
- " %s (‘%s’ in mode line)\n %s\n"
+ " %s (`%s' in mode line)\n %s\n"
(car elt)
(let ((title (nth 3 elt)))
(if (and (consp title) (stringp (car title)))
(defun json-read-string ()
"Read the JSON string at point."
(unless (char-equal (json-peek) ?\")
- (signal 'json-string-format (list "doesn’t start with ‘\"’!")))
+ (signal 'json-string-format (list "doesn't start with `\"'!")))
;; Skip over the '"'
(json-advance)
(let ((characters '())
(defun kermit-clean-on ()
"Delete all null characters and ^M's from the kermit output.
Note that another (perhaps better) way to do this is to use the
-command ‘kermit | tr -d '\\015'’."
+command `kermit | tr -d \\='\\015\\=''."
(interactive)
(set-process-filter (get-buffer-process (current-buffer))
'kermit-clean-filter))
"ЯВЕРТЫ Roman transcription
This layout is based on Roman transcription by phonemic resemblance.
-When preceded by a ‘/’, the second and the third rows (number key row) change
+When preceded by a `/', the second and the third rows (number key row) change
as follows.
keytop | Q W E R T Y U I O P A S D
This phonetic layout replaces all the Latin letters with Bulgarian
\(Cyrillic) letters based on similarities in their pronunciation or look.
-Note that, since the letters ‘щ’, ‘ь’, ‘ю’ and ‘я’ are attached to the
-‘]’, ‘\’, ‘\\=`’ and ‘[’ keys respectively, Caps Lock does not affect them."
+Note that, since the letters `щ', `ь', `ю' and `я' are attached to the
+`]', `\', `\\=`' and `[' keys respectively, Caps Lock does not affect them."
nil t t t t nil nil nil nil nil t)
;; Ю 1! 2@ 3№ 4$ 5% 6€ 7§ 8* 9( 0) -– =+ ьѝ
Based on SI-1452 keyboard layout.
Only Hebrew-related characters are considered.
- ‘q’ is used to switch levels instead of Alt-Gr.
- Maqaaf (־) is mapped to ‘/פ’.
+ `q' is used to switch levels instead of Alt-Gr.
+ Maqaaf (־) is mapped to `/פ'.
" nil t t t t nil nil nil nil nil t)
(quail-define-rules
Based on latest draft of SI-1452 keyboard layout.
Only Hebrew-related characters are considered.
- ‘\\=`’ is used to switch levels instead of Alt-Gr.
-Geresh is mapped to ‘\\=`k’.
+ `\\=`' is used to switch levels instead of Alt-Gr.
+Geresh is mapped to `\\=`k'.
" nil t t t t nil nil nil nil nil t)
(quail-define-rules
Based on Society of Biblical Literature's Tiro keyboard layout.
Not suitable for modern Hebrew input.
- ‘q’ is used to switch levels instead of Alt-Gr.
- Combining dot above (Called Masora dot) (̇) is mapped to ‘q1’.
+ `q' is used to switch levels instead of Alt-Gr.
+ Combining dot above (Called Masora dot) (̇) is mapped to `q1'.
" nil t t t t nil nil nil nil nil t)
(quail-define-rules
Based on Society of Biblical Literature's SIL keyboard layout.
Phonetic and not suitable for modern Hebrew input.
- ‘\\=`’ is used to switch levels instead of Alt-Gr.
- Euro Sign (€) is mapped to ‘Z’.
+ `\\=`' is used to switch levels instead of Alt-Gr.
+ Euro Sign (€) is mapped to `Z'.
" nil t t t t nil nil nil nil nil t)
(quail-define-rules
"Thai Kesmanee input method with TIS620 keyboard layout
The difference from the ordinal Thai keyboard:
- ‘฿’ and ‘๏’ are assigned to ‘\\’ and ‘|’ respectively,
- ‘ฃ’ and ‘ฅ’ are assigned to ‘\\=`’ and ‘~’ respectively,
- Don't know where to assign characters ‘๚’ and ‘๛’."
+ `฿' and `๏' are assigned to `\\' and `|' respectively,
+ `ฃ' and `ฅ' are assigned to `\\=`' and `~' respectively,
+ Don't know where to assign characters `๚' and `๛'."
nil t t t t nil nil nil nil nil t)
(thai-generate-quail-map
and to get da-drag in -r-d, -l-d .)
| : Special signs.
- Tsheg is assigned to SPC. Space is assigned to period ‘.’.
+ Tsheg is assigned to SPC. Space is assigned to period `.'.
"
nil nil nil nil nil nil nil nil
'quail-tibetan-update-translation)
+---------------------------------------------+
|zཞ|xཟ|cའ|vཡ|bར|nལ|mཤ|,ས|.ཧ|/ཨ|
+---------------------------------------+
- The key ‘h’ is used for consonant stacking.
+ The key `h' is used for consonant stacking.
[SHIFTED]
DIFFERENCE FROM THE ORIGINAL TIBKEY:
- 1. Vowel ‘a’ should be typed explicitly by the key ‘A’.
+ 1. Vowel `a' should be typed explicitly by the key `A'.
This is really inconvenient. But to make the coding
scheme clear, it is desirable to have an explicit
- vowel sign for ‘a’.
+ vowel sign for `a'.
2. Tsheg is assigned to SPC key. You can input a space
- by typing ‘>’.
+ by typing `>'.
4. To avoid the default stacking and to obtain གཡ,
- type ‘E’ instead of ‘v’ (=ཡ).
+ type `E' instead of `v' (=ཡ).
3. There are many characters that are not supported in the
current implementation (especially special signs).
I hope I'll complete in a future revision.
If nil, the prepped message will be shown, for confirmation or
otherwise, in some window in the current frame without resizing
anything. That may or may not display enough of the message to
-distinguish it from others. If set to the symbol ‘queued’, take
+distinguish it from others. If set to the symbol `queued', take
this action only when running the queue. If set to the symbol
-‘immediate’, take this action only when sending immediately. For
+`immediate', take this action only when sending immediately. For
any other non-nil value, take the action in both cases. Even if
you're not confirming the sending of immediate or queued messages,
it can still be interesting to see a lot about them as they are
appropriate address headers in the message. Generally, they will show
up in the list of deduced addresses in the order that the headers
happen to appear (duplicate addresses are eliminated in any case).
-This variable can be set to the symbol ‘first’, in which case the
+This variable can be set to the symbol `first', in which case the
Bcc:/Resent-Bcc: addresses will appear at the beginning in the list;
-or, it can be set to the symbol ‘last’, in which case they will appear
+or, it can be set to the symbol `last', in which case they will appear
at the end of the list.
Why should you care? Well, maybe you don't, and certainly the same
seeing the message again. Some configurations of sendmail, for example,
seem to try to deliver to each addressee at least once, immediately
and serially, so slow SMTP conversations can add up to a delay. There
-is an option for either ‘first’ or ‘last’ because you might have a
+is an option for either `first' or `last' because you might have a
delivery agent that processes the addresses backwards."
:group 'feedmail-headers
:type '(choice (const nil)
;; the handler for the condition-case
(error (setq messages-skipped (1+ messages-skipped))
(ding t)
- (message "FQM: Trapped ‘%s’, message left in queue." (car signal-stuff))
+ (message "FQM: Trapped `%s', message left in queue." (car signal-stuff))
(sit-for 3)
(message "FQM: Trap details: \"%s\""
(mapconcat 'identity (cdr signal-stuff) "\" \""))
;; describes 'mailto:'
(defconst rfc2368-mailto-scheme-index 1
- "Describes the ‘mailto:’ portion of the url.")
+ "Describes the `mailto:' portion of the url.")
;; i'm going to call this part the 'prequery'
(defconst rfc2368-mailto-prequery-index 2
- "Describes the portion of the url between ‘mailto:’ and ‘?’.")
+ "Describes the portion of the url between `mailto:' and `?'.")
;; i'm going to call this part the 'query'
(defconst rfc2368-mailto-query-index 4
- "Describes the portion of the url after ‘?’.")
+ "Describes the portion of the url after `?'.")
(defun rfc2368-unhexify-string (string)
- "Unhexify STRING -- e.g. ‘hello%20there’ -> ‘hello there’."
+ "Unhexify STRING -- e.g. `hello%20there' -> `hello there'."
(replace-regexp-in-string "%[[:xdigit:]]\\{2\\}"
(lambda (match)
(string (string-to-number (substring match 1)
Default is \"replgroupcomps\".
This file is used to form replies to the sender and all recipients of
-a message. Only used if ‘(mh-variant-p 'nmh)’ is non-nil.
+a message. Only used if (mh-variant-p \\='nmh) is non-nil.
If not an absolute file name, the file is searched for first in the
user's MH directory, then in the system MH lib directory.")
This option is consulted when a prefix argument is used with
\\[mh-sort-folder]. Normally default arguments to \"sortm\" are
specified in the MH profile. This option may be used to provide
-an alternate view. For example, ‘(\"-nolimit\" \"-textfield\"
-\"subject\")’ is a useful setting."
+an alternate view. For example, (\"-nolimit\" \"-textfield\"
+\"subject\") is a useful setting."
:type '(repeat string)
:group 'mh-folder
:package-version '(MH-E . "8.0"))
"Read and return a sequence name.
Prompt with PROMPT, raise an error if the sequence is empty and
the NOT-EMPTY flag is non-nil, and supply an optional DEFAULT
-sequence. A reply of ‘%’ defaults to the first sequence
+sequence. A reply of `%' defaults to the first sequence
containing the current message."
(let* ((input (completing-read (format "%s sequence%s: " prompt
(if default
"Parse LINE to generate folder name, unseen messages and total messages.
If CURRENT-FOLDER is non-nil then it contains the current folder
name and it is used to avoid problems in corner cases involving
-folders whose names end with a ‘+’ character."
+folders whose names end with a `+' character."
(with-temp-buffer
(insert line)
(goto-char (point-max))
return-nil-if-folder-empty)
"Normalizes FOLDER name.
-Makes sure that two ‘/’ characters never occur next to each
-other. Also all occurrences of ‘..’ and ‘.’ are suitably
+Makes sure that two `/' characters never occur next to each
+other. Also all occurrences of `..' and `.' are suitably
processed. So \"+inbox/../news\" will be normalized to \"+news\".
-If optional argument EMPTY-STRING-OKAY is nil then a ‘+’ is added
+If optional argument EMPTY-STRING-OKAY is nil then a `+' is added
at the front if FOLDER lacks one. If non-nil and FOLDER is the
empty string then nothing is added.
If optional argument DONT-REMOVE-TRAILING-SLASH is non-nil then a
-trailing ‘/’ if present is retained (if present), otherwise it is
+trailing `/' if present is retained (if present), otherwise it is
removed.
If optional argument RETURN-NIL-IF-FOLDER-EMPTY is non-nil, then
return nil if FOLDER is \"\" or \"+\". This is useful when
-normalizing the folder for the ‘folders’ command which displays
+normalizing the folder for the `folders' command which displays
the directories in / if passed \"+\". This is usually not
desired. If this argument is non-nil, then EMPTY-STRING-OKAY has
no effect."
(describe-minor-mode-completion-table-for-indicator))))
(let* ((minor-mode (lookup-minor-mode-from-indicator indicator))
(mm-fun (or (get minor-mode :minor-mode-function) minor-mode)))
- (unless minor-mode (error "Cannot find minor mode for ‘%s’" indicator))
+ (unless minor-mode (error "Cannot find minor mode for `%s'" indicator))
(let* ((map (cdr-safe (assq minor-mode minor-mode-map-alist)))
(menu (and (keymapp map) (lookup-key map [menu-bar]))))
(setq menu
(completing-read "Rename playlist: "
(mpc-cmd-list 'Playlist)
nil 'require-match)))
- (newname (read-string (format-message "Rename ‘%s’ to: " oldname))))
+ (newname (read-string (format-message "Rename `%s' to: " oldname))))
(if (zerop (length newname))
(error "Aborted")
(list oldname newname))))
(error (unless msb--error
(setq msb--error
(format-message
- "In msb-menu-cond, error for buffer ‘%s’."
+ "In msb-menu-cond, error for buffer `%s'."
(buffer-name buffer)))
(error "%s" msb--error))))))
(format "%s %s \"%s\"" ; remsh -l USER does not work well
; on a hp-ux machine I tried
remote-shell-program host command))
- (ange-ftp-message "Remote command ‘%s’ ..." command)
+ (ange-ftp-message "Remote command `%s' ..." command)
;; Cannot call ange-ftp-real-dired-run-shell-command here as it
;; would prepend "cd default-directory" --- which bombs because
;; default-directory is in ange-ftp syntax for remote file names.
(defcustom ange-ftp-bs2000-special-prefix
"X"
- "Prefix used for filenames starting with ‘#’ or ‘@’."
+ "Prefix used for filenames starting with `#' or `@'."
:group 'ange-ftp
:type 'string)
(setq user (or imap-username
(read-from-minibuffer
(format-message
- "imap: username for %s (using stream ‘%s’): "
+ "imap: username for %s (using stream `%s'): "
imap-server imap-stream)
(or user imap-default-user))))
(setq passwd
(or imap-password
(read-passwd
(format-message
- "imap: password for %s@%s (using authenticator ‘%s’): "
+ "imap: password for %s@%s (using authenticator `%s'): "
user imap-server imap-auth))))
(when (and user passwd)
(if (funcall loginfunc user passwd)
(concat "\n\n" (make-string 65 ?=)
"\nYou can now customize your saved Mairix searches by modifying\n\
the variable mairix-saved-searches. Don't forget to save your\nchanges \
-in your .emacs by pressing ‘Save for Future Sessions’.\n"
+in your .emacs by pressing `Save for Future Sessions'.\n"
(make-string 65 ?=) "\n")))
(autoload 'mail-strip-quoted-names "mail-utils")
" ^substring= to match the substring at the beginning of a word.\n"))
(widget-insert
(format-message
- "Whitespace will be converted to ‘,’ (i.e. AND). Use ‘/’ for OR.\n\n"))
+ "Whitespace will be converted to `,' (i.e. AND). Use `/' for OR.\n\n"))
(setq mairix-widgets (mairix-widget-build-editable-fields values))
(when (member 'flags mairix-widget-other)
(widget-insert "\nFlags:\n Seen: ")
newsticker--error-headline
(format-message
(concat "%s: Newsticker could not retrieve news from %s.\n"
- "Return status: ‘%s’\n"
- "Command was ‘%s’")
+ "Return status: `%s'\n"
+ "Command was `%s'")
(format-time-string "%A, %H:%M")
feed-name event command)
""
(file-exists-p newsticker-groups-filename)
(y-or-n-p
(format-message
- (concat "Obsolete variable ‘newsticker-groups-filename’ "
+ (concat "Obsolete variable `newsticker-groups-filename' "
"points to existing file \"%s\".\n"
"Read it? ")
newsticker-groups-filename))
(file-exists-p newsticker-groups-filename)
(y-or-n-p (format-message
(concat "Delete the file \"%s\",\nto which the obsolete "
- "variable ‘newsticker-groups-filename’ points ? ")
+ "variable `newsticker-groups-filename' points ? ")
newsticker-groups-filename))
(delete-file newsticker-groups-filename))
(when buf
(defun rcirc-complete ()
"Cycle through completions from list of nicks in channel or IRC commands.
-IRC command completion is performed only if ‘/’ is the first input char."
+IRC command completion is performed only if `/' is the first input char."
(interactive)
(unless (rcirc-looking-at-input)
(error "Point not located after rcirc prompt"))
variable."
(interactive (list
(read-from-minibuffer (format-message
- "Arguments for ‘%s’ (hostname first): "
+ "Arguments for `%s' (hostname first): "
(file-name-nondirectory rlogin-program))
nil nil nil 'rlogin-history)
current-prefix-arg))
(and iswitchb-prompt-newbuffer
(y-or-n-p
(format-message
- "No buffer matching ‘%s’, create one? "
+ "No buffer matching `%s', create one? "
buf)))))
;; then create a new buffer
(progn
(move-to-column (+ landmark-x-offset (* landmark-square-width (1- x)))))
(defun landmark-plot-square (square value)
- "Draw ‘X’, ‘O’ or ‘.’ on SQUARE depending on VALUE, leave point there."
+ "Draw `X', `O' or `.' on SQUARE depending on VALUE, leave point there."
(or (= value 1)
(landmark-goto-square square))
(let ((inhibit-read-only t))
(forward-line (1- todo-previous-line))
(let ((item (todo-item-string-start)))
(setq todo-previous-answer
- (y-or-n-p (format-message "More important than ‘%s’? " item)))))
+ (y-or-n-p (format-message "More important than `%s'? " item)))))
todo-previous-answer)
(defalias 'todo-ask-p 'todo-more-important-p)
(insert-file-contents output-file-name)))
(set-buffer errors-buffer)
(if (memq status '(stop signal))
- (error "%s exited abnormally: ‘%s’" program exit-status))
+ (error "%s exited abnormally: `%s'" program exit-status))
(if (= 127 exit-status)
(error "%s could not be found" program))))
(if passphrase-with-newline
(pgg-convert-lbt-region (point-min)(point-max) 'LF)
(if (memq status '(stop signal))
- (error "%s exited abnormally: ‘%s’" program exit-status))
+ (error "%s exited abnormally: `%s'" program exit-status))
(if (= 127 exit-status)
(error "%s could not be found" program))
(pgg-convert-lbt-region (point-min)(point-max) 'LF)
(if (memq status '(stop signal))
- (error "%s exited abnormally: ‘%s’" program exit-status))
+ (error "%s exited abnormally: `%s'" program exit-status))
(if (= 127 exit-status)
(error "%s could not be found" program))
(set-frame-width (selected-frame) width))
(defun tpu-toggle-newline-and-indent nil
- "Toggle between ‘newline and indent’ and ‘simple newline’."
+ "Toggle between `newline-and-indent' and simple `newline'."
(interactive)
(cond (tpu-newline-and-indent-p
(setq tpu-newline-and-indent-string "")
(if tpu-regexp-p "en" "dis"))))
(defun tpu-regexp-prompt (prompt)
- "Read a string, adding ‘RE ’ to the prompt if tpu-regexp-p is set."
+ "Read a string, adding `RE ' to the prompt if tpu-regexp-p is set."
(let ((re-prompt (concat (if tpu-regexp-p "RE ") prompt)))
(read-from-minibuffer re-prompt nil nil nil 'tpu-regexp-prompt-hist)))
(defun vi-goto-mark (mark-char &optional line-flag)
"Go to marked position or line (if line-flag is given).
-Goto mark ‘@’ means jump into and pop the top mark on the mark ring."
+Goto mark `@' means jump into and pop the top mark on the mark ring."
(cond ((char-equal mark-char last-command-event) ; `` or ''
(exchange-point-and-mark) (if line-flag (back-to-indentation)))
((char-equal mark-char ?@) ; jump and pop mark
(if point
;; taken from `org-open-at-point'
(progn (org-mark-ring-push) (goto-char point) (org-show-context))
- (message "source-code block ‘%s’ not found in this buffer" name))))
+ (message "source-code block `%s' not found in this buffer" name))))
(defun org-babel-find-named-block (name)
"Find a named source-code block.
(if point
;; taken from `org-open-at-point'
(progn (goto-char point) (org-show-context))
- (message "result ‘%s’ not found in this buffer" name))))
+ (message "result `%s' not found in this buffer" name))))
(defun org-babel-find-named-result (name &optional point)
"Find a named result.
"Make true to capitalize begin/end example markers inserted by code blocks.")
(defun org-babel-examplize-region (beg end &optional results-switches)
- "Comment out region using the inline ‘==’ or ‘: ’ org example quote."
+ "Comment out region using the inline `==' or `: ' org example quote."
(interactive "*r")
(let ((chars-between (lambda (b e)
(not (string-match "^[\\s]*$" (buffer-substring b e)))))
"Wrap body in a \"program ... end program\" block if none exists."
(if (string-match "^[ \t]*program[ \t]*.*" (capitalize body))
(let ((vars (mapcar #'cdr (org-babel-get-header params :var))))
- (if vars (error "Cannot use :vars if ‘program’ statement is present"))
+ (if vars (error "Cannot use :vars if `program' statement is present"))
body)
(format "program main\n%s\nend program main\n" body)))
:type 'string)
(defcustom org-babel-python-None-to 'hline
- "Replace ‘None’ in python tables with this before returning."
+ "Replace `None' in python tables with this before returning."
:group 'org-babel
:version "24.4"
:package-version '(Org . "8.0")
;; buffer (marker-buffer id-loc)
;; loc (marker-position id-loc))
;; (move-marker id-loc nil)
- (error "Reference ‘%s’ not found in this buffer" ref))
+ (error "Reference `%s' not found in this buffer" ref))
(cond
(lob-info (setq type 'lob))
(id (setq type 'id))
If the session is unnamed (nil), generate a name.
-If the session is ‘none’, use nil for the session name, and
+If the session is `none', use nil for the session name, and
org-babel-scheme-execute-with-geiser will use a temporary session."
(let ((result
(cond ((not name)
:type 'boolean)
(defun org-agenda-time-of-day-to-ampm (time)
- "Convert TIME of a string like ‘13:45’ to an AM/PM style time string."
+ "Convert TIME of a string like `13:45' to an AM/PM style time string."
(let* ((hour-number (string-to-number (substring time 0 -3)))
(minute (substring time -2))
(ampm "am"))
:type 'boolean)
(defcustom org-agenda-auto-exclude-function nil
- "A function called with a tag to decide if it is filtered on ‘/ RET’.
+ "A function called with a tag to decide if it is filtered on `/ RET'.
The sole argument to the function, which is called once for each
possible tag, is a string giving the name of the tag. The
function should return either nil if the tag should be included
;; Popup existing buffer
(org-agenda-prepare-window (get-buffer org-agenda-buffer-name)
filter-alist)
- (message "Sticky Agenda buffer, use ‘r’ to refresh")
+ (message "Sticky Agenda buffer, use `r' to refresh")
(or org-agenda-multi (org-agenda-fit-window-to-buffer))
- (throw 'exit "Sticky Agenda buffer, use ‘r’ to refresh"))
+ (throw 'exit "Sticky Agenda buffer, use `r' to refresh"))
(setq org-todo-keywords-for-agenda nil)
(setq org-drawers-for-agenda nil)
(put 'org-agenda-tag-filter :preset-filter
(:booktitle . "Title of a book, part of which is being cited. See the LaTeX book for how to type titles. For book entries, use the title field instead.")
(:chapter . "A chapter (or section or whatever) number.")
(:crossref . "The database key of the entry being cross referenced.")
- (:edition . "The edition of a book for example, ‘Second’. This should be an ordinal, and should have the first letter capitalized, as shown here; the standard styles convert to lower case when necessary.")
+ (:edition . "The edition of a book for example, 'Second'. This should be an ordinal, and should have the first letter capitalized, as shown here; the standard styles convert to lower case when necessary.")
(:editor . "Name(s) of editor(s), typed as indicated in the LaTeX book. If there is also an author field, then the editor field gives the editor of the book or collection in which the reference appears.")
(:howpublished . "How something strange has been published. The first word should be capitalized.")
(:institution . "The sponsoring institution of a technical report.")
(:school . "The name of the school where a thesis was written.")
(:series . "The name of a series or set of books. When citing an entire book, the title field gives its title and an optional series field gives the name of a series or multi-volume set in which the book is published.")
(:title . "The work’s title, typed as explained in the LaTeX book.")
- (:type . "The type of a technical report for example, ‘Research Note’.")
+ (:type . "The type of a technical report for example, 'Research Note'.")
(:volume . "The volume of a journal or multi-volume book.")
- (:year . "The year of publication or, for an unpublished work, the year it was written. Generally it should consist of four numerals, such as 1984, although the standard styles can handle any year whose last four nonpunctuation characters are numerals, such as ‘(about 1984)’"))
+ (:year . "The year of publication or, for an unpublished work, the year it was written. Generally it should consist of four numerals, such as 1984, although the standard styles can handle any year whose last four nonpunctuation characters are numerals, such as '(about 1984)'"))
"Bibtex fields with descriptions.")
(defvar org-bibtex-entries nil
(defcustom org-bibtex-prefix nil
"Optional prefix for all bibtex property names.
-For example setting to ‘BIB_’ would allow interoperability with fireforg."
+For example setting to `BIB_' would allow interoperability with fireforg."
:group 'org-bibtex
:version "24.1"
:type '(choice
(unless org-clock-notification-was-shown
(setq org-clock-notification-was-shown t)
(org-notify
- (format-message "Task ‘%s’ should be finished by now. (%s)"
+ (format-message "Task `%s' should be finished by now. (%s)"
org-clock-heading org-clock-effort)
org-clock-sound))
(setq org-clock-notification-was-shown nil)))))
clocked back in at the present time.
g/G Indicate that you “got back” X minutes ago. This is quite
- different from ‘k’: it clocks you out from the beginning of
+ different from `k': it clocks you out from the beginning of
the idle period and clock you back in X minutes ago.
s/S Subtract the idle time from the current clock. This is the
(if (and (buffer-file-name)
(y-or-n-p
(format-message
- "Tag ‘%s’ not found. Rebuild table ‘%s/TAGS’ and look again?"
+ "Tag `%s' not found. Rebuild table `%s/TAGS' and look again?"
name
(file-name-directory (buffer-file-name)))))
(org-ctags-rebuild-tags-file-then-find-tag name)
(t
(setq entry (plist-put entry :description
(format-message
- "Unknown ‘%s’ content." type)))))))
+ "Unknown `%s' content." type)))))))
entry))
(provide 'org-feed)
(error "Habit %s has no scheduled date" habit-entry))
(unless scheduled-repeat
(error
- "Habit ‘%s’ has no scheduled repeat period or has an incorrect one"
+ "Habit `%s' has no scheduled repeat period or has an incorrect one"
habit-entry))
(setq sr-days (org-habit-duration-to-days scheduled-repeat))
(unless (> sr-days 0)
(defun org-irc-ellipsify-description (string &optional after)
"Remove unnecessary white space from STRING and add ellipses if necessary.
Strip starting and ending white space from STRING and replace any
-chars that the value AFTER with ‘...’"
+chars that the value AFTER with `...'"
(let* ((after (number-to-string (or after 30)))
(replace-map (list (cons "^[ \t]*" "")
(cons "[ \t]*$" "")
((stringp (nth 2 entry))
(concat (org-mouse-agenda-type (nth 1 entry))
(nth 2 entry)))
- (t "Agenda Command ‘%s’"))
+ (t "Agenda Command `%s'"))
30))))
"--"
["Delete Blank Lines" delete-blank-lines
(save-excursion (org-apply-on-list wrap-fun nil)))))
(defun org-mouse-bolp ()
- "Return true if there only spaces, tabs, and ‘*’ before point.
+ "Return true if there only spaces, tabs, and `*' before point.
This means, between the beginning of line and the point."
(save-excursion
(skip-chars-backward " \t*") (bolp)))
((org-mouse-looking-at ":\\([A-Za-z0-9_]+\\):" "A-Za-z0-9_" -1) ;tags
(popup-menu
`(nil
- [,(format-message "Display ‘%s’" (match-string 1))
+ [,(format-message "Display `%s'" (match-string 1))
(org-tags-view nil ,(match-string 1))]
- [,(format-message "Sparse Tree ‘%s’" (match-string 1))
+ [,(format-message "Sparse Tree `%s'" (match-string 1))
(org-tags-sparse-tree nil ,(match-string 1))]
"--"
,@(org-mouse-tag-menu))))
(goto-char (org-table-begin)))
(defun org-plot/collect-options (&optional params)
- "Collect options from an org-plot ‘#+Plot:’ line.
+ "Collect options from an org-plot `#+Plot:' line.
Accepts an optional property list PARAMS, to which the options
will be added. Returns the resulting property list."
(interactive)
(if (eq org-table-use-standard-references t)
(org-table-fedit-toggle-ref-type))
(org-goto-line startline)
- (message "Edit formulas, finish with ‘C-c C-c’ or ‘C-c '’. See menu for more commands.")))
+ (message "%s" "Edit formulas, finish with C-c C-c or C-c '. See menu for more commands.")))
(defun org-table-fedit-post-command ()
(when (not (memq this-command '(lisp-complete-symbol)))
\(dolist (backend val)
\(cond
\((not (load (format \"ox-%s\" backend) t t))
- \(message \"Problems while trying to load export back-end ‘%s’\"
+ \(message \"Problems while trying to load export back-end \\=`%s\\='\"
backend))
\((not (memq backend new-list)) (push backend new-list))))
\(set-default \\='org-export-backends new-list)))
(kill-buffer proc-buffer))))
(org-export-add-to-stack proc-buffer nil p)
(ding)
- (message "Process ‘%s’ exited abnormally" p))
+ (message "Process `%s' exited abnormally" p))
(unless org-export-async-debug
(delete-file ,,temp-file)))))))))))))
;; User Variables:
(defcustom pcmpl-cvs-binary (or (executable-find "cvs") "cvs")
- "The full path of the ‘cvs’ binary."
+ "The full path of the `cvs' binary."
:type 'file
:group 'pcmpl-cvs)
(defun pcmpl-cvs-entries (&optional opers)
"Return the Entries for the current directory.
If OPERS is a list of characters, return entries for which that
-operation character applies, as displayed by ‘cvs -n update’."
+operation character applies, as displayed by `cvs -n update'."
(let* ((arg (pcomplete-arg))
(dir (file-name-as-directory
(or (file-name-directory arg) "")))
:group 'bubbles)
(defun bubbles-set-game-easy ()
- "Set game theme to ‘easy’."
+ "Set game theme to `easy'."
(interactive)
(setq bubbles-game-theme 'easy)
(bubbles))
(defun bubbles-set-game-medium ()
- "Set game theme to ‘medium’."
+ "Set game theme to `medium'."
(interactive)
(setq bubbles-game-theme 'medium)
(bubbles))
(defun bubbles-set-game-difficult ()
- "Set game theme to ‘difficult’."
+ "Set game theme to `difficult'."
(interactive)
(setq bubbles-game-theme 'difficult)
(bubbles))
(defun bubbles-set-game-hard ()
- "Set game theme to ‘hard’."
+ "Set game theme to `hard'."
(interactive)
(setq bubbles-game-theme 'hard)
(bubbles))
(defun bubbles-set-game-userdefined ()
- "Set game theme to ‘user-defined’."
+ "Set game theme to `user-defined'."
(interactive)
(setq bubbles-game-theme 'user-defined)
(bubbles))
(move-to-column (+ gomoku-x-offset (* gomoku-square-width (1- x)))))
(defun gomoku-plot-square (square value)
- "Draw ‘X’, ‘O’ or ‘.’ on SQUARE depending on VALUE, leave point there."
+ "Draw `X', `O' or `.' on SQUARE depending on VALUE, leave point there."
(or (= value 1)
(gomoku-goto-square square))
(let ((inhibit-read-only t))
(unless (bolp)
(insert "\n"))
(insert (current-time-string)
- (format-message "\tBuffer ‘%s’, signal ‘%s’\n"
+ (format-message "\tBuffer `%s', signal `%s'\n"
(buffer-name obuf) (car args)))
(goto-char (point-max))
(insert "\f\n")))))))
:type 'boolean :group 'ada)
(defcustom ada-indent-is-separate t
- "Non-nil means indent ‘is separate’ or ‘is abstract’ if on a single line."
+ "Non-nil means indent `is separate' or `is abstract' if on a single line."
:type 'boolean :group 'ada)
(defcustom ada-indent-record-rel-type 3
- "Indentation for ‘record’ relative to ‘type’ or ‘use’.
+ "Indentation for `record' relative to `type' or `use'.
An example is:
type A is
:group 'ada)
(defcustom ada-use-indent ada-broken-indent
- "Indentation for the lines in a ‘use’ statement.
+ "Indentation for the lines in a `use' statement.
An example is:
use Ada.Text_IO,
:type 'integer :group 'ada)
(defcustom ada-when-indent 3
- "Indentation for ‘when’ relative to ‘exception’ or ‘case’.
+ "Indentation for `when' relative to `exception' or `case'.
An example is:
case A is
:type 'integer :group 'ada)
(defcustom ada-with-indent ada-broken-indent
- "Indentation for the lines in a ‘with’ statement.
+ "Indentation for the lines in a `with' statement.
An example is:
with Ada.Text_IO,
(save-excursion
(goto-char (car match-cons))
(unless (ada-search-ignore-string-comment "when" t opos)
- (error "Missing ‘when’ between ‘case’ and ‘=>’"))
+ (error "Missing `when' between `case' and `=>'"))
(list (save-excursion (back-to-indentation) (point)) 'ada-indent)))
;;
;; case..is..when
(list cur-indent 'ada-broken-indent)))))
(defun ada-get-indent-noindent (orgpoint)
- "Calculate the indentation when point is just before a ‘noindent stmt’.
+ "Calculate the indentation when point is just before a `noindent stmt'.
ORGPOINT is the limit position used in the calculation."
(let ((label 0))
(save-excursion
Moves point to the matching block start."
(ada-goto-matching-start 0)
(unless (looking-at (concat "\\<" keyword "\\>"))
- (error "Matching start is not ‘%s’" keyword)))
+ (error "Matching start is not `%s'" keyword)))
(defun ada-check-defun-name (defun-name)
"Move point to the beginning of a block-start.
Which block depends on the value of NEST-LEVEL, which defaults to zero.
If NOERROR is non-nil, it only returns nil if no matching start was found.
-If GOTOTHEN is non-nil, point moves to the ‘then’ following ‘if’."
+If GOTOTHEN is non-nil, point moves to the `then' following `if'."
(let ((nest-count (if nest-level nest-level 0))
(found nil)
(if pos
(goto-char (car pos))
(error (concat
- "No matching ‘is’ or ‘renames’ for ‘package’ at"
+ "No matching `is' or `renames' for `package' at"
" line "
(number-to-string (count-lines 1 (1+ current)))))))
(unless (looking-at "renames")
((looking-at "do")
(unless (ada-search-ignore-string-comment
"\\<accept\\|return\\>" t)
- (error "Missing ‘accept’ or ‘return’ in front of ‘do’"))))
+ (error "Missing `accept' or `return' in front of `do'"))))
(point))
(if noerror
(defun ada-looking-at-semi-or ()
- "Return t if looking at an ‘or’ following a semicolon."
+ "Return t if looking at an `or' following a semicolon."
(save-excursion
(and (looking-at "\\<or\\>")
(progn
"type\\)\\>"))))))
(defun ada-search-ignore-complex-boolean (regexp backwardp)
- "Search for REGEXP, ignoring comments, strings, ‘and then’, ‘or else’.
+ "Search for REGEXP, ignoring comments, strings, `and then', `or else'.
If BACKWARDP is non-nil, search backward; search forward otherwise."
(let (result)
(while (and (setq result (ada-search-ignore-string-comment regexp backwardp))
(defun ada-move-to-end ()
"Move point to the end of the block around point.
-Moves to ‘begin’ if in a declarative part."
+Moves to `begin' if in a declarative part."
(interactive)
(let ((pos (point))
decl-start)
"If you want to remotely compile, debug and
run your application, specify the name of a
remote machine here. This capability requires
-the ‘rsh’ protocol on the remote machine.")
+the `rsh' protocol on the remote machine.")
(ada-prj-field 'cross_prefix "Prefix used in for the cross tool chain"
"When working on multiple cross targets, it is
most convenient to specify the prefix of the
tool chain here. For instance, on PowerPc
-vxworks, you would enter ‘powerpc-wrs-vxworks-’.
-To use JGNAT, enter ‘j’.")
+vxworks, you would enter `powerpc-wrs-vxworks-'.
+To use JGNAT, enter `j'.")
)
(ada-find-file-in-dir (concat exec-name ".exe") exec-path))))
(if result
result
- (error "‘%s’ not found in path" exec-name))))
+ (error "`%s' not found in path" exec-name))))
(defun ada-initialize-runtime-library (cross-prefix)
"Initialize the variables for the runtime library location.
(with-output-to-temp-buffer (concat "*Apropos Members*")
(set-buffer standard-output)
(erase-buffer)
- (insert (format-message "Members matching ‘%s’\n\n" regexp))
+ (insert (format-message "Members matching `%s'\n\n" regexp))
(cl-loop for s in (ebrowse-list-of-matching-members members regexp) do
(cl-loop for info in (gethash s members) do
(ebrowse-draw-file-member-info info))))))
(when (symbolp symbs)
(if (boundp symbs)
(setq symbs (symbol-value symbs))
- (insert (format-message "symbol ‘%s’ has no value\n" symbs))
+ (insert (format-message "symbol `%s' has no value\n" symbs))
(setq symbs nil)))
(if (vectorp symbs)
(mapatoms ins-symb symbs)
nil)))))
(defun flymake-fix-file-name (name)
- "Replace all occurrences of ‘\\’ with ‘/’."
+ "Replace all occurrences of `\\' with `/'."
(when name
(setq name (expand-file-name name))
(setq name (abbreviate-file-name name))
(when (flymake-same-files real-file-name source-file-name)
(setq line-err-info (flymake-ler-set-file line-err-info nil))
(setq err-info-list (flymake-add-err-info err-info-list line-err-info))))
- (flymake-log 3 "parsed ‘%s’, %s line-err-info" (nth idx lines) (if line-err-info "got" "no"))
+ (flymake-log 3 "parsed `%s', %s line-err-info" (nth idx lines) (if line-err-info "got" "no"))
(setq idx (1+ idx)))
err-info-list))
(error
(let* ((err-str
(format-message
- "Failed to launch syntax check process ‘%s’ with args %s: %s"
+ "Failed to launch syntax check process `%s' with args %s: %s"
cmd args (error-message-string err)))
(source-file-name buffer-file-name)
(cleanup-f (flymake-get-cleanup-function source-file-name)))
(defcustom idlwave-shell-file-name-chars "~/A-Za-z0-9+:_.$#%={}\\- "
"The characters allowed in file names, as a string.
-Used for file name completion. Must not contain ‘'’, ‘,’ and ‘\"’
+Used for file name completion. Must not contain `\\='', `,' and `\"'
because these are used as separators by IDL."
:group 'idlwave-shell-general-setup
:type 'string)
(defcustom idlwave-abbrev-start-char "\\"
"A single character string used to start abbreviations in abbrev mode.
Possible characters to choose from: ~\\=`\%
-or even ‘?’. ‘.’ is not a good choice because it can make structure
+or even `?'. `.' is not a good choice because it can make structure
field names act like abbrevs in certain circumstances.
Changes to this in `idlwave-mode-hook' will have no effect. Instead a user
(defun makefile-browser-insert-continuation ()
"Insert a makefile continuation.
-In the makefile buffer, go to (end-of-line), insert a ‘\\’
+In the makefile buffer, go to (end-of-line), insert a `\\'
character, insert a new blank line, go to that line and indent by one TAB.
This is most useful in the process of creating continued lines when copying
large dependencies from the browser to the client buffer.
(or (python-shell-get-process)
(if interactivep
(user-error
- "Start a Python process first with ‘%s’ or ‘%s’."
+ "Start a Python process first with `%s' or `%s'."
(substitute-command-keys "\\[run-python]")
;; Get the binding.
(key-description
(let* ((name (symbol-name name))
(function-name (intern (concat "python-skeleton--" name)))
(msg (format-message
- "Add ‘%s’ clause? " name)))
+ "Add `%s' clause? " name)))
(when (not skel)
(setq skel
`(< ,(format "%s:" name) \n \n
;; work for remote hosts; we suppress the check there.
(unless (or (file-remote-p default-directory)
(executable-find program))
- (error "Unable to locate SQL program ‘%s’" program))
+ (error "Unable to locate SQL program `%s'" program))
;; Make sure buffer name is unique.
(when (sql-buffer-live-p (format "*%s*" buf-name))
(setq buf-name (format "SQL-%s" product))
(= nest 0) )) ; return nest
(defun verilog-in-deferred-immediate-final-p ()
- "Return true if inside an ‘assert/assume/cover final’ statement."
+ "Return true if inside an `assert/assume/cover final' statement."
(interactive)
(and (looking-at "final")
(verilog-looking-back "\\<\\(?:assert\\|assume\\|cover\\)\\>\\s-+" nil))
(defun verilog-func-completion (type)
"Build regular expression for module/task/function names.
-TYPE is ‘module’, ‘tf’ for task or function, or t if unknown."
+TYPE is `module', `tf' for task or function, or t if unknown."
(if (string= verilog-str "")
(setq verilog-str "[a-zA-Z_]"))
(let ((verilog-str (concat (cond
really be a match. If VERILOG-FLAG is t, the function returns a list of
all possible completions. If VERILOG-FLAG is nil it returns a string,
the longest possible completion, or t if VERILOG-STR is an exact match.
-If VERILOG-FLAG is ‘lambda’, the function returns t if VERILOG-STR is an
+If VERILOG-FLAG is `lambda', the function returns t if VERILOG-STR is an
exact match, nil otherwise."
(save-excursion
(let ((verilog-all nil))
to check if this should really be a match. If VERILOG-FLAG is t, the
function returns a list of all possible completions. If it is nil it
returns a string, the longest possible completion, or t if VERILOG-STR is
-an exact match. If VERILOG-FLAG is ‘lambda’, the function returns t if
+an exact match. If VERILOG-FLAG is `lambda', the function returns t if
VERILOG-STR is an exact match, nil otherwise."
(save-excursion
(let ((verilog-all nil)
;; Combined
(defun verilog-decls-get-signals (decls)
- "Return all declared signals in DECLS, excluding ‘assign’ statements."
+ "Return all declared signals in DECLS, excluding `assign' statements."
(append
(verilog-decls-get-outputs decls)
(verilog-decls-get-inouts decls)
Lisp functions:
vl-name Name portion of the input/output port.
- vl-bits Bus bits portion of the input/output port (‘[2:0]’).
- vl-mbits Multidimensional array bits for port (‘[2:0][3:0]’).
- vl-width Width of the input/output port (‘3’ for [2:0]).
+ vl-bits Bus bits portion of the input/output port (`[2:0]').
+ vl-mbits Multidimensional array bits for port (`[2:0][3:0]').
+ vl-width Width of the input/output port (`3' for [2:0]).
May be a (...) expression if bits isn't a constant.
vl-dir Direction of the pin input/output/inout/interface.
vl-modport The modport, if an interface with a modport.
- vl-cell-type Module name/type of the cell (‘InstModule’).
- vl-cell-name Instance name of the cell (‘instName’).
+ vl-cell-type Module name/type of the cell (`InstModule').
+ vl-cell-name Instance name of the cell (`instName').
Normal Lisp variables may be used in expressions. See
`verilog-read-defines' which can set vh-{definename} variables for use
(match-string 1) (buffer-file-name))))
(when warn
(message
- "File ‘%s’ isn't readable, use shift-mouse2 to paste in this field"
+ "File `%s' isn't readable, use shift-mouse2 to paste in this field"
(match-string 1))))))))
\f
'/' or is empty)."
(let ((val (widget-value widget)))
(unless (string-match "^\\(\\|.*/\\)$" val)
- (widget-put widget :error "Invalid directory entry: must end with ‘/’")
+ (widget-put widget :error "Invalid directory entry: must end with `/'")
widget)))
;; help string for user options
(t nil)))))
(defun vhdl-in-extended-identifier-p ()
- "Determine if point is inside extended identifier (delimited by ‘\\’)."
+ "Determine if point is inside extended identifier (delimited by `\\')."
(save-match-data
(and (save-excursion (re-search-backward "\\\\" (vhdl-point 'bol) t))
(save-excursion (re-search-forward "\\\\" (vhdl-point 'eol) t)))))
(vhdl-comment-insert)))))
(self-insert-command count)))
-(defun vhdl-electric-open-bracket (count) "‘[’ --> ‘(’, ‘([’ --> ‘[’"
+(defun vhdl-electric-open-bracket (count) "`[' --> `(', `([' --> `['"
(interactive "p")
(if (and vhdl-stutter-mode (= count 1) (not (vhdl-in-literal)))
(if (= (preceding-char) ?\()
(insert-char ?\( 1))
(self-insert-command count)))
-(defun vhdl-electric-close-bracket (count) "‘]’ --> ‘)’, ‘)]’ --> ‘]’"
+(defun vhdl-electric-close-bracket (count) "`]' --> `)', `)]' --> `]'"
(interactive "p")
(if (and vhdl-stutter-mode (= count 1) (not (vhdl-in-literal)))
(progn
(insert-char ?\' 1))
(self-insert-command count)))
-(defun vhdl-electric-semicolon (count) "‘;;’ --> ‘ : ’, ‘: ;’ --> ‘ := ’"
+(defun vhdl-electric-semicolon (count) "`;;' --> ` : ', `: ;' --> ` := '"
(interactive "p")
(if (and vhdl-stutter-mode (= count 1) (not (vhdl-in-literal)))
(cond ((= (preceding-char) vhdl-last-input-event)
(t (insert-char ?\; 1)))
(self-insert-command count)))
-(defun vhdl-electric-comma (count) "‘,,’ --> ‘ <= ’"
+(defun vhdl-electric-comma (count) "`,,' --> ` <= '"
(interactive "p")
(if (and vhdl-stutter-mode (= count 1) (not (vhdl-in-literal)))
(cond ((= (preceding-char) vhdl-last-input-event)
(t (insert-char ?\, 1)))
(self-insert-command count)))
-(defun vhdl-electric-period (count) "‘..’ --> ‘ => ’"
+(defun vhdl-electric-period (count) "`..' --> ` => '"
(interactive "p")
(if (and vhdl-stutter-mode (= count 1) (not (vhdl-in-literal)))
(cond ((= (preceding-char) vhdl-last-input-event)
(t (insert-char ?\. 1)))
(self-insert-command count)))
-(defun vhdl-electric-equal (count) "‘==’ --> ‘ == ’"
+(defun vhdl-electric-equal (count) "`==' --> ` == '"
(interactive "p")
(if (and vhdl-stutter-mode (= count 1) (not (vhdl-in-literal)))
(cond ((= (preceding-char) vhdl-last-input-event)
", or type the corresponding digit key,"
"")
" to open it.\n"
- (format-message "Click on Cancel or type ‘q’ to cancel.\n"))
+ (format-message "Click on Cancel or type `q' to cancel.\n"))
;; Use a L&F that looks like the recentf menu.
(tree-widget-set-theme "folder")
(apply 'widget-create
(let ((match (match-string 3 from)))
(cond
((string= match "\\n")
- (message "Note: ‘\\n’ here doesn't match a newline; to do that, type C-q C-j instead"))
+ (message "Note: `\\n' here doesn't match a newline; to do that, type C-q C-j instead"))
((string= match "\\t")
- (message "Note: ‘\\t’ here doesn't match a tab; to do that, just type TAB")))
+ (message "Note: `\\t' here doesn't match a tab; to do that, just type TAB")))
(sit-for 2)))
(if (not to)
from
(goto-char m)
(recenter line)
(if readonly
- (message "Buffer ‘%s’ is read only." buf)
+ (message "Buffer `%s' is read only." buf)
(delete-region (line-beginning-position) (line-end-position))
(insert text))
(move-to-column col)))))))
;; it is longer than window-width.
(if (> (+ (length regexp) 42) (window-width))
"" (format-message
- " for ‘%s’" (query-replace-descr regexp)))))
+ " for `%s'" (query-replace-descr regexp)))))
(setq occur-revert-arguments (list regexp nlines bufs))
(if (= count 0)
(kill-buffer occur-buf)
(cols (nth 1 wsb)))
(cond
((not (memq side '(left right)))
- (error "‘left’ or ‘right’ expected instead of %S" side))
+ (error "`left' or `right' expected instead of %S" side))
((and (eq vtype side) cols))
((eq (frame-parameter nil 'vertical-scroll-bars) side)
;; nil means it's a non-toolkit scroll bar, and its width in
(if server-auth-key
(if (string-match-p "^[!-~]\\{64\\}$" server-auth-key)
server-auth-key
- (error "The key ‘%s’ is invalid" server-auth-key))
+ (error "The key `%s' is invalid" server-auth-key))
(server-generate-key)))
;;;###autoload
(not executing-kbd-macro)
(where-is-internal function overriding-local-map t))))
(unless (commandp function)
- (error "‘%s’ is not a valid command name" command-name))
+ (error "`%s' is not a valid command name" command-name))
(setq this-command function)
;; Normally `real-this-command' should never be changed, but here we really
;; want to pretend that M-x <cmd> RET is nothing more than a "key
(symbol-name function) typed))))
(when binding
(with-temp-message
- (format-message "You can run the command ‘%s’ with %s"
+ (format-message "You can run the command `%s' with %s"
function
(if (stringp binding)
(concat "M-x " binding " RET")
(setq undo-extra-outer-limit (+ size 50000))
(if (let (use-dialog-box track-mouse executing-kbd-macro )
(yes-or-no-p (format-message
- "Buffer ‘%s’ undo info is %d bytes long; discard it? "
+ "Buffer `%s' undo info is %d bytes long; discard it? "
(buffer-name) size)))
(progn (setq buffer-undo-list nil)
(setq undo-extra-outer-limit nil)
(display-warning '(undo discard-info)
(concat
(format-message
- "Buffer ‘%s’ undo info was %d bytes long.\n"
+ "Buffer `%s' undo info was %d bytes long.\n"
(buffer-name) size)
"The undo info was discarded because it exceeded \
`undo-outer-limit'.
`(,(buffer-name buf)
face link
help-echo ,(format-message
- "Visit buffer ‘%s’"
+ "Visit buffer `%s'"
(buffer-name buf))
follow-link t
process-buffer ,buf
(push var warn-vars)))
(when warn-vars
(display-warning 'mail
- (format "\
+ (format-message "\
The default mail mode is now Message mode.
You have the following Mail mode variable%s customized:
-\n %s\n\nTo use Mail mode, set ‘mail-user-agent’ to sendmail-user-agent.
-To disable this warning, set ‘compose-mail-user-agent-warnings’ to nil."
+\n %s\n\nTo use Mail mode, set `mail-user-agent' to sendmail-user-agent.
+To disable this warning, set `compose-mail-user-agent-warnings' to nil."
(if (> (length warn-vars) 1) "s" "")
(mapconcat 'symbol-name
warn-vars " "))))))
(t "globally"))))
(val (progn
(when obsolete
- (message (concat "‘%S’ is obsolete; "
- (if (symbolp obsolete) "use ‘%S’ instead" "%s"))
+ (message (concat "`%S' is obsolete; "
+ (if (symbolp obsolete) "use `%S' instead" "%s"))
var obsolete)
(sit-for 3))
(if prop
(require 'cus-edit)
(setq type (widget-convert type))
(unless (widget-apply type :match value)
- (user-error "Value ‘%S’ does not match type %S of %S"
+ (user-error "Value `%S' does not match type %S of %S"
value (car type) variable))))
(if make-local
;; `base-position'. It's difficult to make any use of `base-size',
;; so we just ignore it.
(unless (consp base-position)
- (message "Obsolete ‘base-size’ passed to choose-completion-string")
+ (message "Obsolete `base-size' passed to choose-completion-string")
(setq base-position nil))
(let* ((buffer (or buffer completion-reference-buffer))
`(progn
(defcustom ,varalt-sym nil
- ,(format "Alist of alternative implementations for the ‘%s’ command.
+ ,(format "Alist of alternative implementations for the `%s' command.
Each entry must be a pair (ALTNAME . ALTFUN), where:
ALTNAME - The name shown at user to describe the alternative implementation.
(defvar ,varimp-sym nil "Internal use only.")
(defun ,command (&optional arg)
- ,(format "Run generic command ‘%s’.
+ ,(format "Run generic command `%s'.
If used for the first time, or with interactive ARG, ask the user which
-implementation to use for ‘%s’. The variable ‘%s’
+implementation to use for `%s'. The variable `%s'
contains the list of implementations currently supported for this command."
command-name command-name varalt-name)
(interactive "P")
(when (or arg (null ,varimp-sym))
(let ((val (completing-read
,(format-message
- "Select implementation for command ‘%s’: "
+ "Select implementation for command `%s': "
command-name)
,varalt-sym nil t)))
(unless (string-equal val "")
(when (null ,varimp-sym)
(message
- "Use ‘C-u M-x %s RET’ to select another implementation"
+ "Use C-u M-x %s RET`to select another implementation"
,command-name)
(sit-for 3))
(customize-save-variable ',varimp-sym
(if ,varimp-sym
(call-interactively ,varimp-sym)
(message "%s" ,(format-message
- "No implementation selected for command ‘%s’"
+ "No implementation selected for command `%s'"
command-name)))))))
\f
:group 'initialization
:initialize #'custom-initialize-default
:set (lambda (_variable _value)
- (error "Customizing ‘site-run-file’ does not work")))
+ (error "Customizing `site-run-file' does not work")))
(make-obsolete-variable 'system-name "use (system-name) instead" "25.1")
(let ((elt (assoc completion tty-long-option-alist)))
;; Check for abbreviated long option.
(or elt
- (error "Option ‘%s’ is ambiguous" argi))
+ (error "Option `%s' is ambiguous" argi))
(setq argi (cdr elt)))
;; Check for a short option.
(setq argval nil
((stringp completion)
(let ((elt (assoc completion longopts)))
(unless elt
- (error "Option ‘%s’ is ambiguous" argi))
+ (error "Option `%s' is ambiguous" argi))
(setq argi (substring (car elt) 1))))
(t
(setq argval nil
(setq done t)))
;; Was argval set but not used?
(and argval
- (error "Option ‘%s’ doesn't allow an argument" argi))))
+ (error "Option `%s' doesn't allow an argument" argi))))
;; Re-attach the --display arg.
(and display-arg (setq args (append display-arg args)))
(not (featurep
(intern
(concat (symbol-name initial-window-system) "-win")))))
- (error "Unsupported window system ‘%s’" initial-window-system))
+ (error "Unsupported window system `%s'" initial-window-system))
;; Process window-system specific command line parameters.
(setq command-line-args
(let ((window-system initial-window-system)) ;Hack attack!
(display-warning
'initialization
(format-message "\
-An error occurred while loading ‘%s’:\n\n%s%s%s\n\n\
+An error occurred while loading `%s':\n\n%s%s%s\n\n\
To ensure normal operation, you should investigate and remove the
cause of the error in your initialization file. Start Emacs with
-the ‘--debug-init’ option to view a complete error backtrace."
+the `--debug-init' option to view a complete error backtrace."
user-init-file
(get (car error) 'error-message)
(if (cdr error) ": " "")
(setq warned t)
(display-warning 'initialization
(format-message "\
-Your ‘load-path’ seems to contain\n\
-your ‘.emacs.d’ directory: %s\n\
+Your `load-path' seems to contain\n\
+your `.emacs.d' directory: %s\n\
This is likely to cause problems...\n\
Consider using a subdirectory instead, e.g.: %s"
dir (expand-file-name
(if (stringp completion)
(let ((elt (member completion longopts)))
(or elt
- (error "Option ‘%s’ is ambiguous" argi))
+ (error "Option `%s' is ambiguous" argi))
(setq argi (substring (car elt) 1)))
(setq argval nil
argi orig-argi)))))
(setq inhibit-startup-screen t)
(setq tem (or argval (pop command-line-args-left)))
(or (stringp tem)
- (error "File name omitted from ‘-insert’ option"))
+ (error "File name omitted from `-insert' option"))
(insert-file-contents (command-line-normalize-file-name tem)))
((equal argi "-kill")
;; An explicit option to specify visiting a file.
(setq tem (or argval (pop command-line-args-left)))
(unless (stringp tem)
- (error "File name omitted from ‘%s’ option" argi))
+ (error "File name omitted from `%s' option" argi))
(funcall process-file-arg tem))
;; These command lines now have no effect.
(unless did-hook
;; Presume that the argument is a file name.
(if (string-match "\\`-" argi)
- (error "Unknown option ‘%s’" argi))
+ (error "Unknown option `%s'" argi))
;; FIXME: Why do we only inhibit the startup
;; screen for -nw?
(unless initial-window-system
If FORM does return, signal an error."
(declare (debug t))
`(prog1 ,form
- (error "Form marked with ‘noreturn’ did return")))
+ (error "Form marked with `noreturn' did return")))
(defmacro 1value (form)
"Evaluate FORM, expecting a constant return value.
(mapcar (lambda (parent)
(cons parent
(or (get parent 'error-conditions)
- (error "Unknown signal ‘%s’" parent))))
+ (error "Unknown signal `%s'" parent))))
parent))
(cons parent (get parent 'error-conditions)))))
(put name 'error-conditions
(let* ((sym (cadr list-var))
(append (eval append))
(msg (format-message
- "‘add-to-list’ can't use lexical var ‘%s’; use ‘push’ or ‘cl-pushnew’"
+ "`add-to-list' can't use lexical var `%s'; use `push' or `cl-pushnew'"
sym))
;; Big ugly hack so we only output a warning during
;; byte-compilation, and so we can use
If optional argument INHIBIT-KEYBOARD-QUIT is non-nil, ignore
keyboard-quit events while waiting for a valid input."
(unless (consp chars)
- (error "Called ‘read-char-choice’ without valid char choices"))
+ (error "Called `read-char-choice' without valid char choices"))
(let (char done show-help (helpbuf " *Char Help*"))
(let ((cursor-in-echo-area t)
(executing-kbd-macro executing-kbd-macro)
See documentation for `version-separator' and `version-regexp-alist'."
(or (and (stringp ver) (> (length ver) 0))
- (error "Invalid version string: ‘%s’" ver))
+ (error "Invalid version string: `%s'" ver))
;; Change .x.y to 0.x.y
(if (and (>= (length ver) (length version-separator))
(string-equal (substring ver 0 (length version-separator))
((string-match "^[-_+ ]?\\([a-zA-Z]\\)$" s)
(push (- (aref (downcase (match-string 1 s)) 0) ?a -1)
lst))
- (t (error "Invalid version syntax: ‘%s’" ver))))))
+ (t (error "Invalid version syntax: `%s'" ver))))))
(if (null lst)
- (error "Invalid version syntax: ‘%s’" ver)
+ (error "Invalid version syntax: `%s'" ver)
(nreverse lst)))))
;; Handle the -xrm option.
(defun x-handle-xrm-switch (switch)
(unless (consp x-invocation-args)
- (error "%s: missing argument to ‘%s’ option" (invocation-name) switch))
+ (error "%s: missing argument to `%s' option" (invocation-name) switch))
(setq x-command-line-resources
(if (null x-command-line-resources)
(pop x-invocation-args)
;; the initial frame, too.
(defun x-handle-name-switch (switch)
(or (consp x-invocation-args)
- (error "%s: missing argument to ‘%s’ option" (invocation-name) switch))
+ (error "%s: missing argument to `%s' option" (invocation-name) switch))
(setq x-resource-name (pop x-invocation-args)
initial-frame-alist (cons (cons 'name x-resource-name)
initial-frame-alist)))
(let ((elt (assoc completion option-alist)))
;; Check for abbreviated long option.
(or elt
- (error "Option ‘%s’ is ambiguous" this-switch))
+ (error "Option `%s' is ambiguous" this-switch))
(setq this-switch completion))))))
(setq aelt (assoc this-switch option-alist))
(if aelt (setq handler (nth 2 aelt)))
;; Handle the --parent-id option.
(defun x-handle-parent-id (switch)
(or (consp x-invocation-args)
- (error "%s: missing argument to ‘%s’ option" (invocation-name) switch))
+ (error "%s: missing argument to `%s' option" (invocation-name) switch))
(setq initial-frame-alist (cons
(cons 'parent-id
(string-to-number (car x-invocation-args)))
;; to give us back our session id we had on the previous run.
(defun x-handle-smid (switch)
(or (consp x-invocation-args)
- (error "%s: missing argument to ‘%s’ option" (invocation-name) switch))
+ (error "%s: missing argument to `%s' option" (invocation-name) switch))
(setq x-session-previous-id (car x-invocation-args)
x-invocation-args (cdr x-invocation-args)))
(symbol-value reftex-docstruct-symbol)))
(ding)
(if (y-or-n-p
- (format-message "Label ‘%s’ exists. Use anyway? " label))
+` (format-message "Label `%s' exists. Use anyway? " label))
(setq valid t)))
;; Label is ok
(setq newlabel (read-string (format "Rename label \"%s\" to:" label)))
(if (assoc newlabel (symbol-value reftex-docstruct-symbol))
(if (not (y-or-n-p
- (format-message "Label ‘%s’ exists. Use anyway? " label)))
+ (format-message "Label `%s' exists. Use anyway? " label)))
(error "Abort")))
(save-excursion
(save-window-excursion
;;;###autoload
(defun table-justify (what justify)
"Justify contents of a cell, a row of cells or a column of cells.
-WHAT is a symbol ‘cell’, ‘row’ or ‘column’. JUSTIFY is a symbol
-‘left’, ‘center’, ‘right’, ‘top’, ‘middle’, ‘bottom’ or ‘none’."
+WHAT is a symbol `cell', `row' or `column'. JUSTIFY is a symbol
+`left', `center', `right', `top', `middle', `bottom' or `none'."
(interactive
(list (let* ((_ (barf-if-buffer-read-only))
(completion-ignore-case t)
;;;###autoload
(defun table-justify-cell (justify &optional paragraph)
"Justify cell contents.
-JUSTIFY is a symbol ‘left’, ‘center’ or ‘right’ for horizontal, or ‘top’,
-‘middle’, ‘bottom’ or ‘none’ for vertical. When optional PARAGRAPH is
+JUSTIFY is a symbol `left', `center' or `right' for horizontal, or `top',
+`middle', `bottom' or `none' for vertical. When optional PARAGRAPH is
non-nil the justify operation is limited to the current paragraph,
otherwise the entire cell contents is justified."
(interactive
;;;###autoload
(defun table-justify-row (justify)
"Justify cells of a row.
-JUSTIFY is a symbol ‘left’, ‘center’ or ‘right’ for horizontal,
-or ‘top’, ‘middle’, ‘bottom’ or ‘none’ for vertical."
+JUSTIFY is a symbol `left', `center' or `right' for horizontal,
+or `top', `middle', `bottom' or `none' for vertical."
(interactive
(list (table--query-justification)))
(let((cell-list (table--horizontal-cell-list nil nil 'top)))
;;;###autoload
(defun table-justify-column (justify)
"Justify cells of a column.
-JUSTIFY is a symbol ‘left’, ‘center’ or ‘right’ for horizontal,
-or ‘top’, ‘middle’, ‘bottom’ or ‘none’ for vertical."
+JUSTIFY is a symbol `left', `center' or `right' for horizontal,
+or `top', `middle', `bottom' or `none' for vertical."
(interactive
(list (table--query-justification)))
(let((cell-list (table--vertical-cell-list nil nil 'left)))
insertion which is normally 1. When zero or less is given for
INTERVAL it is interpreted as number of cells per row so that sequence
is placed straight down vertically as long as the table's cell
-structure is uniform. JUSTIFY is a symbol ‘left’, ‘center’ or
-‘right’ that specifies justification of the inserted string.
+structure is uniform. JUSTIFY is a symbol `left', `center' or
+`right' that specifies justification of the inserted string.
Example:
(defun table--justify-cell-contents (justify &optional paragraph)
"Justify the current cell contents.
-JUSTIFY is a symbol ‘left’, ‘center’ or ‘right’ for horizontal, or ‘top’,
-‘middle’, ‘bottom’ or ‘none’ for vertical. When PARAGRAPH is non-nil the
+JUSTIFY is a symbol `left', `center' or `right' for horizontal, or `top',
+`middle', `bottom' or `none' for vertical. When PARAGRAPH is non-nil the
justify operation is limited to the current paragraph."
(table-with-cache-buffer
(let ((beg (point-min))
\(See \\[describe-mode] .)"
(interactive "*p")
(and (2C-other)
- (if (y-or-n-p (format-message "Overwrite associated buffer ‘%s’? "
+ (if (y-or-n-p (format-message "Overwrite associated buffer `%s'? "
(buffer-name (2C-other))))
(with-current-buffer (2C-other)
(erase-buffer))
(setq mapsym s)))))
(insert
(format
- "The default Emacs binding for the key %s is the command ‘%s’. "
+ "The default Emacs binding for the key %s is the command `%s'. "
(key-description key)
db))
(insert "However, your customizations have "
(if cb
- (format-message "rebound it to the command ‘%s’" cb)
+ (format-message "rebound it to the command `%s'" cb)
"unbound it"))
(insert ".")
(when mapsym
(insert " (For the more advanced user:"
(format-message
- " This binding is in the keymap ‘%s’.)" mapsym)))
+ " This binding is in the keymap `%s'.)" mapsym)))
(if (string= where "")
(unless (keymapp db)
(insert "\n\nYou can use M-x "
""
"the key")
where
- (format-message " to get the function ‘%s’." db))))
+ (format-message " to get the function `%s'." db))))
(fill-region (point-min) (point)))))
(help-print-return-message))))
(lookup-key global-map
[menu-bar]))))
(stringp cwhere))
- (format-message "the ‘%s’ menu" cwhere)
+ (format-message "the `%s' menu" cwhere)
"the menus"))))
(setq where ""))
(setq remark nil)
(type-break-mode-line-message-mode)
(t
(beep t)
- (message "%sYou should take a typing break now. Do ‘%s’."
+ (message "%sYou should take a typing break now. Do `%s'."
(type-break-time-stamp)
(substitute-command-keys "\\[type-break]"))
(sit-for 1)
overwrite))
(error
(setq errors (1+ errors))
- (dired-log "Rename ‘%s’ to ‘%s’ failed:\n%s\n"
+ (dired-log "Rename `%s' to `%s' failed:\n%s\n"
file-ori file-new
err)))))))))
errors))
(substitute-in-file-name link-to-new) link-from))
(error
(setq errors (1+ errors))
- (dired-log "Link ‘%s’ to ‘%s’ failed:\n%s\n"
+ (dired-log "Link `%s' to `%s' failed:\n%s\n"
link-from link-to-new
err)))))
(cons changes errors)))
(unless (equal 0 (process-file dired-chmod-program
nil nil nil perm-tmp filename))
(setq errors (1+ errors))
- (dired-log "%s %s ‘%s’ failed\n\n"
+ (dired-log "%s %s `%s' failed\n\n"
dired-chmod-program perm-tmp filename)))
(setq errors (1+ errors))
- (dired-log "Cannot parse permission ‘%s’ for file ‘%s’\n\n"
+ (dired-log "Cannot parse permission `%s' for file `%s'\n\n"
perms-new filename)))
(goto-char (next-single-property-change (1+ (point)) prop-wanted
nil (point-max))))
(when has-bogus
(goto-char (point-max))
(insert (substitute-command-keys
- " Type ‘\\[whitespace-cleanup]’")
+ " Type `\\[whitespace-cleanup]'")
" to cleanup the buffer.\n\n"
(substitute-command-keys
- " Type ‘\\[whitespace-cleanup-region]’")
+ " Type `\\[whitespace-cleanup-region]'")
" to cleanup a region.\n\n"))
(whitespace-display-window (current-buffer)))))
has-bogus))))
(defun whitespace-mark-x (nchars condition)
- "Insert the mark (‘X’ or ‘ ’) after NCHARS depending on CONDITION."
+ "Insert the mark (`X' or ` ') after NCHARS depending on CONDITION."
(forward-char nchars)
(insert (if condition "X" " ")))
(defun whitespace-insert-option-mark (the-list the-value)
- "Insert the option mark (‘X’ or ‘ ’) in toggle options buffer."
+ "Insert the option mark (`X' or ` ') in toggle options buffer."
(goto-char (point-min))
(forward-line 2)
(dolist (sym the-list)
Each \\=‘ and \\=` is replaced by left quote, and each \\=’ and \\='
is replaced by right quote. Left and right quote characters are
-specified by ‘text-quoting-style’.
+specified by `text-quoting-style'.
\\=\\= quotes the following character and is discarded; thus,
\\=\\=\\=\\= puts \\=\\= into the output, \\=\\=\\=\\[ puts \\=\\[ into the output, and
DEFVAR_LISP ("text-quoting-style", Vtext_quoting_style,
doc: /* Style to use for single quotes when generating text.
-‘curve’ means quote with curved single quotes \\=‘like this\\=’.
-‘straight’ means quote with straight apostrophes \\='like this\\='.
-‘grave’ means quote with grave accent and apostrophe \\=`like this\\='.
-The default value nil acts like ‘curve’ if curved single quotes are
-displayable, and like ‘grave’ otherwise. */);
+`curve' means quote with curved single quotes \\=‘like this\\=’.
+`straight' means quote with straight apostrophes \\='like this\\='.
+`grave' means quote with grave accent and apostrophe \\=`like this\\='.
+The default value nil acts like `curve' if curved single quotes are
+displayable, and like `grave' otherwise. */);
Vtext_quoting_style = Qnil;
DEFVAR_BOOL ("internal--text-quoting-flag", text_quoting_flag,
- doc: /* If nil, a nil ‘text-quoting-style’ is treated as ‘grave’. */);
+ doc: /* If nil, a nil `text-quoting-style' is treated as `grave'. */);
/* Initialized by ‘main’. */
defsubr (&Sdocumentation);
The first argument is a format control string.
The other arguments are substituted into it to make the result, a string.
-This acts like ‘format’, except it also replaces each left single
+This acts like `format', except it also replaces each left single
quotation mark (\\=‘) and grave accent (\\=`) by a left quote, and each
right single quotation mark (\\=’) and apostrophe (\\=') by a right quote.
The left and right quote replacement characters are specified by
-‘text-quoting-style’.
+`text-quoting-style'.
usage: (format-message STRING &rest OBJECTS) */)
(ptrdiff_t nargs, Lisp_Object *args)
\f
DEFUN ("recursive-edit", Frecursive_edit, Srecursive_edit, 0, 0, "",
doc: /* Invoke the editor command loop recursively.
-To get out of the recursive edit, a command can throw to ‘exit’ -- for
-instance ‘(throw \\='exit nil)’.
-If you throw a value other than t, ‘recursive-edit’ returns normally
+To get out of the recursive edit, a command can throw to `exit' -- for
+instance (throw \\='exit nil).
+If you throw a value other than t, `recursive-edit' returns normally
to the function that called it. Throwing a t value causes
-‘recursive-edit’ to quit, so that control returns to the command loop
+`recursive-edit' to quit, so that control returns to the command loop
one level up.
This function is called by the editor initialization to begin editing. */)
(require 'ert)
(ert-deftest textprop-tests-format ()
- "Test ‘format’ with text properties."
+ "Test `format' with text properties."
;; See Bug#21351.
(should (equal-including-properties
(format #("mouse-1, RET: %s -- w: copy %s"