1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-17 08:31:09 -08:00
Commit graph

62233 commits

Author SHA1 Message Date
Katsumi Yamaoka
ec4f68b3e3 lisp/gnus/gnus.el (gnus-mode-line-buffer-identification): Don't shadow load-path, it blocks autoloading of find-image (bug#18813) 2014-10-24 08:34:32 +00:00
enami tsugutomo
53e154166e lisp/gnus/nnimap.el (nnimap-wait-for-response): Ignore NOOP response requested to keep connection open 2014-10-24 06:05:57 +00:00
Stefan Monnier
01187cdd14 * lisp/cedet/semantic/complete.el: Require semantic/db-find. 2014-10-24 00:09:55 -04:00
Stefan Monnier
864d69a119 * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Define an internal predicate
even if :predicate was nil, for the benefit of typep.
Record the name of the predicate for typep's use.
(cl--make-type-test): Use pcase.  Obey new cl-deftype-satisfies property.
2014-10-23 17:44:36 -04:00
Stefan Monnier
e77628bd58 * lisp/epg.el: Use cl-defstruct.
(epg-make-data-from-file, epg-make-data-from-string, epg-data-file)
(epg-data-string): Define via cl-defstruct.
(epg--gv-nreverse): New macro.
(epg-context--make): New constructor (provided vi cl-defstruct).
(epg-make-context): Rewrite using it.
(epg-context-protocol, epg-context-program)
(epg-context-home-directory, epg-context-armor, epg-context-textmode)
(epg-context-include-certs, epg-context-cipher-algorithm)
(epg-context-digest-algorithm, epg-context-compress-algorithm)
(epg-context-passphrase-callback, epg-context-progress-callback)
(epg-context-signers, epg-context-sig-notations, epg-context-process)
(epg-context-output-file, epg-context-result, epg-context-operation)
(epg-context-pinentry-mode): Define using cl-defstruct.
(epg-context-set-protocol, epg-context-set-program)
(epg-context-set-include-certs, epg-context-set-cipher-algorithm)
(epg-context-set-digest-algorithm)
(epg-context-set-sig-notations, epg-context-set-process)
(epg-context-set-output-file, epg-context-set-result)
(epg-context-set-operation, epg-context-set-pinentry-mode)
(epg-context-set-compress-algorithm): Remove.  Use setf instead.
(epg-context-set-armor, epg-context-set-textmode)
(epg-context-set-signers): Redefine using setf
and declare as obsolete.
(epg-context-set-passphrase-callback)
(epg-context-set-progress-callback): Use setf.
(epg-signature-notations): Rename from epg-sig-notations.
(epg-make-signature, epg-signature-status, epg-signature-key-id)
(epg-signature-validity, epg-signature-fingerprint)
(epg-signature-creation-time, epg-signature-expiration-time)
(epg-signature-pubkey-algorithm, epg-signature-digest-algorithm)
(epg-signature-class, epg-signature-version): Define vi cl-defstruct.
(epg-signature-set-status, epg-signature-set-key-id)
(epg-signature-set-validity, epg-signature-set-fingerprint)
(epg-signature-set-creation-time, epg-signature-set-expiration-time)
(epg-signature-set-pubkey-algorithm)
(epg-signature-set-digest-algorithm, epg-signature-set-class)
(epg-signature-set-version, epg-signature-set-notations): Remove.
Use setf instead.
(epg-make-new-signature, epg-new-signature-type)
(epg-new-signature-pubkey-algorithm)
(epg-new-signature-digest-algorithm, epg-new-signature-class)
(epg-new-signature-creation-time, epg-new-signature-fingerprint):
Define using cl-defstruct.
(epg-make-key, epg-key-owner-trust, epg-key-sub-key-list)
(epg-key-user-id-list): Define using cl-defstruct.
(epg-key-set-sub-key-list, epg-key-set-user-id-list): Remove.
Use setf instead.
(epg-make-sub-key, epg-sub-key-validity, epg-sub-key-capability)
(epg-sub-key-secret-p, epg-sub-key-algorithm, epg-sub-key-length)
(epg-sub-key-id, epg-sub-key-creation-time)
(epg-sub-key-expiration-time, epg-sub-key-fingerprint): Define using
cl-defstruct.
(epg-sub-key-set-fingerprint): Remove.  Use setf instead.
(epg-make-user-id, epg-user-id-validity, epg-user-id-string)
(epg-user-id-signature-list): Define using cl-defstruct.
(epg-user-id-set-signature-list): Remove.  Use setf instead.
(epg-make-key-signature, epg-key-signature-validity)
(epg-key-signature-pubkey-algorithm, epg-key-signature-key-id)
(epg-key-signature-creation-time, epg-key-signature-expiration-time)
(epg-key-signature-user-id, epg-key-signature-class)
(epg-key-signature-exportable-p): Define using cl-defstruct.
(epg-make-sig-notation, epg-sig-notation-name)
(epg-sig-notation-value, epg-sig-notation-human-readable)
(epg-sig-notation-critical): Define using cl-defstruct.
(epg-sig-notation-set-value): Remove.  Use setf instead.
(epg-make-import-status, epg-import-status-fingerprint)
(epg-import-status-reason, epg-import-status-new)
(epg-import-status-user-id, epg-import-status-signature)
(epg-import-status-sub-key, epg-import-status-secret): Define using
cl-defstruct.
(epg-make-import-result, epg-import-result-considered)
(epg-import-result-no-user-id, epg-import-result-imported)
(epg-import-result-imported-rsa, epg-import-result-unchanged)
(epg-import-result-new-user-ids, epg-import-result-new-sub-keys)
(epg-import-result-new-signatures, epg-import-result-new-revocations)
(epg-import-result-secret-read, epg-import-result-secret-imported)
(epg-import-result-secret-unchanged, epg-import-result-not-imported)
(epg-import-result-imports): Define using cl-defstruct.

