1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-07 12:20:39 -08:00
Commit graph

106734 commits

Author SHA1 Message Date
Dmitry Antipov
d7a7fda3cc Cleanup miscellaneous objects allocation and initialization.
* alloc.c (allocate_misc): Change to static.  Add argument to
specify the subtype.  Adjust comment and users.
(build_overlay): New function.
* buffer.c (copy_overlays, Fmake_overlay): Use it.
* lisp.h (struct Lisp_Overlay): Remove obsolete comment.
(allocate_misc): Remove prototype.
(build_overlay): Add prototype.
2012-07-23 15:15:43 +04:00
Andrew Cohen
5df1607869 nnir.el ("nnir"): Add 'virtual ability to nnir backend 2012-07-23 11:10:23 +00:00
Dmitry Antipov
372f8ffc2e Swap buffer text indirection counters in Fbuffer_swap_text.
* buffer.c (Fbuffer_swap_text): Swap indirections too.
This avoids crash reported by Christoph Scholtes at
http://lists.gnu.org/archive/html/bug-gnu-emacs/2012-07/msg00785.html.
2012-07-23 11:14:58 +04:00
Vincent Belaïche
b525fd8ad6 * ses.el (ses-cell-formula-aset): New macro.
(ses-cell-references-aset): New macro.
(ses-cell-p): New function.
(ses-rename-cell): Do no longer rely on complex operations like
ses-cell-set-formula or ses-set-cell to change the cell and handle
the undo at the same time, but rather use lower level new macros
`ses-cell-formula-aset' and `ses-cell-references-aset' and handle
the undo directly. Refresh the mode line.
2012-07-22 23:14:12 +02:00
Jan Djärv
9d7fa573c7 * nsmenu.m (Popdown_data): New struct.
(pop_down_menu): p->pointer is Popdown_data.  Release the pool and
free Popdown_data.
(ns_popup_dialog): Use NSAutoreleasePool and pass it to pop_down_menu.
(initWithContentRect): Make imgView and contentView non-static
and autorelease them.  Also autorelease img and matrix.
(dealloc): Remove (Bug#1995-05-29T20:16:10Z!kwzh@gnu.org).
2012-07-22 18:35:15 +02:00
Dmitry Antipov
0dd6d66d56 Adjust consing_since_gc when objects are explicitly freed.
* alloc.c (GC_DEFAULT_THRESHOLD): New macro.
(Fgarbage_collect): Use it.  Change minimum to 1/10 of default.
(free_cons, free_misc): Subtract object size from consing_since_gc.
2012-07-22 19:13:50 +04:00
Dmitry Antipov
d36d71df9c Simplify and cleanup markers positioning code.
* marker.c (attach_marker): More useful eassert.
(live_buffer, set_marker_internal): New function.
(Fset_marker, set_marker_restricted): Use set_marker_internal.
(set_marker_both, set_marker_restricted_both): Use live_buffer.
2012-07-22 09:37:24 +04:00
Paul Eggert
894bd8732d Merge from gnulib (comment changes only). 2012-07-21 21:16:53 -07:00
Paul Eggert
494913d6de Spelling fixes. 2012-07-21 21:11:49 -07:00
Paul Eggert
fb9ea40fc5 * buffer.h (struct buffer.indirections): Now ptrdiff_t, not int,
as it's limited by the amount of memory, not by INT_MAX.
2012-07-21 20:44:35 -07:00
Eli Zaretskii
37a9eac80c Fix previous change in w32menu.c. 2012-07-21 22:26:25 +03:00
Eli Zaretskii
1ada2e55c7 Improve documentation of special events and of the "e" interactive spec.
doc/lispref/commands.texi (Special Events): Mention language-change event.
 (Input Events, Interactive Codes):
 doc/lispref/keymaps.texi (Key Sequences): Mention events that are
 non-keyboard but also non-mouse events.
2012-07-21 17:48:17 +03:00
Eli Zaretskii
07fb592ead Bind language-change in special-event-map.
src/keyboard.c (keys_of_keyboard): Bind language-change to 'ignore'
 in special-event-map.  See the discussion at
 http://lists.gnu.org/archive/html/emacs-devel/2012-06/msg00417.html
 for the reasons.
2012-07-21 17:11:33 +03:00
Eli Zaretskii
2d5c5f7da9 Fix data type casting when setting up menus on Windows.
src/w32menu.c (add_menu_item): Cast to UINT_PTR when assigning
 info.dwItemData.  Fixes crashes on 64-bit Windows.  Suggested by
 Fabrice Popineau <fabrice.popineau@supelec.fr>.
2012-07-21 16:33:32 +03:00
Jan Djärv
784051c42a * nsterm.m (accessibilityAttributeValue): Surround with NS_IMPL_COCOA. 2012-07-21 14:10:49 +02:00
Jan Djärv
4b17afa7a4 * nsterm.m (conversationIdentifier): Return value is NSInteger. 2012-07-21 13:34:19 +02:00
Julien Danjou
f1e8a7f1a5 erc-notifications: new file 2012-07-21 13:08:32 +02:00
Julien Danjou
0fb40182ca lisp/gnus/message.el: Replace deprecated rmail vars 2012-07-21 11:05:32 +00:00
Jan Djärv
c4328746b5 * nsterm.m (accessibilityAttributeValue): New function..
Fixes: debbugs:11134
2012-07-21 12:23:21 +02:00
Chong Yidong
6e5d1c12ff Disallow windows on dead frames in decode_any_window.
* window.c (decode_any_window): Signal an error if the window is
on a dead frame.

Fixes: debbugs:11984
2012-07-21 14:17:30 +08:00
Chong Yidong
257210319f Merge from emacs-24 branch; up to 2012-05-01T10:20:43Z!rgm@gnu.org 2012-07-21 14:13:23 +08:00
Leo Liu
2c73e345cc Use match-string-no-properties instead in c-defun-name
for consistency.
2012-07-21 09:41:48 +08:00
Leo Liu
3646bcd6b8 * lisp/progmodes/cc-cmds.el (c-defun-name): Handle objc selectors properly.
Fixes: debbugs:7879
2012-07-21 05:18:52 +08:00
Vincent Belaïche
316e68a795 * ses.el (ses-rename-cell): Set new name also in reference list of cells of which the renamed cell depends. 2012-07-20 23:09:04 +02:00
Jan Djärv
fe1a523fd9 Backport: Recognize Objective-C methods also in c-defun-name
Fixes: debbugs:7879
2012-07-21 03:59:49 +08:00
Dmitry Antipov
9928463dcd Add indirection counting to speed up Fkill_buffer.
* buffer.h (struct buffer): New member.
* buffer.c (Fget_buffer_create): Set indirection counter to 0.
(Fmake_indirect_buffer): Set indirection counter to -1, increment
base buffer indirection counter.
(compact_buffer): If ENABLE_CHECKING, verify indirection counters.
(Fkill_buffer): Adjust indirection counters as needed, don't walk
through buffer list if indirection counter is 0.
2012-07-20 20:05:47 +04:00
Dmitry Antipov
f8643a6b9e Extend the value returned by Fgarbage_collect with heap statistics.
* alloc.c (Qheap): New symbol.
(syms_of_alloc): DEFSYM it.
(Fgarbage_collect): If DOUG_LEA_MALLOC, add mallinfo data.
(Fmemory_free): Remove.
(syms_of_alloc): Don't defsubr it.
* buffer.c (Fcompact_buffer): Remove.
(syms_of_buffer): Don't defsubr it.
2012-07-20 18:07:28 +04:00
Dmitry Antipov
dac616ff9f Make maybe_gc inline.
Verify that inlining is always possible (GCC 4.7.1, -O3 -Winline).
* lisp.h (consing_since_gc, gc_relative_threshold)
(memory_full_cons_threshold): Revert declaration.
(maybe_gc): Remove prototype, define as inline.
* alloc.c: Remove old commented-out code.
(consing_since_gc, gc_relative_threshold)
(memory_full_cons_threshold): Revert to global.
(maybe_gc): Remove.
2012-07-20 17:14:58 +04:00
Leo Liu
542dfbde70 * progmodes/cc-langs.el (c-symbol-start): Include char _.
Fixes: debbugs:11986
2012-07-20 19:36:41 +08:00
Masatake YAMATO
bbf0e7d978 * lisp/term/x-win.el (x-menu-bar-open): Use `frame-parameter'
to check whether menu-bar is shown or not.  If not shown,
show the menu-bar as a popup menu instead of using tmm.
* lisp/mouse.el (popup-menu): Accept `point' as `position' argument.
2012-07-20 07:32:30 -04:00
Dmitry Gutov
c28662a8dc * lisp/progmodes/ruby-mode.el (ruby-parse-partial): No error when end
up inside string symbol literal.
* test/automated/ruby-mode-tests.el: New file with one test.

Fixes: debbugs:11923
2012-07-20 07:10:25 -04:00
Eli Zaretskii
87ab808f0c Fix display of Hebrew tutorial title on splash screen.
lisp/startup.el (fancy-startup-text): Read the whole tutorial, not
 just its first 256 bytes.  Prevents gibberish in display of the
 tutorial title.
 etc/tutorials/TUTORIAL.he: Make the first sentence display correctly
 in a left-to-right paragraph, such as what is shown on the fancy
 splash screen, by using directional control characters.
2012-07-20 13:29:32 +03:00
Dmitry Antipov
d7ea76b4f3 Simple wrapper for make_unibyte_string, adjust font_open_by_name.
* src/lisp.h (build_unibyte_string): New function.
* src/dosfns.c, src/fileio.c, src/fns.c, src/ftfont.c, src/process.c:
* src/sysdep.c, src/w32fns.c, src/xfns.c: Use it.
* src/font.c (font_open_by_name): Change 2nd and 3rd args to the only arg
of type Lisp_Object to avoid redundant calls to make_unibyte_string.
Adjust users accordingly.
* src/font.h (font_open_by_name): Adjust prototype.
* admin/coccinelle/unibyte_string.cocci: Semantic patch to convert from
make_unibyte_string to build_unibyte_string where appropriate.
2012-07-20 11:29:04 +04:00
Dmitry Antipov
765e61e391 Cleanup calls to Fgarbage_collect.
* lisp.h (maybe_gc): New prototype.
(consing_since_gc, gc_relative_threshold, memory_full_cons_threshold):
Remove declarations.
* alloc.c (maybe_gc): New function.
(consing_since_gc, gc_relative_threshold, memory_full_cons_threshold):
Make them static.
* bytecode.c (MAYBE_GC): Use maybe_gc.
* eval.c (eval_sub, Ffuncall): Likewise.
* keyboard.c (read_char): Likewise.  Adjust call to maybe_gc
to avoid dependency from auto-save feature.
2012-07-20 09:28:00 +04:00
Dmitry Antipov
89dea803ea Drop idle buffer compaction due to an absence of the
proved efficiency.
* lisp/compact.el: Remove.
2012-07-20 08:13:04 +04:00
Paul Eggert
52b852c77d * buffer.h (FOR_EACH_BUFFER): Rename from 'for_each_buffer'.
(FOR_EACH_PER_BUFFER_OBJECT_AT): Rename from
'for_each_per_buffer_object_at'.
All uses changed.  It's better to use upper-case for macros that
cannot be implemented as functions, to give the reader a clue
that they're special.
2012-07-19 15:35:58 -07:00
Sam Steingold
8a4e6db81a * lisp/vc/vc-dispatcher.el (vc-compilation-mode): Add, based on
vc-bzr-pull & vc-bzr-merge-branch.
* lisp/vc/vc-bzr.el (vc-bzr-pull, vc-bzr-merge-branch): Use it.
(vc-bzr-error-regexp-alist): Rename from vc-bzr-error-regex-alist
for consistency with compilation-error-regexp-alist.
* lisp/vc/vc-git.el (vc-git-error-regexp-alist): Add.
(vc-git-pull, vc-git-merge-branch): Call vc-compilation-mode.
* lisp/vc/vc-hg.el (vc-hg-error-regexp-alist): Add.
(vc-hg-pull, vc-hg-merge-branch): Call vc-compilation-mode.
2012-07-19 10:38:01 -04:00
Stefan Monnier
5db81e3362 * lisp/emacs-lisp/chart.el: Use lexical-binding.
(chart-emacs-storage): Don't hardcode the list of entries.
* src/alloc.c (Fgarbage_collect): Tweak docstring.
2012-07-19 07:39:38 -04:00
Dmitry Antipov
5b835e1d6e Tweak the value returned from Fgarbage_collect again.
* src/alloc.c (Fgarbage_collect): New return value, as confirmed in
http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00418.html.
Adjust documentation.
(total_vector_bytes): Rename to total_vector_slots, adjust
accounting.
(total_free_vector_bytes): Rename to total_free_vector_slots,
adjust accounting.
(Qstring_bytes, Qvector_slots): New symbols.
(syms_of_alloc): DEFSYM them.
* lisp/emacs-lisp/chart.el (chart-emacs-storage): Adjust again.
2012-07-19 13:50:01 +04:00
Dmitry Antipov
9cd47b72e0 Compact buffers when idle.
* lisp/compact.el: New file.
* src/buffer.c (compact_buffer, Fcompact_buffer): New function.
(syms_of_buffer): Register Fcompact_buffer.
* src/alloc.c (Fgarbage_collect): Use compact_buffer.
* src/buffer.h (compact_buffer): New prototype.
(struct buffer_text): New member.
2012-07-19 12:56:53 +04:00
Stefan Monnier
1d6fc0df36 * lisp/subr.el (eventp): Presume that if it looks vaguely like an event,
it's an event.

Fixes: debbugs:10190
2012-07-19 02:24:04 -04:00
Dmitry Antipov
d17337e501 New macro to iterate over all buffers, miscellaneous cleanups.
* lisp.h (all_buffers): Remove declaration.
* buffer.h (all_buffers): Add declaration, with comment.
(for_each_buffer): New macro.
* alloc.c (Fgarbage_collect, mark_object): Use it.
* buffer.c (Fkill_buffer, Fbuffer_swap_text, Fset_buffer_multibyte)
(init_buffer): Likewise.
* data.c (Fset_default): Likewise.
* coding.c (code_conversion_restore): Remove redundant check
for dead buffer.
* buffer.c (Fkill_buffer): Likewise.  Remove obsolete comment.
2012-07-19 07:55:59 +04:00
Chong Yidong
23dc774492 Avoid two crashes involving windows on dead frames.
* window.c (Fwindow_absolute_pixel_edges)
(Fdelete_other_windows_internal): Signal an error if the window is
on a dead frame.

Fixes: debbugs:11984
2012-07-19 11:33:08 +08:00
Chong Yidong
e32a12b5ec * emacs.texi: Update ISBN. 2012-07-19 09:15:06 +08:00
Fabián Ezequiel Gallina
1d29cc7da7 Enhancements to ppss related code (thanks Stefan).
* progmodes/python.el (python-indent-context)
(python-indent-calculate-indentation, python-indent-dedent-line)
(python-indent-electric-colon, python-nav-forward-block)
(python-mode-abbrev-table)
(python-info-assignment-continuation-line-p): Simplified checks
for ppss context.
(python-info-continuation-line-p): Cleanup.
(python-info-ppss-context): Do not catch 'quote.
(python-info-ppss-context-type)
(python-info-ppss-comment-or-string-p): Simplify.
2012-07-18 21:55:55 -03:00
Andreas Schwab
60cfd27857 Fix bug that created negative-length intervals.
* intervals.c (merge_interval_right, merge_interval_left):
Do not zero out this interval if it is absorbed by its children,
as this interval's total length doesn't change in that case.  See
<http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00403.html>.
2012-07-18 14:33:37 -07:00
Fabián Ezequiel Gallina
d617c457bd progmodes/python.el: Set file local vars at end of file and clean tabs. 2012-07-18 16:04:06 -03:00
Fabián Ezequiel Gallina
d583cbe681 * progmodes/python.el: Enhancements to eldoc support.
(python-info-current-symbol): New function.
(python-eldoc-at-point): Use python-info-current-symbol.
(python-info-current-defun): Fix cornercase on first defun scan.
(python-eldoc--get-doc-at-point): Use python-info-current-symbol
and signal error when no inferior python process is available.
2012-07-18 15:40:03 -03:00
Paul Eggert
837131548b * alloc.c (Fmake_bool_vector): Fix off-by-8 bug
when invoking (make-bool-vector N t) and N is a positive
multiple of 8 -- the last 8 bits were mistakenly cleared.
2012-07-18 10:29:34 -07:00
Paul Eggert
d06714cb44 Remove some struct layout assumptions in bool vectors.
* alloc.c (bool_header_size): New constant.
(header_size, word_size): Move earlier, as they're now used earlier.
Use 'word_size' in a few more places, where it's appropriate.
(Fmake_bool_vector, sweep_vectors): Don't assume that there is no
padding before the data member of a bool vector.
(sweep_vectors): Use PSEUDOVECTOR_TYPEP, in an eassert, rather
than doing the check by hand with an abort ().
2012-07-18 10:26:43 -07:00