1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-17 05:30:43 -08:00
Commit graph

116430 commits

Author SHA1 Message Date
Leo Liu
d4e355b45d * emacs-lisp/cl-macs.el (cl-macrolet): Simplify last change. 2014-06-06 07:08:59 +08:00
Katsumi Yamaoka
dd97cafcf2 lisp/gnus/gnus-art.el (gnus-mime-buttonize-attachments-in-header): Improve criterion that finds parts to display 2014-06-05 22:43:36 +00:00
Dmitry Antipov
04ee0de0d1 * INSTALL: Mention SVG image support. 2014-06-05 21:31:41 +04:00
Leo Liu
14781f7f44 * emacs-lisp/cl-macs.el (cl-macrolet): Avoid excessive progn's. 2014-06-06 01:08:18 +08:00
Michal Nazarewicz
1d7f01eeed * tests/automated/tildify-tests.el (tildify-test--test): Optimise the
test slightly by reusing the same temporary buffer across multiple
test cases.
2014-06-05 16:42:45 +02:00
Michal Nazarewicz
03d7d160c3 tildify.el: Rewrite `tildify-region' and co., add foreach function.
* lisp/textmodes/tildify.el (tildify-foreach-region-outside-env): New
function which calls a callback on portions of the buffer that are
outside of ignored environments.
(tildify-build-regexp): Remove function since it is now
incorporated in `tildify-foreach-region-outside-env' where it is
optimised and simplified by the use of `mapconcat'.
(tildify-tildify): Return number of substitutions made so that…
(tildify-count): …can be removed.
(tildify-find-env): Accept a new PAIRS argument which was
previously looked up in `tildify-ignored-environments-alist' each
time the function was called.  With this change, the lookup is
performed only once in `tildify-foreach-region-outside-env'.
(tildify-region): Greatly simplify the function since now most of
the work is done by `tildify-foreach-region-outside-env'.
(tildify-mode-alist): Simplify slightly by avoiding if and setq
and instead using or.