* lisp/emacs-lisp/package.el: Require EPG during macroexpansion.
(package--check-signature, package-import-keyring): Use setf instead of
epg-context-set-home-directory.
2014-10-23 17:38:56 -04:00
Stefan Monnier
19625efbcb * lisp/emacs-lisp/bytecomp.el (byte-compile--use-old-handlers): Change default. 2014-10-23 09:33:25 -04:00
Leo Liu
a55a730710 * lisp/progmodes/cfengine.el (cfengine3-defun-full-re): New var.
(cfengine3-create-imenu-index): Use it and use ` ' for separation.
(cfengine3-current-defun): New function.
(cfengine3-mode): Set add-log-current-defun-function.
2014-10-23 16:07:40 +08:00
Stefan Monnier
d361bcfbc7 * lisp/select.el: Use lexical-binding.
(gui-set-selection): Provide an implementation for non-GUI frames.
* lisp/term/x-win.el: Use lexical-binding.
(x-clipboard-yank): Fix up missed renamings.
* lisp/term/w32-win.el (libgif-version, libjpeg-version): Silence compiler.
(w32--set-selection): Fix up var names.
* lisp/term/pc-win.el: Use lexical-binding.
(w16-selection-exists-p): Silence compiler warning.
(w16-selection-owner-p): Fix up missed renamings.

* lisp/emacs-lisp/bytecomp.el (byte-compile-form): Remove left-over debug.

* lisp/frame.el (frame-notice-user-settings): Fix excessive quoting.

Fixes: debbugs:18791
2014-10-22 21:38:59 -04:00
Tassilo Horn
36749d8025 Improve viewing plain text contents of document
* doc/emacs/misc.texi (Document View): Adapt to latest doc-view changes wrt
viewing the document's plain text contents.

* lisp/doc-view.el (doc-view-open-text): View the document's plain text
in the current buffer instead of a new one.
(doc-view-toggle-display): Handle the case where the current
buffer contains the plain text contents of the document.
(doc-view-initiate-display): Don't switch to fallback mode if the
user wants to view the doc's plain text.
(doc-view-set-doc-type): Use assoc-string instead of
assoc-ignore-case.
2014-10-22 15:30:16 +02:00
Stefan Monnier
18b8557f5a * lisp/mouse.el (mouse-drag-line): Use set-transient-map.
(mouse--down-1-maybe-follows-link): Remove unused var `this-event'.
(mouse-yank-secondary): Use gui-get-selection.
(mouse--down-1-maybe-follows-link): Use read-key.

