]> git.eshelyaron.com Git - emacs.git/commitdiff
* textmodes/tex-mode.el (tex-dvi-view-command)
authorDan Nicolaescu <dann@ics.uci.edu>
Mon, 26 Oct 2009 06:43:36 +0000 (06:43 +0000)
committerDan Nicolaescu <dann@ics.uci.edu>
Mon, 26 Oct 2009 06:43:36 +0000 (06:43 +0000)
(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.

15 files changed:
lisp/ChangeLog
lisp/bindings.el
lisp/buff-menu.el
lisp/emacs-lisp/byte-run.el
lisp/emacs-lisp/derived.el
lisp/emacs-lisp/lisp-mode.el
lisp/files.el
lisp/mail/rmail.el
lisp/mail/sendmail.el
lisp/mouse.el
lisp/progmodes/ruby-mode.el
lisp/ps-print.el
lisp/startup.el
lisp/textmodes/tex-mode.el
lisp/x-dnd.el

index 8a04c228c53e63b9bcbb7f95693769cc02c3b521..9e72d7d8bdfbe08fafd81042d5a3522d3ed53196 100644 (file)
@@ -1,3 +1,44 @@
+2009-10-26  Dan Nicolaescu  <dann@ics.uci.edu>
+
+       * 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.
+
 2009-10-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * pcomplete.el (pcomplete-std-complete): Obey pcomplete-use-paring.
index 4bcd9a740ea07be20166d4bc95e15393b39a52bc..568d8de5f720aac9c897f5a4da9149627d61b8cf 100644 (file)
@@ -294,7 +294,7 @@ Menu of mode operations in the mode line.")
 (defvar mode-line-major-mode-keymap
   (let ((map (make-sparse-keymap)))
     (define-key map [mode-line down-mouse-1]
-      '(menu-item "Menu Bar" ignore
+      `(menu-item ,(purecopy "Menu Bar") ignore
         :filter (lambda (_) (mouse-menu-major-mode-map))))
     (define-key map [mode-line mouse-2] 'describe-mode)
     (define-key map [mode-line down-mouse-3] mode-line-mode-menu)
@@ -593,11 +593,14 @@ is okay.  See `mode-line-format'.")
 (setq completion-ignored-extensions
       (append
        (cond ((memq system-type '(ms-dos windows-nt))
+             (mapcar 'purecopy
              '(".o" "~" ".bin" ".bak" ".obj" ".map" ".ico" ".pif" ".lnk"
-               ".a" ".ln" ".blg" ".bbl" ".dll" ".drv" ".vxd" ".386"))
+               ".a" ".ln" ".blg" ".bbl" ".dll" ".drv" ".vxd" ".386")))
             (t
+             (mapcar 'purecopy
              '(".o" "~" ".bin" ".lbin" ".so"
-               ".a" ".ln" ".blg" ".bbl")))
+               ".a" ".ln" ".blg" ".bbl"))))
+       (mapcar 'purecopy
        '(".elc" ".lof"
         ".glo" ".idx" ".lot"
         ;; VCS metadata directories
@@ -624,7 +627,7 @@ is okay.  See `mode-line-format'.")
         ".cp" ".fn" ".ky" ".pg" ".tp" ".vr"
         ".cps" ".fns" ".kys" ".pgs" ".tps" ".vrs"
         ;; Python byte-compiled
-        ".pyc" ".pyo")))
+        ".pyc" ".pyo"))))
 
 ;; Suffixes used for executables.
 (setq exec-suffixes
@@ -637,24 +640,24 @@ is okay.  See `mode-line-format'.")
 ;; Packages should add to this list appropriately when they are
 ;; loaded, rather than listing everything here.
 (setq debug-ignored-errors
-      '(beginning-of-line beginning-of-buffer end-of-line
+      `(beginning-of-line beginning-of-buffer end-of-line
        end-of-buffer end-of-file buffer-read-only
        file-supersession
-       "^Previous command was not a yank$"
-       "^Minibuffer window is not active$"
-       "^No previous history search regexp$"
-       "^No later matching history item$"
-       "^No earlier matching history item$"
-       "^End of history; no default available$"
-       "^End of defaults; no next item$"
-       "^Beginning of history; no preceding item$"
-       "^No recursive edit is in progress$"
-       "^Changes to be undone are outside visible portion of buffer$"
-       "^No undo information in this buffer$"
-       "^No further undo information"
-       "^Save not confirmed$"
-       "^Recover-file cancelled\\.$"
-       "^Cannot switch buffers in a dedicated window$"
+       ,(purecopy "^Previous command was not a yank$")
+       ,(purecopy "^Minibuffer window is not active$")
+       ,(purecopy "^No previous history search regexp$")
+       ,(purecopy "^No later matching history item$")
+       ,(purecopy "^No earlier matching history item$")
+       ,(purecopy "^End of history; no default available$")
+       ,(purecopy "^End of defaults; no next item$")
+       ,(purecopy "^Beginning of history; no preceding item$")
+       ,(purecopy "^No recursive edit is in progress$")
+       ,(purecopy "^Changes to be undone are outside visible portion of buffer$")
+       ,(purecopy "^No undo information in this buffer$")
+       ,(purecopy "^No further undo information")
+       ,(purecopy "^Save not confirmed$")
+       ,(purecopy "^Recover-file cancelled\\.$")
+       ,(purecopy "^Cannot switch buffers in a dedicated window$")
         ))
 
 
index 34b1c245e080acfe9870164af213d23c402e4fbd..3d1aa4e9f38d8c0f33c93f24b65b00b38d58555c 100644 (file)
@@ -151,7 +151,7 @@ Auto Revert Mode.")
     (define-key map [follow-link] 'mouse-face)
     (define-key map (kbd "M-s a C-s")   'Buffer-menu-isearch-buffers)
     (define-key map (kbd "M-s a M-C-s") 'Buffer-menu-isearch-buffers-regexp)
-    (define-key map [menu-bar Buffer-menu-mode] (cons "Buffer Menu" menu-map))
+    (define-key map [menu-bar Buffer-menu-mode] (cons (purecopy "Buffer Menu") menu-map))
     (define-key menu-map [quit]
       `(menu-item ,(purecopy "Quit") quit-window
                 :help ,(purecopy "Mark buffer on this line to be deleted by x command")))
index 7453eb235b35d19e97aeba74a6439d4f1e684f51..a00fdf0e4f56de8dcc45778ab0a34afeec8fc5bd 100644 (file)
@@ -127,7 +127,8 @@ was first made obsolete, for example a date or a release number."
     (if (eq 'byte-compile-obsolete handler)
        (setq handler (nth 1 (get obsolete-name 'byte-obsolete-info)))
       (put obsolete-name 'byte-compile 'byte-compile-obsolete))
-    (put obsolete-name 'byte-obsolete-info (list current-name handler (purecopy when))))
+    (put obsolete-name 'byte-obsolete-info
+        (list (purecopy current-name) handler (purecopy when))))
   obsolete-name)
 (set-advertised-calling-convention
  ;; New code should always provide the `when' argument.
index ef30d7ca33f387e93bcd01614028e064fca6393a..1575d09eaa986b82c141e406247ef515a1b27db9 100644 (file)
@@ -195,16 +195,16 @@ See Info node `(elisp)Derived Modes' for more details."
     `(progn
        (unless (get ',hook 'variable-documentation)
         (put ',hook 'variable-documentation
-             ,(format "Hook run when entering %s mode.
+             (purecopy ,(format "Hook run when entering %s mode.
 No problems result if this variable is not bound.
 `add-hook' automatically binds it.  (This is true for all hook variables.)"
-                      name)))
+                      name))))
        (unless (boundp ',map)
         (put ',map 'definition-name ',child))
        (defvar ,map (make-sparse-keymap))
        (unless (get ',map 'variable-documentation)
         (put ',map 'variable-documentation
-             ,(format "Keymap for `%s'." child)))
+             (purecopy ,(format "Keymap for `%s'." child))))
        ,(if declare-syntax
            `(progn
               (unless (boundp ',syntax)
@@ -212,7 +212,7 @@ No problems result if this variable is not bound.
               (defvar ,syntax (make-syntax-table))
               (unless (get ',syntax 'variable-documentation)
                 (put ',syntax 'variable-documentation
-                     ,(format "Syntax table for `%s'." child)))))
+                     (purecopy ,(format "Syntax table for `%s'." child))))))
        ,(if declare-abbrev
            `(progn
               (put ',abbrev 'definition-name ',child)
@@ -220,7 +220,7 @@ No problems result if this variable is not bound.
                 (progn (define-abbrev-table ',abbrev nil) ,abbrev))
               (unless (get ',abbrev 'variable-documentation)
                 (put ',abbrev 'variable-documentation
-                     ,(format "Abbrev table for `%s'." child)))))
+                     (purecopy ,(format "Abbrev table for `%s'." child))))))
        (put ',child 'derived-mode-parent ',parent)
        ,(if group `(put ',child 'custom-mode-group ,group))
 
index 7e813278c7ad5dd8e0534a7e14df084c0f0d7c1e..f4f2f621664824683055d3223cbf920908848bce 100644 (file)
@@ -283,7 +283,7 @@ font-lock keywords will not be case sensitive."
     (define-key map "\e\t" 'lisp-complete-symbol)
     (define-key map "\e\C-x" 'eval-defun)
     (define-key map "\e\C-q" 'indent-pp-sexp)
-    (define-key map [menu-bar emacs-lisp] (cons "Emacs-Lisp" menu-map))
+    (define-key map [menu-bar emacs-lisp] (cons (purecopy "Emacs-Lisp") menu-map))
     (define-key menu-map [eldoc]
       `(menu-item ,(purecopy "Auto-Display Documentation Strings") eldoc-mode
                  :button (:toggle . (bound-and-true-p eldoc-mode))
@@ -294,7 +294,7 @@ font-lock keywords will not be case sensitive."
     (define-key menu-map [re-builder]
       `(menu-item ,(purecopy "Construct Regexp") re-builder
                  :help ,(purecopy "Construct a regexp interactively")))
-    (define-key menu-map [tracing] (cons "Tracing" tracing-map))
+    (define-key menu-map [tracing] (cons (purecopy "Tracing") tracing-map))
     (define-key tracing-map [tr-a]
       `(menu-item ,(purecopy "Untrace all") untrace-all
                  :help ,(purecopy "Untrace all currently traced functions")))
@@ -308,7 +308,7 @@ font-lock keywords will not be case sensitive."
     (define-key tracing-map [tr-f]
       `(menu-item ,(purecopy "Trace function...") trace-function
                  :help ,(purecopy "Trace the function given as an argument")))
-    (define-key menu-map [profiling] (cons "Profiling" prof-map))
+    (define-key menu-map [profiling] (cons (purecopy "Profiling") prof-map))
     (define-key prof-map [prof-restall]
       `(menu-item ,(purecopy "Remove Instrumentation for All Functions") elp-restore-all
                  :help ,(purecopy "Restore the original definitions of all functions being profiled")))
@@ -332,7 +332,7 @@ font-lock keywords will not be case sensitive."
     (define-key prof-map [prof-func]
       `(menu-item ,(purecopy "Instrument Function...") elp-instrument-function
                  :help ,(purecopy "Instrument a function for profiling")))
-    (define-key menu-map [lint] (cons "Linting" lint-map))
+    (define-key menu-map [lint] (cons (purecopy "Linting") lint-map))
     (define-key lint-map [lint-di]
       `(menu-item ,(purecopy "Lint Directory...") elint-directory
                  :help ,(purecopy "Lint a directory")))
@@ -456,7 +456,7 @@ if that value is non-nil."
     (set-keymap-parent map lisp-mode-shared-map)
     (define-key map "\e\C-x" 'lisp-eval-defun)
     (define-key map "\C-c\C-z" 'run-lisp)
-    (define-key map [menu-bar lisp] (cons "Lisp" menu-map))
+    (define-key map [menu-bar lisp] (cons (purecopy "Lisp") menu-map))
     (define-key menu-map [run-lisp]
       `(menu-item ,(purecopy "Run inferior Lisp") run-lisp
                  :help ,(purecopy "Run an inferior Lisp process, input and output via buffer `*inferior-lisp*'")))
@@ -520,7 +520,7 @@ if that value is non-nil."
     (define-key map "\e\C-q" 'indent-pp-sexp)
     (define-key map "\e\t" 'lisp-complete-symbol)
     (define-key map "\n" 'eval-print-last-sexp)
-    (define-key map [menu-bar lisp-interaction] (cons "Lisp-Interaction" menu-map))
+    (define-key map [menu-bar lisp-interaction] (cons (purecopy "Lisp-Interaction") menu-map))
     (define-key menu-map [eval-defun]
       `(menu-item ,(purecopy "Evaluate Defun") eval-defun
                  :help ,(purecopy "Evaluate the top-level form containing point, or after point")))
index 16210bfbadb6883ad1b5f87947e8f0de1bb461c0..1b158ca1ac42330f0c7b9159010afde0c043e64c 100644 (file)
@@ -209,7 +209,7 @@ have fast storage with limited space, such as a RAM disk."
   :type '(choice (const nil) directory))
 
 ;; The system null device. (Should reference NULL_DEVICE from C.)
-(defvar null-device "/dev/null" "The system null device.")
+(defvar null-device (purecopy "/dev/null") "The system null device.")
 
 (declare-function msdos-long-file-names "msdos.c")
 (declare-function w32-long-file-name "w32proc.c")
@@ -222,15 +222,17 @@ have fast storage with limited space, such as a RAM disk."
 
 (defvar file-name-invalid-regexp
   (cond ((and (eq system-type 'ms-dos) (not (msdos-long-file-names)))
+        (purecopy
         (concat "^\\([^A-Z[-`a-z]\\|..+\\)?:\\|" ; colon except after drive
                 "[+, ;=|<>\"?*]\\|\\[\\|\\]\\|"  ; invalid characters
                 "[\000-\037]\\|"                 ; control characters
                 "\\(/\\.\\.?[^/]\\)\\|"          ; leading dots
-                "\\(/[^/.]+\\.[^/.]*\\.\\)"))    ; more than a single dot
+                "\\(/[^/.]+\\.[^/.]*\\.\\)")))   ; more than a single dot
        ((memq system-type '(ms-dos windows-nt cygwin))
+        (purecopy
         (concat "^\\([^A-Z[-`a-z]\\|..+\\)?:\\|" ; colon except after drive
-                "[|<>\"?*\000-\037]"))           ; invalid characters
-       (t "[\000]"))
+                "[|<>\"?*\000-\037]")))                  ; invalid characters
+       (t (purecopy "[\000]")))
   "Regexp recognizing file names which aren't allowed by the filesystem.")
 
 (defcustom file-precious-flag nil
@@ -766,7 +768,7 @@ PATH-AND-SUFFIXES is a pair of lists, (DIRECTORIES . SUFFIXES)."
 (make-obsolete 'locate-file-completion 'locate-file-completion-table "23.1")
 
 (defvar locate-dominating-stop-dir-regexp
-  "\\`\\(?:[\\/][\\/][^\\/]+[\\/]\\|/\\(?:net\\|afs\\|\\.\\.\\.\\)/\\)\\'"
+  (purecopy "\\`\\(?:[\\/][\\/][^\\/]+[\\/]\\|/\\(?:net\\|afs\\|\\.\\.\\.\\)/\\)\\'")
   "Regexp of directory names which stop the search in `locate-dominating-file'.
 Any directory whose name matches this regexp will be treated like
 a 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.")
   ;; and pike-mode) are added through autoload directives in that
   ;; file.  That way is discouraged since it spreads out the
   ;; definition of the initial value.
-  (mapc
+  (mapcar
    (lambda (l)
      (cons (purecopy (car l)) (cdr l)))
    '(("perl" . perl-mode)
@@ -2404,7 +2406,7 @@ of a script, mode MODE is enabled.
 
 See also `auto-mode-alist'.")
 
-(defvar inhibit-first-line-modes-regexps '("\\.tar\\'" "\\.tgz\\'")
+(defvar inhibit-first-line-modes-regexps (mapcar 'purecopy '("\\.tar\\'" "\\.tgz\\'"))
   "List of regexps; if one matches a file name, don't look for `-*-'.")
 
 (defvar inhibit-first-line-modes-suffixes nil
index 8f44cc6f60f3a16f350838aaf745e025369c9109..d472749bd29d83308476e3571825d411c3162029 100644 (file)
@@ -297,7 +297,7 @@ also the To field, unless this would leave an empty To field."
   :group 'rmail-reply)
 
 ;;;###autoload
-(defvar rmail-default-dont-reply-to-names "\\`info-"
+(defvar rmail-default-dont-reply-to-names (purecopy "\\`info-")
   "Regexp specifying part of the default value of `rmail-dont-reply-to-names'.
 This is used when the user does not set `rmail-dont-reply-to-names'
 explicitly.  (The other part of the default value is the user's
@@ -308,6 +308,7 @@ used for large mailing lists to broadcast announcements.")
 
 ;;;###autoload
 (defcustom rmail-ignored-headers
+  (purecopy
   (concat "^via:\\|^mail-from:\\|^origin:\\|^references:\\|^sender:"
          "\\|^status:\\|^received:\\|^x400-originator:\\|^x400-recipients:"
          "\\|^x400-received:\\|^x400-mts-identifier:\\|^x400-content-type:"
@@ -324,7 +325,7 @@ used for large mailing lists to broadcast announcements.")
          "\\|^mbox-line:\\|^cancel-lock:"
          "\\|^DomainKey-Signature:\\|^dkim-signature:"
          "\\|^resent-face:\\|^resent-x.*:\\|^resent-organization:\\|^resent-openpgp:"
-         "\\|^x-.*:")
+         "\\|^x-.*:"))
   "Regexp to match header fields that Rmail should normally hide.
 \(See also `rmail-nonignored-headers', which overrides this regexp.)
 This variable is used for reformatting the message header,
@@ -360,14 +361,14 @@ If nil, display all header fields except those matched by
   :group 'rmail-headers)
 
 ;;;###autoload
-(defcustom rmail-retry-ignored-headers "^x-authentication-warning:\\|^x-detected-operating-system:\\|^x-spam[-a-z]*:\\|content-type:\\|content-transfer-encoding:\\|mime-version:"
+(defcustom rmail-retry-ignored-headers (purecopy "^x-authentication-warning:\\|^x-detected-operating-system:\\|^x-spam[-a-z]*:\\|content-type:\\|content-transfer-encoding:\\|mime-version:")
   "Headers that should be stripped when retrying a failed message."
   :type '(choice regexp (const nil :tag "None"))
   :group 'rmail-headers
   :version "23.2")        ; added x-detected-operating-system, x-spam
 
 ;;;###autoload
-(defcustom rmail-highlighted-headers "^From:\\|^Subject:"
+(defcustom rmail-highlighted-headers (purecopy "^From:\\|^Subject:")
   "Regexp to match Header fields that Rmail should normally highlight.
 A value of nil means don't highlight.  Uses the face `rmail-highlight'."
   :type 'regexp
@@ -418,12 +419,12 @@ the frame where you have the RMAIL buffer displayed."
   :group 'rmail-reply)
 
 ;;;###autoload
-(defcustom rmail-secondary-file-directory "~/"
+(defcustom rmail-secondary-file-directory (purecopy "~/")
   "Directory for additional secondary Rmail files."
   :type 'directory
   :group 'rmail-files)
 ;;;###autoload
-(defcustom rmail-secondary-file-regexp "\\.xmail$"
+(defcustom rmail-secondary-file-regexp (purecopy "\\.xmail$")
   "Regexp for which files are secondary Rmail files."
   :type 'regexp
   :group 'rmail-files)
index f8b2052dd2172e805705dad4745226f3b47cf098..ee9ed70f8c33b8db0e245c4fed25380975163a87 100644 (file)
@@ -172,7 +172,7 @@ This is used by the default mail-sending commands.  See also
   :group 'sendmail)
 
 ;;;###autoload
-(defcustom mail-header-separator "--text follows this line--"
+(defcustom mail-header-separator (purecopy "--text follows this line--")
   "Line used to separate headers from text in messages being composed."
   :type 'string
   :group 'sendmail)
@@ -212,7 +212,7 @@ This variable has no effect unless your system uses sendmail as its mailer."
   :group 'sendmail)
 
 ;;;###autoload
-(defcustom mail-personal-alias-file "~/.mailrc"
+(defcustom mail-personal-alias-file (purecopy "~/.mailrc")
   "If non-nil, the name of the user's personal mail alias file.
 This file typically should be in same format as the `.mailrc' file used by
 the `Mail' or `mailx' program.
index 9fa5e8cd28490cd9e0939717ba75b775cdfb066e..ccf8fb77e094fee59636d77cadd3c389c4a7f59e 100644 (file)
@@ -1850,6 +1850,7 @@ a large number if you prefer a mixed multitude.  The default is 4."
   :version "20.3")
 
 (defvar mouse-buffer-menu-mode-groups
+  (mapcar (lambda (arg) (cons  (purecopy (car arg)) (purecopy (cdr arg))))
   '(("Info\\|Help\\|Apropos\\|Man" . "Help")
     ("\\bVM\\b\\|\\bMH\\b\\|Message\\|Mail\\|Group\\|Score\\|Summary\\|Article"
      . "Mail/News")
@@ -1859,7 +1860,7 @@ a large number if you prefer a mixed multitude.  The default is 4."
     ("Outline" . "Text")
     ("\\(HT\\|SG\\|X\\|XHT\\)ML" . "SGML")
     ("log\\|diff\\|vc\\|cvs\\|Annotate" . "Version Control") ; "Change Management"?
-    ("Lisp" . "Lisp"))
+    ("Lisp" . "Lisp")))
   "How to group various major modes together in \\[mouse-buffer-menu].
 Each element has the form (REGEXP . GROUPNAME).
 If the major mode's name string matches REGEXP, use GROUPNAME instead.")
@@ -2353,10 +2354,14 @@ and selects that window."
                  (cdr elt)))))
 
 (defvar x-fixed-font-alist
-  '("Font Menu"
-    ("Misc"
+  (list
+   (purecopy "Font Menu")
+   (cons
+    (purecopy "Misc")
+    (mapcar
+     (lambda (arg) (cons  (purecopy (car arg)) (purecopy (cdr arg))))
      ;; For these, we specify the pixel height and width.
-     ("fixed" "fixed")
+    '(("fixed" "fixed")
      ("6x10" "-misc-fixed-medium-r-normal--10-*-*-*-c-60-iso8859-1" "6x10")
      ("6x12"
       "-misc-fixed-medium-r-semicondensed--12-*-*-*-c-60-iso8859-1" "6x12")
@@ -2393,10 +2398,14 @@ and selects that window."
       "-b&h-lucidatypewriter-bold-r-normal-sans-*-240-*-*-*-*-iso8859-1")
      ;; ("lucidatypewriter-bold-r-24" "-b&h-lucidatypewriter-bold-r-normal-sans-24-240-75-75-m-140-iso8859-1")
      ;; ("fixed-medium-20" "-misc-fixed-medium-*-*-*-20-*-*-*-*-*-*-*")
-     )
-    ("Courier"
+     )))
+
+   (cons
+    (purecopy "Courier")
+    (mapcar
+     (lambda (arg) (cons  (purecopy (car arg)) (purecopy (cdr arg))))
      ;; For these, we specify the point height.
-     ("8" "-adobe-courier-medium-r-normal--*-80-*-*-m-*-iso8859-1")
+     '(("8" "-adobe-courier-medium-r-normal--*-80-*-*-m-*-iso8859-1")
      ("10" "-adobe-courier-medium-r-normal--*-100-*-*-m-*-iso8859-1")
      ("12" "-adobe-courier-medium-r-normal--*-120-*-*-m-*-iso8859-1")
      ("14" "-adobe-courier-medium-r-normal--*-140-*-*-m-*-iso8859-1")
@@ -2419,8 +2428,8 @@ and selects that window."
      ("12 bold slant" "-adobe-courier-bold-o-normal--*-120-*-*-m-*-iso8859-1")
      ("14 bold slant" "-adobe-courier-bold-o-normal--*-140-*-*-m-*-iso8859-1")
      ("18 bold slant" "-adobe-courier-bold-o-normal--*-180-*-*-m-*-iso8859-1")
-     ("24 bold slant" "-adobe-courier-bold-o-normal--*-240-*-*-m-*-iso8859-1"))
-    )
+     ("24 bold slant" "-adobe-courier-bold-o-normal--*-240-*-*-m-*-iso8859-1")
+    ))))
   "X fonts suitable for use in Emacs.")
 
 (declare-function generate-fontset-menu "fontset" ())
index 4807d64f053565c57a8b73597eb6179c138c4bed..4638778f798c3ad6cf4fb105e805464654bbb8f4 100644 (file)
@@ -1419,11 +1419,11 @@ The variable `ruby-indent-level' controls the amount of indentation.
 ;;; Invoke ruby-mode when appropriate
 
 ;;;###autoload
-(add-to-list 'auto-mode-alist '("\\.rb\\'" . ruby-mode))
+(add-to-list 'auto-mode-alist (cons (purecopy "\\.rb\\'") 'ruby-mode))
 
 ;;;###autoload
 (dolist (name (list "ruby" "rbx" "jruby" "ruby1.9" "ruby1.8"))
-  (add-to-list 'interpreter-mode-alist (cons name 'ruby-mode)))
+  (add-to-list 'interpreter-mode-alist (cons (purecopy name) 'ruby-mode)))
 
 (provide 'ruby-mode)
 
index 48a494a787bec3bb24e43d5736b607be08725c8b..8bf3d91607dc07151f44c94141bfb9366de88229 100644 (file)
@@ -1832,6 +1832,7 @@ If it's nil, automatic feeding takes place."
 
 ;;;###autoload
 (defcustom ps-page-dimensions-database
+ (purecopy
   (list (list 'a4    (/ (* 72 21.0) 2.54)  (/ (* 72 29.7) 2.54) "A4")
        (list 'a3    (/ (* 72 29.7) 2.54)  (/ (* 72 42.0) 2.54) "A3")
        (list 'letter       (* 72  8.5)    (* 72 11.0)          "Letter")
@@ -1868,7 +1869,7 @@ If it's nil, automatic feeding takes place."
        '(topcoatedpaper     396.0     136.0 "TopcoatedPaper150")
        '(vhsface            205.0     127.0 "VHSFace")
        '(vhsspine           400.0      50.0 "VHSSpine")
-       '(zipdisk            156.0     136.0 "ZipDisk"))
+       '(zipdisk            156.0     136.0 "ZipDisk")))
   "List associating a symbolic paper type to its width, height and doc media.
 See `ps-paper-type'."
   :type '(repeat (list :tag "Paper Type"
index c3cfcdcc56ad968cfd0c84d0349b73dd7605370f..aaf9df26e0838a0eb7789c982823d944f84e2a29 100644 (file)
@@ -1240,7 +1240,7 @@ If this is nil, no message will be displayed."
 ;;; Fancy splash screen
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
-(defvar fancy-startup-text
+(defconst fancy-startup-text
   '((:face (variable-pitch (:foreground "red"))
      "Welcome to "
      :link ("GNU Emacs"
@@ -1296,7 +1296,7 @@ If this is nil, no message will be displayed."
 Each element in the list should be a list of strings or pairs
 `:face FACE', like `fancy-splash-insert' accepts them.")
 
-(defvar fancy-about-text
+(defconst fancy-about-text
   '((:face (variable-pitch (:foreground "red"))
      "This is "
      :link ("GNU Emacs"
index 6a34956604c090974246adbbb7b8505872d528bc..f4aca3198ab133e0d7276b92ac162e301a81e6aa 100644 (file)
@@ -199,10 +199,10 @@ use."
 
 ;;;###autoload
 (defcustom tex-dvi-view-command
-  '(cond
-    ((eq window-system 'x) "xdvi")
-    ((eq window-system 'w32) "yap")
-    (t "dvi2tty * | cat -s"))
+  `(cond
+    ((eq window-system 'x) ,(purecopy "xdvi"))
+    ((eq window-system 'w32) ,(purecopy "yap"))
+    (t ,(purecopy "dvi2tty * | cat -s")))
   "*Command used by \\[tex-view] to display a `.dvi' file.
 If it is a string, that specifies the command directly.
 If 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."
   :group 'tex-view)
 
 ;;;###autoload
-(defcustom tex-show-queue-command "lpq"
+(defcustom tex-show-queue-command (purecopy "lpq")
   "*Command used by \\[tex-show-print-queue] to show the print queue.
 Should show the queue(s) that \\[tex-print] puts jobs on."
   :type 'string
@@ -229,14 +229,14 @@ Normally set to either `plain-tex-mode' or `latex-mode'."
   :group 'tex)
 
 ;;;###autoload
-(defcustom tex-open-quote "``"
+(defcustom tex-open-quote (purecopy "``")
   "*String inserted by typing \\[tex-insert-quote] to open a quotation."
   :type 'string
   :options '("``" "\"<" "\"`" "<<" "«")
   :group 'tex)
 
 ;;;###autoload
-(defcustom tex-close-quote "''"
+(defcustom tex-close-quote (purecopy "''")
   "*String inserted by typing \\[tex-insert-quote] to close a quotation."
   :type 'string
   :options '("''" "\">" "\"'" ">>" "»")
index f10506a6a9fcc025920afd9fe43904d52a41c4b8..fc593224d24b5d544e7499e8c68edbaa4c72722e 100644 (file)
@@ -52,19 +52,19 @@ The default value for this variable is `x-dnd-default-test-function'."
 
 
 (defcustom x-dnd-types-alist
-  '(
-    ("text/uri-list" . x-dnd-handle-uri-list)
-    ("text/x-moz-url" . x-dnd-handle-moz-url)
-    ("_NETSCAPE_URL" . x-dnd-handle-uri-list)
-    ("FILE_NAME" . x-dnd-handle-file-name)
-    ("UTF8_STRING" . x-dnd-insert-utf8-text)
-    ("text/plain;charset=UTF-8" . x-dnd-insert-utf8-text)
-    ("text/plain;charset=utf-8" . x-dnd-insert-utf8-text)
-    ("text/unicode" . x-dnd-insert-utf16-text)
-    ("text/plain" . dnd-insert-text)
-    ("COMPOUND_TEXT" . x-dnd-insert-ctext)
-    ("STRING" . dnd-insert-text)
-    ("TEXT"   . dnd-insert-text)
+  `(
+    (,(purecopy "text/uri-list") . x-dnd-handle-uri-list)
+    (,(purecopy "text/x-moz-url") . x-dnd-handle-moz-url)
+    (,(purecopy "_NETSCAPE_URL") . x-dnd-handle-uri-list)
+    (,(purecopy "FILE_NAME") . x-dnd-handle-file-name)
+    (,(purecopy "UTF8_STRING") . x-dnd-insert-utf8-text)
+    (,(purecopy "text/plain;charset=UTF-8") . x-dnd-insert-utf8-text)
+    (,(purecopy "text/plain;charset=utf-8") . x-dnd-insert-utf8-text)
+    (,(purecopy "text/unicode") . x-dnd-insert-utf16-text)
+    (,(purecopy "text/plain") . dnd-insert-text)
+    (,(purecopy "COMPOUND_TEXT") . x-dnd-insert-ctext)
+    (,(purecopy "STRING") . dnd-insert-text)
+    (,(purecopy "TEXT")   . dnd-insert-text)
     )
   "Which function to call to handle a drop of that type.
 If 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."
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;;  XDND protocol.
 
-(defvar x-dnd-xdnd-to-action
+(defconst x-dnd-xdnd-to-action
   '(("XdndActionPrivate" . private)
     ("XdndActionCopy" . copy)
     ("XdndActionMove" . move)