]> code.delx.au - gnu-emacs/log
gnu-emacs
9 years ago* lisp/emacs-lisp/eieio*.el: Move the function defs to defclass.
Stefan Monnier [Thu, 8 Jan 2015 20:47:32 +0000 (15:47 -0500)]
* lisp/emacs-lisp/eieio*.el: Move the function defs to defclass.

* lisp/emacs-lisp/eieio.el (defclass): Move from eieio-defclass all the code
that creates functions, and most of the sanity checks.
Mark as obsolete the <class>-child-p function.
* lisp/emacs-lisp/eieio-core.el (eieio--define-field-accessors): Remove.
(eieio--class, eieio--object): Use cl-defstruct.
(eieio--object-num-slots): Define manually.
(eieio-defclass-autoload): Use eieio--class-make.
(eieio-defclass-internal): Rename from eieio-defclass.  Move all the
`(lambda...) definitions and most of the sanity checks to `defclass'.
Mark as obsolete the <class>-list-p function, the <class> variable and
the <initarg> variables.  Use pcase-dolist.
(eieio-defclass): New compatibility function.
* lisp/emacs-lisp/eieio-opt.el (eieio-build-class-alist)
(eieio-class-speedbar): Don't use eieio-default-superclass var.

9 years ago* emacs-lisp/eieio-generic.el: New file.
Stefan Monnier [Thu, 8 Jan 2015 05:24:24 +0000 (00:24 -0500)]
* emacs-lisp/eieio-generic.el: New file.

* lisp/emacs-lisp/eieio-core.el: Move all generic function code to
eieio-generic.el.
(eieio--defmethod): Declare.
* lisp/emacs-lisp/eieio.el: Require eieio-generic.  Move all generic
function code to eieio-generic.el.
* lisp/emacs-lisp/eieio-opt.el (eieio-help-generic): Move to
eieio-generic.el.
* lisp/emacs-lisp/eieio-datadebug.el (eieio-debug-methodinvoke): Update call
to eieio--generic-call.
* lisp/emacs-lisp/eieio-base.el (eieio-instance-inheritor): Don't use
<class>-child type.
* test/automated/eieio-test-methodinvoke.el (eieio-test-method-store):
Update reference to eieio--generic-call-key.
* test/automated/eieio-tests.el (eieio-test-23-inheritance-check): Don't use
<foo>-child-p.

9 years agolisp/emacs-lisp/eieio-core.el (eieio-backward-compatibility): New var.
Stefan Monnier [Thu, 8 Jan 2015 04:11:58 +0000 (23:11 -0500)]
lisp/emacs-lisp/eieio-core.el (eieio-backward-compatibility): New var.

* lisp/cedet/ede/speedbar.el (ede-speedbar-compile-line)
(ede-speedbar-get-top-project-for-line):
* lisp/cedet/ede.el (ede-buffer-belongs-to-target-p)
(ede-buffer-belongs-to-project-p, ede-build-forms-menu)
(ede-add-project-to-global-list):
* lisp/cedet/semantic/db-typecache.el (semanticdb-get-typecache):
* lisp/cedet/semantic/db-file.el (semanticdb-load-database):
* lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
* lisp/cedet/semantic/db-ebrowse.el (semanticdb-ebrowse-load-helper):
* lisp/cedet/ede/project-am.el (project-am-preferred-target-type):
* lisp/cedet/ede/proj.el (ede-proj-load):
* lisp/cedet/ede/custom.el (ede-customize-current-target, ede-customize-target):
* lisp/cedet/semantic/ede-grammar.el ("semantic grammar"):
* lisp/cedet/semantic/scope.el (semantic-scope-reset-cache)
(semantic-calculate-scope):
* lisp/cedet/srecode/map.el (srecode-map-update-map):
* lisp/cedet/srecode/insert.el (srecode-insert-show-error-report)
(srecode-insert-method, srecode-insert-include-lookup)
(srecode-insert-method):
* lisp/cedet/srecode/fields.el (srecode-active-template-region):
* lisp/cedet/srecode/compile.el (srecode-flush-active-templates)
(srecode-compile-inserter): Don't use <class> as a variable.
Use `oref-default' for class slots.

* lisp/cedet/semantic/grammar.el (semantic-grammar-eldoc-last-data): New var.
(semantic-grammar-eldoc-get-macro-docstring): Use it instead of
eldoc-last-data.
* lisp/cedet/semantic/fw.el (semantic-exit-on-input): Use `declare'.
(semantic-throw-on-input): Use `with-current-buffer'.
* lisp/cedet/semantic/db.el (semanticdb-abstract-table-list): Define if not
pre-defined.
* lisp/cedet/semantic/db-find.el (semanticdb-find-tags-collector):
Use save-current-buffer.
(semanticdb-find-tags-collector): Don't use <class> as a variable.
* lisp/cedet/semantic/complete.el (semantic-complete-active-default)
(semantic-complete-current-matched-tag): Declare.
(semantic-complete-inline-custom-type): Don't use <class> as a variable.
* lisp/cedet/semantic/bovine/make.el (semantic-analyze-possible-completions):
Use with-current-buffer.
* lisp/cedet/semantic.el (semantic-parser-warnings): Declare.
* lisp/cedet/ede/base.el (ede-target-list): Define if not pre-defined.
(ede-with-projectfile): Prefer find-file-noselect over
save-window-excursion.

* lisp/emacs-lisp/chart.el (chart-add-sequence, chart-bar-quickie):
Don't use <class> as a variable.

* lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
Improve error messages.
(eieio-persistent-slot-type-is-class-p): Handle `list-of' types, as
well as user-defined types.  Emit errors for legacy types like
<class>-child and <class>-list, if not eieio-backward-compatibility.

* lisp/emacs-lisp/eieio-core.el (eieio-backward-compatibility): New var.
(eieio-defclass-autoload): Obey it.
(eieio--class-object): Improve error behavior.
(eieio-class-children-fast, same-class-fast-p): Remove.  Inline at
every use site.
(eieio--defgeneric-form-primary-only): Rename from
eieio-defgeneric-form-primary-only; update all callers.
(eieio--defgeneric-form-primary-only-one): Rename from
eieio-defgeneric-form-primary-only-one; update all callers.
(eieio-defgeneric-reset-generic-form)
(eieio-defgeneric-reset-generic-form-primary-only)
(eieio-defgeneric-reset-generic-form-primary-only-one): Remove.
(eieio--method-optimize-primary): New function to replace them.
(eieio--defmethod, eieio-defmethod): Use it.
(eieio--perform-slot-validation): Rename from
eieio-perform-slot-validation; update all callers.
(eieio--validate-slot-value): Rename from eieio-validate-slot-value.
Change `class' to be a class object.  Update all callers.
(eieio--validate-class-slot-value): Rename from
eieio-validate-class-slot-value.  Change `class' to be a class object.
Update all callers.
(eieio-oset-default): Accept class object as well.
(eieio--generic-call-primary-only): Rename from
eieio-generic-call-primary-only.  Update all callers.