* tests/automated/tildify-tests.el (tildify-test-find-env-end-re-bug)
(tildify-test-find-env-group-index-bug): Update to support new
signature of the `tildify-foreach-region-outside-env' function.
Namely, it now takes pairs as an argument instead of looking it up in
`tildify-ignored-environments-alist'.
2014-06-05 16:42:07 +02:00
Michal Nazarewicz
df344ab435 tildify.el: Optimise environments regexes
* lisp/textmodes/tildify.el (tildify-ignored-environments-alist):
Each time beginning of an environment to ignore is found,
`tildify-find-env' needs to identify regexp for the ending
of the environment.  This is done by trying all the opening
regexes on matched text in a loop, so to speed that up, this
loop should have fewer things to match, which can be done by
using alternatives in the opening regexes.

Coincidentally, this should make matching of the opening
regexp faster as well thanks to the use of `regexp-opt' and
having common prefix pulled from many regexes.
2014-06-05 16:41:32 +02:00
Michal Nazarewicz
eb54c73a9d tildify.el: Better support for XML
* lisp/textmodes/tildify.el  (tildify-string-alist)
(tildify-ignored-environments-alist): Add `nxml-mode' to the list of
supported modes since `xml-mode' is no longer a thing but just an
alias to the former.  Also include comments and insides of tags in
`tildify-ignored-environments-alist' for XML modes.  Finally, since
XML does not define “ ”[1], use a numeric reference for
a no-break space (namely “ ”)

[1] XML specification defines only a handful of predefined entities.
    The list is at <http://www.w3.org/TR/REC-xml/#sec-predefined-ent>
    and includes only &lt;, &gt;, &amp;, &apos; and &quot; (meaning <,
    >, &, ' and " respectively).  This is in contrast to HTML and even
    XHTML which defined a whole bunch of entities including “&nbsp;”.

* automated/tildify-tests.el (tildify-test--example-html): Add support
for generating XML code, so that…
(tildify-test-xml) …test can be added to check handling of XML
documents.
2014-06-05 16:41:01 +02:00
Michal Nazarewicz
e01e361f93 tildify.el: Improve defcustom's types
* lisp/textmodes/tildify.el (tildify-pattern-alist)
(tildify-string-alist, tildify-ignored-environments-alist):
Add more tags explaining what each value means and replace
“sexp” used in `tildify-ignored-environments-alist' with
a full type declaration.
2014-06-05 16:40:26 +02:00
Michal Nazarewicz
9342feecdd tildify.el: Fix matched group indexes in end-regex building
* lisp/textmodes/tildifi.el (tildify-find-env): When looking for
a start of an ignore-environment, the regex is built by
concatenating regexes of all the environments configured in
`tildify-ignored-environments-alist'.  So for example, the following
list could be used to match TeX's \verb and \verb* commands:

    (("\\\\verb\\(.\\)" . (1))
     ("\\\\verb\\*\\(.\\)" . (1)))

This would result in the following regex being used to find the start
of any of the variants of the \verb command:

    \\\\verb\\(.\\)\\|\\\\verb\\*\\(.\\)

But now, if “\\\\verb\\*\\(.\\)” matches, the first capture group
won't match anything, and thus (match-string 1) will be nil, which
will cause building of the end-matching regex to fail.

Fix this by using capture groups from the time when the opening
regexes are matched individually.

* tests/automated/tildify-tests.el (tildify-test-find-env-group-index-bug):
New test validating fix to the above bug.
2014-06-05 16:39:18 +02:00
Michal Nazarewicz
af9a3b28c0 tildify.el: Fix end-regex building in `tildify-find-env'
* lisp/textmodes/tildify.el (tildify-find-env): The
`tildify-ignored-environments-alist' allows the end-regex
to be provided not as a static string but mix of strings and
indexes of groups matched the begin-regex.  For example, the
“\verb!…!” TeX-command (where “!” is an arbitrary character)
is handled using:

    ("\\\\verb\\*?\\(.\\)" . (1))

In the same way, the following should be supported as well:

    ("open-\\(.\\)" . ("end-" 1))

However the tildify-find-env function fails at

    (concat result
            (if (stringp (setq aux (car expression)))
                 expression  ; BUG: expression is a list
               (regexp-quote (match-string aux))))

where the string part is handled incorrectly.

The most trivial fix would be to replace `expression'
in the true-part of the if-statement with `aux', but
instead, this commit optimises `tildify-find-env' by
changing it to use `mapconcat' rather than open-coded
while-loop.

* tests/automated/tildify-tests.el (tildify-test-find-env-end-re-bug):
New test validating fix to the above bug.
2014-06-05 16:37:45 +02:00
Mario Lang
a1d799c25e * woman.el (woman-mapcan): Remove.
(woman-parse-colon-path): Use cl-mapcan instead.
2014-06-05 15:40:54 +02:00
Paul Eggert
4545be9dcb Try harder to find GNU Make when configuring.
* configure.ac (AC_PROG_MAKE_SET): Define a dummy.
(MAKE): Set it to GNU Make, if one can be found.
Search PATH for 'make', 'gmake', 'gnumake'.
This works better on platforms like AIX, where GNU Make
might be in /opt/freeware/bin/make, and reside
behind /usr/bin/make in the PATH.
2014-06-05 01:03:22 -07:00
Dmitry Antipov
ea633fff4c * configure.ac (POLL_FOR_INPUT): Define with HAVE_WINDOW_SYSTEM.
* nt/inc/ms-w32.h (POLL_FOR_INPUT): Likewise.
* src/keyboard.c, src/process.c: Do not define POLL_FOR_INPUT here
because it will be defined in generated config.h if needed.
2014-06-05 10:24:54 +04:00
Katsumi Yamaoka
0d46b5f12c Gnus: fix last change
* gnus-art.el (gnus-article-edit-part): Don't modifiy markers.
(gnus-article-read-summary-keys):
Don't bug out when there is no article in the summary buffer.

* gnus-art.el (gnus-mm-display-part):
* mm-decode.el (mm-shr):
* mm-view.el (mm-inline-text-html-render-with-w3m, mm-inline-text)
(mm-insert-inline): Revert last changes.
2014-06-05 04:31:36 +00:00
Katsumi Yamaoka
343d16e40c Gnus: bugfixes to make `gnus-mime-save-part-and-strip' work again
* gnus-art.el (gnus-mm-display-part):
* mm-decode.el (mm-shr):
* mm-view.el (mm-inline-text-html-render-with-w3m, mm-inline-text)
(mm-insert-inline): Set insertion type of end-marker, not only
start-marker, of undisplayer so as to stay after inserted text.
2014-06-05 01:38:42 +00:00
Paul Eggert
444060a55d * configure.ac: --without-all now implies --without-xft, --disable-acl.
* INSTALL: Remove apparently unmaintained documentation about what
--without-all exactly means.
2014-06-04 17:34:34 -07:00
Eli Zaretskii
b1b4013662 src/menu.c (Fx_popup_dialog): Comment the use of Qunsupported__w32_dialog. 2014-06-04 18:16:54 +03:00
Dmitry Antipov
680a6ad932 Use terminal-specific hooks to display popup dialogs.
* termhooks.h (struct terminal): New field popup_dialog_hook.
* menu.c (emulate_dialog_with_menu): New function, refactored from ...
(Fx_popup_dialog): ... adjusted user.  Also remove old #if 0
code and use popup_dialog_hook.
* nsmenu.m (ns_popup_dialog): Make hook-compatible.
* nsterm.h (ns_popup_dialog): Adjust prototype.
* nsterm.m (ns_create_terminal):
* w32term.c (w32_create_terminal):
* xterm.c (x_create_terminal) [USE_X_TOOLKIT || USE_GTK]: Setup
popup_dialog_hook.
2014-06-04 18:59:09 +04:00
Eli Zaretskii
350aea695f Fix last commit. 2014-06-04 15:00:34 +03:00
Eli Zaretskii
a7f999dc5f Improve dumped memory report on MS-Windows.
src/w32heap.c (report_temacs_memory_usage): Improve the report by
 reporting the large blocks that are actually occupied at dump time.
