]> git.eshelyaron.com Git - emacs.git/log
emacs.git
12 years agoMention in "C-u C-x =" display how to insert the character w/o input methods.
Eli Zaretskii [Fri, 8 Jun 2012 08:44:45 +0000 (11:44 +0300)]
Mention in "C-u C-x =" display how to insert the character w/o input methods.

 lisp/descr-text.el (describe-char): Mention how to insert the
 character, if the current input method doesn't support it.
 See the discussion in this thread for the details:
 http://lists.gnu.org/archive/html/emacs-devel/2012-05/msg00533.html.

12 years agoBlock-based vector allocation of small vectors.
Dmitry Antipov [Fri, 8 Jun 2012 08:44:30 +0000 (12:44 +0400)]
Block-based vector allocation of small vectors.
* src/lisp.h (struct vectorlike_header): New field `nbytes',
adjust comment accordingly.
* src/alloc.c (enum mem_type): New type `MEM_TYPE_VECTOR_BLOCK'
to denote vector blocks. Adjust users (live_vector_p,
mark_maybe_pointer, valid_lisp_object_p) accordingly.
(COMMON_MULTIPLE): Move outside #if USE_LSB_TAG.
(VECTOR_BLOCK_SIZE, vroundup, VECTOR_BLOCK_BYTES),
(VBLOCK_BYTES_MIN, VBLOCK_BYTES_MAX, VECTOR_MAX_FREE_LIST_INDEX),
(VECTOR_FREE_LIST_FLAG, ADVANCE, VINDEX, SETUP_ON_FREE_LIST),
(VECTOR_SIZE, VECTOR_IN_BLOCK): New macros.
(roundup_size): New constant.
(struct vector_block): New data type.
(vector_blocks, vector_free_lists, zero_vector): New variables.
(all_vectors): Renamed to `large_vectors'.
(allocate_vector_from_block, init_vectors, allocate_vector_from_block)
(sweep_vectors): New functions.
(allocate_vectorlike): Return `zero_vector' as the only vector of
0 items. Allocate new vector from block if vector size is less than
or equal to VBLOCK_BYTES_MAX.
(Fgarbage_collect): Move all vector sweeping code to sweep_vectors.
(init_alloc_once): Add call to init_vectors.
* doc/lispref/internals.text (Garbage Collection): Document new
vector management code and vectorlike_header structure.

12 years agoMerge bugfixes done in Gnus trunk
Katsumi Yamaoka [Fri, 8 Jun 2012 04:38:56 +0000 (04:38 +0000)]
Merge bugfixes done in Gnus trunk

Those changes fix only the bugs having appeared in the bug list.
Many other Gnus changes not yet merged to Emacs are in:
   ftp://ftp.jpl.org/pub/tmp/MaGnus-to-Emacs.patch
