emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 27c3a8b277: Remove some ineffectual calls to purecopy


From: Stefan Kangas
Subject: master 27c3a8b277: Remove some ineffectual calls to purecopy
Date: Sun, 10 Jul 2022 14:04:17 -0400 (EDT)

branch: master
commit 27c3a8b27707e401dfa28e833fcf12731d89669e
Author: Stefan Kangas <stefan@marxist.se>
Commit: Stefan Kangas <stefan@marxist.se>

    Remove some ineffectual calls to purecopy
    
    * lisp/dired.el (dired-chown-program, dired-trivial-filenames):
    * lisp/emacs-lisp/shortdoc.el (shortdoc--display-function):
    * lisp/help-fns.el (help-fns--mention-shortdoc-groups):
    * lisp/mail/mail-extr.el (mail-extr-full-name-prefixes)
    (mail-extr-all-letters-but-separators, mail-extr-all-letters)
    (mail-extr-first-letters, mail-extr-last-letters)
    (mail-extr-bad-dot-pattern, mail-extr-full-name-suffix-pattern)
    (mail-extr-alternative-address-pattern)
    (mail-extr-trailing-comment-start-pattern)
    (mail-extr-name-pattern, mail-extr-telephone-extension-pattern)
    (mail-extr-ham-call-sign-pattern, mail-extr-normal-name-pattern)
    (mail-extr-two-name-pattern)
    (mail-extr-listserv-list-name-pattern)
    (mail-extr-stupid-vms-date-stamp-pattern)
    (mail-extr-hz-embedded-gb-encoded-chinese-pattern)
    (mail-extr-x400-encoded-address-pattern)
    (mail-extr-x400-encoded-address-field-pattern-format)
    (mail-extr-x400-encoded-address-surname-pattern)
    (mail-extr-x400-encoded-address-given-name-pattern)
    (mail-extr-x400-encoded-address-full-name-pattern): Remove
    ineffectual calls to purecopy.
---
 lisp/dired.el               |  10 ++--
 lisp/emacs-lisp/shortdoc.el |   6 +--
 lisp/help-fns.el            |   2 +-
 lisp/mail/mail-extr.el      | 113 ++++++++++++++++++++------------------------
 4 files changed, 59 insertions(+), 72 deletions(-)