* lisp/emacs-lisp/eieio-opt.el (eieio-read-generic-p): Remove.
(eieio-read-generic): Use `generic-p' instead.

* lisp/emacs-lisp/eieio.el (same-class-p): Accept class object as well.
(call-next-method): Simplify.
(clone): Obey eieio-backward-compatibility.

* lisp/gnus/registry.el: Don't use <class> as a variable.

* test/automated/eieio-test-methodinvoke.el
(eieio-test-method-order-list-4):
Don't use <class> as a variable.

* test/automated/eieio-test-persist.el (persistent-with-objs-list-slot):
Don't use <class>-list type.

* test/automated/eieio-tests.el: Use cl-lib.  Don't use <class> as a variable.
Don't use <class>-list types and <class>-list-p predicates.

9 years ago* lisp/emacs-lisp/eieio*.el: Use class objects in `parent' field.
Stefan Monnier [Mon, 5 Jan 2015 04:11:37 +0000 (23:11 -0500)]
* lisp/emacs-lisp/eieio*.el: Use class objects in `parent' field.

* lisp/emacs-lisp/eieio-core.el (eieio-class-object): New function.
(eieio-class-parents-fast): Remove macro.
(eieio--class-option-assoc): Rename from class-option-assoc.
Update all callers.
(eieio--class-option): Rename from class-option.  Change `class' arg to
be a class object.  Update all callers.
(eieio--class-method-invocation-order): Rename from
class-method-invocation-order.  Change `class' arg to be a class
object.  Update all callers.
(eieio-defclass-autoload, eieio-defclass): Set the `parent' field to
a list of class objects rather than names.
(eieio-defclass): Remove redundant quotes.  Use `eieio-oref-default'
for accessors to class allocated slots.
(eieio--perform-slot-validation-for-default): Rename from
eieio-perform-slot-validation-for-default.  Update all callers.
(eieio--add-new-slot): Rename from eieio-add-new-slot.
Update all callers.  Use push.
(eieio-copy-parents-into-subclass): Adjust to new content of
`parent' field.  Use dolist.
(eieio-oref): Remove support for providing a class rather than
an object.
(eieio-oref-default): Prefer class objects over class names.
(eieio--slot-originating-class-p): Rename from
eieio-slot-originating-class-p.  Update all callers.  Use `or'.
(eieio--slot-name-index): Turn check into assertion.
(eieio--class-slot-name-index): Rename from
eieio-class-slot-name-index.  Change `class' arg to be a class object.
Update all callers.
(eieio-attribute-to-initarg): Move to eieio-test-persist.el.
(eieio--c3-candidate): Rename from eieio-c3-candidate.
Update all callers.
(eieio--c3-merge-lists): Rename from eieio-c3-merge-lists.
Update all callers.
(eieio--class-precedence-c3): Rename from eieio-class-precedence-c3.
Update all callers.
(eieio--class-precedence-dfs): Rename from eieio-class-precedence-dfs.
Update all callers.
(eieio--class-precedence-bfs): Rename from eieio-class-precedence-bfs.
Update all callers.  Adjust to new `parent' content.
(eieio--class-precedence-list): Rename from -class-precedence-list.
Update all callers.
(eieio-generic-call): Use autoloadp and autoload-do-load.
Slight simplification.
(eieio-generic-call, eieio-generic-call-primary-only): Adjust to new
return value of `eieio-generic-form'.
(eieiomt-add): Index the hashtable with class objects rather than
class names.
(eieio-generic-form): Accept class objects as well.

* lisp/emacs-lisp/eieio.el (eieio-class-parents): Accept class objects.
(eieio--class-slot-initarg): Rename from class-slot-initarg.
Change `class' arg to be a class object.  Update all callers.
(call-next-method): Adjust to new return value of `eieio-generic-form'.
(eieio-default-superclass): Set var to the class object.
(eieio-edebug-prin1-to-string): Fix recursive call for lists.
Change print behavior to affect class objects rather than
class symbols.

* lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
Adjust to new convention for eieio-persistent-validate/fix-slot-value.
(eieio-persistent-validate/fix-slot-value):
Change `class' arg to be a class object.  Update all callers.

* test/automated/eieio-test-persist.el (eieio--attribute-to-initarg):
Move from eieio-core.el.  Rename from eieio-attribute-to-initarg.
Change arg to be a class object.  Update all callers.

* test/automated/eieio-tests.el (eieio-test-04-static-method)
(eieio-test-05-static-method-2): Use oref-default to access
class slots.
(eieio-test-23-inheritance-check): Don't assume that
eieio-class-parents returns class names, or that a class can only have
a single name.

9 years agolisp/emacs-lisp/eieio*.el: Reduce object header to 1 slot
Stefan Monnier [Mon, 29 Dec 2014 17:11:09 +0000 (12:11 -0500)]
lisp/emacs-lisp/eieio*.el: Reduce object header to 1 slot

* lisp/emacs-lisp/eieio-core.el (eieio--with-scoped-class): Use let-binding.
(object): Remove first (constant) slot; rename second to `class-tag'.
(eieio--object-class-object, eieio--object-class-name): New funs
to replace eieio--object-class.
(eieio--class-object, eieio--class-p): New functions.
(same-class-fast-p): Make it a defsubst, change its implementation
to check the class objects rather than their names.
(eieio-object-p): Rewrite.
(eieio-defclass): Adjust the object initialization according to the new
object layout.
(eieio--scoped-class): Declare it returns a class object (not a class
name any more).  Adjust calls accordingly (along with calls to
eieio--with-scoped-class).
(eieio--slot-name-index): Rename from eieio-slot-name-index and change
its class arg to be a class object.  Adjust callers accordingly.
(eieio-slot-originating-class-p): Make its start-class arg a class
object.  Adjust all callers.
(eieio--initarg-to-attribute): Rename from eieio-initarg-to-attribute.
Make its `class' arg a class object.  Adjust all callers.

* lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
Use eieio--slot-name-index rather than eieio-slot-name-index.

* lisp/emacs-lisp/eieio.el (child-of-class-p): Make it accept class objects
additionally to class names.

* test/automated/eieio-test-methodinvoke.el (eieio-test-method-store):
Adjust to new semantics of eieio--scoped-class.
(eieio-test-match): Improve error feedback.

9 years ago* lisp/emacs-lisp/eieio*.el: Remove "name" field of objects
Stefan Monnier [Tue, 23 Dec 2014 03:05:46 +0000 (22:05 -0500)]
* lisp/emacs-lisp/eieio*.el: Remove "name" field of objects

* lisp/emacs-lisp/eieio-base.el (clone) <eieio-instance-inheritor>:
Use call-next-method.
(eieio-constructor): Rename from `constructor'.
(eieio-persistent-convert-list-to-object): Drop objname.
(eieio-persistent-validate/fix-slot-value): Don't hardcode
eieio--object-num-slots.
(eieio-named): Use a normal slot.
(slot-missing) <eieio-named>: Remove.
(eieio-object-name-string, eieio-object-set-name-string, clone)
<eieio-named>: New methods.

* lisp/emacs-lisp/eieio-core.el (eieio--defalias): Follow aliases.
(eieio--object): Remove `name' field.
(eieio-defclass): Adjust to new convention where constructors don't
take an "object name" any more.
(eieio--defgeneric-init-form, eieio--defmethod): Follow aliases.
(eieio-validate-slot-value, eieio-oset-default)
(eieio-slot-name-index): Don't hardcode eieio--object-num-slots.
(eieio-generic-call-primary-only): Simplify.

* lisp/emacs-lisp/eieio-custom.el (eieio-widget-test): Remove dummy arg.
(eieio-object-value-get): Use eieio-object-set-name-string.

* lisp/emacs-lisp/eieio.el (make-instance): Simplify by not adding an object
name argument.
(eieio-object-name): Use eieio-object-name-string.
(eieio--object-names): New const.
(eieio-object-name-string, eieio-object-set-name-string): Re-implement
using a hashtable rather than a built-in slot.
(eieio-constructor): Rename from `constructor'.  Remove `newname' arg.
(clone): Don't mess with the object's "name".

* test/automated/eieio-test-persist.el (persistent-with-objs-slot-subs):
The type FOO-child is the same as FOO.