* lisp/subr.el (read-key): Fix clicks on the mode-line.
(set-transient-map): Return exit function.

* lisp/xt-mouse.el: Add `event-kind' property on the fly from
xterm-mouse-translate-1 rather than statically at the outset.

Fixes: debbugs:18015
2014-10-21 16:11:22 -04:00
Daniel Colascione
be5722e930 Stop vc from burying buffers sometimes
* vc/vc-dispatcher.el (vc-resynch-window): Tell view-mode not to
change window configuration when we turn it off.
2014-10-21 17:05:13 +01:00
Stefan Monnier
a046b8dd48 Get rid of backend-dependent selection-handling functions for kill/yank
and make it generic instead by relying on the lower-level selection
management functions.

* select.el (select-enable-clipboard): Rename from
gui-select-enable-clipboard.
(select-enable-primary): Move from x-win.el and rename from
x-select-enable-primary.
(gui-last-selected-text): Remove.
(gui--last-selected-text-clipboard, gui--last-selected-text-primary):
New vars.
(gui-select-text): Rewrite, based on x-win.el's old x-select-text.
(gui-select-text-alist, gui-selection-value-alist): Remove.
(x-select-request-type): Move from x-win.el.
(gui--selection-value-internal): New function, taken from x-win's
x-selection-value-internal.
(gui-selection-value): Rewrite, based on x-win.el's old x-selection-value.
(gui-set-selection-alist): Rename from gui-own-selection-alist and
extend it to handle a nil value as a "disown" request.
(gui-disown-selection-alist): Remove.
(xselect-convert-to-delete): Adjust accordingly.
(gui-set-selection): Simplify accordingly as well.  Use dotimes.

* lisp/frame.el (gui-method): Use window-system rather than framep.
(gui-method-declare): The tty case is now nil rather than t.
(make-frame): Adjust accordingly.

* lisp/term/x-win.el (x-last-selected-text-primary)
(x-select-enable-primary): Remove (moved to select.el).
(x-select-request-type): Move to select.el.
(x-selection-value-internal, x--selection-value): Remove functions.
(gui-selection-value, gui-select-text): Remove moethods.
(gui-set-selection): Merge own and disown methods.

* lisp/startup.el (command-line): Adjust now that `gui-method' expects nil
for ttys.

* lisp/term/ns-win.el (ns-get-pasteboard, ns-set-pasteboard)
(ns-selection-value): Remove functions.
(gui-select-text, gui-selection-value): Don't define method any more.
(gui-set-selection): Merge the old own and disown methods.
(gui-selection-exists-p, gui-get-selection): Adjust to new name of
underlying C primitive.

* lisp/term/pc-win.el (w16-get-selection-value): Add dummy argument and drop
test of gui-select-enable-clipboard, to make it usable as
a gui-get-selection method.
(gui-selection-exists-p): Adjust to new name of C primitive.
(gui-set-selection): Merge own and disown methods.
(gui-select-text, gui-selection-value): Delete methods.
(w16--select-text): Delete function.

* lisp/term/w32-win.el (w32--select-text, w32--get-selection-value):
Delete function (move functionality into w32--set-selection and
w32--get-selection).
(gui-select-text, gui-selection-value): Don't define methods.
(w32--set-selection, w32--get-selection, w32--selection-owner-p):
New functions.
(gui-get-selection, gui-selection-owner-p, gui-selection-exists-p):
Use them.
(gui-selection-exists-p): Adjust to new name of C primitive.

