+2009-11-11 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * term/x-win.el (x-gtk-stock-map):
+ * progmodes/vera-mode.el (auto-mode-alist):
+ * progmodes/inf-lisp.el (inferior-lisp-filter-regexp)
+ (inferior-lisp-program, inferior-lisp-load-command):
+ * progmodes/hideshow.el (hs-special-modes-alist):
+ * progmodes/gud.el (same-window-regexps):
+ * progmodes/grep.el (grep-program, find-program, xargs-program):
+ * net/telnet.el (same-window-regexps):
+ * net/rlogin.el (same-window-regexps):
+ * language/ethiopic.el (font-ccl-encoder-alist):
+ * vc-sccs.el (vc-sccs-master-templates):
+ * vc-rcs.el (vc-rcs-master-templates):
+ * subr.el (cl-assertion-failed):
+ * simple.el (next-error-overlay-arrow-position):
+ * lpr.el (lpr-command):
+ * locate.el (locate-ls-subdir-switches):
+ * info.el (same-window-regexps, info)
+ (Info-goto-emacs-command-node, Info-goto-emacs-key-command-node):
+ * image-mode.el (image-mode, auto-mode-alist):
+ * hippie-exp.el (hippie-expand-ignore-buffers):
+ * format.el (format-alist):
+ * find-dired.el (find-ls-subdir-switches, find-grep-options)
+ (find-name-arg):
+ * facemenu.el (facemenu-keybindings):
+ * dired.el (dired-listing-switches, dired-chown-program):
+ * diff.el (diff-switches, diff-command):
+ * cus-edit.el (same-window-regexps):
+ * bindings.el (mode-line-mule-info)
+ (mode-line-buffer-identification): Purecopy strings.
+
2009-11-11 Juri Linkov <juri@jurta.org>
* simple.el (dired-get-filename)<declare-function>:
(current-input-method
(:propertize ("" current-input-method-title)
help-echo (concat
- "Current input method: "
+ ,(purecopy "Current input method: ")
current-input-method
- "\n\
+ ,(purecopy "\n\
mouse-2: Disable input method\n\
-mouse-3: Describe current input method")
+mouse-3: Describe current input method"))
local-map ,mode-line-input-method-map
mouse-face mode-line-highlight))
,(propertize
'mouse-face 'mode-line-highlight
'local-map mode-line-buffer-identification-keymap)))
-(defvar mode-line-buffer-identification (propertized-buffer-identification "%12b") "\
+(defvar mode-line-buffer-identification (purecopy (propertized-buffer-identification "%12b")) "\
Mode-line control for identifying the buffer being displayed.
Its default value is (\"%12b\") with some text properties added.
Major modes that edit things other than ordinary files may change this
(const :tag "none" nil))
:group 'custom-menu)
-;;;###autoload (add-hook 'same-window-regexps "\\`\\*Customiz.*\\*\\'")
+;;;###autoload (add-hook 'same-window-regexps (purecopy "\\`\\*Customiz.*\\*\\'"))
(defun custom-sort-items (items sort-alphabetically order-groups)
"Return a sorted copy of ITEMS.
:group 'tools)
;;;###autoload
-(defcustom diff-switches "-c"
+(defcustom diff-switches (purecopy "-c")
"A string or list of strings specifying switches to be passed to diff."
:type '(choice string (repeat string))
:group 'diff)
;;;###autoload
-(defcustom diff-command "diff"
+(defcustom diff-command (purecopy "diff")
"The command to use to run diff."
:type 'string
:group 'diff)
;;;###autoload
-(defcustom dired-listing-switches "-al"
+(defcustom dired-listing-switches (purecopy "-al")
"Switches passed to `ls' for Dired. MUST contain the `l' option.
May contain all other options that don't contradict `-l';
may contain even `F', `b', `i' and `s'. See also the variable
;;;###autoload
(defvar dired-chown-program
+ (purecopy
(if (memq system-type '(hpux usg-unix-v irix linux gnu/linux cygwin))
"chown"
(if (file-exists-p "/usr/sbin/chown")
"/usr/sbin/chown"
- "/etc/chown"))
+ "/etc/chown")))
"Name of chown command (usually `chown' or `/etc/chown').")
(defvar dired-use-ls-dired (not (not (string-match "gnu" system-configuration)))
:prefix "facemenu-")
(defcustom facemenu-keybindings
+ (mapcar 'purecopy
'((default . "d")
(bold . "b")
(italic . "i")
(bold-italic . "l") ; {bold} intersect {italic} = {l}
- (underline . "u"))
+ (underline . "u")))
"Alist of interesting faces and keybindings.
Each element is itself a list: the car is the name of the face,
the next element is the key to use as a keyboard equivalent of the menu item;
:group 'find-dired)
;;;###autoload
-(defcustom find-ls-subdir-switches "-al"
+(defcustom find-ls-subdir-switches (purecopy "-al")
"`ls' switches for inserting subdirectories in `*Find*' buffers.
This should contain the \"-l\" switch.
Use the \"-F\" or \"-b\" switches if and only if you also use
;;;###autoload
(defcustom find-grep-options
- (if (or (eq system-type 'berkeley-unix)
+ (purecopy (if (or (eq system-type 'berkeley-unix)
(string-match "solaris2" system-configuration)
(string-match "irix" system-configuration))
- "-s" "-q")
+ "-s" "-q"))
"Option to grep to be as silent as possible.
On Berkeley systems, this is `-s'; on Posix, and with GNU grep, `-q' does it.
On other systems, the closest you can come is to use `-l'."
;;;###autoload
(defcustom find-name-arg
- (if read-file-name-completion-ignore-case
+ (purecopy (if read-file-name-completion-ignore-case
"-iname"
- "-name")
+ "-name"))
"Argument used to specify file name pattern.
If `read-file-name-completion-ignore-case' is non-nil, -iname is used so that
find also ignores case. Otherwise, -name is used."
(put 'buffer-auto-save-file-format 'permanent-local t)
(defvar format-alist
- '((text/enriched "Extended MIME text/enriched format."
- "Content-[Tt]ype:[ \t]*text/enriched"
+ ;; FIXME: maybe each item can be purecopied instead of just the strings.
+ `((text/enriched ,(purecopy "Extended MIME text/enriched format.")
+ ,(purecopy "Content-[Tt]ype:[ \t]*text/enriched")
enriched-decode enriched-encode t enriched-mode)
- (plain "ISO 8859-1 standard format, no text properties."
+ (plain ,(purecopy "ISO 8859-1 standard format, no text properties.")
;; Plain only exists so that there is an obvious neutral choice in
;; the completion list.
nil nil nil nil nil)
- (TeX "TeX (encoding)"
+ (TeX ,(purecopy "TeX (encoding)")
nil
iso-tex2iso iso-iso2tex t nil)
- (gtex "German TeX (encoding)"
+ (gtex ,(purecopy "German TeX (encoding)")
nil
iso-gtex2iso iso-iso2gtex t nil)
- (html "HTML/SGML \"ISO 8879:1986//ENTITIES Added Latin 1//EN\" (encoding)"
+ (html ,(purecopy "HTML/SGML \"ISO 8879:1986//ENTITIES Added Latin 1//EN\" (encoding)")
nil
iso-sgml2iso iso-iso2sgml t nil)
- (rot13 "rot13"
+ (rot13 ,(purecopy "rot13")
nil
- "tr a-mn-z n-za-m" "tr a-mn-z n-za-m" t nil)
- (duden "Duden Ersatzdarstellung"
+ ,(purecopy "tr a-mn-z n-za-m") ,(purecopy "tr a-mn-z n-za-m") t nil)
+ (duden ,(purecopy "Duden Ersatzdarstellung")
nil
- "diac" iso-iso2duden t nil)
- (de646 "German ASCII (ISO 646)"
+ ,(purecopy "diac") iso-iso2duden t nil)
+ (de646 ,(purecopy "German ASCII (ISO 646)")
nil
- "recode -f iso646-ge:latin1" "recode -f latin1:iso646-ge" t nil)
- (denet "net German"
+ ,(purecopy "recode -f iso646-ge:latin1")
+ ,(purecopy "recode -f latin1:iso646-ge") t nil)
+ (denet ,(purecopy "net German")
nil
iso-german iso-cvt-read-only t nil)
- (esnet "net Spanish"
+ (esnet ,(purecopy "net Spanish")
nil
iso-spanish iso-cvt-read-only t nil))
"List of information about understood file formats.
:group 'hippie-expand)
;;;###autoload
-(defcustom hippie-expand-ignore-buffers '("^ \\*.*\\*$" dired-mode)
+(defcustom hippie-expand-ignore-buffers (list (purecopy "^ \\*.*\\*$") 'dired-mode)
"A list specifying which buffers not to search (if not current).
Can contain both regexps matching buffer names (as strings) and major modes
\(as atoms)"
(require 'image)
(eval-when-compile (require 'cl))
-;;;###autoload (push '("\\.jpe?g\\'" . image-mode) auto-mode-alist)
-;;;###autoload (push '("\\.png\\'" . image-mode) auto-mode-alist)
-;;;###autoload (push '("\\.gif\\'" . image-mode) auto-mode-alist)
-;;;###autoload (push '("\\.tiff?\\'" . image-mode) auto-mode-alist)
-;;;###autoload (push '("\\.p[bpgn]m\\'" . image-mode) auto-mode-alist)
+;;;###autoload (push (cons (purecopy "\\.jpe?g\\'") 'image-mode) auto-mode-alist)
+;;;###autoload (push (cons (purecopy "\\.png\\'") 'image-mode) auto-mode-alist)
+;;;###autoload (push (cons (purecopy "\\.gif\\'") 'image-mode) auto-mode-alist)
+;;;###autoload (push (cons (purecopy "\\.tiff?\\'") 'image-mode) auto-mode-alist)
+;;;###autoload (push (cons (purecopy "\\.p[bpgn]m\\'") 'image-mode) auto-mode-alist)
-;;;###autoload (push '("\\.x[bp]m\\'" . c-mode) auto-mode-alist)
-;;;###autoload (push '("\\.x[bp]m\\'" . image-mode-maybe) auto-mode-alist)
+;;;###autoload (push (cons (purecopy "\\.x[bp]m\\'") 'c-mode) auto-mode-alist)
+;;;###autoload (push (cons (purecopy "\\.x[bp]m\\'") 'image-mode-maybe) auto-mode-alist)
-;;;###autoload (push '("\\.svgz?\\'" . xml-mode) auto-mode-alist)
-;;;###autoload (push '("\\.svgz?\\'" . image-mode-maybe) auto-mode-alist)
+;;;###autoload (push (cons (purecopy "\\.svgz?\\'") 'xml-mode) auto-mode-alist)
+;;;###autoload (push (cons (purecopy "\\.svgz?\\'") 'image-mode-maybe) auto-mode-alist)
;;; Image mode window-info management.
(let (same-window-buffer-names same-window-regexps)
(info file-or-node)))
-;;;###autoload (add-hook 'same-window-regexps "\\*info\\*\\(\\|<[0-9]+>\\)")
+;;;###autoload (add-hook 'same-window-regexps (purecopy "\\*info\\*\\(\\|<[0-9]+>\\)"))
-;;;###autoload (put 'info 'info-file "emacs")
+;;;###autoload (put 'info 'info-file (purecopy "emacs"))
;;;###autoload
(defun info (&optional file-or-node buffer)
"Enter Info, the documentation browser.
(cdr where))
where)))
-;;;###autoload (put 'Info-goto-emacs-command-node 'info-file "emacs")
+;;;###autoload (put 'Info-goto-emacs-command-node 'info-file (purecopy "emacs"))
;;;###autoload
(defun Info-goto-emacs-command-node (command)
"Go to the Info node in the Emacs manual for command COMMAND.
(if (> num-matches 2) "them" "it")))))
(error "Couldn't find documentation for %s" command))))
-;;;###autoload (put 'Info-goto-emacs-key-command-node 'info-file "emacs")
+;;;###autoload (put 'Info-goto-emacs-key-command-node 'info-file (purecopy "emacs"))
;;;###autoload
(defun Info-goto-emacs-key-command-node (key)
"Go to the node in the Emacs manual which describes the command bound to KEY.
"CCL program to encode an Ethiopic code to code point of Ethiopic font.")
(setq font-ccl-encoder-alist
- (cons (cons "ethiopic" ccl-encode-ethio-font) font-ccl-encoder-alist))
+ (cons (cons (purecopy "ethiopic") ccl-encode-ethio-font) font-ccl-encoder-alist))
(set-language-info-alist
"Ethiopic" '((setup-function . setup-ethiopic-environment-internal)
:group 'locate)
;;;###autoload
-(defcustom locate-ls-subdir-switches "-al"
+(defcustom locate-ls-subdir-switches (purecopy "-al")
"`ls' switches for inserting subdirectories in `*Locate*' buffers.
This should contain the \"-l\" switch, but not the \"-F\" or \"-b\" switches."
:type 'string
;;;###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
(define-key rlogin-mode-map "\C-i" 'rlogin-tab-or-complete)))
\f
-;;;###autoload (add-hook 'same-window-regexps "^\\*rlogin-.*\\*\\(\\|<[0-9]+>\\)")
+;;;###autoload (add-hook 'same-window-regexps (purecopy "^\\*rlogin-.*\\*\\(\\|<[0-9]+>\\)"))
(defvar rlogin-history nil)
(delete-region comint-last-input-start
comint-last-input-end)))
-;;;###autoload (add-hook 'same-window-regexps "\\*telnet-.*\\*\\(\\|<[0-9]+>\\)")
+;;;###autoload (add-hook 'same-window-regexps (purecopy "\\*telnet-.*\\*\\(\\|<[0-9]+>\\)"))
;;;###autoload
(defun telnet (host &optional port)
(set (make-local-variable 'comint-prompt-regexp) telnet-prompt-pattern)
(set (make-local-variable 'comint-use-prompt-regexp) t))
-;;;###autoload (add-hook 'same-window-regexps "\\*rsh-[^-]*\\*\\(\\|<[0-9]*>\\)")
+;;;###autoload (add-hook 'same-window-regexps (purecopy "\\*rsh-[^-]*\\*\\(\\|<[0-9]*>\\)"))
;;;###autoload
(defun rsh (host)
This gets tacked on the end of the generated expressions.")
;;;###autoload
-(defvar grep-program "grep"
+(defvar grep-program (purecopy "grep")
"The default grep program for `grep-command' and `grep-find-command'.
This variable's value takes effect when `grep-compute-defaults' is called.")
;;;###autoload
-(defvar find-program "find"
+(defvar find-program (purecopy "find")
"The default find program for `grep-find-command'.
This variable's value takes effect when `grep-compute-defaults' is called.")
;;;###autoload
-(defvar xargs-program "xargs"
+(defvar xargs-program (purecopy "xargs")
"The default xargs program for `grep-find-command'.
See `grep-find-use-xargs'.
This variable's value takes effect when `grep-compute-defaults' is called.")
;; Cause our buffers to be displayed, by default,
;; in the selected window.
-;;;###autoload (add-hook 'same-window-regexps "\\*gud-.*\\*\\(\\|<[0-9]+>\\)")
+;;;###autoload (add-hook 'same-window-regexps (purecopy "\\*gud-.*\\*\\(\\|<[0-9]+>\\)"))
(defcustom gud-chdir-before-run t
"Non-nil if GUD should `cd' to the debugged executable."
;; .PROCESSORNAME-gdbinit so that the host and target gdbinit files
;; don't interfere with each other.
;;;###autoload
-(add-to-list 'auto-mode-alist '("/\\.[a-z0-9-]*gdbinit" . gdb-script-mode))
+(add-to-list 'auto-mode-alist (cons (purecopy "/\\.[a-z0-9-]*gdbinit") 'gdb-script-mode))
;;;###autoload
(define-derived-mode gdb-script-mode nil "GDB-Script"
;;;###autoload
(defvar hs-special-modes-alist
+ (mapcar 'purecopy
'((c-mode "{" "}" "/[*/]" nil nil)
(c++-mode "{" "}" "/[*/]" nil nil)
(bibtex-mode ("@\\S(*\\(\\s(\\)" 1))
(java-mode "{" "}" "/[*/]" nil nil)
- (js-mode "{" "}" "/[*/]" nil))
+ (js-mode "{" "}" "/[*/]" nil)))
"*Alist for initializing the hideshow variables for different modes.
Each element has the form
(MODE START END COMMENT-START FORWARD-SEXP-FUNC ADJUST-BEG-FUNC).
;;;###autoload
(defcustom inferior-lisp-filter-regexp
- "\\`\\s *\\(:\\(\\w\\|\\s_\\)\\)?\\s *\\'"
+ (purecopy "\\`\\s *\\(:\\(\\w\\|\\s_\\)\\)?\\s *\\'")
"*What not to save on inferior Lisp's input history.
Input matching this regexp is not saved on the input history in Inferior Lisp
mode. Default is whitespace followed by 0 or 1 single-letter colon-keyword
'lisp-show-variable-documentation))
;;;###autoload
-(defcustom inferior-lisp-program "lisp"
+(defcustom inferior-lisp-program (purecopy "lisp")
"*Program name for invoking an inferior Lisp in Inferior Lisp mode."
:type 'string
:group 'inferior-lisp)
;;;###autoload
-(defcustom inferior-lisp-load-command "(load \"%s\")\n"
+(defcustom inferior-lisp-load-command (purecopy "(load \"%s\")\n")
"*Format-string for building a Lisp expression to load a file.
This format string should use `%s' to substitute a file name
and should result in a Lisp expression that will command the inferior Lisp
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Mode definition
-;;;###autoload (add-to-list 'auto-mode-alist '("\\.vr[hi]?\\'" . vera-mode))
+;;;###autoload (add-to-list 'auto-mode-alist (cons (purecopy "\\.vr[hi]?\\'") 'vera-mode))
;;;###autoload
(defun vera-mode ()
(defvar next-error-highlight-timer nil)
(defvar next-error-overlay-arrow-position nil)
-(put 'next-error-overlay-arrow-position 'overlay-arrow-string "=>")
+(put 'next-error-overlay-arrow-position 'overlay-arrow-string (purecopy "=>"))
(add-to-list 'overlay-arrow-variable-list 'next-error-overlay-arrow-position)
(defvar next-error-last-buffer nil
;; The `assert' macro from the cl package signals
;; `cl-assertion-failed' at runtime so always define it.
(put 'cl-assertion-failed 'error-conditions '(error))
-(put 'cl-assertion-failed 'error-message "Assertion failed")
+(put 'cl-assertion-failed 'error-message (purecopy "Assertion failed"))
(defconst user-emacs-directory
(if (eq system-type 'ms-dos)
(define-key special-event-map [drag-n-drop] 'x-dnd-handle-drag-n-drop-event)
(defcustom x-gtk-stock-map
+ (mapcar (lambda (arg)
+ (cons (purecopy (car arg)) (purecopy (cdr arg))))
'(
("etc/images/new" . "gtk-new")
("etc/images/open" . "gtk-open")
;; 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."
;;;###autoload
(defcustom vc-rcs-master-templates
- '("%sRCS/%s,v" "%s%s,v" "%sRCS/%s")
+ (purecopy '("%sRCS/%s,v" "%s%s,v" "%sRCS/%s"))
"Where to look for RCS master files.
For a description of possible values, see `vc-check-master-templates'."
:type '(choice (const :tag "Use standard RCS file names"
;;;###autoload
(defcustom vc-sccs-master-templates
- '("%sSCCS/s.%s" "%ss.%s" vc-sccs-search-project-dir)
+ (purecopy '("%sSCCS/s.%s" "%ss.%s" vc-sccs-search-project-dir))
"Where to look for SCCS master files.
For a description of possible values, see `vc-check-master-templates'."
:type '(choice (const :tag "Use standard SCCS file names"