]> git.eshelyaron.com Git - emacs.git/commitdiff
Delete remaining calls to purecopy
authorStefan Kangas <stefankangas@gmail.com>
Mon, 9 Dec 2024 20:26:25 +0000 (21:26 +0100)
committerEshel Yaron <me@eshelyaron.com>
Mon, 3 Feb 2025 11:05:58 +0000 (12:05 +0100)
* lisp/button.el (default-button):
* lisp/calendar/holidays.el (holiday-solar-holidays)
(holiday-bahai-holidays, holiday-islamic-holidays)
(holiday-christian-holidays, holiday-hebrew-holidays)
(holiday-oriental-holidays, holiday-general-holidays):
* lisp/comint.el (comint-file-name-prefix):
* lisp/composite.el (unicode-category-table):
* lisp/cus-face.el (custom-declare-face):
* lisp/custom.el (custom-add-load, custom-add-package-version)
(custom-add-version, custom-add-link, custom-declare-group)
(custom-declare-variable):
* lisp/dired.el (dired-listing-switches):
* lisp/epa-hook.el (epa-file-name-regexp):
* lisp/faces.el (x-font-regexp, x-font-regexp-head)
(x-font-regexp-slant, x-font-regexp-weight, )
(set-face-attribute, set-face-documentation, face-x-resources)
(face-font-registry-alternatives, face-font-family-alternatives)
(term-file-prefix):
* lisp/find-file.el (ff-special-constructs):
* lisp/format.el (format-alist):
* lisp/help.el (help-for-help):
* lisp/image-file.el (image-file-name-extensions):
* lisp/info.el:
* lisp/isearch.el (isearch-help-for-help-internal)
(search-whitespace-regexp):
* lisp/jka-cmpr-hook.el (jka-compr-load-suffixes)
(jka-compr-mode-alist-additions)
(jka-compr-compression-info-list, jka-compr-build-file-regexp):
* lisp/language/ethiopic.el (font-ccl-encoder-alist):
* lisp/language/korea-util.el (default-korean-keyboard):
* lisp/language/tibetan.el (tibetan-precomposition-rule-regexp)
(tibetan-precomposed-regexp):
* lisp/locate.el (locate-ls-subdir-switches):
* lisp/lpr.el (lpr-command):
* lisp/mail/rmail.el (rmail-secondary-file-regexp)
(rmail-secondary-file-directory, rmail-highlighted-headers)
(rmail-ignored-headers, rmail-spool-directory, rmail-file-name):
* lisp/mail/sendmail.el (mail-default-directory)
(mail-signature-file, mail-citation-prefix-regexp)
(mail-personal-alias-file, mail-header-separator):
* lisp/menu-bar.el (yank-menu):
* lisp/net/eudc.el (eudc-tools-menu):
* lisp/newcomment.el (comment-padding, comment-end):
* lisp/obsolete/autoload.el (autoload-generate-file-autoloads):
* lisp/progmodes/hideshow.el (hs-special-modes-alist):
* lisp/ps-print.el (ps-page-dimensions-database):
* lisp/rfn-eshadow.el (file-name-shadow-tty-properties):
* lisp/shell.el (shell-dumb-shell-regexp):
* lisp/simple.el (overwrite-mode-binary, overwrite-mode-textual)
(mark-inactive, shell-command-switch)
(next-error-overlay-arrow-position):
* lisp/subr.el (package--builtin-versions, eval-after-load):
* lisp/tab-bar.el ([tab-bar]):
* lisp/term/pgtk-win.el (x-gtk-stock-map):
* lisp/term/x-win.el (x-gtk-stock-map):
* lisp/tool-bar.el ([tool-bar]):
* lisp/widget.el (define-widget): Remove calls to purecopy.

(cherry picked from commit d6aeb1a2606e1dece860f2b35623245d9eb865c3)

36 files changed:
lisp/button.el
lisp/calendar/holidays.el
lisp/comint.el
lisp/composite.el
lisp/cus-face.el
lisp/custom.el
lisp/dired.el
lisp/epa-hook.el
lisp/faces.el
lisp/format.el
lisp/image-file.el
lisp/info.el
lisp/isearch.el
lisp/jka-cmpr-hook.el
lisp/language/ethiopic.el
lisp/language/korea-util.el
lisp/language/tibetan.el
lisp/locate.el
lisp/lpr.el
lisp/mail/rmail.el
lisp/mail/sendmail.el
lisp/menu-bar.el
lisp/net/eudc.el
lisp/newcomment.el
lisp/obsolete/autoload.el
lisp/progmodes/hideshow.el
lisp/ps-print.el
lisp/rfn-eshadow.el
lisp/shell.el
lisp/simple.el
lisp/subr.el
lisp/tab-bar.el
lisp/term/pgtk-win.el
lisp/term/x-win.el
lisp/tool-bar.el
lisp/widget.el

