emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] emacs etc/NEWS lisp/ChangeLog lisp/abbrev.el li...


From: Stefan Monnier
Subject: [Emacs-diffs] emacs etc/NEWS lisp/ChangeLog lisp/abbrev.el li...
Date: Sat, 29 Aug 2009 19:22:45 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Stefan Monnier <monnier>        09/08/29 19:22:44

Modified files:
        etc            : NEWS 
        lisp           : ChangeLog abbrev.el dos-fns.el paths.el 
                         startup.el 
        lisp/calc      : calc.el 

Log message:
        * paths.el (abbrev-file-name): Move to abbrev.el.
        * abbrev.el (abbrev-file-name): Move from paths.el.
        Obey user-emacs-directory.
        * calc/calc.el (calc-settings-file): Don't autoload and instead obey
        user-emacs-directory.
        * dos-fns.el (dos-reevaluate-defcustoms): Don't reevaluate
        abbrev-file-name and calc-settings-file any more.
        * startup.el (command-line): Recompute abbrev-file-name and
        abbreviated-home-dir.
        (normal-no-mouse-startup-screen): Improve the generic code and get rid
        of the special code for when C-h bindings haven't been changed.
        (display-startup-echo-area-message): Use with-current-buffer.
        (command-line-1): Use a list of strings, rather than a list of lists
        of strings for longopts.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/etc/NEWS?cvsroot=emacs&r1=1.2069&r2=1.2070
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/ChangeLog?cvsroot=emacs&r1=1.16050&r2=1.16051
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/abbrev.el?cvsroot=emacs&r1=1.82&r2=1.83
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/dos-fns.el?cvsroot=emacs&r1=1.58&r2=1.59
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/paths.el?cvsroot=emacs&r1=1.85&r2=1.86
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/startup.el?cvsroot=emacs&r1=1.534&r2=1.535
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/calc/calc.el?cvsroot=emacs&r1=1.130&r2=1.131

Patches:
Index: etc/NEWS
===================================================================
RCS file: /sources/emacs/emacs/etc/NEWS,v
retrieving revision 1.2069
retrieving revision 1.2070
diff -u -b -r1.2069 -r1.2070
--- etc/NEWS    29 Aug 2009 02:25:05 -0000      1.2069
+++ etc/NEWS    29 Aug 2009 19:22:38 -0000      1.2070
@@ -117,6 +117,8 @@
 
 * Changes in Specialized Modes and Packages in Emacs 23.2
 
