aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/org
diff options
context:
space:
mode:
authorStefan Monnier2010-05-02 22:29:46 -0400
committerStefan Monnier2010-05-02 22:29:46 -0400
commit56eb09046e00ac7ee6d3d3d752cb1ee664b7e062 (patch)
tree6ff481ffba16576053b3cb2a8ad24a4f66bdec4a /lisp/org
parent063371f2b0dc2519db3abcbe54955167bde8ca9e (diff)
downloademacs-56eb09046e00ac7ee6d3d3d752cb1ee664b7e062.tar.gz
emacs-56eb09046e00ac7ee6d3d3d752cb1ee664b7e062.zip
Use define-minor-mode where applicable.
* mh-show.el (mh-showing-mode): Move function to mh-e.el. * mh-e.el (mh-showing-mode): * url-dired.el (url-dired-minor-mode): * org-table.el (orgtbl-mode): * view.el (view-mode): * type-break.el (type-break-query-mode) (type-break-mode-line-message-mode): * textmodes/reftex.el (reftex-mode): * term/vt100.el (vt100-wide-mode): * tar-mode.el (tar-subfile-mode): * savehist.el (savehist-mode): * ibuf-ext.el (ibuffer-auto-mode): * composite.el (auto-composition-mode): * progmodes/vhdl-mode.el (vhdl-electric-mode, vhdl-stutter-mode): Use define-minor-mode. (vhdl-mode): Use static mode-line format. (vhdl-mode-line-update): Delete. (vhdl-create-mode-menu, vhdl-activate-customizations) (vhdl-hs-minor-mode): Don't bother calling it.
Diffstat (limited to 'lisp/org')
-rw-r--r--lisp/org/ChangeLog9
-rw-r--r--lisp/org/org-table.el92
2 files changed, 48 insertions, 53 deletions
diff --git a/lisp/org/ChangeLog b/lisp/org/ChangeLog
index 770fd883e2c..b4675723096 100644
--- a/lisp/org/ChangeLog
+++ b/lisp/org/ChangeLog
@@ -1,8 +1,11 @@
12010-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * org-table.el (orgtbl-mode): Use define-minor-mode.
4
12010-04-10 Carsten Dominik <carsten.dominik@gmail.com> 52010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
2 6
3 * org.el (org-insert-link): Find the link buffer on visible 7 * org.el (org-insert-link): Find the link buffer on visible frames.
4 frames. 8 (org-export-latex-default-packages-alist): Hyperref must be loaded
5 (org-export-latex-default-packages-alist): hyperref must be loaded
6 late. 9 late.
7 (org-open-file): More care with the new matching for file links. 10 (org-open-file): More care with the new matching for file links.
8 11
diff --git a/lisp/org/org-table.el b/lisp/org/org-table.el
index 24c02a658ba..98c48baf52c 100644
--- a/lisp/org/org-table.el
+++ b/lisp/org/org-table.el
@@ -3401,11 +3401,6 @@ Use COMMAND to do the motion, repeat if necessary to end up in a data line."
3401;; active, this binding is ignored inside tables and replaced with a 3401;; active, this binding is ignored inside tables and replaced with a
3402;; modified self-insert. 3402;; modified self-insert.
3403 3403
3404(defvar orgtbl-mode nil
3405 "Variable controlling `orgtbl-mode', a minor mode enabling the `org-mode'
3406table editor in arbitrary modes.")
3407(make-variable-buffer-local 'orgtbl-mode)
3408
3409(defvar orgtbl-mode-map (make-keymap) 3404(defvar orgtbl-mode-map (make-keymap)
3410 "Keymap for `orgtbl-mode'.") 3405 "Keymap for `orgtbl-mode'.")
3411 3406
@@ -3426,49 +3421,51 @@ table editor in arbitrary modes.")
3426 0 (quote 'org-table) 'prepend)) 3421 0 (quote 'org-table) 'prepend))
3427 "Extra font-lock-keywords to be added when orgtbl-mode is active.") 3422 "Extra font-lock-keywords to be added when orgtbl-mode is active.")
3428 3423
3424;; Install it as a minor mode.
3425(put 'orgtbl-mode :included t)
3426(put 'orgtbl-mode :menu-tag "Org Table Mode")
3429;;;###autoload 3427;;;###autoload
3430(defun orgtbl-mode (&optional arg) 3428(define-minor-mode orgtbl-mode
3431 "The `org-mode' table editor as a minor mode for use in other modes." 3429 "The `org-mode' table editor as a minor mode for use in other modes."
3432 (interactive) 3430 :lighter " OrgTbl" :keymap orgtbl-mode-map
3433 (org-load-modules-maybe) 3431 (org-load-modules-maybe)
3434 (if (org-mode-p) 3432 (cond
3435 ;; Exit without error, in case some hook functions calls this 3433 ((org-mode-p)
3436 ;; by accident in org-mode. 3434 ;; Exit without error, in case some hook functions calls this
3437 (message "Orgtbl-mode is not useful in org-mode, command ignored") 3435 ;; by accident in org-mode.
3438 (setq orgtbl-mode 3436 (message "Orgtbl-mode is not useful in org-mode, command ignored"))
3439 (if arg (> (prefix-numeric-value arg) 0) (not orgtbl-mode))) 3437 (orgtbl-mode
3440 (if orgtbl-mode 3438 (and (orgtbl-setup) (defun orgtbl-setup () nil)) ;; FIXME: Yuck!?!
3441 (progn 3439 ;; Make sure we are first in minor-mode-map-alist
3442 (and (orgtbl-setup) (defun orgtbl-setup () nil)) 3440 (let ((c (assq 'orgtbl-mode minor-mode-map-alist)))
3443 ;; Make sure we are first in minor-mode-map-alist 3441 ;; FIXME: maybe it should use emulation-mode-map-alists?
3444 (let ((c (assq 'orgtbl-mode minor-mode-map-alist))) 3442 (and c (setq minor-mode-map-alist
3445 (and c (setq minor-mode-map-alist 3443 (cons c (delq c minor-mode-map-alist)))))
3446 (cons c (delq c minor-mode-map-alist))))) 3444 (org-set-local (quote org-table-may-need-update) t)
3447 (org-set-local (quote org-table-may-need-update) t) 3445 (org-add-hook 'before-change-functions 'org-before-change-function
3448 (org-add-hook 'before-change-functions 'org-before-change-function 3446 nil 'local)
3449 nil 'local) 3447 (org-set-local 'org-old-auto-fill-inhibit-regexp
3450 (org-set-local 'org-old-auto-fill-inhibit-regexp 3448 auto-fill-inhibit-regexp)
3451 auto-fill-inhibit-regexp) 3449 (org-set-local 'auto-fill-inhibit-regexp
3452 (org-set-local 'auto-fill-inhibit-regexp 3450 (if auto-fill-inhibit-regexp
3453 (if auto-fill-inhibit-regexp 3451 (concat orgtbl-line-start-regexp "\\|"
3454 (concat orgtbl-line-start-regexp "\\|" 3452 auto-fill-inhibit-regexp)
3455 auto-fill-inhibit-regexp) 3453 orgtbl-line-start-regexp))
3456 orgtbl-line-start-regexp)) 3454 (org-add-to-invisibility-spec '(org-cwidth))
3457 (org-add-to-invisibility-spec '(org-cwidth)) 3455 (when (fboundp 'font-lock-add-keywords)
3458 (when (fboundp 'font-lock-add-keywords) 3456 (font-lock-add-keywords nil orgtbl-extra-font-lock-keywords)
3459 (font-lock-add-keywords nil orgtbl-extra-font-lock-keywords) 3457 (org-restart-font-lock))
3460 (org-restart-font-lock)) 3458 (easy-menu-add orgtbl-mode-menu))
3461 (easy-menu-add orgtbl-mode-menu) 3459 (t
3462 (run-hooks 'orgtbl-mode-hook)) 3460 (setq auto-fill-inhibit-regexp org-old-auto-fill-inhibit-regexp)
3463 (setq auto-fill-inhibit-regexp org-old-auto-fill-inhibit-regexp) 3461 (org-table-cleanup-narrow-column-properties)
3464 (org-table-cleanup-narrow-column-properties) 3462 (org-remove-from-invisibility-spec '(org-cwidth))
3465 (org-remove-from-invisibility-spec '(org-cwidth)) 3463 (remove-hook 'before-change-functions 'org-before-change-function t)
3466 (remove-hook 'before-change-functions 'org-before-change-function t) 3464 (when (fboundp 'font-lock-remove-keywords)
3467 (when (fboundp 'font-lock-remove-keywords) 3465 (font-lock-remove-keywords nil orgtbl-extra-font-lock-keywords)
3468 (font-lock-remove-keywords nil orgtbl-extra-font-lock-keywords) 3466 (org-restart-font-lock))
3469 (org-restart-font-lock)) 3467 (easy-menu-remove orgtbl-mode-menu)
3470 (easy-menu-remove orgtbl-mode-menu) 3468 (force-mode-line-update 'all))))
3471 (force-mode-line-update 'all))))
3472 3469
3473(defun org-table-cleanup-narrow-column-properties () 3470(defun org-table-cleanup-narrow-column-properties ()
3474 "Remove all properties related to narrow-column invisibility." 3471 "Remove all properties related to narrow-column invisibility."
@@ -3483,11 +3480,6 @@ table editor in arbitrary modes.")
3483 (while (setq s (text-property-any s (point-max) 'invisible 'org-cwidth)) 3480 (while (setq s (text-property-any s (point-max) 'invisible 'org-cwidth))
3484 (remove-text-properties s (1+ s) '(invisible t))))) 3481 (remove-text-properties s (1+ s) '(invisible t)))))
3485 3482
3486;; Install it as a minor mode.
3487(put 'orgtbl-mode :included t)
3488(put 'orgtbl-mode :menu-tag "Org Table Mode")
3489(add-minor-mode 'orgtbl-mode " OrgTbl" orgtbl-mode-map)
3490
3491(defun orgtbl-make-binding (fun n &rest keys) 3483(defun orgtbl-make-binding (fun n &rest keys)
3492 "Create a function for binding in the table minor mode. 3484 "Create a function for binding in the table minor mode.
3493FUN is the command to call inside a table. N is used to create a unique 3485FUN is the command to call inside a table. N is used to create a unique