Commit 905a9ed3 authored by Dan Nicolaescu's avatar Dan Nicolaescu
Browse files

* keymap.c (Fmake_sparse_keymap): Purecopy the name.

* eval.c (Fautoload): Purecopy the filename.  Simplify.

* category.c (Fdefine_category): Purecopy docstring.

* international/mule-cmds.el (set-language-info-alist): Purecopy lang-env.
(leim-list-header, leim-list-entry-regexp): Change defvars to defconst.
(charset): Purecopy the name.
(define-char-code-property): Purecopy string arguments.

* emacs-lisp/byte-run.el (make-obsolete, make-obsolete-variable):
Purecopy string arguments.

* emacs-lisp/lisp-mode.el (emacs-lisp-mode-map):
* ediff-hook.el (menu-bar-ediff-menu):
* buff-menu.el (Buffer-menu-mode-map): Purecopy names and tooltips.
* bookmark.el (menu-bar-bookmark-map): Add :help and purecopy the name.
parent 1dee7c23
2009-10-24 Dan Nicolaescu <dann@ics.uci.edu>
* international/mule-cmds.el (set-language-info-alist): Purecopy lang-env.
(leim-list-header, leim-list-entry-regexp): Change defvars to defconst.
(charset): Purecopy the name.
(define-char-code-property): Purecopy string arguments.
* emacs-lisp/byte-run.el (make-obsolete, make-obsolete-variable):
Purecopy string arguments.
* emacs-lisp/lisp-mode.el (emacs-lisp-mode-map):
* ediff-hook.el (menu-bar-ediff-menu):
* buff-menu.el (Buffer-menu-mode-map): Purecopy names and tooltips.
* bookmark.el (menu-bar-bookmark-map): Add :help and purecopy the name.
2009-10-24 Glenn Morris <rgm@gnu.org> 2009-10-24 Glenn Morris <rgm@gnu.org>
* comint.el (comint-dynamic-list-completions): * comint.el (comint-dynamic-list-completions):
......
...@@ -2101,16 +2101,36 @@ strings returned are not." ...@@ -2101,16 +2101,36 @@ strings returned are not."
;;;###autoload ;;;###autoload
(defvar menu-bar-bookmark-map (defvar menu-bar-bookmark-map
(let ((map (make-sparse-keymap "Bookmark functions"))) (let ((map (make-sparse-keymap "Bookmark functions")))
(define-key map [load] '("Load a Bookmark File..." . bookmark-load)) (define-key map [load]
(define-key map [write] '("Save Bookmarks As..." . bookmark-write)) `(menu-item ,(purecopy "Load a Bookmark File...") bookmark-load
(define-key map [save] '("Save Bookmarks" . bookmark-save)) :help ,(purecopy "Load bookmarks from a bookmark file)")))
(define-key map [edit] '("Edit Bookmark List" . bookmark-bmenu-list)) (define-key map [write]
(define-key map [delete] '("Delete Bookmark..." . bookmark-delete)) `(menu-item ,(purecopy "Save Bookmarks As...") bookmark-write
(define-key map [rename] '("Rename Bookmark..." . bookmark-rename)) :help ,(purecopy "Write bookmarks to a file (reading the file name with the minibuffer)")))
(define-key map [locate] '("Insert Location..." . bookmark-locate)) (define-key map [save]
(define-key map [insert] '("Insert Contents..." . bookmark-insert)) `(menu-item ,(purecopy "Save Bookmarks") bookmark-save
(define-key map [set] '("Set Bookmark..." . bookmark-set)) :help ,(purecopy "Save currently defined bookmarks")))
(define-key map [jump] '("Jump to Bookmark..." . bookmark-jump)) (define-key map [edit]
`(menu-item ,(purecopy "Edit Bookmark List") bookmark-bmenu-list
:help ,(purecopy "Display a list of existing bookmarks")))
(define-key map [delete]
`(menu-item ,(purecopy "Delete Bookmark...") bookmark-delete
:help ,(purecopy "Delete a bookmark from the bookmark list")))
(define-key map [rename]
`(menu-item ,(purecopy "Rename Bookmark...") bookmark-rename
:help ,(purecopy "Change the name of a bookmark")))
(define-key map [locate]
`(menu-item ,(purecopy "Insert Location...") bookmark-locate
:help ,(purecopy "Insert the name of the file associated with a bookmark")))
(define-key map [insert]
`(menu-item ,(purecopy "Insert Contents...") bookmark-insert
:help ,(purecopy "Insert the text of the file pointed to by a bookmark")))
(define-key map [set]
`(menu-item ,(purecopy "Set Bookmark...") bookmark-set
:help ,(purecopy "Set a bookmark named inside a file.")))
(define-key map [jump]
`(menu-item ,(purecopy "Jump to Bookmark...") bookmark-jump
:help ,(purecopy "Jump to a bookmark (a point in some file)")))
map)) map))
;;;###autoload ;;;###autoload
......
...@@ -153,67 +153,67 @@ Auto Revert Mode.") ...@@ -153,67 +153,67 @@ Auto Revert Mode.")
(define-key map (kbd "M-s a M-C-s") 'Buffer-menu-isearch-buffers-regexp) (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 "Buffer Menu" menu-map))
(define-key menu-map [quit] (define-key menu-map [quit]
'(menu-item "Quit" quit-window `(menu-item ,(purecopy "Quit") quit-window
:help "Mark buffer on this line to be deleted by x command")) :help ,(purecopy "Mark buffer on this line to be deleted by x command")))
(define-key menu-map [rev] (define-key menu-map [rev]
'(menu-item "Refresh" revert-buffer `(menu-item ,(purecopy "Refresh") revert-buffer
:help "Refresh the *Buffer List* buffer contents")) :help ,(purecopy "Refresh the *Buffer List* buffer contents")))
(define-key menu-map [s0] '("--")) (define-key menu-map [s0] '("--"))
(define-key menu-map [tf] (define-key menu-map [tf]
'(menu-item "Show only file buffers" Buffer-menu-toggle-files-only `(menu-item ,(purecopy "Show only file buffers") Buffer-menu-toggle-files-only
:button (:toggle . Buffer-menu-files-only) :button (:toggle . Buffer-menu-files-only)
:help "Toggle whether the current buffer-menu displays only file buffers")) :help ,(purecopy "Toggle whether the current buffer-menu displays only file buffers")))
(define-key menu-map [s1] '("--")) (define-key menu-map [s1] '("--"))
;; FIXME: The "Select" entries could use better names... ;; FIXME: The "Select" entries could use better names...
(define-key menu-map [sel] (define-key menu-map [sel]
'(menu-item "Select marked" Buffer-menu-select `(menu-item ,(purecopy "Select marked") Buffer-menu-select
:help "Select this line's buffer; also display buffers marked with `>'")) :help ,(purecopy "Select this line's buffer; also display buffers marked with `>'")))
(define-key menu-map [bm2] (define-key menu-map [bm2]
'(menu-item "Select two" Buffer-menu-2-window `(menu-item ,(purecopy "Select two") Buffer-menu-2-window
:help "Select this line's buffer, with previous buffer in second window")) :help ,(purecopy "Select this line's buffer, with previous buffer in second window")))
(define-key menu-map [bm1] (define-key menu-map [bm1]
'(menu-item "Select current" Buffer-menu-1-window `(menu-item ,(purecopy "Select current") Buffer-menu-1-window
:help "Select this line's buffer, alone, in full frame")) :help ,(purecopy "Select this line's buffer, alone, in full frame")))
(define-key menu-map [ow] (define-key menu-map [ow]
'(menu-item "Select in other window" Buffer-menu-other-window `(menu-item ,(purecopy "Select in other window") Buffer-menu-other-window
:help "Select this line's buffer in other window, leaving buffer menu visible")) :help ,(purecopy "Select this line's buffer in other window, leaving buffer menu visible")))
(define-key menu-map [tw] (define-key menu-map [tw]
'(menu-item "Select in current window" Buffer-menu-this-window `(menu-item ,(purecopy "Select in current window") Buffer-menu-this-window
:help "Select this line's buffer in this window")) :help ,(purecopy "Select this line's buffer in this window")))
(define-key menu-map [s2] '("--")) (define-key menu-map [s2] '("--"))
(define-key menu-map [is] (define-key menu-map [is]
'(menu-item "Regexp Isearch marked buffers" Buffer-menu-isearch-buffers-regexp `(menu-item ,(purecopy "Regexp Isearch marked buffers") Buffer-menu-isearch-buffers-regexp
:help "Search for a regexp through all marked buffers using Isearch")) :help ,(purecopy "Search for a regexp through all marked buffers using Isearch")))
(define-key menu-map [ir] (define-key menu-map [ir]
'(menu-item "Isearch marked buffers" Buffer-menu-isearch-buffers `(menu-item ,(purecopy "Isearch marked buffers") Buffer-menu-isearch-buffers
:help "Search for a string through all marked buffers using Isearch")) :help ,(purecopy "Search for a string through all marked buffers using Isearch")))
(define-key menu-map [s3] '("--")) (define-key menu-map [s3] '("--"))
(define-key menu-map [by] (define-key menu-map [by]
'(menu-item "Bury" Buffer-menu-bury `(menu-item ,(purecopy "Bury") Buffer-menu-bury
:help "Bury the buffer listed on this line")) :help ,(purecopy "Bury the buffer listed on this line")))
(define-key menu-map [vt] (define-key menu-map [vt]
'(menu-item "Set unmodified" Buffer-menu-not-modified `(menu-item ,(purecopy "Set unmodified") Buffer-menu-not-modified
:help "Mark buffer on this line as unmodified (no changes to save)")) :help ,(purecopy "Mark buffer on this line as unmodified (no changes to save)")))
(define-key menu-map [ex] (define-key menu-map [ex]
'(menu-item "Execute" Buffer-menu-execute `(menu-item ,(purecopy "Execute") Buffer-menu-execute
:help "Save and/or delete buffers marked with s or k commands")) :help ,(purecopy "Save and/or delete buffers marked with s or k commands")))
(define-key menu-map [s4] '("--")) (define-key menu-map [s4] '("--"))
(define-key menu-map [delb] (define-key menu-map [delb]
'(menu-item "Mark for delete and move backwards" Buffer-menu-delete-backwards `(menu-item ,(purecopy "Mark for delete and move backwards") Buffer-menu-delete-backwards
:help "Mark buffer on this line to be deleted by x command and move up one line")) :help ,(purecopy "Mark buffer on this line to be deleted by x command and move up one line")))
(define-key menu-map [del] (define-key menu-map [del]
'(menu-item "Mark for delete" Buffer-menu-delete `(menu-item ,(purecopy "Mark for delete") Buffer-menu-delete
:help "Mark buffer on this line to be deleted by x command")) :help ,(purecopy "Mark buffer on this line to be deleted by x command")))
(define-key menu-map [sv] (define-key menu-map [sv]
'(menu-item "Mark for save" Buffer-menu-save `(menu-item ,(purecopy "Mark for save") Buffer-menu-save
:help "Mark buffer on this line to be saved by x command")) :help ,(purecopy "Mark buffer on this line to be saved by x command")))
(define-key menu-map [umk] (define-key menu-map [umk]
'(menu-item "Unmark" Buffer-menu-unmark `(menu-item ,(purecopy "Unmark") Buffer-menu-unmark
:help "Cancel all requested operations on buffer on this line and move down")) :help ,(purecopy "Cancel all requested operations on buffer on this line and move down")))
(define-key menu-map [mk] (define-key menu-map [mk]
'(menu-item "Mark" Buffer-menu-mark `(menu-item ,(purecopy "Mark") Buffer-menu-mark
:help "Mark buffer on this line for being displayed by v command")) :help ,(purecopy "Mark buffer on this line for being displayed by v command")))
map) map)
"Local keymap for `Buffer-menu-mode' buffers.") "Local keymap for `Buffer-menu-mode' buffers.")
......
...@@ -144,7 +144,7 @@ ...@@ -144,7 +144,7 @@
;; define ediff compare menu ;; define ediff compare menu
(define-key menu-bar-ediff-menu [ediff-misc] (define-key menu-bar-ediff-menu [ediff-misc]
(list 'menu-item "Ediff Miscellanea" menu-bar-ediff-misc-menu)) `(menu-item ,(purecopy "Ediff Miscellanea") menu-bar-ediff-misc-menu))
(define-key menu-bar-ediff-menu [separator-ediff-misc] '("--")) (define-key menu-bar-ediff-menu [separator-ediff-misc] '("--"))
(define-key menu-bar-ediff-menu [window] (define-key menu-bar-ediff-menu [window]
`(menu-item ,(purecopy "This Window and Next Window") compare-windows `(menu-item ,(purecopy "This Window and Next Window") compare-windows
......
...@@ -127,7 +127,7 @@ was first made obsolete, for example a date or a release number." ...@@ -127,7 +127,7 @@ was first made obsolete, for example a date or a release number."
(if (eq 'byte-compile-obsolete handler) (if (eq 'byte-compile-obsolete handler)
(setq handler (nth 1 (get obsolete-name 'byte-obsolete-info))) (setq handler (nth 1 (get obsolete-name 'byte-obsolete-info)))
(put obsolete-name 'byte-compile 'byte-compile-obsolete)) (put obsolete-name 'byte-compile 'byte-compile-obsolete))
(put obsolete-name 'byte-obsolete-info (list current-name handler when))) (put obsolete-name 'byte-obsolete-info (list current-name handler (purecopy when))))
obsolete-name) obsolete-name)
(set-advertised-calling-convention (set-advertised-calling-convention
;; New code should always provide the `when' argument. ;; New code should always provide the `when' argument.
...@@ -166,7 +166,11 @@ was first made obsolete, for example a date or a release number." ...@@ -166,7 +166,11 @@ was first made obsolete, for example a date or a release number."
(if (equal str "") (error "")) (if (equal str "") (error ""))
(intern str)) (intern str))
(car (read-from-string (read-string "Obsoletion replacement: "))))) (car (read-from-string (read-string "Obsoletion replacement: ")))))
(put obsolete-name 'byte-obsolete-variable (cons current-name when)) (put obsolete-name 'byte-obsolete-variable
(cons
(if (stringp current-name)
(purecopy current-name)
current-name) (purecopy when)))
obsolete-name) obsolete-name)
(set-advertised-calling-convention (set-advertised-calling-convention
;; New code should always provide the `when' argument. ;; New code should always provide the `when' argument.
......
...@@ -285,105 +285,105 @@ font-lock keywords will not be case sensitive." ...@@ -285,105 +285,105 @@ font-lock keywords will not be case sensitive."
(define-key map "\e\C-q" 'indent-pp-sexp) (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 "Emacs-Lisp" menu-map))
(define-key menu-map [eldoc] (define-key menu-map [eldoc]
'(menu-item "Auto-Display Documentation Strings" eldoc-mode `(menu-item ,(purecopy "Auto-Display Documentation Strings") eldoc-mode
:button (:toggle . (bound-and-true-p eldoc-mode)) :button (:toggle . (bound-and-true-p eldoc-mode))
:help "Display the documentation string for the item under cursor")) :help ,(purecopy "Display the documentation string for the item under cursor")))
(define-key menu-map [checkdoc] (define-key menu-map [checkdoc]
'(menu-item "Check Documentation Strings" checkdoc `(menu-item ,(purecopy "Check Documentation Strings") checkdoc
:help "Check documentation strings for style requirements")) :help ,(purecopy "Check documentation strings for style requirements")))
(define-key menu-map [re-builder] (define-key menu-map [re-builder]
'(menu-item "Construct Regexp" re-builder `(menu-item ,(purecopy "Construct Regexp") re-builder
:help "Construct a regexp interactively")) :help ,(purecopy "Construct a regexp interactively")))
(define-key menu-map [tracing] (cons "Tracing" tracing-map)) (define-key menu-map [tracing] (cons "Tracing" tracing-map))
(define-key tracing-map [tr-a] (define-key tracing-map [tr-a]
'(menu-item "Untrace all" untrace-all `(menu-item ,(purecopy "Untrace all") untrace-all
:help "Untrace all currently traced functions")) :help ,(purecopy "Untrace all currently traced functions")))
(define-key tracing-map [tr-uf] (define-key tracing-map [tr-uf]
'(menu-item "Untrace function..." untrace-function `(menu-item ,(purecopy "Untrace function...") untrace-function
:help "Untrace function, and possibly activate all remaining advice")) :help ,(purecopy "Untrace function, and possibly activate all remaining advice")))
(define-key tracing-map [tr-sep] '("--")) (define-key tracing-map [tr-sep] '("--"))
(define-key tracing-map [tr-q] (define-key tracing-map [tr-q]
'(menu-item "Trace function quietly..." trace-function-background `(menu-item ,(purecopy "Trace function quietly...") trace-function-background
:help "Trace the function with trace output going quietly to a buffer")) :help ,(purecopy "Trace the function with trace output going quietly to a buffer")))
(define-key tracing-map [tr-f] (define-key tracing-map [tr-f]
'(menu-item "Trace function..." trace-function `(menu-item ,(purecopy "Trace function...") trace-function
:help "Trace the function given as an argument")) :help ,(purecopy "Trace the function given as an argument")))
(define-key menu-map [profiling] (cons "Profiling" prof-map)) (define-key menu-map [profiling] (cons "Profiling" prof-map))
(define-key prof-map [prof-restall] (define-key prof-map [prof-restall]
'(menu-item "Remove Instrumentation for All Functions" elp-restore-all `(menu-item ,(purecopy "Remove Instrumentation for All Functions") elp-restore-all
:help "Restore the original definitions of all functions being profiled")) :help ,(purecopy "Restore the original definitions of all functions being profiled")))
(define-key prof-map [prof-restfunc] (define-key prof-map [prof-restfunc]
'(menu-item "Remove Instrumentation for Function..." elp-restore-function `(menu-item ,(purecopy "Remove Instrumentation for Function...") elp-restore-function
:help "Restore an instrumented function to its original definition")) :help ,(purecopy "Restore an instrumented function to its original definition")))
(define-key prof-map [sep-rem] '("--")) (define-key prof-map [sep-rem] '("--"))
(define-key prof-map [prof-resall] (define-key prof-map [prof-resall]
'(menu-item "Reset Counters for All Functions" elp-reset-all `(menu-item ,(purecopy "Reset Counters for All Functions") elp-reset-all
:help "Reset the profiling information for all functions being profiled")) :help ,(purecopy "Reset the profiling information for all functions being profiled")))
(define-key prof-map [prof-resfunc] (define-key prof-map [prof-resfunc]
'(menu-item "Reset Counters for Function..." elp-reset-function `(menu-item ,(purecopy "Reset Counters for Function...") elp-reset-function
:help "Reset the profiling information for a function")) :help ,(purecopy "Reset the profiling information for a function")))
(define-key prof-map [prof-res] (define-key prof-map [prof-res]
'(menu-item "Show Profiling Results" elp-results `(menu-item ,(purecopy "Show Profiling Results") elp-results
:help "Display current profiling results")) :help ,(purecopy "Display current profiling results")))
(define-key prof-map [prof-pack] (define-key prof-map [prof-pack]
'(menu-item "Instrument Package..." elp-instrument-package `(menu-item ,(purecopy "Instrument Package...") elp-instrument-package
:help "Instrument for profiling all function that start with a prefix")) :help ,(purecopy "Instrument for profiling all function that start with a prefix")))
(define-key prof-map [prof-func] (define-key prof-map [prof-func]
'(menu-item "Instrument Function..." elp-instrument-function `(menu-item ,(purecopy "Instrument Function...") elp-instrument-function
:help "Instrument a function for profiling")) :help ,(purecopy "Instrument a function for profiling")))
(define-key menu-map [lint] (cons "Linting" lint-map)) (define-key menu-map [lint] (cons "Linting" lint-map))
(define-key lint-map [lint-di] (define-key lint-map [lint-di]
'(menu-item "Lint Directory..." elint-directory `(menu-item ,(purecopy "Lint Directory...") elint-directory
:help "Lint a directory")) :help ,(purecopy "Lint a directory")))
(define-key lint-map [lint-f] (define-key lint-map [lint-f]
'(menu-item "Lint File..." elint-file `(menu-item ,(purecopy "Lint File...") elint-file
:help "Lint a file")) :help ,(purecopy "Lint a file")))
(define-key lint-map [lint-b] (define-key lint-map [lint-b]
'(menu-item "Lint Buffer" elint-current-buffer `(menu-item ,(purecopy "Lint Buffer") elint-current-buffer
:help "Lint the current buffer")) :help ,(purecopy "Lint the current buffer")))
(define-key lint-map [lint-d] (define-key lint-map [lint-d]
'(menu-item "Lint Defun" elint-defun `(menu-item ,(purecopy "Lint Defun") elint-defun
:help "Lint the function at point")) :help ,(purecopy "Lint the function at point")))
(define-key menu-map [edebug-defun] (define-key menu-map [edebug-defun]
'(menu-item "Instrument Function for Debugging" edebug-defun `(menu-item ,(purecopy "Instrument Function for Debugging") edebug-defun
:help "Evaluate the top level form point is in, stepping through with Edebug" :help ,(purecopy "Evaluate the top level form point is in, stepping through with Edebug")
:keys "C-u C-M-x")) :keys "C-u C-M-x"))
(define-key menu-map [separator-byte] '("--")) (define-key menu-map [separator-byte] '("--"))
(define-key menu-map [disas] (define-key menu-map [disas]
'(menu-item "Disassemble byte compiled object..." disassemble `(menu-item ,(purecopy "Disassemble byte compiled object...") disassemble
:help "Print disassembled code for OBJECT in a buffer")) :help ,(purecopy "Print disassembled code for OBJECT in a buffer")))
(define-key menu-map [byte-recompile] (define-key menu-map [byte-recompile]
'(menu-item "Byte-recompile Directory..." byte-recompile-directory `(menu-item ,(purecopy "Byte-recompile Directory...") byte-recompile-directory
:help "Recompile every `.el' file in DIRECTORY that needs recompilation")) :help ,(purecopy "Recompile every `.el' file in DIRECTORY that needs recompilation")))
(define-key menu-map [emacs-byte-compile-and-load] (define-key menu-map [emacs-byte-compile-and-load]
'(menu-item "Byte-compile And Load" emacs-lisp-byte-compile-and-load `(menu-item ,(purecopy "Byte-compile And Load") emacs-lisp-byte-compile-and-load
:help "Byte-compile the current file (if it has changed), then load compiled code")) :help ,(purecopy "Byte-compile the current file (if it has changed), then load compiled code")))
(define-key menu-map [byte-compile] (define-key menu-map [byte-compile]
'(menu-item "Byte-compile This File" emacs-lisp-byte-compile `(menu-item ,(purecopy "Byte-compile This File") emacs-lisp-byte-compile
:help "Byte compile the file containing the current buffer")) :help ,(purecopy "Byte compile the file containing the current buffer")))
(define-key menu-map [separator-eval] '("--")) (define-key menu-map [separator-eval] '("--"))
(define-key menu-map [ielm] (define-key menu-map [ielm]
'(menu-item "Interactive Expression Evaluation" ielm `(menu-item ,(purecopy "Interactive Expression Evaluation") ielm
:help "Interactively evaluate Emacs Lisp expressions")) :help ,(purecopy "Interactively evaluate Emacs Lisp expressions")))
(define-key menu-map [eval-buffer] (define-key menu-map [eval-buffer]
'(menu-item "Evaluate Buffer" eval-buffer `(menu-item ,(purecopy "Evaluate Buffer") eval-buffer
:help "Execute the current buffer as Lisp code")) :help ,(purecopy "Execute the current buffer as Lisp code")))
(define-key menu-map [eval-region] (define-key menu-map [eval-region]
'(menu-item "Evaluate Region" eval-region `(menu-item ,(purecopy "Evaluate Region") eval-region
:help "Execute the region as Lisp code" :help ,(purecopy "Execute the region as Lisp code")
:enable mark-active)) :enable mark-active))
(define-key menu-map [eval-sexp] (define-key menu-map [eval-sexp]
'(menu-item "Evaluate Last S-expression" eval-last-sexp `(menu-item ,(purecopy "Evaluate Last S-expression") eval-last-sexp
:help "Evaluate sexp before point; print value in minibuffer")) :help ,(purecopy "Evaluate sexp before point; print value in minibuffer")))
(define-key menu-map [separator-format] '("--")) (define-key menu-map [separator-format] '("--"))
(define-key menu-map [comment-region] (define-key menu-map [comment-region]
'(menu-item "Comment Out Region" comment-region `(menu-item ,(purecopy "Comment Out Region") comment-region
:help "Comment or uncomment each line in the region" :help ,(purecopy "Comment or uncomment each line in the region")
:enable mark-active)) :enable mark-active))
(define-key menu-map [indent-region] (define-key menu-map [indent-region]
'(menu-item "Indent Region" indent-region `(menu-item ,(purecopy "Indent Region") indent-region
:help "Indent each nonblank line in the region" :help ,(purecopy "Indent each nonblank line in the region")
:enable mark-active)) :enable mark-active))
(define-key menu-map [indent-line] '("Indent Line" . lisp-indent-line)) (define-key menu-map [indent-line] '("Indent Line" . lisp-indent-line))
map) map)
...@@ -458,14 +458,14 @@ if that value is non-nil." ...@@ -458,14 +458,14 @@ if that value is non-nil."
(define-key map "\C-c\C-z" 'run-lisp) (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 "Lisp" menu-map))
(define-key menu-map [run-lisp] (define-key menu-map [run-lisp]
'(menu-item "Run inferior Lisp" run-lisp `(menu-item ,(purecopy "Run inferior Lisp") run-lisp
:help "Run an inferior Lisp process, input and output via buffer `*inferior-lisp*'")) :help ,(purecopy "Run an inferior Lisp process, input and output via buffer `*inferior-lisp*'")))
(define-key menu-map [ev-def] (define-key menu-map [ev-def]
'(menu-item "Eval defun" lisp-eval-defun `(menu-item ,(purecopy "Eval defun") lisp-eval-defun
:help "Send the current defun to the Lisp process made by M-x run-lisp")) :help ,(purecopy "Send the current defun to the Lisp process made by M-x run-lisp")))
(define-key menu-map [ind-sexp] (define-key menu-map [ind-sexp]
'(menu-item "Indent sexp" indent-sexp `(menu-item ,(purecopy "Indent sexp") indent-sexp
:help "Indent each line of the list starting just after point")) :help ,(purecopy "Indent each line of the list starting just after point")))
map) map)
"Keymap for ordinary Lisp mode. "Keymap for ordinary Lisp mode.
All commands in `lisp-mode-shared-map' are inherited by this map.") All commands in `lisp-mode-shared-map' are inherited by this map.")
...@@ -522,21 +522,21 @@ if that value is non-nil." ...@@ -522,21 +522,21 @@ if that value is non-nil."
(define-key map "\n" 'eval-print-last-sexp) (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 "Lisp-Interaction" menu-map))
(define-key menu-map [eval-defun] (define-key menu-map [eval-defun]
'(menu-item "Evaluate Defun" eval-defun `(menu-item ,(purecopy "Evaluate Defun") eval-defun
:help "Evaluate the top-level form containing point, or after point")) :help ,(purecopy "Evaluate the top-level form containing point, or after point")))
(define-key menu-map [eval-print-last-sexp] (define-key menu-map [eval-print-last-sexp]
'(menu-item "Evaluate and print" eval-print-last-sexp `(menu-item ,(purecopy "Evaluate and print") eval-print-last-sexp
:help "Evaluate sexp before point; print value into current buffer")) :help ,(purecopy "Evaluate sexp before point; print value into current buffer")))
(define-key menu-map [edebug-defun-lisp-interaction] (define-key menu-map [edebug-defun-lisp-interaction]
'(menu-item "Instrument Function for Debugging" edebug-defun `(menu-item ,(purecopy "Instrument Function for Debugging") edebug-defun
:help "Evaluate the top level form point is in, stepping through with Edebug" :help ,(purecopy "Evaluate the top level form point is in, stepping through with Edebug")
:keys "C-u C-M-x")) :keys "C-u C-M-x"))
(define-key menu-map [indent-pp-sexp] (define-key menu-map [indent-pp-sexp]
'(menu-item "Indent or Pretty-Print" indent-pp-sexp `(menu-item ,(purecopy "Indent or Pretty-Print") indent-pp-sexp
:help "Indent each line of the list starting just after point, or prettyprint it")) :help ,(purecopy "Indent each line of the list starting just after point, or prettyprint it")))
(define-key menu-map [lisp-complete-symbol] (define-key menu-map [lisp-complete-symbol]
'(menu-item "Complete Lisp Symbol" lisp-complete-symbol `(menu-item ,(purecopy "Complete Lisp Symbol") lisp-complete-symbol
:help "Perform completion on Lisp symbol preceding point")) :help ,(purecopy "Perform completion on Lisp symbol preceding point")))
map) map)
"Keymap for Lisp Interaction mode. "Keymap for Lisp Interaction mode.
All commands in `lisp-mode-shared-map' are inherited by this map.") All commands in `lisp-mode-shared-map' are inherited by this map.")
......
...@@ -1174,8 +1174,10 @@ where to put this language environment in the ...@@ -1174,8 +1174,10 @@ where to put this language environment in the
Describe Language Environment and Set Language Environment menus. Describe Language Environment and Set Language Environment menus.
For example, (\"European\") means to put this language environment For example, (\"European\") means to put this language environment
in the European submenu in each of those two menus." in the European submenu in each of those two menus."
(if (symbolp lang-env) (cond ((symbolp lang-env)
(setq lang-env (symbol-name lang-env))) (setq lang-env (symbol-name lang-env)))
((stringp lang-env)
(setq lang-env (purecopy lang-env))))
(let ((describe-map describe-language-environment-map) (let ((describe-map describe-language-environment-map)
(setup-map setup-language-environment-map)) (setup-map setup-language-environment-map))
(if parents (if parents
...@@ -1249,7 +1251,7 @@ This file contains a list of libraries of Emacs input methods (LEIM) ...@@ -1249,7 +1251,7 @@ This file contains a list of libraries of Emacs input methods (LEIM)
in the format of Lisp expression for registering each input method. in the format of Lisp expression for registering each input method.
Emacs loads this file at startup time.") Emacs loads this file at startup time.")
(defvar leim-list-header (format (defconst leim-list-header (format
";;; %s -- list of LEIM (Library of Emacs Input Method) -*-coding: utf-8;-*- ";;; %s -- list of LEIM (Library of Emacs Input Method) -*-coding: utf-8;-*-
;; ;;
;; This file is automatically generated. ;; This file is automatically generated.
...@@ -1272,7 +1274,7 @@ Emacs loads this file at startup time.") ...@@ -1272,7 +1274,7 @@ Emacs loads this file at startup time.")
leim-list-file-name) leim-list-file-name)
"Header to be inserted in LEIM list file.") "Header to be inserted in LEIM list file.")
(defvar leim-list-entry-regexp "^(register-input-method" (defconst leim-list-entry-regexp "^(register-input-method"
"Regexp matching head of each entry in LEIM list file. "Regexp matching head of each entry in LEIM list file.
See also the variable `leim-list-header'.") See also the variable `leim-list-header'.")
...@@ -1865,7 +1867,7 @@ specifies the character set for the major languages of Western Europe." ...@@ -1865,7 +1867,7 @@ specifies the character set for the major languages of Western Europe."
(force-mode-line-update t)) (force-mode-line-update t))
(define-widget 'charset 'symbol (define-widget 'charset 'symbol
"An Emacs charset." (purecopy "An Emacs charset.")
:tag "Charset" :tag "Charset"
:complete-function (lambda () :complete-function (lambda ()
(interactive) (interactive)
...@@ -2745,12 +2747,13 @@ See also the documentation of `get-char-code-property' and ...@@ -2745,12 +2747,13 @@ See also the documentation of `get-char-code-property' and
(error "Invalid char-table: %s" table)) (error "Invalid char-table: %s" table))
(or (stringp table) (or (stringp table)
(error "Not a char-table nor a file name: %s" table))) (error "Not a char-table nor a file name: %s" table)))
(if (stringp table) (purecopy table))
(let ((slot (assq name char-code-property-alist))) (let ((slot (assq name char-code-property-alist)))
(if slot (if slot
(setcdr slot table) (setcdr slot table)
(setq char-code-property-alist (setq char-code-property-alist
(cons (cons name table) char-code-property-alist)))) (cons (cons name table) char-code-property-alist))))
(put name 'char-code-property-documentation docstring)) (put name 'char-code-property-documentation (purecopy docstring)))
(defvar char-code-property-table (defvar char-code-property-table
(make-char-table 'char-code-property-table) (make-char-table 'char-code-property-table)
......
2009-10-24 Dan Nicolaescu <dann@ics.uci.edu>
* keymap.c (Fmake_sparse_keymap): Purecopy the name.