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

33228 commits

Author SHA1 Message Date
Lawrence Mitchell
d32e47aff6 * search.c (Freplace_match): Treat \? in the replacement text literally.
Fixes: debbugs:8161
2012-08-05 21:30:15 +08:00
Chong Yidong
e5d9c0d111 Docfix for kill-buffer-hook and others.
* lisp/files.el (kill-buffer-hook): Provide a defvar.

* src/term.c (Vsuspend_tty_functions, Vresume_tty_functions):
* src/frame.c (Vdelete_frame_functions):
* src/emacs.c (Vkill_emacs_hook): Doc fix.
2012-08-05 15:45:12 +08:00
Eli Zaretskii
8da0576b32 Fix compilation --with-x-toolkit=no.
stc/xfns.c (x_set_menu_bar_lines): Fix compilation error in
 --with-x-toolkit=no builds by using FVAR.
 Reported by Carsten Mattner <carstenmattner@gmail.com>.
2012-08-04 17:36:36 +03:00
Chong Yidong
02676e5d3d Doc fixes and improvements for syntax tables.
* src/syntax.c (Fmodify_syntax_entry): Doc fix.

* doc/lispref/syntax.texi (Syntax Basics): Rearrange the text for clarity.
Fix description of syntax table inheritance.
(Syntax Table Functions): Don't refer to internal contents of
syntax table, since that is not explained yet.  Copyedits.
(Standard Syntax Tables): Node deleted.
(Syntax Table Internals): Misc clarifications.  Improve table
formatting.

