aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Nicolaescu2009-10-26 06:43:36 +0000
committerDan Nicolaescu2009-10-26 06:43:36 +0000
commita7610c523cdd0f381e05d10dd2e5abdaf60f8bbf (patch)
treeba103f8b4ce4e22edef6b80ca67052499f0e2e59
parent0667de2146b9f62e66133f9eca6393e0bb00274c (diff)
downloademacs-a7610c523cdd0f381e05d10dd2e5abdaf60f8bbf.tar.gz
emacs-a7610c523cdd0f381e05d10dd2e5abdaf60f8bbf.zip
* textmodes/tex-mode.el (tex-dvi-view-command)
(tex-show-queue-command, tex-open-quote): * progmodes/ruby-mode.el (auto-mode-alist) (interpreter-mode-alist): Purecopy strings. * emacs-lisp/lisp-mode.el (emacs-lisp-mode-map): Purecopy item names. * emacs-lisp/derived.el (define-derived-mode): Purecopy the doc string for the hook, keymap and abbrev table. * emacs-lisp/byte-run.el (make-obsolete): Purecopy the current name. * x-dnd.el (x-dnd-xdnd-to-action): * startup.el (fancy-startup-text, fancy-about-text): Change to defconst from defvar. * ps-print.el (ps-page-dimensions-database): Purecopy initial value. * mouse.el (mouse-buffer-menu-mode-groups, x-fixed-font-alist): Purecopy initialization strings. * mail/sendmail.el (mail-header-separator) (mail-personal-alias-file): * mail/rmail.el (rmail-default-dont-reply-to-names) (rmail-ignored-headers, rmail-retry-ignored-headers) (rmail-highlighted-headers, rmail-secondary-file-directory) (rmail-secondary-file-regexp): * files.el (null-device, file-name-invalid-regexp) (locate-dominating-stop-dir-regexp) (inhibit-first-line-modes-regexps): Purecopy initialization strings. (interpreter-mode-alist): Use mapcar instead of mapc. * buff-menu.el (Buffer-menu-mode-map): Purecopy name. * bindings.el (mode-line-major-mode-keymap): Purecopy name. (completion-ignored-extensions): (debug-ignored-errors): Purecopy strings.
-rw-r--r--lisp/ChangeLog41
-rw-r--r--lisp/bindings.el43
-rw-r--r--lisp/buff-menu.el2
-rw-r--r--lisp/emacs-lisp/byte-run.el3
-rw-r--r--lisp/emacs-lisp/derived.el10
-rw-r--r--lisp/emacs-lisp/lisp-mode.el12
-rw-r--r--lisp/files.el16
-rw-r--r--lisp/mail/rmail.el13
-rw-r--r--lisp/mail/sendmail.el4
-rw-r--r--lisp/mouse.el27
-rw-r--r--lisp/progmodes/ruby-mode.el4
-rw-r--r--lisp/ps-print.el3
-rw-r--r--lisp/startup.el4
-rw-r--r--lisp/textmodes/tex-mode.el14
-rw-r--r--lisp/x-dnd.el28
15 files changed, 141 insertions, 83 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 8a04c228c53..9e72d7d8bdf 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,44 @@
12009-10-26 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * textmodes/tex-mode.el (tex-dvi-view-command)
4 (tex-show-queue-command, tex-open-quote):
5 * progmodes/ruby-mode.el (auto-mode-alist)
6 (interpreter-mode-alist): Purecopy strings.
7
8 * emacs-lisp/lisp-mode.el (emacs-lisp-mode-map): Purecopy item names.
9
10 * emacs-lisp/derived.el (define-derived-mode): Purecopy the doc
11 string for the hook, keymap and abbrev table.
12
13 * emacs-lisp/byte-run.el (make-obsolete): Purecopy the current name.
14
15 * x-dnd.el (x-dnd-xdnd-to-action):
16 * startup.el (fancy-startup-text, fancy-about-text): Change to
17 defconst from defvar.
18
19 * ps-print.el (ps-page-dimensions-database): Purecopy initial value.
20
21 * mouse.el (mouse-buffer-menu-mode-groups, x-fixed-font-alist):
22 Purecopy initialization strings.
23
24 * mail/sendmail.el (mail-header-separator)
25 (mail-personal-alias-file):
26 * mail/rmail.el (rmail-default-dont-reply-to-names)
27 (rmail-ignored-headers, rmail-retry-ignored-headers)
28 (rmail-highlighted-headers, rmail-secondary-file-directory)
29 (rmail-secondary-file-regexp):
30 * files.el (null-device, file-name-invalid-regexp)
31 (locate-dominating-stop-dir-regexp)
32 (inhibit-first-line-modes-regexps): Purecopy initialization
33 strings.
34 (interpreter-mode-alist): Use mapcar instead of mapc.
35
36 * buff-menu.el (Buffer-menu-mode-map): Purecopy name.
37
38 * bindings.el (mode-line-major-mode-keymap): Purecopy name.
39 (completion-ignored-extensions):
40 (debug-ignored-errors): Purecopy strings.
41
12009-10-26 Stefan Monnier <monnier@iro.umontreal.ca> 422009-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
2 43
3 * pcomplete.el (pcomplete-std-complete): Obey pcomplete-use-paring. 44 * pcomplete.el (pcomplete-std-complete): Obey pcomplete-use-paring.
diff --git a/lisp/bindings.el b/lisp/bindings.el
index 4bcd9a740ea..568d8de5f72 100644
--- a/lisp/bindings.el
+++ b/lisp/bindings.el
@@ -294,7 +294,7 @@ Menu of mode operations in the mode line.")
294(defvar mode-line-major-mode-keymap 294(defvar mode-line-major-mode-keymap
295 (let ((map (make-sparse-keymap))) 295 (let ((map (make-sparse-keymap)))
296 (define-key map [mode-line down-mouse-1] 296 (define-key map [mode-line down-mouse-1]
297 '(menu-item "Menu Bar" ignore 297 `(menu-item ,(purecopy "Menu Bar") ignore
298 :filter (lambda (_) (mouse-menu-major-mode-map)))) 298 :filter (lambda (_) (mouse-menu-major-mode-map))))
299 (define-key map [mode-line mouse-2] 'describe-mode) 299 (define-key map [mode-line mouse-2] 'describe-mode)
300 (define-key map [mode-line down-mouse-3] mode-line-mode-menu) 300 (define-key map [mode-line down-mouse-3] mode-line-mode-menu)
@@ -593,11 +593,14 @@ is okay. See `mode-line-format'.")
593(setq completion-ignored-extensions 593(setq completion-ignored-extensions
594 (append 594 (append
595 (cond ((memq system-type '(ms-dos windows-nt)) 595 (cond ((memq system-type '(ms-dos windows-nt))
596 (mapcar 'purecopy
596 '(".o" "~" ".bin" ".bak" ".obj" ".map" ".ico" ".pif" ".lnk" 597 '(".o" "~" ".bin" ".bak" ".obj" ".map" ".ico" ".pif" ".lnk"
597 ".a" ".ln" ".blg" ".bbl" ".dll" ".drv" ".vxd" ".386")) 598 ".a" ".ln" ".blg" ".bbl" ".dll" ".drv" ".vxd" ".386")))
598 (t 599 (t
600 (mapcar 'purecopy
599 '(".o" "~" ".bin" ".lbin" ".so" 601 '(".o" "~" ".bin" ".lbin" ".so"
600 ".a" ".ln" ".blg" ".bbl"))) 602 ".a" ".ln" ".blg" ".bbl"))))
603 (mapcar 'purecopy
601 '(".elc" ".lof" 604 '(".elc" ".lof"
602 ".glo" ".idx" ".lot" 605 ".glo" ".idx" ".lot"
603 ;; VCS metadata directories 606 ;; VCS metadata directories
@@ -624,7 +627,7 @@ is okay. See `mode-line-format'.")
624 ".cp" ".fn" ".ky" ".pg" ".tp" ".vr" 627 ".cp" ".fn" ".ky" ".pg" ".tp" ".vr"
625 ".cps" ".fns" ".kys" ".pgs" ".tps" ".vrs" 628 ".cps" ".fns" ".kys" ".pgs" ".tps" ".vrs"
626 ;; Python byte-compiled 629 ;; Python byte-compiled
627 ".pyc" ".pyo"))) 630 ".pyc" ".pyo"))))
628 631
629;; Suffixes used for executables. 632;; Suffixes used for executables.
630(setq exec-suffixes 633(setq exec-suffixes
@@ -637,24 +640,24 @@ is okay. See `mode-line-format'.")
637;; Packages should add to this list appropriately when they are 640;; Packages should add to this list appropriately when they are
638;; loaded, rather than listing everything here. 641;; loaded, rather than listing everything here.
639(setq debug-ignored-errors 642(setq debug-ignored-errors
640 '(beginning-of-line beginning-of-buffer end-of-line 643 `(beginning-of-line beginning-of-buffer end-of-line
641 end-of-buffer end-of-file buffer-read-only 644 end-of-buffer end-of-file buffer-read-only
642 file-supersession 645 file-supersession
643 "^Previous command was not a yank$" 646 ,(purecopy "^Previous command was not a yank$")
644 "^Minibuffer window is not active$" 647 ,(purecopy "^Minibuffer window is not active$")
645 "^No previous history search regexp$" 648 ,(purecopy "^No previous history search regexp$")
646 "^No later matching history item$" 649 ,(purecopy "^No later matching history item$")
647 "^No earlier matching history item$" 650 ,(purecopy "^No earlier matching history item$")
648 "^End of history; no default available$" 651 ,(purecopy "^End of history; no default available$")
649 "^End of defaults; no next item$" 652 ,(purecopy "^End of defaults; no next item$")
650 "^Beginning of history; no preceding item$" 653 ,(purecopy "^Beginning of history; no preceding item$")
651 "^No recursive edit is in progress$" 654 ,(purecopy "^No recursive edit is in progress$")
652 "^Changes to be undone are outside visible portion of buffer$" 655 ,(purecopy "^Changes to be undone are outside visible portion of buffer$")
653 "^No undo information in this buffer$" 656 ,(purecopy "^No undo information in this buffer$")
654 "^No further undo information" 657 ,(purecopy "^No further undo information")
655 "^Save not confirmed$" 658 ,(purecopy "^Save not confirmed$")
656 "^Recover-file cancelled\\.$" 659 ,(purecopy "^Recover-file cancelled\\.$")
657 "^Cannot switch buffers in a dedicated window$" 660 ,(purecopy "^Cannot switch buffers in a dedicated window$")
658 )) 661 ))
659 662
660 663
diff --git a/lisp/buff-menu.el b/lisp/buff-menu.el
index 34b1c245e08..3d1aa4e9f38 100644
--- a/lisp/buff-menu.el
+++ b/lisp/buff-menu.el
@@ -151,7 +151,7 @@ Auto Revert Mode.")
151 (define-key map [follow-link] 'mouse-face) 151 (define-key map [follow-link] 'mouse-face)
152 (define-key map (kbd "M-s a C-s") 'Buffer-menu-isearch-buffers) 152 (define-key map (kbd "M-s a C-s") 'Buffer-menu-isearch-buffers)
153 (define-key map (kbd "M-s a M-C-s") 'Buffer-menu-isearch-buffers-regexp) 153 (define-key map (kbd "M-s a M-C-s") 'Buffer-menu-isearch-buffers-regexp)
154 (define-key map [menu-bar Buffer-menu-mode] (cons "Buffer Menu" menu-map)) 154 (define-key map [menu-bar Buffer-menu-mode] (cons (purecopy "Buffer Menu") menu-map))
155 (define-key menu-map [quit] 155 (define-key menu-map [quit]
156 `(menu-item ,(purecopy "Quit") quit-window 156 `(menu-item ,(purecopy "Quit") quit-window
157 :help ,(purecopy "Mark buffer on this line to be deleted by x command"))) 157 :help ,(purecopy "Mark buffer on this line to be deleted by x command")))
diff --git a/lisp/emacs-lisp/byte-run.el b/lisp/emacs-lisp/byte-run.el
index 7453eb235b3..a00fdf0e4f5 100644
--- a/lisp/emacs-lisp/byte-run.el
+++ b/lisp/emacs-lisp/byte-run.el
@@ -127,7 +127,8 @@ was first made obsolete, for example a date or a release number."
127 (if (eq 'byte-compile-obsolete handler) 127 (if (eq 'byte-compile-obsolete handler)
128 (setq handler (nth 1 (get obsolete-name 'byte-obsolete-info))) 128 (setq handler (nth 1 (get obsolete-name 'byte-obsolete-info)))
129 (put obsolete-name 'byte-compile 'byte-compile-obsolete)) 129 (put obsolete-name 'byte-compile 'byte-compile-obsolete))
130 (put obsolete-name 'byte-obsolete-info (list current-name handler (purecopy when)))) 130 (put obsolete-name 'byte-obsolete-info
131 (list (purecopy current-name) handler (purecopy when))))
131 obsolete-name) 132 obsolete-name)
132(set-advertised-calling-convention 133(set-advertised-calling-convention
133 ;; New code should always provide the `when' argument. 134 ;; New code should always provide the `when' argument.
diff --git a/lisp/emacs-lisp/derived.el b/lisp/emacs-lisp/derived.el
index ef30d7ca33f..1575d09eaa9 100644
--- a/lisp/emacs-lisp/derived.el
+++ b/lisp/emacs-lisp/derived.el
@@ -195,16 +195,16 @@ See Info node `(elisp)Derived Modes' for more details."
195 `(progn 195 `(progn
196 (unless (get ',hook 'variable-documentation) 196 (unless (get ',hook 'variable-documentation)
197 (put ',hook 'variable-documentation 197 (put ',hook 'variable-documentation
198 ,(format "Hook run when entering %s mode. 198 (purecopy ,(format "Hook run when entering %s mode.
199No problems result if this variable is not bound. 199No problems result if this variable is not bound.
200`add-hook' automatically binds it. (This is true for all hook variables.)" 200`add-hook' automatically binds it. (This is true for all hook variables.)"
201 name))) 201 name))))
202 (unless (boundp ',map) 202 (unless (boundp ',map)
203 (put ',map 'definition-name ',child)) 203 (put ',map 'definition-name ',child))
204 (defvar ,map (make-sparse-keymap)) 204 (defvar ,map (make-sparse-keymap))
205 (unless (get ',map 'variable-documentation) 205 (unless (get ',map 'variable-documentation)
206 (put ',map 'variable-documentation 206 (put ',map 'variable-documentation
207 ,(format "Keymap for `%s'." child))) 207 (purecopy ,(format "Keymap for `%s'." child))))
208 ,(if declare-syntax 208 ,(if declare-syntax
209 `(progn 209 `(progn
210 (unless (boundp ',syntax) 210 (unless (boundp ',syntax)
@@ -212,7 +212,7 @@ No problems result if this variable is not bound.
212 (defvar ,syntax (make-syntax-table)) 212 (defvar ,syntax (make-syntax-table))
213 (unless (get ',syntax 'variable-documentation) 213 (unless (get ',syntax 'variable-documentation)
214 (put ',syntax 'variable-documentation 214 (put ',syntax 'variable-documentation
215 ,(format "Syntax table for `%s'." child))))) 215 (purecopy ,(format "Syntax table for `%s'." child))))))
216 ,(if declare-abbrev 216 ,(if declare-abbrev
217 `(progn 217 `(progn
218 (put ',abbrev 'definition-name ',child) 218 (put ',abbrev 'definition-name ',child)
@@ -220,7 +220,7 @@ No problems result if this variable is not bound.
220 (progn (define-abbrev-table ',abbrev nil) ,abbrev)) 220 (progn (define-abbrev-table ',abbrev nil) ,abbrev))
221 (unless (get ',abbrev 'variable-documentation) 221 (unless (get ',abbrev 'variable-documentation)
222 (put ',abbrev 'variable-documentation 222 (put ',abbrev 'variable-documentation
223 ,(format "Abbrev table for `%s'." child))))) 223 (purecopy ,(format "Abbrev table for `%s'." child))))))
224 (put ',child 'derived-mode-parent ',parent) 224 (put ',child 'derived-mode-parent ',parent)
225 ,(if group `(put ',child 'custom-mode-group ,group)) 225 ,(if group `(put ',child 'custom-mode-group ,group))
226 226
diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el
index 7e813278c7a..f4f2f621664 100644
--- a/lisp/emacs-lisp/lisp-mode.el
+++ b/lisp/emacs-lisp/lisp-mode.el
@@ -283,7 +283,7 @@ font-lock keywords will not be case sensitive."
283 (define-key map "\e\t" 'lisp-complete-symbol) 283 (define-key map "\e\t" 'lisp-complete-symbol)
284 (define-key map "\e\C-x" 'eval-defun) 284 (define-key map "\e\C-x" 'eval-defun)
285 (define-key map "\e\C-q" 'indent-pp-sexp) 285 (define-key map "\e\C-q" 'indent-pp-sexp)
286 (define-key map [menu-bar emacs-lisp] (cons "Emacs-Lisp" menu-map)) 286 (define-key map [menu-bar emacs-lisp] (cons (purecopy "Emacs-Lisp") menu-map))
287 (define-key menu-map [eldoc] 287 (define-key menu-map [eldoc]
288 `(menu-item ,(purecopy "Auto-Display Documentation Strings") eldoc-mode 288 `(menu-item ,(purecopy "Auto-Display Documentation Strings") eldoc-mode
289 :button (:toggle . (bound-and-true-p eldoc-mode)) 289 :button (:toggle . (bound-and-true-p eldoc-mode))
@@ -294,7 +294,7 @@ font-lock keywords will not be case sensitive."
294 (define-key menu-map [re-builder] 294 (define-key menu-map [re-builder]
295 `(menu-item ,(purecopy "Construct Regexp") re-builder 295 `(menu-item ,(purecopy "Construct Regexp") re-builder
296 :help ,(purecopy "Construct a regexp interactively"))) 296 :help ,(purecopy "Construct a regexp interactively")))
297 (define-key menu-map [tracing] (cons "Tracing" tracing-map)) 297 (define-key menu-map [tracing] (cons (purecopy "Tracing") tracing-map))
298 (define-key tracing-map [tr-a] 298 (define-key tracing-map [tr-a]
299 `(menu-item ,(purecopy "Untrace all") untrace-all 299 `(menu-item ,(purecopy "Untrace all") untrace-all
300 :help ,(purecopy "Untrace all currently traced functions"))) 300 :help ,(purecopy "Untrace all currently traced functions")))
@@ -308,7 +308,7 @@ font-lock keywords will not be case sensitive."
308 (define-key tracing-map [tr-f] 308 (define-key tracing-map [tr-f]
309 `(menu-item ,(purecopy "Trace function...") trace-function 309 `(menu-item ,(purecopy "Trace function...") trace-function
310 :help ,(purecopy "Trace the function given as an argument"))) 310 :help ,(purecopy "Trace the function given as an argument")))
311 (define-key menu-map [profiling] (cons "Profiling" prof-map)) 311 (define-key menu-map [profiling] (cons (purecopy "Profiling") prof-map))
312 (define-key prof-map [prof-restall] 312 (define-key prof-map [prof-restall]
313 `(menu-item ,(purecopy "Remove Instrumentation for All Functions") elp-restore-all 313 `(menu-item ,(purecopy "Remove Instrumentation for All Functions") elp-restore-all
314 :help ,(purecopy "Restore the original definitions of all functions being profiled"))) 314 :help ,(purecopy "Restore the original definitions of all functions being profiled")))
@@ -332,7 +332,7 @@ font-lock keywords will not be case sensitive."
332 (define-key prof-map [prof-func] 332 (define-key prof-map [prof-func]
333 `(menu-item ,(purecopy "Instrument Function...") elp-instrument-function 333 `(menu-item ,(purecopy "Instrument Function...") elp-instrument-function
334 :help ,(purecopy "Instrument a function for profiling"))) 334 :help ,(purecopy "Instrument a function for profiling")))
335 (define-key menu-map [lint] (cons "Linting" lint-map)) 335 (define-key menu-map [lint] (cons (purecopy "Linting") lint-map))
336 (define-key lint-map [lint-di] 336 (define-key lint-map [lint-di]
337 `(menu-item ,(purecopy "Lint Directory...") elint-directory 337 `(menu-item ,(purecopy "Lint Directory...") elint-directory
338 :help ,(purecopy "Lint a directory"))) 338 :help ,(purecopy "Lint a directory")))
@@ -456,7 +456,7 @@ if that value is non-nil."
456 (set-keymap-parent map lisp-mode-shared-map) 456 (set-keymap-parent map lisp-mode-shared-map)
457 (define-key map "\e\C-x" 'lisp-eval-defun) 457 (define-key map "\e\C-x" 'lisp-eval-defun)
458 (define-key map "\C-c\C-z" 'run-lisp) 458 (define-key map "\C-c\C-z" 'run-lisp)
459 (define-key map [menu-bar lisp] (cons "Lisp" menu-map)) 459 (define-key map [menu-bar lisp] (cons (purecopy "Lisp") menu-map))
460 (define-key menu-map [run-lisp] 460 (define-key menu-map [run-lisp]
461 `(menu-item ,(purecopy "Run inferior Lisp") run-lisp 461 `(menu-item ,(purecopy "Run inferior Lisp") run-lisp
462 :help ,(purecopy "Run an inferior Lisp process, input and output via buffer `*inferior-lisp*'"))) 462 :help ,(purecopy "Run an inferior Lisp process, input and output via buffer `*inferior-lisp*'")))
@@ -520,7 +520,7 @@ if that value is non-nil."
520 (define-key map "\e\C-q" 'indent-pp-sexp) 520 (define-key map "\e\C-q" 'indent-pp-sexp)
521 (define-key map "\e\t" 'lisp-complete-symbol) 521 (define-key map "\e\t" 'lisp-complete-symbol)
522 (define-key map "\n" 'eval-print-last-sexp) 522 (define-key map "\n" 'eval-print-last-sexp)
523 (define-key map [menu-bar lisp-interaction] (cons "Lisp-Interaction" menu-map)) 523 (define-key map [menu-bar lisp-interaction] (cons (purecopy "Lisp-Interaction") menu-map))
524 (define-key menu-map [eval-defun] 524 (define-key menu-map [eval-defun]
525 `(menu-item ,(purecopy "Evaluate Defun") eval-defun 525 `(menu-item ,(purecopy "Evaluate Defun") eval-defun
526 :help ,(purecopy "Evaluate the top-level form containing point, or after point"))) 526 :help ,(purecopy "Evaluate the top-level form containing point, or after point")))
diff --git a/lisp/files.el b/lisp/files.el
index 16210bfbadb..1b158ca1ac4 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -209,7 +209,7 @@ have fast storage with limited space, such as a RAM disk."
209 :type '(choice (const nil) directory)) 209 :type '(choice (const nil) directory))
210 210
211;; The system null device. (Should reference NULL_DEVICE from C.) 211;; The system null device. (Should reference NULL_DEVICE from C.)
212(defvar null-device "/dev/null" "The system null device.") 212(defvar null-device (purecopy "/dev/null") "The system null device.")
213 213
214(declare-function msdos-long-file-names "msdos.c") 214(declare-function msdos-long-file-names "msdos.c")
215(declare-function w32-long-file-name "w32proc.c") 215(declare-function w32-long-file-name "w32proc.c")
@@ -222,15 +222,17 @@ have fast storage with limited space, such as a RAM disk."
222 222
223(defvar file-name-invalid-regexp 223(defvar file-name-invalid-regexp
224 (cond ((and (eq system-type 'ms-dos) (not (msdos-long-file-names))) 224 (cond ((and (eq system-type 'ms-dos) (not (msdos-long-file-names)))
225 (purecopy
225 (concat "^\\([^A-Z[-`a-z]\\|..+\\)?:\\|" ; colon except after drive 226 (concat "^\\([^A-Z[-`a-z]\\|..+\\)?:\\|" ; colon except after drive
226 "[+, ;=|<>\"?*]\\|\\[\\|\\]\\|" ; invalid characters 227 "[+, ;=|<>\"?*]\\|\\[\\|\\]\\|" ; invalid characters
227 "[\000-\037]\\|" ; control characters 228 "[\000-\037]\\|" ; control characters
228 "\\(/\\.\\.?[^/]\\)\\|" ; leading dots 229 "\\(/\\.\\.?[^/]\\)\\|" ; leading dots
229 "\\(/[^/.]+\\.[^/.]*\\.\\)")) ; more than a single dot 230 "\\(/[^/.]+\\.[^/.]*\\.\\)"))) ; more than a single dot
230 ((memq system-type '(ms-dos windows-nt cygwin)) 231 ((memq system-type '(ms-dos windows-nt cygwin))
232 (purecopy
231 (concat "^\\([^A-Z[-`a-z]\\|..+\\)?:\\|" ; colon except after drive 233 (concat "^\\([^A-Z[-`a-z]\\|..+\\)?:\\|" ; colon except after drive
232 "[|<>\"?*\000-\037]")) ; invalid characters 234 "[|<>\"?*\000-\037]"))) ; invalid characters
233 (t "[\000]")) 235 (t (purecopy "[\000]")))
234 "Regexp recognizing file names which aren't allowed by the filesystem.") 236 "Regexp recognizing file names which aren't allowed by the filesystem.")
235 237
236(defcustom file-precious-flag nil 238(defcustom file-precious-flag nil
@@ -766,7 +768,7 @@ PATH-AND-SUFFIXES is a pair of lists, (DIRECTORIES . SUFFIXES)."
766(make-obsolete 'locate-file-completion 'locate-file-completion-table "23.1") 768(make-obsolete 'locate-file-completion 'locate-file-completion-table "23.1")
767 769
768(defvar locate-dominating-stop-dir-regexp 770(defvar locate-dominating-stop-dir-regexp
769 "\\`\\(?:[\\/][\\/][^\\/]+[\\/]\\|/\\(?:net\\|afs\\|\\.\\.\\.\\)/\\)\\'" 771 (purecopy "\\`\\(?:[\\/][\\/][^\\/]+[\\/]\\|/\\(?:net\\|afs\\|\\.\\.\\.\\)/\\)\\'")
770 "Regexp of directory names which stop the search in `locate-dominating-file'. 772 "Regexp of directory names which stop the search in `locate-dominating-file'.
771Any directory whose name matches this regexp will be treated like 773Any directory whose name matches this regexp will be treated like
772a kind of root directory by `locate-dominating-file' which will stop its search 774a kind of root directory by `locate-dominating-file' which will stop its search
@@ -2359,7 +2361,7 @@ and `magic-mode-alist', which determines modes based on file contents.")
2359 ;; and pike-mode) are added through autoload directives in that 2361 ;; and pike-mode) are added through autoload directives in that
2360 ;; file. That way is discouraged since it spreads out the 2362 ;; file. That way is discouraged since it spreads out the
2361 ;; definition of the initial value. 2363 ;; definition of the initial value.
2362 (mapc 2364 (mapcar
2363 (lambda (l) 2365 (lambda (l)
2364 (cons (purecopy (car l)) (cdr l))) 2366 (cons (purecopy (car l)) (cdr l)))
2365 '(("perl" . perl-mode) 2367 '(("perl" . perl-mode)
@@ -2404,7 +2406,7 @@ of a script, mode MODE is enabled.
2404 2406
2405See also `auto-mode-alist'.") 2407See also `auto-mode-alist'.")
2406 2408
2407(defvar inhibit-first-line-modes-regexps '("\\.tar\\'" "\\.tgz\\'") 2409(defvar inhibit-first-line-modes-regexps (mapcar 'purecopy '("\\.tar\\'" "\\.tgz\\'"))
2408 "List of regexps; if one matches a file name, don't look for `-*-'.") 2410 "List of regexps; if one matches a file name, don't look for `-*-'.")
2409 2411
2410(defvar inhibit-first-line-modes-suffixes nil 2412(defvar inhibit-first-line-modes-suffixes nil
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el
index 8f44cc6f60f..d472749bd29 100644
--- a/lisp/mail/rmail.el
+++ b/lisp/mail/rmail.el
@@ -297,7 +297,7 @@ also the To field, unless this would leave an empty To field."
297 :group 'rmail-reply) 297 :group 'rmail-reply)
298 298
299;;;###autoload 299;;;###autoload
300(defvar rmail-default-dont-reply-to-names "\\`info-" 300(defvar rmail-default-dont-reply-to-names (purecopy "\\`info-")
301 "Regexp specifying part of the default value of `rmail-dont-reply-to-names'. 301 "Regexp specifying part of the default value of `rmail-dont-reply-to-names'.
302This is used when the user does not set `rmail-dont-reply-to-names' 302This is used when the user does not set `rmail-dont-reply-to-names'
303explicitly. (The other part of the default value is the user's 303explicitly. (The other part of the default value is the user's
@@ -308,6 +308,7 @@ used for large mailing lists to broadcast announcements.")
308 308
309;;;###autoload 309;;;###autoload
310(defcustom rmail-ignored-headers 310(defcustom rmail-ignored-headers
311 (purecopy
311 (concat "^via:\\|^mail-from:\\|^origin:\\|^references:\\|^sender:" 312 (concat "^via:\\|^mail-from:\\|^origin:\\|^references:\\|^sender:"
312 "\\|^status:\\|^received:\\|^x400-originator:\\|^x400-recipients:" 313 "\\|^status:\\|^received:\\|^x400-originator:\\|^x400-recipients:"
313 "\\|^x400-received:\\|^x400-mts-identifier:\\|^x400-content-type:" 314 "\\|^x400-received:\\|^x400-mts-identifier:\\|^x400-content-type:"
@@ -324,7 +325,7 @@ used for large mailing lists to broadcast announcements.")
324 "\\|^mbox-line:\\|^cancel-lock:" 325 "\\|^mbox-line:\\|^cancel-lock:"
325 "\\|^DomainKey-Signature:\\|^dkim-signature:" 326 "\\|^DomainKey-Signature:\\|^dkim-signature:"
326 "\\|^resent-face:\\|^resent-x.*:\\|^resent-organization:\\|^resent-openpgp:" 327 "\\|^resent-face:\\|^resent-x.*:\\|^resent-organization:\\|^resent-openpgp:"
327 "\\|^x-.*:") 328 "\\|^x-.*:"))
328 "Regexp to match header fields that Rmail should normally hide. 329 "Regexp to match header fields that Rmail should normally hide.
329\(See also `rmail-nonignored-headers', which overrides this regexp.) 330\(See also `rmail-nonignored-headers', which overrides this regexp.)
330This variable is used for reformatting the message header, 331This variable is used for reformatting the message header,
@@ -360,14 +361,14 @@ If nil, display all header fields except those matched by
360 :group 'rmail-headers) 361 :group 'rmail-headers)
361 362
362;;;###autoload 363;;;###autoload
363(defcustom rmail-retry-ignored-headers "^x-authentication-warning:\\|^x-detected-operating-system:\\|^x-spam[-a-z]*:\\|content-type:\\|content-transfer-encoding:\\|mime-version:" 364(defcustom rmail-retry-ignored-headers (purecopy "^x-authentication-warning:\\|^x-detected-operating-system:\\|^x-spam[-a-z]*:\\|content-type:\\|content-transfer-encoding:\\|mime-version:")
364 "Headers that should be stripped when retrying a failed message." 365 "Headers that should be stripped when retrying a failed message."
365 :type '(choice regexp (const nil :tag "None")) 366 :type '(choice regexp (const nil :tag "None"))
366 :group 'rmail-headers 367 :group 'rmail-headers
367 :version "23.2") ; added x-detected-operating-system, x-spam 368 :version "23.2") ; added x-detected-operating-system, x-spam
368 369
369;;;###autoload 370;;;###autoload
370(defcustom rmail-highlighted-headers "^From:\\|^Subject:" 371(defcustom rmail-highlighted-headers (purecopy "^From:\\|^Subject:")
371 "Regexp to match Header fields that Rmail should normally highlight. 372 "Regexp to match Header fields that Rmail should normally highlight.
372A value of nil means don't highlight. Uses the face `rmail-highlight'." 373A value of nil means don't highlight. Uses the face `rmail-highlight'."
373 :type 'regexp 374 :type 'regexp
@@ -418,12 +419,12 @@ the frame where you have the RMAIL buffer displayed."
418 :group 'rmail-reply) 419 :group 'rmail-reply)
419 420
420;;;###autoload 421;;;###autoload
421(defcustom rmail-secondary-file-directory "~/" 422(defcustom rmail-secondary-file-directory (purecopy "~/")
422 "Directory for additional secondary Rmail files." 423 "Directory for additional secondary Rmail files."
423 :type 'directory 424 :type 'directory
424 :group 'rmail-files) 425 :group 'rmail-files)
425;;;###autoload 426;;;###autoload
426(defcustom rmail-secondary-file-regexp "\\.xmail$" 427(defcustom rmail-secondary-file-regexp (purecopy "\\.xmail$")
427 "Regexp for which files are secondary Rmail files." 428 "Regexp for which files are secondary Rmail files."
428 :type 'regexp 429 :type 'regexp
429 :group 'rmail-files) 430 :group 'rmail-files)
diff --git a/lisp/mail/sendmail.el b/lisp/mail/sendmail.el
index f8b2052dd21..ee9ed70f8c3 100644
--- a/lisp/mail/sendmail.el
+++ b/lisp/mail/sendmail.el
@@ -172,7 +172,7 @@ This is used by the default mail-sending commands. See also
172 :group 'sendmail) 172 :group 'sendmail)
173 173
174;;;###autoload 174;;;###autoload
175(defcustom mail-header-separator "--text follows this line--" 175(defcustom mail-header-separator (purecopy "--text follows this line--")
176 "Line used to separate headers from text in messages being composed." 176 "Line used to separate headers from text in messages being composed."
177 :type 'string 177 :type 'string
178 :group 'sendmail) 178 :group 'sendmail)
@@ -212,7 +212,7 @@ This variable has no effect unless your system uses sendmail as its mailer."
212 :group 'sendmail) 212 :group 'sendmail)
213 213
214;;;###autoload 214;;;###autoload
215(defcustom mail-personal-alias-file "~/.mailrc" 215(defcustom mail-personal-alias-file (purecopy "~/.mailrc")
216 "If non-nil, the name of the user's personal mail alias file. 216 "If non-nil, the name of the user's personal mail alias file.
217This file typically should be in same format as the `.mailrc' file used by 217This file typically should be in same format as the `.mailrc' file used by
218the `Mail' or `mailx' program. 218the `Mail' or `mailx' program.
diff --git a/lisp/mouse.el b/lisp/mouse.el
index 9fa5e8cd284..ccf8fb77e09 100644
--- a/lisp/mouse.el
+++ b/lisp/mouse.el
@@ -1850,6 +1850,7 @@ a large number if you prefer a mixed multitude. The default is 4."
1850 :version "20.3") 1850 :version "20.3")
1851 1851
1852(defvar mouse-buffer-menu-mode-groups 1852(defvar mouse-buffer-menu-mode-groups
1853 (mapcar (lambda (arg) (cons (purecopy (car arg)) (purecopy (cdr arg))))
1853 '(("Info\\|Help\\|Apropos\\|Man" . "Help") 1854 '(("Info\\|Help\\|Apropos\\|Man" . "Help")
1854 ("\\bVM\\b\\|\\bMH\\b\\|Message\\|Mail\\|Group\\|Score\\|Summary\\|Article" 1855 ("\\bVM\\b\\|\\bMH\\b\\|Message\\|Mail\\|Group\\|Score\\|Summary\\|Article"
1855 . "Mail/News") 1856 . "Mail/News")
@@ -1859,7 +1860,7 @@ a large number if you prefer a mixed multitude. The default is 4."
1859 ("Outline" . "Text") 1860 ("Outline" . "Text")
1860 ("\\(HT\\|SG\\|X\\|XHT\\)ML" . "SGML") 1861 ("\\(HT\\|SG\\|X\\|XHT\\)ML" . "SGML")
1861 ("log\\|diff\\|vc\\|cvs\\|Annotate" . "Version Control") ; "Change Management"? 1862 ("log\\|diff\\|vc\\|cvs\\|Annotate" . "Version Control") ; "Change Management"?
1862 ("Lisp" . "Lisp")) 1863 ("Lisp" . "Lisp")))
1863 "How to group various major modes together in \\[mouse-buffer-menu]. 1864 "How to group various major modes together in \\[mouse-buffer-menu].
1864Each element has the form (REGEXP . GROUPNAME). 1865Each element has the form (REGEXP . GROUPNAME).
1865If the major mode's name string matches REGEXP, use GROUPNAME instead.") 1866If the major mode's name string matches REGEXP, use GROUPNAME instead.")
@@ -2353,10 +2354,14 @@ and selects that window."
2353 (cdr elt))))) 2354 (cdr elt)))))
2354 2355
2355(defvar x-fixed-font-alist 2356(defvar x-fixed-font-alist
2356 '("Font Menu" 2357 (list
2357 ("Misc" 2358 (purecopy "Font Menu")
2359 (cons
2360 (purecopy "Misc")
2361 (mapcar
2362 (lambda (arg) (cons (purecopy (car arg)) (purecopy (cdr arg))))
2358 ;; For these, we specify the pixel height and width. 2363 ;; For these, we specify the pixel height and width.
2359 ("fixed" "fixed") 2364 '(("fixed" "fixed")
2360 ("6x10" "-misc-fixed-medium-r-normal--10-*-*-*-c-60-iso8859-1" "6x10") 2365 ("6x10" "-misc-fixed-medium-r-normal--10-*-*-*-c-60-iso8859-1" "6x10")
2361 ("6x12" 2366 ("6x12"
2362 "-misc-fixed-medium-r-semicondensed--12-*-*-*-c-60-iso8859-1" "6x12") 2367 "-misc-fixed-medium-r-semicondensed--12-*-*-*-c-60-iso8859-1" "6x12")
@@ -2393,10 +2398,14 @@ and selects that window."
2393 "-b&h-lucidatypewriter-bold-r-normal-sans-*-240-*-*-*-*-iso8859-1") 2398 "-b&h-lucidatypewriter-bold-r-normal-sans-*-240-*-*-*-*-iso8859-1")
2394 ;; ("lucidatypewriter-bold-r-24" "-b&h-lucidatypewriter-bold-r-normal-sans-24-240-75-75-m-140-iso8859-1") 2399 ;; ("lucidatypewriter-bold-r-24" "-b&h-lucidatypewriter-bold-r-normal-sans-24-240-75-75-m-140-iso8859-1")
2395 ;; ("fixed-medium-20" "-misc-fixed-medium-*-*-*-20-*-*-*-*-*-*-*") 2400 ;; ("fixed-medium-20" "-misc-fixed-medium-*-*-*-20-*-*-*-*-*-*-*")
2396 ) 2401 )))
2397 ("Courier" 2402
2403 (cons
2404 (purecopy "Courier")
2405 (mapcar
2406 (lambda (arg) (cons (purecopy (car arg)) (purecopy (cdr arg))))
2398 ;; For these, we specify the point height. 2407 ;; For these, we specify the point height.
2399 ("8" "-adobe-courier-medium-r-normal--*-80-*-*-m-*-iso8859-1") 2408 '(("8" "-adobe-courier-medium-r-normal--*-80-*-*-m-*-iso8859-1")
2400 ("10" "-adobe-courier-medium-r-normal--*-100-*-*-m-*-iso8859-1") 2409 ("10" "-adobe-courier-medium-r-normal--*-100-*-*-m-*-iso8859-1")
2401 ("12" "-adobe-courier-medium-r-normal--*-120-*-*-m-*-iso8859-1") 2410 ("12" "-adobe-courier-medium-r-normal--*-120-*-*-m-*-iso8859-1")
2402 ("14" "-adobe-courier-medium-r-normal--*-140-*-*-m-*-iso8859-1") 2411 ("14" "-adobe-courier-medium-r-normal--*-140-*-*-m-*-iso8859-1")
@@ -2419,8 +2428,8 @@ and selects that window."
2419 ("12 bold slant" "-adobe-courier-bold-o-normal--*-120-*-*-m-*-iso8859-1") 2428 ("12 bold slant" "-adobe-courier-bold-o-normal--*-120-*-*-m-*-iso8859-1")
2420 ("14 bold slant" "-adobe-courier-bold-o-normal--*-140-*-*-m-*-iso8859-1") 2429 ("14 bold slant" "-adobe-courier-bold-o-normal--*-140-*-*-m-*-iso8859-1")
2421 ("18 bold slant" "-adobe-courier-bold-o-normal--*-180-*-*-m-*-iso8859-1") 2430 ("18 bold slant" "-adobe-courier-bold-o-normal--*-180-*-*-m-*-iso8859-1")
2422 ("24 bold slant" "-adobe-courier-bold-o-normal--*-240-*-*-m-*-iso8859-1")) 2431 ("24 bold slant" "-adobe-courier-bold-o-normal--*-240-*-*-m-*-iso8859-1")
2423 ) 2432 ))))
2424 "X fonts suitable for use in Emacs.") 2433 "X fonts suitable for use in Emacs.")
2425 2434
2426(declare-function generate-fontset-menu "fontset" ()) 2435(declare-function generate-fontset-menu "fontset" ())
diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el
index 4807d64f053..4638778f798 100644
--- a/lisp/progmodes/ruby-mode.el
+++ b/lisp/progmodes/ruby-mode.el
@@ -1419,11 +1419,11 @@ The variable `ruby-indent-level' controls the amount of indentation.
1419;;; Invoke ruby-mode when appropriate 1419;;; Invoke ruby-mode when appropriate
1420 1420
1421;;;###autoload 1421;;;###autoload
1422(add-to-list 'auto-mode-alist '("\\.rb\\'" . ruby-mode)) 1422(add-to-list 'auto-mode-alist (cons (purecopy "\\.rb\\'") 'ruby-mode))
1423 1423
1424;;;###autoload 1424;;;###autoload
1425(dolist (name (list "ruby" "rbx" "jruby" "ruby1.9" "ruby1.8")) 1425(dolist (name (list "ruby" "rbx" "jruby" "ruby1.9" "ruby1.8"))
1426 (add-to-list 'interpreter-mode-alist (cons name 'ruby-mode))) 1426 (add-to-list 'interpreter-mode-alist (cons (purecopy name) 'ruby-mode)))
1427 1427
1428(provide 'ruby-mode) 1428(provide 'ruby-mode)
1429 1429
diff --git a/lisp/ps-print.el b/lisp/ps-print.el
index 48a494a787b..8bf3d91607d 100644
--- a/lisp/ps-print.el
+++ b/lisp/ps-print.el
@@ -1832,6 +1832,7 @@ If it's nil, automatic feeding takes place."
1832 1832
1833;;;###autoload 1833;;;###autoload
1834(defcustom ps-page-dimensions-database 1834(defcustom ps-page-dimensions-database
1835 (purecopy
1835 (list (list 'a4 (/ (* 72 21.0) 2.54) (/ (* 72 29.7) 2.54) "A4") 1836 (list (list 'a4 (/ (* 72 21.0) 2.54) (/ (* 72 29.7) 2.54) "A4")
1836 (list 'a3 (/ (* 72 29.7) 2.54) (/ (* 72 42.0) 2.54) "A3") 1837 (list 'a3 (/ (* 72 29.7) 2.54) (/ (* 72 42.0) 2.54) "A3")
1837 (list 'letter (* 72 8.5) (* 72 11.0) "Letter") 1838 (list 'letter (* 72 8.5) (* 72 11.0) "Letter")
@@ -1868,7 +1869,7 @@ If it's nil, automatic feeding takes place."
1868 '(topcoatedpaper 396.0 136.0 "TopcoatedPaper150") 1869 '(topcoatedpaper 396.0 136.0 "TopcoatedPaper150")
1869 '(vhsface 205.0 127.0 "VHSFace") 1870 '(vhsface 205.0 127.0 "VHSFace")
1870 '(vhsspine 400.0 50.0 "VHSSpine") 1871 '(vhsspine 400.0 50.0 "VHSSpine")
1871 '(zipdisk 156.0 136.0 "ZipDisk")) 1872 '(zipdisk 156.0 136.0 "ZipDisk")))
1872 "List associating a symbolic paper type to its width, height and doc media. 1873 "List associating a symbolic paper type to its width, height and doc media.
1873See `ps-paper-type'." 1874See `ps-paper-type'."
1874 :type '(repeat (list :tag "Paper Type" 1875 :type '(repeat (list :tag "Paper Type"
diff --git a/lisp/startup.el b/lisp/startup.el
index c3cfcdcc56a..aaf9df26e08 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -1240,7 +1240,7 @@ If this is nil, no message will be displayed."
1240;;; Fancy splash screen 1240;;; Fancy splash screen
1241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 1241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1242 1242
1243(defvar fancy-startup-text 1243(defconst fancy-startup-text
1244 '((:face (variable-pitch (:foreground "red")) 1244 '((:face (variable-pitch (:foreground "red"))
1245 "Welcome to " 1245 "Welcome to "
1246 :link ("GNU Emacs" 1246 :link ("GNU Emacs"
@@ -1296,7 +1296,7 @@ If this is nil, no message will be displayed."
1296Each element in the list should be a list of strings or pairs 1296Each element in the list should be a list of strings or pairs
1297`:face FACE', like `fancy-splash-insert' accepts them.") 1297`:face FACE', like `fancy-splash-insert' accepts them.")
1298 1298
1299(defvar fancy-about-text 1299(defconst fancy-about-text
1300 '((:face (variable-pitch (:foreground "red")) 1300 '((:face (variable-pitch (:foreground "red"))
1301 "This is " 1301 "This is "
1302 :link ("GNU Emacs" 1302 :link ("GNU Emacs"
diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el
index 6a34956604c..f4aca3198ab 100644
--- a/lisp/textmodes/tex-mode.el
+++ b/lisp/textmodes/tex-mode.el
@@ -199,10 +199,10 @@ use."
199 199
200;;;###autoload 200;;;###autoload
201(defcustom tex-dvi-view-command 201(defcustom tex-dvi-view-command
202 '(cond 202 `(cond
203 ((eq window-system 'x) "xdvi") 203 ((eq window-system 'x) ,(purecopy "xdvi"))
204 ((eq window-system 'w32) "yap") 204 ((eq window-system 'w32) ,(purecopy "yap"))
205 (t "dvi2tty * | cat -s")) 205 (t ,(purecopy "dvi2tty * | cat -s")))
206 "*Command used by \\[tex-view] to display a `.dvi' file. 206 "*Command used by \\[tex-view] to display a `.dvi' file.
207If it is a string, that specifies the command directly. 207If it is a string, that specifies the command directly.
208If this string contains an asterisk (`*'), that is replaced by the file name; 208If this string contains an asterisk (`*'), that is replaced by the file name;
@@ -213,7 +213,7 @@ If the value is a form, it is evaluated to get the command to use."
213 :group 'tex-view) 213 :group 'tex-view)
214 214
215;;;###autoload 215;;;###autoload
216(defcustom tex-show-queue-command "lpq" 216(defcustom tex-show-queue-command (purecopy "lpq")
217 "*Command used by \\[tex-show-print-queue] to show the print queue. 217 "*Command used by \\[tex-show-print-queue] to show the print queue.
218Should show the queue(s) that \\[tex-print] puts jobs on." 218Should show the queue(s) that \\[tex-print] puts jobs on."
219 :type 'string 219 :type 'string
@@ -229,14 +229,14 @@ Normally set to either `plain-tex-mode' or `latex-mode'."
229 :group 'tex) 229 :group 'tex)
230 230
231;;;###autoload 231;;;###autoload
232(defcustom tex-open-quote "``" 232(defcustom tex-open-quote (purecopy "``")
233 "*String inserted by typing \\[tex-insert-quote] to open a quotation." 233 "*String inserted by typing \\[tex-insert-quote] to open a quotation."
234 :type 'string 234 :type 'string
235 :options '("``" "\"<" "\"`" "<<" "«") 235 :options '("``" "\"<" "\"`" "<<" "«")
236 :group 'tex) 236 :group 'tex)
237 237
238;;;###autoload 238;;;###autoload
239(defcustom tex-close-quote "''" 239(defcustom tex-close-quote (purecopy "''")
240 "*String inserted by typing \\[tex-insert-quote] to close a quotation." 240 "*String inserted by typing \\[tex-insert-quote] to close a quotation."
241 :type 'string 241 :type 'string
242 :options '("''" "\">" "\"'" ">>" "»") 242 :options '("''" "\">" "\"'" ">>" "»")
diff --git a/lisp/x-dnd.el b/lisp/x-dnd.el
index f10506a6a9f..fc593224d24 100644
--- a/lisp/x-dnd.el
+++ b/lisp/x-dnd.el
@@ -52,19 +52,19 @@ The default value for this variable is `x-dnd-default-test-function'."
52 52
53 53
54(defcustom x-dnd-types-alist 54(defcustom x-dnd-types-alist
55 '( 55 `(
56 ("text/uri-list" . x-dnd-handle-uri-list) 56 (,(purecopy "text/uri-list") . x-dnd-handle-uri-list)
57 ("text/x-moz-url" . x-dnd-handle-moz-url) 57 (,(purecopy "text/x-moz-url") . x-dnd-handle-moz-url)
58 ("_NETSCAPE_URL" . x-dnd-handle-uri-list) 58 (,(purecopy "_NETSCAPE_URL") . x-dnd-handle-uri-list)
59 ("FILE_NAME" . x-dnd-handle-file-name) 59 (,(purecopy "FILE_NAME") . x-dnd-handle-file-name)
60 ("UTF8_STRING" . x-dnd-insert-utf8-text) 60 (,(purecopy "UTF8_STRING") . x-dnd-insert-utf8-text)
61 ("text/plain;charset=UTF-8" . x-dnd-insert-utf8-text) 61 (,(purecopy "text/plain;charset=UTF-8") . x-dnd-insert-utf8-text)
62 ("text/plain;charset=utf-8" . x-dnd-insert-utf8-text) 62 (,(purecopy "text/plain;charset=utf-8") . x-dnd-insert-utf8-text)
63 ("text/unicode" . x-dnd-insert-utf16-text) 63 (,(purecopy "text/unicode") . x-dnd-insert-utf16-text)
64 ("text/plain" . dnd-insert-text) 64 (,(purecopy "text/plain") . dnd-insert-text)
65 ("COMPOUND_TEXT" . x-dnd-insert-ctext) 65 (,(purecopy "COMPOUND_TEXT") . x-dnd-insert-ctext)
66 ("STRING" . dnd-insert-text) 66 (,(purecopy "STRING") . dnd-insert-text)
67 ("TEXT" . dnd-insert-text) 67 (,(purecopy "TEXT") . dnd-insert-text)
68 ) 68 )
69 "Which function to call to handle a drop of that type. 69 "Which function to call to handle a drop of that type.
70If the type for the drop is not present, or the function is nil, 70If the type for the drop is not present, or the function is nil,
@@ -372,7 +372,7 @@ Currently XDND, Motif and old KDE 1.x protocols are recognized."
372;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 372;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
373;;; XDND protocol. 373;;; XDND protocol.
374 374
375(defvar x-dnd-xdnd-to-action 375(defconst x-dnd-xdnd-to-action
376 '(("XdndActionPrivate" . private) 376 '(("XdndActionPrivate" . private)
377 ("XdndActionCopy" . copy) 377 ("XdndActionCopy" . copy)
378 ("XdndActionMove" . move) 378 ("XdndActionMove" . move)