(or http://www.jpl.org/ftp/pub/tmp/MaGnus-to-Emacs.patch)

2012-06-07 Lars Magne Ingebrigtsen <larsi@gnus.org>
* gnus-msg.el (gnus-msg-mail): Warn the user about Gnus not running
  (bug#11514).
2012-04-10 Lars Magne Ingebrigtsen <larsi@gnus.org>
* gnus-msg.el (gnus-summary-cancel-article): See what From header we
  would have gotten if we posted to the group, and use that to compare
  against the message we want to cancel (bug#10808).

12 years ago* lisp/bindings.el (global-map): Bind XF86Forward to next-buffer and
Sam Steingold [Fri, 8 Jun 2012 04:23:26 +0000 (00:23 -0400)]
* lisp/bindings.el (global-map): Bind XF86Forward to next-buffer and
XF86Back to previous-buffer.
(minibuffer-local-map): Bind them to next-history-element and
previous-history-element respectively.
* lisp/help-mode.el (help-mode-map): Bind them to help-go-forward and
help-go-back respectively.
* lisp/info.el (Info-mode-map): Bind them to Info-history-forward and
Info-history-back respectively.
These are the keys next to Up on the ThinkPad keyboard.

12 years agoGet rid of cl-lexical-let, keeping only lexical-let for compatibility.
Stefan Monnier [Fri, 8 Jun 2012 02:54:35 +0000 (22:54 -0400)]
Get rid of cl-lexical-let, keeping only lexical-let for compatibility.
* lisp/emacs-lisp/cl-macs.el: Provide itself.
(cl--labels-convert-cache): New var.
(cl--labels-convert): New function.
(cl-flet, cl-labels): New implementation with new semantics, relying on
lexical-binding.
* lisp/emacs-lisp/cl.el: Mark compatibility aliases as obsolete.
(cl-closure-vars, cl--function-convert-cache)
(cl--function-convert): Move from cl-macs.el.
(lexical-let, lexical-let*, flet, labels): Move from cl-macs.el and
rename by removing the "cl-" prefix.
* lisp/emacs-lisp/macroexp.el (macroexp-unprogn): New function.

12 years ago* src/eval.c (Fmacroexpand): Stop if the macro returns the same form.
Stefan Monnier [Fri, 8 Jun 2012 02:47:26 +0000 (22:47 -0400)]
* src/eval.c (Fmacroexpand): Stop if the macro returns the same form.

12 years ago* texinfo.tex: Merge from gnulib.
Paul Eggert [Fri, 8 Jun 2012 00:03:10 +0000 (17:03 -0700)]
* texinfo.tex: Merge from gnulib.

12 years agoMove old compatiblity to cl.el. Remove cl-macroexpand-all.
Stefan Monnier [Thu, 7 Jun 2012 19:48:22 +0000 (15:48 -0400)]
Move old compatiblity to cl.el.  Remove cl-macroexpand-all.
* emacs-lisp/cl-extra.el (cl-map-keymap, cl-copy-tree)
(cl-not-hash-table, cl-builtin-gethash, cl-builtin-remhash)
(cl-builtin-clrhash, cl-builtin-maphash, cl-gethash, cl-puthash)
(cl-remhash, cl-clrhash, cl-maphash, cl-make-hash-table)
(cl-hash-table-p, cl-hash-table-count): Move to cl.el.
(cl-macroexpand-cmacs): Remove var.
(cl-macroexpand-all, cl-macroexpand-body): Remove funs.
Use macroexpand-all instead.

* emacs-lisp/cl-lib.el (cl-macro-environment): Remove decl.
(cl-macroexpand): Move to cl-macs.el and rename to cl--sm-macroexpand.
(cl-member): Remove old alias.

* emacs-lisp/cl-macs.el (cl-macro-environment): Remove var.
Use macroexpand-all-environment instead.
(cl--old-macroexpand): New var.
(cl--sm-macroexpand): New function.
(cl-symbol-macrolet): Use it during macro expansion.
(cl--function-convert-cache): New var.
(cl--function-convert): New function, extracted from
cl-macroexpand-all.
(cl-lexical-let): Use it.

* emacs-lisp/cl.el (cl-macroexpand, cl-macro-environment)
(cl-macroexpand-all, cl-not-hash-table, cl-builtin-gethash)
(cl-builtin-remhash, cl-builtin-clrhash, cl-builtin-maphash)
(cl-map-keymap, cl-copy-tree, cl-gethash, cl-puthash, cl-remhash)
(cl-clrhash, cl-maphash, cl-make-hash-table, cl-hash-table-p)
(cl-hash-table-count): Add old compatibility aliases.

12 years agoCleanup cl-macs namespace. Add macro helpers in macroexp.el.
Stefan Monnier [Thu, 7 Jun 2012 19:25:48 +0000 (15:25 -0400)]
Cleanup cl-macs namespace.  Add macro helpers in macroexp.el.
* emacs-lisp/macroexp.el (macroexp-progn, macroexp-let*, macroexp-if)
(macroexp-let², macroexp--const-symbol-p, macroexp-const-p)
(macroexp-copyable-p): New functions and macros.
* emacs-lisp/edebug.el (edebug-unwrap):
* emacs-lisp/disass.el (disassemble-internal): Use macroexp-progn.
* emacs-lisp/pcase.el: Use macroexp-let*, macroexp-if, ...
(pcase--let*): Remove.
* emacs-lisp/bytecomp.el (byte-compile-const-symbol-p)
(byte-compile-constp): Remove.  Use macroexp--const-symbol-p and
macroexp-const-p instead.
* emacs-lisp/byte-opt.el: Use macroexp-const-p and macroexp-progn.

* emacs-lisp/cl-macs.el: Clean up the name space by using "cl--"
instead of "cl-" for internal definitions.  Use macroexp-const-p.
(cl-old-bc-file-form): Remove var.
(cl-const-exprs-p): Remove fun.
(cl-labels, cl-macrolet): Use backquote.
(cl-lexical-let): Use cl-symbol-macrolet.  Don't use cl-defun-expander.
(cl-defun-expander, cl-byte-compile-compiler-macro): Remove fun.
(cl-define-setf-expander): Rename from cl-define-setf-method.
* emacs-lisp/cl.el: Adjust alias for define-setf-method.

* international/mule-cmds.el: Don't require CL.
(view-hello-file): Don't use `letf'.

12 years ago* tmm.el (tmm-prompt): Use string-prefix-p.
Stefan Monnier [Thu, 7 Jun 2012 16:35:00 +0000 (12:35 -0400)]
* tmm.el (tmm-prompt): Use string-prefix-p.
(tmm-completion-delete-prompt): Don't affect current-buffer outside.
(tmm-add-prompt): Use minibuffer-completion-help.
(tmm-delete-map): Remove.

12 years ago* subr.el (kbd): Make it its own function.
Stefan Monnier [Thu, 7 Jun 2012 16:20:28 +0000 (12:20 -0400)]
* subr.el (kbd): Make it its own function.

12 years agoAdd NEWS item about Buffer Menu rewrite.
Chong Yidong [Thu, 7 Jun 2012 14:39:28 +0000 (22:39 +0800)]
Add NEWS item about Buffer Menu rewrite.

12 years ago* rst.el: Use `eval-when-compile' for requiring
Stefan Merten [Thu, 7 Jun 2012 09:20:41 +0000 (11:20 +0200)]
* rst.el: Use `eval-when-compile' for requiring
`cl.el'.  Silence compiler warnings.  Fix versions.

(rst-position-if, rst-position, rst-some, rst-signum): New
functions.
(rst-shift-region, rst-adornment-level, rst-compute-tabs)
(rst-indent-line, rst-shift-region, rst-forward-line): Use new
functions.

(rst-package-emacs-version-alist): Correct Emacs version to
represent major merge with upstream.
(rst-transition, rst-adornment, rst-compile-toolsets): Fix
versions.

12 years ago* doprnt.c (doprnt): Truncate multibyte char correctly.
Paul Eggert [Thu, 7 Jun 2012 05:11:51 +0000 (22:11 -0700)]
* doprnt.c (doprnt): Truncate multibyte char correctly.

Without this change, doprnt (buf, 2, "%s", FORMAT_END, AP)
would mishandle a string argument "Xc" if X was a multibyte
character of length 2: it would truncate after X's first byte
rather than including all of X.

12 years agoFix previous calendar-in-read-only-buffer change.
Glenn Morris [Wed, 6 Jun 2012 18:46:34 +0000 (14:46 -0400)]
Fix previous calendar-in-read-only-buffer change.
Otherwise all the mode-lines get clobbered.

12 years ago* lisp/mail/emacsbug.el (report-emacs-bug): Add relevant EMACS env-vars.
Glenn Morris [Wed, 6 Jun 2012 18:13:09 +0000 (14:13 -0400)]
* lisp/mail/emacsbug.el (report-emacs-bug): Add relevant EMACS env-vars.
Only print environment variables if set.

12 years ago* lisp/emacs-lisp/macroexp.el: Don't require CL since we don't use it.
Stefan Monnier [Wed, 6 Jun 2012 18:08:00 +0000 (14:08 -0400)]
* lisp/emacs-lisp/macroexp.el: Don't require CL since we don't use it.
(macroexp--cons): Rename from maybe-cons.
(macroexp--accumulate): Rename from macroexp-accumulate.
(macroexp--all-forms): Rename from macroexpand-all-forms.
(macroexp--all-clauses): Rename from macroexpand-all-clauses.
(macroexp--expand-all): Rename from macroexpand-all-1.

12 years ago* lisp/calendar/calendar.el (calendar-in-read-only-buffer):
Sam Steingold [Wed, 6 Jun 2012 15:19:39 +0000 (11:19 -0400)]
* lisp/calendar/calendar.el (calendar-in-read-only-buffer):
Call `special-mode' to enable the standard read-only keybindings.

12 years agoAdd enable-remote-dir-locals.
Michael Albinus [Wed, 6 Jun 2012 15:13:15 +0000 (17:13 +0200)]
Add enable-remote-dir-locals.

12 years ago* custom.texi (Directory Variables): Mention enable-remote-dir-locals.
Michael Albinus [Wed, 6 Jun 2012 14:57:16 +0000 (16:57 +0200)]
* custom.texi (Directory Variables): Mention enable-remote-dir-locals.

12 years ago* net/tramp-compat.el (tramp-compat-temporary-file-directory):
Michael Albinus [Wed, 6 Jun 2012 13:32:36 +0000 (15:32 +0200)]
* net/tramp-compat.el (tramp-compat-temporary-file-directory):
Ensure, that the temp directory is local.

* net/tramp-sh.el (tramp-sh-handle-write-region): Let-bind
`temporary-file-directory'.

12 years ago* progmodes/python.el (python-send-region): Ensure, that the
Michael Albinus [Wed, 6 Jun 2012 13:05:11 +0000 (15:05 +0200)]
* progmodes/python.el (python-send-region): Ensure, that the
temporary file is created also in the remote case.

12 years ago* lisp/emacs-lisp/macroexp.el (macroexpand-all-1): Don't spam the output
Stefan Monnier [Wed, 6 Jun 2012 12:51:48 +0000 (08:51 -0400)]
* lisp/emacs-lisp/macroexp.el (macroexpand-all-1): Don't spam the output
with "loading" messages.

Fixes: debbugs:11635
12 years ago* files.el (enable-remote-dir-locals): New option.
Michael Albinus [Wed, 6 Jun 2012 12:34:09 +0000 (14:34 +0200)]
* files.el (enable-remote-dir-locals): New option.
(hack-dir-local-variables): Use it.  (Bug#1933, Bug#6731)

12 years ago* buffer.c (word_wrap): Doc fix.
Chong Yidong [Wed, 6 Jun 2012 06:39:24 +0000 (14:39 +0800)]
* buffer.c (word_wrap): Doc fix.

12 years agoRemove script stamping in lib-src/
Glenn Morris [Wed, 6 Jun 2012 01:38:04 +0000 (21:38 -0400)]
Remove script stamping in lib-src/

rcs2log no longer needs it, and grep-changelog never really has
(nothing in Emacs runs that, I don't know why Emacs includes it, if you
are using an uninstalled out-of-tree build you can just as easily run
it from the source directory).

* lib-src/Makefile.in (STAMP_INST_SCRIPTS, STAMP_SCRIPTS, insrcdir)
(stamp-rcs2log, stamp-grep-changelog): Remove.
(all, clean): Remove references to stamps.

* .bzrignore: Do not ignore lib-src/stamp*.

12 years agoFind rcs2log in the source-directory when running uninstalled
Glenn Morris [Wed, 6 Jun 2012 01:28:08 +0000 (21:28 -0400)]
Find rcs2log in the source-directory when running uninstalled
This is preparation for getting rid of lib-src's "stamp-*" files.

* lisp/vc/vc-rcs.el (vc-rcs-rcs2log-program): New.
(vc-rcs-update-changelog): Use it.

12 years agoRemove lib-src/vcdiff
Glenn Morris [Wed, 6 Jun 2012 01:06:54 +0000 (21:06 -0400)]
Remove lib-src/vcdiff

* lib-src/vcdiff: Remove file.
* lib-src/Makefile.in (SCRIPTS, STAMP_SCRIPTS): Remove vcdiff.
(stamp-vcdiff): Remove.

* INSTALL, make-dist: Remove vcdiff.

* lisp/emacs-lisp/authors.el (authors-fixed-entries): Remove vcdiff

12 years agoReplace the last use of the external vcdiff script
Glenn Morris [Wed, 6 Jun 2012 00:29:10 +0000 (20:29 -0400)]
Replace the last use of the external vcdiff script

* lisp/vc/vc-sccs.el (vc-sccs-write-revision): New function.
(vc-sccs-workfile-unchanged-p): Use vc-sccs-write-revision.
(vc-sccs-diff): Replace use of the external vcdiff script.

12 years ago* etc/TODO: Remove some obsolete/deleted packages.
Glenn Morris [Tue, 5 Jun 2012 18:47:12 +0000 (14:47 -0400)]
* etc/TODO: Remove some obsolete/deleted packages.

12 years agoRemove some cruft from lib-src/makefile.w32-in
Glenn Morris [Tue, 5 Jun 2012 17:56:38 +0000 (13:56 -0400)]
Remove some cruft from lib-src/makefile.w32-in

* lib-src/makefile.w32-in ($(BLD)/getdate.$(O), $(BLD)/leditcfns.$(O)):
($(BLD)/make-path.$(O), $(BLD)/qsort.$(O)):
($(BLD)/timer.$(O)): Remove; unused.

12 years agoMake ledit.el obsolete.
Glenn Morris [Tue, 5 Jun 2012 17:47:27 +0000 (13:47 -0400)]
Make ledit.el obsolete.
Also, etc/LEDIT was removed some time ago.

12 years agoAdd Obsolete-since: header.
Glenn Morris [Tue, 5 Jun 2012 17:42:37 +0000 (13:42 -0400)]
Add Obsolete-since: header.

12 years ago* lisp/calendar/calendar.el (calendar-exit): reinstate the 2012-03-28 patch.
Sam Steingold [Tue, 5 Jun 2012 17:33:10 +0000 (13:33 -0400)]
* lisp/calendar/calendar.el (calendar-exit): reinstate the 2012-03-28 patch.

Fixes: debbugs:11140
12 years ago* emacs-list/cust-print.el: Move to obsolete.
Stefan Monnier [Tue, 5 Jun 2012 16:50:28 +0000 (12:50 -0400)]
* emacs-list/cust-print.el: Move to obsolete.

12 years ago* lisp/emacs-lisp/macroexp.el (macroexpand-all-1): Tolerate errors during
Stefan Monnier [Tue, 5 Jun 2012 16:43:43 +0000 (12:43 -0400)]
* lisp/emacs-lisp/macroexp.el (macroexpand-all-1): Tolerate errors during
compiler-macro expansion.

12 years agoAdd native compiler-macro support.
Stefan Monnier [Tue, 5 Jun 2012 15:41:12 +0000 (11:41 -0400)]
Add native compiler-macro support.
* lisp/emacs-lisp/macroexp.el (macroexpand-all-1):
Support compiler-macros directly.  Properly follow aliases and apply
the compiler macros more thoroughly.
* lisp/emacs-lisp/cl.el: Don't copy compiler-macro properties any more since
macroexpand now properly follows aliases.
* lisp/emacs-lisp/cl-macs.el (toplevel, cl-define-compiler-macro)
(cl-compiler-macroexpand): Use new prop.
* lisp/emacs-lisp/byte-opt.el (featurep): Optimize earlier.
* lisp/emacs-lisp/cl-lib.el (custom-print-functions): Add compatibility alias.

12 years agoClean up and simplify buffer display routines.
Martin Rudalics [Tue, 5 Jun 2012 09:11:06 +0000 (11:11 +0200)]
Clean up and simplify buffer display routines.

* window.el (get-lru-window, get-mru-window, get-largest-window):
New argument NOT-SELECTED to avoid picking the selected window.
(window--display-buffer-1, window--display-buffer-2): Replace by
new function window--display-buffer
(display-buffer-same-window, display-buffer-reuse-window)
(display-buffer-pop-up-frame, display-buffer-pop-up-window): Use
window--display-buffer.
(display-buffer-use-some-window): Remove temporary dedication
hack by calling get-lru-window and get-largest-window with
NOT-SELECTED argument non-nil.  Call window--display-buffer.

12 years ago* vc-sccs.el (vc-sccs-workfile-unchanged-p): Replace external vcdiff script.
Glenn Morris [Tue, 5 Jun 2012 01:05:51 +0000 (21:05 -0400)]
* vc-sccs.el (vc-sccs-workfile-unchanged-p): Replace external vcdiff script.

12 years ago* PROBLEMS (68000 C compiler problems): Remove obsolete section.
Paul Eggert [Mon, 4 Jun 2012 17:17:48 +0000 (10:17 -0700)]
* PROBLEMS (68000 C compiler problems): Remove obsolete section.

Not only are the compilers long-dead, the obsolete advice
typically doesn't apply to current Emacs sources.

12 years ago* lisp/emacs-lisp/cl-lib.el (cl-values, cl-values-list): Fix up last change.
Stefan Monnier [Mon, 4 Jun 2012 14:08:33 +0000 (10:08 -0400)]
* lisp/emacs-lisp/cl-lib.el (cl-values, cl-values-list): Fix up last change.

12 years agoUpdate autogenerated bootstrap file.
Stefan Monnier [Mon, 4 Jun 2012 14:00:32 +0000 (10:00 -0400)]
Update autogenerated bootstrap file.

12 years agoimage.el (imagemagick-enabled-types): Remove CIN.
Chong Yidong [Mon, 4 Jun 2012 13:02:23 +0000 (21:02 +0800)]
image.el (imagemagick-enabled-types): Remove CIN.

12 years agoMore tweaks to ImageMagick types.
Chong Yidong [Mon, 4 Jun 2012 13:01:17 +0000 (21:01 +0800)]
More tweaks to ImageMagick types.

* lisp/image.el (imagemagick-types-inhibit): Revert last change.  Add
INFO and M.
(imagemagick-enabled-types): Remove EPS and related formats.

12 years agoAuto-commit of generated files.
Glenn Morris [Mon, 4 Jun 2012 10:17:27 +0000 (06:17 -0400)]
Auto-commit of generated files.

12 years ago* xdisp.c (note_mode_line_or_margin_highlight): Pacify gcc -Wall.
Paul Eggert [Mon, 4 Jun 2012 06:03:19 +0000 (23:03 -0700)]
* xdisp.c (note_mode_line_or_margin_highlight): Pacify gcc -Wall.

12 years ago* lisp/emacs-lisp/cl-lib.el: Rename from cl.el.
Stefan Monnier [Mon, 4 Jun 2012 01:05:17 +0000 (21:05 -0400)]
* lisp/emacs-lisp/cl-lib.el: Rename from cl.el.
* lisp/emacs-lisp/cl.el: New compatibility file.
* emacs-lisp/cl-lib.el, lisp/emacs-lisp/cl-seq.el, lisp/emacs-lisp/cl-macs.el:
* lisp/emacs-lisp/cl-extra.el: Rename all top-level functions and variables
to obey the "cl-" prefix.
* lisp/emacs-lisp/macroexp.el (macroexpand-all-1): Adjust to new name.

12 years agoRemove lib-src/rcs-checkin
Glenn Morris [Sun, 3 Jun 2012 23:49:12 +0000 (16:49 -0700)]
Remove lib-src/rcs-checkin

This script isn't used by Emacs, and I can't imagine anyone else is
using it any more either...  From the commentary:
"This script is intended to be used to convert files with an
old-Emacs-style version history for use with VC (the Emacs 19
version-control interface), which likes to use RCS as its back end."

* lib-src/rcs-checkin: Remove file.
* lib-src/Makefile.in (INSTALLABLE_SCRIPTS, STAMP_INST_SCRIPTS):
Remove rcs-checkin.
(stamp-rcs-checkin): Remove.

* INSTALL, make-dist: Remove rcs-checkin.

* admin/quick-install-emacs (PUBLIC_LIBSRC_SCRIPTS): Remove rcs-checkin.

* doc/man/rcs-checkin.1: Remove.

12 years ago* lisp/emacs-lisp/authors.el (authors-aliases): Addition.
Glenn Morris [Sun, 3 Jun 2012 23:31:45 +0000 (16:31 -0700)]
* lisp/emacs-lisp/authors.el (authors-aliases): Addition.

12 years agotool-bar-style doc fixes
Glenn Morris [Sun, 3 Jun 2012 23:28:17 +0000 (16:28 -0700)]
tool-bar-style doc fixes

* lisp/cus-start.el (tool-bar-style, tool-bar-max-label-size): Fix :version.

* src/xdisp.c (tool-bar-style): Doc fix.

12 years agoWorkaround dumping problem on PaX-enabled Linux kernels
Ulrich Müller [Sun, 3 Jun 2012 23:14:22 +0000 (16:14 -0700)]
Workaround dumping problem on PaX-enabled Linux kernels

* configure.in (PAXCTL): Check for paxctl.

* src/Makefile.in (PAXCTL): Define.
(temacs$(EXEEXT)): Disable memory randomization for the temacs
binary via PaX flags if the paxctl utility is available.
(emacs$(EXEEXT), bootstrap-emacs$(EXEEXT)):
Restore PaX flags to their default.

Fixes: debbugs:11398
12 years ago* etc/NEWS: Update for renamed variable.
Glenn Morris [Sun, 3 Jun 2012 23:07:48 +0000 (16:07 -0700)]
* etc/NEWS: Update for renamed variable.
* lisp/image.el (imagemagick-types-inhibit): Bump :version.

12 years agorst.el: Add comments.
Stefan Merten [Sun, 3 Jun 2012 17:20:24 +0000 (19:20 +0200)]
rst.el: Add comments.
(rst-transition, rst-adornment): New faces.
(rst-adornment-faces-alist): Make default safe to reevaluate.
Fixes
http://sourceforge.net/tracker/?func=detail&atid=422030&aid=3479603&group_id=38414.
Improve customization tags.
(rst-define-level-faces): Clarify meaning.

12 years agoFix legibility of compilation mode-line messages.
Chong Yidong [Sun, 3 Jun 2012 14:37:13 +0000 (22:37 +0800)]
Fix legibility of compilation mode-line messages.

* lisp/progmodes/compile.el (compilation-mode-line-fail)
(compilation-mode-line-run, compilation-mode-line-exit): New
faces.
(compilation-start, compilation-handle-exit): Use them.

* etc/themes/wheatgrass-theme.el:
* etc/themes/deeper-blue-theme.el:
* etc/themes/tango-dark-theme.el:
* etc/themes/tsdh-dark-theme.el: Add compilation-mode-line-fail,
compilation-mode-line-run, and compilation-mode-line-exit faces.

* etc/themes/manoj-dark-theme.el: Remove :family attributes.

Fixes: debbugs:11032
12 years agoImprove ediff and which-func integration.
Jack Duthen [Sun, 3 Jun 2012 11:10:44 +0000 (19:10 +0800)]
Improve ediff and which-func integration.

* lisp/progmodes/which-func.el (which-func-update-ediff-windows): New
function.  Use it in ediff-select-hook.

Fixes: debbugs:11478
12 years agoAllow clicking mouse-3 on mode line to change coding system.
Chong Yidong [Sun, 3 Jun 2012 10:54:22 +0000 (18:54 +0800)]
Allow clicking mouse-3 on mode line to change coding system.

* lisp/bindings.el (mode-line-coding-system-map): Allow using mouse-3
to invoke set-buffer-file-coding-system.
(mode-line-mule-info-help-echo): Update help text.

Fixes: debbugs:289
12 years agoMake mode line help-echo visible for unibyte buffers.
Chong Yidong [Sun, 3 Jun 2012 10:23:49 +0000 (18:23 +0800)]
Make mode line help-echo visible for unibyte buffers.

* src/xdisp.c (decode_mode_spec_coding): Display a space for a unibyte
buffer.

* lisp/bindings.el (mode-line-mule-info-help-echo)
(mode-line-read-only-help-echo, mode-line-modified-help-echo):
New functions.
(mode-line-mule-info, mode-line-modified): Use them.
(mode-line-eol-desc, propertized-buffer-identification):
Consistency fixes for help text.

Fixes: debbugs:11226
12 years ago* xdisp.c (note_mode_line_or_margin_highlight): Fix last change.
Chong Yidong [Sun, 3 Jun 2012 09:59:00 +0000 (17:59 +0800)]
* xdisp.c (note_mode_line_or_margin_highlight): Fix last change.

12 years agoImplement default help-echo for mode line.
Chong Yidong [Sun, 3 Jun 2012 09:03:23 +0000 (17:03 +0800)]
Implement default help-echo for mode line.

* lisp/bindings.el: Remove explicit help-echo from format-mode-line.
(mode-line-front-space, mode-line-end-spaces)
(mode-line-misc-info): New variables.
(mode-line-modes, mode-line-position): Move the default value to
the variable definition.
(mode-line-default-help-echo): New defcustom.

* src/buffer.c (buffer_local_value_1): New function, split from
Fbuffer_local_value; can return Qunbound.
(Fbuffer_local_value): Use it.
(Vmode_line_format): Docstring tweaks.

* src/xdisp.c (calc_pixel_width_or_height): Use Fbuffer_local_value.
(note_mode_line_or_margin_highlight): If there is no help echo,
use mode-line-default-help-echo.  Handle the case where the mouse
position is past the end of the mode line string.

* doc/lispref/modes.texi (Mode Line Data): Use "mode line construct"
terminology for consistency.

12 years ago* sysdep.c (system_process_attributes): Improve comment.
Paul Eggert [Sat, 2 Jun 2012 21:01:07 +0000 (14:01 -0700)]
* sysdep.c (system_process_attributes): Improve comment.

12 years ago* lisp/simple.el (execute-extended-command): Set real-this-command.
Stefan Monnier [Sat, 2 Jun 2012 19:21:34 +0000 (15:21 -0400)]
* lisp/simple.el (execute-extended-command): Set real-this-command.
* src/keyboard.c: Export real-this-command to Elisp.
(syms_of_keyboard): Rename real_this_command to Vreal_this_command
and DEFVAR it.  Update all users.

Fixes: debbugs:11506
12 years ago* minibuf.c (Fassoc_string): Remove duplicate declaration.
Paul Eggert [Sat, 2 Jun 2012 17:03:49 +0000 (10:03 -0700)]
* minibuf.c (Fassoc_string): Remove duplicate declaration.

12 years ago* sysdep.c (system_process_attributes) [SOLARIS2 && HAVE_PROCFS]:
Paul Eggert [Sat, 2 Jun 2012 16:37:54 +0000 (09:37 -0700)]
* sysdep.c (system_process_attributes) [SOLARIS2 && HAVE_PROCFS]:

Convert pctcpu and pctmem to Lisp float properly.
Let the compiler fold better, as 100.0/0x8000 is exact.

12 years ago(rst-mode-map): Fix meaning of C-M-a / C-M-e.
Stefan Merten [Sat, 2 Jun 2012 12:29:21 +0000 (14:29 +0200)]
(rst-mode-map): Fix meaning of C-M-a / C-M-e.

12 years agoRemove incorrect uses of "modeline".
Chong Yidong [Sat, 2 Jun 2012 10:56:09 +0000 (18:56 +0800)]
Remove incorrect uses of "modeline".

* ansi-color.el (ansi-color-faces-vector): Change default faces.

* cus-edit.el (mode-line):
* dframe.el (dframe-mouse-hscroll):
* emacs-lisp/re-builder.el:
* emacs-lisp/easy-mmode.el (define-minor-mode):
* frame.el (set-frame-name):
* help.el (lookup-minor-mode-from-indicator):
* net/rcirc.el (rcirc-activity-string, rcirc-short-buffer-name):
* progmodes/cc-cmds.el (c-toggle-auto-newline)
(c-toggle-hungry-state):
* progmodes/antlr-mode.el (antlr-language-alist):
* progmodes/idlw-shell.el (idlwave-shell-electric-stop-line-face):
* progmodes/vhdl-mode.el (vhdl-mode):
* progmodes/which-func.el (which-func, which-func-cleanup-function):
* term/ns-win.el (ns-face-at-pos):
* term/sup-mouse.el (sup-mouse-report):
* textmodes/flyspell.el (flyspell-mode-line-string):
* textmodes/ispell.el (ispell-highlight-face):
* textmodes/reftex-global.el:
* vc/vc-arch.el (vc-arch-mode-line-string):
* vc/vc-cvs.el (vc-cvs-mode-line-string):
* vc/vc-git.el (vc-git-mode-line-string):
* vc/vc-hooks.el (vc-display-status)
(vc-default-mode-line-string):
* vc/vc-mtn.el (vc-mtn-mode-line-string): Doc fixes.

* dired.el (dired-sort-set-mode-line): Rename from
dired-sort-set-modeline.  All callers changed.

* foldout.el (foldout-mode-line-string): Rename from
foldout-modeline-string.  All callers changed.
(foldout-update-mode-line): Rename from foldout-update-modeline.

* strokes.el (strokes-lighter): Rename from
strokes-modeline-string.

* subr.el (redraw-modeline): Make into obsolete alias.

* calendar/timeclock.el (timeclock-mode-line-display): Rename from
timeclock-modeline-display.  Make old name an alias.
(timeclock-update-mode-line): Likewise.  All callers changed.
(timeclock-mode-line-display): No need to check before using
add-hook.
(timeclock-relative, timeclock-day-over-hook)
(timeclock-use-elapsed, timeclock-mode-string)
(timeclock-mode-line-display): Doc fix, "modeline" -> "mode line".

* emulation/crisp.el (crisp-mode-mode-line-string): Rename from
crisp-mode-modeline-string.

* erc-track.el (erc-track, erc-track-faces-priority-list)
(erc-track-faces-normal-list, erc-track-find-face)
(erc-track-modified-channels): Fix modeline -> mode line in docs.

* eshell/esh-mode.el (eshell-status-in-mode-line): Rename from
eshell-status-in-modeline.

* org-clock.el (org-clock-string-limit)
(org-clock-modeline-total, org-clock-task-overrun-text)
(org-clock-mode-line-entry): Doc fix, "modeline" -> "mode line".

* play/solitaire.el (solitaire-build-mode-line): Rename from
solitaire-build-modeline.  All callers changed.

* play/zone.el (zone-hiding-mode-line): Rename from
zone-hiding-modeline.  All callers changed.
(zone): Remove unusued `modeline-hidden-level' property.

* progmodes/xscheme.el (xscheme-mode-line-initialize): Rename from
xscheme-modeline-initialize.  All callers changed.

* textmodes/sgml-mode.el (html-face-tag-alist)
(html-tag-face-alist): Use mode-line face instead of obsolete
alias modeline.

Fixes: debbugs:10329
12 years agoAuto-commit of loaddefs files.
Glenn Morris [Sat, 2 Jun 2012 10:20:27 +0000 (06:20 -0400)]
Auto-commit of loaddefs files.

12 years agoAuto-commit of generated files.
Glenn Morris [Sat, 2 Jun 2012 10:17:26 +0000 (06:17 -0400)]
Auto-commit of generated files.

12 years agoAlways require `cl'.
Stefan Merten [Sat, 2 Jun 2012 09:43:51 +0000 (11:43 +0200)]
Always require `cl'.

12 years ago* alloc.c (CONS_BLOCK_SIZE): Account for padding at the end of
Andreas Schwab [Sat, 2 Jun 2012 08:52:27 +0000 (10:52 +0200)]
* alloc.c (CONS_BLOCK_SIZE): Account for padding at the end of
cons_block.

12 years agoAdd more enabled ImageMagick types.
Chong Yidong [Sat, 2 Jun 2012 07:30:07 +0000 (15:30 +0800)]
Add more enabled ImageMagick types.

* lisp/image.el (imagemagick-enabled-types): Rename from
imagemagick-types-enable.  Add many more types.
(imagemagick-types-inhibit): Change default to nil.
(imagemagick-filter-types): Caller changed.

12 years ago* xfns.c (x_set_tool_bar_lines) [USE_GTK]: Adjust to bitfield change.
Paul Eggert [Fri, 1 Jun 2012 20:49:03 +0000 (13:49 -0700)]
* xfns.c (x_set_tool_bar_lines) [USE_GTK]: Adjust to bitfield change.

12 years ago* lisp/emacs-lisp/cl-macs.el: Use backquotes.
Stefan Monnier [Fri, 1 Jun 2012 20:36:00 +0000 (16:36 -0400)]
* lisp/emacs-lisp/cl-macs.el: Use backquotes.
(cl-transform-function-property): Use eval-and-compile rather than
abusing `require'.
(defstruct): Use declare-function instead of with-no-warnings.

12 years ago* lisp/gnus/nntp.el: Stop the `letf' madness.
Stefan Monnier [Fri, 1 Jun 2012 20:24:17 +0000 (16:24 -0400)]
* lisp/gnus/nntp.el: Stop the `letf' madness.
(nntp--report-1): New var.
(nntp-report): Merge nntp-report-1 into it.
(nntp-with-open-group-function): Set nntp--report-1 instead of modifying
the nntp-report function.

12 years ago* lisp/gnus/auth-source.el: Fix comment-style to follow the convention.
Stefan Monnier [Fri, 1 Jun 2012 20:12:11 +0000 (16:12 -0400)]
* lisp/gnus/auth-source.el: Fix comment-style to follow the convention.

12 years ago* lisp/emacs-lisp/bytecomp.el: Fix last change.
Stefan Monnier [Fri, 1 Jun 2012 19:47:54 +0000 (15:47 -0400)]
* lisp/emacs-lisp/bytecomp.el: Fix last change.
(byte-compile-output-docform): Re-add the print-circle bindings.
(byte-compile-fix-header): Use #$ just because it's shorter.
(byte-compile-output-file-form): Remove defun/defmacro.

Fixes: debbugs:11594
12 years agoRemove --disable-maintainer-mode option from 'configure'. (Bug#11555)
Paul Eggert [Fri, 1 Jun 2012 18:26:21 +0000 (11:26 -0700)]
Remove --disable-maintainer-mode option from 'configure'.  (Bug#11555)

It is confusingly named and rarely useful.  See, for example,
<http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00089.html>.
* INSTALL.BZR: Don't mention --disable-maintainer-mode.
* Makefile.in (MAINTAINER_MODE_FLAG): Remove; all uses removed.
* configure.in: Remove --disable-maintainer-mode.
(USE_MAINTAINER_MODE, MAINT): Remove.
* admin/make-tarball.txt: Don't worry about maintainer mode.
* etc/NEWS: Mention this.

12 years agoRemove obsolete binding in choose-completion.
Martin Rudalics [Fri, 1 Jun 2012 13:44:48 +0000 (15:44 +0200)]
Remove obsolete binding in choose-completion.

* simple.el (choose-completion): Remove now obsolete binding for
owindow.

12 years ago* net/tramp.el (tramp-check-for-regexp): Search from buffer end,
Michael Albinus [Fri, 1 Jun 2012 13:23:26 +0000 (15:23 +0200)]
* net/tramp.el (tramp-check-for-regexp): Search from buffer end,
in order to avoid "Stack overflow in regexp matcher".

12 years agoAuto-commit of loaddefs files.
Glenn Morris [Fri, 1 Jun 2012 10:18:34 +0000 (06:18 -0400)]
Auto-commit of loaddefs files.

12 years ago* etc/spook.lines: Additions. (tiny change)
Andrew Beals [Fri, 1 Jun 2012 07:10:49 +0000 (00:10 -0700)]
* etc/spook.lines: Additions.  (tiny change)

Fixes: debbugs:11598
12 years agoFor a 'struct window', replace some Lisp_Object fields to
Dmitry Antipov [Fri, 1 Jun 2012 03:41:03 +0000 (07:41 +0400)]
For a 'struct window', replace some Lisp_Object fields to
bitfields where appropriate, remove unused fields.
* window.h (struct window): Remove unused 'last_mark_x' and
'last_mark_y' fields.  Rename 'mini_p' field to 'mini',
change it's type from Lisp_Object to bitfield.
Change type of 'force_start', 'optional_new_start',
'last_had_star', 'update_mode_line' and 'start_at_line_beg'
fields from Lisp_Object to bitfield. Adjust users accordingly.

12 years agoChangeLog merge fix
Glenn Morris [Thu, 31 May 2012 20:06:04 +0000 (16:06 -0400)]
ChangeLog merge fix

12 years agoFix imagemagick-filter-types for imagemagick-types-enable = t.
Glenn Morris [Thu, 31 May 2012 17:21:31 +0000 (13:21 -0400)]
Fix imagemagick-filter-types for imagemagick-types-enable = t.

12 years agoSplit off imagemagick-filter-types from imagemagick-register-types
Glenn Morris [Thu, 31 May 2012 17:14:46 +0000 (13:14 -0400)]
Split off imagemagick-filter-types from imagemagick-register-types

* lisp/image.el: (imagemagick-filter-types): New function.  (Bug#7406)
(imagemagick-register-types): Use imagemagick-filter-types.

* etc/NEWS: Mention this.

12 years agoAdd option imagemagick-types-enable
Glenn Morris [Thu, 31 May 2012 07:22:33 +0000 (00:22 -0700)]
Add option imagemagick-types-enable

* lisp/image.el: For clarity, call imagemagick-register-types at
top-level, rather than relying on a custom :initialize.
(imagemagick-types-enable): New option.
(imagemagick-register-types): Respect imagemagick-types-inhibit.
If disabling support, remove elements altogether rather
than using an impossible regexp.
(imagemagick-types-inhibit): Give it the default init function.

* src/image.c (Fimagemagick_types): Doc fix.

* etc/NEWS: Mention this.

Fixes: debbugs:11557
12 years agoPacify gcc -Wdouble-precision when using Xaw.
Paul Eggert [Thu, 31 May 2012 06:51:43 +0000 (23:51 -0700)]
Pacify gcc -Wdouble-precision when using Xaw.

* xterm.c (xaw_jump_callback, x_set_toolkit_scroll_bar_thumb)
[HAVE_X_WINDOWS && USE_TOOLKIT_SCROLL_BARS && !USE_MOTIF && !USE_GTK]:
Use 'float' consistently, rather than 'float' in most places
and 'double' in a couple of places.

12 years agoMerge from emacs-24; up to 2012-04-24T21:47:24Z!michael.albinus@gmx.de
Chong Yidong [Thu, 31 May 2012 06:08:06 +0000 (14:08 +0800)]
Merge from emacs-24; up to 2012-04-24T21:47:24Z!michael.albinus@gmx.de

12 years agoFix long filename handling of byte-compile-fix-header.
Stefan Monnier [Thu, 31 May 2012 05:56:57 +0000 (13:56 +0800)]
Fix long filename handling of byte-compile-fix-header.

* lisp/emacs-lisp/bytecomp.el (byte-compile-fix-header): Handle
arbitrary file name lengths (Bug#11585).

12 years agoRemove obsolete '#define static' cruft.
Paul Eggert [Thu, 31 May 2012 05:08:37 +0000 (22:08 -0700)]
Remove obsolete '#define static' cruft.

* etc/PROBLEMS: Remove obsolete '#define static' cruft.
* lwlib/xlwmenu.c [emacs]: Include "bitmaps/gray.xbm".
(gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits) [!emacs]:
Remove; all uses replaced with definiens.
* src/s/hpux10-20.h (_FILE_OFFSET_BITS): Don't #undef.
This #undef was "temporary" in 2000; it is no longer needed
now that '#define static' has gone away.
* src/xfns.c, src/xterm.h (gray_bitmap_width, gray_bitmap_height)
(gray_bitmap_bits): Remove; no longer needed.
All uses replaced with definiens.
* src/xterm.c: Include "bitmaps/gray.xbm".

12 years agoAdd `declare' for `defun'. Align `defmacro's with it.
Stefan Monnier [Thu, 31 May 2012 01:41:17 +0000 (21:41 -0400)]
Add `declare' for `defun'.  Align `defmacro's with it.
* lisp/emacs-lisp/easy-mmode.el (define-minor-mode)
(define-globalized-minor-mode): Don't autoload the var definitions.
* lisp/emacs-lisp/byte-run.el: Use lexical-binding.
(defun-declarations-alist, macro-declarations-alist): New vars.
(defmacro, defun): Use them.
(make-obsolete, define-obsolete-function-alias)
(make-obsolete-variable, define-obsolete-variable-alias):
Use `declare'.
(macro-declaration-function): Mark obsolete.
* lisp/emacs-lisp/autoload.el: Use lexical-binding.
(make-autoload): Add `expansion' arg.  Rely more on macro expansion.

12 years ago* etc/NEWS: Doc fix.
Juri Linkov [Thu, 31 May 2012 01:09:41 +0000 (04:09 +0300)]
* etc/NEWS: Doc fix.

Fixes: debbugs:11574
12 years agoClean up __executable_start, monstartup when --enable-profiling.
Paul Eggert [Wed, 30 May 2012 19:23:37 +0000 (12:23 -0700)]
Clean up __executable_start, monstartup when --enable-profiling.

The following changes affect the code only when profiling.
* dispnew.c (__executable_start): Rename from safe_bcopy.
Define only on platforms that need it.
* emacs.c: Include <sys/gmon.h> when profiling.
(_mcleanup): Remove decl, since <sys/gmon.h> does it now.
(__executable_start): Remove decl, since lisp.h does it now.
(safe_bcopy): Remove decl; no longer has that name.
(main): Coalesce #if into single bit of code, for simplicity.
Cast pointers to uintptr_t, since standard libraries want integers
and not pointers.
* lisp.h (__executable_start): New decl.

12 years agoFix bug #11587 with a crash in an Info buffer under linum-mode.
Eli Zaretskii [Wed, 30 May 2012 18:09:17 +0000 (21:09 +0300)]
Fix bug #11587 with a crash in an Info buffer under linum-mode.

 src/xdisp.c (handle_stop): Detect whether we have overlay strings
 loaded by testing it->current.overlay_string_index to be
 non-negative, instead of checking whether n_overlay_strings is
 positive.

12 years agoispell.el: Define `ispell-with-no-warnings' as a macro. Deal with obsolete `interacti...
Agustín Martín [Wed, 30 May 2012 16:14:37 +0000 (18:14 +0200)]
ispell.el: Define `ispell-with-no-warnings' as a macro. Deal with obsolete `interactive-p'

* Current `ispell-with-no-warnings' definition does not avoid warnings.
  Use a macro definition taken from orgmode.

* Deal with a couple of occurrences of obsolete `interactive-p'.

12 years agoImprove call-process-region error message.
Jim Meyering [Wed, 30 May 2012 14:20:45 +0000 (22:20 +0800)]
Improve call-process-region error message.

* src/callproc.c (Fcall_process_region): Include directory component
in mkstemp error message.

Fixes: debbugs:11586
12 years ago* keymap.c (describe_map_tree): Revert 2011-07-07 change.
Chong Yidong [Wed, 30 May 2012 14:08:58 +0000 (22:08 +0800)]
* keymap.c (describe_map_tree): Revert 2011-07-07 change.

* doc.c (Fsubstitute_command_keys): Doc fix.

Fixes: debbugs:1169
12 years ago* alloc.c, lisp.h (make_pure_vector): Now static.
Paul Eggert [Wed, 30 May 2012 07:59:44 +0000 (00:59 -0700)]
* alloc.c, lisp.h (make_pure_vector): Now static.

12 years ago* lisp/emacs-lisp/byte-run.el (defmacro, defun): Move from C.
Stefan Monnier [Wed, 30 May 2012 03:59:42 +0000 (23:59 -0400)]
* lisp/emacs-lisp/byte-run.el (defmacro, defun): Move from C.
(macro-declaration-function): Move var from C code.
(macro-declaration-function): Define function with defalias.
* lisp/emacs-lisp/macroexp.el (macroexpand-all-1):
* lisp/emacs-lisp/cconv.el (cconv-convert, cconv-analyse-form):
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Don't handle
defun/defmacro any more.
* lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-signature):
Provide fallback for unknown arglist.
(byte-compile-arglist-warn): Change calling convention.
(byte-compile-output-file-form): Move print-vars binding.
(byte-compile-output-docform): Simplify accordingly.
(byte-compile-file-form-defun, byte-compile-file-form-defmacro)
(byte-compile-defmacro-declaration): Remove.
(byte-compile-file-form-defmumble): Generalize to defalias.
(byte-compile-output-as-comment): Return byte-positions.
Simplify callers accordingly.
(byte-compile-lambda): Use `assert'.
(byte-compile-defun, byte-compile-defmacro): Remove.
(byte-compile-file-form-defalias):
Use byte-compile-file-form-defmumble.
(byte-compile-defalias-warn): Remove.
* src/eval.c (Fdefun, Fdefmacro, Vmacro_declaration_function):
Move to byte-run.el.
(Fautoload): Do the hash-doc more carefully.
* src/data.c (Fdefalias): Purify definition, except for keymaps.
(Qdefun): Move from eval.c.
* src/lisp.h (Qdefun): Remove.
* src/lread.c (read1): Tiny simplification.
* lib-src/make-docfile.c: Improve comment style.
(search_lisp_doc_at_eol): New function.
(scan_lisp_file): Use it.

12 years agoFix ChangeLog entry by negating its 1st sentence.
Paul Eggert [Tue, 29 May 2012 21:33:38 +0000 (14:33 -0700)]
Fix ChangeLog entry by negating its 1st sentence.

12 years agoSilence `checkdoc-ispell' errors where possible. Fix authors. Improve
Stefan Merten [Tue, 29 May 2012 20:14:18 +0000 (22:14 +0200)]
Silence `checkdoc-ispell' errors where possible.  Fix authors.  Improve
comments.  Improve loading of `cl'.

(rst-mode-abbrev-table): Merge definition.
(rst-mode): Make sure `font-lock-defaults' is buffer local.
(rst-define-key, rst-deprecated-keys, rst-call-deprecated): Refactor.