* src/nsselect.m (ns_get_local_selection): Signal error rather than `quit'.
(Fns_own_selection_internal): Tighten scoping.
(Fns_selection_exists_p): Rename from Fx_selection_exists_p.
(Fns_get_selection): Rename from Fx_get_selection_internal.
(Fns_get_selection_internal, Fns_store_selection_internal):
Remove functions.
(syms_of_nsselect): Adjust accordingly.

* src/w16select.c (Fw16_selection_exists_p): Rename from
Fx_selection_exists_p.
(syms_of_win16select): Adjust accordingly.

* src/w32select.c (Fw32_selection_exists_p): Rename from
Fx_selection_exists_p.
(syms_of_w32select): Adjust accordingly.
2014-10-21 11:27:18 -04:00
Stefan Monnier
80aabe4243 * lisp/net/newst-reader.el (newsticker--image-read): Simplify.
(newsticker--icon-read): Use dolist and fix free var error.
2014-10-20 21:35:30 -04:00
Stefan Monnier
e538605e4c * lisp/imenu.el (imenu--menubar-keymap): New var.
(imenu-add-to-menubar): Set it to remember the keymap we used.
(imenu-update-menubar): Use it instead of asking lookup-key.
2014-10-20 21:33:44 -04:00
Stefan Monnier
eed18bf1fd Merge from emacs-24 2014-10-20 21:17:06 -04:00
Stefan Monnier
1fc82d89a8 * lisp/obsolete/cc-compat.el: Make obsolete.
Fixes: debbugs:18561
2014-10-20 17:55:12 -04:00
Stefan Monnier
1c9c88b402 * lisp/epg-config.el (epg-gpg-program): Don't use the absolute names by default. 2014-10-20 17:51:44 -04:00
Glenn Morris
8a85c254de Merge from emacs-24; up to 2014-07-28T06:28:15Z!dmantipov@yandex.ru 2014-10-20 20:59:41 +01:00
Ulf Jasper
9d9bcb5020 Newsticker: fix broken image download via url-retrieve, again.
* lisp/net/newst-backend.el
(newsticker--image-download-by-url-callback): Make this function
actually work: Check status properly, then save image.
2014-10-20 21:47:51 +02:00
Stefan Monnier
d20b72d9fa Restore temporarily reverted bytecomp change
* lisp/emacs-lisp/bytecomp.el (=, <, >, <=, >=): Don't optimize multi-arg case.

Fixes: debbugs:18767
2014-10-20 20:23:50 +01:00
Glenn Morris
83bad90efe Add 24.4 release ChangeLog entries 2014-10-20 20:21:15 +01:00
Glenn Morris
dfccf2f60d Temporarily revert previous bytecomp change 2014-10-20 20:19:15 +01:00
Ulf Jasper
1e6e7f33a4 Newsticker: fix broken image download via url-retrieve.
* lisp/net/newst-backend.el
(newsticker--image-download-by-url-callback): Make this function
actually work: First save image then check status.
2014-10-20 20:39:58 +02:00
Stefan Monnier
bc0e9e47b6 * lisp/textmodes/css-mode.el (scss-mode): New major-mode.
(css-mode-syntax-table): Use d style comment, to ease the scss case.
(css-ident-re): Allow things like @-moz-keyframes.
(scss--hash-re): New const.
(css--font-lock-keywords): New function, extracted from
css-font-lock-keywords.
(css-font-lock-keywords): Use it.
(scss-mode-syntax-table, scss-font-lock-keywords): New vars.
(scss-smie--not-interpolation-p): New function.
(css-smie--forward-token, css-smie--backward-token): Use it.
(css-mode): Remove left-over code.
* test/indent/scss-mode.scss: New file.
* test/indent/css-mode.css: Add a few uneventful examples.
2014-10-20 12:36:34 -04:00
Stefan Monnier
41e856b539 * lisp/emacs-lisp/bytecomp.el (=, <, >, <=, >=): Don't optimize multi-arg
case.

Fixes: debbugs:18767
2014-10-19 22:36:22 -04:00
Ulf Jasper
8259e90ecd Newsticker: Show feedicons in treeview. Small fix in opml export.
* etc/images/newsticker/README: Add rss-feed.png, rss-feed.svg.

* etc/images/newsticker/rss-feed.png: New.

* etc/images/newsticker/rss-feed.svg: New.

* lisp/net/newst-backend.el: Require url-parse.
(newsticker--get-news-by-wget): Store feed name as process property.
(newsticker--sentinel): Read feed name from process property.
(newsticker--sentinel-work): Rename argument name to feed-name.
Rename variable imageurl to image-url.  Pick icon url from Atom
1.0 data.  Launch download of feed icon.
(newsticker--get-icon-url-atom-1.0): New.
(newsticker--unxml)
(newsticker--unxml-node)
(newsticker--unxml-attribute): Documentation.
(newsticker--icons-dir): New.
(newsticker--image-get): New arguments FILENAME and DIRECTORY.
Use `url-retrieve' if `newsticker-retrieval-method' is 'intern.
(newsticker--image-download-by-wget): New.  Use process properties
for storing informations.
(newsticker--image-sentinel): Read informations from process properties.
(newsticker--image-save)
(newsticker--image-remove)
(newsticker--image-download-by-url)
(newsticker--image-download-by-url-callback): New.
(newsticker-opml-export): Handle url list entries containing a
function instead of an url string.