2014-06-04 14:46:51 +03:00
Eli Zaretskii
5dff48b0f8 Fix TTY menus on MS-Windows broken by last commit.
src/w32console.c (initialize_w32_display): Set the console
 menu_show_hook, otherwise TTY menus on w32 crash and burn.
2014-06-04 10:54:16 +03:00
Dmitry Antipov
cfd794af42 Use terminal-specific hooks to display menus.
* termhooks.h (struct terminal): New field menu_show_hook.
* menu.h (<anonymous enum>): Bit flags for menu hooks.
(x_menu_show, w32_menu_show, ns_menu_show, tty_menu_show):
Adjust prototypes.
* menu.c (Fx_popup_menu): Use bit flags and menu_show_hook.
* nsmenu.m (ns_menu_show):
* w32menu.c (w32_menu_show):
* xmenu.c (x_menu_show):
* term.c (tty_menu_show): Adjust to use bit flags.
(set_tty_hooks): Set menu_show_hook.
* xterm.c (x_create_terminal):
* nsterm.m (ns_create_terminal):
* msdos.c (initialize_msdos_display):
* w32term.c (w32_create_terminal): Likewise.
2014-06-04 08:58:31 +04:00
Dmitry Antipov
39ec03147e * lwlib-widget.h (widget_value) [USE_X_TOOLKIT]: Use X toolkit
fields conditionally.
2014-06-04 07:20:11 +04:00
Juanma Barranquero
6348c9d718 src/w32heap.c (DUMPED_HEAP_SIZE) [!_WIN64]: Reduce to 11 MB. 2014-06-04 00:13:17 +02:00
Eli Zaretskii
71b2605c95 Fix the MS-Windows build broken by few last commits.
src/sysselect.h (fd_CLR, fd_ISSET, fd_SET, FD_CLR, FD_ISSET)
 (FD_SET): Don't define on WINDOWSNT.