* test/automated/eieio-tests.el: Remove dummy object names.

9 years ago* lisp/emacs-lisp/eieio-core.el (eieio--class-v): Rename from class-v.
Stefan Monnier [Mon, 22 Dec 2014 20:46:16 +0000 (15:46 -0500)]
* lisp/emacs-lisp/eieio-core.el (eieio--class-v): Rename from class-v.

(method-*): Add a "eieio--" prefix to those constants.

* lisp/emacs-lisp/eieio-speedbar.el: Use lexical-binding.

* lisp/emacs-lisp/eieio.el: Move edebug specs to the corresponding macro.

9 years ago* lisp/emacs-lisp/eieio*.el: Use hashtables rather than obarrays
Stefan Monnier [Mon, 22 Dec 2014 20:13:02 +0000 (15:13 -0500)]
* lisp/emacs-lisp/eieio*.el: Use hashtables rather than obarrays

* lisp/emacs-lisp/eieio-core.el (class): Rename field symbol-obarray to
symbol-hashtable.  It contains a hashtable instead of an obarray.
(generic-p): Use symbol property `eieio-method-hashtable' instead of
`eieio-method-obarray'.
(generic-primary-only-p, generic-primary-only-one-p):
Slight optimization.
(eieio-defclass-autoload-map): Use a hashtable instead of an obarray.
(eieio-defclass-autoload, eieio-defclass): Adjust/simplify accordingly.
(eieio-class-un-autoload): Use autoload-do-load.
(eieio-defclass): Use dolist, cl-pushnew, cl-callf.
Use new cl-deftype-satisfies.  Adjust to use of hashtables.
Don't hardcode the value of eieio--object-num-slots.
(eieio-defgeneric-form-primary-only-one): Remove `doc-string' arg.
Use a closure rather than a backquoted lambda.
(eieio--defmethod): Adjust call accordingly.  Set doc-string via the
function-documentation property.
(eieio-slot-originating-class-p, eieio-slot-name-index)
(eieiomt--optimizing-hashtable, eieiomt-install, eieiomt-add)
(eieio-generic-form): Adjust to use of hashtables.
(eieiomt--sym-optimize): Rename from eieiomt-sym-optimize; take
additional class argument.
(eieio-generic-call-methodname): Remove, unused.

* lisp/emacs-lisp/eieio-custom.el: Use lexical-binding.
(eieio-object-value-to-abstract): Simplify.

* lisp/emacs-lisp/eieio-datadebug.el: Use lexical-binding.

* lisp/emacs-lisp/eieio-opt.el (eieio-build-class-list): Use cl-mapcan.
(eieio-build-class-alist): Use dolist.
(eieio-all-generic-functions): Adjust to use of hashtables.

* lisp/emacs-lisp/eieio.el (child-of-class-p): Fix case where `class' is
`eieio-default-superclass'.

* test/automated/eieio-test-methodinvoke.el (eieio-test-method-store):
Remove use of eieio-generic-call-methodname.
(eieio-test-method-order-list-3, eieio-test-method-order-list-6)
(eieio-test-method-order-list-7, eieio-test-method-order-list-8):
Adjust the expected result accordingly.

* lisp/emacs-lisp/eieio-base.el (eieio-persistent-slot-type-is-class-p):
Prefer \' to $.

9 years ago* lisp/cedet: Reduce reliance on EIEIO internals.
Stefan Monnier [Mon, 22 Dec 2014 17:43:23 +0000 (12:43 -0500)]
* lisp/cedet: Reduce reliance on EIEIO internals.

* lisp/cedet/ede/generic.el (ede-find-target): Prefer \` and \' to ^ and $.

* lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag): Prefer find-class over
class-v.

* lisp/cedet/semantic/db.el (semanticdb-cache-get): Prefer eieio-object-class over
eieio--object-class.

* lisp/cedet/srecode/srt-mode.el (srecode-macro-help): Use eieio-class-children.

9 years ago* lisp/completion.el: Use post-self-insert-hook.
Stefan Monnier [Mon, 22 Dec 2014 17:35:29 +0000 (12:35 -0500)]
* lisp/completion.el: Use post-self-insert-hook.

Fixes: debbugs:19400
(completion-separator-self-insert-command)
(completion-separator-self-insert-autofilling): Remove.
(completion-separator-chars): New var.
(completion-c-mode-hook, completion-setup-fortran-mode): Use it instead
of changing the keymap.
(completion--post-self-insert): New function.
(dynamic-completion-mode): Use it instead of rebinding keys.
(cmpl--completion-string): Rename from completion-string.
(add-completion-to-head, delete-completion): Let-bind it explicitly.

9 years agoSimplify ruby--string-region
Bozhidar Batsov [Mon, 22 Dec 2014 15:03:32 +0000 (17:03 +0200)]
Simplify ruby--string-region

* progmodes/ruby-mode.el (ruby--string-region): Simplify code
by leveraging `syntax-ppss'.

9 years agolet-alist.el (let-alist): Use `make-symbol' instead of `gensym'.
Artur Malabarba [Mon, 22 Dec 2014 12:36:30 +0000 (10:36 -0200)]
let-alist.el (let-alist): Use `make-symbol' instead of `gensym'.

9 years agoFix setting icon for Gtk+ on non-initial frame.
Jan D [Mon, 22 Dec 2014 08:19:37 +0000 (09:19 +0100)]
Fix setting icon for Gtk+ on non-initial frame.

Fixes: debbugs:19403
* xterm.c (x_bitmap_icon): Partly revert change from 2014-03-21 which
breaks icon setting for Gtk+ except for initial frame.

9 years agoRemove obsolete references to pre-C99 builds
Paul Eggert [Mon, 22 Dec 2014 04:03:09 +0000 (20:03 -0800)]
Remove obsolete references to pre-C99 builds

* doc/lispref/internals.texi (C Integer Types):
Don't mention pre-C99 compilers.

9 years agoUse bool for boolean in xterm.c
Paul Eggert [Mon, 22 Dec 2014 03:35:30 +0000 (19:35 -0800)]
Use bool for boolean in xterm.c

* frame.h, nsterm.m, w32term.c, w32term.h, xterm.c:
(x_set_window_size, x_bitmap_icon):
* nsterm.m (ns_frame_raise_lower, x_new_font):
* termhooks.h (struct terminal.toggle_invisible_pointer_hook)
(struct terminal.frame_raise_lower_hook):
* w32term.c (w32_frame_raise_lower):
* xterm.c, xterm.h (x_text_icon):
* xterm.c (x_update_window_begin, x_update_window_end)
(x_update_end, x_after_update_window_line)
(x_set_glyph_string_gc, x_draw_glyph_string_background)
(x_draw_glyph_string_foreground)
(x_draw_composite_glyph_string_foreground)
(x_alloc_lighter_color, x_draw_relief_rect)
(x_draw_glyph_string_box, x_draw_image_relief)
(x_draw_image_glyph_string, x_draw_stretch_glyph_string)
(x_draw_underwave, x_draw_glyph_string, x_show_hourglass)
(x_hide_hourglass):
(XFillRectangle) [HAVE_GTK3]:
(XTtoggle_invisible_pointer, frame_highlight, frame_unhighlight)
(x_focus_changed, x_find_modifier_meanings, note_mouse_movement)
(XTmouse_position, xt_action_hook, xt_horizontal_action_hook)
(x_send_scroll_bar_event, xm_scroll_callback)
(xg_scroll_callback, xaw_jump_callback, xaw_scroll_callback)
(x_create_toolkit_scroll_bar)
(x_create_horizontal_toolkit_scroll_bar)
(x_set_toolkit_horizontal_scroll_bar_thumb, x_scroll_bar_create)
(x_scroll_bar_set_handle, XTset_vertical_scroll_bar)
(XTset_horizontal_scroll_bar, x_scroll_bar_expose)
(x_scroll_bar_handle_click, x_scroll_bar_note_movement)
(x_scroll_bar_report_motion)
(x_horizontal_scroll_bar_report_motion, x_net_wm_state)
(handle_one_xevent, XTread_socket, x_draw_bar_cursor)
(x_draw_window_cursor, x_clear_errors)
(x_trace_wire, x_new_font, x_set_offset, wm_supports)
(set_wm_state, x_set_sticky, get_current_wm_state)
(do_ewmh_fullscreen, x_handle_net_wm_state)
(x_check_expected_move, x_sync_with_move, x_wait_for_event)
(x_set_window_size_1, XTframe_raise_lower)
(x_make_frame_visible, x_iconify_frame)
(x_timeout_atimer_activated_flag, same_x_server, x_display_ok)
(x_term_init, x_process_timeouts, x_activate_timeout_atimer)
(x_delete_terminal, x_initialize, syms_of_xterm):
Use bool for boolean.

