bpt/emacs.git
9 years agouse inexact real SCM numbers for lisp floats
BT Templeton [Wed, 11 Jul 2012 20:58:12 +0000 (16:58 -0400)]
use inexact real SCM numbers for lisp floats

* src/alloc.c (make_float): Use `scm_from_double'.n
* src/lisp.h (XFLOAT): Use `scm_to_double'.
  (lisp_float_tag, XSETFLOAT, XFLOAT_INIT): Remove.
  (FLOATP): Use `SCM_INEXACTP'.

9 years agostore lisp structures in SCM objects
BT Templeton [Wed, 11 Jul 2012 06:44:58 +0000 (02:44 -0400)]
store lisp structures in SCM objects

* src/alloc.c (allocate_string, make_float, Fcons, init_vectors)
  (allocate_vectorlike, allocate_buffer, Fmake_symbol, allocate_misc):
  Store a smob in the internal structure's self field. Adapted from
  Ken Raeburn's Guile-Emacs branch.

  (valid_lisp_object_p): Use `SCM_IMP' and `SCM2PTR'.

  (init_alloc_once): Initialize smob types.

  (lsb_bits): Remove.

* src/emacs.c (gdb_use_lsb, gdb_use_struct, gdb_gctypebits)
  (gdb_data_seg_bits): Remove.

* src/font.h (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT):
* src/frame.h (XFRAME): Use `SCM_SMOB_DATA'.

* src/lisp.h (EMACS_INT, EMACS_UINT, EMACS_INT_MAX, FIXNUM_BITS)
  (INTMASK, Lisp_Object, XHASH, XINT, XUINT, make_number, SXHASH)
  (MOST_POSITIVE_FIXNUM, MOST_NEGATIVE_FIXNUM, XTYPE, INTEGERP):
  Redefine in terms of libguile's SCM type.

  (XCONS, XVECTOR, XSTRING, XSYMBOL, XFLOAT, XMISC, XPROCESS, XWINDOW)
  (XTERMINAL, XSUBR, XBUFFER, XCHAR_TABLE, XSUB_CHAR_TABLE)
  (XBOOL_VECTOR, XSETPSEUDOVECTOR, XHASH_TABLE, TYPED_PSEUDOVECTORP):
  Use `SCM_SMOB_DATA'.

  (XSETCONS, XSETVECTOR, XSETSTRING, XSETSYMBOL, XSETFLOAT, XSETMISC):
  Use the SCM object from the structure's `self' field.

  (XSETSUBR): Use `SCM_NEWSMOB'.

  (struct Lisp_Cons, struct Lisp_String, struct vectorlike_header)
  (struct Lisp_Subr, struct Lisp_Symbol, struct Lisp_Misc_Any)
  (struct Lisp_Marker, struct Lisp_Overlay, struct Lisp_Save_Value)
  (struct Lisp_Float): Add a `self' field.

  (DEFUN): Initialize the `self' field to `NULL'.

  (SYMBOLP, MISCP, VECTORLIKEP, STRINGP, CONSP, FLOATP): Use
  `SCM_SMOB_PREDICATE'.

  (enum Lisp_Type): Simplify.
  (Lisp_Int): New enum value.
  (Lisp_Int0, Lisp_Int1): Remove.
  (LISP_INT_TAG, case_Lisp_Int): Simplify.
  (XTYPE): Use type predicates instead of returning the tag bits.

  (pI): Redefine.

  (lisp_symbol_tag, lisp_misc_tag, lisp_string_tag, lisp_vectorlike_tag)
  (lisp_cons_tag, lisp_float_tag): New variables.

  (VALBITS, VALMAX, USE_LSB_TAG, INTTYPEBITS, LISP_INT1_TAG)
  (LISP_STRING_TAG, LISP_INT_TAG_P, XLI, XIL, TYPEMASK, XSET, XPNTR)
  (XUNTAG, VALMASK): Remove.

* src/vm-limit.c (exceeds_lisp_ptr): Always return false.

* src/w32heap.c (allocate_heap, init_heap): Remove MSB tagging
  support, leaving only code that would have been used with
  (`USE_LSB_TAG' in effect.

9 years agodisable inlining
BT Templeton [Wed, 7 Aug 2013 17:21:35 +0000 (13:21 -0400)]
disable inlining

9 years agoremove pure-space-related Fautoload hack
BT Templeton [Wed, 11 Jul 2012 04:44:31 +0000 (00:44 -0400)]
remove pure-space-related Fautoload hack

* src/eval.c (Fautoload): Allow null docstrings to be passed to Ffset
  regardless of the value of `Vpurify_flag'.

9 years agoremove `chain' field from Lisp_Cons
BT Templeton [Wed, 11 Jul 2012 00:53:23 +0000 (20:53 -0400)]
remove `chain' field from Lisp_Cons

* src/lisp.h (struct Lisp_Cons): Remove `u.chain' field. All uses
  changed.

9 years agodon't create a hash table for pure space
BT Templeton [Thu, 5 Jul 2012 00:53:46 +0000 (20:53 -0400)]
don't create a hash table for pure space

* lisp/loadup.el: Leave purify-flag as `t' instead of allocating a hash
  table for hash-consing.

9 years agoremove ARRAY_MARK_FLAG
BT Templeton [Thu, 5 Jul 2012 00:38:52 +0000 (20:38 -0400)]
remove ARRAY_MARK_FLAG

* src/lisp.h (ARRAY_MARK_FLAG):
* src/emacs.c (gdb_array_mark_flag): Remove variables not used with the
  new GC. All uses changed.
* src/.gdbinit: Update.

9 years agoreplace XTYPE calls in nextstep files
BT Templeton [Wed, 4 Jul 2012 08:51:40 +0000 (04:51 -0400)]
replace XTYPE calls in nextstep files

* src/nsfns.m (XParseGeometry):
* src/nsmenu.m (ns_popup_dialog, process_dialog): Use specific type
  predicates instead of `XTYPE'.

9 years agoinitialize guile
BT Templeton [Tue, 3 Jul 2012 21:53:22 +0000 (17:53 -0400)]
initialize guile