2014-06-04 00:00:40 +03:00
Paul Eggert
86caa902c4 * emacs.c: Include "sysselect.h", to define its inline functions.
Problem reported by Glenn Morris in:
http://lists.gnu.org/archive/html/emacs-devel/2014-06/msg00077.html
2014-06-03 13:08:08 -07:00
Paul Eggert
181f08a7d8 Do not require libXt-devel when building with gtk.
* lwlib/lwlib-widget.h: New file, with contents taken from lwlib.h.
(widget_value) [HAVE_NTGUI]: New member 'title'.
* lwlib/lwlib.h: Include lwlib-widget.h.
(change_type, enum button_type, widget_value):
Move to lwlib-widget.h.
* src/gtkutil.h, src/menu.h: Include lwlib-widget.h, not lwlib-h, to avoid
dependency on libXt-devel.
* src/menu.h [HAVE_NTGUI]: Include lwlib-widget.h in this case too.
(enum button_type, widget_value) [HAVE_NTGUI]: Remove, as
lwlib-widget.h now does this.
* src/nsmenu.m (ns_menu_show): "enabled" -> "enable" to fix typo.
2014-06-03 12:59:55 -07:00
Paul Eggert
5897da1d74 If ENABLE_CHECKING, range-check args of FD_CLR, FD_ISSET, FD_SET.
* process.c (add_read_fd, delete_read_fd, add_write_fd)
(delete_write_fd, wait_reading_process_output):
Remove now-redundant easserts.
* sysselect.h (SYSSELECT_H): New macro, to avoid double-inclusion woes.
Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
(fd_CLR, fd_ISSET, fd_SET): New inline functions.
(FD_CLR, FD_ISSET, FD_SET): Redefine in terms of these functions.
2014-06-03 09:15:43 -07:00
Eli Zaretskii
221e0a20f6 More minor cleanups in src/w32heap.c.
src/w32heap.c (calloc): Don't undef, it is never defined.
 (HEAP_ENTRY_SHIFT): Remove unused macro.
2014-06-03 13:01:08 +03:00
Rüdiger Sonderfeld
5830a29294 register.el: Add link to Emacs manual in Commentary. 2014-06-03 11:06:18 +02:00
Eli Zaretskii
89b3620292 Define the size of dumped data for MS-Windows locally on w32heap.c.
configure.ac (C_HEAP_SWITCH): Remove.

 src/w32heap.c (DUMPED_HEAP_SIZE): Move from w32heap.h.  Don't use
 HEAPSIZE; instead, define separate values for the 32- and 64-bit
 builds.
 src/Makefile.in (C_HEAP_SWITCH): Remove.
 (ALL_CFLAGS): Don't use $(C_HEAP_SWITCH).
2014-06-03 10:28:07 +03:00
Eli Zaretskii
0031c9530d Fix MS-Windows build broken by menu changes on 2014-06-02.
src/w32menu.c (w32_menu_show): Fix a typo that broke compilation.
 src/menu.h (enum button_type, struct _widget_value) [HAVE_NTGUI]:
 Define instead of including ../lwlib/lwlib.h, which causes
 compilation errors due to missing X11 headers.
