unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#4429: purecopy calls needed for :help and in menu-bar.el
@ 2009-09-14 18:43 Dan Nicolaescu
  2009-09-14 21:59 ` Stefan Monnier
  0 siblings, 1 reply; 11+ messages in thread
From: Dan Nicolaescu @ 2009-09-14 18:43 UTC (permalink / raw)
  To: bug-gnu-emacs


emacs/lisp/bindings.el has purecopy calls for menu-item names, but not
for the corresponding :help.  Any reason not to add those purecopy calls?

emacs/lisp/menu-bar.el does not have purecopy calls for any menu-items,
and it contains quite a few of them.  Any reason not to add purecopy
calls there?

The patch below adds a purecopy call to emacs/lisp/help.el 

Is there anything else that could benefit from purecopy calls?

Here's some changes that I have in my local tree.  OK to check these in?


Index: lisp/bindings.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/bindings.el,v
retrieving revision 1.224
diff -u -3 -p -r1.224 bindings.el
--- lisp/bindings.el  11 Sep 2009 06:38:44 -0000	1.224
+++ lisp/bindings.el  13 Sep 2009 21:07:47 -0000
@@ -507,49 +507,49 @@ Switch to the most recently selected buf
 ;; Global ones can go on the menubar (Options --> Show/Hide).
 (define-key mode-line-mode-menu [overwrite-mode]
   `(menu-item ,(purecopy "Overwrite (Ovwrt)") overwrite-mode
-        :help "Overwrite mode: typed characters replace existing text"
+	       :help ,(purecopy "Overwrite mode: typed characters replace existing text")
 	             :button (:toggle . overwrite-mode)))
 (define-key mode-line-mode-menu [outline-minor-mode]
   `(menu-item ,(purecopy "Outline (Outl)") outline-minor-mode
         ;; XXX: This needs a good, brief description.
-	       :help ""
+	             :help ,(purecopy "")
 		           :button (:toggle . (bound-and-true-p outline-minor-mode))))
 (define-key mode-line-mode-menu [highlight-changes-mode]
   `(menu-item ,(purecopy "Highlight changes (Chg)") highlight-changes-mode
-        :help "Show changes in the buffer in a distinctive color"
+	       :help ,(purecopy "Show changes in the buffer in a distinctive color")
 	             :button (:toggle . (bound-and-true-p highlight-changes-mode))))
 (define-key mode-line-mode-menu [hide-ifdef-mode]
   `(menu-item ,(purecopy "Hide ifdef (Ifdef)") hide-ifdef-mode
-        :help "Show/Hide code within #ifdef constructs"
+	       :help ,(purecopy "Show/Hide code within #ifdef constructs")
 	             :button (:toggle . (bound-and-true-p hide-ifdef-mode))))
 (define-key mode-line-mode-menu [glasses-mode]
   `(menu-item ,(purecopy "Glasses (o^o)") glasses-mode
-        :help "Insert virtual separators to make long identifiers easy to read"
+	       :help ,(purecopy "Insert virtual separators to make long identifiers easy to read")
 	             :button (:toggle . (bound-and-true-p glasses-mode))))
 (define-key mode-line-mode-menu [font-lock-mode]
   `(menu-item ,(purecopy "Font Lock") font-lock-mode
-        :help "Syntax coloring"
+	       :help ,(purecopy "Syntax coloring")
 	             :button (:toggle . font-lock-mode)))
 (define-key mode-line-mode-menu [flyspell-mode]
   `(menu-item ,(purecopy "Flyspell (Fly)") flyspell-mode
-        :help "Spell checking on the fly"
+	       :help ,(purecopy "Spell checking on the fly")
 	             :button (:toggle . (bound-and-true-p flyspell-mode))))
 (define-key mode-line-mode-menu [auto-revert-tail-mode]
   `(menu-item ,(purecopy "Auto revert tail (Tail)") auto-revert-tail-mode
-        :help "Revert the tail of the buffer when buffer grows"
+	       :help ,(purecopy "Revert the tail of the buffer when buffer grows")
 	             :enable (buffer-file-name)
 		           :button (:toggle . (bound-and-true-p auto-revert-tail-mode))))
 (define-key mode-line-mode-menu [auto-revert-mode]
   `(menu-item ,(purecopy "Auto revert (ARev)") auto-revert-mode
-        :help "Revert the buffer when the file on disk changes"
+	       :help ,(purecopy "Revert the buffer when the file on disk changes")
 	             :button (:toggle . (bound-and-true-p auto-revert-mode))))
 (define-key mode-line-mode-menu [auto-fill-mode]
   `(menu-item ,(purecopy "Auto fill (Fill)") auto-fill-mode
-        :help "Automatically insert new lines"
+	       :help ,(purecopy "Automatically insert new lines")
 	             :button (:toggle . auto-fill-function)))
 (define-key mode-line-mode-menu [abbrev-mode]
   `(menu-item ,(purecopy "Abbrev (Abbrev)") abbrev-mode
-        :help "Automatically expand abbreviations"
+	       :help ,(purecopy "Automatically expand abbreviations")
 	             :button (:toggle . abbrev-mode)))
 
 (defun mode-line-minor-mode-help (event)

Index: lisp/help.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/help.el,v
retrieving revision 1.347
diff -u -3 -p -r1.347 help.el
--- lisp/help.el      19 Aug 2009 18:07:10 -0000	1.347
+++ lisp/help.el      13 Sep 2009 21:07:47 -0000
@@ -202,7 +202,8 @@ specifies what to do when the user exits
 (defalias 'help-for-help 'help-for-help-internal)
 ;; It can't find this, but nobody will look.
 (make-help-screen help-for-help-internal
-  "Type a help option: [abcCdefFgiIkKlLmnprstvw.] C-[cdefmnoptw] or ?"
+  (purecopy "Type a help option: [abcCdefFgiIkKlLmnprstvw.] C-[cdefmnoptw] or ?")
+  (purecopy
   "You have typed %THIS-KEY%, the help character.  Type a Help option:
 \(Use SPC or DEL to scroll through this text.  Type \\<help-map>\\[help-quit] to exit the Help command.)
 
@@ -247,7 +248,7 @@ C-n         News of recent Emacs changes
 C-o         Emacs ordering and distribution information.
 C-p         Info about known Emacs problems.
 C-t         Emacs TODO list.
-C-w         Information on absence of warranty for GNU Emacs."
+C-w         Information on absence of warranty for GNU Emacs.")
   help-map)
 
 






^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2009-11-04  2:55 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-09-14 18:43 bug#4429: purecopy calls needed for :help and in menu-bar.el Dan Nicolaescu
2009-09-14 21:59 ` Stefan Monnier
2009-09-16 10:50   ` Dan Nicolaescu
2009-09-16 13:20     ` Stefan Monnier
2009-10-14 20:32       ` Juri Linkov
2009-10-15  3:18         ` Stefan Monnier
2009-10-15 22:30           ` Juri Linkov
2009-11-03  6:45             ` Dan Nicolaescu
2009-11-03  7:29               ` Juri Linkov
2009-11-04  1:50                 ` Dan Nicolaescu
2009-11-04  2:55                   ` Juri Linkov

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).