emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] emacs lisp/ChangeLog lisp/bookmark.el lisp/buff...


From: Dan Nicolaescu
Subject: [Emacs-diffs] emacs lisp/ChangeLog lisp/bookmark.el lisp/buff...
Date: Sat, 24 Oct 2009 06:32:12 +0000

CVSROOT:        /cvsroot/emacs
Module name:    emacs
Changes by:     Dan Nicolaescu <dann>   09/10/24 06:32:11

Modified files:
        lisp           : ChangeLog bookmark.el buff-menu.el 
                         ediff-hook.el 
        lisp/emacs-lisp: byte-run.el lisp-mode.el 
        lisp/international: mule-cmds.el 
        src            : ChangeLog category.c eval.c keymap.c 

Log message:
        * 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.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/ChangeLog?cvsroot=emacs&r1=1.16498&r2=1.16499
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/bookmark.el?cvsroot=emacs&r1=1.136&r2=1.137
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/buff-menu.el?cvsroot=emacs&r1=1.126&r2=1.127
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/ediff-hook.el?cvsroot=emacs&r1=1.46&r2=1.47
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/emacs-lisp/byte-run.el?cvsroot=emacs&r1=1.41&r2=1.42
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/emacs-lisp/lisp-mode.el?cvsroot=emacs&r1=1.248&r2=1.249
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/international/mule-cmds.el?cvsroot=emacs&r1=1.377&r2=1.378
http://cvs.savannah.gnu.org/viewcvs/emacs/src/ChangeLog?cvsroot=emacs&r1=1.7818&r2=1.7819
http://cvs.savannah.gnu.org/viewcvs/emacs/src/category.c?cvsroot=emacs&r1=1.53&r2=1.54
http://cvs.savannah.gnu.org/viewcvs/emacs/src/eval.c?cvsroot=emacs&r1=1.316&r2=1.317
http://cvs.savannah.gnu.org/viewcvs/emacs/src/keymap.c?cvsroot=emacs&r1=1.388&r2=1.389

Patches:
Index: lisp/ChangeLog
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/ChangeLog,v
retrieving revision 1.16498
retrieving revision 1.16499
diff -u -b -r1.16498 -r1.16499
--- lisp/ChangeLog      24 Oct 2009 03:51:51 -0000      1.16498
+++ lisp/ChangeLog      24 Oct 2009 06:32:03 -0000      1.16499
@@ -1,3 +1,18 @@
+2009-10-24  Dan Nicolaescu  <address@hidden>
+
+       * 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  <address@hidden>
 
        * comint.el (comint-dynamic-list-completions):

