Use run-mode-hooks for major mode hooks.

* lisp/textmodes/reftex-toc.el (reftex-toc-mode-map):
Rename from reftex-toc-map.
(reftex-toc-mode): Use define-derived-mode.
* lisp/textmodes/reftex-sel.el (reftex-select-shared-map): New map.
(reftex-select-label-mode-map, reftex-select-bib-mode-map):
Rename from reftex-select-(label|bib)-map.  Move init into declaration.
(reftex-select-label-mode, reftex-select-bib-mode):
Use define-derived-mode.
* lisp/textmodes/reftex-index.el (reftex-index-phrases-mode-map)
(reftex-index-mode-map): Rename from reftex-index(-phrases)-map.
Move init into delcaration.
(reftex-index-mode, reftex-index-phrases-mode):
Use define-derived-mode.
* lisp/speedbar.el (speedbar-mode-syntax-table): Renaqme from
speedbar-syntax-table.  Move init into declaration.
(speedbar-mode-map): Rename from speedbar-key-map.
Move init into declaration.
(speedbar-file-key-map): Move init into declaration.
(speedbar-mode): Use define-derived-mode.
* lisp/recentf.el (recentf-mode): Don't run hook (or message) redundantly.
* lisp/net/rcirc.el (rcirc-mode): Use run-mode-hooks.
* lisp/emacs-lisp/chart.el (chart-mode-map): Rename from chart-map.
(chart-face-list): Move initialization into declaration.
(chart-mode): Use define-derived-mode.
* lisp/calculator.el (calculator-mode-map): Move init into declaration.
(calculator-mode): Use define-derived-mode.
* lisp/cedet/srecode/srt-mode.el (srecode-template-mode):
Use define-derived-mode.
* lisp/cedet/semantic/symref/list.el (semantic-symref-results-mode):
Use run-mode-hooks.
* lisp/erc/erc.el (erc-mode):
* lisp/erc/erc-dcc.el (erc-dcc-chat-mode): Use define-derived-mode.
* lisp/org/org-remember.el (org-remember-mode):
* lisp/org/org-capture.el (org-capture-mode): Don't run hook redundantly.

Fixes: debbugs:513
This commit is contained in:
Stefan Monnier 2011-01-13 18:14:30 -05:00
parent b49a2dbf58
commit 4d789d84b8
21 changed files with 1339 additions and 1357 deletions

View file