diff --git a/lisp/dired.el b/lisp/dired.el
index b9ab2a9b1e..43563d969f 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -103,10 +103,10 @@ If `dired-maybe-use-globstar' is non-nil, then 
`dired-insert-directory'
 checks this alist to enable globstar in the shell subprocess.")
 
 (defcustom dired-chown-program
-  (purecopy (cond ((executable-find "chown") "chown")
-                  ((file-executable-p "/usr/sbin/chown") "/usr/sbin/chown")
-                  ((file-executable-p "/etc/chown") "/etc/chown")
-                  (t "chown")))
+  (cond ((executable-find "chown") "chown")
+        ((file-executable-p "/usr/sbin/chown") "/usr/sbin/chown")
+        ((file-executable-p "/etc/chown") "/etc/chown")
+        (t "chown"))
   "Name of chown command (usually `chown')."
   :group 'dired
   :type 'file)
@@ -161,7 +161,7 @@ always set this variable to t."
   :type 'boolean
   :group 'dired-mark)
 
-(defcustom dired-trivial-filenames (purecopy "\\`\\.\\.?\\'\\|\\`\\.?#")
+(defcustom dired-trivial-filenames "\\`\\.\\.?\\'\\|\\`\\.?#"
   "Regexp of files to skip when finding first file of a directory.
 A value of nil means move to the subdir line.
 A value of t means move to first file."
diff --git a/lisp/emacs-lisp/shortdoc.el b/lisp/emacs-lisp/shortdoc.el
index 68293931c3..a2d954cadb 100644
--- a/lisp/emacs-lisp/shortdoc.el
+++ b/lisp/emacs-lisp/shortdoc.el
@@ -1367,15 +1367,15 @@ If SAME-WINDOW, don't pop to a new window."
          'action (lambda (_)
                    (describe-function function))
          'follow-link t
-         'help-echo (purecopy "mouse-1, RET: describe function"))
+         'help-echo "mouse-1, RET: describe function")
       (insert-text-button
        (symbol-name function)
        'face 'button
        'action (lambda (_)
                  (info-lookup-symbol function 'emacs-lisp-mode))
        'follow-link t
-       'help-echo (purecopy "mouse-1, RET: show \
-function's documentation in the Info manual")))
+       'help-echo "mouse-1, RET: show \
+function's documentation in the Info manual"))
     (setq arglist-start (point))
     (insert ")\n")
     ;; Doc string.
diff --git a/lisp/help-fns.el b/lisp/help-fns.el
index 17354783ca..fbd4015870 100644
--- a/lisp/help-fns.el
+++ b/lisp/help-fns.el
@@ -868,7 +868,7 @@ the C sources, too."
                       (shortdoc-display-group group object
                                               help-window-keep-selected))
             'follow-link t
-            'help-echo (purecopy "mouse-1, RET: show documentation group")))
+            'help-echo "mouse-1, RET: show documentation group"))
          groups)
         (insert (if (= (length groups) 1)
                     " group.\n"
diff --git a/lisp/mail/mail-extr.el b/lisp/mail/mail-extr.el
index c87ea2b46e..25ce4ea902 100644
--- a/lisp/mail/mail-extr.el
+++ b/lisp/mail/mail-extr.el
@@ -1,7 +1,6 @@
 ;;; mail-extr.el --- extract full name and address from email header  -*- 
lexical-binding: t; -*-
 
-;; Copyright (C) 1991-1994, 1997, 2001-2022 Free Software Foundation,
-;; Inc.
+;; Copyright (C) 1991-2022 Free Software Foundation, Inc.
 
 ;; Author: Joe Wells <jbw@cs.bu.edu>
 ;; Maintainer: emacs-devel@gnu.org
@@ -240,8 +239,7 @@ we will act as though we couldn't find a full name in the 
address."
 ;; Matches a leading title that is not part of the name (does not
 ;; contribute to uniquely identifying the person).
 (defcustom mail-extr-full-name-prefixes
-  (purecopy
-   "\\(Prof\\|D[Rr]\\|Mrs?\\|Rev\\|Rabbi\\|SysOp\\|LCDR\\)\\.?[ \t\n]")
+  "\\(Prof\\|D[Rr]\\|Mrs?\\|Rev\\|Rabbi\\|SysOp\\|LCDR\\)\\.?[ \t\n]"
   "Matches prefixes to the full name that identify a person's position.
 These are stripped from the full name because they do not contribute to
 uniquely identifying the person."
@@ -279,45 +277,42 @@ by translating things like \"foo!bar!baz@host\" into 
\"baz@bar.UUCP\"."
 ;; Yes, there are weird people with digits in their names.
 ;; You will also notice the consideration for the
 ;; Swedish/Finnish/Norwegian character set.
-(defconst mail-extr-all-letters-but-separators
-  (purecopy "][[:alnum:]{|}'~`"))
+(defconst mail-extr-all-letters-but-separators "][[:alnum:]{|}'~`")
 
 ;; Any character that can occur in a name in an RFC 822 (or later)
 ;; address including the separator (hyphen and possibly period) for
 ;; multipart names.
 ;; #### should . be in here?
 (defconst mail-extr-all-letters
-  (purecopy (concat mail-extr-all-letters-but-separators "-")))
+  (concat mail-extr-all-letters-but-separators "-"))
 
 ;; Any character that can start a name.
 ;; Keep this set as minimal as possible.
-(defconst mail-extr-first-letters (purecopy "[:alpha:]"))
+(defconst mail-extr-first-letters "[:alpha:]")
 
 ;; Any character that can end a name.
 ;; Keep this set as minimal as possible.
-(defconst mail-extr-last-letters (purecopy "[:alpha:]`'."))
+(defconst mail-extr-last-letters "[:alpha:]`'.")
 
 (defconst mail-extr-leading-garbage "\\W+")
 
 ;; (defconst mail-extr-non-begin-name-chars
-;;   (purecopy (concat "^" mail-extr-first-letters)))
+;;   (concat "^" mail-extr-first-letters))
 ;; (defconst mail-extr-non-end-name-chars
-;;   (purecopy (concat "^" mail-extr-last-letters)))
+;;   (concat "^" mail-extr-last-letters))
 
 ;; Matches periods used instead of spaces.  Must not match the period
 ;; following an initial.
 (defconst mail-extr-bad-dot-pattern
-  (purecopy
-   (format "\\([%s][%s]\\)\\.+\\([%s]\\)"
-          mail-extr-all-letters
-          mail-extr-last-letters
-          mail-extr-first-letters)))
+  (format "\\([%s][%s]\\)\\.+\\([%s]\\)"
+          mail-extr-all-letters
+          mail-extr-last-letters
+          mail-extr-first-letters))
 
 ;; Matches an embedded or leading nickname that should be removed.
 ;; (defconst mail-extr-nickname-pattern
-;;   (purecopy
-;;    (format "\\([ .]\\|\\`\\)[\"'`[(]\\([ .%s]+\\)[]\"')] "
-;;            mail-extr-all-letters)))
+;;   (format "\\([ .]\\|\\`\\)[\"'`[(]\\([ .%s]+\\)[]\"')] "
+;;           mail-extr-all-letters))
 
 ;; Matches the occurrence of a generational name suffix, and the last
 ;; character of the preceding name.  This is important because we want to