Index: lisp/bookmark.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/bookmark.el,v
retrieving revision 1.136
retrieving revision 1.137
diff -u -b -r1.136 -r1.137
--- lisp/bookmark.el    10 Oct 2009 21:54:13 -0000      1.136
+++ lisp/bookmark.el    24 Oct 2009 06:32:06 -0000      1.137
@@ -2101,16 +2101,36 @@
 ;;;###autoload
 (defvar menu-bar-bookmark-map
   (let ((map (make-sparse-keymap "Bookmark functions")))
-    (define-key map [load]     '("Load a Bookmark File..." . bookmark-load))
-    (define-key map [write]    '("Save Bookmarks As..." . bookmark-write))
-    (define-key map [save]     '("Save Bookmarks" . bookmark-save))
-    (define-key map [edit]     '("Edit Bookmark List" . bookmark-bmenu-list))
-    (define-key map [delete]   '("Delete Bookmark..." . bookmark-delete))
-    (define-key map [rename]   '("Rename Bookmark..." . bookmark-rename))
-    (define-key map [locate]   '("Insert Location..." . bookmark-locate))
-    (define-key map [insert]   '("Insert Contents..." . bookmark-insert))
-    (define-key map [set]      '("Set Bookmark..." . bookmark-set))
-    (define-key map [jump]     '("Jump to Bookmark..." . bookmark-jump))
+    (define-key map [load]
+      `(menu-item ,(purecopy "Load a Bookmark File...") bookmark-load
+                 :help ,(purecopy "Load bookmarks from a bookmark file)")))
+    (define-key map [write]
+      `(menu-item ,(purecopy "Save Bookmarks As...") bookmark-write
+                 :help ,(purecopy "Write bookmarks to a file (reading the file 
name with the minibuffer)")))
+    (define-key map [save]
+      `(menu-item ,(purecopy "Save Bookmarks") bookmark-save
+                 :help ,(purecopy "Save currently defined bookmarks")))
+    (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))
 
 ;;;###autoload

Index: lisp/buff-menu.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/buff-menu.el,v
retrieving revision 1.126
retrieving revision 1.127
diff -u -b -r1.126 -r1.127
--- lisp/buff-menu.el   14 Oct 2009 14:49:13 -0000      1.126
+++ lisp/buff-menu.el   24 Oct 2009 06:32:07 -0000      1.127
@@ -153,67 +153,67 @@
     (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 menu-map [quit]
-      '(menu-item "Quit" quit-window
-                :help "Mark buffer on this line to be deleted by x command"))
+      `(menu-item ,(purecopy "Quit") quit-window
+                :help ,(purecopy "Mark buffer on this line to be deleted by x 
command")))
     (define-key menu-map [rev]
-      '(menu-item "Refresh" revert-buffer
-                :help "Refresh the *Buffer List* buffer contents"))
+      `(menu-item ,(purecopy "Refresh") revert-buffer
+                :help ,(purecopy "Refresh the *Buffer List* buffer contents")))
     (define-key menu-map [s0] '("--"))
     (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)
-                 :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] '("--"))
     ;; FIXME: The "Select" entries could use better names...
     (define-key menu-map [sel]
-      '(menu-item "Select marked" Buffer-menu-select
-                :help "Select this line's buffer; also display buffers marked 
with `>'"))
+      `(menu-item ,(purecopy "Select marked") Buffer-menu-select
+                :help ,(purecopy "Select this line's buffer; also display 
buffers marked with `>'")))
     (define-key menu-map [bm2]
-      '(menu-item "Select two" Buffer-menu-2-window
-                :help "Select this line's buffer, with previous buffer in 
second window"))
+      `(menu-item ,(purecopy "Select two") Buffer-menu-2-window
+                :help ,(purecopy "Select this line's buffer, with previous 
buffer in second window")))
     (define-key menu-map [bm1]
-      '(menu-item "Select current" Buffer-menu-1-window
-                :help "Select this line's buffer, alone, in full frame"))
+      `(menu-item ,(purecopy "Select current") Buffer-menu-1-window
+                :help ,(purecopy "Select this line's buffer, alone, in full 
frame")))
     (define-key menu-map [ow]
-      '(menu-item "Select in other window" Buffer-menu-other-window
-                :help "Select this line's buffer in other window, leaving 
buffer menu visible"))
+      `(menu-item ,(purecopy "Select in other window") Buffer-menu-other-window
+                :help ,(purecopy "Select this line's buffer in other window, 
leaving buffer menu visible")))
     (define-key menu-map [tw]
-      '(menu-item "Select in current window" Buffer-menu-this-window
-                :help "Select this line's buffer in this window"))
+      `(menu-item ,(purecopy "Select in current window") 
Buffer-menu-this-window
+                :help ,(purecopy "Select this line's buffer in this window")))
     (define-key menu-map [s2] '("--"))
     (define-key menu-map [is]
-      '(menu-item "Regexp Isearch marked buffers" 
Buffer-menu-isearch-buffers-regexp
-                :help "Search for a regexp through all marked buffers using 
Isearch"))
+      `(menu-item ,(purecopy "Regexp Isearch marked buffers") 
Buffer-menu-isearch-buffers-regexp
+                :help ,(purecopy "Search for a regexp through all marked 
buffers using Isearch")))
     (define-key menu-map [ir]
-      '(menu-item "Isearch marked buffers" Buffer-menu-isearch-buffers
-                :help "Search for a string through all marked buffers using 
Isearch"))
+      `(menu-item ,(purecopy "Isearch marked buffers") 
Buffer-menu-isearch-buffers
+                :help ,(purecopy "Search for a string through all marked 
buffers using Isearch")))
     (define-key menu-map [s3] '("--"))
     (define-key menu-map [by]
-      '(menu-item "Bury" Buffer-menu-bury
-                :help "Bury the buffer listed on this line"))
+      `(menu-item ,(purecopy "Bury") Buffer-menu-bury
+                :help ,(purecopy "Bury the buffer listed on this line")))
     (define-key menu-map [vt]
-      '(menu-item "Set unmodified" Buffer-menu-not-modified
-                :help "Mark buffer on this line as unmodified (no changes to 
save)"))
+      `(menu-item ,(purecopy "Set unmodified") Buffer-menu-not-modified
+                :help ,(purecopy "Mark buffer on this line as unmodified (no 
changes to save)")))
     (define-key menu-map [ex]
-      '(menu-item "Execute" Buffer-menu-execute
-                :help "Save and/or delete buffers marked with s or k 
commands"))
+      `(menu-item ,(purecopy "Execute") Buffer-menu-execute
+                :help ,(purecopy "Save and/or delete buffers marked with s or 
k commands")))
     (define-key menu-map [s4] '("--"))
     (define-key menu-map [delb]
-      '(menu-item "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"))
+      `(menu-item ,(purecopy "Mark for delete and move backwards") 
Buffer-menu-delete-backwards
+                :help ,(purecopy "Mark buffer on this line to be deleted by x 
command and move up one line")))
     (define-key menu-map [del]
-      '(menu-item "Mark for delete" Buffer-menu-delete
-                :help "Mark buffer on this line to be deleted by x command"))
+      `(menu-item ,(purecopy "Mark for delete") Buffer-menu-delete
+                :help ,(purecopy "Mark buffer on this line to be deleted by x 
command")))
 
     (define-key menu-map [sv]
-      '(menu-item "Mark for save" Buffer-menu-save
-                :help "Mark buffer on this line to be saved by x command"))
+      `(menu-item ,(purecopy "Mark for save") Buffer-menu-save
+                :help ,(purecopy "Mark buffer on this line to be saved by x 
command")))
     (define-key menu-map [umk]
-      '(menu-item "Unmark" Buffer-menu-unmark
-                :help "Cancel all requested operations on buffer on this line 
and move down"))
+      `(menu-item ,(purecopy "Unmark") Buffer-menu-unmark
+                :help ,(purecopy "Cancel all requested operations on buffer on 
this line and move down")))
     (define-key menu-map [mk]
-      '(menu-item "Mark" Buffer-menu-mark
-                :help "Mark buffer on this line for being displayed by v 
command"))
+      `(menu-item ,(purecopy "Mark") Buffer-menu-mark
+                :help ,(purecopy "Mark buffer on this line for being displayed 
by v command")))
     map)
   "Local keymap for `Buffer-menu-mode' buffers.")
 

Index: lisp/ediff-hook.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/ediff-hook.el,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -b -r1.46 -r1.47
--- lisp/ediff-hook.el  27 Sep 2009 23:25:06 -0000      1.46
+++ lisp/ediff-hook.el  24 Oct 2009 06:32:07 -0000      1.47
@@ -144,7 +144,7 @@
 
   ;; define ediff compare menu
   (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 [window]
     `(menu-item ,(purecopy "This Window and Next Window") compare-windows

Index: lisp/emacs-lisp/byte-run.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/emacs-lisp/byte-run.el,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -b -r1.41 -r1.42
--- lisp/emacs-lisp/byte-run.el 16 Oct 2009 06:48:28 -0000      1.41
+++ lisp/emacs-lisp/byte-run.el 24 Oct 2009 06:32:07 -0000      1.42
@@ -127,7 +127,7 @@
     (if (eq 'byte-compile-obsolete handler)
        (setq handler (nth 1 (get obsolete-name 'byte-obsolete-info)))
       (put obsolete-name 'byte-compile 'byte-compile-obsolete))
-    (put obsolete-name 'byte-obsolete-info (list current-name handler when)))
+    (put obsolete-name 'byte-obsolete-info (list current-name handler 
(purecopy when))))
   obsolete-name)
 (set-advertised-calling-convention
  ;; New code should always provide the `when' argument.
@@ -166,7 +166,11 @@
       (if (equal str "") (error ""))
       (intern str))
     (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)
 (set-advertised-calling-convention
  ;; New code should always provide the `when' argument.

Index: lisp/emacs-lisp/lisp-mode.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/emacs-lisp/lisp-mode.el,v
retrieving revision 1.248
retrieving revision 1.249
diff -u -b -r1.248 -r1.249
--- lisp/emacs-lisp/lisp-mode.el        18 Oct 2009 22:25:40 -0000      1.248
+++ lisp/emacs-lisp/lisp-mode.el        24 Oct 2009 06:32:08 -0000      1.249
@@ -285,105 +285,105 @@
     (define-key map "\e\C-q" 'indent-pp-sexp)
     (define-key map [menu-bar emacs-lisp] (cons "Emacs-Lisp" menu-map))
     (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))
-                 :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]
-      '(menu-item "Check Documentation Strings" checkdoc
-                 :help "Check documentation strings for style requirements"))
+      `(menu-item ,(purecopy "Check Documentation Strings") checkdoc
+                 :help ,(purecopy "Check documentation strings for style 
requirements")))
     (define-key menu-map [re-builder]
-      '(menu-item "Construct Regexp" re-builder
-                 :help "Construct a regexp interactively"))
+      `(menu-item ,(purecopy "Construct Regexp") re-builder
+                 :help ,(purecopy "Construct a regexp interactively")))
     (define-key menu-map [tracing] (cons "Tracing" tracing-map))
     (define-key tracing-map [tr-a]
-      '(menu-item "Untrace all" untrace-all
-                 :help "Untrace all currently traced functions"))
+      `(menu-item ,(purecopy "Untrace all") untrace-all
+                 :help ,(purecopy "Untrace all currently traced functions")))
     (define-key tracing-map [tr-uf]
-      '(menu-item "Untrace function..." untrace-function
-                 :help "Untrace function, and possibly activate all remaining 
advice"))
+      `(menu-item ,(purecopy "Untrace function...") untrace-function
+                 :help ,(purecopy "Untrace function, and possibly activate all 
remaining advice")))
     (define-key tracing-map [tr-sep] '("--"))
     (define-key tracing-map [tr-q]
-      '(menu-item "Trace function quietly..." trace-function-background
-                 :help "Trace the function with trace output going quietly to 
a buffer"))
+      `(menu-item ,(purecopy "Trace function quietly...") 
trace-function-background
+                 :help ,(purecopy "Trace the function with trace output going 
quietly to a buffer")))
     (define-key tracing-map [tr-f]
-      '(menu-item "Trace function..." trace-function
-                 :help "Trace the function given as an argument"))
+      `(menu-item ,(purecopy "Trace function...") trace-function
+                 :help ,(purecopy "Trace the function given as an argument")))
     (define-key menu-map [profiling] (cons "Profiling" prof-map))
     (define-key prof-map [prof-restall]
-      '(menu-item "Remove Instrumentation for All Functions" elp-restore-all
-                 :help "Restore the original definitions of all functions 
being profiled"))
+      `(menu-item ,(purecopy "Remove Instrumentation for All Functions") 
elp-restore-all
+                 :help ,(purecopy "Restore the original definitions of all 
functions being profiled")))
     (define-key prof-map [prof-restfunc]
-      '(menu-item "Remove Instrumentation for Function..." elp-restore-function
-                 :help "Restore an instrumented function to its original 
definition"))
+      `(menu-item ,(purecopy "Remove Instrumentation for Function...") 
elp-restore-function
+                 :help ,(purecopy "Restore an instrumented function to its 
original definition")))
 
     (define-key prof-map [sep-rem] '("--"))
     (define-key prof-map [prof-resall]
-      '(menu-item "Reset Counters for All Functions" elp-reset-all
-                 :help "Reset the profiling information for all functions 
being profiled"))
+      `(menu-item ,(purecopy "Reset Counters for All Functions") elp-reset-all
+                 :help ,(purecopy "Reset the profiling information for all 
functions being profiled")))
     (define-key prof-map [prof-resfunc]
-      '(menu-item "Reset Counters for Function..." elp-reset-function
-                 :help "Reset the profiling information for a function"))
+      `(menu-item ,(purecopy "Reset Counters for Function...") 
elp-reset-function
+                 :help ,(purecopy "Reset the profiling information for a 
function")))
     (define-key prof-map [prof-res]
-      '(menu-item "Show Profiling Results" elp-results
-                 :help "Display current profiling results"))
+      `(menu-item ,(purecopy "Show Profiling Results") elp-results
+                 :help ,(purecopy "Display current profiling results")))
     (define-key prof-map [prof-pack]
-      '(menu-item "Instrument Package..." elp-instrument-package
-                 :help "Instrument for profiling all function that start with 
a prefix"))
+      `(menu-item ,(purecopy "Instrument Package...") elp-instrument-package
+                 :help ,(purecopy "Instrument for profiling all function that 
start with a prefix")))
     (define-key prof-map [prof-func]
-      '(menu-item "Instrument Function..." elp-instrument-function
-                 :help "Instrument a function for profiling"))
+      `(menu-item ,(purecopy "Instrument Function...") elp-instrument-function
+                 :help ,(purecopy "Instrument a function for profiling")))
     (define-key menu-map [lint] (cons "Linting" lint-map))
     (define-key lint-map [lint-di]
-      '(menu-item "Lint Directory..." elint-directory
-                 :help "Lint a directory"))
+      `(menu-item ,(purecopy "Lint Directory...") elint-directory
+                 :help ,(purecopy "Lint a directory")))
     (define-key lint-map [lint-f]
-      '(menu-item "Lint File..." elint-file
-                 :help "Lint a file"))
+      `(menu-item ,(purecopy "Lint File...") elint-file
+                 :help ,(purecopy "Lint a file")))
     (define-key lint-map [lint-b]
-      '(menu-item "Lint Buffer" elint-current-buffer
-                 :help "Lint the current buffer"))
+      `(menu-item ,(purecopy "Lint Buffer") elint-current-buffer
+                 :help ,(purecopy "Lint the current buffer")))
     (define-key lint-map [lint-d]
-      '(menu-item "Lint Defun" elint-defun
-                 :help "Lint the function at point"))
+      `(menu-item ,(purecopy "Lint Defun") elint-defun
+                 :help ,(purecopy "Lint the function at point")))
     (define-key menu-map [edebug-defun]
-      '(menu-item "Instrument Function for Debugging" edebug-defun
-                 :help "Evaluate the top level form point is in, stepping 
through with Edebug"
+      `(menu-item ,(purecopy "Instrument Function for Debugging") edebug-defun
+                 :help ,(purecopy "Evaluate the top level form point is in, 
stepping through with Edebug")
                  :keys "C-u C-M-x"))
     (define-key menu-map [separator-byte] '("--"))
     (define-key menu-map [disas]
-      '(menu-item "Disassemble byte compiled object..." disassemble
-                 :help "Print disassembled code for OBJECT in a buffer"))
+      `(menu-item ,(purecopy "Disassemble byte compiled object...") disassemble
+                 :help ,(purecopy "Print disassembled code for OBJECT in a 
buffer")))
     (define-key menu-map [byte-recompile]
-      '(menu-item "Byte-recompile Directory..." byte-recompile-directory
-                 :help "Recompile every `.el' file in DIRECTORY that needs 
recompilation"))
+      `(menu-item ,(purecopy "Byte-recompile Directory...") 
byte-recompile-directory
+                 :help ,(purecopy "Recompile every `.el' file in DIRECTORY 
that needs recompilation")))
     (define-key menu-map [emacs-byte-compile-and-load]
-      '(menu-item "Byte-compile And Load" emacs-lisp-byte-compile-and-load
-                 :help "Byte-compile the current file (if it has changed), 
then load compiled code"))
+      `(menu-item ,(purecopy "Byte-compile And Load") 
emacs-lisp-byte-compile-and-load
+                 :help ,(purecopy "Byte-compile the current file (if it has 
changed), then load compiled code")))
     (define-key menu-map [byte-compile]
-      '(menu-item "Byte-compile This File" emacs-lisp-byte-compile
-                 :help "Byte compile the file containing the current buffer"))
+      `(menu-item ,(purecopy "Byte-compile This File") emacs-lisp-byte-compile
+                 :help ,(purecopy "Byte compile the file containing the 
current buffer")))
     (define-key menu-map [separator-eval] '("--"))
     (define-key menu-map [ielm]
-      '(menu-item "Interactive Expression Evaluation" ielm
-                 :help "Interactively evaluate Emacs Lisp expressions"))
+      `(menu-item ,(purecopy "Interactive Expression Evaluation") ielm
+                 :help ,(purecopy "Interactively evaluate Emacs Lisp 
expressions")))
     (define-key menu-map [eval-buffer]
-      '(menu-item "Evaluate Buffer" eval-buffer
-                 :help "Execute the current buffer as Lisp code"))
+      `(menu-item ,(purecopy "Evaluate Buffer") eval-buffer
+                 :help ,(purecopy "Execute the current buffer as Lisp code")))
     (define-key menu-map [eval-region]
-      '(menu-item "Evaluate Region" eval-region
-                 :help "Execute the region as Lisp code"
+      `(menu-item ,(purecopy "Evaluate Region") eval-region
+                 :help ,(purecopy "Execute the region as Lisp code")
                  :enable mark-active))
     (define-key menu-map [eval-sexp]
-      '(menu-item "Evaluate Last S-expression" eval-last-sexp
-                 :help "Evaluate sexp before point; print value in 
minibuffer"))
+      `(menu-item ,(purecopy "Evaluate Last S-expression") eval-last-sexp
+                 :help ,(purecopy "Evaluate sexp before point; print value in 
minibuffer")))
     (define-key menu-map [separator-format] '("--"))
     (define-key menu-map [comment-region]
-      '(menu-item "Comment Out Region" comment-region
-                 :help "Comment or uncomment each line in the region"
+      `(menu-item ,(purecopy "Comment Out Region") comment-region
+                 :help ,(purecopy "Comment or uncomment each line in the 
region")
                  :enable mark-active))
     (define-key menu-map [indent-region]
-      '(menu-item "Indent Region" indent-region
-                 :help "Indent each nonblank line in the region"
+      `(menu-item ,(purecopy "Indent Region") indent-region
+                 :help ,(purecopy "Indent each nonblank line in the region")
                  :enable mark-active))
     (define-key menu-map [indent-line] '("Indent Line" . lisp-indent-line))
     map)
@@ -458,14 +458,14 @@
     (define-key map "\C-c\C-z" 'run-lisp)
     (define-key map [menu-bar lisp] (cons "Lisp" menu-map))
     (define-key menu-map [run-lisp]
-      '(menu-item "Run inferior Lisp" run-lisp
-                 :help "Run an inferior Lisp process, input and output via 
buffer `*inferior-lisp*'"))
+      `(menu-item ,(purecopy "Run inferior Lisp") run-lisp
+                 :help ,(purecopy "Run an inferior Lisp process, input and 
output via buffer `*inferior-lisp*'")))
     (define-key menu-map [ev-def]
-      '(menu-item "Eval defun" lisp-eval-defun
-                 :help "Send the current defun to the Lisp process made by M-x 
run-lisp"))
+      `(menu-item ,(purecopy "Eval defun") lisp-eval-defun
+                 :help ,(purecopy "Send the current defun to the Lisp process 
made by M-x run-lisp")))
     (define-key menu-map [ind-sexp]
-      '(menu-item "Indent sexp" indent-sexp
-                 :help "Indent each line of the list starting just after 
point"))
+      `(menu-item ,(purecopy "Indent sexp") indent-sexp
+                 :help ,(purecopy "Indent each line of the list starting just 
after point")))
     map)
   "Keymap for ordinary Lisp mode.
 All commands in `lisp-mode-shared-map' are inherited by this map.")
@@ -522,21 +522,21 @@
     (define-key map "\n" 'eval-print-last-sexp)
     (define-key map [menu-bar lisp-interaction] (cons "Lisp-Interaction" 
menu-map))
     (define-key menu-map [eval-defun]
-      '(menu-item "Evaluate Defun" eval-defun
-                 :help "Evaluate the top-level form containing point, or after 
point"))
+      `(menu-item ,(purecopy "Evaluate Defun") eval-defun
+                 :help ,(purecopy "Evaluate the top-level form containing 
point, or after point")))
     (define-key menu-map [eval-print-last-sexp]
-      '(menu-item "Evaluate and print" eval-print-last-sexp
-                 :help "Evaluate sexp before point; print value into current 
buffer"))
+      `(menu-item ,(purecopy "Evaluate and print") eval-print-last-sexp
+                 :help ,(purecopy "Evaluate sexp before point; print value 
into current buffer")))
     (define-key menu-map [edebug-defun-lisp-interaction]
-      '(menu-item "Instrument Function for Debugging" edebug-defun
-                 :help "Evaluate the top level form point is in, stepping 
through with Edebug"
+      `(menu-item ,(purecopy "Instrument Function for Debugging") edebug-defun
+                 :help ,(purecopy "Evaluate the top level form point is in, 
stepping through with Edebug")
                  :keys "C-u C-M-x"))
     (define-key menu-map [indent-pp-sexp]
-      '(menu-item "Indent or Pretty-Print" indent-pp-sexp
-                 :help "Indent each line of the list starting just after 
point, or prettyprint it"))
+      `(menu-item ,(purecopy "Indent or Pretty-Print") indent-pp-sexp
+                 :help ,(purecopy "Indent each line of the list starting just 
after point, or prettyprint it")))
     (define-key menu-map [lisp-complete-symbol]
-      '(menu-item "Complete Lisp Symbol" lisp-complete-symbol
-                 :help "Perform completion on Lisp symbol preceding point"))
+      `(menu-item ,(purecopy "Complete Lisp Symbol") lisp-complete-symbol
+                 :help ,(purecopy "Perform completion on Lisp symbol preceding 
point")))
     map)
   "Keymap for Lisp Interaction mode.
 All commands in `lisp-mode-shared-map' are inherited by this map.")

Index: lisp/international/mule-cmds.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/international/mule-cmds.el,v
retrieving revision 1.377
retrieving revision 1.378
diff -u -b -r1.377 -r1.378
--- lisp/international/mule-cmds.el     23 Oct 2009 05:15:30 -0000      1.377
+++ lisp/international/mule-cmds.el     24 Oct 2009 06:32:08 -0000      1.378
@@ -1174,8 +1174,10 @@
 Describe Language Environment and Set Language Environment menus.
 For example, (\"European\") means to put this language environment
 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)))
+       ((stringp lang-env)
+        (setq lang-env (purecopy lang-env))))
   (let ((describe-map describe-language-environment-map)
        (setup-map setup-language-environment-map))
     (if parents
@@ -1249,7 +1251,7 @@
 in the format of Lisp expression for registering each input method.
 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;-*-
 ;;
 ;; This file is automatically generated.
@@ -1272,7 +1274,7 @@
                                 leim-list-file-name)
   "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.
 See also the variable `leim-list-header'.")
 
@@ -1865,7 +1867,7 @@
   (force-mode-line-update t))
 
 (define-widget 'charset 'symbol
-  "An Emacs charset."
+  (purecopy "An Emacs charset.")
   :tag "Charset"
   :complete-function (lambda ()
                       (interactive)
@@ -2745,12 +2747,13 @@
          (error "Invalid char-table: %s" table))
     (or (stringp 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)))
     (if slot
        (setcdr slot table)
       (setq 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
   (make-char-table 'char-code-property-table)

Index: src/ChangeLog
===================================================================
RCS file: /cvsroot/emacs/emacs/src/ChangeLog,v
retrieving revision 1.7818
retrieving revision 1.7819
diff -u -b -r1.7818 -r1.7819
--- src/ChangeLog       23 Oct 2009 20:56:30 -0000      1.7818
+++ src/ChangeLog       24 Oct 2009 06:32:08 -0000      1.7819
@@ -1,3 +1,11 @@
+2009-10-24  Dan Nicolaescu  <address@hidden>
+
+       * keymap.c (Fmake_sparse_keymap): Purecopy the name.
+
+       * eval.c (Fautoload): Purecopy the filename.  Simplify.
+
+       * category.c (Fdefine_category): Purecopy docstring.
+
 2009-10-23  Andreas Schwab  <address@hidden>
 
        * lisp.h (FIXNUM_OVERFLOW_P): Remove cast to avoid overflow.

Index: src/category.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/category.c,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -b -r1.53 -r1.54
--- src/category.c      19 Oct 2009 04:27:12 -0000      1.53
+++ src/category.c      24 Oct 2009 06:32:10 -0000      1.54
@@ -136,6 +136,8 @@
 
   if (!NILP (CATEGORY_DOCSTRING (table, XFASTINT (category))))
     error ("Category `%c' is already defined", XFASTINT (category));
+  if (!NILP (Vpurify_flag))
+    docstring = Fpurecopy (docstring);
   CATEGORY_DOCSTRING (table, XFASTINT (category)) = docstring;
 
   return Qnil;

Index: src/eval.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/eval.c,v
retrieving revision 1.316
retrieving revision 1.317
diff -u -b -r1.316 -r1.317
--- src/eval.c  19 Oct 2009 04:27:14 -0000      1.316
+++ src/eval.c  24 Oct 2009 06:32:10 -0000      1.317
@@ -2096,7 +2096,6 @@
     return Qnil;
 }
 
-/* ARGSUSED */
 DEFUN ("autoload", Fautoload, Sautoload, 2, 5, 0,
        doc: /* Define FUNCTION to autoload from FILE.
 FUNCTION is a symbol; FILE is a file name string to pass to `load'.
@@ -2113,9 +2112,7 @@
      (function, file, docstring, interactive, type)
      Lisp_Object function, file, docstring, interactive, type;
 {
-#ifdef NO_ARG_ARRAY
   Lisp_Object args[4];
-#endif
 
   CHECK_SYMBOL (function);
   CHECK_STRING (file);
@@ -2131,16 +2128,15 @@
        not useful and else we get loads of them from the loaddefs.el.  */
     LOADHIST_ATTACH (Fcons (Qautoload, function));
 
-#ifdef NO_ARG_ARRAY
+  if (NILP (Vpurify_flag))
   args[0] = file;
+  else
+    args[0] = Fpurecopy (file);
   args[1] = docstring;
   args[2] = interactive;
   args[3] = type;
 
   return Ffset (function, Fcons (Qautoload, Flist (4, &args[0])));
-#else /* NO_ARG_ARRAY */
-  return Ffset (function, Fcons (Qautoload, Flist (4, &file)));
-#endif /* not NO_ARG_ARRAY */
 }
 
 Lisp_Object

Index: src/keymap.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/keymap.c,v
retrieving revision 1.388
retrieving revision 1.389
diff -u -b -r1.388 -r1.389
--- src/keymap.c        19 Oct 2009 04:27:16 -0000      1.388
+++ src/keymap.c        24 Oct 2009 06:32:11 -0000      1.389
@@ -170,7 +170,11 @@
      Lisp_Object string;
 {
   if (!NILP (string))
+    {
+      if (!NILP (Vpurify_flag))
+       string = Fpurecopy (string);
     return Fcons (Qkeymap, Fcons (string, Qnil));
+    }
   return Fcons (Qkeymap, Qnil);
 }
 




reply via email to

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