emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] trunk r114158: * lisp/abbrev.el (edit-abbrevs-mode): Use d


From: Stefan Monnier
Subject: [Emacs-diffs] trunk r114158: * lisp/abbrev.el (edit-abbrevs-mode): Use define-derived-mode.
Date: Fri, 06 Sep 2013 15:38:43 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 114158
revision-id: address@hidden
parent: address@hidden
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Fri 2013-09-06 11:37:01 -0400
message:
  * lisp/abbrev.el (edit-abbrevs-mode): Use define-derived-mode.
  (edit-abbrevs-mode-map): Rename from edit-abbrevs-map.
  
  * lisp/epa.el (epa--encode-coding-string, epa--decode-coding-string)
  (epa--select-safe-coding-system, epa--derived-mode-p): Make it obvious
  that it's defined.
  (epa-key-list-mode, epa-key-mode, epa-info-mode):
  Use define-derived-mode.
  
  * lisp/epg.el (epg-start-encrypt): Minor CSE simplification.
modified:
  lisp/ChangeLog                 changelog-20091113204419-o5vbwnq5f7feedwu-1432
  lisp/abbrev.el                 abbrev.el-20091113204419-o5vbwnq5f7feedwu-281
  lisp/epa.el                    epa.el-20091113204419-o5vbwnq5f7feedwu-8557
  lisp/epg.el                    epg.el-20091113204419-o5vbwnq5f7feedwu-8560
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2013-09-06 15:02:40 +0000
+++ b/lisp/ChangeLog    2013-09-06 15:37:01 +0000
@@ -1,3 +1,16 @@
+2013-09-06  Stefan Monnier  <address@hidden>
+
+       * abbrev.el (edit-abbrevs-mode-map): Rename from edit-abbrevs-map.
+       (edit-abbrevs-mode): Use define-derived-mode.
+
+       * epa.el (epa--encode-coding-string, epa--decode-coding-string)
+       (epa--select-safe-coding-system, epa--derived-mode-p): Make it obvious
+       that it's defined.
+       (epa-key-list-mode, epa-key-mode, epa-info-mode):
+       Use define-derived-mode.
+
+       * epg.el (epg-start-encrypt): Minor CSE simplification.
+
 2013-09-06  William Xu  <address@hidden>
 
        * arc-mode.el: Add support for 7za (bug#15264).

=== modified file 'lisp/abbrev.el'
--- a/lisp/abbrev.el    2013-08-05 14:26:57 +0000
+++ b/lisp/abbrev.el    2013-09-06 15:37:01 +0000
@@ -67,13 +67,15 @@
 (put 'abbrev-mode 'safe-local-variable 'booleanp)
 
 
-(defvar edit-abbrevs-map
+(defvar edit-abbrevs-mode-map
   (let ((map (make-sparse-keymap)))
     (define-key map "\C-x\C-s" 'abbrev-edit-save-buffer)
     (define-key map "\C-x\C-w" 'abbrev-edit-save-to-file)
     (define-key map "\C-c\C-c" 'edit-abbrevs-redefine)
     map)
   "Keymap used in `edit-abbrevs'.")
+(define-obsolete-variable-alias 'edit-abbrevs-map
+  'edit-abbrevs-mode-map "24.4")
 
 (defun kill-all-abbrevs ()
   "Undefine all defined abbrevs."
@@ -144,16 +146,6 @@
       (set-buffer-modified-p nil)
       (current-buffer))))
 
-(defun edit-abbrevs-mode ()
-  "Major mode for editing the list of abbrev definitions.
-\\{edit-abbrevs-map}"
-  (interactive)
-  (kill-all-local-variables)
-  (setq major-mode 'edit-abbrevs-mode)
-  (setq mode-name "Edit-Abbrevs")
-  (use-local-map edit-abbrevs-map)
-  (run-mode-hooks 'edit-abbrevs-mode-hook))
-
 (defun edit-abbrevs ()
   "Alter abbrev definitions by editing a list of them.
 Selects a buffer containing a list of abbrev definitions with
@@ -1013,6 +1005,11 @@
            (sort entries (lambda (x y)
                 (funcall sortfun (nth 2 x) (nth 2 y)))))))
 
+;; Keep it after define-abbrev-table, since define-derived-mode uses
+;; define-abbrev-table.
+(define-derived-mode edit-abbrevs-mode special-mode "Edit-Abbrevs"
+  "Major mode for editing the list of abbrev definitions.")
+
 (provide 'abbrev)
 
 ;;; abbrev.el ends here

=== modified file 'lisp/epa.el'
--- a/lisp/epa.el       2013-07-26 09:32:44 +0000
+++ b/lisp/epa.el       2013-09-06 15:37:01 +0000
@@ -268,62 +268,40 @@
          (epg-sub-key-id (car (epg-key-sub-key-list
                                (widget-get widget :value))))))
 
-(eval-and-compile
-  (if (fboundp 'encode-coding-string)
-      (defalias 'epa--encode-coding-string 'encode-coding-string)
-    (defalias 'epa--encode-coding-string 'identity)))
-
-(eval-and-compile
-  (if (fboundp 'decode-coding-string)
-      (defalias 'epa--decode-coding-string 'decode-coding-string)
-    (defalias 'epa--decode-coding-string 'identity)))
-
-(defun epa-key-list-mode ()
+(defalias 'epa--encode-coding-string
+  (if (fboundp 'encode-coding-string) #'encode-coding-string #'identity))
+
+(defalias 'epa--decode-coding-string
+  (if (fboundp 'decode-coding-string) #'decode-coding-string #'identity))
+
+(define-derived-mode epa-key-list-mode special-mode "Keys"
   "Major mode for `epa-list-keys'."
-  (kill-all-local-variables)
   (buffer-disable-undo)
-  (setq major-mode 'epa-key-list-mode
-       mode-name "Keys"
-       truncate-lines t
+  (setq truncate-lines t
        buffer-read-only t)
-  (use-local-map epa-key-list-mode-map)
-  (make-local-variable 'font-lock-defaults)
-  (setq font-lock-defaults '(epa-font-lock-keywords t))
+  (setq-local font-lock-defaults '(epa-font-lock-keywords t))
   ;; In XEmacs, auto-initialization of font-lock is not effective
   ;; if buffer-file-name is not set.
   (font-lock-set-defaults)
   (make-local-variable 'epa-exit-buffer-function)
-  (make-local-variable 'revert-buffer-function)
-  (setq revert-buffer-function 'epa--key-list-revert-buffer)
-  (run-mode-hooks 'epa-key-list-mode-hook))
+  (setq-local revert-buffer-function #'epa--key-list-revert-buffer))
 
-(defun epa-key-mode ()
+(define-derived-mode epa-key-mode special-mode "Key"
   "Major mode for a key description."
-  (kill-all-local-variables)
   (buffer-disable-undo)
-  (setq major-mode 'epa-key-mode
-       mode-name "Key"
-       truncate-lines t
+  (setq truncate-lines t
        buffer-read-only t)
-  (use-local-map epa-key-mode-map)
-  (make-local-variable 'font-lock-defaults)
-  (setq font-lock-defaults '(epa-font-lock-keywords t))
+  (setq-local font-lock-defaults '(epa-font-lock-keywords t))
   ;; In XEmacs, auto-initialization of font-lock is not effective
   ;; if buffer-file-name is not set.
   (font-lock-set-defaults)
-  (make-local-variable 'epa-exit-buffer-function)
-  (run-mode-hooks 'epa-key-mode-hook))
+  (make-local-variable 'epa-exit-buffer-function))
 
-(defun epa-info-mode ()
+(define-derived-mode epa-info-mode special-mode "Info"
   "Major mode for `epa-info-buffer'."
-  (kill-all-local-variables)
   (buffer-disable-undo)
-  (setq major-mode 'epa-info-mode
-       mode-name "Info"
-       truncate-lines t
-       buffer-read-only t)
-  (use-local-map epa-info-mode-map)
-  (run-mode-hooks 'epa-info-mode-hook))
+  (setq truncate-lines t
+       buffer-read-only t))
 
 (defun epa-mark-key (&optional arg)
   "Mark a key on the current line.
@@ -951,10 +929,10 @@
            (error "No cleartext tail"))
          (epa-verify-region cleartext-start cleartext-end))))))
 
-(eval-and-compile
+(defalias 'epa--select-safe-coding-system
   (if (fboundp 'select-safe-coding-system)
-      (defalias 'epa--select-safe-coding-system 'select-safe-coding-system)
-    (defun epa--select-safe-coding-system (_from _to)
+      #'select-safe-coding-system
+    (lambda (_from _to)
       buffer-file-coding-system)))
 
 ;;;###autoload
@@ -1026,16 +1004,16 @@
                                 'start-open t
                                 'end-open t)))))
 
-(eval-and-compile
+(defalias 'epa--derived-mode-p
   (if (fboundp 'derived-mode-p)
-      (defalias 'epa--derived-mode-p 'derived-mode-p)
-    (defun epa--derived-mode-p (&rest modes)
+      #'derived-mode-p
+    (lambda (&rest modes)
       "Non-nil if the current major mode is derived from one of MODES.
 Uses the `derived-mode-parent' property of the symbol to trace backwards."
       (let ((parent major-mode))
-       (while (and (not (memq parent modes))
-                   (setq parent (get parent 'derived-mode-parent))))
-       parent))))
+        (while (and (not (memq parent modes))
+                    (setq parent (get parent 'derived-mode-parent))))
+        parent))))
 
 ;;;###autoload
 (defun epa-encrypt-region (start end recipients sign signers)
@@ -1138,6 +1116,7 @@
     (if (epg-context-result-for context 'import)
        (epa-display-info (epg-import-result-to-string
                           (epg-context-result-for context 'import))))
+    ;; FIXME: Why not use the (otherwise unused) epa--derived-mode-p?
     (if (eq major-mode 'epa-key-list-mode)
        (apply #'epa--list-keys epa-list-keys-arguments))))
 

=== modified file 'lisp/epg.el'
--- a/lisp/epg.el       2013-08-28 19:28:30 +0000
+++ b/lisp/epg.el       2013-09-06 15:37:01 +0000
@@ -2415,9 +2415,8 @@
                         (list "--" (epg-data-file plain)))))
   ;; `gpgsm' does not read passphrase from stdin, so waiting is not needed.
   (unless (eq (epg-context-protocol context) 'CMS)
-    (if sign
-       (epg-wait-for-status context '("BEGIN_SIGNING"))
-      (epg-wait-for-status context '("BEGIN_ENCRYPTION"))))
+    (epg-wait-for-status context
+                         (if sign '("BEGIN_SIGNING") '("BEGIN_ENCRYPTION"))))
   (when (epg-data-string plain)
     (if (eq (process-status (epg-context-process context)) 'run)
        (process-send-string (epg-context-process context)


reply via email to

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