Eli Zaretskii [Thu, 12 Mar 2015 17:34:45 +0000 (19:34 +0200)]
Fix support of scripts in w32font.c (Bug#19993)
src/w32font.c (font_supported_scripts): Add subranges for Latin
Supplement, Latin Extended-A/B, Vai, Supplemental Punctuation, Tai
Le, Buginese, Yijing Hexagrams, Ancient Greek Numbers, Tai Xuan
Jing, Counting Rods, Sundanese, Lepcha, Ol Chiki, Saurashtra,
Kayah Li, Rejang, Ancient Symbols, Phistos Disc, Carian, Lycian,
Lydian, Dominoe Tiles, and Mahjong Tiles. Break the Mathematical
Alphanumeric Symbols into several "scripts" like fontset.el does.
(syms_of_w32font): DEFSYM all the new script symbols.
lisp/international/fontset.el (script-representative-chars): Add a
representative character for 'vai'.
Stefan Monnier [Wed, 11 Mar 2015 15:00:25 +0000 (11:00 -0400)]
* lisp/gnus/registry.el (registry-db): Don't oset-default an instance slot.
* lisp/gnus/gnus-registry.el (gnus-registry-handle-action)
(gnus-registry-post-process-groups): Don't add-to-list on a local var.
(gnus-registry-keywords): Make it do something.
(gnus-registry-import-eld): Remove unused var `new-entry'.
(gnus-registry-action): Remove unused var `to-name'.
(gnus-registry-make-db): Prefer `make-instance' to avoid
compiler warnings.
(gnus-registry-load, gnus-registry-fixup-registry): Avoid `oset'.
Paul Eggert [Tue, 10 Mar 2015 23:29:01 +0000 (16:29 -0700)]
Prefer "initialize" to "initialise"
* lisp/progmodes/js.el (js-indent-first-init):
Rename from js-indent-first-initialiser, to avoid worrying about
American vs British spelling. All uses changed.
* test/indent/js-indent-init-t.js: Rename from
indent/js-indent-first-initialiser-t.js.
* test/indent/js-indent-init-dynamic.js: Rename from
test/indent/js-indent-first-initialiser-dynamic.js.
* lisp/progmodes/js.el (js--proper-indentation): Add new custom option
`js-indent-first-initialiser' and a function to utilize it,
`js--maybe-goto-declaration-keyword-end'.
* test/indent/js.js: Add local variables.
* test/indent/js-indent-first-initialiser-t.js: New test for
`js-indent-first-initialiser'.
* test/indent/js-indent-first-initialiser-dynamic.js: New test for
`js-indent-first-initialiser'.
Nicolas Petton [Mon, 9 Mar 2015 11:46:29 +0000 (12:46 +0100)]
Add seq-into as a public function
* lisp/emacs-lisp/seq.el: Make seq-into a public function (replacing
seq--into)
* test/automated/seq-tests.el: Add tests for seq-into
* doc/lispref/sequences.texi: Add documentation for seq-into
Dmitry Gutov [Sun, 8 Mar 2015 20:09:32 +0000 (22:09 +0200)]
ruby-mode: Change faces used for self, true, false and nil
Fixes: debbugs:17733
* lisp/progmodes/ruby-mode.el (ruby-font-lock-keywords): Use
`font-lock-constant-face' for nil, true and false. Highlight
`self' as a keyword.
Eli Zaretskii [Sat, 7 Mar 2015 10:49:54 +0000 (12:49 +0200)]
Partially revert the fix for bug #11732
src/w32fns.c <ImmReleaseContext_Proc, ImmSetCompositionWindow_Proc>:
Fix typedefs to be consistent with the corresponding w32 API
signatures.
(w32_wnd_proc) <WM_IME_STARTCOMPOSITION>: Don't invoke
DefWindowProc if we successfully handled the message, as doing so
causes problems in displaying selection dialogs.
Stefan Monnier [Sat, 7 Mar 2015 04:50:32 +0000 (23:50 -0500)]
* lisp/gnus/*registry.el: Use slot names rather than initarg names
* lisp/gnus/registry.el (registry-lookup-breaks-before-lexbind)
(registry-search, registry-delete, registry-size, registry-insert)
(registry-reindex, registry-collect-prune-candidates, registry-lookup):
* lisp/gnus/gnus-registry.el (gnus-registry-fixup-registry)
(gnus-registry-remove-extra-data): Use slot names rather than initarg
names in `oref' and `oset'.
Paul Eggert [Fri, 6 Mar 2015 23:41:09 +0000 (15:41 -0800)]
Random minor fixes for movemail
* movemail.c: Include <stdbool.h> and <signal.h>.
(waitpid) [WINDOWSNT]: New macro.
(wait) [WINDOWSNT]: Remove.
(main, popmail, pop_retr, mbx_write, mbx_delimit_begin)
(mbx_delimit_end): Use bool for boolean.
(main): Simplify #if usage a bit.
(main): Don't assume EOF == -1. Prefer 'return' to 'exit'. Don't
possibly unlink lockname twice, as that's a race condition. Set
SIGCHLD to SIG_DFL to work around SysV misfeature. Check for fork
failure. Use waitpid, not wait, to avoid a race condition in the
unlikely case where we start up with a child.
(NOTOK, OK): Remove, in favor of plain boolean.
(popmail, pop_retr): Don't get confused about errno, e.g., ferror
need not set errno.
(popmail): Use fclose (mbf), not close (fileno (mbf)), to also
detect any stream-related errors (e.g., memory exhaustion).
(pop_retr): Report pop errors separately, since caller now does
errno reporting.
(mbx_write, mbx_delimit_begin, mbx_delimit_end): Check < 0, not ==
EOF, as it's a bit faster and (in theory) pickier.
Fixes: debbugs:17720
* net/eudcb-ldap.el (eudc-ldap-cleanup-record-simple): Mark as
obsolete.
(eudc-ldap-cleanup-record-filtering-addresses): Add docstring.
Don't clean up postal addresses if ldap-ignore-attribute-codings
is set. Combine mail addresses into one field. (Bug#17720)
(eudc-ldap-simple-query-internal): Call
eudc-ldap-cleanup-record-filtering-addresses instead of
eudc-ldap-cleanup-record-simple.
(eudc-ldap-get-field-list): Likewise.
Eli Zaretskii [Thu, 5 Mar 2015 16:56:43 +0000 (18:56 +0200)]
Fix region extension when scroll bar is on the right
src/keyboard.c (make_lispy_position): When the click is on the
right-side vertical scroll bar, pass the rightmost X coordinate to
buffer_posn_from_coords, so that the returned text position
reflects the closest point to the click. Fixes region extension
when mouse moves outside the Emacs frame that has scroll bars on
the right.
Stefan Monnier [Thu, 5 Mar 2015 01:04:57 +0000 (20:04 -0500)]
Replace *-function vars with generic functions in cl-generic.
* lisp/emacs-lisp/cl-generic.el (cl--generic-generalizer): New struct.
(cl-generic-tagcode-function, cl-generic-tag-types-function): Remove.
(cl--generic-t-generalizer): New const.
(cl--generic-make-method): Rename from `cl--generic-method-make'.
(cl--generic-make): Change calling convention.
(cl--generic): Add `options' field.
(cl-generic-function-options): New function.
(cl-defgeneric): Rewrite handling of options. Add support for :method
options and allow the use of a default body.
(cl-generic-define): Save options in the corresponding new field.
(cl-defmethod): Fix ordering of qualifiers.
(cl-generic-define-method): Use cl-generic-generalizers.
(cl--generic-get-dispatcher): Change calling convention, and change
calling convention of the returned function as well so as to take the
list of methods separately from the generic function object, so that it
can receive the original generic function object.
(cl--generic-make-next-function): New function, extracted from
cl--generic-make-function.
(cl--generic-make-function): Use it.
(cl-generic-method-combination-function): Remove.
(cl--generic-cyclic-definition): New error.
(cl-generic-call-method): Take a generic function object rather than
its name.
(cl-method-qualifiers): New alias.
(cl--generic-build-combined-method): Use cl-generic-combine-methods,
don't segregate by qualifiers here any more.
(cl--generic-standard-method-combination): Segregate by qualifiers
here instead. Add support for the `:extra' qualifier.
(cl--generic-cache-miss): Move earlier, adjust to new calling convention.
(cl-generic-generalizers, cl-generic-combine-methods):
New generic functions.
(cl-no-next-method, cl-no-applicable-method, cl-no-primary-method):
Use the new "default method in defgeneric" functionality, change
calling convention to receive a generic function object.
(cl--generic-head-used): New var.
(cl--generic-head-generalizer, cl--generic-eql-generalizer)
(cl--generic-struct-generalizer, cl--generic-typeof-generalizer):
New consts.
* lisp/emacs-lisp/eieio-core.el (eieio--generic-generalizer)
(eieio--generic-subclass-generalizer): New consts.
(cl-generic-generalizers): New methods.
* lisp/emacs-lisp/eieio-compat.el (eieio--generic-static-symbol-generalizer)
(eieio--generic-static-object-generalizer): New consts.
(cl-generic-generalizers) <(head eieio--static)>: New method.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
Unfold closures like lambdas.
* net/eww.el (eww-search-prefix, eww-open-file, eww-search-words)
(eww-same-page-p,eww-set-character-encoding): Fix docstring.
(eww): Do not end error messages with a period.
Michael Albinus [Wed, 4 Mar 2015 10:46:06 +0000 (11:46 +0100)]
Sync with Tramp upstream
* automated/tramp-tests.el (top): Declare `tramp-get-remote-stat'
and `tramp-get-remote-perl'.
(tramp-test06-directory-file-name): Fix docstring and last test.
(tramp-test08-file-local-copy): Extend test.
(tramp-test13-make-directory): Test also PARENTS arg.
(tramp-test17-insert-directory): Do not expect any order in
directory listing.
(tramp--test-adb-p): New defun.
(tramp--test-check-files): Fix doxstring. Extend tests.
(tramp--test-special-characters): New defun. Use body from
`tramp-test30-special-characters'. Adapt check for tramp-adb.el.
(tramp-test30-special-characters): Use it.
(tramp--test-utf8): New defun. Use body from
`tramp-test31-utf8'. Add test string.
(tramp-test31-utf8): Use it.
(tramp-test30-special-characters-with-stat)
(tramp-test30-special-characters-with-perl)
(tramp-test30-special-characters-with-ls):
(tramp-test31-utf8-with-stat, tramp-test31-utf8-with-perl)
(tramp-test31-utf8-with-ls): New tests.
Zhongwei Yao [Wed, 4 Mar 2015 10:13:19 +0000 (11:13 +0100)]
Support port numbers in tramp-adb
* net/tramp-adb.el (tramp-adb-connect-if-not-connected):
New user option.
(tramp-adb-ls-toolbox-regexp): Fix regexp in order to support file
names starting with a space.
(tramp-methods): Add `tramp-default-port' for "adb".
(tramp-adb-parse-device-names): Add traces. Return device names
with port, if present.
(tramp-adb-handle-directory-files-and-attributes): Quote all
remote file names.
(tramp-adb-get-device): New defun.
(tramp-adb-execute-adb-command, tramp-adb-maybe-open-connection):
Use it.
(tramp-adb-maybe-open-connection): Set `tramp-current-*'
variables. Remove checks for listed devices.
Michael Albinus [Wed, 4 Mar 2015 10:02:36 +0000 (11:02 +0100)]
Sync with Tramp upstream.
* net/tramp-cache.el (tramp-dump-connection-properties):
Use `with-temp-file'.
* net/tramp-sh.el (tramp-perl-file-attributes)
(tramp-perl-directory-files-and-attributes): Escape apostrophs in
file names.
(tramp-do-file-attributes-with-stat): Quote file name.
(tramp-sh-handle-directory-files-and-attributes): Fall back to
`tramp-handle-directory-files-and-attributes' in case of problems.
(tramp-do-directory-files-and-attributes-with-stat)
(tramp-sh-handle-file-name-all-completions)
(tramp-sh-handle-delete-directory)
(tramp-sh-handle-expand-file-name, tramp-sh-handle-process-file):
Normalize use of "cd".
(tramp-do-directory-files-and-attributes-with-stat): Use the
`quoting-style' arg of `ls' if possible. Make it also working for
file names with apostrophs.
(tramp-sh-handle-file-name-all-completions): Use arguments of `ls'
in proper order.
(tramp-do-copy-or-rename-file-via-buffer)
(tramp-sh-handle-file-local-copy): Use `with-temp-file'.
(tramp-get-remote-locale): Accept also \r in output.
(tramp-get-ls-command-with-quoting-style): New defun.
(tramp-get-inline-coding): Set `default-directory' to a local
directory. Sporadically, `call-process-region' does not handle a
remote default directory properly.
* net/tramp.el (tramp): Add :link property.
(tramp-login-prompt-regexp): Allow also "user", as required by
Fritz!Box telnet.
(tramp-autoload-file-name-handler): Use "/".
(tramp-handle-unhandled-file-name-directory): Return nil when
required by the spec.
Paul Eggert [Tue, 3 Mar 2015 22:41:30 +0000 (14:41 -0800)]
Merge from origin/emacs-24
f160106 Avoid assertion violations in Rmail due to newline cache 1b0ebbd browse-url-firefox: update for firefox 36's removal of -remote 1817892 Avoid erratic behavior of menu-bar tooltips on w32 (Bug#19925) 0260932 Bump python.el version b0adfc7 Spelling fixes 35f047c * src/fileio.c (Fmake_temp_name): Doc tweaks. 6f2971a * lisp/comint.el (comint-line-beginning-position): Revert searching 65d8ac7 Mention in admin/notes/repo how to mark commits not to be merged. 86fe750 # Remove NEWS temporary markup 4fa778b erc.el: Add old version header for package.el compatibilty 9366f05 Tramp: Disable paging with PAGER=cat
Paul Eggert [Tue, 3 Mar 2015 22:37:43 +0000 (14:37 -0800)]
Merge from origin/emacs-24
4b0b27d Fix invocation of commands whose file name includes extension 87fc99f Better support for the case of typing RET on the prompt in comint. a7b1c2f Don't lose frame's background color when setting foreground 20c817d Fix handling of frame color parameters in TTY sessions eca7da1 Complete the remaining documentation updates for 24.5
Paul Eggert [Tue, 3 Mar 2015 22:35:41 +0000 (14:35 -0800)]
Merge from origin/emacs-24
c0ba590 Fix vertical-motion and posn-at-point when word-wrap is a323b93 Better multi-line input support in comint.el 008a04a todo-mode.el: Restore point on setting item done (Bug#19727) 9615c0d doc/misc/erc.texi: fix typo c648717 Update ERC docs and update MAINTANERS to include myself d825f66 Fix filling circle/ellipse in Artist Mode (Bug#19763)
Paul Eggert [Tue, 3 Mar 2015 22:29:22 +0000 (14:29 -0800)]
Merge from origin/emacs-24
ec26c23 authors.el: Add missing ignored and renamed files e589765 A more thorough fix for bug#19307 4e8d586 Fix last commit d6fee01 Tramp: Don't use a tempfile for ControlPath. 27e11c0 Fix display of overlay strings with faces after ellipsis (Bug#19307) e9a7e10 Fix redrawing of mode lines when exposed (Bug#19721) 50f3811 net/tramp.el (tramp-ssh-controlmaster-options): Use "%C"
* doc/lispref/control.texi (Generators): Correct missing word. Clarify which
forms are legal in which parts of `unwind-protect'. Fix orphaned
close parenthesis.
* lisp/emacs-lisp/generator.el: Make globals conform to elisp
style throughout. Use more efficient font-lock patterns.
(cps-inhibit-atomic-optimization): Rename from
`cps-disable-atomic-optimization'.
(cps--gensym): New macro; replaces `cl-gensym' throughout.
(cps-generate-evaluator): Move the `iter-yield' local macro
definition here
(iter-defun, iter-lambda): from here.
* test/automated/generator-tests.el (cps-test-iter-close-finalizer):
Rename `gc-precise-p' to `gc-precise'.
* test/automated/generator-tests.el (cps-testcase): Use
`cps-inhibit-atomic-optimization' instead of
`cps-disable-atomic-optimization'.
textmodes/ispell.el: Look for aspell .dat files also under dict-dir, as aspell does.
Originally reported as http://bugs.debian.org/765349.
Noticed when aspell has different data-dir and dict-dir.
* textmodes/ispell.el (ispell-aspell-find-dictionary): Make sure
.dat files for aspell dicts are also searched for in location
described by `ispell-aspell-dict-dir', matching aspell's dict-dir
variable.
ispell.el: Extend to aspell current hunspell handling of aliases names for standard dicts.
Extend `ispell-hunspell-dictionary-equivs-alist' use to aspell, once
renamed to a more general `ispell-dicts-name2locale-equivs-alist' name.
Originally reported as http://bugs.debian.org/745613
* textmodes/ispell.el (ispell-dicts-name2locale-equivs-alist)
(ispell-hunspell-fill-dictionary-entry)
(ispell-find-hunspell-dictionaries)
(ispell-set-spellchecker-params): New generic name for
`ispell-hunspell-dictionary-equivs-alist'.
(ispell-aspell-add-aliases): Also use
`ispell-dicts-name2locale-equivs-alist' to get aspell aliases for
standard dict names.
Martin Rudalics [Tue, 3 Mar 2015 10:32:19 +0000 (11:32 +0100)]
Fix calculation of total window sizes after font size changes (Bug#19972).
* frame.c (adjust_frame_size): If the pixel sizes remain
unchanged but the number of lines or columns of the frame
changes, run `window--pixel-to-total' (Bug#19972).
(Qwindow_pixel_to_total): DEFSYM it.
* window.el (window--dump-frame): For pixel height return total
number of frame's lines.
* doc/lispref/objects.texi (Finalizer Type): New section
(Type Predicates): Mention finalizers in `type-of' documentation.
* doc/lispref/elisp.texi (Top): Link to finalizer type.
* src/data.c (Ftype_of): Make `type-of' work with finalizers.
(syms_of_data): Register Qfinalizer.
* src/print.c (print_object): Print whether a finalizer has
been called.
* test/automated/finalizer-tests.el (finalizer-object-type): Test that
`type-of' works correctly for finalizers.