@ -1,5 +1,33 @@
2011-01-13 Stefan Monnier <monnier@iro.umontreal.ca>
Use run-mode-hooks for major mode hooks (bug#513).
* textmodes/reftex-toc.el (reftex-toc-mode-map):
Rename from reftex-toc-map.
(reftex-toc-mode): Use define-derived-mode.
* textmodes/reftex-sel.el (reftex-select-shared-map): New map.
(reftex-select-label-mode-map, reftex-select-bib-mode-map):
Rename from reftex-select-(label|bib)-map. Move init into declaration.
(reftex-select-label-mode, reftex-select-bib-mode):
Use define-derived-mode.
* textmodes/reftex-index.el (reftex-index-phrases-mode-map)
(reftex-index-mode-map): Rename from reftex-index(-phrases)-map.
Move init into delcaration.
(reftex-index-mode, reftex-index-phrases-mode):
Use define-derived-mode.
* speedbar.el (speedbar-mode-syntax-table): Renaqme from
speedbar-syntax-table. Move init into declaration.
(speedbar-mode-map): Rename from speedbar-key-map.
Move init into declaration.
(speedbar-file-key-map): Move init into declaration.
(speedbar-mode): Use define-derived-mode.
* recentf.el (recentf-mode): Don't run hook (or message) redundantly.
* net/rcirc.el (rcirc-mode): Use run-mode-hooks.
* emacs-lisp/chart.el (chart-mode-map): Rename from chart-map.
(chart-face-list): Move initialization into declaration.
(chart-mode): Use define-derived-mode.
* calculator.el (calculator-mode-map): Move init into declaration.
(calculator-mode): Use define-derived-mode.
* mail/mail-utils.el (mail-strip-quoted-names): Make the regexp code
work for nested comments.

View file

@ -1,7 +1,7 @@
;;; calculator.el --- a [not so] simple calculator for Emacs
;; Copyright (C) 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
;; 2008, 2009, 2010 Free Software Foundation, Inc.
;; 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
;; Author: Eli Barzilay <eli@barzilay.org>
;; Keywords: tools, convenience
@ -382,10 +382,7 @@ Used for repeating operations in calculator-repR/L.")
;;;---------------------------------------------------------------------
;;; Key bindings
(defvar calculator-mode-map nil
"The calculator key map.")
(or calculator-mode-map
(defvar calculator-mode-map
(let ((map (make-sparse-keymap)))
(suppress-keymap map t)
(define-key map "i" nil)
@ -471,113 +468,114 @@ Used for repeating operations in calculator-repR/L.")
("Binary" bin "B")
("Octal" oct "O")
("Hexadecimal" hex "H"))))
(op '(lambda (name key)
`[,name (calculator-op ,key) :keys ,key])))
(op (lambda (name key)
`[,name (calculator-op ,key) :keys ,key])))
(easy-menu-define
calculator-menu map "Calculator menu."
`("Calculator"
["Help"
(let ((last-command 'calculator-help)) (calculator-help))
:keys "?"]
"---"
["Copy" calculator-copy]
["Paste" calculator-paste]
"---"
["Electric mode"
(progn (calculator-quit)
(setq calculator-restart-other-mode t)
(run-with-timer 0.1 nil '(lambda () (message nil)))
;; the message from the menu will be visible,
;; couldn't make it go away...
(calculator))
:active (not calculator-electric-mode)]
["Normal mode"
(progn (setq calculator-restart-other-mode t)
(calculator-quit))
:active calculator-electric-mode]
"---"
("Functions"
,(funcall op "Repeat-right" ">")
,(funcall op "Repeat-left" "<")
"------General------"
,(funcall op "Reciprocal" ";")
,(funcall op "Log" "L")
,(funcall op "Square-root" "Q")
,(funcall op "Factorial" "!")
"------Trigonometric------"
,(funcall op "Sinus" "S")
,(funcall op "Cosine" "C")
,(funcall op "Tangent" "T")
,(funcall op "Inv-Sinus" "IS")
,(funcall op "Inv-Cosine" "IC")
,(funcall op "Inv-Tangent" "IT")
"------Bitwise------"
,(funcall op "Or" "|")
,(funcall op "Xor" "#")
,(funcall op "And" "&")
,(funcall op "Not" "~"))
("Saved List"
["Eval+Save" calculator-save-on-list]
["Prev number" calculator-saved-up]
["Next number" calculator-saved-down]
["Delete current" calculator-clear
:active (and calculator-display-fragile
calculator-saved-list
(= (car calculator-stack)
(nth calculator-saved-ptr
calculator-saved-list)))]
["Delete all" calculator-clear-saved]
calculator-menu map "Calculator menu."
`("Calculator"
["Help"
(let ((last-command 'calculator-help)) (calculator-help))
:keys "?"]
"---"
,(funcall op "List-total" "l")
,(funcall op "List-average" "v"))
("Registers"
["Get register" calculator-get-register]
["Set register" calculator-set-register])
("Modes"
["Radians"
(progn
(and (or calculator-input-radix calculator-output-radix)
(calculator-radix-mode "D"))
(and calculator-deg (calculator-dec/deg-mode)))
:keys "D"
:style radio
:selected (not (or calculator-input-radix
calculator-output-radix
calculator-deg))]
["Degrees"
(progn
(and (or calculator-input-radix calculator-output-radix)
(calculator-radix-mode "D"))
(or calculator-deg (calculator-dec/deg-mode)))
:keys "D"
:style radio
:selected (and calculator-deg
(not (or calculator-input-radix
calculator-output-radix)))]
["Copy" calculator-copy]
["Paste" calculator-paste]
"---"
,@(mapcar 'car radix-selectors)
("Separate I/O"
,@(mapcar (lambda (x) (nth 1 x)) radix-selectors)
["Electric mode"
(progn (calculator-quit)
(setq calculator-restart-other-mode t)
(run-with-timer 0.1 nil '(lambda () (message nil)))
;; the message from the menu will be visible,
;; couldn't make it go away...
(calculator))
:active (not calculator-electric-mode)]
["Normal mode"
(progn (setq calculator-restart-other-mode t)
(calculator-quit))
:active calculator-electric-mode]
"---"
("Functions"
,(funcall op "Repeat-right" ">")
,(funcall op "Repeat-left" "<")
"------General------"
,(funcall op "Reciprocal" ";")
,(funcall op "Log" "L")
,(funcall op "Square-root" "Q")
,(funcall op "Factorial" "!")
"------Trigonometric------"
,(funcall op "Sinus" "S")
,(funcall op "Cosine" "C")
,(funcall op "Tangent" "T")
,(funcall op "Inv-Sinus" "IS")
,(funcall op "Inv-Cosine" "IC")
,(funcall op "Inv-Tangent" "IT")
"------Bitwise------"
,(funcall op "Or" "|")
,(funcall op "Xor" "#")
,(funcall op "And" "&")
,(funcall op "Not" "~"))
("Saved List"
["Eval+Save" calculator-save-on-list]
["Prev number" calculator-saved-up]
["Next number" calculator-saved-down]
["Delete current" calculator-clear
:active (and calculator-display-fragile
calculator-saved-list
(= (car calculator-stack)
(nth calculator-saved-ptr
calculator-saved-list)))]
["Delete all" calculator-clear-saved]
"---"
,@(mapcar (lambda (x) (nth 2 x)) radix-selectors)))
("Decimal Display"
,@(mapcar (lambda (d)
(vector (cadr d)
;; Note: inserts actual object here
`(calculator-rotate-displayer ',d)))
calculator-displayers)
,(funcall op "List-total" "l")
,(funcall op "List-average" "v"))
("Registers"
["Get register" calculator-get-register]
["Set register" calculator-set-register])
("Modes"
["Radians"
(progn
(and (or calculator-input-radix calculator-output-radix)
(calculator-radix-mode "D"))
(and calculator-deg (calculator-dec/deg-mode)))
:keys "D"
:style radio
:selected (not (or calculator-input-radix
calculator-output-radix
calculator-deg))]
["Degrees"
(progn
(and (or calculator-input-radix calculator-output-radix)
(calculator-radix-mode "D"))
(or calculator-deg (calculator-dec/deg-mode)))
:keys "D"
:style radio
:selected (and calculator-deg
(not (or calculator-input-radix
calculator-output-radix)))]
"---"
,@(mapcar 'car radix-selectors)
("Separate I/O"
,@(mapcar (lambda (x) (nth 1 x)) radix-selectors)
"---"
,@(mapcar (lambda (x) (nth 2 x)) radix-selectors)))
("Decimal Display"
,@(mapcar (lambda (d)
(vector (cadr d)
;; Note: inserts actual object here
`(calculator-rotate-displayer ',d)))
calculator-displayers)
"---"
["Change Prev Display" calculator-displayer-prev]
["Change Next Display" calculator-displayer-next])
"---"
["Change Prev Display" calculator-displayer-prev]
["Change Next Display" calculator-displayer-next])
"---"
["Copy+Quit" calculator-save-and-quit]
["Quit" calculator-quit]))))
(setq calculator-mode-map map)))
["Copy+Quit" calculator-save-and-quit]
["Quit" calculator-quit]))))
map)
"The calculator key map.")
;;;---------------------------------------------------------------------
;;; Startup and mode stuff
(defun calculator-mode ()
(define-derived-mode calculator-mode fundamental-mode "Calculator"
;; this help is also used as the major help screen
"A [not so] simple calculator for Emacs.
@ -671,13 +669,7 @@ Some interesting customization variables are:
See the documentation for these variables, and \"calculator.el\" for
more information.
\\{calculator-mode-map}"
(interactive)
(kill-all-local-variables)
(setq major-mode 'calculator-mode)
(setq mode-name "Calculator")
(use-local-map calculator-mode-map)
(run-mode-hooks 'calculator-mode-hook))
\\{calculator-mode-map}")
(eval-when-compile (require 'electric) (require 'ehelp))

View file

@ -1,3 +1,9 @@
2011-01-13 Stefan Monnier <monnier@iro.umontreal.ca>
* srecode/srt-mode.el (srecode-template-mode): Use define-derived-mode.
* semantic/symref/list.el (semantic-symref-results-mode):
Use run-mode-hooks.
2010-11-12 Glenn Morris <rgm@gnu.org>
* semantic/wisent/comp.el: Remove unnecessary eval-when-compiles.
@ -60,8 +66,8 @@
* semantic/db-typecache.el (semanticdb-typecache-find-default):
* semantic/imenu.el (semantic-create-imenu-index):
* semantic/grammar.el (semantic--grammar-macro-function-tag):
* semantic/fw.el (semanticdb-without-unloaded-file-searches): Fix
require. Suggested by David Engster.
* semantic/fw.el (semanticdb-without-unloaded-file-searches):
Fix require. Suggested by David Engster.
* semantic/bovine/c-by.el: Regenerate.
@ -105,8 +111,8 @@
* srecode/texi.el (srecode-texi-insert-tag-as-doc): New function.
(semantic-insert-foreign-tag): Use it.
* srecode/mode.el (srecode-bind-insert): Call
srecode-load-tables-for-mode.
* srecode/mode.el (srecode-bind-insert):
Call srecode-load-tables-for-mode.
(srecode-minor-mode-templates-menu): Do not list templates that
are not in the current project.
(srecode-menu-bar): Add binding for srecode-macro-help.
@ -159,8 +165,8 @@
compare of built-in templates. Give built-ins lower piority.
Support special variable "project".
(srecode-compile-template-table): Set :project slot of new tables.
(srecode-compile-one-template-tag): Use
srecode-create-dictionaries-from-tags.
(srecode-compile-one-template-tag):
Use srecode-create-dictionaries-from-tags.
2010-09-21 Eric Ludlam <zappo@gnu.org>
@ -210,8 +216,8 @@
(autoconf-new-automake-string): Deleted.
(autoconf-new-program): Use SRecode to fill an empty file.
* ede/cpp-root.el (ede-create-lots-of-projects-under-dir): New
function.
* ede/cpp-root.el (ede-create-lots-of-projects-under-dir):
New function.
* ede/files.el (ede-flush-project-hash): New command.
(ede-convert-path): Add optional PROJECT arg.
@ -232,8 +238,8 @@
list whether or not the vars are already in the Makefile.
(ede-pmake-insert-variable-once): New macro.
* ede/project-am.el (project-am-with-makefile-current): Add
recentf-exclude.
* ede/project-am.el (project-am-with-makefile-current):
Add recentf-exclude.
(project-am-load-makefile): Obey an optional suggested name.
(project-am-expand-subdirlist): New function.
(project-am-makefile::project-rescan): Use it. Combine SUBDIRS
@ -248,16 +254,16 @@
(project-am-extract-package-info): Fix separators.
* ede/proj.el (project-run-target): New method.
(project-make-dist, project-compile-project): Use
ede-proj-automake-p to determine which kind of compile to use.
(project-make-dist, project-compile-project):
Use ede-proj-automake-p to determine which kind of compile to use.
(project-rescan): Call ede-load-project-file.
(ede-buffer-mine): Add more file names that belong to the project.
(ede-proj-compilers): Improve error message.
* ede/proj-obj.el (ede-ld-linker): Use the LDDEPS variable.
(ede-source-c++): Add more C++ extensions.
(ede-proj-target-makefile-objectcode): Quote initforms. Support
lex and yacc.
(ede-proj-target-makefile-objectcode): Quote initforms.
Support lex and yacc.
* ede/proj-prog.el (ede-proj-makefile-insert-rules): Removed.
(ede-proj-makefile-insert-variables): New, add LDDEPS.
@ -267,8 +273,8 @@
they show up in the same order as in the command line.
(ede-proj-target-makefile-program): Add ldlibs-local slot.
* ede/proj-shared.el (ede-g++-libtool-shared-compiler): Fix
inference rule to use cpp files.
* ede/proj-shared.el (ede-g++-libtool-shared-compiler):
Fix inference rule to use cpp files.
(ede-proj-target-makefile-shared-object): Quote initforms.
* ede/proj-misc.el (ede-proj-target-makefile-miscelaneous):
@ -327,8 +333,8 @@
(semantic-analyze-scoped-inherited-tag-map): Take the tag we are
looking for as part of the scoped tags list.
* semantic/html.el (semantic-default-html-setup): Add
senator-step-at-tag-classes.
* semantic/html.el (semantic-default-html-setup):
Add senator-step-at-tag-classes.
* semantic/decorate/include.el
(semantic-decoration-on-unknown-includes): Change light bgcolor.
@ -355,8 +361,8 @@
* semantic/util.el (semantic-hack-search)
(semantic-recursive-find-nonterminal-by-name)
(semantic-current-tag-interactive): Deleted.
(semantic-describe-buffer): Fix expand-nonterminal. Add
lex-syntax-mods, type relation separator char, and command
(semantic-describe-buffer): Fix expand-nonterminal.
Add lex-syntax-mods, type relation separator char, and command
separation char.
(semantic-sanity-check): Only message if called interactively.
@ -372,8 +378,8 @@
* semantic/idle.el: Add breadcrumbs support.
(semantic-idle-summary-current-symbol-info-default)
(semantic-idle-tag-highlight)
(semantic-idle-completion-list-default): Use
semanticdb-without-unloaded-file-searches for speed, and to
(semantic-idle-completion-list-default):
Use semanticdb-without-unloaded-file-searches for speed, and to
conform to the controls that specify if the idle timer is supposed
to be parsing unparsed includes.
(semantic-idle-symbol-highlight-face)
@ -448,8 +454,8 @@
(semantic-analyze-find-tag-sequence-default): Be robust to
calculated scopes being nil.
* semantic/bovine/c.el (semantic-c-describe-environment): Add
project macro symbol array.
* semantic/bovine/c.el (semantic-c-describe-environment):
Add project macro symbol array.
(semantic-c-parse-lexical-token): Add recursion limit.
(semantic-ctxt-imported-packages, semanticdb-expand-nested-tag):
New overrides.
@ -458,8 +464,8 @@
(semantic-expand-c-tag-namelist): Do not split out a typedef'd
inline type if it is an anonymous type.
(semantic-c-reconstitute-token): Use the optional initializers as
a clue that some function is probably a constructor. When
defining the type of these constructors, split the parent name,
a clue that some function is probably a constructor.
When defining the type of these constructors, split the parent name,
and use only the class part, if applicable.
* semantic/bovine/c-by.el:
@ -594,8 +600,8 @@
* semantic/db-find.el
(semanticdb-find-translate-path-brutish-default):
* ede/make.el (ede-make-check-version): Use
with-current-buffer instead of save-excursion.
* ede/make.el (ede-make-check-version):
Use with-current-buffer instead of save-excursion.
2010-02-24 Eduard Wiebe <usenet@pusto.de>
@ -783,8 +789,8 @@
* ede.el (ede-apply-preprocessor-map): Accept lists of
ede-objects as targets.
* ede/pmake.el (ede-proj-makefile-insert-variables): Output
a target's object list even if compiler vars are already in the
* ede/pmake.el (ede-proj-makefile-insert-variables):
Output a target's object list even if compiler vars are already in the
Makefile.
* ede/emacs.el (ede-preprocessor-map): Add config.h to the
@ -880,8 +886,8 @@
2009-11-08 Chong Yidong <cyd@stupidchicken.com>
* semantic/ctxt.el (semantic-get-local-variables): Disable
the progress reporter entirely.
* semantic/ctxt.el (semantic-get-local-variables):
Disable the progress reporter entirely.
2009-11-03 Stefan Monnier <monnier@iro.umontreal.ca>

View file

@ -1,6 +1,6 @@
;;; semantic/symref/list.el --- Symref Output List UI.
;; Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
;; Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <eric@siege-engine.com>
@ -189,6 +189,7 @@ Display the references in`semantic-symref-results-mode'."
"The current results in a results mode buffer.")
(defun semantic-symref-results-mode (results)
;; FIXME: Use define-derived-mode.
"Major-mode for displaying Semantic Symbol Reference RESULTS.
RESULTS is an object of class `semantic-symref-results'."
(interactive)
@ -204,7 +205,7 @@ RESULTS is an object of class `semantic-symref-results'."
(buffer-disable-undo)
(set (make-local-variable 'font-lock-global-modes) nil)
(font-lock-mode -1)
(run-hooks 'semantic-symref-results-mode-hook)
(run-mode-hooks 'semantic-symref-results-mode-hook)
)
(defun semantic-symref-hide-buffer ()

View file

@ -1,6 +1,6 @@
;;; srecode/srt-mode.el --- Major mode for writing screcode macros
;; Copyright (C) 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
;; Copyright (C) 2005, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
@ -183,27 +183,20 @@ we can tell font lock about them.")
"Keymap used in srecode mode.")
;;;###autoload
(defun srecode-template-mode ()
(define-derived-mode srecode-template-mode fundamental-mode "SRecorder"
"Major-mode for writing SRecode macros."
(interactive)
(kill-all-local-variables)
(setq major-mode 'srecode-template-mode
mode-name "SRecoder"
comment-start ";;"
(setq comment-start ";;"
comment-end "")
(set (make-local-variable 'parse-sexp-ignore-comments) t)
(set (make-local-variable 'comment-start-skip)
"\\(\\(^\\|[^\\\\\n]\\)\\(\\\\\\\\\\)*\\);+ *")
(set-syntax-table srecode-template-mode-syntax-table)
(use-local-map srecode-template-mode-map)
(set (make-local-variable 'font-lock-defaults)
'(srecode-font-lock-keywords
nil ;; perform string/comment fontification
nil ;; keywords are case sensitive.
;; This puts _ & - as a word constituant,
;; simplifying our keywords significantly
((?_ . "w") (?- . "w"))))
(run-hooks 'srecode-template-mode-hook))
((?_ . "w") (?- . "w")))))
;;;###autoload
(defalias 'srt-mode 'srecode-template-mode)

View file

@ -4021,7 +4021,7 @@ true then the type of the file linked to by FILE is printed instead.
;;;***
;;;### (autoloads (dired-do-relsymlink dired-jump) "dired-x" "dired-x.el"
;;;;;; "27c312d6d5d40d8cb4ef8d62e30d5f4a")
;;;;;; "6181a5bcc2b61255676a7a41549b9f40")
;;; Generated autoloads from dired-x.el
(autoload 'dired-jump "dired-x" "\

View file

@ -1,7 +1,7 @@
;;; chart.el --- Draw charts (bar charts, etc)
;; Copyright (C) 1996, 1998, 1999, 2001, 2004, 2005, 2007, 2008, 2009,
;; 2010 Free Software Foundation, Inc.
;; 2010, 2011 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Version: 0.2
@ -62,17 +62,13 @@
(require 'eieio)
;;; Code:
(defvar chart-map (make-sparse-keymap) "Keymap used in chart mode.")
(defvar chart-mode-map (make-sparse-keymap) "Keymap used in chart mode.")
(define-obsolete-variable-alias 'chart-map 'chart-mode-map "24.1")
(defvar chart-local-object nil
"Local variable containing the locally displayed chart object.")
(make-variable-buffer-local 'chart-local-object)
(defvar chart-face-list nil
"Faces used to colorize charts.
List is limited currently, which is ok since you really can't display
too much in text characters anyways.")
(defvar chart-face-color-list '("red" "green" "blue"
"cyan" "yellow" "purple")
"Colors to use when generating `chart-face-list'.
@ -90,41 +86,42 @@ Useful if new Emacs is used on B&W display.")
:group 'eieio
:type 'boolean)
(if (and (if (fboundp 'display-color-p)
(display-color-p)
window-system)
(not chart-face-list))
(let ((cl chart-face-color-list)
(pl chart-face-pixmap-list)
nf)
(while cl
(setq nf (make-face (intern (concat "chart-" (car cl) "-" (car pl)))))
(if (condition-case nil
(> (x-display-color-cells) 4)
(error t))
(set-face-background nf (car cl))
(set-face-background nf "white"))
(set-face-foreground nf "black")
(if (and chart-face-use-pixmaps
pl
(fboundp 'set-face-background-pixmap))
(condition-case nil
(set-face-background-pixmap nf (car pl))
(error (message "Cannot set background pixmap %s" (car pl)))))
(setq chart-face-list (cons nf chart-face-list))
(setq cl (cdr cl)
pl (cdr pl)))))
(defvar chart-face-list
(if (if (fboundp 'display-color-p)
(display-color-p)
window-system)
(let ((cl chart-face-color-list)
(pl chart-face-pixmap-list)
(faces ())
nf)
(while cl
(setq nf (make-face
(intern (concat "chart-" (car cl) "-" (car pl)))))
(set-face-background nf (if (condition-case nil
(> (x-display-color-cells) 4)
(error t))
(car cl)
"white"))
(set-face-foreground nf "black")
(if (and chart-face-use-pixmaps
pl
(fboundp 'set-face-background-pixmap))
(condition-case nil
(set-face-background-pixmap nf (car pl))
(error (message "Cannot set background pixmap %s" (car pl)))))
(push nf faces)
(setq cl (cdr cl)
pl (cdr pl)))
faces))
"Faces used to colorize charts.
List is limited currently, which is ok since you really can't display
too much in text characters anyways.")
(defun chart-mode ()
(define-derived-mode chart-mode fundamental-mode "CHART"
"Define a mode in Emacs for displaying a chart."
(kill-all-local-variables)
(use-local-map chart-map)
(setq major-mode 'chart-mode
mode-name "CHART")
(buffer-disable-undo)
(set (make-local-variable 'font-lock-global-modes) nil)
(font-lock-mode -1)
(run-hooks 'chart-mode-hook)
(font-lock-mode -1) ;Isn't it off already? --Stef
)
(defun chart-new-buffer (obj)

View file

@ -1,3 +1,8 @@
2011-01-13 Stefan Monnier <monnier@iro.umontreal.ca>
* erc.el (erc-mode):
* erc-dcc.el (erc-dcc-chat-mode): Use define-derived-mode.
2010-11-11 Glenn Morris <rgm@gnu.org>
* erc-lang.el (erc-cmd-LANG): Fix what may have been a typo.
@ -25,17 +30,17 @@
2010-08-14 Vivek Dasmohapatra <vivek@etla.org>
* erc-join.el (erc-autojoin-timing, erc-autojoin-delay): New vars.
(erc-autojoin-channels-delayed, erc-autojoin-after-ident): New
functions.
(erc-autojoin-channels-delayed, erc-autojoin-after-ident):
New functions.
(erc-autojoin-channels): Allow autojoining after ident (Bug#5521).
2010-08-08 Fran Litterio <flitterio@gmail.com>
* erc-backend.el (erc-server-filter-function): Call
erc-log-irc-protocol.
* erc-backend.el (erc-server-filter-function):
Call erc-log-irc-protocol.
* erc.el (erc-toggle-debug-irc-protocol): Bind
erc-toggle-debug-irc-protocol to t.
* erc.el (erc-toggle-debug-irc-protocol):
Bind erc-toggle-debug-irc-protocol to t.
2010-05-07 Chong Yidong <cyd@stupidchicken.com>
@ -126,7 +131,7 @@
See ChangeLog.08 for earlier changes.
Copyright (C) 2009, 2010 Free Software Foundation, Inc.
Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
This file is part of GNU Emacs.

View file

@ -1,7 +1,7 @@
;;; erc-dcc.el --- CTCP DCC module for ERC
;; Copyright (C) 1993, 1994, 1995, 1998, 2002, 2003, 2004, 2006, 2007,
;; 2008, 2009, 2010 Free Software Foundation, Inc.
;; 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
;; Author: Ben A. Mesander <ben@gnu.ai.mit.edu>
;; Noah Friedman <friedman@prep.ai.mit.edu>
@ -1098,17 +1098,11 @@ Possible values are: ask, auto, ignore."
map)
"Keymap for `erc-dcc-mode'.")
(defun erc-dcc-chat-mode ()
(define-derived-mode erc-dcc-chat-mode fundamental-mode "DCC-Chat"
"Major mode for wasting time via DCC chat."
(interactive)
(kill-all-local-variables)
(setq mode-line-process '(":%s")
mode-name "DCC-Chat"
major-mode 'erc-dcc-chat-mode
erc-send-input-line-function 'erc-dcc-chat-send-input-line
erc-default-recipients '(dcc))
(use-local-map erc-dcc-chat-mode-map)
(run-hooks 'erc-dcc-chat-mode-hook))
erc-default-recipients '(dcc)))
(defun erc-dcc-chat-send-input-line (recipient line &optional force)
"Send LINE to the remote end.

View file

@ -1,7 +1,7 @@
;; erc.el --- An Emacs Internet Relay Chat client
;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
;; 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
;; 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
;; Author: Alexander L. Belikoff (alexander@belikoff.net)
;; Contributors: Sergey Berezin (sergey.berezin@cs.cmu.edu),
@ -1439,28 +1439,16 @@ Defaults to the server buffer."
;; Mode activation routines
(defun erc-mode ()
"Major mode for Emacs IRC.
Special commands:
\\{erc-mode-map}
Turning on `erc-mode' runs the hook `erc-mode-hook'."
(kill-all-local-variables)
(use-local-map erc-mode-map)
(setq mode-name "ERC"
major-mode 'erc-mode
local-abbrev-table erc-mode-abbrev-table)
(set-syntax-table erc-mode-syntax-table)
(define-derived-mode erc-mode fundamental-mode "ERC"
"Major mode for Emacs IRC."
(setq local-abbrev-table erc-mode-abbrev-table)
(when (boundp 'next-line-add-newlines)
(set (make-local-variable 'next-line-add-newlines) nil))
(setq line-move-ignore-invisible t)
(set (make-local-variable 'paragraph-separate)
(concat "\C-l\\|\\(^" (regexp-quote (erc-prompt)) "\\)"))
(set (make-local-variable 'paragraph-start)
(concat "\\(" (regexp-quote (erc-prompt)) "\\)"))
;; Run the mode hooks
(run-hooks 'erc-mode-hook))
(concat "\\(" (regexp-quote (erc-prompt)) "\\)")))
;; activation

View file

@ -1,6 +1,6 @@
;;; rcirc.el --- default, simple IRC client.
;; Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010
;; Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011
;; Free Software Foundation, Inc.
;; Author: Ryan Yeske
@ -895,6 +895,7 @@ Each element looks like (FILENAME . TEXT).")
This number is independent of the number of lines in the buffer.")
(defun rcirc-mode (process target)
;; FIXME: Use define-derived-mode.
"Major mode for IRC channel buffers.
\\{rcirc-mode-map}"
@ -973,7 +974,7 @@ This number is independent of the number of lines in the buffer.")
(add-hook 'completion-at-point-functions
'rcirc-completion-at-point nil 'local)
(run-hooks 'rcirc-mode-hook))
(run-mode-hooks 'rcirc-mode-hook))
(defun rcirc-update-prompt (&optional all)
"Reset the prompt string in the current buffer.

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,6 @@
;;; org-capture.el --- Fast note taking in Org-mode
;; Copyright (C) 2010 Free Software Foundation, Inc.
;; Copyright (C) 2010, 2011 Free Software Foundation, Inc.
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
@ -359,8 +359,7 @@ for a Remember buffer.")
nil " Rem" org-capture-mode-map
(org-set-local
'header-line-format
"Capture buffer. Finish `C-c C-c', refile `C-c C-w', abort `C-c C-k'.")
(run-hooks 'org-capture-mode-hook))
"Capture buffer. Finish `C-c C-c', refile `C-c C-w', abort `C-c C-k'."))
(define-key org-capture-mode-map "\C-c\C-c" 'org-capture-finalize)
(define-key org-capture-mode-map "\C-c\C-k" 'org-capture-kill)
(define-key org-capture-mode-map "\C-c\C-w" 'org-capture-refile)

View file

@ -1,6 +1,6 @@
;;; org-remember.el --- Fast note taking in Org-mode
;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010
;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
;; Free Software Foundation, Inc.
;; Author: Carsten Dominik <carsten at orgmode dot org>
@ -224,8 +224,7 @@ for a Remember buffer.")
(define-minor-mode org-remember-mode
"Minor mode for special key bindings in a remember buffer."
nil " Rem" org-remember-mode-map
(run-hooks 'org-remember-mode-hook))
nil " Rem" org-remember-mode-map)
(define-key org-remember-mode-map "\C-c\C-c" 'org-remember-finalize)
(define-key org-remember-mode-map "\C-c\C-k" 'org-remember-kill)

View file

@ -1,7 +1,7 @@
;;; recentf.el --- setup a menu of recently opened files
;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
;; 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
;; 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
;; Author: David Ponce <david@dponce.com>
;; Created: July 19 1999
@ -1355,11 +1355,7 @@ that were operated on recently."
(recentf-auto-cleanup)
(let ((hook-setup (if recentf-mode 'add-hook 'remove-hook)))
(dolist (hook recentf-used-hooks)
(apply hook-setup hook)))
(run-hooks 'recentf-mode-hook)
(when (called-interactively-p 'interactive)
(message "Recentf mode %sabled" (if recentf-mode "en" "dis"))))
recentf-mode)
(apply hook-setup hook)))))
(defun recentf-unload-function ()
"Unload the recentf library."

View file

@ -1,7 +1,7 @@
;;; speedbar --- quick access to files and tags in a frame
;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
;; 2005, 2006, 2007, 2008, 2009, 2010
;; 2005, 2006, 2007, 2008, 2009, 2010, 2011
;; Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
@ -515,7 +515,7 @@ hierarchy would be replaced with the new directory."
:type 'hook)
(defcustom speedbar-mode-hook nil
"Hooks called after creating a speedbar buffer."
"Hook run after creating a speedbar buffer."
:group 'speedbar
:type 'hook)
@ -769,99 +769,95 @@ to toggle this value.")
(defvar speedbar-update-flag-disable nil
"Permanently disable changing of the update flag.")
(defvar speedbar-syntax-table nil
(defvar speedbar-mode-syntax-table
(let ((st (make-syntax-table)))
;; Turn off paren matching around here.
(modify-syntax-entry ?\' " " st)
(modify-syntax-entry ?\" " " st)
(modify-syntax-entry ?\( " " st)
(modify-syntax-entry ?\) " " st)
(modify-syntax-entry ?\{ " " st)
(modify-syntax-entry ?\} " " st)
(modify-syntax-entry ?\[ " " st)
(modify-syntax-entry ?\] " " st)
st)
"Syntax-table used on the speedbar.")
(define-obsolete-variable-alias
'speedbar-syntax-table 'speedbar-mode-syntax-table "24.1")
(if speedbar-syntax-table
nil
(setq speedbar-syntax-table (make-syntax-table))
;; turn off paren matching around here.
(modify-syntax-entry ?\' " " speedbar-syntax-table)
(modify-syntax-entry ?\" " " speedbar-syntax-table)
(modify-syntax-entry ?( " " speedbar-syntax-table)
(modify-syntax-entry ?) " " speedbar-syntax-table)
(modify-syntax-entry ?{ " " speedbar-syntax-table)
(modify-syntax-entry ?} " " speedbar-syntax-table)
(modify-syntax-entry ?[ " " speedbar-syntax-table)
(modify-syntax-entry ?] " " speedbar-syntax-table))
(defvar speedbar-key-map nil
(defvar speedbar-mode-map
(let ((map (make-keymap)))
(suppress-keymap map t)
;; Control.
(define-key map "t" 'speedbar-toggle-updates)
(define-key map "g" 'speedbar-refresh)
;; Navigation.
(define-key map "n" 'speedbar-next)
(define-key map "p" 'speedbar-prev)
(define-key map "\M-n" 'speedbar-restricted-next)
(define-key map "\M-p" 'speedbar-restricted-prev)
(define-key map "\C-\M-n" 'speedbar-forward-list)
(define-key map "\C-\M-p" 'speedbar-backward-list)
;; These commands never seemed useful.
;; (define-key map " " 'speedbar-scroll-up)
;; (define-key map [delete] 'speedbar-scroll-down)
;; Short cuts I happen to find useful.
(define-key map "r"
(lambda () (interactive)
(speedbar-change-initial-expansion-list
speedbar-previously-used-expansion-list-name)))
(define-key map "b"
(lambda () (interactive)
(speedbar-change-initial-expansion-list "quick buffers")))
(define-key map "f"
(lambda () (interactive)
(speedbar-change-initial-expansion-list "files")))
(dframe-update-keymap map)
map)
"Keymap used in speedbar buffer.")
(if speedbar-key-map
nil
(setq speedbar-key-map (make-keymap))
(suppress-keymap speedbar-key-map t)
;; control
(define-key speedbar-key-map "t" 'speedbar-toggle-updates)
(define-key speedbar-key-map "g" 'speedbar-refresh)
;; navigation
(define-key speedbar-key-map "n" 'speedbar-next)
(define-key speedbar-key-map "p" 'speedbar-prev)
(define-key speedbar-key-map "\M-n" 'speedbar-restricted-next)
(define-key speedbar-key-map "\M-p" 'speedbar-restricted-prev)
(define-key speedbar-key-map "\C-\M-n" 'speedbar-forward-list)
(define-key speedbar-key-map "\C-\M-p" 'speedbar-backward-list)
;; These commands never seemed useful.
;; (define-key speedbar-key-map " " 'speedbar-scroll-up)
;; (define-key speedbar-key-map [delete] 'speedbar-scroll-down)
;; Short cuts I happen to find useful
(define-key speedbar-key-map "r"
(lambda () (interactive)
(speedbar-change-initial-expansion-list
speedbar-previously-used-expansion-list-name)))
(define-key speedbar-key-map "b"
(lambda () (interactive)
(speedbar-change-initial-expansion-list "quick buffers")))
(define-key speedbar-key-map "f"
(lambda () (interactive)
(speedbar-change-initial-expansion-list "files")))
(dframe-update-keymap speedbar-key-map)
)
(define-obsolete-variable-alias 'speedbar-key-map 'speedbar-mode-map "24.1")
(defun speedbar-make-specialized-keymap ()
"Create a keymap for use with a speedbar major or minor display mode.
This basically creates a sparse keymap, and makes its parent be
`speedbar-key-map'."
`speedbar-mode-map'."
(let ((k (make-sparse-keymap)))
(set-keymap-parent k speedbar-key-map)
(set-keymap-parent k speedbar-mode-map)
k))
(defvar speedbar-file-key-map nil
(defvar speedbar-file-key-map
(let ((map (speedbar-make-specialized-keymap)))
;; Basic tree features.
(define-key map "e" 'speedbar-edit-line)
(define-key map "\C-m" 'speedbar-edit-line)
(define-key map "+" 'speedbar-expand-line)
(define-key map "=" 'speedbar-expand-line)
(define-key map "-" 'speedbar-contract-line)
(define-key map "[" 'speedbar-expand-line-descendants)
(define-key map "]" 'speedbar-contract-line-descendants)
(define-key map " " 'speedbar-toggle-line-expansion)
;; File based commands.
(define-key map "U" 'speedbar-up-directory)
(define-key map "I" 'speedbar-item-info)
(define-key map "B" 'speedbar-item-byte-compile)
(define-key map "L" 'speedbar-item-load)
(define-key map "C" 'speedbar-item-copy)
(define-key map "D" 'speedbar-item-delete)
(define-key map "O" 'speedbar-item-object-delete)
(define-key map "R" 'speedbar-item-rename)
(define-key map "M" 'speedbar-create-directory)
map)
"Keymap used in speedbar buffer while files are displayed.")
(if speedbar-file-key-map
nil
(setq speedbar-file-key-map (speedbar-make-specialized-keymap))
;; Basic tree features
(define-key speedbar-file-key-map "e" 'speedbar-edit-line)
(define-key speedbar-file-key-map "\C-m" 'speedbar-edit-line)
(define-key speedbar-file-key-map "+" 'speedbar-expand-line)
(define-key speedbar-file-key-map "=" 'speedbar-expand-line)
(define-key speedbar-file-key-map "-" 'speedbar-contract-line)
(define-key speedbar-file-key-map "[" 'speedbar-expand-line-descendants)
(define-key speedbar-file-key-map "]" 'speedbar-contract-line-descendants)
(define-key speedbar-file-key-map " " 'speedbar-toggle-line-expansion)
;; file based commands
(define-key speedbar-file-key-map "U" 'speedbar-up-directory)
(define-key speedbar-file-key-map "I" 'speedbar-item-info)
(define-key speedbar-file-key-map "B" 'speedbar-item-byte-compile)
(define-key speedbar-file-key-map "L" 'speedbar-item-load)
(define-key speedbar-file-key-map "C" 'speedbar-item-copy)
(define-key speedbar-file-key-map "D" 'speedbar-item-delete)
(define-key speedbar-file-key-map "O" 'speedbar-item-object-delete)
(define-key speedbar-file-key-map "R" 'speedbar-item-rename)
(define-key speedbar-file-key-map "M" 'speedbar-create-directory)
)
(defvar speedbar-easymenu-definition-base
(append
'("Speedbar"
@ -1080,7 +1076,7 @@ selected. If the speedbar frame is active, then select the attached frame."
Return nil if it doesn't exist."
(frame-width speedbar-frame))
(defun speedbar-mode ()
(define-derived-mode speedbar-mode fundamental-mode "Speedbar"
"Major mode for managing a display of directories and tags.
\\<speedbar-key-map>
The first line represents the default directory of the speedbar frame.
@ -1120,12 +1116,7 @@ tags start with >. Click the name of the tag to go to that position
in the selected file.
\\{speedbar-key-map}"
;; NOT interactive
(save-excursion
(kill-all-local-variables)
(setq major-mode 'speedbar-mode)
(setq mode-name "Speedbar")
(set-syntax-table speedbar-syntax-table)
(setq font-lock-keywords nil) ;; no font-locking please
(setq truncate-lines t)
(make-local-variable 'frame-title-format)
@ -1138,8 +1129,7 @@ in the selected file.
(setq dframe-track-mouse-function #'speedbar-track-mouse))
(setq dframe-help-echo-function #'speedbar-item-info
dframe-mouse-click-function #'speedbar-click
dframe-mouse-position-function #'speedbar-position-cursor-on-line)
(run-hooks 'speedbar-mode-hook))
dframe-mouse-position-function #'speedbar-position-cursor-on-line))
speedbar-buffer)
(defmacro speedbar-message (fmt &rest args)

View file

@ -1,7 +1,7 @@
;;; reftex-index.el --- index support with RefTeX
;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
;; 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
;; 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@science.uva.nl>
;; Maintainer: auctex-devel@gnu.org
@ -275,8 +275,111 @@ will prompt for other arguments."
(and newtag (cdr cell) (not (member newtag (cdr cell)))
(push newtag (cdr cell)))))
(defvar reftex-index-map (make-sparse-keymap)
(defvar reftex-index-mode-map
(let ((map (make-sparse-keymap)))
;; Index map
(define-key map (if (featurep 'xemacs) [(button2)] [(mouse-2)])
'reftex-index-mouse-goto-line-and-hide)
(define-key map [follow-link] 'mouse-face)
(substitute-key-definition
'next-line 'reftex-index-next map global-map)
(substitute-key-definition
'previous-line 'reftex-index-previous map global-map)
(loop for x in
'(("n" . reftex-index-next)
("p" . reftex-index-previous)
("?" . reftex-index-show-help)
(" " . reftex-index-view-entry)
("\C-m" . reftex-index-goto-entry-and-hide)
("\C-i" . reftex-index-goto-entry)
("\C-k" . reftex-index-kill)
("r" . reftex-index-rescan)
("R" . reftex-index-Rescan)
("g" . revert-buffer)
("q" . reftex-index-quit)
("k" . reftex-index-quit-and-kill)
("f" . reftex-index-toggle-follow)
("s" . reftex-index-switch-index-tag)
("e" . reftex-index-edit)
("^" . reftex-index-level-up)
("_" . reftex-index-level-down)
("}" . reftex-index-restrict-to-section)
("{" . reftex-index-widen)
(">" . reftex-index-restriction-forward)
("<" . reftex-index-restriction-backward)
("(" . reftex-index-toggle-range-beginning)
(")" . reftex-index-toggle-range-end)
("|" . reftex-index-edit-attribute)
("@" . reftex-index-edit-visual)
("*" . reftex-index-edit-key)
("\C-c=". reftex-index-goto-toc)
("c" . reftex-index-toggle-context))
do (define-key map (car x) (cdr x)))
(loop for key across "0123456789" do
(define-key map (vector (list key)) 'digit-argument))
(define-key map "-" 'negative-argument)
;; The capital letters and the exclamation mark
(loop for key across (concat "!" reftex-index-section-letters) do
(define-key map (vector (list key))
(list 'lambda '() '(interactive)
(list 'reftex-index-goto-letter key))))
(easy-menu-define reftex-index-menu map
"Menu for Index buffer"
'("Index"
["Goto section A-Z"
(message "To go to a section, just press any of: !%s"
reftex-index-section-letters) t]
["Show Entry" reftex-index-view-entry t]
["Go To Entry" reftex-index-goto-entry t]
["Exit & Go To Entry" reftex-index-goto-entry-and-hide t]
["Table of Contents" reftex-index-goto-toc t]
["Quit" reftex-index-quit t]
"--"
("Update"
["Rebuilt *Index* Buffer" revert-buffer t]
"--"
["Rescan One File" reftex-index-rescan reftex-enable-partial-scans]
["Rescan Entire Document" reftex-index-Rescan t])
("Restrict"
["Restrict to section" reftex-index-restrict-to-section t]
["Widen" reftex-index-widen reftex-index-restriction-indicator]
["Next Section" reftex-index-restriction-forward
reftex-index-restriction-indicator]
["Previous Section" reftex-index-restriction-backward
reftex-index-restriction-indicator])
("Edit"
["Edit Entry" reftex-index-edit t]
["Edit Key" reftex-index-edit-key t]
["Edit Attribute" reftex-index-edit-attribute t]
["Edit Visual" reftex-index-edit-visual t]
"--"
["Add Parentkey" reftex-index-level-down t]
["Remove Parentkey " reftex-index-level-up t]
"--"
["Make Start-of-Range" reftex-index-toggle-range-beginning t]
["Make End-of-Range" reftex-index-toggle-range-end t]
"--"
["Kill Entry" reftex-index-kill nil]
"--"
["Undo" reftex-index-undo nil])
("Options"
["Context" reftex-index-toggle-context :style toggle
:selected reftex-index-include-context]
"--"
["Follow Mode" reftex-index-toggle-follow :style toggle
:selected reftex-index-follow-mode])
"--"
["Help" reftex-index-show-help t]))
map)
"Keymap used for *Index* buffers.")
(define-obsolete-variable-alias
'reftex-index-map 'reftex-index-mode-map "24.1")
(defvar reftex-index-menu)
@ -291,19 +394,14 @@ will prompt for other arguments."
(defvar reftex-index-restriction-indicator nil)
(defvar reftex-index-restriction-data nil)
(defun reftex-index-mode ()
(define-derived-mode reftex-index-mode fundamental-mode "RefTeX Index"
"Major mode for managing Index buffers for LaTeX files.
This buffer was created with RefTeX.
Press `?' for a summary of important key bindings, or check the menu.
Here are all local bindings.
\\{reftex-index-map}"
(interactive)
(kill-all-local-variables)
(setq major-mode 'reftex-index-mode
mode-name "RefTeX Index")
(use-local-map reftex-index-map)
\\{reftex-index-mode-map}"
(set (make-local-variable 'revert-buffer-function) 'reftex-index-revert)
(set (make-local-variable 'reftex-index-restriction-data) nil)
(set (make-local-variable 'reftex-index-restriction-indicator) nil)
@ -318,10 +416,9 @@ Here are all local bindings.
(make-local-hook 'post-command-hook)
(make-local-hook 'pre-command-hook))
(make-local-variable 'reftex-last-follow-point)
(easy-menu-add reftex-index-menu reftex-index-map)
(easy-menu-add reftex-index-menu reftex-index-mode-map)
(add-hook 'post-command-hook 'reftex-index-post-command-hook nil t)
(add-hook 'pre-command-hook 'reftex-index-pre-command-hook nil t)
(run-hooks 'reftex-index-mode-hook))
(add-hook 'pre-command-hook 'reftex-index-pre-command-hook nil t))
(defconst reftex-index-help
" AVAILABLE KEYS IN INDEX BUFFER
@ -1032,57 +1129,6 @@ When index is restricted, select the previous section as restriction criterion."
(setq reftex-last-follow-point 1)
(and message (message "%s" message))))
;; Index map
(define-key reftex-index-map (if (featurep 'xemacs) [(button2)] [(mouse-2)])
'reftex-index-mouse-goto-line-and-hide)
(define-key reftex-index-map [follow-link] 'mouse-face)
(substitute-key-definition
'next-line 'reftex-index-next reftex-index-map global-map)
(substitute-key-definition
'previous-line 'reftex-index-previous reftex-index-map global-map)
(loop for x in
'(("n" . reftex-index-next)
("p" . reftex-index-previous)
("?" . reftex-index-show-help)
(" " . reftex-index-view-entry)
("\C-m" . reftex-index-goto-entry-and-hide)
("\C-i" . reftex-index-goto-entry)
("\C-k" . reftex-index-kill)
("r" . reftex-index-rescan)
("R" . reftex-index-Rescan)
("g" . revert-buffer)
("q" . reftex-index-quit)
("k" . reftex-index-quit-and-kill)
("f" . reftex-index-toggle-follow)
("s" . reftex-index-switch-index-tag)
("e" . reftex-index-edit)
("^" . reftex-index-level-up)
("_" . reftex-index-level-down)
("}" . reftex-index-restrict-to-section)
("{" . reftex-index-widen)
(">" . reftex-index-restriction-forward)
("<" . reftex-index-restriction-backward)
("(" . reftex-index-toggle-range-beginning)
(")" . reftex-index-toggle-range-end)
("|" . reftex-index-edit-attribute)
("@" . reftex-index-edit-visual)
("*" . reftex-index-edit-key)
("\C-c=". reftex-index-goto-toc)
("c" . reftex-index-toggle-context))
do (define-key reftex-index-map (car x) (cdr x)))
(loop for key across "0123456789" do
(define-key reftex-index-map (vector (list key)) 'digit-argument))
(define-key reftex-index-map "-" 'negative-argument)
;; The capital letters and the exclamation mark
(loop for key across (concat "!" reftex-index-section-letters) do
(define-key reftex-index-map (vector (list key))
(list 'lambda '() '(interactive)
(list 'reftex-index-goto-letter key))))
(defun reftex-index-goto-letter (char)
"Go to the CHAR section in the index."
(let ((pos (point))
@ -1101,55 +1147,6 @@ When index is restricted, select the previous section as restriction criterion."
(error "This <%s> index does not contain entries starting with `%c'"
reftex-index-tag char)))))
(easy-menu-define
reftex-index-menu reftex-index-map
"Menu for Index buffer"
`("Index"
["Goto section A-Z"
(message "To go to a section, just press any of: !%s"
reftex-index-section-letters) t]
["Show Entry" reftex-index-view-entry t]
["Go To Entry" reftex-index-goto-entry t]
["Exit & Go To Entry" reftex-index-goto-entry-and-hide t]
["Table of Contents" reftex-index-goto-toc t]
["Quit" reftex-index-quit t]
"--"
("Update"
["Rebuilt *Index* Buffer" revert-buffer t]
"--"
["Rescan One File" reftex-index-rescan reftex-enable-partial-scans]
["Rescan Entire Document" reftex-index-Rescan t])
("Restrict"
["Restrict to section" reftex-index-restrict-to-section t]
["Widen" reftex-index-widen reftex-index-restriction-indicator]
["Next Section" reftex-index-restriction-forward
reftex-index-restriction-indicator]
["Previous Section" reftex-index-restriction-backward
reftex-index-restriction-indicator])
("Edit"
["Edit Entry" reftex-index-edit t]
["Edit Key" reftex-index-edit-key t]
["Edit Attribute" reftex-index-edit-attribute t]
["Edit Visual" reftex-index-edit-visual t]
"--"
["Add Parentkey" reftex-index-level-down t]
["Remove Parentkey " reftex-index-level-up t]
"--"
["Make Start-of-Range" reftex-index-toggle-range-beginning t]
["Make End-of-Range" reftex-index-toggle-range-end t]
"--"
["Kill Entry" reftex-index-kill nil]
"--"
["Undo" reftex-index-undo nil])
("Options"
["Context" reftex-index-toggle-context :style toggle
:selected reftex-index-include-context]
"--"
["Follow Mode" reftex-index-toggle-follow :style toggle
:selected reftex-index-follow-mode])
"--"
["Help" reftex-index-show-help t]))
;;----------------------------------------------------------------------
;; The Index Phrases File
@ -1183,8 +1180,73 @@ This gets refreshed in every phrases command.")
"Font lock keywords for reftex-index-phrases-mode.")
(defvar reftex-index-phrases-font-lock-defaults nil
"Font lock defaults for reftex-index-phrases-mode.")
(defvar reftex-index-phrases-map (make-sparse-keymap)
(defvar reftex-index-phrases-mode-map
(let ((map (make-sparse-keymap)))
;; Keybindings and Menu for phrases buffer
(loop for x in
'(("\C-c\C-c" . reftex-index-phrases-save-and-return)
("\C-c\C-x" . reftex-index-this-phrase)
("\C-c\C-f" . reftex-index-next-phrase)
("\C-c\C-r" . reftex-index-region-phrases)
("\C-c\C-a" . reftex-index-all-phrases)
("\C-c\C-d" . reftex-index-remaining-phrases)
("\C-c\C-s" . reftex-index-sort-phrases)
("\C-c\C-n" . reftex-index-new-phrase)
("\C-c\C-m" . reftex-index-phrases-set-macro-key)
("\C-c\C-i" . reftex-index-phrases-info)
("\C-c\C-t" . reftex-index-find-next-conflict-phrase)
("\C-i" . self-insert-command))
do (define-key map (car x) (cdr x)))
(easy-menu-define reftex-index-phrases-menu map
"Menu for Phrases buffer"
'("Phrases"
["New Phrase" reftex-index-new-phrase t]
["Set Phrase Macro" reftex-index-phrases-set-macro-key t]
["Recreate File Header" reftex-index-initialize-phrases-buffer t]
"--"
("Sort Phrases"
["Sort" reftex-index-sort-phrases t]
"--"
"Sort Options"
["by Search Phrase" (setq reftex-index-phrases-sort-prefers-entry nil)
:style radio :selected (not reftex-index-phrases-sort-prefers-entry)]
["by Index Entry" (setq reftex-index-phrases-sort-prefers-entry t)
:style radio :selected reftex-index-phrases-sort-prefers-entry]
["in Blocks" (setq reftex-index-phrases-sort-in-blocks
(not reftex-index-phrases-sort-in-blocks))
:style toggle :selected reftex-index-phrases-sort-in-blocks])
["Describe Phrase" reftex-index-phrases-info t]
["Next Phrase Conflict" reftex-index-find-next-conflict-phrase t]
"--"
("Find and Index in Document"
["Current Phrase" reftex-index-this-phrase t]
["Next Phrase" reftex-index-next-phrase t]
["Current and Following" reftex-index-remaining-phrases t]
["Region Phrases" reftex-index-region-phrases t]
["All Phrases" reftex-index-all-phrases t]
"--"
"Options"
["Match Whole Words" (setq reftex-index-phrases-search-whole-words
(not reftex-index-phrases-search-whole-words))
:style toggle :selected reftex-index-phrases-search-whole-words]
["Case Sensitive Search" (setq reftex-index-phrases-case-fold-search
(not reftex-index-phrases-case-fold-search))
:style toggle :selected (not
reftex-index-phrases-case-fold-search)]
["Wrap Long Lines" (setq reftex-index-phrases-wrap-long-lines
(not reftex-index-phrases-wrap-long-lines))
:style toggle :selected reftex-index-phrases-wrap-long-lines]
["Skip Indexed Matches" (setq reftex-index-phrases-skip-indexed-matches
(not reftex-index-phrases-skip-indexed-matches))
:style toggle :selected reftex-index-phrases-skip-indexed-matches])
"--"
["Save and Return" reftex-index-phrases-save-and-return t]))
map)
"Keymap used for *toc* buffer.")
(define-obsolete-variable-alias
'reftex-index-phrases-map 'reftex-index-phrases-mode-map "24.1")
(defun reftex-index-phrase-selection-or-word (arg)
@ -1288,7 +1350,7 @@ If the buffer is non-empty, delete the old header first."
(defvar reftex-index-phrases-marker)
(defvar reftex-index-phrases-restrict-file nil)
;;;###autoload
(defun reftex-index-phrases-mode ()
(define-derived-mode reftex-index-phrases-mode fundamental-mode "Phrases"
"Major mode for managing the Index phrases of a LaTeX document.
This buffer was created with RefTeX.
@ -1311,18 +1373,12 @@ For more information see the RefTeX User Manual.
Here are all local bindings.
\\{reftex-index-phrases-map}"
(interactive)
(kill-all-local-variables)
(setq major-mode 'reftex-index-phrases-mode
mode-name "Phrases")
(use-local-map reftex-index-phrases-map)
\\{reftex-index-phrases-mode-map}"
(set (make-local-variable 'font-lock-defaults)
reftex-index-phrases-font-lock-defaults)
(easy-menu-add reftex-index-phrases-menu reftex-index-phrases-map)
(set (make-local-variable 'reftex-index-phrases-marker) (make-marker))
(run-hooks 'reftex-index-phrases-mode-hook))
(add-hook 'reftex-index-phrases-mode-hook 'turn-on-font-lock)
(easy-menu-add reftex-index-phrases-menu reftex-index-phrases-mode-map)
(set (make-local-variable 'reftex-index-phrases-marker) (make-marker)))
;; (add-hook 'reftex-index-phrases-mode-hook 'turn-on-font-lock)
;; Font Locking stuff
(let ((ss (if (featurep 'xemacs) 'secondary-selection ''secondary-selection)))
@ -2040,68 +2096,5 @@ Does not do a save-excursion."
reftex-index-phrases-macro-data "\n"))))
(reftex-select-with-char prompt help delay)))
;; Keybindings and Menu for phrases buffer
(loop for x in
'(("\C-c\C-c" . reftex-index-phrases-save-and-return)
("\C-c\C-x" . reftex-index-this-phrase)
("\C-c\C-f" . reftex-index-next-phrase)
("\C-c\C-r" . reftex-index-region-phrases)
("\C-c\C-a" . reftex-index-all-phrases)
("\C-c\C-d" . reftex-index-remaining-phrases)
("\C-c\C-s" . reftex-index-sort-phrases)
("\C-c\C-n" . reftex-index-new-phrase)
("\C-c\C-m" . reftex-index-phrases-set-macro-key)
("\C-c\C-i" . reftex-index-phrases-info)
("\C-c\C-t" . reftex-index-find-next-conflict-phrase)
("\C-i" . self-insert-command))
do (define-key reftex-index-phrases-map (car x) (cdr x)))
(easy-menu-define
reftex-index-phrases-menu reftex-index-phrases-map
"Menu for Phrases buffer"
'("Phrases"
["New Phrase" reftex-index-new-phrase t]
["Set Phrase Macro" reftex-index-phrases-set-macro-key t]
["Recreate File Header" reftex-index-initialize-phrases-buffer t]
"--"
("Sort Phrases"
["Sort" reftex-index-sort-phrases t]
"--"
"Sort Options"
["by Search Phrase" (setq reftex-index-phrases-sort-prefers-entry nil)
:style radio :selected (not reftex-index-phrases-sort-prefers-entry)]
["by Index Entry" (setq reftex-index-phrases-sort-prefers-entry t)
:style radio :selected reftex-index-phrases-sort-prefers-entry]
["in Blocks" (setq reftex-index-phrases-sort-in-blocks
(not reftex-index-phrases-sort-in-blocks))
:style toggle :selected reftex-index-phrases-sort-in-blocks])
["Describe Phrase" reftex-index-phrases-info t]
["Next Phrase Conflict" reftex-index-find-next-conflict-phrase t]
"--"
("Find and Index in Document"
["Current Phrase" reftex-index-this-phrase t]
["Next Phrase" reftex-index-next-phrase t]
["Current and Following" reftex-index-remaining-phrases t]
["Region Phrases" reftex-index-region-phrases t]
["All Phrases" reftex-index-all-phrases t]
"--"
"Options"
["Match Whole Words" (setq reftex-index-phrases-search-whole-words
(not reftex-index-phrases-search-whole-words))
:style toggle :selected reftex-index-phrases-search-whole-words]
["Case Sensitive Search" (setq reftex-index-phrases-case-fold-search
(not reftex-index-phrases-case-fold-search))
:style toggle :selected (not
reftex-index-phrases-case-fold-search)]
["Wrap Long Lines" (setq reftex-index-phrases-wrap-long-lines
(not reftex-index-phrases-wrap-long-lines))
:style toggle :selected reftex-index-phrases-wrap-long-lines]
["Skip Indexed Matches" (setq reftex-index-phrases-skip-indexed-matches
(not reftex-index-phrases-skip-indexed-matches))
:style toggle :selected reftex-index-phrases-skip-indexed-matches])
"--"
["Save and Return" reftex-index-phrases-save-and-return t]))
;;; reftex-index.el ends here

View file

@ -1,7 +1,7 @@
;;; reftex-sel.el --- the selection modes for RefTeX
;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
;; 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
;; 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@science.uva.nl>
;; Maintainer: auctex-devel@gnu.org
@ -32,12 +32,81 @@
(require 'reftex)
;;;
(defvar reftex-select-label-map nil
;; Common bindings in reftex-select-label-mode-map
;; and reftex-select-bib-mode-map.
(defvar reftex-select-shared-map
(let ((map (make-sparse-keymap)))
(substitute-key-definition
'next-line 'reftex-select-next map global-map)
(substitute-key-definition
'previous-line 'reftex-select-previous map global-map)
(substitute-key-definition
'keyboard-quit 'reftex-select-keyboard-quit map global-map)
(substitute-key-definition
'newline 'reftex-select-accept map global-map)
(loop for x in
'((" " . reftex-select-callback)
("n" . reftex-select-next)
([(down)] . reftex-select-next)
("p" . reftex-select-previous)
([(up)] . reftex-select-previous)
("f" . reftex-select-toggle-follow)
("\C-m" . reftex-select-accept)
([(return)] . reftex-select-accept)
("q" . reftex-select-quit)
("." . reftex-select-show-insertion-point)
("?" . reftex-select-help))
do (define-key map (car x) (cdr x)))
;; The mouse-2 binding
(if (featurep 'xemacs)
(define-key map [(button2)] 'reftex-select-mouse-accept)
(define-key map [(mouse-2)] 'reftex-select-mouse-accept)
(define-key map [follow-link] 'mouse-face))
;; Digit arguments
(loop for key across "0123456789" do
(define-key map (vector (list key)) 'digit-argument))
(define-key map "-" 'negative-argument)
map))
(defvar reftex-select-label-mode-map
(let ((map (make-sparse-keymap)))
(set-keymap-parent map reftex-select-shared-map)
(loop for key across "aAcgFlrRstx#%" do
(define-key map (vector (list key))
(list 'lambda '()
"Press `?' during selection to find out about this key."
'(interactive) (list 'throw '(quote myexit) key))))
(loop for x in
'(("b" . reftex-select-jump-to-previous)
("z" . reftex-select-jump)
("v" . reftex-select-toggle-varioref)
("V" . reftex-select-toggle-fancyref)
("m" . reftex-select-mark)
("u" . reftex-select-unmark)
("," . reftex-select-mark-comma)
("-" . reftex-select-mark-to)
("+" . reftex-select-mark-and)
([(tab)] . reftex-select-read-label)
("\C-i" . reftex-select-read-label)
("\C-c\C-n" . reftex-select-next-heading)
("\C-c\C-p" . reftex-select-previous-heading))
do
(define-key map (car x) (cdr x)))
map)
"Keymap used for *RefTeX Select* buffer, when selecting a label.
This keymap can be used to configure the label selection process which is
started with the command \\[reftex-reference].")
(define-obsolete-variable-alias
'reftex-select-label-map 'reftex-select-label-mode-map "24.1")
(defun reftex-select-label-mode ()
(define-derived-mode reftex-select-label-mode fundamental-mode "LSelect"
"Major mode for selecting a label in a LaTeX document.
This buffer was created with RefTeX.
It only has a meaningful keymap when you are in the middle of a
@ -47,28 +116,42 @@ Press `?' for a summary of important key bindings.
During a selection process, these are the local bindings.
\\{reftex-select-label-map}"
(interactive)
(kill-all-local-variables)
\\{reftex-select-label-mode-map}"
(when (featurep 'xemacs)
;; XEmacs needs the call to make-local-hook
(make-local-hook 'pre-command-hook)
(make-local-hook 'post-command-hook))
(setq major-mode 'reftex-select-label-mode
mode-name "LSelect")
(set (make-local-variable 'reftex-select-marked) nil)
(when (syntax-table-p reftex-latex-syntax-table)
(set-syntax-table reftex-latex-syntax-table))
;; We do not set a local map - reftex-select-item does this.
(run-hooks 'reftex-select-label-mode-hook))
)
(defvar reftex-select-bib-map nil
(defvar reftex-select-bib-mode-map
(let ((map (make-sparse-keymap)))
(set-keymap-parent map reftex-select-shared-map)
(loop for key across "grRaAeE" do
(define-key map (vector (list key))
(list 'lambda '()
"Press `?' during selection to find out about this key."
'(interactive) (list 'throw '(quote myexit) key))))
(loop for x in
'(("\C-i" . reftex-select-read-cite)
([(tab)] . reftex-select-read-cite)
("m" . reftex-select-mark)
("u" . reftex-select-unmark))
do (define-key map (car x) (cdr x)))
map)
"Keymap used for *RefTeX Select* buffer, when selecting a BibTeX entry.
This keymap can be used to configure the BibTeX selection process which is
started with the command \\[reftex-citation].")
(define-obsolete-variable-alias
'reftex-select-bib-map 'reftex-select-bib-mode-map "24.1")
(defun reftex-select-bib-mode ()
(define-derived-mode reftex-select-bib-mode fundamental-mode "BSelect"
"Major mode for selecting a citation key in a LaTeX document.
This buffer was created with RefTeX.
It only has a meaningful keymap when you are in the middle of a
@ -78,18 +161,14 @@ Press `?' for a summary of important key bindings.
During a selection process, these are the local bindings.
\\{reftex-select-label-map}"
(interactive)
(kill-all-local-variables)
\\{reftex-select-label-mode-map}"
(when (featurep 'xemacs)
;; XEmacs needs the call to make-local-hook
(make-local-hook 'pre-command-hook)
(make-local-hook 'post-command-hook))
(setq major-mode 'reftex-select-bib-mode
mode-name "BSelect")
(set (make-local-variable 'reftex-select-marked) nil)
;; We do not set a local map - reftex-select-item does this.
(run-hooks 'reftex-select-bib-mode-hook))
)
;; (defun reftex-get-offset (buf here-am-I &optional typekey toc index file)
;; ;; Find the correct offset data, like insert-docstruct would, but faster.
@ -657,84 +736,4 @@ Useful for large TOC's."
(princ help-string))
(reftex-enlarge-to-fit "*RefTeX Help*" t))
;; Common bindings in reftex-select-label-map and reftex-select-bib-map
(let ((map (make-sparse-keymap)))
(substitute-key-definition
'next-line 'reftex-select-next map global-map)
(substitute-key-definition
'previous-line 'reftex-select-previous map global-map)
(substitute-key-definition
'keyboard-quit 'reftex-select-keyboard-quit map global-map)
(substitute-key-definition
'newline 'reftex-select-accept map global-map)
(loop for x in
'((" " . reftex-select-callback)
("n" . reftex-select-next)
([(down)] . reftex-select-next)
("p" . reftex-select-previous)
([(up)] . reftex-select-previous)
("f" . reftex-select-toggle-follow)
("\C-m" . reftex-select-accept)
([(return)] . reftex-select-accept)
("q" . reftex-select-quit)
("." . reftex-select-show-insertion-point)
("?" . reftex-select-help))
do (define-key map (car x) (cdr x)))
;; The mouse-2 binding
(if (featurep 'xemacs)
(define-key map [(button2)] 'reftex-select-mouse-accept)
(define-key map [(mouse-2)] 'reftex-select-mouse-accept)
(define-key map [follow-link] 'mouse-face))
;; Digit arguments
(loop for key across "0123456789" do
(define-key map (vector (list key)) 'digit-argument))
(define-key map "-" 'negative-argument)
;; Make two maps
(setq reftex-select-label-map map)
(setq reftex-select-bib-map (copy-keymap map)))
;; Specific bindings in reftex-select-label-map
(loop for key across "aAcgFlrRstx#%" do
(define-key reftex-select-label-map (vector (list key))
(list 'lambda '()
"Press `?' during selection to find out about this key."
'(interactive) (list 'throw '(quote myexit) key))))
(loop for x in
'(("b" . reftex-select-jump-to-previous)
("z" . reftex-select-jump)
("v" . reftex-select-toggle-varioref)
("V" . reftex-select-toggle-fancyref)
("m" . reftex-select-mark)
("u" . reftex-select-unmark)
("," . reftex-select-mark-comma)
("-" . reftex-select-mark-to)
("+" . reftex-select-mark-and)
([(tab)] . reftex-select-read-label)
("\C-i" . reftex-select-read-label)
("\C-c\C-n" . reftex-select-next-heading)
("\C-c\C-p" . reftex-select-previous-heading))
do
(define-key reftex-select-label-map (car x) (cdr x)))
;; Specific bindings in reftex-select-bib-map
(loop for key across "grRaAeE" do
(define-key reftex-select-bib-map (vector (list key))
(list 'lambda '()
"Press `?' during selection to find out about this key."
'(interactive) (list 'throw '(quote myexit) key))))
(loop for x in
'(("\C-i" . reftex-select-read-cite)
([(tab)] . reftex-select-read-cite)
("m" . reftex-select-mark)
("u" . reftex-select-unmark))
do (define-key reftex-select-bib-map (car x) (cdr x)))
;;; reftex-sel.el ends here

View file

@ -1,7 +1,7 @@
;;; reftex-toc.el --- RefTeX's table of contents mode
;; Copyright (C) 1997, 1998, 1999, 2000, 2003, 2004, 2005, 2006, 2007,
;; 2008, 2009, 2010 Free Software Foundation, Inc.
;; 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@science.uva.nl>
;; Maintainer: auctex-devel@gnu.org
@ -32,8 +32,98 @@
(require 'reftex)
;;;
(defvar reftex-toc-map (make-sparse-keymap)
(defvar reftex-toc-mode-map
(let ((map (make-sparse-keymap)))
(define-key map (if (featurep 'xemacs) [(button2)] [(mouse-2)])
'reftex-toc-mouse-goto-line-and-hide)
(define-key map [follow-link] 'mouse-face)
(substitute-key-definition
'next-line 'reftex-toc-next map global-map)
(substitute-key-definition
'previous-line 'reftex-toc-previous map global-map)
(loop for x in
'(("n" . reftex-toc-next)
("p" . reftex-toc-previous)
("?" . reftex-toc-show-help)
(" " . reftex-toc-view-line)
("\C-m" . reftex-toc-goto-line-and-hide)
("\C-i" . reftex-toc-goto-line)
("\C-c>" . reftex-toc-display-index)
("r" . reftex-toc-rescan)
("R" . reftex-toc-Rescan)
("g" . revert-buffer)
("q" . reftex-toc-quit) ;
("k" . reftex-toc-quit-and-kill)
("f" . reftex-toc-toggle-follow) ;
("a" . reftex-toggle-auto-toc-recenter)
("d" . reftex-toc-toggle-dedicated-frame)
("F" . reftex-toc-toggle-file-boundary)
("i" . reftex-toc-toggle-index)
("l" . reftex-toc-toggle-labels)
("t" . reftex-toc-max-level)
("c" . reftex-toc-toggle-context)
;; ("%" . reftex-toc-toggle-commented)
("\M-%" . reftex-toc-rename-label)
("x" . reftex-toc-external)
("z" . reftex-toc-jump)
("." . reftex-toc-show-calling-point)
("\C-c\C-n" . reftex-toc-next-heading)
("\C-c\C-p" . reftex-toc-previous-heading)
(">" . reftex-toc-demote)
("<" . reftex-toc-promote))
do (define-key map (car x) (cdr x)))
(loop for key across "0123456789" do
(define-key map (vector (list key)) 'digit-argument))
(define-key map "-" 'negative-argument)
(easy-menu-define
reftex-toc-menu map
"Menu for Table of Contents buffer"
'("TOC"
["Show Location" reftex-toc-view-line t]
["Go To Location" reftex-toc-goto-line t]
["Exit & Go To Location" reftex-toc-goto-line-and-hide t]
["Show Calling Point" reftex-toc-show-calling-point t]
["Quit" reftex-toc-quit t]
"--"
("Edit"
["Promote" reftex-toc-promote t]
["Demote" reftex-toc-demote t]
["Rename Label" reftex-toc-rename-label t])
"--"
["Index" reftex-toc-display-index t]
["External Document TOC " reftex-toc-external t]
"--"
("Update"
["Rebuilt *toc* Buffer" revert-buffer t]
["Rescan One File" reftex-toc-rescan reftex-enable-partial-scans]
["Rescan Entire Document" reftex-toc-Rescan t])
("Options"
"TOC Items"
["File Boundaries" reftex-toc-toggle-file-boundary :style toggle
:selected reftex-toc-include-file-boundaries]
["Labels" reftex-toc-toggle-labels :style toggle
:selected reftex-toc-include-labels]
["Index Entries" reftex-toc-toggle-index :style toggle
:selected reftex-toc-include-index-entries]
["Context" reftex-toc-toggle-context :style toggle
:selected reftex-toc-include-context]
"--"
["Follow Mode" reftex-toc-toggle-follow :style toggle
:selected reftex-toc-follow-mode]
["Auto Recenter" reftex-toggle-auto-toc-recenter :style toggle
:selected reftex-toc-auto-recenter-timer]
["Dedicated Frame" reftex-toc-toggle-dedicated-frame t])
"--"
["Help" reftex-toc-show-help t]))
map)
"Keymap used for *toc* buffer.")
(define-obsolete-variable-alias 'reftex-toc-map 'reftex-toc-mode-map "24.1")
(defvar reftex-toc-menu)
(defvar reftex-last-window-height nil)
@ -42,19 +132,14 @@
(defvar reftex-toc-include-index-indicator nil)
(defvar reftex-toc-max-level-indicator nil)
(defun reftex-toc-mode ()
(define-derived-mode reftex-toc-mode fundamental-mode "TOC"
"Major mode for managing Table of Contents for LaTeX files.
This buffer was created with RefTeX.
Press `?' for a summary of important key bindings.
Here are all local bindings.
\\{reftex-toc-map}"
(interactive)
(kill-all-local-variables)
(setq major-mode 'reftex-toc-mode
mode-name "TOC")
(use-local-map reftex-toc-map)
\\{reftex-toc-mode-map}"
(set (make-local-variable 'transient-mark-mode) t)
(when (featurep 'xemacs)
(set (make-local-variable 'zmacs-regions) t))
@ -79,8 +164,7 @@ Here are all local bindings.
(make-local-variable 'reftex-last-follow-point)
(add-hook 'post-command-hook 'reftex-toc-post-command-hook nil t)
(add-hook 'pre-command-hook 'reftex-toc-pre-command-hook nil t)
(easy-menu-add reftex-toc-menu reftex-toc-map)
(run-hooks 'reftex-toc-mode-hook))
(easy-menu-add reftex-toc-menu reftex-toc-mode-map))
(defvar reftex-last-toc-file nil
"Stores the file name from which `reftex-toc' was called. For redo command.")
@ -1006,92 +1090,4 @@ always show the current section in connection with the option
(progn
(reftex-toggle-auto-toc-recenter))))
;; Table of Contents map
(define-key reftex-toc-map (if (featurep 'xemacs) [(button2)] [(mouse-2)])
'reftex-toc-mouse-goto-line-and-hide)
(define-key reftex-toc-map [follow-link] 'mouse-face)
(substitute-key-definition
'next-line 'reftex-toc-next reftex-toc-map global-map)
(substitute-key-definition
'previous-line 'reftex-toc-previous reftex-toc-map global-map)
(loop for x in
'(("n" . reftex-toc-next)
("p" . reftex-toc-previous)
("?" . reftex-toc-show-help)
(" " . reftex-toc-view-line)
("\C-m" . reftex-toc-goto-line-and-hide)
("\C-i" . reftex-toc-goto-line)
("\C-c>" . reftex-toc-display-index)
("r" . reftex-toc-rescan)
("R" . reftex-toc-Rescan)
("g" . revert-buffer)
("q" . reftex-toc-quit);
("k" . reftex-toc-quit-and-kill)
("f" . reftex-toc-toggle-follow);
("a" . reftex-toggle-auto-toc-recenter)
("d" . reftex-toc-toggle-dedicated-frame)
("F" . reftex-toc-toggle-file-boundary)
("i" . reftex-toc-toggle-index)
("l" . reftex-toc-toggle-labels)
("t" . reftex-toc-max-level)
("c" . reftex-toc-toggle-context)
; ("%" . reftex-toc-toggle-commented)
("\M-%" . reftex-toc-rename-label)
("x" . reftex-toc-external)
("z" . reftex-toc-jump)
("." . reftex-toc-show-calling-point)
("\C-c\C-n" . reftex-toc-next-heading)
("\C-c\C-p" . reftex-toc-previous-heading)
(">" . reftex-toc-demote)
("<" . reftex-toc-promote))
do (define-key reftex-toc-map (car x) (cdr x)))
(loop for key across "0123456789" do
(define-key reftex-toc-map (vector (list key)) 'digit-argument))
(define-key reftex-toc-map "-" 'negative-argument)
(easy-menu-define
reftex-toc-menu reftex-toc-map
"Menu for Table of Contents buffer"
'("TOC"
["Show Location" reftex-toc-view-line t]
["Go To Location" reftex-toc-goto-line t]
["Exit & Go To Location" reftex-toc-goto-line-and-hide t]
["Show Calling Point" reftex-toc-show-calling-point t]
["Quit" reftex-toc-quit t]
"--"
("Edit"
["Promote" reftex-toc-promote t]
["Demote" reftex-toc-demote t]
["Rename Label" reftex-toc-rename-label t])
"--"
["Index" reftex-toc-display-index t]
["External Document TOC " reftex-toc-external t]
"--"
("Update"
["Rebuilt *toc* Buffer" revert-buffer t]
["Rescan One File" reftex-toc-rescan reftex-enable-partial-scans]
["Rescan Entire Document" reftex-toc-Rescan t])
("Options"
"TOC Items"
["File Boundaries" reftex-toc-toggle-file-boundary :style toggle
:selected reftex-toc-include-file-boundaries]
["Labels" reftex-toc-toggle-labels :style toggle
:selected reftex-toc-include-labels]
["Index Entries" reftex-toc-toggle-index :style toggle
:selected reftex-toc-include-index-entries]
["Context" reftex-toc-toggle-context :style toggle
:selected reftex-toc-include-context]
"--"
["Follow Mode" reftex-toc-toggle-follow :style toggle
:selected reftex-toc-follow-mode]
["Auto Recenter" reftex-toggle-auto-toc-recenter :style toggle
:selected reftex-toc-auto-recenter-timer]
["Dedicated Frame" reftex-toc-toggle-dedicated-frame t])
"--"
["Help" reftex-toc-show-help t]))
;;; reftex-toc.el ends here

View file

@ -1,7 +1,7 @@
;;; ediff-mult.el --- support for multi-file/multi-buffer processing in Ediff
;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
;; 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
;; 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
;; Package: ediff
@ -458,6 +458,7 @@ It is entered through one of the following commands:
Commands:
\\{ediff-meta-buffer-map}"
;; FIXME: Use define-derived-mode.
(kill-all-local-variables)
(setq major-mode 'ediff-meta-mode)
(setq mode-name "MetaEdiff")

View file

@ -1,7 +1,7 @@
;;; ediff-util.el --- the core commands and utilities of ediff
;; Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
;; 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
;; 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
;; Free Software Foundation, Inc.
;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
@ -94,6 +94,7 @@ This mode is entered through one of the following commands:
Commands:
\\{ediff-mode-map}"
;; FIXME: Use define-derived-mode.
(kill-all-local-variables)
(setq major-mode 'ediff-mode)
(setq mode-name "Ediff")