* src/emacs.c (main): Call `scm_init_guile'.

9 years agoremove stack_bottom
BT Templeton [Mon, 2 Jul 2012 21:32:35 +0000 (17:32 -0400)]
remove stack_bottom

* src/emacs.c (stack_bottom): Remove. All uses changed.

9 years agolibguile configuration
BT Templeton [Mon, 2 Jul 2012 19:43:48 +0000 (15:43 -0400)]
libguile configuration

* configure.in (GUILE_CFLAGS, GUILE_LIBS): New variables.
  (BDW_GC_CFLAGS, BDW_GC_LIBS): Remove.

* src/Makefile.in (ALL_CFLAGS): Replace BDW_GC_CFLAGS with GUILE_CFLAGS.
  (LIBES): Replace BDW_GC_LIBS with GUILE_LIBS.

9 years agoremove unused `defalias' function
BT Templeton [Tue, 10 Jul 2012 23:06:33 +0000 (19:06 -0400)]
remove unused `defalias' function

* src/lread.c [NOTDEF] (defalias): Remove unused function.

9 years agoremove gcmarkbit fields
Robin Templeton [Mon, 30 Jun 2014 08:29:47 +0000 (04:29 -0400)]
remove gcmarkbit fields

* src/lisp.h (struct Lisp_Symbol, struct Lisp_Misc_Any)
  (struct Lisp_Marker, struct Lisp_Overlay, struct Lisp_Save_Value):
* src/intervals.h (struct interval): Remove `gcmarkbit' fields. All uses
  changed.

Conflicts:
src/alloc.c
src/intervals.h
src/lisp.h

9 years agoremove Lisp_Free struct type
Robin Templeton [Mon, 30 Jun 2014 08:27:15 +0000 (04:27 -0400)]
remove Lisp_Free struct type

* src/lisp.h (struct Lisp_Free): Remove. All uses changed.

Conflicts:
src/lisp.h

9 years agouse xmalloc_atomic for many pointerless objects
Robin Templeton [Mon, 30 Jun 2014 08:26:49 +0000 (04:26 -0400)]
use xmalloc_atomic for many pointerless objects

* src/alloc.c (make_float, memory_full, refill_memory_reserve):
* src/buffer.c (alloc_buffer_text):
* src/ccl.c (Fccl_execute_on_string):
* src/charset.c (Fdefine_charset_internal):
* src/coding.c (encode_coding_object):
* src/composite.c (get_composition_id):
* src/dispnew.c (adjust_frame_message_buffer):
* src/doc.c (Fsubstitute_command_keys):
* src/doprnt.c (doprnt):
* src/editfns.c (Fmessage, Fformat):
* src/emacs.c (sort_args):
* src/filelock.c (current_lock_owner):
* src/fns.c (Fstring_as_unibyte, Fstring_to_unibyte):
* src/ftfont.c (ftfont_get_open_type_spec):
* src/gtkutil.c (get_utf8_string):
* src/image.c (x_create_bitmap_from_file, x_create_bitmap_from_file)
  (x_create_x_image_and_pixmap, slurp_file, xbm_read_bitmap_data)
  (xpm_load, colors_in_color_table, pbm_read_file, png_load, tiff_load):
* src/keyboard.c (parse_tool_bar_item):
* src/lread.c (read1, init_obarray):
* src/minibuf.c (read_minibuf_noninteractive):
* src/print.c (PRINTPREPARE):
* src/search.c (Freplace_match, syms_of_search):
* src/sysdep.c (system_process_attributes):
* src/term.c (init_tty):
* src/termcap.c (tgetst1, tgetent)
* src/tparam.c (tparam1):
* src/widget.c (set_frame_size):
* src/xdisp.c (init_xdisp):
* src/xfns.c (x_encode_text, xic_create_fontsetname, x_window)
  (Fx_change_window_property):
* src/xrdb.c (x_get_customization_string, magic_file_p, gethomedir)
  (get_user_db):
* src/xselect.c (x_get_window_property, receive_incremental_selection):
* src/xsmfns.c (smc_save_yourself_CB, x_session_initialize):
* src/xterm.c (xim_initialize, x_term_init): Use xmalloc_atomic and
  related functions for allocating pointerless objects.

Conflicts:
src/alloc.c
src/editfns.c
src/fns.c
src/xterm.c

9 years agoatomic allocation functions
Robin Templeton [Mon, 30 Jun 2014 08:21:37 +0000 (04:21 -0400)]
atomic allocation functions

* src/alloc.c (xmalloc_atomic, xzalloc_atomic, xmalloc_atomic_unsafe)
  (xnmalloc_atomic): New functions.

Conflicts:
src/alloc.c
src/lisp.h

9 years agoremove chain field from Lisp_Float struct
BT Templeton [Fri, 29 Jun 2012 20:08:48 +0000 (16:08 -0400)]
remove chain field from Lisp_Float struct

* src/lisp.h (struct Lisp_Float): Remove `chain' field.
  (XFLOAT_DATA, XFLOAT_INIT): Update.

9 years agoduplicate current dir name in smc_save_yourself_CB
BT Templeton [Fri, 29 Jun 2012 17:54:58 +0000 (13:54 -0400)]
duplicate current dir name in smc_save_yourself_CB

* src/xsmfns.c (smc_save_yourself_CB): Duplicate and free the string
  returned by `get_current_dir_name'.

9 years agouse g_strdup in update_frame_tool_bar
BT Templeton [Sat, 30 Jun 2012 00:46:45 +0000 (20:46 -0400)]
use g_strdup in update_frame_tool_bar

* src/gtkutil.c (update_frame_tool_bar): Use `g_strdup' and `g_free' for
  widget data.

9 years agouse xmalloc_uncollectable in make_cl_data
BT Templeton [Thu, 28 Jun 2012 03:24:19 +0000 (23:24 -0400)]
use xmalloc_uncollectable in make_cl_data