9 years agoFixes: debbugs:19269
Lars Ingebrigtsen [Sun, 21 Dec 2014 12:21:16 +0000 (13:21 +0100)]
Fixes: debbugs:19269
* lisp/net/nsm.el (nsm-save-host): Don't save the host name twice.

9 years agoFix typo in charset_ordered_list_tick patch
Paul Eggert [Sat, 20 Dec 2014 23:52:36 +0000 (15:52 -0800)]
Fix typo in charset_ordered_list_tick patch

9 years ago* composite.h (struct composition.width): Now int
Paul Eggert [Sat, 20 Dec 2014 23:49:04 +0000 (15:49 -0800)]
* composite.h (struct composition.width): Now int

instead of unsigned short, as we prefer signed integers.

9 years agoLet charset tick grow past USHRT_MAX
Paul Eggert [Sat, 20 Dec 2014 23:20:56 +0000 (15:20 -0800)]
Let charset tick grow past USHRT_MAX

* charset.c, charset.h (charset_ordered_list_tick):
Now EMACS_UINT, not unsigned short.
* fontset.c (reorder_font_vector): Allow the tick to grow to the
maximum representable Emacs integer value before wrapping it around.

9 years agoSimplify unexec file mode setting
Paul Eggert [Sat, 20 Dec 2014 21:11:40 +0000 (13:11 -0800)]
Simplify unexec file mode setting

* unexaix.c, unexcoff.c, unexelf.c, unexmacosx.c:
Don't include <sys/stat.h> when no longer needed.
(unexec): Create file with correct mode in the first place,
rather than overwriting the mode later and fiddling with the
global umask in the mean time.  Avoid bogus usage like
'umask (777)', which should have been 'umask (0777)'.
(mark_x): Remove. All callers removed.

9 years ago* net/tramp-sh.el (tramp-histfile-override): Add :version.
Michael Albinus [Sat, 20 Dec 2014 12:09:49 +0000 (13:09 +0100)]
* net/tramp-sh.el (tramp-histfile-override): Add :version.

9 years ago* net/tramp-sh.el (tramp-histfile-override): Clarify docstring.
Ted Zlatanov [Sat, 20 Dec 2014 11:14:04 +0000 (06:14 -0500)]
* net/tramp-sh.el (tramp-histfile-override): Clarify docstring.

9 years ago* buffer.c (syms_of_buffer): Omit unneeded staticpros.
Paul Eggert [Fri, 19 Dec 2014 22:20:12 +0000 (14:20 -0800)]
* buffer.c (syms_of_buffer): Omit unneeded staticpros.

9 years ago* let-alist.el (let-alist): Enable access to deeper alists
Artur Malabarba [Fri, 19 Dec 2014 20:25:06 +0000 (18:25 -0200)]
* let-alist.el (let-alist): Enable access to deeper alists

Acces them by using extra dots inside the dotted symbols.

9 years agoMake C++11 uniform init syntax work. New keywords "final" and "override"
Alan Mackenzie [Fri, 19 Dec 2014 18:35:14 +0000 (18:35 +0000)]
Make C++11 uniform init syntax work.  New keywords "final" and "override"

cc-engine.el (c-back-over-member-initializer-braces): New function.
(c-guess-basic-syntax): Set `containing-sex' and `lim' using the new
function.

cc-fonts.el (c-font-lock-declarations): Check more carefully for "are we
at a declarator?" using c-back-over-member-initializers.

cc-langs.el (c-type-modifier-kwds): include "final" and "override" in
the
C++ value.

9 years agoIn `ispell-command-loop' don't use `next-window'.
Martin Rudalics [Fri, 19 Dec 2014 17:59:54 +0000 (18:59 +0100)]
In `ispell-command-loop' don't use `next-window'.

* textmodes/ispell.el (ispell-command-loop): Don't use
`next-window'.

9 years ago* automated/let-alist.el: require `cl-lib'
Artur Malabarba [Fri, 19 Dec 2014 13:07:47 +0000 (11:07 -0200)]
* automated/let-alist.el: require `cl-lib'

9 years agoIn NEWS mark `preserve-window-size' as +++.
Martin Rudalics [Fri, 19 Dec 2014 10:32:39 +0000 (11:32 +0100)]
In NEWS mark `preserve-window-size' as +++.

9 years agoDescribe window size preserving options.
Martin Rudalics [Fri, 19 Dec 2014 10:27:43 +0000 (11:27 +0100)]
Describe window size preserving options.

* windows.texi (Resizing Windows): Describe new argument of
`fit-window-to-buffer'.  Move description of `window-size-fixed'
to new section below.
(Preserving Window Sizes): New section describing
`window-size-fixed' and `window-preserve-size'.
(Display Action Functions): Describe `preserve-size' alist
entry.
(Window Parameters): Describe `preserved-size' parameter.

9 years agoMinor cleanups for Lisp objects and symbols
Paul Eggert [Fri, 19 Dec 2014 02:12:01 +0000 (18:12 -0800)]
Minor cleanups for Lisp objects and symbols

* alloc.c (next_vector, set_next_vector):
* lisp.h (lisp_h_INTEGERP, make_number, XFASTINT, make_natnum):
(lisp_h_make_number) [USE_LSB_TAG]:
Use Lisp_Int0 instead of the mystery constant 0.
* alloc.c (mark_object): Always set and use po; that's simpler.
(CHECK_LIVE, CHECK_ALLOCATED_AND_LIVE):
Properly parenthesize definientia.
* bidi.c (bidi_initialize):
* buffer.c (init_buffer_once):
* nsfns.m (syms_of_nsfns):
* nsmenu.m (syms_of_nsmenu):
* nsselect.m (syms_of_nsselect):
Prefer DEFSYM to defining by hand.
* data.c: Fix too-long line.
* lisp.h (DECLARE_GDB_SYM): New macro.
(DEFINE_GDB_SYMBOL_BEGIN): Use it.
(DEFINE_GDB_SYMBOL_BEGIN, DEFINE_GDB_SYMBOL_END) [!MAIN_PROGRAM]:
Declare the symbol, so it's visible to everywhere lisp.h is included.
Move forward decls as far forward as they can go,
to allow future changes to use them.

9 years agolisp/gnus/registry.el: Fix comment
Katsumi Yamaoka [Thu, 18 Dec 2014 22:50:29 +0000 (22:50 +0000)]
lisp/gnus/registry.el: Fix comment