+** .calc.el and .abbrev_defs obey user-emacs-directory.
+
 ** Calc graphing commands (`g f' etc.) now work on MS-Windows,
 if you have the native Windows port of Gnuplot version 3.8 or later
 installed.

Index: lisp/ChangeLog
===================================================================
RCS file: /sources/emacs/emacs/lisp/ChangeLog,v
retrieving revision 1.16050
retrieving revision 1.16051
diff -u -b -r1.16050 -r1.16051
--- lisp/ChangeLog      29 Aug 2009 18:56:12 -0000      1.16050
+++ lisp/ChangeLog      29 Aug 2009 19:22:39 -0000      1.16051
@@ -9,6 +9,21 @@
 
 2009-08-29  Stefan Monnier  <address@hidden>
 
+       * paths.el (abbrev-file-name): Move to abbrev.el.
+       * abbrev.el (abbrev-file-name): Move from paths.el.
+       Obey user-emacs-directory.
+       * calc/calc.el (calc-settings-file): Don't autoload and instead obey
+       user-emacs-directory.
+       * dos-fns.el (dos-reevaluate-defcustoms): Don't reevaluate
+       abbrev-file-name and calc-settings-file any more.
+       * startup.el (command-line): Recompute abbrev-file-name and
+       abbreviated-home-dir.
+       (normal-no-mouse-startup-screen): Improve the generic code and get rid
+       of the special code for when C-h bindings haven't been changed.
+       (display-startup-echo-area-message): Use with-current-buffer.
+       (command-line-1): Use a list of strings, rather than a list of lists
+       of strings for longopts.
+
        * files.el (get-free-disk-space): Use / for default-directory.
 
        * textmodes/ispell.el (ispell-accept-output, ispell-command-loop):

Index: lisp/abbrev.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/abbrev.el,v
retrieving revision 1.82
retrieving revision 1.83
diff -u -b -r1.82 -r1.83
--- lisp/abbrev.el      4 Aug 2009 20:06:06 -0000       1.82
+++ lisp/abbrev.el      29 Aug 2009 19:22:44 -0000      1.83
@@ -27,7 +27,6 @@
 
 ;; Todo:
 
-;; - Make abbrev-file-name obey user-emacs-directory.
 ;; - Cleanup name space.
 
 ;;; Code:
@@ -39,6 +38,11 @@
   :link '(custom-manual "(emacs)Abbrevs")
   :group 'abbrev)
 
+(defcustom abbrev-file-name
+  (locate-user-emacs-file "abbrev_defs" ".abbrev_defs")
+  "Default name of file to read abbrevs from."
+  :type 'file)
+
 (defcustom only-global-abbrevs nil
   "Non-nil means user plans to use global abbrevs only.
 This makes the commands that normally define mode-specific abbrevs

Index: lisp/dos-fns.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/dos-fns.el,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -b -r1.58 -r1.59
--- lisp/dos-fns.el     5 Jan 2009 03:18:56 -0000       1.58
+++ lisp/dos-fns.el     29 Aug 2009 19:22:44 -0000      1.59
@@ -224,16 +224,7 @@
 ;; see if the list of defcustom's below is up to date, run the command
 ;; "M-x apropos-value RET ~/\. RET".
 (defun dos-reevaluate-defcustoms ()
-  ;; This was computed in paths.el, but that was at dump time.
-  (setq abbrev-file-name
-       (if (msdos-long-file-names)
-           "~/.abbrev_defs"
-         "~/_abbrev.defs"))
-  ;; This was computed in loaddefs.el, but that was at dump time.
-  (setq calc-settings-file
-       (if (msdos-long-file-names)
-           "~/.calc.el"
-         "~/_calc.el"))
+  ;; This was computed at dump time.
   (custom-reevaluate-setting 'trash-directory))
 
 (add-hook 'before-init-hook 'dos-reevaluate-defcustoms)

Index: lisp/paths.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/paths.el,v
retrieving revision 1.85
retrieving revision 1.86
diff -u -b -r1.85 -r1.86
--- lisp/paths.el       5 Jan 2009 03:19:37 -0000       1.85
+++ lisp/paths.el       29 Aug 2009 19:22:44 -0000      1.86
@@ -181,9 +181,5 @@
 You may set this variable to nil in your `.emacs' file if you do not wish
 the terminal-initialization file to be loaded.")
 
-(defvar abbrev-file-name
-  (convert-standard-filename "~/.abbrev_defs")
-  "*Default name of file to read abbrevs from.")
-
 ;; arch-tag: bae27ffb-9944-4c87-b569-30d4635a99e1
 ;;; paths.el ends here

Index: lisp/startup.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/startup.el,v
retrieving revision 1.534
retrieving revision 1.535
diff -u -b -r1.534 -r1.535
--- lisp/startup.el     22 Aug 2009 21:59:44 -0000      1.534
+++ lisp/startup.el     29 Aug 2009 19:22:44 -0000      1.535
@@ -721,6 +721,9 @@
   (custom-reevaluate-setting 'temporary-file-directory)
   (custom-reevaluate-setting 'small-temporary-file-directory)
   (custom-reevaluate-setting 'auto-save-file-name-transforms)
+  (custom-reevaluate-setting 'abbrev-file-name)
+  ;; Force recomputation, in case it was computed during the dump.
+  (setq abbreviated-home-dir nil)
 
   ;; See if we should import version-control from the environment variable.
   (let ((vc (getenv "VERSION_CONTROL")))
@@ -1822,48 +1825,27 @@
 
   ;; If keys have their default meanings,
   ;; use precomputed string to save lots of time.
-  (let ((c-h-accessible
+  (let* ((c-h-accessible
          ;; If normal-erase-is-backspace is used on a tty, there's
          ;; no way to invoke C-h and you have to use F1 instead.
          (or (not (char-table-p keyboard-translate-table))
-             (eq (aref keyboard-translate-table ?\C-h) ?\C-h))))
-    (if (and (eq (key-binding "\C-h") 'help-command)
-             (eq (key-binding "\C-xu") 'advertised-undo)
-             (eq (key-binding "\C-x\C-c") 'save-buffers-kill-terminal)
-             (eq (key-binding "\C-ht") 'help-with-tutorial)
-             (eq (key-binding "\C-hi") 'info)
-             (eq (key-binding "\C-hr") 'info-emacs-manual)
-             (eq (key-binding "\C-h\C-n") 'view-emacs-news))
-        (let ((help (if c-h-accessible "C-h" "<f1>")))
-          (insert "
-Get help\t   " help "  (Hold down CTRL and press h)
-")
-          (insert-button "Emacs manual"
-                         'action (lambda (button) (info-emacs-manual))
-                         'follow-link t)
-          (insert "       " help " r\t")
-          (insert-button "Browse manuals"
-                         'action (lambda (button) (Info-directory))
-                         'follow-link t)
-          (insert "\t   " help " i
-")
-          (insert-button "Emacs tutorial"
-                         'action (lambda (button) (help-with-tutorial))
-                         'follow-link t)
-          (insert "       " help " t\tUndo changes\t   C-x u
-")
-          (insert-button "Buy manuals"
-                         'action (lambda (button) (view-order-manuals))
-                         'follow-link t)
-          (insert "\t   " help " C-m\tExit Emacs\t   C-x C-c"))
+              (eq (aref keyboard-translate-table ?\C-h) ?\C-h)))
+         (minor-mode-overriding-map-alist
+          (cons (cons (not c-h-accessible)
+                      ;; If C-h can't be invoked, temporarily disable its
+                      ;; binding, so where-is uses alternative bindings.
+                      (let ((map (make-sparse-keymap)))
+                        (define-key map [?\C-h] 'undefined)
+                        map))
+                minor-mode-overriding-map-alist)))
 
-      (insert (format "
-Get help\t   %s
-"
+    (insert (format "\nGet help\t   %s\n"
                       (let ((where (where-is-internal 'help-command nil t)))
-                        (if where
-                            (key-description where)
-                          "M-x help"))))
+                      (cond
+                       ((equal where [?\C-h])
+                        "C-h  (Hold down CTRL and press h)")
+                       (where (key-description where))
+                       (t "M-x help")))))
       (insert-button "Emacs manual"
                      'action (lambda (button) (info-emacs-manual))
                      'follow-link t)
@@ -1871,19 +1853,17 @@
       (insert-button "Browse manuals"
                      'action (lambda (button) (Info-directory))
                      'follow-link t)
-      (insert (substitute-command-keys "\t   \\[info]
-"))
+    (insert (substitute-command-keys "\t   \\[info]\n"))
       (insert-button "Emacs tutorial"
                      'action (lambda (button) (help-with-tutorial))
                      'follow-link t)
       (insert (substitute-command-keys
-               "\t   \\[help-with-tutorial]\tUndo changes\t   
\\[advertised-undo]
-"))
+             "\t   \\[help-with-tutorial]\tUndo changes\t   
\\[advertised-undo]\n"))
       (insert-button "Buy manuals"
                      'action (lambda (button) (view-order-manuals))
                      'follow-link t)
       (insert (substitute-command-keys
-              "\t   \\[view-order-manuals]\tExit Emacs\t   
\\[save-buffers-kill-terminal]"))))
+             "\t   \\[view-order-manuals]\tExit Emacs\t   
\\[save-buffers-kill-terminal]")))
 
   ;; Say how to use the menu bar with the keyboard.
   (insert "\n")
@@ -2035,8 +2015,7 @@
                 (let ((buffer (get-buffer-create " *temp*")))
                   (prog1
                       (condition-case nil
-                          (save-excursion
-                            (set-buffer buffer)
+                          (with-current-buffer buffer
                             (insert-file-contents user-init-file)
                             (re-search-forward
                              (concat
@@ -2109,11 +2088,10 @@
            ;; This includes our standard options' long versions
            ;; and long versions of what's on command-switch-alist.
            (longopts
-            (append '(("--funcall") ("--load") ("--insert") ("--kill")
-                      ("--directory") ("--eval") ("--execute") ("--no-splash")
-                      ("--find-file") ("--visit") ("--file") ("--no-desktop"))
-                    (mapcar (lambda (elt)
-                              (list (concat "-" (car elt))))
+           (append '("--funcall" "--load" "--insert" "--kill"
+                     "--directory" "--eval" "--execute" "--no-splash"
+                     "--find-file" "--visit" "--file" "--no-desktop")
+                   (mapcar (lambda (elt) (concat "-" (car elt)))
                             command-switch-alist)))
            (line 0)
            (column 0))
@@ -2121,7 +2099,7 @@
        ;; Add the long X options to longopts.
        (dolist (tem command-line-x-option-alist)
          (if (string-match "^--" (car tem))
-             (push (list (car tem)) longopts)))
+            (push (car tem) longopts)))
 
        ;; Add the long NS options to longopts.
        (dolist (tem command-line-ns-option-alist)
@@ -2149,7 +2127,7 @@
                (if (eq completion t)
                    (setq argi (substring argi 1))
                  (if (stringp completion)
-                     (let ((elt (assoc completion longopts)))
+                  (let ((elt (member completion longopts)))
                        (or elt
                            (error "Option `%s' is ambiguous" argi))
                        (setq argi (substring (car elt) 1)))

Index: lisp/calc/calc.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/calc/calc.el,v
retrieving revision 1.130
retrieving revision 1.131
diff -u -b -r1.130 -r1.131
--- lisp/calc/calc.el   22 Aug 2009 19:29:27 -0000      1.130
+++ lisp/calc/calc.el   29 Aug 2009 19:22:44 -0000      1.131
@@ -227,9 +227,10 @@
   :tag    "Calc"
   :group  'applications)
 
-;;;###autoload
+;; Do not autoload, so it is evaluated at run-time rather than at dump time.
+;; ;;;###autoload
 (defcustom calc-settings-file
-  (convert-standard-filename "~/.calc.el")
+  (locate-user-emacs-file "calc.el" ".calc.el")
   "File in which to record permanent settings."
   :group 'calc
   :type '(file))




reply via email to

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