@@ -325,59 +320,56 @@ by translating things like \"foo!bar!baz@host\" into 
\"baz@bar.UUCP\"."
 ;; *** Perhaps this should be a user-customizable variable.  However, the
 ;; *** regular expression is fairly tricky to alter, so maybe not.
 (defconst mail-extr-full-name-suffix-pattern
-  (purecopy
-   (format
-    "\\(,? ?\\([JjSs][Rr]\\.?\\|V?I+V?\\)\\)\\([^%s]\\([^%s]\\|\\'\\)\\|\\'\\)"
-    mail-extr-all-letters mail-extr-all-letters)))
+  (format
+   "\\(,? ?\\([JjSs][Rr]\\.?\\|V?I+V?\\)\\)\\([^%s]\\([^%s]\\|\\'\\)\\|\\'\\)"
+   mail-extr-all-letters mail-extr-all-letters))
 
-(defconst mail-extr-roman-numeral-pattern (purecopy "V?I+V?\\b"))
+(defconst mail-extr-roman-numeral-pattern "V?I+V?\\b")
 
 ;; Matches a trailing uppercase (with other characters possible) acronym.
 ;; Must not match a trailing uppercase last name or trailing initial
 (defconst mail-extr-weird-acronym-pattern
-  (purecopy "\\([A-Z]+[-_/]\\|[A-Z][A-Z][A-Z]?\\b\\)"))
+  "\\([A-Z]+[-_/]\\|[A-Z][A-Z][A-Z]?\\b\\)")
 
 ;; Matches a mixed-case or lowercase name (not an initial).
 ;; #### Match Latin1 lower case letters here too?
 ;; (defconst mail-extr-mixed-case-name-pattern
-;;   (purecopy
-;;    (format
-;;     "\\b\\([a-z][%s]*[%s]\\|[%s][%s]*[a-z][%s]*[%s]\\|[%s][%s]*[a-z]\\)"
-;;     mail-extr-all-letters mail-extr-last-letters
-;;     mail-extr-first-letters mail-extr-all-letters mail-extr-all-letters
-;;     mail-extr-last-letters mail-extr-first-letters mail-extr-all-letters)))
+;;   (format
+;;    "\\b\\([a-z][%s]*[%s]\\|[%s][%s]*[a-z][%s]*[%s]\\|[%s][%s]*[a-z]\\)"
+;;    mail-extr-all-letters mail-extr-last-letters
+;;    mail-extr-first-letters mail-extr-all-letters mail-extr-all-letters
+;;    mail-extr-last-letters mail-extr-first-letters mail-extr-all-letters))
 
 ;; Matches a trailing alternative address.
 ;; #### Match Latin1 letters here too?
 ;; #### Match _ before @ here too?
 (defconst mail-extr-alternative-address-pattern
-  (purecopy "\\(aka *\\)?[a-zA-Z.]+[!@][a-zA-Z.]"))
+  "\\(aka *\\)?[a-zA-Z.]+[!@][a-zA-Z.]")
 
 ;; Matches a variety of trailing comments not including comma-delimited
 ;; comments.
 (defconst mail-extr-trailing-comment-start-pattern
-  (purecopy " [-{]\\|--\\|[+@#></;]"))
+  " [-{]\\|--\\|[+@#></;]")
 
 ;; Matches a name (not an initial).
 ;; This doesn't force a word boundary at the end because sometimes a
 ;; comment is separated by a `-' with no preceding space.
 (defconst mail-extr-name-pattern
-  (purecopy (format "\\b[%s][%s]*[%s]"
-                   mail-extr-first-letters
-                   mail-extr-all-letters
-                   mail-extr-last-letters)))
+  (format "\\b[%s][%s]*[%s]"
+          mail-extr-first-letters
+          mail-extr-all-letters
+          mail-extr-last-letters))
 
 (defconst mail-extr-initial-pattern
-  (purecopy (format "\\b[%s]\\([. ]\\|\\b\\)" mail-extr-first-letters)))
+  (format "\\b[%s]\\([. ]\\|\\b\\)" mail-extr-first-letters))
 
 ;; Matches a single name before a comma.
 ;; (defconst mail-extr-last-name-first-pattern
-;;   (purecopy (concat "\\`" mail-extr-name-pattern ",")))
+;;   (concat "\\`" mail-extr-name-pattern ","))
 
 ;; Matches telephone extensions.
 (defconst mail-extr-telephone-extension-pattern
-  (purecopy
-   "\\(\\([Ee]xt\\|[Tt]ph\\|[Tt]el\\|[Xx]\\)\\.?\\)? *\\+?[0-9][- 0-9]+"))
+  "\\(\\([Ee]xt\\|[Tt]ph\\|[Tt]el\\|[Xx]\\)\\.?\\)? *\\+?[0-9][- 0-9]+")
 
 ;; Matches ham radio call signs.
 ;; Help from: Mat Maessen N2NJZ <maessm@rpi.edu>, Mark Feit