* src/gtkutil.c (make_cl_data): Allocate the callback data with
  `xmalloc_uncollectable'.

9 years agonew function xmalloc_uncollectable
BT Templeton [Thu, 28 Jun 2012 03:24:01 +0000 (23:24 -0400)]
new function xmalloc_uncollectable

* src/alloc.c (xmalloc_uncollectable): New function.

9 years agouse xstrdup in xg_get_file_name_from_chooser
BT Templeton [Thu, 28 Jun 2012 03:22:07 +0000 (23:22 -0400)]
use xstrdup in xg_get_file_name_from_chooser

* src/gtkutil.c (xg_get_file_name_from_chooser): Return a copy of the
  filename allocated with `xstrdup'.

9 years agouse xmalloc in w32 opendir
BT Templeton [Thu, 28 Jun 2012 03:17:59 +0000 (23:17 -0400)]
use xmalloc in w32 opendir

* src/w32.c (opendir): Use `xmalloc'.

9 years agouse xmalloc_unsafe in current_minor_maps
BT Templeton [Thu, 28 Jun 2012 03:17:47 +0000 (23:17 -0400)]
use xmalloc_unsafe in current_minor_maps

* src/keymap.c (current_minor_maps): Use `xmalloc_unsafe'.

9 years agouse xfree in ftxfont_end_for_frame
BT Templeton [Thu, 28 Jun 2012 03:16:35 +0000 (23:16 -0400)]
use xfree in ftxfont_end_for_frame

* src/ftxfont.c (ftxfont_end_for_frame): Use `xfree'.

9 years agouse xmalloc_unsafe in ftxfont_get_gcs
BT Templeton [Thu, 28 Jun 2012 03:15:40 +0000 (23:15 -0400)]
use xmalloc_unsafe in ftxfont_get_gcs

* src/ftxfont.c (ftxfont_get_gcs): Use `xmalloc_unsafe'.

9 years agouse xmalloc_unsafe in ftfont_get_open_type_spec
BT Templeton [Thu, 28 Jun 2012 01:23:53 +0000 (21:23 -0400)]
use xmalloc_unsafe in ftfont_get_open_type_spec

* src/alloc.c (ftfont_get_open_type_spec): Use `xmalloc_unsafe'.

9 years agouse xmalloc_unsafe in refill_memory_reserve
BT Templeton [Thu, 28 Jun 2012 01:23:22 +0000 (21:23 -0400)]
use xmalloc_unsafe in refill_memory_reserve

* src/alloc.c (refill_memory_reserve): Use `xmalloc_unsafe'.

9 years agouse xmalloc_unsafe in memory_full
BT Templeton [Thu, 28 Jun 2012 01:22:59 +0000 (21:22 -0400)]
use xmalloc_unsafe in memory_full

* src/alloc.c (memory_full): Use `xmalloc_unsafe'.

9 years agonew function `xmalloc_unsafe'
Robin Templeton [Mon, 30 Jun 2014 08:04:22 +0000 (04:04 -0400)]
new function `xmalloc_unsafe'

* src/alloc.c (xmalloc_unsafe): New function.

Conflicts:
src/alloc.c
src/lisp.h

9 years agomake staticpro a no-op
BT Templeton [Tue, 26 Jun 2012 01:48:36 +0000 (21:48 -0400)]
make staticpro a no-op

* src/alloc.c (staticpro): Make this a no-op.

  (NSTATICS, staticvec, staticidx): Remove.

9 years agoremove pure storage support
Robin Templeton [Mon, 30 Jun 2014 08:00:02 +0000 (04:00 -0400)]
remove pure storage support

* src/alloc.c (pure, PUREBEG, purebeg, pure_size)
  (pure_bytes_used_before_overflow, PURE_POINTER_P)
  (pure_bytes_used_lisp, pure_bytes_used_non_lisp, ALIGN, pure_alloc)
  (find_string_data_in_pure, make_pure_float, make_pure_vector): Remove.
  All references changed.

  (make_pure_string, make_pure_c_string, pure_cons, make_pure_float):
  Call the corresponding normal allocation function.

  (Fpurecopy): Return the argument.

  (check_pure_size): Make this a no-op.

  (make_empty_string): New function.
  (init_strings): Use `make_empty_string'.

  (valid_lisp_object_p): Simplify.

* src/data.c (pure_write_error): Remove.

* src/puresize.h (CHECK_IMPURE): Make this a no-op.

  (PURE_P): Return false.

  (SYSTEM_PURESIZE_EXTRA, SITELOAD_PURESIZE_EXTRA, BASE_PURESIZE)
  (PURESIZE_RATIO, PURESIZE_CHECKING_RATIO, PURESIZE): Remove.

* configure.in (SYSTEM_PURESIZE_EXTRA): Remove.

Conflicts:
src/alloc.c
src/puresize.h

9 years agoremove suspicious object checking
Robin Templeton [Mon, 30 Jun 2014 07:41:57 +0000 (03:41 -0400)]
remove suspicious object checking

9 years agouse BDW-GC
Robin Templeton [Mon, 30 Jun 2014 07:25:39 +0000 (03:25 -0400)]
use BDW-GC