index 5798c7dfe49868d9066ba56e5c27014d8d3e600a..674de1bb4fa29a91af37792772794562597bb2f6 100644 (file)
@@ -97,7 +97,7 @@ Disabling the mode will remove all buttons in the current buffer."
 (put 'default-button 'type 'button)
 ;; `action' may be either a function to call, or a marker to go to.
 (put 'default-button 'action #'ignore)
-(put 'default-button 'help-echo (purecopy "mouse-2, RET: Push this button"))
+(put 'default-button 'help-echo "mouse-2, RET: Push this button")
 ;; Make overlay buttons go away if their underlying text is deleted.
 (put 'default-button 'evaporate t)
 ;; Prevent insertions adjacent to text-property buttons from
index 53229aa9e2ecb1f6967b3baa0be6a4446b18a2b5..54429cb3d6085525f5cd3b8ee2b81ede397267a4 100644 (file)
@@ -44,7 +44,6 @@
 
 ;;;###autoload
 (defcustom holiday-general-holidays
-  (mapcar 'purecopy
   '((holiday-fixed 1 1 "New Year's Day")
     (holiday-float 1 1 3 "Martin Luther King Day")
     (holiday-fixed 2 2 "Groundhog Day")
@@ -61,7 +60,7 @@
     (holiday-float 10 1 2 "Columbus Day")
     (holiday-fixed 10 31 "Halloween")
     (holiday-fixed 11 11 "Veteran's Day")
-    (holiday-float 11 4 4 "Thanksgiving")))
+    (holiday-float 11 4 4 "Thanksgiving"))
   "General holidays.  Default value is for the United States.
 See the documentation for `calendar-holidays' for details."
   :type 'sexp)
@@ -70,7 +69,6 @@ See the documentation for `calendar-holidays' for details."
 
 ;;;###autoload
 (defcustom holiday-oriental-holidays
-  (mapcar 'purecopy
   '((holiday-chinese-new-year)
     (if calendar-chinese-all-holidays-flag
         (append
@@ -81,7 +79,7 @@ See the documentation for `calendar-holidays' for details."
          (holiday-chinese 8 15 "Mid-Autumn Festival")
          (holiday-chinese 9  9 "Double Ninth Festival")
          (holiday-chinese-winter-solstice)
-         ))))
+         )))
   "Oriental holidays.
 See the documentation for `calendar-holidays' for details."
   :version "23.1"                       ; added more holidays
@@ -107,14 +105,13 @@ See the documentation for `calendar-holidays' for details."
 
 ;;;###autoload
 (defcustom holiday-hebrew-holidays
-  (mapcar 'purecopy
   '((holiday-hebrew-passover)
     (holiday-hebrew-rosh-hashanah)
     (holiday-hebrew-hanukkah)
     (if calendar-hebrew-all-holidays-flag
         (append
          (holiday-hebrew-tisha-b-av)
-         (holiday-hebrew-misc)))))
+         (holiday-hebrew-misc))))
   "Jewish holidays.
 See the documentation for `calendar-holidays' for details."
   :type 'sexp
@@ -125,7 +122,6 @@ See the documentation for `calendar-holidays' for details."
 
 ;;;###autoload
 (defcustom holiday-christian-holidays
-  (mapcar 'purecopy
   '((holiday-easter-etc)    ; respects calendar-christian-all-holidays-flag
     (holiday-fixed 12 25 "Christmas")
     (if calendar-christian-all-holidays-flag
@@ -134,7 +130,7 @@ See the documentation for `calendar-holidays' for details."
          (holiday-julian 12 25 "Christmas (Julian calendar)")
          (holiday-greek-orthodox-easter)
          (holiday-fixed 8 15 "Assumption")
-         (holiday-advent 0 "Advent")))))
+         (holiday-advent 0 "Advent"))))
   "Christian holidays.
 See the documentation for `calendar-holidays' for details."
   :type 'sexp)
@@ -143,7 +139,6 @@ See the documentation for `calendar-holidays' for details."
 
 ;;;###autoload
 (defcustom holiday-islamic-holidays
-  (mapcar 'purecopy
   '((holiday-islamic-new-year)
     (holiday-islamic 9 1 "Ramadan Begins")
     (if calendar-islamic-all-holidays-flag
@@ -154,7 +149,7 @@ See the documentation for `calendar-holidays' for details."
          (holiday-islamic 8 15 "Shab-e-Bara't")
          (holiday-islamic 9 27 "Shab-e Qadr")
          (holiday-islamic 10 1 "Id-al-Fitr")
-         (holiday-islamic 12 10 "Id-al-Adha")))))
+         (holiday-islamic 12 10 "Id-al-Adha"))))
   "Islamic holidays.
 See the documentation for `calendar-holidays' for details."
   :type 'sexp)
@@ -163,7 +158,6 @@ See the documentation for `calendar-holidays' for details."
 
 ;;;###autoload
 (defcustom holiday-bahai-holidays
-  (mapcar 'purecopy
   '((holiday-bahai-new-year)
     (holiday-bahai-ridvan)      ; respects calendar-bahai-all-holidays-flag
     (holiday-fixed  5 23 "Declaration of the Báb")
@@ -174,7 +168,7 @@ See the documentation for `calendar-holidays' for details."
     (if calendar-bahai-all-holidays-flag
         (append
          (holiday-fixed 11 26 "Day of the Covenant")
-         (holiday-fixed 11 28 "Ascension of `Abdu’l-Bahá")))))
+         (holiday-fixed 11 28 "Ascension of `Abdu’l-Bahá"))))
   "Bahá’í holidays.
 See the documentation for `calendar-holidays' for details."
   :type 'sexp)
@@ -183,7 +177,6 @@ See the documentation for `calendar-holidays' for details."
 
 ;;;###autoload
 (defcustom holiday-solar-holidays
-  (mapcar 'purecopy
   '((solar-equinoxes-solstices)
     (holiday-sexp calendar-daylight-savings-starts
                   (format "Daylight Saving Time Begins %s"
@@ -194,7 +187,7 @@ See the documentation for `calendar-holidays' for details."
                   (format "Daylight Saving Time Ends %s"
                           (solar-time-string
                            (/ calendar-daylight-savings-ends-time (float 60))
-                           calendar-daylight-time-zone-name)))))
+                           calendar-daylight-time-zone-name))))
   "Sun-related holidays.
 See the documentation for `calendar-holidays' for details."
   :type 'sexp)
index fc3ebeff516b6379fa1298a750f0df8e76253282..0f99eaf14641ac0a815384dafab4760a49ab1ff4 100644 (file)
@@ -3245,7 +3245,7 @@ Note that this applies to `comint-dynamic-complete-filename' only."
   :group 'comint-completion)
 
 ;;;###autoload
-(defvar comint-file-name-prefix (purecopy "")
+(defvar comint-file-name-prefix ""
   "Prefix prepended to absolute file names taken from process input.
 This is used by Comint's and shell's completion functions, and by shell's
 directory tracking functions.")
index b4e40263d25de09b154772b9310d4e709d6052a5..d0e5495e71ec64b3d08f6107b01413e0cb70ade6 100644 (file)
@@ -747,7 +747,7 @@ All non-spacing characters have this function in
 
 ;; Allow for bootstrapping without uni-*.el.
 (when unicode-category-table
-  (let ((elt `([,(purecopy "\\c.\\c^+") 1 compose-gstring-for-graphic]
+  (let ((elt `(["\\c.\\c^+" 1 compose-gstring-for-graphic]
               [nil 0 compose-gstring-for-graphic])))
     (map-char-table
      #'(lambda (key val)
@@ -756,7 +756,7 @@ All non-spacing characters have this function in
      unicode-category-table))
   ;; for dotted-circle
   (aset composition-function-table #x25CC
-       `([,(purecopy ".\\c^") 0 compose-gstring-for-dotted-circle]))
+        `([".\\c^" 0 compose-gstring-for-dotted-circle]))
   ;; For prettier display of fractions
   (set-char-table-range
    composition-function-table
@@ -764,10 +764,10 @@ All non-spacing characters have this function in
    ;; We use font-shape-gstring so that if the font doesn't support
    ;; fractional display, the characters are shown separately, not as
    ;; a composed cluster.
-   (list (vector (purecopy "[1-9][0-9][0-9]\u2044[0-9]+")
+   (list (vector "[1-9][0-9][0-9]\u2044[0-9]+"
                  3 'font-shape-gstring)
-         (vector (purecopy "[1-9][0-9]\u2044[0-9]+") 2 'font-shape-gstring)
-         (vector (purecopy "[1-9]\u2044[0-9]+") 1 'font-shape-gstring))))
+         (vector "[1-9][0-9]\u2044[0-9]+" 2 'font-shape-gstring)
+         (vector "[1-9]\u2044[0-9]+" 1 'font-shape-gstring))))
 
 (defun compose-gstring-for-terminal (gstring _direction)
   "Compose glyph-string GSTRING for terminal display.
index d06d041942e6bdd723549e60c296625032b013ac..ccaf43d772a6842535573f129579ad1aa37e6522 100644 (file)
              (not (documentation-stringp doc)))
     (error "Invalid (or missing) doc string %S" doc))
   (unless (get face 'face-defface-spec)
-    (face-spec-set face (purecopy spec) 'face-defface-spec)
+    (face-spec-set face spec 'face-defface-spec)
     (push (cons 'defface face) current-load-list)
     (when doc
-      (set-face-documentation face (purecopy doc)))
+      (set-face-documentation face doc))
     (custom-handle-all-keywords face args 'custom-face)
     (run-hooks 'custom-define-hook))
   face)
index a412600f4b0f1dd356fe1e55d109967706e6489b..9f260f8ef4af27cbff0abb6cefd7104f1895c5be 100644 (file)
@@ -166,7 +166,7 @@ not the default value itself.
 DEFAULT is stored as SYMBOL's standard value, in SYMBOL's property
 `standard-value'.  At the same time, SYMBOL's property `force-value' is
 set to nil, as the value is no longer rogue."
-  (put symbol 'standard-value (purecopy (list default)))
+  (put symbol 'standard-value (list default))
   ;; Maybe this option was rogue in an earlier version.  It no longer is.
   (when (get symbol 'force-value)
     (put symbol 'force-value nil))
@@ -207,7 +207,7 @@ set to nil, as the value is no longer rogue."
                  (when (memq value '(permanent permanent-only))
                    (put symbol 'permanent-local t)))
                ((eq keyword :type)
-                (put symbol 'custom-type (purecopy value)))
+                 (put symbol 'custom-type value))
                ((eq keyword :options)
                 (if (get symbol 'custom-options)
                     ;; Slow safe code to avoid duplicates.
@@ -488,7 +488,7 @@ information."
     (setq members (cdr members)))
   (when doc
     ;; This text doesn't get into DOC.
-    (put symbol 'group-documentation (purecopy doc)))
+    (put symbol 'group-documentation doc))
   (while args
     (let ((arg (car args)))
       (setq args (cdr args))
@@ -500,7 +500,7 @@ information."
          (error "Keyword %s is missing an argument" keyword))
        (setq args (cdr args))
        (cond ((eq keyword :prefix)
-              (put symbol 'custom-prefix (purecopy value)))
+               (put symbol 'custom-prefix value))
              (t
               (custom-handle-keyword symbol keyword value
                                      'custom-group))))))
@@ -586,8 +586,6 @@ Third argument TYPE is the custom option type."
 (defun custom-handle-keyword (symbol keyword value type)
   "For customization option SYMBOL, handle KEYWORD with VALUE.
 Fourth argument TYPE is the custom option type."
-  (if purify-flag
-      (setq value (purecopy value)))
   (cond ((eq keyword :group)
         (custom-add-to-group value symbol type))
        ((eq keyword :version)
@@ -640,22 +638,22 @@ For other custom types, this has no effect."
   "To the custom option SYMBOL add the link WIDGET."
   (let ((links (get symbol 'custom-links)))
     (unless (member widget links)
-      (put symbol 'custom-links (cons (purecopy widget) links)))))
+      (put symbol 'custom-links (cons widget links)))))
 
 (defun custom-add-version (symbol version)
   "To the custom option SYMBOL add the version VERSION."
-  (put symbol 'custom-version (purecopy version)))
+  (put symbol 'custom-version version))
 
 (defun custom-add-package-version (symbol version)
   "To the custom option SYMBOL add the package version VERSION."
-  (put symbol 'custom-package-version (purecopy version)))
+  (put symbol 'custom-package-version version))
 
 (defun custom-add-load (symbol load)
   "To the custom option SYMBOL add the dependency LOAD.
 LOAD should be either a library file name, or a feature name."
   (let ((loads (get symbol 'custom-loads)))
     (unless (member load loads)
-      (put symbol 'custom-loads (cons (purecopy load) loads)))))
+      (put symbol 'custom-loads (cons load loads)))))
 
 (defun custom-autoload (symbol load &optional noset)
   "Mark SYMBOL as autoloaded custom variable and add dependency LOAD.
index d040540a49b3c16f52942533b86db0fe5d78585b..199244393d0b2ef029b24c4ace228fa2fc4f0971 100644 (file)
@@ -60,7 +60,7 @@
   :group 'dired)
 
 ;;;###autoload
-(defcustom dired-listing-switches (purecopy "-al")
+(defcustom dired-listing-switches "-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
index a9005e8d8d3828482b347f4e64867a7d02ac84c8..0f83528bae5b85245f56295da7609332858c6da0 100644 (file)
@@ -35,7 +35,7 @@
   (if (fboundp 'epa-file-name-regexp-update)
       (epa-file-name-regexp-update)))
 
-(defcustom epa-file-name-regexp (purecopy "\\.gpg\\(~\\|\\.~[0-9]+~\\)?\\'")
+(defcustom epa-file-name-regexp "\\.gpg\\(~\\|\\.~[0-9]+~\\)?\\'"
   "Regexp which matches filenames to be encrypted with GnuPG.
 
 If you set this outside Custom while epa-file is already enabled,
index 4b708465bdffb7a1189b9f1dd525630ea614fd95..020b043fd8b481ca1f2e8deaae6f2a52e28e44d8 100644 (file)
@@ -25,7 +25,7 @@
 
 ;;; Code:
 
-(defcustom term-file-prefix (purecopy "term/")
+(defcustom term-file-prefix "term/"
   "If non-nil, Emacs startup performs terminal-specific initialization.
 It does this by: (load (concat term-file-prefix (getenv \"TERM\")))
 
@@ -99,7 +99,6 @@ a font height that isn't optimal."
 ;; unavailable, and we fall back on the courier and helv families,
 ;; which are generally available.
 (defcustom face-font-family-alternatives
-  (mapcar (lambda (arg) (mapcar 'purecopy arg))
   '(("Monospace" "Cascadia Code" "Lucida Console" "courier" "fixed")
 
     ;; Monospace Serif is an Emacs invention, intended to work around
@@ -137,7 +136,7 @@ a font height that isn't optimal."
      ;; https://en.wikipedia.org/wiki/List_of_typefaces_included_with_Microsoft_Windows
      "Calibri" "Tahoma" "Lucida Sans Unicode"
      "helv" "helvetica" "arial" "fixed")
-    ("helv" "helvetica" "arial" "fixed")))
+    ("helv" "helvetica" "arial" "fixed"))
   "Alist of alternative font family names.
 Each element has the form (FAMILY ALTERNATIVE1 ALTERNATIVE2 ...).
 If fonts of family FAMILY can't be loaded, try ALTERNATIVE1, then
@@ -152,7 +151,6 @@ ALTERNATIVE2 etc."
 
 ;; This is defined originally in xfaces.c.
 (defcustom face-font-registry-alternatives
-  (mapcar (lambda (arg) (mapcar 'purecopy arg))
   (if (featurep 'w32)
       '(("iso8859-1" "ms-oemlatin")
        ("gb2312.1980" "gb2312" "gbk" "gb18030")
@@ -162,7 +160,7 @@ ALTERNATIVE2 etc."
     '(("gb2312.1980" "gb2312.80&gb8565.88" "gbk" "gb18030")
       ("jisx0208.1990" "jisx0208.1983" "jisx0208.1978")
       ("ksc5601.1989" "ksx1001.1992" "ksc5601.1987")
-      ("muletibetan-2" "muletibetan-0"))))
+      ("muletibetan-2" "muletibetan-0")))
   "Alist of alternative font registry names.
 Each element has the form (REGISTRY ALTERNATIVE1 ALTERNATIVE2 ...).
 If fonts of registry REGISTRY can be loaded, font selection
@@ -354,11 +352,6 @@ is either `foreground-color', `background-color', or a keyword."
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
 (defcustom face-x-resources
-  (mapcar
-   (lambda (arg)
-     ;; FIXME; can we purecopy some of the conses too?
-     (cons (car arg)
-          (cons (purecopy (car (cdr arg))) (purecopy (cdr (cdr arg))))))
   '((:family (".attributeFamily" . "Face.AttributeFamily"))
     (:foundry (".attributeFoundry" . "Face.AttributeFoundry"))
     (:width (".attributeWidth" . "Face.AttributeWidth"))
@@ -381,7 +374,7 @@ is either `foreground-color', `background-color', or a keyword."
     (:bold (".attributeBold" . "Face.AttributeBold"))
     (:italic (".attributeItalic" . "Face.AttributeItalic"))
     (:font (".attributeFont" . "Face.AttributeFont"))
-    (:inherit (".attributeInherit" . "Face.AttributeInherit"))))
+    (:inherit (".attributeInherit" . "Face.AttributeInherit")))
   "List of X resources and classes for face attributes.
 Each element has the form (ATTRIBUTE ENTRY1 ENTRY2...) where ATTRIBUTE is
 the name of a face attribute, and each ENTRY is a cons of the form
@@ -664,7 +657,7 @@ If FACE is a face-alias, get the documentation for the target face."
 (defun set-face-documentation (face string)
   "Set the documentation string for FACE to STRING."
   ;; Perhaps the text should go in DOC.
-  (put face 'face-documentation (purecopy string)))
+  (put face 'face-documentation string))
 
 
 (define-obsolete-function-alias 'face-doc-string #'face-documentation "29.1")
@@ -863,7 +856,6 @@ setting `:weight' to `bold', and a value of t for `:italic' is
 equivalent to setting `:slant' to `italic'.  But if `:weight' is
 specified in the face spec, `:bold' is ignored, and if `:slant'
 is specified, `:italic' is ignored."
-  (setq args (purecopy args))
   (let ((where (if (null frame) 0 frame))
        (spec args)
        family foundry orig-family orig-foundry)
@@ -893,15 +885,13 @@ is specified, `:italic' is ignored."
           (setq family orig-family)
           (setq foundry orig-foundry)))
       (when (or (stringp family) (eq family 'unspecified))
-       (internal-set-lisp-face-attribute face :family (purecopy family)
-                                         where))
+        (internal-set-lisp-face-attribute face :family family where))
       (when (or (stringp foundry) (eq foundry 'unspecified))
-       (internal-set-lisp-face-attribute face :foundry (purecopy foundry)
-                                         where)))
+        (internal-set-lisp-face-attribute face :foundry foundry where)))
     (while args
       (unless (memq (car args) '(:family :foundry))
        (internal-set-lisp-face-attribute face (car args)
-                                         (purecopy (cadr args))
+                                          (cadr args)
                                          where))
       (setq args (cddr args)))))
 
@@ -3237,16 +3227,15 @@ This face is used by `show-paren-mode'."
       (encoding                "[^-]+")
       )
   (setq x-font-regexp
-       (purecopy (concat "\\`\\*?[-?*]"
+        (concat "\\`\\*?[-?*]"
                foundry - family - weight\? - slant\? - swidth - adstyle -
                pixelsize - pointsize - resx - resy - spacing - avgwidth -
-               registry - encoding "\\*?\\'"
-               )))
+                registry - encoding "\\*?\\'"))
   (setq x-font-regexp-head
-       (purecopy (concat "\\`[-?*]" foundry - family - weight\? - slant\?
-               "\\([-*?]\\|\\'\\)")))
-  (setq x-font-regexp-slant (purecopy (concat - slant -)))
-  (setq x-font-regexp-weight (purecopy (concat - weight -)))
+        (concat "\\`[-?*]" foundry - family - weight\? - slant\?
+                "\\([-*?]\\|\\'\\)"))
+  (setq x-font-regexp-slant (concat - slant -))
+  (setq x-font-regexp-weight (concat - weight -))
   nil)
 
 