@@ -386,7 +378,7 @@ by translating things like \"foo!bar!baz@host\" into 
\"baz@bar.UUCP\"."
 ;; KE9TV KF0NV N1API N3FU N3GZE N3IGS N4KCC N7IKQ N9HHU W4YHF W6ANK WA2SUH
 ;; WB7VZI N2NJZ NR3G KJ4KK AB4UM AL7NI KH6OH WN3KBT N4TMI W1A N0NZO
 (defconst mail-extr-ham-call-sign-pattern
-  (purecopy "\\b\\(DX[0-9]+\\|[AKNW][A-Z]?[0-9][A-Z][A-Z]?[A-Z]?\\)"))
+  "\\b\\(DX[0-9]+\\|[AKNW][A-Z]?[0-9][A-Z][A-Z]?[A-Z]?\\)")
 
 ;; Possible trailing suffixes: "\\(/\\(KT\\|A[AEG]\\|[R0-9]\\)\\)?"
 ;; /KT == Temporary Technician (has CSC but not "real" license)
@@ -400,31 +392,29 @@ by translating things like \"foo!bar!baz@host\" into 
\"baz@bar.UUCP\"."
 
 ;; Matches normal single-part name
 (defconst mail-extr-normal-name-pattern
-  (purecopy (format "\\b[%s][%s]+[%s]"
-                   mail-extr-first-letters
-                   mail-extr-all-letters-but-separators
-                   mail-extr-last-letters)))
+  (format "\\b[%s][%s]+[%s]"
+          mail-extr-first-letters
+          mail-extr-all-letters-but-separators
+          mail-extr-last-letters))
 
 ;; Matches a single word name.
 ;; (defconst mail-extr-one-name-pattern
-;;   (purecopy (concat "\\`" mail-extr-normal-name-pattern "\\'")))
+;;   (concat "\\`" mail-extr-normal-name-pattern "\\'"))
 
 ;; Matches normal two names with missing middle initial
 ;; The first name is not allowed to have a hyphen because this can cause
 ;; false matches where the "middle initial" is actually the first letter
 ;; of the second part of the first name.
 (defconst mail-extr-two-name-pattern
-  (purecopy
-   (concat "\\`\\(" mail-extr-normal-name-pattern
-          "\\|" mail-extr-initial-pattern
-          "\\) +\\(" mail-extr-name-pattern "\\)\\(,\\|\\'\\)")))
+  (concat "\\`\\(" mail-extr-normal-name-pattern
+          "\\|" mail-extr-initial-pattern
+          "\\) +\\(" mail-extr-name-pattern "\\)\\(,\\|\\'\\)"))
 
 (defconst mail-extr-listserv-list-name-pattern
-  (purecopy "Multiple recipients of list \\([-A-Z]+\\)"))
+  "Multiple recipients of list \\([-A-Z]+\\)")
 
 (defconst mail-extr-stupid-vms-date-stamp-pattern
-  (purecopy
-   "[0-9][0-9]-[JFMASOND][aepuco][nbrylgptvc]-[0-9][0-9][0-9][0-9] [0-9]+ *"))
+  "[0-9][0-9]-[JFMASOND][aepuco][nbrylgptvc]-[0-9][0-9][0-9][0-9] [0-9]+ *")
 
 ;;; HZ -- GB (PRC Chinese character encoding) in ASCII embedding protocol
 ;;