* alloc.c (xmalloc, xrealloc): Use BDW-GC allocation functions.
  (memory_full, refill_memory_reserve): Likewise.

  (xfree): Make this function a no-op.

  (Fgarbage_collect): Use `GC_gcollect'. Return true.

  (Fcons, Fmake_symbol, allocate_buffer, allocate_misc)
  (allocate_pseudovector, allocate_string, allocate_string_data)
  (allocate_vectorlike, make_float, make_interval): Simplify.

  (which_symbols): Return nil. Comment out original implementation.

  (ABLOCKS_BASE, ABLOCKS_BUSY, ABLOCKS_BYTES, ABLOCKS_SIZE)
  (ABLOCK_ABASE, ADVANCE, BLOCK_ALIGN, BLOCK_BYTES, BLOCK_PADDING)
  (COMMON_MULTIPLE, CONS_BLOCK, CONS_BLOCK_SIZE, CONS_INDEX, CONS_MARK)
  (CONS_MARKED_P, CONS_UNMARK, DEADP, FLOAT_BLOCK, FLOAT_BLOCK_SIZE)
  (FLOAT_INDEX, FLOAT_MARK, FLOAT_MARKED_P, FLOAT_UNMARK, Fgc_status)
  (Fmemory_limit, Fmemory_use_counts, GC_POINTER_ALIGNMENT)
  (GC_STRING_BYTES, GETMARKBIT, INTERVAL_BLOCK_SIZE, LARGE_STRING_BYTES)
  (LAST_MARKED_SIZE, MARKER_BLOCK_SIZE, MARK_INTERVAL_TREE, MARK_STRING)
  (MAX_SAVE_STACK, MAX_ZOMBIES, MEM_NIL, MEM_TYPE_BUFFER, MEM_TYPE_CONS)
  (MEM_TYPE_FLOAT, MEM_TYPE_MISC, MEM_TYPE_NON_LISP, MEM_TYPE_STRING)
  (MEM_TYPE_SYMBOL, MEM_TYPE_VECTORLIKE, MEM_TYPE_VECTOR_BLOCK)
  (MMAP_MAX_AREAS, NEXT_FREE_LISP_STRING)
  (POINTERS_MIGHT_HIDE_IN_OBJECTS, SBLOCK_SIZE, SDATA_DATA)
  (SDATA_DATA_OFFSET, SDATA_NBYTES, SDATA_OF_STRING, SDATA_SELECTOR)
  (SDATA_SIZE, SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK)
  (SETMARKBIT, SETUP_ON_FREE_LIST, STRING_BLOCK_SIZE, STRING_BYTES_MAX)
  (STRING_MARKED_P, SYMBOL_BLOCK_SIZE, UNMARK_BALANCE_INTERVALS)
  (UNMARK_STRING, UNSETMARKBIT, USE_POSIX_MEMALIGN, VBLOCK_BYTES_MAX)
  (VBLOCK_BYTES_MIN, VECTOR_BLOCK_BYTES, VECTOR_BLOCK_SIZE)
  (VECTOR_FREE_LIST_FLAG, VECTOR_IN_BLOCK, VECTOR_MARK, VECTOR_MARKED_P)
  (VECTOR_MAX_FREE_LIST_INDEX, VECTOR_SIZE, VECTOR_UNMARK, VINDEX)
  (Vdead, abort_on_gc, allocate_vector_block)
  (allocate_vector_from_block, allocated_mem_type, avg_live)
  (avg_zombies, check_gcpros, compact_small_strings, cons_block)
  (cons_block_index, cons_free_list, consing_since_gc, current_sblock)
  (dump_zombies, enum mem_type, float_block, float_block_index)
  (float_free_list, free_ablock, free_cons, free_large_strings)
  (free_marker, free_misc, gc_in_progress, gc_relative_threshold)
  (gc_sweep, ignore_warnings, inhibit_garbage_collection, init_cons)
  (init_float, init_intervals, init_marker, init_symbol, interval_block)
  (interval_block_index, interval_free_list, large_sblocks)
  (large_vectors, last_marked, last_marked_index, lisp_align_free)
  (lisp_align_malloc, lisp_free, lisp_malloc, lisp_malloc_loser)
  (live_buffer_p, live_cons_p, live_float_p, live_misc_p, live_string_p)
  (live_symbol_p, live_vector_p, longjmps_done, mark_buffer)
  (mark_char_table, mark_face_cache, mark_glyph_matrix, mark_interval)
  (mark_interval_tree, mark_maybe_object, mark_maybe_pointer)
  (mark_memory, mark_object, mark_object_loop_halt, mark_stack)
  (mark_terminals, mark_vectorlike, marker_block, marker_block_index)
  (marker_free_list, max_heap_address, max_live, max_zombies)
  (mem_delete, mem_delete_fixup, mem_find, mem_init, mem_insert)
  (mem_insert_fixup, mem_root, mem_rotate_left, mem_rotate_right, mem_z)
  (memory_full_cons_threshold, min_heap_address, ngcs, nzombies)
  (oldest_sblock, setjmp_tested_p, stack_base, stack_copy)
  (stack_copy_size, string_blocks, string_free_list, struct ablock)
  (struct ablocks, struct cons_block, struct float_block)
  (struct interval_block, struct marker_block, struct mem_node)
  (struct sblock, struct sdata, struct string_block)
  (struct symbol_block, struct vector_block, survives_gc_p)
  (sweep_strings, sweep_vectors, symbol_block, symbol_block_index)
  (symbol_free_list, test_setjmp, total_conses, total_floats)
  (total_free_conses, total_free_floats, total_free_intervals)
  (total_free_markers, total_free_strings, total_free_symbols)
  (total_intervals, total_markers, total_string_size, total_strings)
  (total_symbols, total_vector_size, union aligned_Lisp_Misc)
  (union aligned_Lisp_Symbol, vector_blocks, vector_free_lists)
  (vroundup, zombies): Remove. All references changed.

* bytecode.c (BYTE_MAINTAIN_TOP): Remove. All references changed.
  (mark_byte_stack, unmark_byte_stack): Remove.
  (MAYBE_GC): Make this a no-op.
  (byte_stack_list): Remove. All references changed.

* eval.c (eval_sub, Ffuncall): Remove calls to `Fgarbage_collect'.
  (mark_backtrace): Remove.

* fns.c (make_hash_table, copy_hash_table): Ignore hash table weakness.
  (weak_hash_tables, init_weak_hash_tables, sweep_weak_table)
  (sweep_weak_hash_tables): Remove.

* fringe.c (mark_fringe_data): Remove.

* gtkutil.c (xg_mark_data): Remove.

* image.c (mark_image, mark_image_cache): Remove.