* doc/lispref/keymaps.texi (Inheritance and Keymaps):
* doc/lispref/text.texi (Sticky Properties): Tweak index entry.
2012-08-04 22:33:00 +08:00
Eli Zaretskii
76151e2ce7 Fix bug #11959 with startup warnings on MS-Windows about ../site-lisp.
src/w32.c (init_environment): Change the default values of many
 environment variables in dflt_envvars[] to NULL, to avoid pushing
 them into environment when they were not already defined.  Remove
 the code that deletes site-lisp subdirectories from the default
 value of EMACSLOADPATH, as it is no longer needed.
 (check_windows_init_file): Now external, not static.  Use
 Vload_path as is, without adding anything, as this function is now
 called when Vload_path is already set up.
 src/w32.h (check_windows_init_file): Add prototype.
 src/emacs.c (init_cmdargs) [WINDOWSNT]: When running from the build
 directory, ignore the /*/i386/ tail in Vinvocation_directory, for
 compatibility with Posix platforms.
 (main): Move the call to check_windows_init_file to here from
 w32.c.
 (decode_env_path) [WINDOWSNT]: Expand the %emacs_dir%/ prefix, if
 any, in the DEFALT argument into the root of the Emacs build or
 installation tree, as appropriate.
 src/callproc.c (init_callproc_1): Call decode_env_path instead of
 doing its equivalent by hand.
 (init_callproc): Replace DOS_NT condition with MSDOS, thus letting
 the code that sets Vexec_path run on MS-Windows.
 src/lread.c (init_lread): Add comments to #ifdef's.

 nt/paths.h (PATH_LOADSEARCH, PATH_SITELOADSEARCH, PATH_EXEC)
 (PATH_DATA, PATH_DOC): Replace dummy directory names with
 directories relative to %emacs_dir%.
 (PATH_EXEC): Add lib-src/oo-spd/i386 and lib-src/oo/i386, to cater
 to the use case of running un-installed Emacs.
2012-08-04 17:17:10 +03:00
Eli Zaretskii
97147da956 Fix Sed scripts and msdos.c as fallout of latest changes. 2012-08-04 11:58:33 +03:00
Paul Eggert
185ee1468e Export DEFAULT_REHASH_* to GDB.
* lisp.h (DEFAULT_REHASH_THRESHOLD, DEFAULT_REHASH_SIZE):
Now constants, not macros.
2012-08-03 17:52:10 -07:00
Paul Eggert
1175def2d5 Comment why gc_aset can be triggered during GC. 2012-08-03 16:40:20 -07:00
Paul Eggert
98c6f1e36f Remove unnecessary casts involving pointers.
These casts are no longer needed now that we assume C89 or later,
since they involve casting to or from void *.
* alloc.c (make_pure_string, make_pure_c_string, pure_cons)
(make_pure_float, make_pure_vector):
* lisp.h (SAFE_ALLOCA, SAFE_ALLOCA_LISP):
* macros.c (Fstart_kbd_macro):
* menu.c (find_and_return_menu_selection):
* minibuf.c (read_minibuf_noninteractive):
* sysdep.c (closedir):
* xdisp.c (x_produce_glyphs):
* xfaces.c (compare_fonts_by_sort_order):
* xfns.c (x_real_positions, select_visual):
* xselect.c (x_stop_queuing_selection_requests)
(x_get_window_property, x_get_window_property_as_lisp_data):
* xterm.c (x_set_frame_alpha, x_find_modifier_meanings):
Remove unnecessary pointer casts.
* alloc.c (record_xmalloc): New function.
* lisp.h (record_xmalloc): New decl.
(SAFE_ALLOCA): Now takes just one arg -- the size -- and acts
more like a function.  This is because the pointer cast is not
needed.  All uses changed.
* print.c (print_string, print_error_message): Avoid length recalc.
2012-08-03 16:36:11 -07:00
Paul Eggert
8834c57aab Improve fix for macroexp crash with debugging.
* lisp.h (ASET) [ENABLE_CHECKING]: Pay attention to
ARRAY_MARK_FLAG when checking subscripts, because ASET is
not supposed to be invoked from the garbage collector.
See Andreas Schwab in <http://bugs.gnu.org/12118#25>.
(gc_aset): New function, which is like ASET but can be
used in the garbage collector.
(set_hash_key, set_hash_value, set_hash_next, set_hash_hash)
(set_hash_index): Use it instead of ASET.
2012-08-03 13:55:27 -07:00
Eli Zaretskii
6dad71783c Support symlinks on latest versions of MS-Windows.
src/w32.c: Include winioctl.h and aclapi.h.
 (is_symlink, chase_symlinks, enable_privilege, restore_privilege)
 (revert_to_self): Forward declarations of static functions.
 <static BOOL g_b_init_get_security_info>:
 <g_b_init_create_symbolic_link>: New static flags.
 (globals_of_w32): Initialize them to zero.
 (GetSecurityInfo_Proc, CreateSymbolicLink_Proc): New typedefs.
 (map_w32_filename): Improve commentary.  Simplify switch.
 (SYMBOLIC_LINK_FLAG_DIRECTORY): Define if not defined in system
 headers (most versions of MinGW w32api don't).
 (get_security_info, create_symbolic_link)
 (get_file_security_desc_by_handle, is_symlink, chase_symlinks):
 New functions.
 (sys_access, sys_chmod): Call 'chase_symlinks' to resolve symlinks
 in the argument file name.
 (sys_access): Call unc_volume_file_attributes only if
 GetFileAttributes fails with network-related error codes.
 (sys_rename): Diagnose renaming of a symlink when the user doesn't
 have the required privileges.
 (get_file_security_desc_by_name): Renamed from
 get_file_security_desc.
 (stat_worker): New function, with most of the guts of 'stat', and
 with addition of handling of symlinks and support for 'lstat'.  If
 possible, get file's attributes and security information by
 handle, not by name.  Produce S_IFLNK bit for symlinks, when
 called from 'lstat'.
 (stat, lstat): New functions, call 'stat_worker'.
 (symlink, readlink, careadlinkat): Rewritten to create and resolve
 symlinks when the underlying filesystem supports them.

 lib/src/ntlib.c (lstat): New function, calls 'stat'.

 nt/inc/sys/stat.h (S_IFLNK): Define.
 (S_ISLNK): A non-trivial definition.
 (lstat): Prototype instead of a macro that redirects to 'stat'.

 lisp/files.el (file-truename): Don't skip symlink-chasing part on
 windows-nt.  Incorporate the resolution of 8+3 short aliases on
 Windows into the loop that recursively chases symlinks.  Compare
 directory and its parent case-insensitively on MS-Windows and
 MS-DOS.

 etc/NEWS: Announce the symlink support on MS-Windows.
2012-08-03 13:23:30 +03:00
Paul Eggert
79ea6c20c4 Fix macroexp crash on Windows with debugging.
* lisp.h (ASET) [ENABLE_CHECKING]: Ignore ARRAY_MARK_FLAG when
checking subscripts; problem introduced with the recent
"ASET (a, i, v)" rather than "AREF (a, i) = v" patch.
(ARRAY_MARK_FLAG): Now a macro as well as a constant,
since it's used in non-static inline functions now.

Fixes: debbugs:12118
2012-08-02 13:59:49 -07:00
Paul Eggert
a8333d0357 * lisp.h (VALMASK) [!USE_LSB_TAG]: Now a macro
as well as a constant, since it's used in non-static inline functions now.
2012-08-02 03:49:19 -07:00
Paul Eggert
c0ce93fddb * xfaces.c (face_for_overlay_string): Remove unused local. 2012-08-02 02:33:13 -07:00
Paul Eggert
56adbe62a5 * xfaces.c: Don't assume buffer size fits in 'int'. 2012-08-02 02:20:01 -07:00
Paul Eggert
c71f515666 * xfaces.c (face_at_buffer_position): Remove unused local. 2012-08-02 01:47:07 -07:00
Paul Eggert
f162bcc31c Use C99-style 'extern inline' if available.
* lib-src/profile.c (SYSTIME_INLINE): Define.
* nt/config.nt: Sync with autogen/config.in.
(_GL_INLINE, _GL_EXTERN_INLINE, _GL_INLINE_HEADER_BEGIN)
(_GL_INLINE_HEADER_END): New macros.
* src/buffer.h (BUFFER_INLINE):
* src/category.h (CATEGORY_INLINE):
* src/character.h (CHARACTER_INLINE):
* src/charset.h (CHARSET_INLINE):
* src/composite.h (COMPOSITE_INLINE):
* src/dispextern.h (DISPEXTERN_INLINE):
* src/lisp.h (LISP_INLINE):
* src/systime.h (SYSTIME_INLINE):
New macro, replacing 'static inline' in this header.
* src/buffer.h, src/category.h, src/character.h, src/charset.h:
* src/composite.h, src/dispextern.h, lisp.h, systime.h:
Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
* src/alloc.c (LISP_INLINE):
* src/buffer.c (BUFFER_INLINE):
* src/category.c (CATEGORY_INLINE):
* src/character.c (CHARACTER_INLINE):
* src/charset.c (CHARSET_INLINE):
* src/composite.c (COMPOSITE_INLINE):
* src/dispnew.c (DISPEXTERN_INLINE):
* src/sysdep.c (SYSTIME_INLINE):
Define to EXTERN_INLINE, so that the corresponding functions
are compiled into code.
* src/conf_post.h (INLINE, EXTERN_INLINE, INLINE_HEADER_BEGIN)
(INLINE_HEADER_END): New macros.
* src/lisp.h (PSEUDOVECTOR_FLAG): Now a macro as well as a constant,
since it's used in non-static inline functions now.
2012-08-02 00:31:34 -07:00
Glenn Morris
6edd2f3de3 Comment 2012-08-01 23:43:13 -07:00
Glenn Morris
d66b744dc3 * src/s/: Remove empty directory.
* make-dist: Remove src/s.
2012-08-01 23:21:48 -07:00
Glenn Morris
837b365b2a Move NT-specific include file to the NT include directory
* nt/inc/ms-w32.h: Move here from ../src/s.
* nt/config.nt (config_opsysfile): Change to <ms-w32.h>.

* s/ms-w32.h: Move to ../nt/inc.
* src/makefile.w32-in (TAGS, TAGS-gmake, MS_W32_H):
Update for new ms-w32.h location.

* lib-src/makefile.w32-in (MS_W32_H): Update for new ms-w32.h location.

* lib/makefile.w32-in (MS_W32_H): Update for new ms-w32.h location.

* lisp/emacs-lisp/authors.el (authors-renamed-files-alist): Add ms-w32.h.
2012-08-01 23:19:48 -07:00
Paul Eggert
13294f9517 Port to Solaris 8.
Without this change, 'configure' fails because the recently-added
wait3 prototype in config.h messes up later 'configure' tests.
Fix this problem by droping wait3 and WRETCODE, as they're
no longer needed on hosts that are current porting targets.
* configure.ac (wait3, WRETCODE): Remove, fixing a FIXME.
All uses changed to waitpid and WEXITSTATUS.
* src/syswait.h (WRETCODE): Remove, consistently with ../configure.ac.
2012-08-01 21:14:48 -07:00
Glenn Morris
90df0db330 * src/nsterm.m (ns_exec_path, ns_load_path): Use SEPCHAR
(rather than hard-coding the path separator).
2012-08-01 21:06:38 -07:00
Paul Eggert
3f750e43e8 Avoid needless autoheader after autogen.sh.
* src/stamp-h.in: Remove from bzr repository; no longer needed there.
* .bzrignore: Add it.
* autogen.sh: Create it.
2012-08-01 18:59:19 -07:00
Paul Eggert
4939150cb4 Use "ASET (a, i, v)" rather than "AREF (a, i) = v".
This how ASET and AREF are supposed to work, and makes
it easier to think about future improvements.  See
<http://lists.gnu.org/archive/html/emacs-devel/2012-08/msg00026.html>.
* charset.h (set_charset_attr): New function.
All lvalue-style uses of CHARSET_DECODER etc. changed to use it.
* lisp.h (ASET): Rewrite so as not to use AREF in an lvalue style.
(aref_addr): New function.  All uses of &AREF(...) changed.
(set_hash_key, set_hash_value, set_hash_next, set_hash_hash)
(set_hash_index): New functions.  All lvalue-style uses of
HASH_KEY etc. changed.
* keyboard.c (set_prop): New function.  All lvalue-style uses
of PROP changed.
2012-08-01 13:51:44 -07:00
Alp Aker
947b2afddc * nsterm.m (ns_set_vertical_scroll_bar, ns_redeem_scroll_bar)
(EmacsWindow-accessibilityAttributeValue, EmacsScroller-initFrame:)
  (EmacsScroller-dealloc):  Adjust to use WVAR.  (Bug#12114)
* nsfns.m (ns_set_name_as_filename): Likewise.
* nsmenu.m (ns_update_menubar): Likewise.
* nsselect.m (symbol_to_nsstring): Adjust to use SVAR.
2012-08-01 16:15:30 -04:00
Eli Zaretskii
75e3caf91e More fixes in .gdbinit. 2012-08-01 19:31:59 +03:00
Eli Zaretskii
288479f65c Fix typo in src/ChangeLog. 2012-08-01 19:30:13 +03:00
Eli Zaretskii
2008beae39 Fix .gdbinit for latest INTERNAL_FIELD uses.
src/.gdbinit (xcar, xcdr, xlist, xwindow, nextcons, xprintsym):
 Adapt to latest changes in field names of the corresponding Lisp
 objects.
2012-08-01 19:28:58 +03:00
Eli Zaretskii
4f5d0325f3 Fix fallout from 2012-08-01T05:11:36Z!dmantipov@yandex.ru that introduced WVAR.
src/xdisp.c (try_window_id): Use WVAR in IF_DEBUG code.
2012-08-01 18:39:21 +03:00
Glenn Morris
bb2e3a6e4f Alphabetic order is proving tricky today 2012-08-01 08:33:09 -07:00
Glenn Morris
aac1c9ac83 Alphabetical order 2012-08-01 08:25:43 -07:00
Glenn Morris
2e415bb75f Fix typo in previous 2012-08-01 08:24:23 -07:00
Glenn Morris
fe3cc7713a Remove src/s/msdos.h
* msdos/sed2v2.inp (MSDOS, DOS_NT, FLOAT_CHECK_DOMAIN)
(HAVE_INVERSE_HYPERBOLIC, DEVICE_SEP, IS_DIRECTORY_SEP, IS_ANY_SEP)
(INTERNAL_TERMINAL, NULL_DEVICE, SEPCHAR, USER_FULL_NAME)
(_setjmp, _longjmp): Move here from src/s/msdos.h.
(config_opsysfile, config_machfile): Remove.
* msdos/sed1v2.inp (M_FILE, S_FILE): Remove.
* msdos/mainmake.v2 (TAGS tags): Remove src/s/msdos.h.

* src/s/msdos.h: Remove file.
* src/conf_post.h [MSDOS]: New section, moved from s/msdos.h.
* src/Makefile.in (S_FILE): Remove.
(config_h): Remove S_FILE.
2012-08-01 08:19:51 -07:00
Juanma Barranquero
c90acc54da Sync Windows port with autogen/config.in changes.
* nt/config.nt: Sync with autogen/config.in.
(DEVICE_SEP, FLOAT_CHECK_DOMAIN, HAVE_INVERSE_HYPERBOLIC)
(INTERNAL_TERMINAL, IS_ANY_SEP, IS_DEVICE_SEP, IS_DIRECTORY_SEP):
New macros.

* src/s/ms-w32.h (DEVICE_SEP, IS_DIRECTORY_SEP, IS_ANY_SEP):
Remove; moved to nt/config.nt.
2012-08-01 13:20:07 +02:00
Dmitry Antipov
d8a05828fd Use INTERNAL_FIELD for conses and overlays.
* src/lisp.h (struct Lisp_Cons): Use INTERNAL_FIELD.
Remove obsolete comment.
(MVAR): New macro.
(struct Lisp_Overlay): Use INTERNAL_FIELD.
* src/alloc.c, src/buffer.c, src/buffer.h, src/fns.c: Adjust users.
* admin/coccinelle/overlay.cocci: Semantic patch to replace direct
access to Lisp_Object members of struct Lisp_Overlay to MVAR.
2012-08-01 12:49:28 +04:00
Dmitry Antipov
8271d59040 Use INTERNAL_FIELD for symbols.
* src/lisp.h (SVAR): New macro.  Adjust users.
* src/alloc.c, src/bytecode.c, src/cmds.c, src/data.c, src/doc.c, src/eval.c:
* src/fns.c, src/keyboard.c, src/lread.c, src/xterm.c: Users changed.
* admin/coccinelle/symbol.cocci: Semantic patch to replace direct
access to Lisp_Object members of struct Lisp_Symbol to SVAR.
2012-08-01 11:57:09 +04:00
Dmitry Antipov
3193acd258 Use INTERNAL_FIELD for processes.
* src/process.h (PVAR): New macro.  Adjust style.
(struct Lisp_Process): Change Lisp_Object members to INTERNAL_FIELD.
* src/print.c, src/process.c, src/sysdep.c, src/w32.c:
* src/xdisp.c: Users changed.
* admin/coccinelle/process.cocci: Semantic patch to replace direct
access to Lisp_Object members of struct Lisp_Process to PVAR.
2012-08-01 10:23:24 +04:00
Dmitry Antipov
3a45383a47 Use INTERNAL_FIELD for windows.
* src/window.h (WVAR): New macro.
(struct window): Change Lisp_Object members to INTERNAL_FIELD.
* src/alloc.c, src/buffer.c, src/composite.c, src/dispextern.h:
* src/dispnew.c, src/editfns.c, src/fileio.c, src/font.c, src/fontset.c:
* src/frame.c, src/frame.h, src/fringe.c, src/indent.c, src/insdel.c:
* src/keyboard.c, src/keymap.c, src/lisp.h, src/minibuf.c, src/nsterm.m:
* src/print.c, src/textprop.c, src/w32fns.c, src/w32menu.c, src/w32term.c:
* src/window.c, src/xdisp.c, src/xfaces.c, src/xfns.c, src/xmenu.c:
* src/xterm.c: Users changed.
* admin/coccinelle/window.cocci: Semantic patch to replace direct
access to Lisp_Object members of struct window to WVAR.
2012-08-01 09:11:36 +04:00
Paul Eggert
c1dbc63c93 * coding.h (CODING_ATTR_FLUSHING): Remove; unused and wouldn't work. 2012-07-31 20:51:44 -07:00
Glenn Morris
8d7c7eed73 ChangeLog fixes 2012-07-31 22:14:20 -04:00
Glenn Morris
5c0c0e8a1a Move definitions of directory and device separators to configure
* configure.ac (DEVICE_SEP, IS_DEVICE_SEP, IS_DIRECTORY_SEP, IS_ANY_SEP):
Move here from src/lisp.h.

* src/lisp.h (IS_DIRECTORY_SEP, IS_DEVICE_SEP, IS_ANY_SEP):
Move to configure.ac.
2012-07-31 21:43:08 -04:00
Juanma Barranquero
552a99b4cb Adapt Windows port to recent changes in autogen/config.in.
* lib-src/makefile.w32-in (CONFIG_H): Update dependencies.
(CONF_POST_H): New macro.

* lib/makefile.w32-in (CONFIG_H): Update dependencies.
(CONF_POST_H): New macro.

* nt/config.nt: Sync with autogen/config.in.
Remove code moved to conf_post.h and include <conf_post.h>
(NULL_DEVICE, SEPCHAR, SIGNAL_H_AHB, TIOCSIGSEND, USER_FULL_NAME)
(USG5_4, WRETCODE, _longjmp, _setjmp, wait3): New macros.

* src/makefile.w32-in (CONFIG_H): Update dependencies.
(CONF_POST_H): New macro.

* src/s/ms-w32.h (SEPCHAR, NULL_DEVICE): Remove; moved to nt/config.nt.
2012-08-01 02:29:59 +02:00
Glenn Morris
bc96620af4 * configure.ac (S_FILE): Remove output variable.
* src/Makefile.in (S_FILE): No longer set by configure.

* msdos/sed1v2.inp (S_FILE): Update for format change.
2012-07-31 19:20:25 -04:00
Glenn Morris
476b1b2da1 Minor rearrangement for src/conf_post.h
* src/conf_post.h (config_opsysfile):
Move earlier, so that WINDOWSNT is available.
(alloca.h) [WINDOWSNT]: Don't include it on MS Windows.
2012-07-31 19:02:12 -04:00
Glenn Morris
b2c7a10681 * configure.ac (NULL_DEVICE, SEPCHAR, USER_FULL_NAME): Move here from src.
* src/editfns.c (USER_FULL_NAME):
* src/emacs.c (SEPCHAR):
* src/process.h (NULL_DEVICE): Let configure set them.
2012-07-31 18:24:49 -04:00
Glenn Morris
d53d062a0e * src/s/README, src/s/template.h: Remove files. 2012-07-31 14:51:24 -04:00
Glenn Morris
4515017f63 * src/conf_post.h [HPUX]: Undefine HAVE_RANDOM and HAVE_RINT.
This is a belt-and-braces approach.

* configure.ac: Related comment.
2012-07-31 14:34:26 -04:00
Glenn Morris
8d8e2dfea4 Move AMPERSAND_FULL_NAME, subprocesses from conf_post.h to configure.ac
* configure.ac (AMPERSAND_FULL_NAME, subprocesses): Move here from conf_post.h.

* src/conf_post.h (AMPERSAND_FULL_NAME, subprocesses): Move to configure.ac.
2012-07-31 13:50:52 -04:00
Eli Zaretskii
1e0afd9a0f Fix 'xframe' in .gdbinit.
src/.gdbinit (xframe): Adapt to introduction of FVAR and the
 resulting renaming of 'struct frame' members.
2012-07-31 20:34:51 +03:00
Eli Zaretskii
5b20b3cc46 Fix some of the breakage introduced with 2012-07-31T12:36:19Z!dmantipov@yandex.ru.
src/w32menu.c (w32_menu_show): Revert bogus introduction of FVAR.
 src/fontset.c (dump_fontset): Fix compilation with ENABLE_CHECKING
 after introduction of FVAR.
2012-07-31 19:59:55 +03:00