index 1f160ed69216fce26f2c4c54a4f783cfe405a48e..855d7a73f92ceba4c321e797b576abb43bb19ec1 100644 (file)
 (put 'buffer-auto-save-file-format 'permanent-local t)
 
 (defvar format-alist
-  ;; 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")
+  `((text/enriched "Extended MIME text/enriched format."
+                   "Content-[Tt]ype:[ \t]*text/enriched"
                   enriched-decode enriched-encode t enriched-mode)
-    (plain ,(purecopy "ISO 8859-1 standard format, no text properties.")
+    (plain "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   ,(purecopy "TeX (encoding)")
+    (TeX   "TeX (encoding)"
           nil
           iso-tex2iso iso-iso2tex t nil)
-    (gtex  ,(purecopy "German TeX (encoding)")
+    (gtex  "German TeX (encoding)"
           nil
           iso-gtex2iso iso-iso2gtex t nil)
-    (html  ,(purecopy "HTML/SGML \"ISO 8879:1986//ENTITIES Added Latin 1//EN\" (encoding)")
+    (html  "HTML/SGML \"ISO 8879:1986//ENTITIES Added Latin 1//EN\" (encoding)"
           nil
           iso-sgml2iso iso-iso2sgml t nil)
-    (rot13 ,(purecopy "rot13")
+    (rot13 "rot13"
           nil
           rot13-region rot13-region t nil)
-    (duden ,(purecopy "Duden Ersatzdarstellung")
+    (duden "Duden Ersatzdarstellung"
           nil
           ;; FROM-FN used to call the "diac" command which is not widely
           ;; available and apparently not under a free software license:
           ;; Reliable round-trip conversion is not possible anyway and
           ;; would be by heuristic method, so make it write-only for now.
           iso-cvt-write-only iso-iso2duden t nil)
-    (de646 ,(purecopy "German ASCII (ISO 646)")
+    (de646 "German ASCII (ISO 646)"
           nil
-          ,(purecopy "iconv -f iso646-de -t utf-8")
-          ,(purecopy "iconv -f utf-8 -t iso646-de") t nil)
-    (denet ,(purecopy "net German")
+           "iconv -f iso646-de -t utf-8"
+           "iconv -f utf-8 -t iso646-de" t nil)
+    (denet "net German"
           nil
           iso-german iso-cvt-read-only t nil)
-    (esnet ,(purecopy "net Spanish")
+    (esnet "net Spanish"
           nil
           iso-spanish iso-cvt-read-only t nil))
   "List of information about understood file formats.
index 5ae8fd49d4d259d447494956dbf8187f6375f19a..0f61d51b0f479d29bb7414c59e626470308b28c5 100644 (file)
@@ -37,7 +37,7 @@
 
 ;;;###autoload
 (defcustom image-file-name-extensions
-  (purecopy '("png" "jpeg" "jpg" "gif" "tiff" "tif" "xbm" "xpm" "pbm" "pgm" "ppm" "pnm" "svg" "webp"))
+  '("png" "jpeg" "jpg" "gif" "tiff" "tif" "xbm" "xpm" "pbm" "pgm" "ppm" "pnm" "svg" "webp")
   "A list of image-file filename extensions.
 Filenames having one of these extensions are considered image files,
 in addition to those matching `image-file-name-regexps'.
index d2583983d1a17c1a969cf3d7b575e652432d02cc..a15a40ea659d77254574158d55aa064bdc1db220 100644 (file)
@@ -832,7 +832,7 @@ Select the window used, if it has been made."
       (select-window window))))
 
 