* keyboard.c (read_char): Call `GC_collect_a_little' when idle.

  (mark_kboards): Remove.

* s/aix4-2.h (GC_MARK_STACK):
* s/gnu-linux.h (GC_SETJMP_WORKS, GC_MARK_SECONDARY_STACK)
  (GC_MARK_STACK):
* s/hpux10-20.h (GC_MARK_STACK):
* s/unixware.h (GC_MARK_STACK): Remove.

* sysdep.c (init_signals): Do not set a handler for SIGXCPU, since
  BDW-GC uses it internally.

* term.c (mark_ttys): Remove.

* alloc.c (Qautomatic_gc): Move declaration and DEFSYM call...
* profiler.c (Qautomatic_gc): ...here.
* lisp.h (Qautomatic_gc): Remove declaration.

Conflicts:
src/alloc.c
src/emacs.c
src/eval.c
src/fns.c
src/lisp.h
src/bytecode.c
src/eval.c

9 years agoremove allocation checks
BT Templeton [Wed, 30 May 2012 05:46:42 +0000 (01:46 -0400)]
remove allocation checks

* configure.in (GC_CHECK_CONS_LIST, GC_CHECK_STRING_BYTES)
  (GC_CHECK_STRING_FREE_LIST, GC_CHECK_STRING_OVERRUN)
  (XMALLOC_OVERRUN_CHECK): Remove allocation-related run-time checking
  options. All references changed.

Conflicts:

src/alloc.c

9 years ago* src/lisp.h: Always enable USE_LSB_TAG.
BT Templeton [Sat, 16 Jun 2012 15:26:57 +0000 (11:26 -0400)]
* src/lisp.h: Always enable USE_LSB_TAG.

9 years agodisable dumping
BT Templeton [Fri, 15 Jun 2012 06:33:33 +0000 (02:33 -0400)]
disable dumping

* configure.in: Unconditionally define CANNOT_DUMP. Permit dynamic
  linking of libgc.

9 years agouse xmalloc in x_get_window_property
BT Templeton [Thu, 28 Jun 2012 04:01:20 +0000 (00:01 -0400)]
use xmalloc in x_get_window_property

* src/alloc.c (x_get_window_property): Use `xmalloc'.

9 years agosimplify spare memory management
BT Templeton [Wed, 13 Jun 2012 22:03:34 +0000 (18:03 -0400)]
simplify spare memory management

* src/alloc.c (spare_memory): Make this a single block of memory,
  rather than an array. All references changed.
  (memory_full_cons_threshold): Change default value.

9 years agolibgc configuration
BT Templeton [Thu, 31 May 2012 05:54:25 +0000 (01:54 -0400)]
libgc configuration

* configure.in (BDW_GC_CFLAGS, BDW_GC_LIBS): New variables.
* src/Makefile.in (CFLAGS): Add BDW_GC_CFLAGS.
  (LIBES): Add BDW_GC_LIBS.

9 years agoremove asynchronous input processing
BT Templeton [Wed, 30 May 2012 16:22:35 +0000 (12:22 -0400)]
remove asynchronous input processing

* configure.in (SYNC_INPUT): Remove this macro definition and its
  associated configure option. All references changed to assume that
  SYNC_INPUT is enabled.
* src/alloc.c (_bytes_used, __malloc_extra_blocks, _malloc_internal)
  (_free_internal, malloc_hysteresis): Remove variables which aren't
  used when SYNC_INPUT is enabled.

Conflicts:

src/alloc.c

9 years ago* automated/tramp-tests.el (tramp--instrument-test-case):
Michael Albinus [Sun, 29 Jun 2014 18:32:35 +0000 (20:32 +0200)]
* automated/tramp-tests.el (tramp--instrument-test-case):
Print debug buffer in any case.

9 years ago* xfns.c (Qsuppress_icon): Remove; no real users.
Dmitry Antipov [Sun, 29 Jun 2014 16:12:08 +0000 (20:12 +0400)]
* xfns.c (Qsuppress_icon): Remove; no real users.
(syms_of_xfns): Don't DEFSYM it.  Remove ancient comments.
* w32fns.c (Qsuppress_icon): Remove, for the same reason.
(syms_of_w32fns): Don't DEFSYM it.

9 years agoDon't call c-parse-state when c++-template-syntax-table is active.
Alan Mackenzie [Sun, 29 Jun 2014 11:26:47 +0000 (11:26 +0000)]
Don't call c-parse-state when c++-template-syntax-table is active.
* progmodes/cc-engine.el (c-guess-continued-construct CASE G)
(c-guess-basic-syntax CASE 5D.3): Rearrange so that
c-syntactic-skip-backwards isn't called with the pertinent syntax
table.

9 years ago* admin/update_autogen: Remove need to cd into/out of lisp/.
Glenn Morris [Sun, 29 Jun 2014 01:33:32 +0000 (18:33 -0700)]
* admin/update_autogen: Remove need to cd into/out of lisp/.

9 years ago* src/Makefile.in (ns-app): Mark as PHONY.
Glenn Morris [Sun, 29 Jun 2014 00:49:59 +0000 (17:49 -0700)]
* src/Makefile.in (ns-app): Mark as PHONY.

9 years ago* admin/grammars/Makefile.in (bootstrap-clean): Don't delete Makefile,
Glenn Morris [Sun, 29 Jun 2014 00:46:40 +0000 (17:46 -0700)]
* admin/grammars/Makefile.in (bootstrap-clean): Don't delete Makefile,
for sake of top-level maintainer-clean rule.

9 years ago* src/Makefile.in ($(lwlibdir)/liblw.a, $(oldXMenudir)/libXMenu11.a):
Glenn Morris [Sat, 28 Jun 2014 23:35:17 +0000 (16:35 -0700)]
* src/Makefile.in ($(lwlibdir)/liblw.a, $(oldXMenudir)/libXMenu11.a):
Fully revert earlier dumbness.

9 years ago* src/Makefile.in: Fix thinko in previous.
Glenn Morris [Sat, 28 Jun 2014 23:29:06 +0000 (16:29 -0700)]
* src/Makefile.in: Fix thinko in previous.

9 years agoSmall cleanup for src/Makefile liblw.a, libXMenu11.a rules
Glenn Morris [Sat, 28 Jun 2014 23:19:04 +0000 (16:19 -0700)]
Small cleanup for src/Makefile liblw.a, libXMenu11.a rules

