summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Nicolaescu <dann@ics.uci.edu>2009-11-11 05:49:09 +0000
committerDan Nicolaescu <dann@ics.uci.edu>2009-11-11 05:49:09 +0000
commit6bdad9ae02d440a259713ea4a8942d1168e7f452 (patch)
tree4428210ed5dd339a2d5d9ac631b770dae3875174
parente0987650e49822955b70504140e801f823ce4468 (diff)
downloademacs-6bdad9ae02d440a259713ea4a8942d1168e7f452.tar.gz
* term/x-win.el (x-gtk-stock-map):
* progmodes/vera-mode.el (auto-mode-alist): * progmodes/inf-lisp.el (inferior-lisp-filter-regexp) (inferior-lisp-program, inferior-lisp-load-command): * progmodes/hideshow.el (hs-special-modes-alist): * progmodes/gud.el (same-window-regexps): * progmodes/grep.el (grep-program, find-program, xargs-program): * net/telnet.el (same-window-regexps): * net/rlogin.el (same-window-regexps): * language/ethiopic.el (font-ccl-encoder-alist): * vc-sccs.el (vc-sccs-master-templates): * vc-rcs.el (vc-rcs-master-templates): * subr.el (cl-assertion-failed): * simple.el (next-error-overlay-arrow-position): * lpr.el (lpr-command): * locate.el (locate-ls-subdir-switches): * info.el (same-window-regexps, info) (Info-goto-emacs-command-node, Info-goto-emacs-key-command-node): * image-mode.el (image-mode, auto-mode-alist): * hippie-exp.el (hippie-expand-ignore-buffers): * format.el (format-alist): * find-dired.el (find-ls-subdir-switches, find-grep-options) (find-name-arg): * facemenu.el (facemenu-keybindings): * dired.el (dired-listing-switches, dired-chown-program): * diff.el (diff-switches, diff-command): * cus-edit.el (same-window-regexps): * bindings.el (mode-line-mule-info) (mode-line-buffer-identification): Purecopy strings.
-rw-r--r--lisp/ChangeLog32
-rw-r--r--lisp/bindings.el8
-rw-r--r--lisp/cus-edit.el2
-rw-r--r--lisp/diff.el4
-rw-r--r--lisp/dired.el5
-rw-r--r--lisp/facemenu.el3
-rw-r--r--lisp/find-dired.el10
-rw-r--r--lisp/format.el30
-rw-r--r--lisp/hippie-exp.el2
-rw-r--r--lisp/image-mode.el18
-rw-r--r--lisp/info.el8
-rw-r--r--lisp/language/ethiopic.el2
-rw-r--r--lisp/locate.el2
-rw-r--r--lisp/lpr.el3
-rw-r--r--lisp/net/rlogin.el2
-rw-r--r--lisp/net/telnet.el4
-rw-r--r--lisp/progmodes/grep.el6
-rw-r--r--lisp/progmodes/gud.el4
-rw-r--r--lisp/progmodes/hideshow.el3
-rw-r--r--lisp/progmodes/inf-lisp.el6
-rw-r--r--lisp/progmodes/vera-mode.el2
-rw-r--r--lisp/simple.el2
-rw-r--r--lisp/subr.el2
-rw-r--r--lisp/term/x-win.el4
-rw-r--r--lisp/vc-rcs.el2
-rw-r--r--lisp/vc-sccs.el2
26 files changed, 104 insertions, 64 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 9bc07939f5e..d27cee2ac25 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,35 @@
+2009-11-11 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * term/x-win.el (x-gtk-stock-map):
+ * progmodes/vera-mode.el (auto-mode-alist):
+ * progmodes/inf-lisp.el (inferior-lisp-filter-regexp)
+ (inferior-lisp-program, inferior-lisp-load-command):
+ * progmodes/hideshow.el (hs-special-modes-alist):
+ * progmodes/gud.el (same-window-regexps):
+ * progmodes/grep.el (grep-program, find-program, xargs-program):
+ * net/telnet.el (same-window-regexps):
+ * net/rlogin.el (same-window-regexps):
+ * language/ethiopic.el (font-ccl-encoder-alist):
+ * vc-sccs.el (vc-sccs-master-templates):
+ * vc-rcs.el (vc-rcs-master-templates):
+ * subr.el (cl-assertion-failed):
+ * simple.el (next-error-overlay-arrow-position):
+ * lpr.el (lpr-command):
+ * locate.el (locate-ls-subdir-switches):
+ * info.el (same-window-regexps, info)
+ (Info-goto-emacs-command-node, Info-goto-emacs-key-command-node):
+ * image-mode.el (image-mode, auto-mode-alist):
+ * hippie-exp.el (hippie-expand-ignore-buffers):
+ * format.el (format-alist):
+ * find-dired.el (find-ls-subdir-switches, find-grep-options)
+ (find-name-arg):
+ * facemenu.el (facemenu-keybindings):
+ * dired.el (dired-listing-switches, dired-chown-program):
+ * diff.el (diff-switches, diff-command):
+ * cus-edit.el (same-window-regexps):
+ * bindings.el (mode-line-mule-info)
+ (mode-line-buffer-identification): Purecopy strings.
+
2009-11-11 Juri Linkov <juri@jurta.org>
* simple.el (dired-get-filename)<declare-function>:
diff --git a/lisp/bindings.el b/lisp/bindings.el
index 7fdfb3ee5d5..4fe12846028 100644
--- a/lisp/bindings.el
+++ b/lisp/bindings.el
@@ -161,11 +161,11 @@ corresponding to the mode line clicked."
(current-input-method
(:propertize ("" current-input-method-title)
help-echo (concat
- "Current input method: "
+ ,(purecopy "Current input method: ")
current-input-method
- "\n\
+ ,(purecopy "\n\
mouse-2: Disable input method\n\
-mouse-3: Describe current input method")
+mouse-3: Describe current input method"))
local-map ,mode-line-input-method-map
mouse-face mode-line-highlight))
,(propertize
@@ -459,7 +459,7 @@ mouse-3: next buffer")
'mouse-face 'mode-line-highlight
'local-map mode-line-buffer-identification-keymap)))
-(defvar mode-line-buffer-identification (propertized-buffer-identification "%12b") "\
+(defvar mode-line-buffer-identification (purecopy (propertized-buffer-identification "%12b")) "\
Mode-line control for identifying the buffer being displayed.
Its default value is (\"%12b\") with some text properties added.
Major modes that edit things other than ordinary files may change this
diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el
index 4c3597db6d9..6fc45126310 100644
--- a/lisp/cus-edit.el
+++ b/lisp/cus-edit.el
@@ -709,7 +709,7 @@ If `last', order groups after non-groups."
(const :tag "none" nil))
:group 'custom-menu)
-;;;###autoload (add-hook 'same-window-regexps "\\`\\*Customiz.*\\*\\'")
+;;;###autoload (add-hook 'same-window-regexps (purecopy "\\`\\*Customiz.*\\*\\'"))
(defun custom-sort-items (items sort-alphabetically order-groups)
"Return a sorted copy of ITEMS.
diff --git a/lisp/diff.el b/lisp/diff.el
index 1af34dbf493..c12d7de2604 100644
--- a/lisp/diff.el
+++ b/lisp/diff.el
@@ -36,13 +36,13 @@
:group 'tools)
;;;###autoload
-(defcustom diff-switches "-c"
+(defcustom diff-switches (purecopy "-c")
"A string or list of strings specifying switches to be passed to diff."
:type '(choice string (repeat string))
:group 'diff)
;;;###autoload
-(defcustom diff-command "diff"
+(defcustom diff-command (purecopy "diff")
"The command to use to run diff."
:type 'string
:group 'diff)
diff --git a/lisp/dired.el b/lisp/dired.el
index 57c5c8954b4..58c29a152b7 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -50,7 +50,7 @@
;;;###autoload
-(defcustom dired-listing-switches "-al"
+(defcustom dired-listing-switches (purecopy "-al")
"Switches passed to `ls' for Dired. MUST contain the `l' option.
May contain all other options that don't contradict `-l';
may contain even `F', `b', `i' and `s'. See also the variable
@@ -71,11 +71,12 @@ If nil, `dired-listing-switches' is used.")
;;;###autoload
(defvar dired-chown-program
+ (purecopy
(if (memq system-type '(hpux usg-unix-v irix linux gnu/linux cygwin))
"chown"
(if (file-exists-p "/usr/sbin/chown")
"/usr/sbin/chown"
- "/etc/chown"))
+ "/etc/chown")))
"Name of chown command (usually `chown' or `/etc/chown').")
(defvar dired-use-ls-dired (not (not (string-match "gnu" system-configuration)))
diff --git a/lisp/facemenu.el b/lisp/facemenu.el
index 130dd4855a0..d12d3d48bd3 100644
--- a/lisp/facemenu.el
+++ b/lisp/facemenu.el
@@ -99,11 +99,12 @@
:prefix "facemenu-")
(defcustom facemenu-keybindings
+ (mapcar 'purecopy
'((default . "d")
(bold . "b")
(italic . "i")
(bold-italic . "l") ; {bold} intersect {italic} = {l}
- (underline . "u"))
+ (underline . "u")))
"Alist of interesting faces and keybindings.
Each element is itself a list: the car is the name of the face,
the next element is the key to use as a keyboard equivalent of the menu item;
diff --git a/lisp/find-dired.el b/lisp/find-dired.el
index 12590c08740..2e0515bb469 100644
--- a/lisp/find-dired.el
+++ b/lisp/find-dired.el
@@ -49,7 +49,7 @@ LS-SWITCHES is a list of `ls' switches to tell dired how to parse the output."
:group 'find-dired)
;;;###autoload
-(defcustom find-ls-subdir-switches "-al"
+(defcustom find-ls-subdir-switches (purecopy "-al")
"`ls' switches for inserting subdirectories in `*Find*' buffers.
This should contain the \"-l\" switch.
Use the \"-F\" or \"-b\" switches if and only if you also use
@@ -60,10 +60,10 @@ them for `find-ls-option'."
;;;###autoload
(defcustom find-grep-options
- (if (or (eq system-type 'berkeley-unix)
+ (purecopy (if (or (eq system-type 'berkeley-unix)
(string-match "solaris2" system-configuration)
(string-match "irix" system-configuration))
- "-s" "-q")
+ "-s" "-q"))
"Option to grep to be as silent as possible.
On Berkeley systems, this is `-s'; on Posix, and with GNU grep, `-q' does it.
On other systems, the closest you can come is to use `-l'."
@@ -72,9 +72,9 @@ On other systems, the closest you can come is to use `-l'."
;;;###autoload
(defcustom find-name-arg
- (if read-file-name-completion-ignore-case
+ (purecopy (if read-file-name-completion-ignore-case
"-iname"
- "-name")
+ "-name"))
"Argument used to specify file name pattern.
If `read-file-name-completion-ignore-case' is non-nil, -iname is used so that
find also ignores case. Otherwise, -name is used."
diff --git a/lisp/format.el b/lisp/format.el
index c04be656b21..37dd95bd1c4 100644
--- a/lisp/format.el
+++ b/lisp/format.el
@@ -64,35 +64,37 @@
(put 'buffer-auto-save-file-format 'permanent-local t)
(defvar format-alist
- '((text/enriched "Extended MIME text/enriched format."
- "Content-[Tt]ype:[ \t]*text/enriched"
+ ;; FIXME: maybe each item can be purecopied instead of just the strings.
+ `((text/enriched ,(purecopy "Extended MIME text/enriched format.")
+ ,(purecopy "Content-[Tt]ype:[ \t]*text/enriched")
enriched-decode enriched-encode t enriched-mode)
- (plain "ISO 8859-1 standard format, no text properties."
+ (plain ,(purecopy "ISO 8859-1 standard format, no text properties.")
;; Plain only exists so that there is an obvious neutral choice in
;; the completion list.
nil nil nil nil nil)
- (TeX "TeX (encoding)"
+ (TeX ,(purecopy "TeX (encoding)")
nil
iso-tex2iso iso-iso2tex t nil)
- (gtex "German TeX (encoding)"
+ (gtex ,(purecopy "German TeX (encoding)")
nil
iso-gtex2iso iso-iso2gtex t nil)
- (html "HTML/SGML \"ISO 8879:1986//ENTITIES Added Latin 1//EN\" (encoding)"
+ (html ,(purecopy "HTML/SGML \"ISO 8879:1986//ENTITIES Added Latin 1//EN\" (encoding)")
nil
iso-sgml2iso iso-iso2sgml t nil)
- (rot13 "rot13"
+ (rot13 ,(purecopy "rot13")
nil
- "tr a-mn-z n-za-m" "tr a-mn-z n-za-m" t nil)
- (duden "Duden Ersatzdarstellung"
+ ,(purecopy "tr a-mn-z n-za-m") ,(purecopy "tr a-mn-z n-za-m") t nil)
+ (duden ,(purecopy "Duden Ersatzdarstellung")
nil
- "diac" iso-iso2duden t nil)
- (de646 "German ASCII (ISO 646)"
+ ,(purecopy "diac") iso-iso2duden t nil)
+ (de646 ,(purecopy "German ASCII (ISO 646)")
nil
- "recode -f iso646-ge:latin1" "recode -f latin1:iso646-ge" t nil)
- (denet "net German"
+ ,(purecopy "recode -f iso646-ge:latin1")
+ ,(purecopy "recode -f latin1:iso646-ge") t nil)
+ (denet ,(purecopy "net German")
nil
iso-german iso-cvt-read-only t nil)
- (esnet "net Spanish"
+ (esnet ,(purecopy "net Spanish")
nil
iso-spanish iso-cvt-read-only t nil))
"List of information about understood file formats.
diff --git a/lisp/hippie-exp.el b/lisp/hippie-exp.el
index 752a61613bb..fdce4f85109 100644
--- a/lisp/hippie-exp.el
+++ b/lisp/hippie-exp.el
@@ -251,7 +251,7 @@ If nil, all buffers are searched."
:group 'hippie-expand)
;;;###autoload
-(defcustom hippie-expand-ignore-buffers '("^ \\*.*\\*$" dired-mode)
+(defcustom hippie-expand-ignore-buffers (list (purecopy "^ \\*.*\\*$") 'dired-mode)
"A list specifying which buffers not to search (if not current).
Can contain both regexps matching buffer names (as strings) and major modes
\(as atoms)"
diff --git a/lisp/image-mode.el b/lisp/image-mode.el
index 2da94d0bba5..bb97eb8e0b5 100644
--- a/lisp/image-mode.el
+++ b/lisp/image-mode.el
@@ -35,17 +35,17 @@
(require 'image)
(eval-when-compile (require 'cl))
-;;;###autoload (push '("\\.jpe?g\\'" . image-mode) auto-mode-alist)
-;;;###autoload (push '("\\.png\\'" . image-mode) auto-mode-alist)
-;;;###autoload (push '("\\.gif\\'" . image-mode) auto-mode-alist)
-;;;###autoload (push '("\\.tiff?\\'" . image-mode) auto-mode-alist)
-;;;###autoload (push '("\\.p[bpgn]m\\'" . image-mode) auto-mode-alist)
+;;;###autoload (push (cons (purecopy "\\.jpe?g\\'") 'image-mode) auto-mode-alist)
+;;;###autoload (push (cons (purecopy "\\.png\\'") 'image-mode) auto-mode-alist)
+;;;###autoload (push (cons (purecopy "\\.gif\\'") 'image-mode) auto-mode-alist)
+;;;###autoload (push (cons (purecopy "\\.tiff?\\'") 'image-mode) auto-mode-alist)
+;;;###autoload (push (cons (purecopy "\\.p[bpgn]m\\'") 'image-mode) auto-mode-alist)
-;;;###autoload (push '("\\.x[bp]m\\'" . c-mode) auto-mode-alist)
-;;;###autoload (push '("\\.x[bp]m\\'" . image-mode-maybe) auto-mode-alist)
+;;;###autoload (push (cons (purecopy "\\.x[bp]m\\'") 'c-mode) auto-mode-alist)
+;;;###autoload (push (cons (purecopy "\\.x[bp]m\\'") 'image-mode-maybe) auto-mode-alist)
-;;;###autoload (push '("\\.svgz?\\'" . xml-mode) auto-mode-alist)
-;;;###autoload (push '("\\.svgz?\\'" . image-mode-maybe) auto-mode-alist)
+;;;###autoload (push (cons (purecopy "\\.svgz?\\'") 'xml-mode) auto-mode-alist)
+;;;###autoload (push (cons (purecopy "\\.svgz?\\'") 'image-mode-maybe) auto-mode-alist)
;;; Image mode window-info management.
diff --git a/lisp/info.el b/lisp/info.el
index ee66d6080a6..7e038564e51 100644
--- a/lisp/info.el
+++ b/lisp/info.el
@@ -607,9 +607,9 @@ in `Info-file-supports-index-cookies-list'."
(let (same-window-buffer-names same-window-regexps)
(info file-or-node)))
-;;;###autoload (add-hook 'same-window-regexps "\\*info\\*\\(\\|<[0-9]+>\\)")
+;;;###autoload (add-hook 'same-window-regexps (purecopy "\\*info\\*\\(\\|<[0-9]+>\\)"))
-;;;###autoload (put 'info 'info-file "emacs")
+;;;###autoload (put 'info 'info-file (purecopy "emacs"))
;;;###autoload
(defun info (&optional file-or-node buffer)
"Enter Info, the documentation browser.
@@ -4038,7 +4038,7 @@ in the first element of the returned list (which is treated specially in
(cdr where))
where)))
-;;;###autoload (put 'Info-goto-emacs-command-node 'info-file "emacs")
+;;;###autoload (put 'Info-goto-emacs-command-node 'info-file (purecopy "emacs"))
;;;###autoload
(defun Info-goto-emacs-command-node (command)
"Go to the Info node in the Emacs manual for command COMMAND.
@@ -4080,7 +4080,7 @@ COMMAND must be a symbol or string."
(if (> num-matches 2) "them" "it")))))
(error "Couldn't find documentation for %s" command))))
-;;;###autoload (put 'Info-goto-emacs-key-command-node 'info-file "emacs")
+;;;###autoload (put 'Info-goto-emacs-key-command-node 'info-file (purecopy "emacs"))
;;;###autoload
(defun Info-goto-emacs-key-command-node (key)
"Go to the node in the Emacs manual which describes the command bound to KEY.
diff --git a/lisp/language/ethiopic.el b/lisp/language/ethiopic.el
index f524903caa4..3d2f01963ed 100644
--- a/lisp/language/ethiopic.el
+++ b/lisp/language/ethiopic.el
@@ -50,7 +50,7 @@
"CCL program to encode an Ethiopic code to code point of Ethiopic font.")
(setq font-ccl-encoder-alist
- (cons (cons "ethiopic" ccl-encode-ethio-font) font-ccl-encoder-alist))
+ (cons (cons (purecopy "ethiopic") ccl-encode-ethio-font) font-ccl-encoder-alist))
(set-language-info-alist
"Ethiopic" '((setup-function . setup-ethiopic-environment-internal)
diff --git a/lisp/locate.el b/lisp/locate.el
index f08847d4c4c..b03a9e6eb3c 100644
--- a/lisp/locate.el
+++ b/lisp/locate.el
@@ -184,7 +184,7 @@ or `locate-make-command-line', determines the database."
:group 'locate)
;;;###autoload
-(defcustom locate-ls-subdir-switches "-al"
+(defcustom locate-ls-subdir-switches (purecopy "-al")
"`ls' switches for inserting subdirectories in `*Locate*' buffers.
This should contain the \"-l\" switch, but not the \"-F\" or \"-b\" switches."
:type 'string
diff --git a/lisp/lpr.el b/lisp/lpr.el
index c12e01c1667..4cb1dfdadf9 100644
--- a/lisp/lpr.el
+++ b/lisp/lpr.el
@@ -97,13 +97,14 @@ This switch is used in conjunction with `printer-name'."
;;;###autoload
(defcustom lpr-command
+ (purecopy
(cond
(lpr-windows-system
"")
(lpr-lp-system
"lp")
(t
- "lpr"))
+ "lpr")))
"Name of program for printing a file.
On MS-DOS and MS-Windows systems, if the value is an empty string then
diff --git a/lisp/net/rlogin.el b/lisp/net/rlogin.el
index 5d908aa41af..a23cca9497b 100644
--- a/lisp/net/rlogin.el
+++ b/lisp/net/rlogin.el
@@ -130,7 +130,7 @@ this variable is set from that."
(define-key rlogin-mode-map "\C-i" 'rlogin-tab-or-complete)))
-;;;###autoload (add-hook 'same-window-regexps "^\\*rlogin-.*\\*\\(\\|<[0-9]+>\\)")
+;;;###autoload (add-hook 'same-window-regexps (purecopy "^\\*rlogin-.*\\*\\(\\|<[0-9]+>\\)"))
(defvar rlogin-history nil)
diff --git a/lisp/net/telnet.el b/lisp/net/telnet.el
index 164444b8608..346cb8604c5 100644
--- a/lisp/net/telnet.el
+++ b/lisp/net/telnet.el
@@ -192,7 +192,7 @@ rejecting one login and prompting again for a username and password.")
(delete-region comint-last-input-start
comint-last-input-end)))
-;;;###autoload (add-hook 'same-window-regexps "\\*telnet-.*\\*\\(\\|<[0-9]+>\\)")
+;;;###autoload (add-hook 'same-window-regexps (purecopy "\\*telnet-.*\\*\\(\\|<[0-9]+>\\)"))
;;;###autoload
(defun telnet (host &optional port)
@@ -248,7 +248,7 @@ Data is sent to the remote host when RET is typed."
(set (make-local-variable 'comint-prompt-regexp) telnet-prompt-pattern)
(set (make-local-variable 'comint-use-prompt-regexp) t))
-;;;###autoload (add-hook 'same-window-regexps "\\*rsh-[^-]*\\*\\(\\|<[0-9]*>\\)")
+;;;###autoload (add-hook 'same-window-regexps (purecopy "\\*rsh-[^-]*\\*\\(\\|<[0-9]*>\\)"))
;;;###autoload
(defun rsh (host)
diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el
index 64e7dfdd174..9387a087e47 100644
--- a/lisp/progmodes/grep.el
+++ b/lisp/progmodes/grep.el
@@ -404,17 +404,17 @@ Notice that using \\[next-error] or \\[compile-goto-error] modifies
This gets tacked on the end of the generated expressions.")
;;;###autoload
-(defvar grep-program "grep"
+(defvar grep-program (purecopy "grep")
"The default grep program for `grep-command' and `grep-find-command'.
This variable's value takes effect when `grep-compute-defaults' is called.")
;;;###autoload
-(defvar find-program "find"
+(defvar find-program (purecopy "find")
"The default find program for `grep-find-command'.
This variable's value takes effect when `grep-compute-defaults' is called.")
;;;###autoload
-(defvar xargs-program "xargs"
+(defvar xargs-program (purecopy "xargs")
"The default xargs program for `grep-find-command'.
See `grep-find-use-xargs'.
This variable's value takes effect when `grep-compute-defaults' is called.")
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index e3413ab137b..cbb0f46bdca 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -2446,7 +2446,7 @@ comint mode, which see."
;; Cause our buffers to be displayed, by default,
;; in the selected window.
-;;;###autoload (add-hook 'same-window-regexps "\\*gud-.*\\*\\(\\|<[0-9]+>\\)")
+;;;###autoload (add-hook 'same-window-regexps (purecopy "\\*gud-.*\\*\\(\\|<[0-9]+>\\)"))
(defcustom gud-chdir-before-run t
"Non-nil if GUD should `cd' to the debugged executable."
@@ -3220,7 +3220,7 @@ Treats actions as defuns."
;; .PROCESSORNAME-gdbinit so that the host and target gdbinit files
;; don't interfere with each other.
;;;###autoload
-(add-to-list 'auto-mode-alist '("/\\.[a-z0-9-]*gdbinit" . gdb-script-mode))
+(add-to-list 'auto-mode-alist (cons (purecopy "/\\.[a-z0-9-]*gdbinit") 'gdb-script-mode))
;;;###autoload
(define-derived-mode gdb-script-mode nil "GDB-Script"
diff --git a/lisp/progmodes/hideshow.el b/lisp/progmodes/hideshow.el
index 6c4d7b82613..2292ea21892 100644
--- a/lisp/progmodes/hideshow.el
+++ b/lisp/progmodes/hideshow.el
@@ -267,11 +267,12 @@ This has effect only if `search-invisible' is set to `open'."
;;;###autoload
(defvar hs-special-modes-alist
+ (mapcar 'purecopy
'((c-mode "{" "}" "/[*/]" nil nil)
(c++-mode "{" "}" "/[*/]" nil nil)
(bibtex-mode ("@\\S(*\\(\\s(\\)" 1))
(java-mode "{" "}" "/[*/]" nil nil)
- (js-mode "{" "}" "/[*/]" nil))
+ (js-mode "{" "}" "/[*/]" nil)))
"*Alist for initializing the hideshow variables for different modes.
Each element has the form
(MODE START END COMMENT-START FORWARD-SEXP-FUNC ADJUST-BEG-FUNC).
diff --git a/lisp/progmodes/inf-lisp.el b/lisp/progmodes/inf-lisp.el
index 83a650a4813..e19da49a223 100644
--- a/lisp/progmodes/inf-lisp.el
+++ b/lisp/progmodes/inf-lisp.el
@@ -72,7 +72,7 @@
;;;###autoload
(defcustom inferior-lisp-filter-regexp
- "\\`\\s *\\(:\\(\\w\\|\\s_\\)\\)?\\s *\\'"
+ (purecopy "\\`\\s *\\(:\\(\\w\\|\\s_\\)\\)?\\s *\\'")
"*What not to save on inferior Lisp's input history.
Input matching this regexp is not saved on the input history in Inferior Lisp
mode. Default is whitespace followed by 0 or 1 single-letter colon-keyword
@@ -141,13 +141,13 @@ mode. Default is whitespace followed by 0 or 1 single-letter colon-keyword
'lisp-show-variable-documentation))
;;;###autoload
-(defcustom inferior-lisp-program "lisp"
+(defcustom inferior-lisp-program (purecopy "lisp")
"*Program name for invoking an inferior Lisp in Inferior Lisp mode."
:type 'string
:group 'inferior-lisp)
;;;###autoload
-(defcustom inferior-lisp-load-command "(load \"%s\")\n"
+(defcustom inferior-lisp-load-command (purecopy "(load \"%s\")\n")
"*Format-string for building a Lisp expression to load a file.
This format string should use `%s' to substitute a file name
and should result in a Lisp expression that will command the inferior Lisp
diff --git a/lisp/progmodes/vera-mode.el b/lisp/progmodes/vera-mode.el
index 60e0d347250..9c8324362ae 100644
--- a/lisp/progmodes/vera-mode.el
+++ b/lisp/progmodes/vera-mode.el
@@ -250,7 +250,7 @@ If nil, TAB always indents current line."
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Mode definition
-;;;###autoload (add-to-list 'auto-mode-alist '("\\.vr[hi]?\\'" . vera-mode))
+;;;###autoload (add-to-list 'auto-mode-alist (cons (purecopy "\\.vr[hi]?\\'") 'vera-mode))
;;;###autoload
(defun vera-mode ()
diff --git a/lisp/simple.el b/lisp/simple.el
index 07ac2cc6388..00693b3bb56 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -165,7 +165,7 @@ If non-nil, the value is passed directly to `recenter'."
(defvar next-error-highlight-timer nil)
(defvar next-error-overlay-arrow-position nil)
-(put 'next-error-overlay-arrow-position 'overlay-arrow-string "=>")
+(put 'next-error-overlay-arrow-position 'overlay-arrow-string (purecopy "=>"))
(add-to-list 'overlay-arrow-variable-list 'next-error-overlay-arrow-position)
(defvar next-error-last-buffer nil
diff --git a/lisp/subr.el b/lisp/subr.el
index 30107edd4a4..1d74712ae3c 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -2296,7 +2296,7 @@ On other systems, this variable is normally always nil.")
;; The `assert' macro from the cl package signals
;; `cl-assertion-failed' at runtime so always define it.
(put 'cl-assertion-failed 'error-conditions '(error))
-(put 'cl-assertion-failed 'error-message "Assertion failed")
+(put 'cl-assertion-failed 'error-message (purecopy "Assertion failed"))
(defconst user-emacs-directory
(if (eq system-type 'ms-dos)
diff --git a/lisp/term/x-win.el b/lisp/term/x-win.el
index e10e6c6e2d0..8daa6fed989 100644
--- a/lisp/term/x-win.el
+++ b/lisp/term/x-win.el
@@ -1578,6 +1578,8 @@ The value nil is the same as this list:
(define-key special-event-map [drag-n-drop] 'x-dnd-handle-drag-n-drop-event)
(defcustom x-gtk-stock-map
+ (mapcar (lambda (arg)
+ (cons (purecopy (car arg)) (purecopy (cdr arg))))
'(
("etc/images/new" . "gtk-new")
("etc/images/open" . "gtk-open")
@@ -1637,7 +1639,7 @@ The value nil is the same as this list:
;; No themed versions available:
;; mail/preview (combining stock_mail and stock_zoom)
;; mail/save (combining stock_mail, stock_save and stock_convert)
- )
+ ))
"How icons for tool bars are mapped to Gtk+ stock items.
Emacs must be compiled with the Gtk+ toolkit for this to have any effect.
A value that begins with n: denotes a named icon instead of a stock icon."
diff --git a/lisp/vc-rcs.el b/lisp/vc-rcs.el
index 2d486cd56d1..7352cbc4b6d 100644
--- a/lisp/vc-rcs.el
+++ b/lisp/vc-rcs.el
@@ -91,7 +91,7 @@ to use --brief and sets this variable to remember whether it worked."
;;;###autoload
(defcustom vc-rcs-master-templates
- '("%sRCS/%s,v" "%s%s,v" "%sRCS/%s")
+ (purecopy '("%sRCS/%s,v" "%s%s,v" "%sRCS/%s"))
"Where to look for RCS master files.
For a description of possible values, see `vc-check-master-templates'."
:type '(choice (const :tag "Use standard RCS file names"
diff --git a/lisp/vc-sccs.el b/lisp/vc-sccs.el
index afbf4e1545f..e805f621d28 100644
--- a/lisp/vc-sccs.el
+++ b/lisp/vc-sccs.el
@@ -77,7 +77,7 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches."
;;;###autoload
(defcustom vc-sccs-master-templates
- '("%sSCCS/s.%s" "%ss.%s" vc-sccs-search-project-dir)
+ (purecopy '("%sSCCS/s.%s" "%ss.%s" vc-sccs-search-project-dir))
"Where to look for SCCS master files.
For a description of possible values, see `vc-check-master-templates'."
:type '(choice (const :tag "Use standard SCCS file names"