-;;;###autoload (put 'info 'info-file (purecopy "emacs"))
+;;;###autoload (put 'info 'info-file "emacs")
 ;;;###autoload
 (defun info (&optional file-or-node buffer)
   "Enter Info, the documentation browser.
@@ -4808,7 +4808,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 (purecopy "emacs"))
+;;;###autoload (put 'Info-goto-emacs-command-node 'info-file "emacs")
 ;;;###autoload
 (defun Info-goto-emacs-command-node (command)
   "Go to the Info node in the Emacs manual for command COMMAND.
@@ -4850,7 +4850,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 (purecopy "emacs"))
+;;;###autoload (put 'Info-goto-emacs-key-command-node 'info-file "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.
index 4f94b1fae074656fc18bd7b083c89b47cbd42534..f381223f26d8852f6885f77126e78e0aff65c141 100644 (file)
@@ -115,7 +115,7 @@ is called to let you enter the search string, and RET terminates editing
 and does a nonincremental search.)"
   :type 'boolean)
 
-(defcustom search-whitespace-regexp (purecopy "[ \t]+")
+(defcustom search-whitespace-regexp "[ \t]+"
   "If non-nil, regular expression to match a sequence of whitespace chars.
 When you enter a space or spaces in the incremental search, it
 will match any sequence matched by this regexp.  As an exception,
index d8244a675e112fc9b519f45af30f9986dc8b5e05..e3f5eb7d998a7bc0e40be31080a577af7b51c643 100644 (file)
@@ -78,19 +78,18 @@ Otherwise, it is nil.")
 
 \f
 (defun jka-compr-build-file-regexp ()
-  (purecopy
-   (let ((re-anchored '())
-         (re-free '()))
-     (dolist (e jka-compr-compression-info-list)
-       (let ((re (jka-compr-info-regexp e)))
-         (if (string-match "\\\\'\\'" re)
-             (push (substring re 0 (match-beginning 0)) re-anchored)
-           (push re re-free))))
-     (concat
-      (if re-free (concat (mapconcat 'identity re-free "\\|") "\\|"))
-      "\\(?:"
-      (mapconcat 'identity re-anchored "\\|")
-      "\\)" file-name-version-regexp "?\\'"))))
+  (let ((re-anchored '())
+        (re-free '()))
+    (dolist (e jka-compr-compression-info-list)
+      (let ((re (jka-compr-info-regexp e)))
+        (if (string-match "\\\\'\\'" re)
+            (push (substring re 0 (match-beginning 0)) re-anchored)
+          (push re re-free))))
+    (concat
+     (if re-free (concat (mapconcat 'identity re-free "\\|") "\\|"))
+     "\\(?:"
+     (mapconcat 'identity re-anchored "\\|")
+     "\\)" file-name-version-regexp "?\\'")))
 
 ;; Functions for accessing the return value of jka-compr-get-compression-info
 ;; FIXME: Use cl-defstruct!
@@ -202,7 +201,6 @@ options through Custom does this automatically."
   ;; uncomp-message uncomp-prog uncomp-args
   ;; can-append strip-extension-flag file-magic-bytes
   ;; uncompress-function]
-  (mapcar 'purecopy
   `(["\\.Z\\'"
      "compressing"    "compress"     ("-c")
      ;; gzip is more common than uncompress. It can only read, not write.
@@ -261,7 +259,7 @@ options through Custom does this automatically."
     ["\\.tzst\\'"
      "zstd compressing"   "zstd"         ("-c" "-q")
      "zstd uncompressing" "zstd"         ("-c" "-q" "-d")
-     t nil "\050\265\057\375"]))
+     t nil "\050\265\057\375"])
 
   "List of vectors that describe available compression techniques.
 Each element, which describes a compression technique, is a vector of
@@ -329,10 +327,10 @@ variables.  Setting this through Custom does that automatically."
   :group 'jka-compr)
 
 (defcustom jka-compr-mode-alist-additions
-  (purecopy '(("\\.tgz\\'" . tar-mode)
-              ("\\.tbz2?\\'" . tar-mode)
-              ("\\.txz\\'" . tar-mode)
-              ("\\.tzst\\'" . tar-mode)))
+  '(("\\.tgz\\'" . tar-mode)
+    ("\\.tbz2?\\'" . tar-mode)
+    ("\\.txz\\'" . tar-mode)
+    ("\\.tzst\\'" . tar-mode))
   "List of pairs added to `auto-mode-alist' when installing jka-compr.
 Uninstalling jka-compr removes all pairs from `auto-mode-alist' that
 installing added.
@@ -346,7 +344,7 @@ variables.  Setting this through Custom does that automatically."
   :set 'jka-compr-set
   :group 'jka-compr)
 
-(defcustom jka-compr-load-suffixes (purecopy '(".gz"))
+(defcustom jka-compr-load-suffixes '(".gz")
   "List of compression related suffixes to try when loading files.
 Enabling Auto Compression mode appends this list to `load-file-rep-suffixes',
 which see.  Disabling Auto Compression mode removes all suffixes
index 26a96c541cdb66706383523aa47d5f22d70ed195..14098c7e47013cdcaebbf2c480a1df6e9080da9a 100644 (file)
@@ -56,7 +56,7 @@
   "CCL program to encode an Ethiopic code to code point of Ethiopic font.")
 
 (setq font-ccl-encoder-alist
-      (cons (cons (purecopy "ethiopic") ccl-encode-ethio-font) font-ccl-encoder-alist))
+      (cons (cons "ethiopic" ccl-encode-ethio-font) font-ccl-encoder-alist))
 
 (set-language-info-alist
  "Ethiopic" '((setup-function . setup-ethiopic-environment-internal)
index b9dbfc6d9cc721b247c9b412ea65d6919af8d50a..fda6e8b4d793ee9a40b6881cb57dd794b09d8cf5 100644 (file)
 
 ;;;###autoload
 (defvar default-korean-keyboard
-   (purecopy (if (string-search "3" (or (getenv "HANGUL_KEYBOARD_TYPE") ""))
+  (if (string-search "3" (or (getenv "HANGUL_KEYBOARD_TYPE") ""))
       "3"
-    ""))
-   "The kind of Korean keyboard for Korean (Hangul) input method.
+    "")
+  "The kind of Korean keyboard for Korean (Hangul) input method.
 \"\" for 2, \"3\" for 3, and \"3f\" for 3f.")
 
 ;; functions useful for Korean text input
index 7645d77603c4ffc58ff16d0daa5433975ef6b7dc..76f43ade081318ab964569e01edfa80e624a6787 100644 (file)
@@ -574,19 +574,17 @@ The result of matching is to be used for indexing alists at conversion
 from a roman transcription to the corresponding Tibetan character.")
 
 (defvar tibetan-precomposed-regexp
-  (purecopy
-   (eval-when-compile
-     (concat "^"
-             (regexp-opt (mapcar #'car tibetan-precomposed-transcription-alist)
-                         t))))
+  (eval-when-compile
+    (concat "^"
+            (regexp-opt (mapcar #'car tibetan-precomposed-transcription-alist)
+                        t)))
   "Regexp string to match a romanized Tibetan complex consonant.
 The result of matching is to be used for indexing alists when the input key
 from an input method is converted to the corresponding precomposed glyph.")
 
 (defvar tibetan-precomposition-rule-regexp
-  (purecopy
-   (eval-when-compile
-     (regexp-opt (mapcar #'car tibetan-precomposition-rule-alist) t)))
+  (eval-when-compile
+    (regexp-opt (mapcar #'car tibetan-precomposition-rule-alist) t))
   "Regexp string to match a sequence of Tibetan consonantic components.
 That is, one base consonant and one or more subjoined consonants.
 The result of matching is to be used for indexing alist when the component
index 759551fed9bc6b9b2b2f73d276bb98515acb3fc1..d6d86ded1b1f30938fc5716fe020ba8573e216e2 100644 (file)
@@ -182,7 +182,7 @@ or `locate-make-command-line', determines the database."
   :type '(choice (const :tag "None" nil) face))
 
 ;;;###autoload
-(defcustom locate-ls-subdir-switches (purecopy "-al")
+(defcustom locate-ls-subdir-switches "-al"
   "`ls' switches for inserting subdirectories in `*Locate*' buffers.
 This should contain the \"-l\" switch, but not the \"-F\" or \"-b\" switches."
   :type 'string
index 2b38d6140c3405807523d55cc93277f28f4024e6..6c80fa9c20ad959fe6781f972cabd89c76f4d6bc 100644 (file)
@@ -94,14 +94,13 @@ 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
index bf4200c459b241f3085784933e351d9446eeb4f9..44b49293d08357f2e778478d78cc05bb291dc117 100644 (file)
@@ -152,7 +152,7 @@ its character representation and its display representation.")
   :group 'rmail)
 
 ;;;###autoload
-(defcustom rmail-file-name (purecopy "~/RMAIL")
+(defcustom rmail-file-name "~/RMAIL"
   "Name of user's primary mail file."
   :type 'string
   :group 'rmail
@@ -160,7 +160,6 @@ its character representation and its display representation.")
 
 ;;;###autoload
 (defcustom rmail-spool-directory
-  (purecopy
   (cond ((file-exists-p "/var/mail")
         ;; SVR4 and recent BSD are said to use this.
         ;; Rather than trying to know precisely which systems use it,
@@ -169,7 +168,7 @@ its character representation and its display representation.")
        ;; Many GNU/Linux systems use this name.
        ((file-exists-p "/var/spool/mail") "/var/spool/mail/")
        ((memq system-type '(hpux usg-unix-v)) "/usr/mail/")
-       (t "/usr/spool/mail/")))
+        (t "/usr/spool/mail/"))
   "Name of directory used by system mailer for delivering new mail.
 Its name should end with a slash."
   :initialize #'custom-initialize-delay
@@ -316,7 +315,6 @@ Setting this variable has an effect only before reading a mail."
 
 ;;;###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:"
@@ -336,7 +334,7 @@ Setting this variable has an effect only before reading a mail."
          "\\|^Received-SPF:"
          "\\|^Authentication-Results:"
          "\\|^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,
@@ -385,7 +383,7 @@ If nil, display all header fields except those matched by
   :version "29.1")
 
 ;;;###autoload
-(defcustom rmail-highlighted-headers (purecopy "^From:\\|^Subject:")
+(defcustom rmail-highlighted-headers "^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 '(choice regexp (const :tag "None" nil))
@@ -436,12 +434,12 @@ the frame where you have the RMAIL buffer displayed."
   :group 'rmail-reply)
 
 ;;;###autoload
-(defcustom rmail-secondary-file-directory (purecopy "~/")
+(defcustom rmail-secondary-file-directory "~/"
   "Directory for additional secondary Rmail files."
   :type 'directory
   :group 'rmail-files)
 ;;;###autoload
-(defcustom rmail-secondary-file-regexp (purecopy "\\.xmail\\'")
+(defcustom rmail-secondary-file-regexp "\\.xmail\\'"
   "Regexp for which files are secondary Rmail files."
   :type 'regexp
   :group 'rmail-files)
index baa45465963a917d846d8c71e27c36db6d3aad15..27d1fdb29602ab67cb7cc39facea6eab725e6469 100644 (file)
@@ -160,7 +160,7 @@ This is used by the default mail-sending commands.  See also
   :version "24.1")
 
 ;;;###autoload
-(defcustom mail-header-separator (purecopy "--text follows this line--")
+(defcustom mail-header-separator "--text follows this line--"
   "Line used to separate headers from text in messages being composed."
   :type 'string)
 
@@ -201,7 +201,7 @@ The default file is defined in sendmail's configuration file, e.g.
   :type '(choice (const :tag "Sendmail default" nil) file))
 
 ;;;###autoload
-(defcustom mail-personal-alias-file (purecopy "~/.mailrc")
+(defcustom mail-personal-alias-file "~/.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.
@@ -258,9 +258,7 @@ regardless of what part of it (if any) is included in the cited text.")
 
 ;;;###autoload
 (defcustom mail-citation-prefix-regexp
-  ;; Use [[:word:]] rather than \w so we don't get tripped up if one
-  ;; of those chars has a weird `syntax-table' text property.
-  (purecopy "\\([ \t]*\\([[:word:]]\\|[_.]\\)+>+\\|[ \t]*[>|]\\)+")
+  "\\([ \t]*\\(\\w\\|[_.]\\)+>+\\|[ \t]*[>|]\\)+"
   "Regular expression to match a citation prefix plus whitespace.
 It should match whatever sort of citation prefixes you want to handle,
 with whitespace before and after; it should also match just whitespace.
@@ -379,12 +377,12 @@ and should insert whatever you want to insert."
   :risky t)
 
 ;;;###autoload
-(defcustom mail-signature-file (purecopy "~/.signature")
+(defcustom mail-signature-file "~/.signature"
   "File containing the text inserted at end of mail buffer."
   :type 'file)
 
 ;;;###autoload
-(defcustom mail-default-directory (purecopy "~/")
+(defcustom mail-default-directory "~/"
   "Value of `default-directory' for Mail mode buffers.
 This directory is used for auto-save files of Mail mode buffers.
 
index fe165f8af0948a90367f71a31a3c08b2fc2daca7..b12be3b2dda36b590caf032ab0ae51a73a728d0d 100644 (file)
@@ -488,7 +488,7 @@ in the tool bar will close the current window where possible."
   (or (not (boundp 'xref-backend-functions))
       (eq (car xref-backend-functions) 'etags--xref-backend)))
 
-(defvar yank-menu (cons (purecopy "Select Yank") nil))
+(defvar yank-menu '("Select Yank" nil))
 (fset 'yank-menu (cons 'keymap yank-menu))
 
 (defvar menu-bar-edit-menu
@@ -2180,7 +2180,7 @@ key, a click, or a menu-item"))
 (define-key global-map [menu-bar file]
   (cons "File" menu-bar-file-menu))
 (define-key global-map [menu-bar help-menu]
-  (cons (purecopy "Help") menu-bar-help-menu))
+  (cons "Help" menu-bar-help-menu))
 
 (define-key global-map [menu-bar mouse-1] 'menu-bar-open-mouse)
 
index 29cc62cbcd6437906c67012b5fd71dc07d2eed67..1852bd137da70c15a22dacbcacab9c0542a3ca07 100644 (file)
@@ -1319,25 +1319,25 @@ This does nothing except loading eudc by autoload side-effect."
   (defvar eudc-tools-menu
     (let ((map (make-sparse-keymap "Directory Servers")))
       (define-key map [phone]
-       `(menu-item ,(purecopy "Get Phone") eudc-get-phone
-                   :help ,(purecopy "Get the phone field of name from the directory server")))
+        '(menu-item "Get Phone" eudc-get-phone
+                    :help "Get the phone field of name from the directory server"))
       (define-key map [email]
-       `(menu-item ,(purecopy "Get Email") eudc-get-email
-                   :help ,(purecopy "Get the email field of NAME from the directory server")))
+        '(menu-item "Get Email" eudc-get-email
+                    :help "Get the email field of NAME from the directory server"))
       (define-key map [separator-eudc-email] menu-bar-separator)
       (define-key map [expand-inline]
-       `(menu-item ,(purecopy "Expand Inline Query") eudc-expand-inline
-                   :help ,(purecopy "Query the directory server, and expand the query string before point")))
+        '(menu-item "Expand Inline Query" eudc-expand-inline
+                    :help "Query the directory server, and expand the query string before point"))
       (define-key map [query]
-       `(menu-item ,(purecopy "Query with Form") eudc-query-form
-                   :help ,(purecopy "Display a form to query the directory server")))
+        '(menu-item "Query with Form" eudc-query-form
+                    :help "Display a form to query the directory server"))
       (define-key map [separator-eudc-query] menu-bar-separator)
       (define-key map [new]
-       `(menu-item ,(purecopy "New Server") eudc-set-server
-                   :help ,(purecopy "Set the directory server to SERVER using PROTOCOL")))
+        '(menu-item "New Server" eudc-set-server
+                    :help "Set the directory server to SERVER using PROTOCOL"))
       (define-key map [load]
-       `(menu-item ,(purecopy "Load Hotlist of Servers") eudc-load-eudc
-                   :help ,(purecopy "Load the Emacs Unified Directory Client")))
+        '(menu-item "Load Hotlist of Servers" eudc-load-eudc
+                    :help "Load the Emacs Unified Directory Client"))
       map))
   (fset 'eudc-tools-menu (symbol-value 'eudc-tools-menu)))
 
index c4d46000f15264fee8886fb80315ab41980d2e40..10cf51cdd6ccbaf3008cabf4bb8b17cd41561e96 100644 (file)
@@ -136,7 +136,7 @@ by the close of the first pair.")
 (put 'comment-end-skip 'safe-local-variable 'stringp)
 
 ;;;###autoload
-(defvar comment-end (purecopy "")
+(defvar comment-end ""
   "String to insert to end a new comment.
 Should be an empty string if comments are terminated by end-of-line.")
 ;;;###autoload
@@ -288,7 +288,7 @@ See `comment-styles' for a list of available styles."
   :group 'comment)
 
 ;;;###autoload
-(defcustom comment-padding (purecopy " ")
+(defcustom comment-padding " "
   "Padding string that `comment-region' puts between comment chars and text.
 Can also be an integer which will be automatically turned into a string
 of the corresponding number of spaces.
index 51a4d91a7f303da307b4c6909d4953e9b9d45aa3..e4ebbcb01a73a9036a5ad55e344d63a961b3ede5 100644 (file)
@@ -415,8 +415,7 @@ FILE's modification time."
                                                    load-name outfile))
                                (let ((standard-output (marker-buffer output-start))
                                      (print-quoted t))
-                                 (princ `(push (purecopy
-                                                ',(cons (intern package) version))
+                                 (princ `(push ',(cons (intern package) version)
                                                package--builtin-versions))
                                  (princ "\n")))))
 
index 157a84736311bab0e2e8af7f21e0f4d8c1fef757..c9b43fe8e16acbb7198a0c1c0ab9ce5a8d34acda 100644 (file)
@@ -257,7 +257,6 @@ This has effect only if `search-invisible' is set to `open'."
   ;; FIXME: Currently the check is made via
   ;; (assoc major-mode hs-special-modes-alist) so it doesn't pay attention
   ;; to the mode hierarchy.
-  (mapcar #'purecopy
   '((c-mode "{" "}" "/[*/]" nil nil)
     (c-ts-mode "{" "}" "/[*/]" nil nil)
     (c++-mode "{" "}" "/[*/]" nil nil)
@@ -270,7 +269,7 @@ This has effect only if `search-invisible' is set to `open'."
     (lua-ts-mode "{\\|\\[\\[" "}\\|\\]\\]" "--" nil)
     (mhtml-mode "{\\|<[^/>]*?" "}\\|</[^/>]*[^/]>" "<!--" mhtml-forward nil)
     ;; Add more support here.
-    ))
+    )
   "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
index 776759eaea4a82af8cc693d97bcb1b9a76a0ec0d..c1258db2c54b144deed99c9a743df8f3c6304175 100644 (file)
@@ -1785,44 +1785,43 @@ 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")
-       (list 'legal        (* 72  8.5)    (* 72 14.0)          "Legal")
-       (list 'letter-small (* 72  7.68)   (* 72 10.16)         "LetterSmall")
-       (list 'tabloid      (* 72 11.0)    (* 72 17.0)          "Tabloid")
-       (list 'ledger       (* 72 17.0)    (* 72 11.0)          "Ledger")
-       (list 'statement    (* 72  5.5)    (* 72  8.5)          "Statement")
-       (list 'executive    (* 72  7.5)    (* 72 10.0)          "Executive")
-       (list 'a4small      (* 72  7.47)   (* 72 10.85)         "A4Small")
-       (list 'b4           (* 72 10.125)  (* 72 14.33)         "B4")
-       (list 'b5           (* 72  7.16)   (* 72 10.125)        "B5")
-       ;; page sizes for label printer
-       ;; NOTE: the page sizes below don't have n-up > 1.
-       '(addresslarge       236.0      99.0 "AddressLarge")
-       '(addresssmall       236.0      68.0 "AddressSmall")
-       '(cuthanging13        90.0     222.0 "CutHanging13")
-       '(cuthanging15        90.0     114.0 "CutHanging15")
-       '(diskette           181.0     136.0 "Diskette")
-       '(eurofilefolder     139.0     112.0 "EuropeanFilefolder")
-       '(eurofoldernarrow   526.0     107.0 "EuroFolderNarrow")
-       '(eurofolderwide     526.0     136.0 "EuroFolderWide")
-       '(euronamebadge      189.0     108.0 "EuroNameBadge")
-       '(euronamebadgelarge 223.0     136.0 "EuroNameBadgeLarge")
-       '(filefolder         230.0      37.0 "FileFolder")
-       '(jewelry             76.0     136.0 "Jewelry")
-       '(mediabadge         180.0     136.0 "MediaBadge")
-       '(multipurpose       126.0      68.0 "MultiPurpose")
-       '(retaillabel         90.0     104.0 "RetailLabel")
-       '(shipping           271.0     136.0 "Shipping")
-       '(slide35mm           26.0     104.0 "Slide35mm")
-       '(spine8mm           187.0      26.0 "Spine8mm")
-       '(topcoated          425.19685 136.0 "TopCoatedPaper")
-       '(topcoatedpaper     396.0     136.0 "TopcoatedPaper150")
-       '(vhsface            205.0     127.0 "VHSFace")
-       '(vhsspine           400.0      50.0 "VHSSpine")
-       '(zipdisk            156.0     136.0 "ZipDisk")))
+ (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")
+       (list 'legal        (* 72  8.5)    (* 72 14.0)          "Legal")
+       (list 'letter-small (* 72  7.68)   (* 72 10.16)         "LetterSmall")
+       (list 'tabloid      (* 72 11.0)    (* 72 17.0)          "Tabloid")
+       (list 'ledger       (* 72 17.0)    (* 72 11.0)          "Ledger")
+       (list 'statement    (* 72  5.5)    (* 72  8.5)          "Statement")
+       (list 'executive    (* 72  7.5)    (* 72 10.0)          "Executive")
+       (list 'a4small      (* 72  7.47)   (* 72 10.85)         "A4Small")
+       (list 'b4           (* 72 10.125)  (* 72 14.33)         "B4")
+       (list 'b5           (* 72  7.16)   (* 72 10.125)        "B5")
+       ;; page sizes for label printer
+       ;; NOTE: the page sizes below don't have n-up > 1.
+       '(addresslarge       236.0      99.0 "AddressLarge")
+       '(addresssmall       236.0      68.0 "AddressSmall")
+       '(cuthanging13        90.0     222.0 "CutHanging13")
+       '(cuthanging15        90.0     114.0 "CutHanging15")
+       '(diskette           181.0     136.0 "Diskette")
+       '(eurofilefolder     139.0     112.0 "EuropeanFilefolder")
+       '(eurofoldernarrow   526.0     107.0 "EuroFolderNarrow")
+       '(eurofolderwide     526.0     136.0 "EuroFolderWide")
+       '(euronamebadge      189.0     108.0 "EuroNameBadge")
+       '(euronamebadgelarge 223.0     136.0 "EuroNameBadgeLarge")
+       '(filefolder         230.0      37.0 "FileFolder")
+       '(jewelry             76.0     136.0 "Jewelry")
+       '(mediabadge         180.0     136.0 "MediaBadge")
+       '(multipurpose       126.0      68.0 "MultiPurpose")
+       '(retaillabel         90.0     104.0 "RetailLabel")
+       '(shipping           271.0     136.0 "Shipping")
+       '(slide35mm           26.0     104.0 "Slide35mm")
+       '(spine8mm           187.0      26.0 "Spine8mm")
+       '(topcoated          425.19685 136.0 "TopCoatedPaper")
+       '(topcoatedpaper     396.0     136.0 "TopcoatedPaper150")
+       '(vhsface            205.0     127.0 "VHSFace")
+       '(vhsspine           400.0      50.0 "VHSSpine")
+       '(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 533ebd6d5a90f3a8fa966901c8e6e40d6e43574d..d7e20256654f53bf1211c78bda62901e63f17f04 100644 (file)
@@ -102,7 +102,7 @@ If Emacs is not running under a window system,
   :version "22.1")
 
 (defcustom file-name-shadow-tty-properties
-  (purecopy '(before-string "{" after-string "} " field shadow))
+  '(before-string "{" after-string "} " field shadow)
   "Properties given to the `shadowed' part of a filename in the minibuffer.
 Only used when `file-name-shadow-mode' is active and Emacs
 is not running under a window-system; if Emacs is running under a window
index 44b1aac8c775bfa92df25977ebe3c93063a04e24..565690dc93099e824071c7ad1f17d6aaafe217aa 100644 (file)
   :group 'shell)
 
 ;;;###autoload
-(defcustom shell-dumb-shell-regexp (purecopy "cmd\\(proxy\\)?\\.exe")
+(defcustom shell-dumb-shell-regexp "cmd\\(proxy\\)?\\.exe"
   "Regexp to match shells that don't save their command history, and
 don't handle the backslash as a quote character.  For shells that
 match this regexp, Emacs will write out the command history when the
index 83a3e71b380cbcaae99d2cad7f8deed9dbb00cad..71bde1d098a5f0b219ccdc34328c76a1e342ef80 100644 (file)
@@ -177,7 +177,7 @@ changes."
 (defvar next-error-highlight-timer nil)
 
 (defvar next-error-overlay-arrow-position nil)
-(put 'next-error-overlay-arrow-position 'overlay-arrow-string (purecopy "=>"))
+(put 'next-error-overlay-arrow-position 'overlay-arrow-string "=>")
 (add-to-list 'overlay-arrow-variable-list 'next-error-overlay-arrow-position)
 
 (defvar next-error-last-buffer nil
@@ -4155,7 +4155,7 @@ which is defined in the `warnings' library.\n")
 Maximum length of the history list is determined by the value
 of `history-length', which see.")
 
-(defvar shell-command-switch (purecopy "-c")
+(defvar shell-command-switch "-c"
   "Switch used to have the shell execute its command line argument.")
 
 (defvar shell-command-default-error-buffer nil
@@ -6772,7 +6772,7 @@ START and END specify the portion of the current buffer to be copied."
       (save-excursion
        (insert-buffer-substring oldbuf start end)))))
 \f
-(define-error 'mark-inactive (purecopy "The mark is not active now"))
+(define-error 'mark-inactive "The mark is not active now")
 
 (defvar activate-mark-hook nil
   "Hook run when the mark becomes active.
@@ -9083,9 +9083,9 @@ if long lines are truncated."
   (message "Word wrapping %s"
           (if word-wrap "enabled" "disabled")))
 
-(defvar overwrite-mode-textual (purecopy " Ovwrt")
+(defvar overwrite-mode-textual " Ovwrt"
   "The string displayed in the mode line when in overwrite mode.")
-(defvar overwrite-mode-binary (purecopy " Bin Ovwrt")
+(defvar overwrite-mode-binary " Bin Ovwrt"
   "The string displayed in the mode line when in binary overwrite mode.")
 
 (define-minor-mode overwrite-mode
index 4a0d3896a5385445cf9865553547df20855c946d..d80ecf068c35f4d265f94e6be3231a2593b0c42c 100644 (file)
@@ -5575,7 +5575,7 @@ See also `with-eval-after-load'."
   ;; evaluating it now).
   (let* ((regexp-or-feature
          (if (stringp file)
-              (setq file (purecopy (load-history-regexp file)))
+              (setq file (load-history-regexp file))
             file))
         (elt (assoc regexp-or-feature after-load-alist))
          (func
@@ -6641,7 +6641,7 @@ Also, \"-GIT\", \"-CVS\" and \"-NNN\" are treated as snapshot versions."
 
 (defvar package--builtin-versions
   ;; Mostly populated by loaddefs.el.
-  (purecopy `((emacs . ,(version-to-list emacs-version))))
+  `((emacs . ,(version-to-list emacs-version)))
   "Alist giving the version of each versioned builtin package.
 I.e. each element of the list is of the form (NAME . VERSION) where
 NAME is the package name as a symbol, and VERSION is its version
index 1c6dca75d209e12be454802f95284c9a29c7319a..80294229ffde53f8a5e9a0af7bd6c25199aae783 100644 (file)
@@ -533,7 +533,7 @@ appropriate."
   "<touchscreen-begin>" #'tab-bar-touchscreen-begin)
 
 (global-set-key [tab-bar]
-                `(menu-item ,(purecopy "tab bar") ,(make-sparse-keymap)
+                `(menu-item "tab bar" ,(make-sparse-keymap)
                             :filter tab-bar-make-keymap))
 
 (defun tab-bar-make-keymap (&optional _ignore)
index 3208ffc20f90ea00bfe593207d95bba7619e7bc3..14808dc7c8b2e17647ede7981c0ee14059451381 100644 (file)
@@ -186,8 +186,6 @@ EVENT is a `preedit-text' event."
 (add-hook 'after-init-hook #'pgtk-use-im-context-handler)
 
 (defcustom x-gtk-stock-map
-  (mapcar (lambda (arg)
-           (cons (purecopy (car arg)) (purecopy (cdr arg))))
   '(
     ("etc/images/new" . ("document-new" "gtk-new"))
     ("etc/images/open" . ("document-open" "gtk-open"))
@@ -253,7 +251,7 @@ EVENT is a `preedit-text' event."
     ;; 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."
index daba1328ceae0790c087a9baa430f6acf3605857..b614e9aa31deda7fe4ce6788ff04c43770f22fd4 100644 (file)
@@ -1375,8 +1375,6 @@ This returns an error if any Emacs frames are X frames."
 (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" . ("document-new" "gtk-new"))
     ("etc/images/open" . ("document-open" "gtk-open"))
@@ -1442,7 +1440,7 @@ This returns an error if any Emacs frames are X frames."
     ;; 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."
index 384b926349d46e7cc5a1edba07ad4d758b58029f..8f55af155b9df698a3862481b4257fbb374d500e 100644 (file)
@@ -92,8 +92,8 @@ parameter is set to `top', and above the tool bar it is set to
 `bottom'.")
 
 (global-set-key [tool-bar]
-               `(menu-item ,(purecopy "tool bar") ignore
-                           :filter tool-bar-make-keymap))
+                '(menu-item "tool bar" ignore
+                            :filter tool-bar-make-keymap))
 
 (declare-function image-mask-p "image.c" (spec &optional frame))
 
index a8a6748aa4f4643f42aa496f912331479534b477..76ae8afd23cc4bb1ae008dadc758d5b29469c187 100644 (file)
@@ -54,7 +54,7 @@ The third argument DOC is a documentation string for the widget."
   (unless (or (null doc) (stringp doc))
     (error "Widget documentation must be nil or a string"))
   (put name 'widget-type (cons class args))
-  (put name 'widget-documentation (purecopy doc))
+  (put name 'widget-documentation doc)
   (add-to-list 'current-load-list `(define-widget . ,name))
   name)