@@ -443,25 +433,23 @@ by translating things like \"foo!bar!baz@host\" into 
\"baz@bar.UUCP\"."
 ;; mode from GB back to ASCII.  (Note that the escape-from-GB code '~}'
 ;; ($7E7D) is outside the defined GB range.)
 (defconst mail-extr-hz-embedded-gb-encoded-chinese-pattern
-  (purecopy "~{\\([^~].\\|~[^}]\\)+~}"))
+  "~{\\([^~].\\|~[^}]\\)+~}")
 
 ;; The leading optional lowercase letters are for a bastardized version of
 ;; the encoding, as is the optional nature of the final slash.
 (defconst mail-extr-x400-encoded-address-pattern
-  (purecopy "[a-z]?[a-z]?\\(/[A-Za-z]+\\(\\.[A-Za-z]+\\)?=[^/]+\\)+/?\\'"))
+  "[a-z]?[a-z]?\\(/[A-Za-z]+\\(\\.[A-Za-z]+\\)?=[^/]+\\)+/?\\'")
 
 (defconst mail-extr-x400-encoded-address-field-pattern-format
-  (purecopy "/%s=\\([^/]+\\)\\(/\\|\\'\\)"))
+  "/%s=\\([^/]+\\)\\(/\\|\\'\\)")
 
 (defconst mail-extr-x400-encoded-address-surname-pattern
   ;; S stands for Surname (family name).
-  (purecopy
-   (format mail-extr-x400-encoded-address-field-pattern-format "[Ss]")))
+  (format mail-extr-x400-encoded-address-field-pattern-format "[Ss]"))
 
 (defconst mail-extr-x400-encoded-address-given-name-pattern
   ;; G stands for Given name.
-  (purecopy
-   (format mail-extr-x400-encoded-address-field-pattern-format "[Gg]")))
+  (format mail-extr-x400-encoded-address-field-pattern-format "[Gg]"))
 
 (defconst mail-extr-x400-encoded-address-full-name-pattern
   ;; PN stands for Personal Name.  When used it represents the combination
@@ -469,8 +457,7 @@ by translating things like \"foo!bar!baz@host\" into 
\"baz@bar.UUCP\"."
   ;; "The one system I used having this field asked it with the prompt
   ;; `Personal Name'.  But they mapped it into G and S on outgoing real
   ;; X.400 addresses.  As they mapped G and S into PN on incoming..."
-  (purecopy
-   (format mail-extr-x400-encoded-address-field-pattern-format "[Pp][Nn]")))
+  (format mail-extr-x400-encoded-address-field-pattern-format "[Pp][Nn]"))
 
 
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]