* src/Makefile.in ($(lwlibdir)/liblw.a, $(oldXMenudir)/libXMenu11.a):
Remove prerequisites, sub-makes will figure it out.
(FORCE): Remove.
(mostlyclean): There are no libXMenu11.a, liblw.a in this directory.

* oldXMenu/deps.mk (${OBJS}): Depend on ../src/config.h.

9 years agoUse gcc auto-dependency information for lwlib and oldXMenu
Glenn Morris [Sat, 28 Jun 2014 22:57:23 +0000 (15:57 -0700)]
Use gcc auto-dependency information for lwlib and oldXMenu

* configure.ac (lwlib_deps_frag, oldxmenu_deps_frag): New output files.

* make-dist (lwlib, oldXMenu): Distribute *.mk.

* lwlib/Makefile.in: Move old dependency information to new file deps.mk.
(MKDIR_P, DEPFLAGS, MKDEPDIR, lwlib_deps_frag):
New, set by configure.
(DEPDIR): New variable.
(ALL_CFLAGS): Add DEPFLAGS.
(.c.o): Add MKDEPDIR.
(clean, mostlyclean): Delete DEPDIR.

* lwlib/deps.mk, lwlib/autodeps.mk: New files.

* oldXMenu/Makefile.in: Move old dependency information to new file deps.mk.
(MKDIR_P, DEPFLAGS, MKDEPDIR, oldxmenu_deps_frag):
New, set by configure.
(DEPDIR): New variable.
(ALL_CFLAGS): Add DEPFLAGS.
(.c.o): Add MKDEPDIR.
(clean, mostlyclean): Delete DEPDIR.

* oldXMenu/deps.mk, oldXMenu/autodeps.mk: New files.

* src/deps.mk: Comment update.

* .bzrignore: Ignore lwlib/deps, oldXMenu/deps.

9 years agoMerge from emacs-24; up to 2014-06-12T14:55:48Z!monnier@iro.umontreal.ca
Glenn Morris [Sat, 28 Jun 2014 17:27:29 +0000 (10:27 -0700)]
Merge from emacs-24; up to 2014-06-12T14:55:48Z!monnier@iro.umontreal.ca

9 years ago* test/automated/Makefile.in (GDB): New variable.
Glenn Morris [Sat, 28 Jun 2014 17:18:05 +0000 (10:18 -0700)]
* test/automated/Makefile.in (GDB): New variable.
(emacs): Use $GDB.

Fixes: debbugs:15991

9 years agoDisable logging in the short form of the test Makefile rules
Glenn Morris [Sat, 28 Jun 2014 17:05:00 +0000 (10:05 -0700)]
Disable logging in the short form of the test Makefile rules

* test/automated/Makefile.in (WRITE_LOG): New variable.
(%.log): Use WRITE_LOG.
(test_template): Disable logging.

9 years agomerge trunk
Kenichi Handa [Sat, 28 Jun 2014 13:41:19 +0000 (22:41 +0900)]
merge trunk

9 years ago* coding.c (MAX_CHARBUF_SIZE): Renamed from CHARBUF_SIZE.
Kenichi Handa [Sat, 28 Jun 2014 13:38:36 +0000 (22:38 +0900)]
* coding.c (MAX_CHARBUF_SIZE): Renamed from CHARBUF_SIZE.
(MIN_CHARBUF_SIZE): New macro.
(ALLOC_CONVERSION_WORK_AREA): New arg SIZE.  Callers changed.

9 years agoFixes: debbugs:17865
Andreas Schwab [Sat, 28 Jun 2014 07:24:01 +0000 (09:24 +0200)]
Fixes: debbugs:17865

* coding.c (encode_coding_utf_8): Correctly count produced_chars
also in unibyte case.

9 years ago* calc-test.el: Set copyright to FSF; standardize permissions notice
Glenn Morris [Sat, 28 Jun 2014 03:11:24 +0000 (20:11 -0700)]
* calc-test.el: Set copyright to FSF; standardize permissions notice

9 years ago* test/automated/calc-tests.el: New file and add tests for math-bignum.
Leo Liu [Sat, 28 Jun 2014 02:15:13 +0000 (10:15 +0800)]
* test/automated/calc-tests.el: New file and add tests for math-bignum.

Fixes: debbugs:17556

9 years agoChangeLog fix
Glenn Morris [Sat, 28 Jun 2014 01:55:17 +0000 (21:55 -0400)]
ChangeLog fix

9 years ago* lisp/progmodes/hideif.el: Use lexical-binding. Fix up cl-lib usage.
Stefan Monnier [Sat, 28 Jun 2014 01:52:38 +0000 (21:52 -0400)]
* lisp/progmodes/hideif.el: Use lexical-binding.  Fix up cl-lib usage.

9 years agomerge trunk
Kenichi Handa [Sat, 28 Jun 2014 01:35:48 +0000 (10:35 +0900)]
merge trunk

9 years agoFix Bug#17739.
Kenichi Handa [Sat, 28 Jun 2014 01:34:17 +0000 (10:34 +0900)]
Fix Bug#17739.

* composite.el: Setup composition-function-table for dotted circle.
(compose-gstring-for-dotted-circle): New function.

* international/characters.el: Add category "^" to all
non-spacing characters.

9 years ago* lisp/Makefile.in (doit): Remove force rule.
Glenn Morris [Sat, 28 Jun 2014 01:26:09 +0000 (21:26 -0400)]
* lisp/Makefile.in (doit): Remove force rule.
(custom-deps, finder-data, autoloads, update-subdirs)
(compile-one-process): PHONY targets do not need force rules.

9 years agolisp/Makefile tiny simplification
Glenn Morris [Sat, 28 Jun 2014 01:16:23 +0000 (21:16 -0400)]
lisp/Makefile tiny simplification

* lisp/Makefile.in (compile-main, compile, compile-always):
No need to explicitly pass variables to ourself in recursive calls.

9 years agoAdd short test aliases that always re-run the tests
Glenn Morris [Sat, 28 Jun 2014 01:11:04 +0000 (21:11 -0400)]
Add short test aliases that always re-run the tests