2014-06-03 09:51:18 +03:00
Dmitry Antipov
0882152e22 * xlwmenu.c (openXftFont): Do not load regular X font here.
(XlwMenuInitialize): Remove ancient #if 0 code.
(XlwMenuDestroy): Likewise.  Free regular X font here.
2014-06-03 08:17:53 +04:00
Paul Eggert
827a3c3d8e * process.c (wait_reading_process_output): Omit incorrect test
of p->infd against zero.  Add easserts for infd having a plausible
value.
2014-06-02 17:44:30 -07:00
Sam Steingold
cf3c1e2344 Avoid the type error on f10 when lookup-key returns an number.
* lisp/menu-bar.el (lookup-key-ignore-too-long): Extract from...
(popup-menu): ...here.
(menu-bar-open): Use it to avoid an error when `lookup-key'
returns a number.
2014-06-02 15:02:31 -04:00
Michael Albinus
2589f32c61 * test/automated/tramp-tests.el (tramp-test29-vc-registered):
Remove instrumentation.
2014-06-02 20:38:22 +02:00
Michael Albinus
e915914b93 * net/tramp.el (with-tramp-progress-reporter): Remove traces. 2014-06-02 20:36:47 +02:00
Dmitry Antipov
5668fb88bf Use common memory management functions for lwlib and refactor users.
* lwlib/lwlib.h (widget_value): Do not maintain a free list any more.
(malloc_widget_value, free_widget_value): Remove prototypes.
* lwlib/lwlib.c (malloc_widget_value, free_widget_value):
(widget_value_free_list, malloc_cpt): Remove.
(free_widget_value_tree, copy_widget_value_tree): Adjust users.
* src/menu.h (xmalloc_widget_value): Replaced by ...
(make_widget_value): ... new prototype.
* src/menu.c (xmalloc_widget_value): Replaced by ...
(make_widget_value): ... new function.
(free_menubar_widget_value_tree, digest_single_submenu): Adjust users.
* src/gtkutil.c (malloc_widget_value, free_widget_value):
(widget_value_free_list, malloc_cpt): Remove old lwlib-compatible code.
* src/keyboard.h (enum button_type, struct _widget_value):
* src/gtkutil.h, src/nsgui.h, src/w32gui.h (malloc_widget_value):
(free_widget_value): Likewise.
* src/nsmenu.m (ns_update_menubar, ns_menu_show):
* src/w32menu.c (set_frame_menubar, w32_menu_show, w32_dialog_show):
* src/xmenu.c (set_frame_menubar, xmenu_show, x_dialog_show): Adjust users.
* src/xterm.h (XtParent) [USE_GTK]: Remove unused macro.
2014-06-02 22:01:21 +04:00
Dmitry Antipov
da11196a24 * image.c (x_query_frame_background_color)
[HAVE_PNG || HAVE_NS || HAVE_IMAGEMAGICK || HAVE_RSVG]:
Fix --enable-gcc-warnings compilation without image libraries.
2014-06-02 21:55:38 +04:00
Eli Zaretskii
904e7cf8a2 src/w32heap.c (init_heap): Fix typos in comments (again). 2014-06-02 20:19:19 +03:00
Eli Zaretskii
e67cf8c651 src/w32heap.c (init_heap): Fix typos in comments. 2014-06-02 20:17:55 +03:00
Eli Zaretskii
0dd0ad374b Minor improvement of sbrk emulation on MS-Windows.
src/w32heap.c (malloc_after_dump, realloc_after_dump): Update the
 emulated break value only if it goes up.
 (sbrk): Add assertion that the INCREMENT argument is strictly
 zero.  Improve and correct the commentary.
2014-06-02 20:08:50 +03:00
Michael Albinus
7973d8d5fa * net/tramp.el (tramp-handle-unhandled-file-name-directory): Return "/". 2014-06-02 17:17:39 +02:00
Michael Albinus
fd9fba8bd3 * net/tramp.el (with-tramp-progress-reporter): Complete previous patch. 2014-06-02 16:17:07 +02:00
Michael Albinus
bcb1a5bacd * net/tramp.el (with-tramp-progress-reporter): Add more traces. 2014-06-02 16:05:35 +02:00
Michael Albinus
1924ea8c29 * net/tramp.el (with-tramp-progress-reporter, tramp-call-process):
Add traces.
2014-06-02 15:51:35 +02:00
Michael Albinus
9acc8834b3 * net/tramp.el (tramp-call-process): Add more traces. 2014-06-02 13:35:40 +02:00
Michael Albinus
c8291a36aa * lisp/net/tramp.el (tramp-call-process): Add traces. 2014-06-02 11:58:50 +02:00
Michael Albinus
84dbe84b9f * test/automated/tramp-tests.el (tramp-remote-process-environment): Declare.
(tramp-test29-vc-registered): Set $BZR_HOME.
2014-06-02 11:53:43 +02:00