1. 14 May, 2010 1 commit
  2. 07 May, 2010 1 commit
    • Stefan Monnier's avatar
      Try and fix unbind_to when localness of binding has changed · 94b612ad
      Stefan Monnier authored
      * eval.c (unbind_to): Don't unbind a local binding into the global
      binding when the local binding disappeared.  Inversely, don't unbind
      a global binding into a newly created local binding.
      * data.c (set_internal): Make its `buf' arg into a `where' arg so we
      can specify the frame to use, when applicable.  Adjust callers.
      94b612ad
  3. 04 May, 2010 1 commit
    • Stefan Monnier's avatar
      Misc tweaks. · 178f2507
      Stefan Monnier authored
      * eval.c (Fdefvaralias): Remove unintended nested if.
      (internal_condition_case_2, internal_condition_case_n): Use ANSI type.
      178f2507
  4. 03 May, 2010 1 commit
    • Chong Yidong's avatar
      Add optional arg to delete-file to force deletion (Bug#6070). · 53967e09
      Chong Yidong authored
      * eval.c (internal_condition_case_n): Rename from
      internal_condition_case_2.
      (internal_condition_case_2): New function.
      
      * xdisp.c (safe_call): Use internal_condition_case_n.
      
      * fileio.c (Fdelete_file, internal_delete_file): New arg FORCE.
      (internal_delete_file, Frename_file): Callers changed.
      
      * buffer.c (Fkill_buffer):
      * callproc.c (delete_temp_file): Callers changed (Bug#6070).
      
      * lisp.h: Update prototypes.
      
      * diff.el (diff-sentinel):
      
      * epg.el (epg--make-temp-file, epg-decrypt-string)
      (epg-verify-string, epg-sign-string, epg-encrypt-string):
      
      * jka-compr.el (jka-compr-partial-uncompress)
      (jka-compr-call-process, jka-compr-write-region, jka-compr-load):
      
      * server.el (server-sentinel): Use delete-file's new FORCE arg
      (Bug#6070).
      53967e09
  5. 29 Apr, 2010 1 commit
    • Stefan Monnier's avatar
      Fix wrong-docstring problem introduced with hash-consing. · d6d23852
      Stefan Monnier authored
      * eval.c (Fautoload): Set doc to a unique number rather than to 0.
      Remove unused var `args'.
      * lisp.h (XSETCARFASTINT, XSETCDRFASTINT): Remove.
      (LOADHIST_ATTACH): Wrap with do...while to avoid surprises for callers.
      * doc.c (store_function_docstring): Use XSETCAR.
      d6d23852
  6. 25 Apr, 2010 1 commit
    • Dan Nicolaescu's avatar
      Remove all NO_ARG_ARRAY uses. · 39e2ad1b
      Dan Nicolaescu authored
      * fns.c (concat2, concat3, nconc2):
      * eval.c (apply1, call1, call2, call3, call4, call5, call6)
      (call7): Remove NO_ARG_ARRAY usage, assume it's always true.
      * m/xtensa.h (NO_ARG_ARRAY):
      * m/template.h (NO_ARG_ARRAY):
      * m/sparc.h (NO_ARG_ARRAY):
      * m/sh3.h (NO_ARG_ARRAY):
      * m/mips.h (NO_ARG_ARRAY):
      * m/macppc.h (NO_ARG_ARRAY):
      * m/iris4d.h (NO_ARG_ARRAY):
      * m/intel386.h (NO_ARG_ARRAY):
      * m/ibms390x.h (NO_ARG_ARRAY):
      * m/ibms390.h (NO_ARG_ARRAY):
      * m/ibmrs6000.h (NO_ARG_ARRAY):
      * m/ia64.h (NO_ARG_ARRAY):
      * m/hp800.h (NO_ARG_ARRAY):
      * m/arm.h (NO_ARG_ARRAY):
      * m/amdx86-64.h (NO_ARG_ARRAY):
      * m/alpha.h (NO_ARG_ARRAY): Remove definition.
      39e2ad1b
  7. 21 Apr, 2010 1 commit
    • Karel Klíc's avatar
      Add SELinux support. · 574c05e2
      Karel Klíc authored
      * configure.in: New option: --with(out)-selinux, on by default.
      Set HAVE_LIBSELINUX if we find libselinux, and substitute
      LIBSELINUX_LIBS in Makefiles.
      
      * src/Makefile.in (LIBSELINUX_LIBS): New.
      (LIBES): Add $LIBSELINUX_LIBS.
      * src/eval.c, lisp.h (call7): New function.
      * src/fileio.c [HAVE_LIBSELINUX]: Include selinux headers.
      (Ffile_selinux_context, Fset_file_selinux_context):
      New functions.
      (Fcopy_file): New parameter preserve-selinux-context.
      (Frename_file): Preserve selinux context when renaming by copy-file.
      
      * lisp/files.el (backup-buffer): Handle SELinux context, and return it
      if a backup was made by renaming.
      (backup-buffer-copy): Set SELinux context to the target file.
      (basic-save-buffer): Set SELinux context of the newly written file.
      (basic-save-buffer-1): Now it also returns any SELinux context.
      (basic-save-buffer-2): Set SELinux context of the newly created file,
      and return it.
      * lisp/net/tramp.el (tramp-file-name-for-operation):
      Add file-selinux-context.
      574c05e2
  8. 20 Apr, 2010 1 commit
    • Stefan Monnier's avatar
      Make variable forwarding explicit rather the using special values. · ce5b453a
      Stefan Monnier authored
      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.
      ce5b453a
  9. 13 Jan, 2010 1 commit
  10. 01 Jan, 2010 1 commit
  11. 06 Nov, 2009 2 commits
    • Dan Nicolaescu's avatar
      * xterm.c (syms_of_xterm): · d67b4f80
      Dan Nicolaescu authored
      * xselect.c (syms_of_xselect):
      * xmenu.c (syms_of_xmenu):
      * xfns.c (syms_of_xfns):
      * xfaces.c (syms_of_xfaces):
      * xdisp.c (syms_of_xdisp):
      * window.c (syms_of_window):
      * w32fns.c (syms_of_w32fns):
      * undo.c (syms_of_undo):
      * textprop.c (syms_of_textprop):
      * terminal.c (syms_of_terminal):
      * syntax.c (syms_of_syntax):
      * sound.c (syms_of_sound):
      * search.c (syms_of_search):
      * print.c (syms_of_print):
      * minibuf.c (syms_of_minibuf):
      * macros.c (syms_of_macros):
      * keymap.c (syms_of_keymap, initial_define_key)
      (initial_define_lispy_key):
      * keyboard.c (syms_of_keyboard):
      * insdel.c (syms_of_insdel):
      * image.c (syms_of_image):
      * fringe.c (syms_of_fringe):
      * frame.c (syms_of_frame):
      * fontset.c (syms_of_fontset):
      * fns.c (syms_of_fns):
      * fns.c (syms_of_fns):
      * fileio.c (syms_of_fileio):
      * fileio.c (syms_of_fileio):
      * eval.c (syms_of_eval):
      * doc.c (syms_of_doc):
      * dispnew.c (syms_of_display):
      * dired.c (syms_of_dired):
      * dbusbind.c (syms_of_dbusbind):
      * data.c (syms_of_data):
      * composite.c (syms_of_composite):
      * coding.c (syms_of_coding):
      * cmds.c (syms_of_cmds):
      * charset.c (define_charset_internal, syms_of_character):
      * ccl.c (syms_of_ccl):
      * category.c (syms_of_category, init_category_once):
      * casetab.c (syms_of_casetab):
      * casefiddle.c (syms_of_casefiddle):
      * callint.c (syms_of_callint):
      * bytecode.c (syms_of_bytecode):
      * buffer.c (keys_of_buffer, syms_of_buffer):
      * alloc.c (syms_of_alloc):
      * process.c (syms_of_process, init_process):
      * lread.c (syms_of_lread, init_obarray):
      * font.c (build_style_table):
      * emacs.c (syms_of_emacs, main): Replace calls to intern with
      intern_c_string, calls to make_pure_string with
      make_pure_c_string.  Use pure_cons instead of Fcons.
      
      * process.c (socket_options): Make it const.
      (set_socket_option, init_process): Use a const pointer.
      
      * lread.c (intern_c_string): New function.
      (defvar_kboard, defvar_lisp, defvar_lisp_nopro, defvar_bool)
      (defvar_int): Uset it.  Make the name const char*.
      
      * font.c (struct table_entry): Remove unused member.  Make NAMES
      constant.
      (weight_table, slant_table, width_table): Make constant.
      
      * emacs.c (struct standard_args): Make name and longname constant.
      d67b4f80
    • Dan Nicolaescu's avatar
      * alloc.c (make_pure_c_string): New function. · a56eaaef
      Dan Nicolaescu authored
      * eval.c (Fautoload): Purecopy all arguments.
      a56eaaef
  12. 24 Oct, 2009 1 commit
    • Dan Nicolaescu's avatar
      * keymap.c (Fmake_sparse_keymap): Purecopy the name. · 905a9ed3
      Dan Nicolaescu authored
      * eval.c (Fautoload): Purecopy the filename.  Simplify.
      
      * category.c (Fdefine_category): Purecopy docstring.
      
      * international/mule-cmds.el (set-language-info-alist): Purecopy lang-env.
      (leim-list-header, leim-list-entry-regexp): Change defvars to defconst.
      (charset): Purecopy the name.
      (define-char-code-property): Purecopy string arguments.
      
      * emacs-lisp/byte-run.el (make-obsolete, make-obsolete-variable):
      Purecopy string arguments.
      
      * emacs-lisp/lisp-mode.el (emacs-lisp-mode-map):
      * ediff-hook.el (menu-bar-ediff-menu):
      * buff-menu.el (Buffer-menu-mode-map): Purecopy names and tooltips.
      * bookmark.el (menu-bar-bookmark-map): Add :help and purecopy the name.
      905a9ed3
  13. 19 Oct, 2009 1 commit
    • Dan Nicolaescu's avatar
      * alloc.c: Do not define struct catchtag. · d7306fe6
      Dan Nicolaescu authored
      * eval.c: Move struct catchtag definition ...
      * lisp.h: ... here.
      
      * image.c: Move png.h #include earlier to avoid warnings.
      
      * xterm.c:
      * xsmfns.c:
      * xselect.c:
      * xrdb.c:
      * xmenu.c:
      * xftfont.c:
      * xfont.c:
      * xfns.c:
      * xfaces.c:
      * xdisp.c:
      * window.c:
      * widget.c:
      * w32xfns.c:
      * w32uniscribe.c:
      * w32term.c:
      * w32select.c:
      * w32reg.c:
      * w32proc.c:
      * w32menu.c:
      * w32inevt.c:
      * w32heap.c:
      * w32font.c:
      * w32fns.c:
      * w32console.c:
      * w32.c:
      * w16select.c:
      * vm-limit.c:
      * unexsol.c:
      * unexec.c:
      * unexcw.c:
      * unexaix.c:
      * undo.c:
      * tparam.c:
      * textprop.c:
      * terminfo.c:
      * terminal.c:
      * termcap.c:
      * term.c:
      * syntax.c:
      * sound.c:
      * sheap.c:
      * search.c:
      * scroll.c:
      * region-cache.c:
      * regex.c:
      * ralloc.c:
      * process.c:
      * print.c:
      * msdos.c:
      * minibuf.c:
      * menu.c:
      * marker.c:
      * macros.c:
      * keymap.c:
      * keyboard.c:
      * intervals.c:
      * insdel.c:
      * indent.c:
      * gtkutil.c:
      * ftxfont.c:
      * ftfont.c:
      * fringe.c:
      * frame.c:
      * fontset.c:
      * font.c:
      * fns.c:
      * floatfns.c:
      * filelock.c:
      * fileio.c:
      * emacs.c:
      * editfns.c:
      * dosfns.c:
      * doprnt.c:
      * doc.c:
      * dispnew.c:
      * dired.c:
      * dbusbind.c:
      * data.c:
      * composite.c:
      * coding.c:
      * cmds.c:
      * cm.c:
      * chartab.c:
      * charset.c:
      * character.c:
      * ccl.c:
      * category.c:
      * casetab.c:
      * casefiddle.c:
      * callproc.c:
      * callint.c:
      * bytecode.c:
      * buffer.c:
      * atimer.c: Include setjmp.h.  (Bug#4643)
      
      * xlwmenu.c:
      * lwlib.c:
      * lwlib-utils.c:
      * lwlib-Xm.c:
      * lwlib-Xlw.c:
      * lwlib-Xaw.c: Include setjmp.h.
      d7306fe6
  14. 01 Oct, 2009 1 commit
  15. 20 Sep, 2009 1 commit
  16. 21 Aug, 2009 1 commit
  17. 15 Aug, 2009 1 commit
  18. 27 Jul, 2009 1 commit
  19. 24 Mar, 2009 1 commit
  20. 08 Jan, 2009 1 commit
  21. 05 Dec, 2008 1 commit
  22. 27 Aug, 2008 1 commit
  23. 26 Aug, 2008 2 commits
  24. 28 Jul, 2008 1 commit
    • Andreas Schwab's avatar
      * lisp.h (init_weak_hash_tables, syms_of_font) · ddaa36e1
      Andreas Schwab authored
      (xd_read_queued_messages, syms_of_dbusbind): Declare.
      (remove_hash_entry): Don't declare.
      * eval.c (maybe_call_debugger): Make static and move before use.
      * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
      * xdisp.c: Include "gtkutil.h" if USE_GTK.
      * xterm.h (x_set_frame_alpha): Declare.
      ddaa36e1
  25. 13 Jul, 2008 1 commit
    • Dan Nicolaescu's avatar
      * config.nt (HAVE_FACES): Remove, unused. · bdee2ef3
      Dan Nicolaescu authored
      * s/vms.h: Use __GNUC__ instead of _GNUC_.
      
      * m/macppc.h:
      * m/alpha.h: Use GNU_LINUX instead of LINUX.  Reorganize conditionals.
      
      * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
      (SPECIAL_EMACS_INT):
      * m/ia64.h (SPECIAL_EMACS_INT):
      * m/amdx86-64.h (SPECIAL_EMACS_INT):
      * s/gnu.h (NLIST_STRUCT):
      * aix4-2.h (X11R5_INHIBIT_I18N):
      * s/gnu-linux.h (LINUX):
      * s/msdos.h (HAVE_FACES):
      * s/ms-w32.h (HAVE_FACES): Don't define, unused.
      
      * systty.h:
      * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
      anymore.
      bdee2ef3
  26. 04 Jun, 2008 1 commit
  27. 20 May, 2008 1 commit
  28. 14 May, 2008 1 commit
  29. 11 Apr, 2008 1 commit
  30. 19 Mar, 2008 1 commit
    • Jason Rumney's avatar
      * w32fns.c (hourglass_timer, hourglass_hwnd): New variables. · d148e14d
      Jason Rumney authored
      (syms_of_w32fns): Initialize them.
      (HOURGLASS_ID): New constant.
      (x_window_to_frame): Don't check hourglass_window.
      (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
      (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
      (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
      (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
      Only change the cursor if hourglass is not active.
      (Fx_create_frame): Initialize frame's current_cursor.
      (hourglass_atimer): Remove.
      (hourglass_started): New function.
      (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
      (show_hourglass): Adapt to w32, changing argument to frame.
      
      * w32term.h (struct w32_output): Remove hourglass_window.
      Add current_cursor.
      
      * eval.c (call_debugger, Fsignal):
      * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
      (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
      (Fexecute_extended_command, cancel_hourglass_unwind):
      * minibuf.c (read_minibuf):
      * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
      d148e14d
  31. 07 Feb, 2008 1 commit
    • Stefan Monnier's avatar
      * xselect.c (x_handle_dnd_message): · 3ae565b3
      Stefan Monnier authored
      * xmenu.c (digest_single_submenu, xmenu_show):
      * xdisp.c (with_echo_area_buffer_unwind_data, format_mode_line_unwind_data)
      (unwind_format_mode_line, display_menu_bar):
      * eval.c (Ffetch_bytecode):
      * doc.c (store_function_docstring):
      * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
      (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
      * buffer.c (add_overlay_mod_hooklist): Use ASET.
      3ae565b3
  32. 08 Jan, 2008 1 commit
  33. 19 Nov, 2007 1 commit
  34. 24 Oct, 2007 1 commit
  35. 16 Oct, 2007 1 commit
    • Stefan Monnier's avatar
      * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value. · 67ee9f6e
      Stefan Monnier authored
      (XMISCANY): New macro.
      (XMISCTYPE): Use it.
      (struct Lisp_Misc_Any): New type.
      (union Lisp_Misc): Use it.
      (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
      * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
      (find_symbol_value, 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):
      The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
      * alloc.c (allocate_buffer): Set the size and tag.
      (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
      Use XMISCANY.
      (die): Follow the GNU convention for error messages.
      * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
      * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
      tag any more.
      (set_buffer_internal_1):
      * frame.c (store_frame_param):
      * eval.c (specbind):
      * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
      67ee9f6e
  36. 14 Oct, 2007 2 commits
  37. 09 Oct, 2007 1 commit