* test/automated/Makefile.in (TESTS): New list of short PHONY aliases.
(test_template): New definition.  Apply to TESTS.

9 years ago* lisp/files.el (minibuffer-with-setup-hook): Evaluate the first arg eagerly.
Stefan Monnier [Sat, 28 Jun 2014 01:10:27 +0000 (21:10 -0400)]
* lisp/files.el (minibuffer-with-setup-hook): Evaluate the first arg eagerly.

9 years ago* automated/dbus-tests.el (dbus--test-register-service)
Michael Albinus [Fri, 27 Jun 2014 18:20:21 +0000 (20:20 +0200)]
* automated/dbus-tests.el (dbus--test-register-service)
(dbus-test02-register-service-session): Replace `dbus-ping' calls
by `dbus-list-known-names'.

Fixes: debbugs:17858

9 years agoChangeLog fix: relocate entry to correct position
Glenn Morris [Fri, 27 Jun 2014 17:51:00 +0000 (13:51 -0400)]
ChangeLog fix: relocate entry to correct position

9 years agoHave `make check' re-run all the tests, every time
Glenn Morris [Fri, 27 Jun 2014 16:27:08 +0000 (09:27 -0700)]
Have `make check' re-run all the tests, every time

* test/automated/Makefile.in (check-maybe): Rename from check.
(check): Re-run all the tests, every time.
(clean, mostlyclean): Also delete *.log~.

9 years ago* calendar/todo-mode.el (todo-set-top-priorities): Fix logic to
Stephen Berman [Fri, 27 Jun 2014 15:15:30 +0000 (17:15 +0200)]
* calendar/todo-mode.el (todo-set-top-priorities): Fix logic to
account for file-wide setting of todo-top-priorities-overrides.
Make code a bit cleaner.

9 years agosrc/w32heap.c: Minor formatting and whitespace changes.
Eli Zaretskii [Fri, 27 Jun 2014 08:31:20 +0000 (11:31 +0300)]
src/w32heap.c: Minor formatting and whitespace changes.

9 years ago* lisp/progmodes/hideif.el: Style fixes. Fix doc-strings and comment style,
Luke Lee [Fri, 27 Jun 2014 08:25:21 +0000 (16:25 +0800)]
* lisp/progmodes/hideif.el: Style fixes. Fix doc-strings and comment style,
also add a change log entry for the latest hideif.el changes.

9 years agoRegenerate ldefs-boot.el
Glenn Morris [Fri, 27 Jun 2014 05:53:13 +0000 (22:53 -0700)]
Regenerate ldefs-boot.el

9 years agoBackport fix for http://debbugs.gnu.org/17556 from trunk
Leo Liu [Fri, 27 Jun 2014 04:10:04 +0000 (12:10 +0800)]
Backport fix for debbugs.gnu.org/17556 from trunk

* lisp/calc/calc.el (math-bignum): Handle most-negative-fixnum.

9 years ago* lisp/net/eww.el (eww-mode) <eww-current-title>: Make local.
Glenn Morris [Fri, 27 Jun 2014 00:48:34 +0000 (20:48 -0400)]
* lisp/net/eww.el (eww-mode) <eww-current-title>: Make local.

Fixes: debbugs:17860

9 years agoReplace BOOTSTRAPEMACS with an order-only dependence on bootstrap-emacs
Glenn Morris [Fri, 27 Jun 2014 00:41:23 +0000 (20:41 -0400)]
Replace BOOTSTRAPEMACS with an order-only dependence on bootstrap-emacs

* Makefile.in (src): No more need to pass BOOTSTRAPEMACS.

* src/Makefile.in (.el.elc): Replace suffix rule with pattern rule.
(%.elc): New pattern rule, with order-only prerequisite.
($(lisp)): No more need to depend on BOOTSTRAPEMACS.
($(lispsource)/loaddefs.el): Use an order-only prerequisite
in place of BOOTSTRAPEMACS.

Fixes: debbugs:2151