9 years ago* gnutls.c: Include gnutls.h.
Paul Eggert [Thu, 18 Dec 2014 22:32:06 +0000 (14:32 -0800)]
* gnutls.c: Include gnutls.h.

This to check syms_of_gnutls's API even when !HAVE_GNUTLS.

9 years agoKeyboard interface (C-f10) to `mouse-buffer-menu' (C-down-mouse-1).
Sam Steingold [Thu, 18 Dec 2014 21:41:34 +0000 (16:41 -0500)]
Keyboard interface (C-f10) to `mouse-buffer-menu' (C-down-mouse-1).

* lisp/mouse.el (mouse-buffer-menu-map): Extract from `mouse-buffer-menu'.
(mouse-buffer-menu): Use `mouse-buffer-menu-map'.
* lisp/menu-bar.el (menu-bar-buffer-vector): Extract from
`menu-bar-update-buffers'.
(menu-bar-update-buffers): Use `menu-bar-buffer-vector'.
(buffer-menu-open): New user command, bound globally to C-f10,
provides a keyboard interface to `mouse-buffer-menu' (C-down-mouse-1).
(mouse-buffer-menu-keymap): Use `menu-bar-buffer-vector' to
convert the value returned by `mouse-buffer-menu-map' to a list
acceptable to `popup-menu' for `buffer-menu-open'.

9 years ago* automated/let-alist.el: New file.
Artur Malabarba [Thu, 18 Dec 2014 21:37:15 +0000 (19:37 -0200)]
* automated/let-alist.el: New file.

9 years ago* image.c (svg_load): Fix pointer signedness.
Paul Eggert [Thu, 18 Dec 2014 21:16:16 +0000 (13:16 -0800)]
* image.c (svg_load): Fix pointer signedness.

9 years agolisp/let-alist.el (let-alist): Fix wrong parenthesis.
Artur Malabarba [Thu, 18 Dec 2014 20:59:23 +0000 (18:59 -0200)]
lisp/let-alist.el (let-alist): Fix wrong parenthesis.

9 years ago* registry.el (registry-db): Set default slot later.
Paul Eggert [Thu, 18 Dec 2014 21:00:15 +0000 (13:00 -0800)]
* registry.el (registry-db): Set default slot later.

This is because its value is not a literal integer.

9 years agolisp/let-alist.el (let-alist): Evaluate `alist' only once.
Artur Malabarba [Thu, 18 Dec 2014 20:32:56 +0000 (18:32 -0200)]
lisp/let-alist.el (let-alist): Evaluate `alist' only once.

9 years agoFix the `with-demoted-errors' calls
Sam Steingold [Thu, 18 Dec 2014 20:24:39 +0000 (15:24 -0500)]
Fix the `with-demoted-errors' calls

* lisp/emacs-lisp/package.el (package-activate-1): Fix the
`with-demoted-errors' calls: the first argument must be a string literal.

9 years agoAvoid a compilation warning
Sam Steingold [Thu, 18 Dec 2014 20:23:15 +0000 (15:23 -0500)]
Avoid a compilation warning

* lisp/emacs-lisp/package.el: Avoid a compilation warning by declaring
the `find-library-name' function.

9 years ago* lisp/gnus/gnus-art.el: Fix up compiler warnings.
Stefan Monnier [Thu, 18 Dec 2014 18:19:54 +0000 (13:19 -0500)]
* lisp/gnus/gnus-art.el: Fix up compiler warnings.

(article-display-face, article-display-x-face): Remove unused `face'.
(gnus-article-browse-html-save-cid-content): Remove unused var `type'.
(article-date-ut): Remove unused var `first'.
(gnus-article-prepare): Remove unused var `gnus-article'.
(gnus-mime-save-part-and-strip): Remove unused var `param'.
(gnus-mime-inline-part): Remove unused vars `charset', `contents', and
`coding-system' along with corresponding dead code.
(gnus-mime-view-part-externally): Remove unused var
`mm-user-display-methods'.
(gnus-insert-mime-button): Let-bind gnus-tmp-id explicitly.
(gnus-display-mime): Remove unused var `handle'.
(gnus-mime-display-alternative): Remove unused var `props'.
(gnus-article-read-summary-keys): Remove unused var `up-to-top'.
(gnus-article-edit-done): Remove unused var `p'.
(gnus-url-mailto): Remove unused var `to'.
(gnus-treat-article): Let-bind gnus-treat-condition, part-number,
total-parts, and gnus-treat-type explicitly.  Remove unused var `elem'.

* lisp/gnus/mm-util.el (mm-with-unibyte-current-buffer): Mark obsolete and
add warning.

9 years agoFix ispell window handling.
Martin Rudalics [Thu, 18 Dec 2014 17:53:48 +0000 (18:53 +0100)]
Fix ispell window handling.