* lisp/net/newst-reader.el (newsticker-html-renderer): Whitespace.
(newsticker--print-extra-elements)
(newsticker--do-print-extra-element): Documentation
(newsticker--image-read): Optionally limit image height.  Use
imagemagick if possible.
(newsticker--icon-read): New.

* lisp/net/newst-treeview.el (newsticker--treeview-item-show): Limit height of feed logo.
(newsticker--treeview-tree-expand): Use feed icons in treeview.
(newsticker--tree-widget-icon-create): New.  Set the tree widget icon.
(newsticker--tree-widget-leaf-icon): Use feed icon.
2014-10-19 18:50:15 +02:00
Stefan Monnier
265331858f * lisp/emacs-lisp/eieio: A bit more cleanup, removing compat code.
* lisp/emacs-lisp/eieio-core.el (eieio-compiled-function-arglist): Remove.
(eieio--with-scoped-class): Use `declare'.
(eieio-defclass): Remove compatibility code.
(no-method-definition, no-next-method, inconsistent-class-hierarchy)
(invalid-slot-type, unbound-slot, invalid-slot-name): Use define-error.
* lisp/emacs-lisp/eieio-opt.el (eieio-lambda-arglist): Remove.
Use help-function-arglist instead.
2014-10-18 22:14:58 -04:00
Jan Djärv
6e5ff61666 * cus-start.el (x-gtk-whole-detached-tool-bar): Remove. 2014-10-18 18:26:47 +02:00
Jan Djärv
3f4c6d52d3 Handle deprecated Gtk+ stuff for version <= 3.10
* lisp/term/x-win.el (x-gtk-stock-map): Add icon names suggested as
replacements to stock names before stock names in a list.
Cdr may be a list, each name is tried in turn until one is found.

* src/gtkutil.c (XG_TEXT_CANCEL, XG_TEXT_OPEN, XG_TEXT_OK): New defines
to handle Gtk versions.
(xg_get_file_with_chooser): Use them.
(xg_have_tear_offs, tearoff_remove, tearoff_activate): Remove
(create_menus): Remove teroff argument and code.
Remove call to gtk_menu_set_title.
(xg_update_menubar, xg_update_submenu): Remove tearoff code.  Adjust
args to create_menus.
(xg_tool_bar_menu_proxy, xg_tool_bar_detach_callback)
(xg_tool_bar_attach_callback, TOOLBAR_TOP_WIDGET): Remove.
(xg_pack_tool_bar): Replace TOOLBAR_TOP_WIDGET, remove detach code.
(xg_make_tool_item): Remove detach code.
(xg_update_tool_bar_sizes): Replace TOOLBAR_TOP_WIDGET.
(find_icon_from_name): New function.
(update_frame_tool_bar): Remove GtkStockItem code, move to
find_icon_from_name.  Let stock be a list of icon names to try.
Only use gtk_image_new_from_stock on Gtk+ < 3.10.
Replace TOOLBAR_TOP_WIDGET.
(free_frame_tool_bar, xg_change_toolbar_position ): Replace
TOOLBAR_TOP_WIDGET.
(xg_initialize): Remove tearoff code.

* src/gtkutil.h (xg_have_tear_offs): Remove declaration.

* src/xmenu.c (set_frame_menubar): Remove GTK block that calls
xg_have_tear_offs.

* src/xterm.h (handlebox_widget): Remove.
2014-10-18 18:19:53 +02:00
Alan Mackenzie
605cfb8b7a Check that a "macro" found near point-min isn't a ## operator. Fixes
bug #18749.
progmodes/cc-engine.el (c-macro-is-genuine-p): New function.
(c-beginning-of-macro): Use the above new function.
2014-10-18 10:02:59 +00:00
Ted Zlatanov
6c854f07d1 net/gnutls.el: pass correct data to `gnutls-boot'.
* net/gnutls.el (gnutls-negotiate): Don't use cl-mapcan; pass
correct data to `gnutls-boot'.
Reported by Toke Høiland-Jørgensen <toke@toke.dk>.
2014-10-17 21:02:30 -04:00
Michal Nazarewicz
427c362766 Add a 'big-indent style to `whitespace-mode'.
* lisp/whitespace.el (whitespace-style, whitespace-big-indent)
(whitespace-big-indent-regexp, whitespace-style-value-list)
(whitespace-toggle-option-alist, whitespace-interactive-char)
(whitespace-toggle-options)
(global-whitespace-toggle-options, whitespace-help-text)
(whitespace-style-face-p, whitespace-color-on): Add a 'big-indent
style to `whitespace-mode' to indicate that the line indentation
is too deep.  By default, 32 SPACEs or four TABs are considered
too many but `whitespace-big-indent-regexp' can be configured.
2014-10-17 20:23:03 -04:00
Glenn Morris
9b4fdfd9b6 Regenerate ldefs-boot 2014-10-17 09:08:40 -07:00
Michal Nazarewicz
5d068609a2 Fix lisp/ChangeLog entry added in 2014-10-17T07:20:51Z!mina86@mina86.com 2014-10-17 09:28:25 +02:00
Michal Nazarewicz
e31f014c0f tildify.el (tildify--pick-alist-entry): rename from tildify-mode-alist
tildify-mode-alist does not really describe what the functino does so
rename it to tildify--pick-alist-entry.  This also makes it clear that
the function is an internal one.
2014-10-17 09:20:51 +02:00
Stefan Monnier
942501730f * lisp/emacs-lisp/eieio-base.el: Use lexical-binding and cl-lib.
* lisp/emacs-lisp/eieio-core.el: Use lexical-binding and cl-lib.
(list-of): New type.
(eieio--typep): Remove.
(eieio-perform-slot-validation): Use cl-typep instead.
* lisp/emacs-lisp/eieio.el: Use lexical-binding drop non-GV fallback.
(defclass, defgeneric, defmethod): Add doc-string position.
(with-slots): Require cl-lib.
* lisp/emacs-lisp/cl-macs.el (cl--make-type-test): Avoid ((lambda ..) ..).
2014-10-17 01:09:24 -04:00
Glenn Morris
6743c1928e Bump version to 24.4
Regenerate ldefs-boot and AUTHORS
2014-10-16 21:56:41 -07:00
Jorge A. Alfaro Murillo
60727a5494 lisp/gnus/message.el (message-insert-signature): Make signature respect format=flowed 2014-10-16 22:12:47 +00:00
Sylvain Chouleur
417cf67485 lisp/gnus/gnus-icalendar.el: Support vcal format timezones 2014-10-16 22:12:03 +00:00
Alan Mackenzie
01c1b1a8ae Trigger showing when point is in the "periphery" of a line or just
inside a paren.
paren.el (show-paren-style, show-paren-delay)
(show-paren-priority, show-paren-ring-bell-on-mismatch): Remove
superfluous :group specifications.
(show-paren-when-point-inside-paren)
(show-paren-when-point-in-periphery): New customizable variables.
(show-paren-highlight-openparen): Make into a defcustom.
(show-paren--unescaped-p, show-paren--categorize-paren)
(show-paren--locate-near-paren): New defuns.
(show-paren--default): Refaactor and trigger on more paren
positions.
(show-paren-function): Small consequential changes.
2014-10-16 20:29:44 +00:00
Tom Tromey
e72f5197ea * files.el (auto-mode-alist): Use javascript-mode for .jsm
(bug #18719).
2014-10-16 13:56:43 -06:00
Eli Zaretskii
62e3f36d99 Pre-load uni-brackets.el, which is always needed for redisplay.
lisp/international/characters.el (bracket-type): Force pre-loading of
 uni-brackets.el.
2014-10-16 19:42:59 +03:00
Glenn Morris
10471ae361 Merge from emacs-24; up to 2014-07-27T18:05:37Z!eliz@gnu.org 2014-10-15 21:49:34 -04:00
Glenn Morris
affeda3b11 Tabify recent ChangeLog change 2014-10-15 21:47:10 -04:00
Stefan Monnier
bcb7ccde45 * lisp/cedet/semantic/wisent/comp.el (wisent-defcontext): Move declarations
outside of eval-when-compile.  Use `declare'.
(wisent-with-context): Add `defvar' declarations in case this macro is
used in a file compiled with lexical-binding.
(wisent-semantic-action-expand-body): Avoid add-to-list on local var.
2014-10-15 17:46:47 -04:00
Stefan Monnier
dcdf2bd8d6 * lisp/emacs-lisp/eldoc.el (global-eldoc-mode): Enable by default.
Remove incorrect handling of eldoc-print-after-edit.
(eldoc-message-commands, eldoc-last-data): Use defvar.
* lisp/loadup.el (emacs-lisp/eldoc): Load it.
* src/lisp.mk (lisp): Add emacs-lisp/eldoc.elc.
2014-10-15 13:32:41 -04:00
Stefan Monnier
8d56586d0a * lisp/progmodes/m4-mode.el (m4-syntax-propertize): New var.
(m4-mode): Use it.
(m4--quoted-p): New function.
(m4-font-lock-keywords): Don't handle #..\n comments any more.
(m4-mode-syntax-table): Use punctuation syntax (according to m4 manual)
for most special characters.
2014-10-15 11:28:35 -04:00
Stefan Monnier
d7b601108d * lisp/progmodes/compile.el (compilation--previous-directory): Simplify.
(compilation-next-error): Ensure the parse before we look at
compilation-message property.
2014-10-15 11:25:47 -04:00
Alan Mackenzie
e68b715772 cus-edit.el (custom-command-apply): Specify the return value in the doc
string.
(Custom-reset-standard): Save custom-file (e.g. .emacs) only when
custom-command-apply has returned non-nil.
2014-10-15 15:23:27 +00:00
Eli Zaretskii
ed7ebd933a Update the bidirectional reordering engine for Unicode 6.3 and 7.0.
src/bidi.c (bidi_ignore_explicit_marks_for_paragraph_level): Remove
 variable.
 (bidi_get_type): Return the isolate initiators and terminator
 types.
 (bidi_isolate_fmt_char, bidi_paired_bracket_type)
 (bidi_fetch_char_skip_isolates, find_first_strong_char)
 (bidi_find_bracket_pairs, bidi_resolve_brackets): New functions.
 (bidi_set_sos_type): Renamed from bidi_set_sor_type and updated
 for the new features.
 (bidi_push_embedding_level, bidi_pop_embedding_level): Update to
 push and pop correctly for isolates.
 (bidi_remember_char): Modified to accept an additional argument
 and record the bidi type according to its value.
 (bidi_cache_iterator_state): Accept an additional argument to only
 update an existing state.  Handle the new members of struct bidi_it.
 (bidi_cache_find): Arguments changed: no lnger accepts a level,
 instead accepts a flag telling it whether it is okay to return
 unresolved neutrals.
 (bidi_initialize): Initiate and staticpro the bracket-type uniprop
 table.  Initialize new isolate-related members.
 (bidi_paragraph_init): Some code factored out into
 find_first_strong_char.
 (bidi_resolve_explicit_1): Function deleted, its code incorporated
 into bidi_resolve_explicit.
 (bidi_resolve_explicit): Support the isolate initiators and
 terminator.  Fix handling of embeddings and overrides according to
 new UBA requirements.  Record information about previously seen
 characters here (moved from bidi_level_of_next_char).
 (bidi_resolve_weak): Adapt to changes in struct members.
 (FLAG_EMBEDDING_INSIDE, FLAG_OPPOSITE_INSIDE, MAX_BPA_STACK)
 (STORE_BRACKET_CHARPOS, PUSH_BPA_STACK): New macros.
 (bidi_resolve_neutral): Call bidi_resolve_brackets to handle the
 paired bracket resolution.  Handle isolate initiators and
 terminator.
 (bidi_type_of_next_char): Remove unneeded code for BN limit.
 (bidi_level_of_next_char): Move the code that records information
 about previous characters to bidi_resolve_explicit.  Fix logic of
 resolving neutrals and make sure their cache entries are updated.
 Remove now unneeded special handling of PDF level.
 src/dispextern.h (struct glyph): Enlarge the width of resolved_level.
 (BIDI_MAXDEPTH): New macro, renamed from BIDI_MAXLEVEL and
 enlarged per Unicode 6.3.
 (enum bidi_bracket_type_t): New data type.
 (struct bidi_saved_info): Leave only 2 type members out of 4.
 Remove bytepos.
 (struct bidi_stack): Add members necessary to support isolating
 sequences.
 (struct bidi_it): Add new members necessary to support isolating
 sequences and bracket pair resolution.
 src/xdisp.c (Fbidi_resolved_levels): New function.
 (syms_of_xdisp): Defsubr it.
 (append_glyph, append_composite_glyph, produce_image_glyph)
 (append_stretch_glyph, append_glyphless_glyph): Convert aborts to
 assertions.
 (syms_of_xdisp) <inhibit-bidi-mirroring>: New variable.
 src/term.c (append_glyph, append_composite_glyph)
 (append_glyphless_glyph): Convert aborts to assertions.
 src/.gdbinit (pgx): Display the character codepoint, resolved level,
 and bidi type also for glyphless glyphs.

 lisp/simple.el (what-cursor-position): Update to support the new bidi
 characters.
 lisp/descr-text.el (describe-char): Update to support the new bidi
 characters.

 admin/unidata/unidata-gen.el (unidata-prop-alist): New properties
 'paired-bracket' and 'bracket-type', in support of the UBA 6.3.
 (unidata-gen-table): Support PROP-IDX being a function.
 (unidata-describe-bidi-bracket-type, unidata-gen-brackets-list)
 (unidata-gen-bracket-type-list): New functions.
 (unidata-check): Support checking the 'bracket-type' attribute.
 (unidata-gen-files): Don't create backups for uni-*.el files.
 admin/unidata/Makefile.in (${unidir}/charprop.el): Depend on
 BidiMirroring.txt and BidiBrackets.txt.
 admin/unidata/BidiBrackets.txt: New file, from Unicode.

 etc/NEWS: Mention the UBA implementation update.
 etc/HELLO: Remove now unneeded directional control characters.

 doc/lispref/nonascii.texi (Character Properties): Document the new
 properties 'bracket-type' and 'paired-bracket'.
 doc/lisprefdisplay.texi (Bidirectional Display): Update the version of the
 UBA to which we are conforming.

 test/BidiCharacterTest.txt: New file, from Unicode.
 test/biditest.el: New file.
2014-10-15 17:11:25 +03:00