9 years ago* make-dist: Exclude test/automated/*.log.
Glenn Morris [Fri, 27 Jun 2014 00:36:06 +0000 (20:36 -0400)]
* make-dist: Exclude test/automated/*.log.

9 years agoChangeLog fix (no need to merge to trunk)
Glenn Morris [Fri, 27 Jun 2014 00:34:42 +0000 (20:34 -0400)]
ChangeLog fix (no need to merge to trunk)

Since the change was just quickly reverting a change that does not
have a ChangeLog entry of its own, it's confusing and unnecessary for
the reversion to have a ChangeLog entry.

9 years ago* etc/publicsuffix.txt: Update from source.
Glenn Morris [Fri, 27 Jun 2014 00:33:00 +0000 (20:33 -0400)]
* etc/publicsuffix.txt: Update from source.

* lisp/url/url-domsuf.el: Update example comments.

9 years ago* lisp/Makefile.in (update-authors): Update for moved authors.el.
Glenn Morris [Thu, 26 Jun 2014 21:51:25 +0000 (17:51 -0400)]
* lisp/Makefile.in (update-authors): Update for moved authors.el.

9 years ago* calendar/todo-mode.el (todo-prefix-overlays): If there is no
Stephen Berman [Thu, 26 Jun 2014 19:22:08 +0000 (21:22 +0200)]
* calendar/todo-mode.el (todo-prefix-overlays): If there is no
category-wide setting of todo-top-priorities-overrides, check for
a file-wide setting and fontify accordingly.

9 years agoWarn about read-passwd in batch mode
Glenn Morris [Thu, 26 Jun 2014 19:00:42 +0000 (15:00 -0400)]
Warn about read-passwd in batch mode

* doc/lispref/minibuf.texi (Intro to Minibuffers): Batch mode is basic.
(Reading a Password): Mention batch mode.

* lisp/subr.el (read-passwd): Warn about batch mode.

Fixes: debbugs:17839

9 years ago* skeleton.el (skeleton-end-hook): Default to nil and move the
Leo Liu [Thu, 26 Jun 2014 14:21:46 +0000 (22:21 +0800)]
* skeleton.el (skeleton-end-hook): Default to nil and move the
work to skeleton-insert.

Fixes: debbugs:17850

9 years ago* lisp/emacs-lisp/package.el (package--check-signature): (backport)
Daiki Ueno [Thu, 26 Jun 2014 13:47:37 +0000 (09:47 -0400)]
* lisp/emacs-lisp/package.el (package--check-signature): (backport)
If package-check-signature is allow-unsigned, don't signal error when
we can't verify signature because of missing public key.

Fixes: debbugs:17625

9 years ago* lisp/progmodes/hideif.el: Undo last change which should only go to trunk
Stefan Monnier [Thu, 26 Jun 2014 13:40:49 +0000 (09:40 -0400)]
* lisp/progmodes/hideif.el: Undo last change which should only go to trunk
(do not merge).

9 years ago* test/automated/package-x-test.el: Do not mess with load-path.
Glenn Morris [Thu, 26 Jun 2014 07:34:09 +0000 (00:34 -0700)]
* test/automated/package-x-test.el: Do not mess with load-path.

9 years ago* test/automated/Makefile.in (%.log): If error, dump log to stdout.
Glenn Morris [Thu, 26 Jun 2014 07:32:16 +0000 (00:32 -0700)]
* test/automated/Makefile.in (%.log): If error, dump log to stdout.
This is mainly so we can see what is going on on hydra...

9 years ago* src/fns.c (Fcompare_strings): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
Dmitry Antipov [Thu, 26 Jun 2014 07:13:13 +0000 (11:13 +0400)]
* src/fns.c (Fcompare_strings): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
* lisp/calc/calc-alg.el (math-beforep):
* lisp/progmodes/cc-guess.el (c-guess-view-reorder-offsets-alist-in-style):
Simplify because string-lessp can accept symbols as args.

9 years agopackage.el: Don't signal "no public key" error if allow-unsigned
Daiki Ueno [Thu, 26 Jun 2014 07:10:22 +0000 (16:10 +0900)]
package.el: Don't signal "no public key" error if allow-unsigned

* emacs-lisp/package.el (package--check-signature): If
package-check-signature is allow-unsigned, don't signal error when
we can't verify signature because of missing public key
(bug#17625).

9 years agoMerge from emacs-24; up to 2014-06-11T19:33:14Z!rgm@gnu.org
Glenn Morris [Thu, 26 Jun 2014 06:55:15 +0000 (23:55 -0700)]
Merge from emacs-24; up to 2014-06-11T19:33:14Z!rgm@gnu.org

9 years agoRegenerate etc/AUTHORS
Glenn Morris [Thu, 26 Jun 2014 06:51:30 +0000 (23:51 -0700)]
Regenerate etc/AUTHORS

9 years agoBump version to 24.3.92
Glenn Morris [Thu, 26 Jun 2014 06:48:25 +0000 (23:48 -0700)]
Bump version to 24.3.92

9 years ago* find-func.el (find-function-C-source-directory): Use file-accessible-directory-p
Glenn Morris [Thu, 26 Jun 2014 06:45:10 +0000 (23:45 -0700)]
* find-func.el (find-function-C-source-directory): Use file-accessible-directory-p

9 years agoRemove some function declarations, no longer needed or correct
Glenn Morris [Thu, 26 Jun 2014 06:43:39 +0000 (23:43 -0700)]
Remove some function declarations, no longer needed or correct

* lisp/emacs-lisp/cl-macs.el (help-add-fundoc-usage):
* lisp/gnus/mm-util.el (help-function-arglist):
Remove outdated declarations.

9 years agops-samp.el: Make it slightly less awful
Glenn Morris [Thu, 26 Jun 2014 06:35:38 +0000 (23:35 -0700)]
ps-samp.el: Make it slightly less awful

* lisp/ps-samp.el (ps-rmail-mode-hook, ps-gnus-article-prepare-hook)
(ps-vm-mode-hook, ps-gnus-summary-setup, ps-info-mode-hook):
Use [print] key.  Only set local values.
(ps-article-subject, ps-article-author): Use standard functions
like mail-fetch-field.
(ps-info-file, ps-info-node): Use match-string.
(ps-jts-ps-setup, ps-jack-setup): Remove, merging into...
(ps-samp-ps-setup): ... new function.

9 years ago* lisp/progmodes/idlw-shell.el (idlwave-shell-make-temp-file): Optimize
Glenn Morris [Thu, 26 Jun 2014 06:28:04 +0000 (23:28 -0700)]
* lisp/progmodes/idlw-shell.el (idlwave-shell-make-temp-file): Optimize
away code unneeded on any modern Emacs.

9 years agoMove lisp/emacs-lisp/authors.el to admin/
Glenn Morris [Thu, 26 Jun 2014 06:24:56 +0000 (23:24 -0700)]
Move lisp/emacs-lisp/authors.el to admin/
It is not useful for anything other than maintaining Emacs.

9 years ago* etc/NEWS: Maybe ert-summarize-tests-batch-and-exit worth mentioning.
Glenn Morris [Thu, 26 Jun 2014 06:21:55 +0000 (23:21 -0700)]
* etc/NEWS: Maybe ert-summarize-tests-batch-and-exit worth mentioning.

9 years agolib-src/Makefile trivial simplifications
Glenn Morris [Thu, 26 Jun 2014 06:18:53 +0000 (23:18 -0700)]
lib-src/Makefile trivial simplifications

* lib-src/Makefile.in (blessmail): Depend on lisp/mail/blessmail.el.
Use $<, $@.
(regex.o, etags${EXEEXT}, ctags${EXEEXT}, ebrowse${EXEEXT})
(profile${EXEEXT}, make-docfile${EXEEXT}, movemail${EXEEXT})
(pop.o, emacsclient${EXEEXT}, emacsclientw${EXEEXT}, ntlib.o)
(hexl${EXEEXT}, update-game-score${EXEEXT}, emacsclient.res): Use $<.
(ctags${EXEEXT}): Add $srcdir to dependency rather than using VPATH.