1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-02 18:21:19 -08:00
Commit graph

94253 commits

Author SHA1 Message Date
Stefan Monnier
ce5b453a44 Make variable forwarding explicit rather the using special values.
Basically, this makes the structure of buffer-local values and object
forwarding explicit in the type of Lisp_Symbols rather than use
special Lisp_Objects for that.  This tends to lead to slightly more
verbose code, but is more C-like, simpler, and makes it easier to make
sure we handled all cases, among other things by letting the compiler
help us check it.
* lisp.h (enum Lisp_Misc_Type, union Lisp_Misc):
Removing forwarding objects.
(enum Lisp_Fwd_Type, enum symbol_redirect, union Lisp_Fwd): New types.
(struct Lisp_Symbol): Make the various forms of variable-forwarding
explicit rather than hiding them inside Lisp_Object "values".
(XFWDTYPE): New macro.
(XINTFWD, XBOOLFWD, XOBJFWD, XKBOARD_OBJFWD): Redefine.
(XBUFFER_LOCAL_VALUE): Remove.
(SYMBOL_VAL, SYMBOL_ALIAS, SYMBOL_BLV, SYMBOL_FWD, SET_SYMBOL_VAL)
(SET_SYMBOL_ALIAS, SET_SYMBOL_BLV, SET_SYMBOL_FWD): New macros.
(SYMBOL_VALUE, SET_SYMBOL_VALUE): Remove.
(struct Lisp_Intfwd, struct Lisp_Boolfwd, struct Lisp_Objfwd)
(struct Lisp_Buffer_Objfwd, struct Lisp_Kboard_Objfwd):
Remove the Lisp_Misc_* header.
(struct Lisp_Buffer_Local_Value): Redefine.
(BLV_FOUND, SET_BLV_FOUND, BLV_VALUE, SET_BLV_VALUE): New macros.
(struct Lisp_Misc_Any): Add filler to get the right size.
(struct Lisp_Free): Use struct Lisp_Misc_Any rather than struct
Lisp_Intfwd.
(DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL, DEFVAR_INT)
(DEFVAR_KBOARD): Allocate a forwarding object.
* data.c (do_blv_forwarding, store_blv_forwarding): New macros.
(let_shadows_global_binding_p): New function.
(union Lisp_Val_Fwd): New type.
(make_blv): New function.
(swap_in_symval_forwarding, indirect_variable, do_symval_forwarding)
(store_symval_forwarding, swap_in_global_binding, Fboundp)
(swap_in_symval_forwarding, find_symbol_value, Fset)
(let_shadows_buffer_binding_p, set_internal, default_value)
(Fset_default, Fmake_variable_buffer_local, Fmake_local_variable)
(Fkill_local_variable, Fmake_variable_frame_local)
(Flocal_variable_p, Flocal_variable_if_set_p)
(Fvariable_binding_locus):
* xdisp.c (select_frame_for_redisplay):
* lread.c (Fintern, Funintern, init_obarray, defvar_int)
(defvar_bool, defvar_lisp_nopro, defvar_lisp, defvar_kboard):
* frame.c (store_frame_param):
* eval.c (Fdefvaralias, Fuser_variable_p, specbind, unbind_to):
* bytecode.c (Fbyte_code) <varref, varset>: Adapt to the new symbol
value structure.
* buffer.c (PER_BUFFER_SYMBOL): Move from buffer.h.
(clone_per_buffer_values): Only adjust markers into the current buffer.
(reset_buffer_local_variables): PER_BUFFER_IDX is never -2.
(Fbuffer_local_value, set_buffer_internal_1)
(swap_out_buffer_local_variables):
Adapt to the new symbol value structure.
(DEFVAR_PER_BUFFER): Allocate a Lisp_Buffer_Objfwd object.
(defvar_per_buffer): Take a new arg for the fwd object.
(buffer_lisp_local_variables): Return a proper alist (different fix
for bug#4138).
* alloc.c (Fmake_symbol): Use SET_SYMBOL_VAL.
(Fgarbage_collect): Don't handle buffer_defaults specially.
(mark_object): Handle new symbol value structure rather than the old
special Lisp_Misc_* objects.
(gc_sweep) <symbols>: Free also the buffer-local-value objects.
* term.c (set_tty_color_mode):
* bidi.c (bidi_initialize): Don't access the ->value field directly.
* buffer.h (PER_BUFFER_VAR_OFFSET): Don't bother with
a buffer_local_flags.
* print.c (print_object): Get rid of impossible forwarding objects.
2010-04-19 21:50:52 -04:00
Stefan Monnier
56d365a93d (completion-styles-alist): Fix up last merge and document `substring'. 2010-04-19 14:33:11 -04:00
Stefan Monnier
87926e02dc * international/mule.el: Help the user choose a valid coding-system.
(read-buffer-file-coding-system): New function.
(set-buffer-file-coding-system): Use it.  Prompt the user if the
coding-system cannot encode all the chars.
2010-04-19 13:05:12 -04:00
Eli Zaretskii
fd3998ffe2 Cosmetic changes in src/bidi.c.
bidi.c (bidi_get_type, bidi_get_category)
 (bidi_at_paragraph_end, bidi_resolve_weak, bidi_resolve_neutral)
 (bidi_type_of_next_char, bidi_level_of_next_char): Declare
 static.  Use `INLINE' rather than `inline'.
2010-04-19 19:22:55 +03:00
Eli Zaretskii
940afb597e Improve commentary regarding redisplay. 2010-04-19 18:35:15 +03:00
Stefan Monnier
c80fa13c0d * vc-bzr: Use standard *vc* and *vc-diff* buffers.
(vc-bzr-shelve-show, vc-bzr-shelve-apply)
(vc-bzr-shelve-apply-and-keep, vc-bzr-shelve-snapshot):
Don't use *vc-bzr-shelve*.
2010-04-19 11:26:06 -04:00
Stefan Monnier
6e104790e7 Merge from emacs-23 2010-04-19 11:07:52 -04:00
Stefan Monnier
b5feea0fea * tmm.el: Add missing key-binding shortcuts.
(tmm-prompt): Remove obsolete call to x-popup-menu.
(tmm-get-keymap): Add key-binding shortcuts now that they're not
available in the "keyseq cache" any more.
2010-04-19 10:34:01 -04:00
Eli Zaretskii
9166b0f33f Mention in src/ChangeLog the bug number solved by 2010-04-19T12:12:13Z!eliz@gnu.org. 2010-04-19 16:17:44 +03:00
Stefan Monnier
79d74ac527 (completion-styles): Improve docstrings. 2010-04-19 09:17:40 -04:00
Eli Zaretskii
d1da276f60 .gdbinit (xsubchartable): New command. 2010-04-19 16:05:35 +03:00
Eli Zaretskii
37dcfea079 Fix crashes in GC in "emacs -nw".
xdisp.c (display_line): Don't write beyond the last glyph row in
 the desired matrix.  Fixes crashes in "emacs -nw", see
 http://lists.gnu.org/archive/html/emacs-devel/2010-04/msg00075.html
 and http://lists.gnu.org/archive/html/emacs-devel/2010-04/msg00213.html
2010-04-19 15:12:13 +03:00
Juanma Barranquero
e42cd1a757 * dired.c (Ffile_attributes): Fix typo in docstring. 2010-04-19 05:06:29 +02:00
Stefan Monnier
9892380099 * custom.el (defcustom): Add edebug spec. 2010-04-18 22:32:47 -04:00
Juri Linkov
fd5c9dfa9e Test for special mode-class in view-buffer instead of view-file (bug#5513).
* view.el (view-file, view-buffer): Move test for special mode-class
from view-file to view-buffer.

* tar-mode.el (tar-extract): Turn if's into one cond
like in arc-mode.el.
2010-04-19 02:49:58 +03:00
Katsumi Yamaoka
bff3818b73 Synch with Gnus trunk:
2010-04-17  Teodor Zlatanov  <tzz@lifelogs.com>
 * gnus.texi (Gnus Versions, Oort Gnus): Mention the Git repo instead of
 the CVS repo.  Put the Git repo in the news section.
 * gnus-coding.texi (Gnus Maintainance Guide): Fixed title typo.
 Removed some mentions of CVS.  Mention the new Git repo.

2010-04-17  Teodor Zlatanov  <tzz@lifelogs.com>
 * smime.el: Don't mention CVS.
 * nnrss.el (nnrss-fetch): Don't mention CVS.
 * nnir.el: Don't mention CVS.
2010-04-18 23:24:22 +00:00
Juri Linkov
b3671a51b9 Add 7z archive format support (bug#5475).
* arc-mode.el (archive-zip-extract): Try to find 7z executable.
(archive-7z-extract): New defcustom.
(archive-find-type): Add magic string for 7z.
(archive-extract-by-stdout): Add new optional arg `stderr-file'.
If `stderr-file' is non-nil, use `(t stderr-file)' for the
`buffer' arg of `call-process'.
(archive-zip-extract): Check `archive-zip-extract' for "7z" and
call the function `archive-7z-extract' with the variable
`archive-7z-extract' let-bound to `archive-zip-extract'.
(archive-7z-summarize, archive-7z-extract): New functions.

* international/mule.el (auto-coding-alist):
* files.el (auto-mode-alist): Add 7z file extension.
2010-04-19 02:08:52 +03:00
Chong Yidong
a42dbee160 * programs.texi (Semantic): New node.
* maintaining.texi (EDE): New node.

* emacs.texi: Update node listing.

* misc.texi (Gnus): Use the `C-h i' keybinding for info.
2010-04-18 19:02:16 -04:00
Stefan Monnier
e951580547 Hash-cons pure data.
* alloc.c (Fpurecopy): Hash-cons if requested.
(syms_of_alloc): Update purify-flag docstring.
* loadup.el: Setup hash-cons for pure data.
2010-04-18 17:49:33 -04:00
Stefan Monnier
f8ea0098d9 Fix duplicate entries in cedet's loaddefs.el files.
* emacs-lisp/autoload.el (autoload-file-load-name): Be more clever.
Should make most file-local generated-autoload-file unnecessary.
(print-readably): Silence warnings.
(autoload-find-destination): Take load-name as an arg to make sure
it's the same as the one that will be in the file.
(autoload-generate-file-autoloads): Adjust to above changes.
Try to make the dataflow a bit simpler.
2010-04-18 17:45:44 -04:00
Chong Yidong
137327efbd Bugfix for ede-proj-makefile-insert-variables.
* cedet/ede/pmake.el (ede-proj-makefile-insert-variables): Don't
destroy list before using it.
2010-04-18 17:40:10 -04:00
Stefan Monnier
8a37fb25cb * cvs-status.el (cvs-refontify): Remove unused. 2010-04-18 17:37:29 -04:00
Stefan Monnier
b9f2036404 (Mathematics): Prefer Unicode charset. 2010-04-18 17:35:20 -04:00
Jan Djärv
22aa44a857 Set USER_POS in hint_flags to work around Cygwin problem.
gtkutil.c (xg_set_geometry): Set size in geometry string also.
(x_wm_set_size_hint): Set USER_POS in hint_flags (Bug#5968).
2010-04-18 13:24:59 +02:00
Jay Belanger
f8b91752dd calc-bin.el (calc-radix): Have the O option turn on twos-complement mode. 2010-04-17 23:13:09 -05:00
Jay Belanger
a0d3397536 calc.el (calc-mode-map): Bind O to 'calc-missing-key'. 2010-04-17 22:09:18 -05:00
Jan Djärv
7aad87e884 Set _NET_WM_WINDOW_TYPE in menus. Looks bad with compiz otherwise.
xlwmenu.c (set_window_type): New function.
(make_windows_if_needed, XlwMenuRealize): Call set_window_type.
2010-04-17 20:18:12 +02:00
Jan D
f0bd159891 Don't redraw lucid menus more than needed. Use double buffer to reduce flicker.
* xlwmenu.c: Include Shell.h, remove duplicate declaration of
XlwMenuRedisplay.
(display_menu_item): Replace ws->window with ws->pixmap, remove
call to XftDrawRect.
(display_menu): Remove this and that argument.  Remove
just_compute_this_one_p. Fill pixmap at start and copy it to window
at end.
(expose_cb): New function.
(make_windows_if_needed): Replace XCreateWindow with XtCreatePopup.
Add eventhandler for expose to expose_cb.  Remove creation of
xft_draw.
(create_pixmap_for_menu): New function.
(remap_menubar): Pop down menus that aren't the same as in old_stack.
Set width, heigh, x, y on widget with XtVaSetValues.  Call
create_pixmap_for_menu.
Replace XUnmapWindow with XtPopdown.
Remowe two last parameters to display_menu.
(map_event_to_widget_value, XlwMenuRedisplay, Key, Select)
(pop_up_menu): Remowe two last parameters to display_menu.
(XlwMenuRealize): Call create_pixmap_for_menu, set w and pixmap.
Remove call to XftDrawCreate.
(XlwMenuDestroy): Free pixmap.  Call XtDestroyWidget instead of
XDestroyWindow.
(handle_motion_event): Only call handle_single_motion_event once.

* xlwmenuP.h (window_state): Add pixmap and w.
2010-04-17 19:43:03 +02:00
Dan Nicolaescu
bce3183024 Fix the version number for added files.
* vc-hg.el (vc-hg-working-revision): Check if the file is
registered after hg parent fails (Bug#5961).
2010-04-17 09:10:19 -07:00
Chong Yidong
b8a1d5a14b Fix crash on NextStep terminal (Bug#5837)
* xdisp.c (prepare_menu_bars): Don't call ns_set_doc_edited for
terminal frames (Bug#5837).
2010-04-17 11:53:55 -04:00
Eli Zaretskii
ebb5722ecf Fix a crash when an NSM character is inserted at BEGV.
bidi.c (bidi_init_it): Fix initialization of bidi_it->prev.
 (bidi_resolve_weak): Don't use prev.type_after_w1 if it is
 NEUTRAL_B or UNKNOWN_BT.
2010-04-17 16:34:23 +03:00
Jay Belanger
d8b01fef63 * calc-ext.el (calc-init-extensions): Add keybinding for 'calc-option'.
Add `calc-option-prefix-help' to calc-help autoloads.
(calc-inverse): Add "Option" to message, as appropriate.
(calc-hyperbolic): Add "Option" to message, as appropriate.
(calc-option, calc-is-option): New functions.

* calc-help.el (calc-full-help):  Add `calc-option-help'.
(calc-option-prefix-help): New function.

* calc-misc.el (calc-help): Add "Option" entry.

* calc.el (calc-local-var-list): Add `calc-option-flag'.
(calc-option-flag): New variable.
(calc-do): Set `calc-option-flag to nil.
(calc-set-mode-line): Add "Opt " as appropriate.
2010-04-16 21:47:25 -05:00
Glenn Morris
0433ffa6c7 Add some autoloads.
* htmlfontify.el (htmlfontify-buffer)
(htmlfontify-copy-and-link-dir): Autoload entry points.
2010-04-16 19:07:48 -07:00
Glenn Morris
8ecd59ca5a * etc/NEWS: Minor edits. 2010-04-16 19:06:12 -07:00
Chong Yidong
8507c65c5f Fix to vc-hg-annotate-extract-revision-at-line (Bug#5960).
* vc-hg.el (vc-hg-annotate-extract-revision-at-line): Expand file
name relative to the project root (Bug#5960).
2010-04-16 20:28:19 -04:00
Eli Zaretskii
0f4442efb1 Fix bug #5943: C-e in a truncated line doesn't auto-hscroll.
xdisp.c (set_cursor_from_row): Don't consider possibility of
 other rows with cursor unless they are different from this row and
 this row is part of a continued line.
2010-04-16 23:37:59 +03:00
Dan Nicolaescu
7d4e45f81c * s/freebsd.h: Restore osreldate.h include.
Suggested by Naohiro Aota.
2010-04-16 10:22:12 -07:00
Jan D
5ba5ec85f6 * xmenu.c (apply_systemfont_to_menu): *childs was incorrectly used. 2010-04-16 19:05:31 +02:00
Glenn Morris
d52dbd3d45 * emacs.texi (Acknowledgments): Remove duplicate. 2010-04-16 00:43:29 -07:00
Glenn Morris
a20a9df3c0 * ack.texi, emacs.texi (Acknowledgments): Update for Org changes. 2010-04-16 00:41:19 -07:00
Katsumi Yamaoka
b1519d8561 Synch with Gnus trunk:
(Score File Format): Fix typo.
(Mail Group Commands): Add index entry.
By Andreas Seltenreich <seltenreich@gmx.de>.
2010-04-16 03:26:07 +00:00
Glenn Morris
46a4f27f4a * etc/NEWS: git version number issues don't need manual changes. 2010-04-15 19:50:42 -07:00
Glenn Morris
10a311748b Improve previous change. 2010-04-15 19:45:26 -07:00
Glenn Morris
e9ef97770f * vc-git.el (vc-git-print-log): Doc fix. 2010-04-15 19:39:22 -07:00
Glenn Morris
a77fe20c70 * maintaining.texi (VC Directory Commands): Mention stashes and shelves. 2010-04-15 19:35:59 -07:00
Juri Linkov
74f806a116 Move scrolling commands from simple.el to window.el
because their primitives are implemented in window.c.

* simple.el (scroll-error-top-bottom)
(scroll-up-command, scroll-down-command, scroll-up-line)
(scroll-down-line, scroll-other-window-down)
(beginning-of-buffer-other-window, end-of-buffer-other-window):
* window.el (scroll-error-top-bottom)
(scroll-up-command, scroll-down-command, scroll-up-line)
(scroll-down-line, scroll-other-window-down)
(beginning-of-buffer-other-window, end-of-buffer-other-window):
Move from simple.el to window.el because their primitives are
implemented in window.c.
2010-04-16 04:41:58 +03:00
Juri Linkov
ad40eec53f Check both isearch-scroll' and scroll-command' properties.
* isearch.el (isearch-lookup-scroll-key): Check both
`isearch-scroll' and `scroll-command' properties.
(scroll-up, scroll-down): Remove `isearch-scroll' property.

* mwheel.el (mwheel-scroll): Remove `isearch-scroll' property.

* simple.el (scroll-up-command, scroll-down-command)
(scroll-up-line, scroll-down-line): Remove `isearch-scroll' property.
2010-04-16 04:24:00 +03:00
YAMAMOTO Mitsuharu
b117f7cc49 xlwmenu.c (facename_changed): Put function in #ifdef HAVE_XFT. 2010-04-16 10:08:29 +09:00
Chong Yidong
20af301df3 * s/cygwin.h: Avoid linking against static libgcc.
See http://lists.gnu.org/archive/html/emacs-devel/2010-01/msg01128.html
2010-04-15 21:00:45 -04:00
Juri Linkov
a4b000fb3d Add the `scroll-command' property.
* window.c: Add Qscroll_command.
Remove Vscroll_preserve_screen_position_commands.
(window_scroll_pixel_based, window_scroll_line_based): Check the
`scroll-command' property on the last command instead of searching
the last command in Vscroll_preserve_screen_position_commands.
(syms_of_window): Initialize and staticpro `Qscroll_command'.
Put Qscroll_command property on Qscroll_up and Qscroll_down.
(scroll-preserve-screen-position): Doc fix.
(Vscroll_preserve_screen_position_commands): Remove variable.

* simple.el (scroll-up-command, scroll-down-command)
(scroll-up-line, scroll-down-line): Put `scroll-command'
property on the these symbols.  Remove them from
`scroll-preserve-screen-position-commands'.

* mwheel.el (mwheel-scroll): Put `scroll-command' and
`isearch-scroll' properties on the `mwheel-scroll' symbol.
Remove it from `scroll-preserve-screen-position-commands'.

* isearch.el (isearch-allow-scroll): Doc fix.
2010-04-16 02:51:12 +03:00