* textmodes/ispell.el (ispell-command-loop): Suppress horizontal
scroll bar on ispell's windows.  Don't count window lines and
don't deal with dedicated windows.
(ispell-show-choices, ispell-help): Let `ispell-display-buffer'
do the window handling.
(ispell-adjusted-window-height, ispell-overlay-window): Remove.
(ispell-display-buffer): New function to reuse, create and fit
window to ispell's buffers. (Bug#3413)

9 years agoAdd code for "preserving" window sizes.
Martin Rudalics [Thu, 18 Dec 2014 17:12:24 +0000 (18:12 +0100)]
Add code for "preserving" window sizes.

* frame.c (frame_windows_min_size): New argument IGNORE.
(adjust_frame_size): When called from change_frame_size call
frame_windows_min_size with IGNORE Qt so we can ignore size
restrictions.

* dired.el (dired-pop-to-buffer): Call fit-window-to-buffer with
`preserve-size' t.
(dired-mark-pop-up): Preserve size of window showing marked
files.
* electric.el (Electric-pop-up-window):
* help.el (resize-temp-buffer-window): Call fit-window-to-buffer
with `preserve-size' t.
* minibuffer.el (minibuffer-completion-help): Use
`resize-temp-buffer-window' instead of `fit-window-to-buffer'
(Bug#19355).  Preserve size of completions window.
* register.el (register-preview): Preserve size of register
preview window.
* tmm.el (tmm-add-prompt): Call fit-window-to-buffer
with `preserve-size' t (Bug#1291).
* window.el (with-displayed-buffer-window): Add calls to
`window-preserve-size'.
(window-min-pixel-size, window--preservable-size)
(window-preserve-size, window-preserved-size)
(window--preserve-size, window--min-size-ignore-p): New
functions.
(window-min-size, window-min-delta, window--resizable)
(window--resize-this-window, split-window-below)
(split-window-right): Amend doc-string.
(adjust-window-trailing-edge): Handle preserving window
sizes.  Signal user-error instead of an error when there's no
window above or below.
(window--min-size-1, window-sizable, window--size-fixed-1)
(window-size-fixed-p, window--min-delta-1)
(frame-windows-min-size, window--max-delta-1, window-resize)
(window--resize-child-windows, window--resize-siblings)
(enlarge-window, shrink-window, split-window): Handle preserving
window sizes.
(window--state-put-2): Handle horizontal scroll bars.
(window--display-buffer): Call `preserve-size' if asked for.
(display-buffer): Mention `preserve-size' alist member in
doc-string.
(fit-window-to-buffer): New argument PRESERVE-SIZE.

9 years agoFixes: debbugs:19390
Dmitry Gutov [Thu, 18 Dec 2014 16:44:11 +0000 (18:44 +0200)]
Fixes: debbugs:19390
* lisp/emacs-lisp/package.el (package-activate): Do not re-activate or
reload the dependencies.

9 years ago* lisp/progmodes/cc-cmds.el (c-subword-mode): Alias to subword-mode.
Stefan Monnier [Thu, 18 Dec 2014 16:18:21 +0000 (11:18 -0500)]
* lisp/progmodes/cc-cmds.el (c-subword-mode): Alias to subword-mode.

(c-update-modeline):
* lisp/progmodes/cc-langs.el (c-mode-menu): Use c-subword-mode.
* lisp/progmodes/cc-mode.el (subword-mode): Move autoload to cc-cmds.el.
(c-mode-base-map): Use c-subword-mode.

9 years agoAllow querying font by name for its height and other info. (Bug#19395)
Eli Zaretskii [Thu, 18 Dec 2014 16:07:26 +0000 (18:07 +0200)]
Allow querying font by name for its height and other info.  (Bug#19395)

 src/font.c (Ffont_info): Add more font information to the vector
 returned by the function, inspired by query-font.  Doc fix.

 doc/lispref/display.texi (Low-Level Font): Document font-info and query-font.

 lisp/international/mule-diag.el (describe-font-internal): Display
 additional info returned by font-info.
 lisp/linum.el (linum--face-width): Rename from linum--face-height,
 and use the new functionality of font-info.
 (linum-update-window): Use linum--face-width and frame-char-width,
 instead of approximating with height.

 etc/NEWS: Mention the enhancement in font-info.

9 years agoRemove extra semicolons
Dmitry Gutov [Thu, 18 Dec 2014 13:51:34 +0000 (15:51 +0200)]
Remove extra semicolons

9 years agoFix recent vc-svn-dir-status-files breakage
Dmitry Gutov [Thu, 18 Dec 2014 13:47:11 +0000 (15:47 +0200)]
Fix recent vc-svn-dir-status-files breakage

Fixes: debbugs:19387 debbugs:19405
* lisp/vc/vc-svn.el (vc-svn-dir-status-files): Revert the 2014-12-02
change.  Use `apply' on `vc-dir-command'.

9 years ago* etc/NEWS: Add a short description of seq.el.
Nicolas Petton [Thu, 18 Dec 2014 13:31:46 +0000 (14:31 +0100)]
* etc/NEWS: Add a short description of seq.el.

9 years agoFix Gnus registry pruning and sorting, and rename file
Eric Abrahamsen [Thu, 18 Dec 2014 11:22:02 +0000 (11:22 +0000)]
Fix Gnus registry pruning and sorting, and rename file

* lisp/gnus/gnus-registry.el (gnus-registry-prune-factor): Add new variable.
(gnus-registry-max-pruned-entries): Remove obsolete variable.
(gnus-registry-cache-file): Change default
filename extension to "eieio".
(gnus-registry-read): Add new function, split out from
`gnus-registry-load', that does the actual object reading.
(gnus-registry-load): Use it. Add condition case handler to check for
old filename extension and rename to the new one.
(gnus-registry-default-sort-function): New variable to specify a sort
function to use when pruning.
(gnus-registry-save, gnus-registry-insert): Use it.
(gnus-registry-sort-by-creation-time): Define a default sort function.

* lisp/gnus/registry.el (registry-db): Consolidate the :max-hard and
:max-soft slots into a :max-size slot.
(registry-db-version): Add new variable for database version number.
(registry-prune): Use :max-size slot. Accept and use a sort-function
argument.
(registry-collect-prune-candidates): Add new function for finding
non-precious pruning candidates.
(registry-prune-hard-candidates, registry-prune-soft-candidates):
Remove obsolete functions.
(initialize-instance): Upgrade registry version when starting.

* doc/misc/gnus.texi (Gnus Registry Setup): Explain pruning changes.
Mention gnus-registry-prune-factor. Explain sorting changes and
gnus-registry-default-sort-function. Correct file extension.

9 years agoDon't reload packages at startup
Dmitry Gutov [Thu, 18 Dec 2014 10:10:34 +0000 (12:10 +0200)]
Don't reload packages at startup

Fixes: debbugs:19390
* lisp/emacs-lisp/package.el (package-activate-1): Add RELOAD argument
and a docstring.
(package-activate): Call itself on dependencies on PACKAGE with
the same FORCE argument.  Pass FORCE as RELOAD into
`package-activate-1' .

9 years ago* src/keyboard.c (input_was_pending): New var.
Stefan Monnier [Thu, 18 Dec 2014 02:03:30 +0000 (21:03 -0500)]
* src/keyboard.c (input_was_pending): New var.

(read_char): Use it to make sure we only skip redisplay when we can't
keep up with the repeat rate.

9 years ago* src/keyboard.c (swallow_events): Don't redisplay if there's input pending.
Stefan Monnier [Wed, 17 Dec 2014 22:08:07 +0000 (17:08 -0500)]
* src/keyboard.c (swallow_events): Don't redisplay if there's input pending.

9 years agoload-history may contain nil "filenames"
Sam Steingold [Wed, 17 Dec 2014 21:57:09 +0000 (16:57 -0500)]
load-history may contain nil "filenames"

* lisp/emacs-lisp/package.el (package--list-loaded-files): Handle
`(nil ...)' elements in `load-history'.

9 years agoAdd missing ChangeLog entry for prior commit.
Ted Zlatanov [Wed, 17 Dec 2014 21:35:07 +0000 (16:35 -0500)]
Add missing ChangeLog entry for prior commit.

9 years agoFixed problems with svg_load_image -- no more crashes (hopefully)
Ulf Jasper [Wed, 17 Dec 2014 21:00:22 +0000 (22:00 +0100)]
Fixed problems with svg_load_image -- no more crashes (hopefully)

* src/image.c (svg_load): Watch out for nil value of current buffer's
filename.  Re-enable filename thing for not-a-file case.

9 years agoPartially disabled previous change.
Ulf Jasper [Wed, 17 Dec 2014 20:42:23 +0000 (21:42 +0100)]
Partially disabled previous change.

* src/image.c (svg_load): Temporarily disabled filename thing for
not-a-file case as it can cause crashs.

9 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Ulf Jasper [Wed, 17 Dec 2014 19:54:28 +0000 (20:54 +0100)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

9 years agoIntroduce tramp-histfile-override.
Ted Zlatanov [Wed, 17 Dec 2014 19:05:15 +0000 (14:05 -0500)]
Introduce tramp-histfile-override.

* net/tramp-sh.el (tramp-histfile-override): New variable.
(tramp-open-shell, tramp-maybe-open-connection): Use it.

9 years agoFix problem with images referenced within svg files. (bug#19373)
Ulf Jasper [Wed, 17 Dec 2014 19:50:12 +0000 (20:50 +0100)]
Fix problem with images referenced within svg files. (bug#19373)

Fixes: debbugs:19373
* src/image.c: Additional parameter 'filename' for
svg_load_image. Include "buffer.h".  Define library function
rsvg_handle_set_base_uri for WINDOWSNT.
(init_svg_functions): Initialize rsvg_handle_set_base_uri.
(fn_rsvg_handle_set_base_uri): Define fn_rsvg_handle_set_base_uri.
(svg_load): Pass a filename to svg_load_image: either name of
actual file or of current buffer's file.
(svg_load_image): New parameter 'filename', used for setting
base_uri, necessary for loading referenced images.

9 years ago* calc.texi (About This Manual): Update instructions
Jay Belanger [Wed, 17 Dec 2014 14:16:11 +0000 (08:16 -0600)]
* calc.texi (About This Manual): Update instructions
for building the manual.

9 years ago* lisp/vc/vc.el: Improve `dir-status-files' description
Dmitry Gutov [Wed, 17 Dec 2014 04:34:11 +0000 (06:34 +0200)]
* lisp/vc/vc.el: Improve `dir-status-files' description

9 years agoSpeed up package--list-loaded-files a bit
Dmitry Gutov [Wed, 17 Dec 2014 01:23:07 +0000 (03:23 +0200)]
Speed up package--list-loaded-files a bit

Fixes: debbugs:19390
* lisp/emacs-lisp/package.el (package--list-loaded-files): Don't call
file-truename on load-history elements.

9 years ago* lisp/emacs-lisp/seq.el: New file.
Nicolas Petton [Tue, 16 Dec 2014 23:42:30 +0000 (18:42 -0500)]
* lisp/emacs-lisp/seq.el: New file.

* doc/lispref/sequences.texi (Seq Library): Add documentation for seq.el.
* test/automated/seq-tests.el: New file.

9 years ago* lread.c (init_obarray): Declare Qt as special.
Paul Eggert [Tue, 16 Dec 2014 22:49:14 +0000 (14:49 -0800)]
* lread.c (init_obarray): Declare Qt as special.

This fixes a typo in the 2012-05-15 patch that
tried to declare Qt as special.

9 years ago* lisp/jit-lock.el (jit-lock-function): Don't defer if jit-lock-defer-time
Stefan Monnier [Tue, 16 Dec 2014 14:25:57 +0000 (09:25 -0500)]
* lisp/jit-lock.el (jit-lock-function): Don't defer if jit-lock-defer-time
is 0 and there is no input pending.

9 years ago* test/automated/data/flymake/Makefile: Comment.
Glenn Morris [Tue, 16 Dec 2014 03:30:50 +0000 (19:30 -0800)]
* test/automated/data/flymake/Makefile: Comment.

9 years agoDisable gcc color in test/automated/data/flymake/Makefile
Glenn Morris [Tue, 16 Dec 2014 02:08:40 +0000 (21:08 -0500)]
Disable gcc color in test/automated/data/flymake/Makefile

* test/automated/data/flymake/Makefile (check-syntax):
Prevent colorized gcc output from confusing flymake.

9 years agoMove flymake test data to more standard location
Glenn Morris [Tue, 16 Dec 2014 01:41:03 +0000 (20:41 -0500)]
Move flymake test data to more standard location

* test/automated/flymake-tests.el (flymake-tests-data-directory):
Change from flymake/warnpred to more standard data/flymake.

* .gitignore: Update for relocated flymake test data.

9 years agoFix query-replace-regexp when using lisp expressions for replacement
Juri Linkov [Mon, 15 Dec 2014 23:54:35 +0000 (01:54 +0200)]
Fix query-replace-regexp when using lisp expressions for replacement

* lisp/replace.el (query-replace-read-from): Use
query-replace-compile-replacement only on the return value.

Fixes: debbugs:19383
9 years agoLazy-highlight the whole string at point
Juri Linkov [Mon, 15 Dec 2014 23:45:12 +0000 (01:45 +0200)]
Lazy-highlight the whole string at point

* lisp/isearch.el (isearch-lazy-highlight-search): Extend the bound of
the wrapped search by the length of the search string to be able
to lazy-highlight the whole search string at point.

Fixes: debbugs:19353
9 years agoetc/NEWS: Mention `let-alist.
Artur Malabarba [Mon, 15 Dec 2014 22:54:44 +0000 (20:54 -0200)]
etc/NEWS: Mention `let-alist.

9 years ago* src/: Various fixes to use bool type and constants.
Stefan Monnier [Mon, 15 Dec 2014 20:41:11 +0000 (15:41 -0500)]
* src/: Various fixes to use bool type and constants.

* src/dispnew.c (update_single_window): Remove arg `force_p' since it's
always true.
* src/xfaces.c (clear_face_cache): Use bool for the argument type.

9 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Alan Mackenzie [Mon, 15 Dec 2014 12:07:18 +0000 (12:07 +0000)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

9 years ago"Advice" is a mass noun. Amend text accordingly.
Alan Mackenzie [Mon, 15 Dec 2014 12:04:52 +0000 (12:04 +0000)]
"Advice" is a mass noun.  Amend text accordingly.

cl.texi (Obsolete Macros): Replace "an advice" with "advice".

9 years ago"Advice" is a mass noun. Amend text accordingly.
Alan Mackenzie [Mon, 15 Dec 2014 11:54:42 +0000 (11:54 +0000)]
"Advice" is a mass noun.  Amend text accordingly.

functions.texi: (Advising Functions, Core Advising Primitives)
(Advising Named Functions, Advice combinators)
(Porting old advice): Replace, e.g., "an advice" with "advice".

9 years agoCorrect same_at_end when restoring window points
Paul Eggert [Mon, 15 Dec 2014 08:00:50 +0000 (00:00 -0800)]
Correct same_at_end when restoring window points

* fileio.c (Finsert_file_contents): Compute same_at_end character
position using the old buffer size, not the new one, since
restore_window_points wants the old size.
Fixes: debbugs:19161
9 years ago* net/shr.el (shr-fold-text): Don't bug out on zero-length text.
Lars Magne Ingebrigtsen [Mon, 15 Dec 2014 05:05:05 +0000 (06:05 +0100)]
* net/shr.el (shr-fold-text): Don't bug out on zero-length text.

9 years agoNew feature optionally to accelerate auto-repeated scrolling.
Alan Mackenzie [Sun, 14 Dec 2014 18:26:44 +0000 (18:26 +0000)]
New feature optionally to accelerate auto-repeated scrolling.

src/xdisp.c: Remove "static" from declaration of
Qfontification_functions.

src/window.c (window_scroll): bind fontification-functions to nil when
scrolling by whole screens and fast-but-imprecise-scrolling is non-nil.
(syms_of_window): New DEFVAR_BOOL fast-but-imprecise-scrolling.

src/lisp.h (bool): Declare Qfontification_functions extern.

lisp/cus-start.el (all): Add fast-but-imprecise-scrolling.

doc/emacs/display.texi (Scrolling): fast-but-imprecise-scrolling.
Describe new variable.

etc/NEWS: Add entry for fast-but-imprecise-scrolling.

9 years agoAdjust lisp/ChangeLog for custom-prompt-customize-unsaved-options.
Ted Zlatanov [Sun, 14 Dec 2014 17:05:26 +0000 (12:05 -0500)]
Adjust lisp/ChangeLog for custom-prompt-customize-unsaved-options.

Reworded ChangeLog entry based on Stefan Monnier's suggestions.

9 years agoLoad system's default trusted Certificate Authorities if available.
Eli Zaretskii [Sun, 14 Dec 2014 16:47:51 +0000 (18:47 +0200)]
Load system's default trusted Certificate Authorities if available.

 src/gnutls.c (gnutls_certificate_set_x509_system_trust)
 [GNUTLS >= 3.0.20]: Declare for WINDOWSNT.
 (init_gnutls_functions)(gnutls_certificate_set_x509_system_trust)
 [GNUTLS >= 3.0.20]: Load from shared library for WINDOWSNT.
 (fn_gnutls_certificate_set_x509_system_trust) [!WINDOWSNT]: Define
 new macro.
 (Fgnutls_boot) [GNUTLS >= 3.0.20]: Call
 gnutls_certificate_set_x509_system_trust.  Log an error message if
 it fails.

9 years agolet-alist.el: Version bump.
Artur Malabarba [Sun, 14 Dec 2014 13:17:00 +0000 (13:17 +0000)]
let-alist.el: Version bump.

9 years agolet-alist.el: Add lexical binding.
Artur Malabarba [Sun, 14 Dec 2014 13:15:50 +0000 (13:15 +0000)]
let-alist.el: Add lexical binding.

9 years agoAdd an extra column for Version in list-packages table
Steve Purcell [Sun, 14 Dec 2014 13:56:22 +0000 (15:56 +0200)]
Add an extra column for Version in list-packages table

* emacs-lisp/package.el (package-menu-mode): Use an extra column for
the "Version" column, to accomodate date-and-time-based versions.

9 years agoProvide custom-prompt-customize-unsaved-options.
Cameron Desautels [Sun, 14 Dec 2014 11:49:06 +0000 (06:49 -0500)]
Provide custom-prompt-customize-unsaved-options.

* doc/emacs/custom.texi (Saving Customizations): Mention
`custom-prompt-customize-unsaved-options'.

* etc/NEWS: Mention `custom-prompt-customize-unsaved-options'.

* etc/TODO: Remove its entry.

* lisp/cus-edit.el (custom-prompt-customize-unsaved-options): Add a
mechanism for prompting user about unsaved customizations.
(Bug#19328)

9 years agoFix Semantic completion-at-point functions in non-Semantic buffers
Dmitry Gutov [Sun, 14 Dec 2014 10:59:05 +0000 (12:59 +0200)]
Fix Semantic completion-at-point functions in non-Semantic buffers

Fixes: debbugs:19077
* lisp/cedet/semantic.el (semantic-analyze-completion-at-point-function)
(semantic-analyze-notc-completion-at-point-function)
(semantic-analyze-nolongprefix-completion-at-point-function): Do
nothing if the current buffer is not using Semantic.

9 years ago* lisp/fringe.el (fringe-bitmap-p): Fix 2014-12-05 breakage.
Dmitry Gutov [Sun, 14 Dec 2014 10:51:52 +0000 (12:51 +0200)]
* lisp/fringe.el (fringe-bitmap-p): Fix 2014-12-05 breakage.

9 years agoMove VC diff ASYNC argument to the fifth position
Dmitry Gutov [Sun, 14 Dec 2014 10:49:08 +0000 (12:49 +0200)]
Move VC diff ASYNC argument to the fifth position

* lisp/vc/vc-svn.el (vc-svn-diff):
* lisp/vc/vc-src.el (vc-src-diff):
* lisp/vc/vc-sccs.el (vc-sccs-diff):
* lisp/vc/vc-rcs.el (vc-rcs-diff):
* lisp/vc/vc-mtn.el (vc-mtn-diff):
* lisp/vc/vc-hg.el (vc-hg-diff):
* lisp/vc/vc-git.el (vc-git-diff):
* lisp/vc/vc-dav.el (vc-dav-diff):
* lisp/vc/vc-cvs.el (vc-cvs-diff):
* lisp/vc/vc-bzr.el (vc-bzr-diff):
* lisp/obsolete/vc-arch.el (vc-arch-diff): Move ASYNC argument to the end.

* lisp/vc/vc.el (vc-diff-internal): Pass `async' argument to the
backend `diff' command in the last position.

9 years ago* notes/unicode: Correct coding system
Paul Eggert [Sun, 14 Dec 2014 08:59:32 +0000 (00:59 -0800)]
* notes/unicode: Correct coding system

of lisp/international/titdic-cnv.el.

9 years ago* SKK-DIC/SKK-JISYO.L: Update to version 1.1216.
Paul Eggert [Sun, 14 Dec 2014 08:56:40 +0000 (00:56 -0800)]
* SKK-DIC/SKK-JISYO.L: Update to version 1.1216.

9 years agoSpelling fixes
Paul Eggert [Sun, 14 Dec 2014 07:40:04 +0000 (23:40 -0800)]
Spelling fixes

All uses changed.
* lib-src/etags.c (analyze_regex): Rename from analyse_regex.
* lisp/cedet/semantic/lex-spp.el:
(semantic-lex-spp-analyzer-do-replace):
Rename from semantic-lex-spp-anlyzer-do-replace.
* lisp/emacs-lisp/cconv.el (cconv--analyze-use):
Rename from cconv--analyse-use.
(cconv--analyze-function): Rename from cconv--analyse-function.
(cconv-analyze-form): Rename from cconv-analyse-form.
* src/regex.c (analyze_first): Rename from analyze_first.

9 years ago* notes/unicode: Track leim/quail file renames.
Paul Eggert [Sun, 14 Dec 2014 06:41:02 +0000 (22:41 -0800)]
* notes/unicode: Track leim/quail file renames.

9 years agoRemove lib-src/grep-changelog
Glenn Morris [Sun, 14 Dec 2014 02:38:21 +0000 (18:38 -0800)]
Remove lib-src/grep-changelog

Ref: http://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00145.html

* lib-src/grep-changelog: Remove file.

* lib-src/Makefile.in (INSTALLABLE_SCRIPTS): Remove.
(all, install, uninstall): Remove INSTALLABLE_SCRIPTS.

* doc/man/grep-changelog.1: Remove file.

* make-dist: No more lib-src/grep-changelog.

* INSTALL: No longer mention grep-changelog.

* admin/quick-install-emacs (PUBLIC_LIBSRC_SCRIPTS): Remove, and all uses.

* admin/authors.el (authors-valid-file-names): Add grep-changelog.

* etc/NEWS: Mention this.

9 years ago* INSTALL.REPO: Revert 2014-12-06 change.
Glenn Morris [Sun, 14 Dec 2014 01:57:46 +0000 (17:57 -0800)]
* INSTALL.REPO: Revert 2014-12-06 change.

You _can_ just run make after a clean checkout, thanks to the GNUmakefile.

9 years agoPlace ChangeLog entries in the correct files
Glenn Morris [Sun, 14 Dec 2014 01:50:06 +0000 (17:50 -0800)]
Place ChangeLog entries in the correct files

9 years agoConvert Czech and Slovakian refcards to UTF-8
Paul Eggert [Sat, 13 Dec 2014 23:56:10 +0000 (15:56 -0800)]
Convert Czech and Slovakian refcards to UTF-8

* admin/notes/unicode: Don't mention Czech and Slovakian refcards.
* etc/refcards/cs-dired-ref.tex, etc/refcards/cs-refcard.tex:
* etc/refcards/cs-survival.tex, etc/refcards/sk-dired-ref.tex:
* etc/refcards/sk-refcard.tex, etc/refcards/sk-survival.tex:
Convert from iso-latin-2 to utf-8.  Remove no-longer-necessary
coding comments and "\input utf8off" directives.

9 years ago* net/shr.el (shr-next-link): Don't error out at eob.
Andreas Schwab [Sat, 13 Dec 2014 18:03:31 +0000 (19:03 +0100)]
* net/shr.el (shr-next-link): Don't error out at eob.

9 years agoisearch-open-necessary-overlays: Open overlay ending at point
Nicolas Richard [Sat, 13 Dec 2014 15:54:14 +0000 (16:54 +0100)]
isearch-open-necessary-overlays: Open overlay ending at point

* lisp/isearch.el (isearch-open-necessary-overlays): Open overlay
ending at point (bug#19333).

9 years ago(shr-fold-text): Inhibit state from being altered.
Lars Magne Ingebrigtsen [Sat, 13 Dec 2014 15:32:17 +0000 (16:32 +0100)]
(shr-fold-text): Inhibit state from being altered.

9 years agoMake shr fold long title texts
Lars Magne Ingebrigtsen [Sat, 13 Dec 2014 15:23:40 +0000 (16:23 +0100)]
Make shr fold long title texts

* net/shr.el (shr-fold-text): New function.
(shr-show-alt-text, shr-urlify, shr-tag-img): Use it to fold long
alt/title texts.