1. 11 Apr, 2017 4 commits
    • Martin Rudalics's avatar
      Frame movement, focus and hook related changes · ea6c880a
      Martin Rudalics authored
      New hook `move-frame-functions'.  Run `focus-in-hook'
      after switching to frame that gets focus.  Don't run
      XMoveWindow for GTK.
      * lisp/frame.el (handle-move-frame, frame-size-changed-p): New
      * src/frame.c (do_switch_frame): Simplify code.
      (Fhandle_switch_frame): Switch frame before running
      (Vfocus_in_hook, Vfocus_out_hook): Clarify doc-strings.
      (Vmove_frame_functions): New hook variable.
      * src/keyboard.c (kbd_buffer_get_event): Handle
      (head_table): Add Qmove_frame entry.
      (syms_of_keyboard): Add Qmove_frame.
      (keys_of_keyboard): Define key for `move-frame'.
      * src/termhooks.h (event_kind): Add MOVE_FRAME_EVENT.
      * src/w32term.c (w32_read_socket): Create MOVE_FRAME_EVENT.
      * src/window.c (run_window_size_change_functions): Record size of
      FRAME's minibuffer window too.
      * src/xterm.c (handle_one_xevent): Create MOVE_FRAME_EVENT.
      (x_set_offset): For GTK call gtk_widget_move instead of
    • Werner LEMBERG's avatar
      Avoid abort in ftfont.c due to faulty fonts · 0eef8e9a
      Werner LEMBERG authored
      * src/ftfont.c (ftfont_get_metrics): Try loading the font without
      hinting, before aborting.  (Bug#25945)
    • Jens Lechtenboerger's avatar
      Introduce customizable variable 'package-gnupghome-dir' · 695eacc2
      Jens Lechtenboerger authored
      * lisp/emacs-lisp/package.el (package-import-keyring)
      (package--check-signature-content, package-check-signature):
      Use new variable package-gnupghome-dir to control which GnuPG
      homedir to use.
      * doc/emacs/package.texi: Mention package-gnupghome-dir.
      * etc/NEWS: Mention package-gnupghome-dir.
    • Martin Rudalics's avatar
      Set x_gtk_use_window_move by default for fixing bug#25851 and bug#25943 · 291b76f9
      Martin Rudalics authored
      This activates a change that was installed a few weeks ago but whose
      ChangeLog was inadvertently dropped during its commit.  The proper
      ChangeLog is included below as part of the present commit.
      * src/gtkutil.c (xg_set_geometry): When x_gtk_use_window_move
      is set avoid calling x_gtk_parse_geometry (Bug#25851).
      (x_wm_set_size_hint): When x_gtk_use_window_move is set, set
      PPosition, USPosition and USSize flags if requested.
      * src/xterm.c (x_set_offset): With GTK when
      x_gtk_use_window_move is set, leave it entirely to
      gtk_window_move to position the window and skip any
      post-adjustments (Bug#25851 and Bug#25943).
      (x_gtk_use_window_move): New variable.
  2. 10 Apr, 2017 6 commits
    • Alan Mackenzie's avatar
      Fix a loop in C Mode caused by inadequate analysis of comments. · 230e25fd
      Alan Mackenzie authored
      After M-;, and the insertion of the opening "/*", the CC Mode after-change
      function got confused, since the new comment opener matched the end of a
      subsequent comment, but moving back over that comment did not come back to the
      starting point.  Fix this.
      * lisp/progmodes/cc-engine.el (c-end-of-macro): Add a limit parameter, wherer
      point is left if no end-of-macro is found before it.
      (c-forward-sws): Change the `safe-start' mechanism.  Now `safe-start' is
      non-nil except where we have an unclosed block comment at the end of a macro.
      This enables us to populate the cache more fully, at the cost of some run
    • Lars Brinkhoff's avatar
      Add PVSIZE function to return the size of a pseudovector. · 3ccd0ff1
      Lars Brinkhoff authored
      * src/lisp.h (PVSIZE): New function.
      * src/chartab.c (copy_char_table):
      * src/data.c (Ftype_of, Finteractive_form, Faref, Faset):
      * src/doc.c (Fdocumentation, store_function_docstring):
      * src/eval.c (Fcommandp, funcall_lambda, lambda_arity, Ffetch_bytecode):
      * src/fns.c (Flength, Fcopy_sequence):
      * src/font.h (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P):
      * src/lread.c (substitute_object_recurse):
      * src/src/print.c (print_object):
        Use it.
    • Michael Albinus's avatar
      Add Tramp tests · dd42ca42
      Michael Albinus authored
      * lisp/net/tramp.el (tramp-syntax): Adapt docstring.
      * test/lisp/net/tramp-tests.el
      (tramp-test02-file-name-dissect-separate): New tests.
    • Martin Rudalics's avatar
      Make sure that `shell' makes BUFFER current · 375bfbde
      Martin Rudalics authored
      * lisp/shell.el (shell): Restrict scope of recently added
      `with-current-buffer' to make sure that BUFFER is current when
      `shell' returns.
    • Dmitry Gutov's avatar
    • Jim Blandy's avatar
      Default to PCRE syntax when reading .hgignore · f3662966
      Jim Blandy authored
      * lisp/vc/vc-hg.el (vc-hg--slurp-hgignore-1):
      Default to the PCRE syntax (bug#26249).
  3. 09 Apr, 2017 7 commits
    • Michael Albinus's avatar
      Document Tramp changes · 9e1f45d9
      Michael Albinus authored
      * doc/misc/tramp.texi (Change file name syntax): New node.
      * etc/NEWS: Mention `tramp-change-syntax'.
      * lisp/net/tramp.el (tramp-file-name-regexp): Reinsert it.
      External packages uses it.
      (tramp-syntax): Set also `tramp-file-name-regexp'.
    • Paul Eggert's avatar
      Merge from gnulib (Bug#26398) · 43bc45ba
      Paul Eggert authored
      This incorporates:
      2017-04-08 getopt: prefer - to _ in new file names
      2017-04-08 getopt: port recent getopt changes to macOS
      * .gitignore: Add lib/getopt-cdefs.h.
      * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
      * lib/getopt-core.h: Rename from lib/getopt_core.h.
      * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
      * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
      * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
      * lib/getopt.in.h, lib/unistd.in.h, m4/getopt.m4:
      Copy from Gnulib.
      * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
    • Ken Raeburn's avatar
      Write updated loaddefs to a temporary file and rename into place. · 440bafef
      Ken Raeburn authored
      In a parallel build, byte compilation can be running at the same times
      as loaddefs.el is being regenerated.  However, in a CANNOT_DUMP build,
      loaddefs.el is read at startup and must always be in a usable state.
      * lisp/Makefile.in ($(lisp)/loaddefs.el): Write generated output to
      loaddefs.el.new and then rename it to loaddefs.el.
    • Glenn Morris's avatar
      In the manual, mention pops and imaps · e3c15342
      Glenn Morris authored
      * doc/emacs/rmail.texi (Movemail, Remote Mailboxes):
      Mention pops and imaps protocols.
    • Glenn Morris's avatar
    • Sergey Poznyakoff's avatar
      Fix rmail handling of movemail protocols (bug#18278) · 48536f67
      Sergey Poznyakoff authored
      * lisp/mail/rmail.el (rmail-remote-proto-p): New function.
      (rmail-parse-url): Return protocol in second list element.
      Only use passwords with remote mailboxes.
      (rmail-insert-inbox-text): Handle non-simple local
      mailboxes (maildir, MH, etc.).
    • Glenn Morris's avatar
      Fix typos in manual re movemail local mailboxes · 79b1669c
      Glenn Morris authored
      * doc/emacs/rmail.texi (Movemail, Other Mailbox Formats):
      Fix examples of local mailbox urls.
  4. 08 Apr, 2017 12 commits
    • Glenn Morris's avatar
    • Glenn Morris's avatar
      Remove references to OS/2 in code, doc, and comments · bca1fde8
      Glenn Morris authored
      * lisp/gnus/nnheader.el (nnheader-read-timeout)
      (nnheader-file-name-translation-alist): Remove OS/2 case, and simplify.
      * lisp/emulation/viper-util.el (viper-color-defined-p):
      * lisp/net/pop3.el (pop3-read-timeout):
      * lisp/net/imap.el (imap-read-timeout):
      * lisp/url/url-privacy.el (url-setup-privacy-info): Remove OS/2 case.
      * lisp/emulation/viper-ex.el (viper-glob-function):
      * lisp/vc/ediff-util.el (ediff-submit-report): Doc fix.
      * lisp/cus-edit.el (custom-display): Remove "pm" (OS/2).
      * doc/emacs/msdos-xtra.texi (MS-DOS):
      * doc/misc/gnus.texi (Various Various):
      * doc/misc/viper.texi (Rudimentary Changes): Remove mentions of OS/2.
      ; * lisp/url/url.el, lisp/url/url-vars.el:
      ; * lisp/progmodes/cperl-mode.el: Remove old comments.
    • Michael Albinus's avatar
      Tune Tramp syntax · b7d61609
      Michael Albinus authored
      * lisp/net/tramp-cmds.el (tramp-change-syntax):
      Use `tramp-syntax-values'.
      * lisp/net/tramp-compat.el (tramp-compat-tramp-syntax): New defsubst.
      * lisp/net/tramp.el (tramp-syntax): Rename possible values.
      (tramp-syntax-values): New defun.
      (tramp-prefix-format, tramp-method-regexp)
      (tramp-postfix-method-format, tramp-prefix-ipv6-format)
      (tramp-postfix-ipv6-format, tramp-postfix-host-format)
      (tramp-completion-file-name-regexp): Use `tramp-compat-tramp-syntax'
      and changed values.
      (tramp-completion-file-name-regexp-default): Rename from
      `tramp-completion-file-name-regexp-unified'.  Adapt docstring.
      (tramp-completion-file-name-regexp-simplified): Rename from
      `tramp-completion-file-name-regexp-old-style'.  Adapt docstring.
      Use `tramp-completion-file-name-regexp-default'.
      (tramp-run-real-handler): Do not autoload any longer.
    • Mark Oteiza's avatar
      Replace more nested ifs with cond · c5f319eb
      Mark Oteiza authored
      This is a continuation of d5260473 "Replace more nested ifs with cond".
      * lisp/play/dunnet.el (dun-firstword, dun-firstwordl, dun-cat): Use
      when and cond where appropriate.
    • Mark Oteiza's avatar
      Adjust the edebug spec of if-let* · fd4b83ca
      Mark Oteiza authored
      This was fixed in Bug#24748, but now looking more closely, using gate in
      the spec seems correct.  See (info "(elisp) Backtracking").
      * lisp/emacs-lisp/subr-x.el (if-let*): Use gate in edebug spec.
    • Mark Oteiza's avatar
      Replace some uses of cl-member-if with apply · 1c69215c
      Mark Oteiza authored
      From the mhtml-mode series.  Some of the uses of cl-lib are not
      * lisp/align.el: Don't require cl-lib.
      (align-region): Use apply instead of cl-member-if.
      * lisp/emulation/viper.el: Don't require cl-lib.
      (viper-mode, this-major-mode-requires-vi-state): Use apply instead of
    • Philipp Stephani's avatar
      Validate SPEC of `dolist', cf. Bug#25477. · 98bfac68
      Philipp Stephani authored
      * lisp/subr.el (dolist): Test type and length of SPEC.
      * test/lisp/subr-tests.el (subr-tests--dolist--wrong-number-of-args):
      Add unit test.
    • Philipp Stephani's avatar
      Add unit test for Bug#26378 · 5ea696fd
      Philipp Stephani authored
      * test/lisp/vc/ediff-diff-tests.el
      (ediff-diff-tests--ediff-exec-process--nil): New unit test.
    • Lars Brinkhoff's avatar
      Fix circular read syntax for records. · 4fbfd7ad
      Lars Brinkhoff authored
      * lread.c (substitute_object_recurse): Work with records.
      * lread-tests.el (lread-record-1): New test.
    • Paul Eggert's avatar
      Deprecate copy-record in favor of copy-sequence · a2b3fea9
      Paul Eggert authored
      Since copy-sequence seems to be needed anyway for records, have it
      work on records, and remove copy-record as being superfluous.
      * doc/lispref/records.texi (Records, Record Functions):
      * lisp/emacs-lisp/cl-macs.el (cl-defstruct):
      * lisp/emacs-lisp/eieio.el (make-instance, clone):
      * test/src/alloc-tests.el (record-3):
      Use copy-sequence, not copy-record, to copy records.
      * doc/lispref/sequences.texi (Sequence Functions)
      (Array Functions): Document that aref and copy-sequence
      work on records.
      * etc/NEWS: Omit copy-record.
      * src/alloc.c (Fcopy_record): Remove.
      * src/data.c (Faref): Document that arg can be a record.
      * src/fns.c (Fcopy_sequence): Copy records, too.
    • Paul Eggert's avatar
      Fix dependency checking in src/Makefile.in · a614cd41
      Paul Eggert authored
      * src/Makefile.in (AUTO_DEPEND, DEPDIR, DEPFLAGS): Move includes of
      dependency files until after ALLOBJS is defined, since it uses ALLOBJS.
      Otherwise, some dependencies will be missed.
    • Paul Eggert's avatar
      Minor tuneup of write-region change · 6fbbfc77
      Paul Eggert authored
      * src/fileio.c (write_region): Use SCHARS, not Flength,
      on a value known to be a string.
  5. 07 Apr, 2017 11 commits
    • Noam Postavsky's avatar
      Adjust write-region so file name is at the beginning again · c3236593
      Noam Postavsky authored
      * lisp/epa-file.el (epa-file-write-region):
      * lisp/gnus/mm-util.el (mm-append-to-file):
      * lisp/jka-compr.el (jka-compr-write-region):
      * lisp/net/ange-ftp.el (ange-ftp-write-region):
      * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
      * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
      * src/fileio.c (write_region): Put file name at the beginning and move
      number of characters to the end of the message.
    • Kaushal Modi's avatar
      Check that file argument is a string · 75824977
      Kaushal Modi authored
      * lisp/vc/ediff-diff.el (ediff-exec-process): Check that the argument
        passed to `file-local-copy' is a string (Bug#26378).  Also fix
        the existing comment for this function, and convert it to its
    • Noam Postavsky's avatar
      Fix handling of non-integer START param to write-region · 9e27e0d1
      Noam Postavsky authored
      The previous patch for Bug#354 incorrectly assumed that START would
      always be an integer.
      * lisp/epa-file.el (epa-file-write-region):
      * lisp/jka-compr.el (jka-compr-write-region):
      * lisp/net/ange-ftp.el (ange-ftp-write-region):
      * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
      * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
      * src/fileio.c (write_region): Handle nil and string values of START.
    • Glenn Morris's avatar
    • Michael Albinus's avatar
      Add Tramp versions to `customize-package-emacs-version-alist' · 5c6b0136
      Michael Albinus authored
      * lisp/net/trampver.el (customize-package-emacs-version-alist):
      Add Tramp versions to `customize-package-emacs-version-alist'.
    • Tom Tromey's avatar
    • Lars Brinkhoff's avatar
    • Paul Eggert's avatar
      More casefiddle minor fixes · 2012839a
      Paul Eggert authored
      * src/casefiddle.c (case_character_impl): Omit unnecessary casts.
      (case_character_impl): Avoid reevaluation of CHAR_TABLE_REF.
      (GREEK_CAPITAL_LETTER_SIGMA): Fix typo in my previous change.
    • Paul Eggert's avatar
      ; Spelling and punctuation fixes · cea942e5
      Paul Eggert authored
    • Jeff Clough's avatar
      Output number of characters added to file (Bug#354) · cd0a7951
      Jeff Clough authored
      * fileio.c (write_region):
      * epa-file.el (epa-file-write-region):
      * jka-compr.el (jka-compr-write-region):
      * ange-ftp.el (ange-ftp-write-region):
      * tramp-gvfs.el (tramp-gvfs-handle-write-region):
      * tramp-sh.el (tramp-sh-handle-write-region):
      * mm-util.el (mm-append-to-file): Functions now output
      characters written in addition to file name.
      * files.texi: Added documentation to write-region and
      append-to-file describing their output.
    • Noam Postavsky's avatar
      Fix ‘!NILP (Vpurify_flag)’ assertion failure during temacs bootstrap · 4b3db0da
      Noam Postavsky authored
      The recent changes to src/casefiddle.c cause build failure as seen
          Starting program: /home/npostavs/src/emacs/emacs-bootstrapping/src/temacs
      	--batch --load loadup bootstrap
          [Thread debugging using libthread_db enabled]
          Using host libthread_db library "/usr/lib/libthread_db.so.1".
          Loading loadup.el (source)...
          Using load-path (/home/npostavs/src/emacs/emacs-bootstrapping/lisp
          Loading emacs-lisp/byte-run (source)...
          Loading emacs-lisp/backquote (source)...
          Loading subr (source)...
          Loading version (source)...
          Loading widget (source)...
          Loading custom (source)...
          Loading emacs-lisp/map-ynp (source)...
          Loading international/mule (source)...
          Loading international/mule-conf (source)...
          lread.c:3914: Emacs fatal error: assertion failed: !NILP (Vpurify_flag)
          Breakpoint 1, terminate_due_to_signal at emacs.c:363
          363	  signal (sig, SIG_DFL);
          (gdb) bt
          #0  0x0000000000579826 in terminate_due_to_signal at emacs.c:363
          #1  0x000000000060ec33 in die at alloc.c:7352
          #2  0x000000000066db40 in intern_c_string_1 at lread.c:3914
          #3  0x0000000000576884 in intern_c_string at lisp.h:3790
          #4  0x00000000005dc84f in prepare_casing_context at casefiddle.c:69
          #5  0x00000000005dd37f in casify_object at casefiddle.c:311
          #6  0x00000000005dd47f in Fcapitalize at casefiddle.c:356
          #7  0x00000000006325ac in eval_sub at eval.c:2219
          #8  0x0000000000632368 in eval_sub at eval.c:2184
          #9  0x000000000063446c in apply_lambda at eval.c:2875
          #10 0x00000000006329af in eval_sub at eval.c:2294
          #11 0x000000000062d462 in Fprogn at eval.c:449
          #12 0x000000000062d4cf in prog_ignore at eval.c:461
          #13 0x000000000062f19c in Fwhile at eval.c:982
          #14 0x00000000006321f4 in eval_sub at eval.c:2172
          #15 0x000000000062d462 in Fprogn at eval.c:449
          #16 0x000000000062f0c4 in Flet at eval.c:963
          #17 0x00000000006321f4 in eval_sub at eval.c:2172
          #18 0x0000000000632963 in eval_sub at eval.c:2290
          #19 0x000000000062d462 in Fprogn at eval.c:449
          #20 0x000000000062f0c4 in Flet at eval.c:963
          #21 0x00000000006321f4 in eval_sub at eval.c:2172
          #22 0x0000000000668caa in readevalloop at lread.c:1927
          #23 0x0000000000667253 in Fload at lread.c:1332
          #24 0x0000000000632683 in eval_sub at eval.c:2233
          #25 0x0000000000668caa in readevalloop at lread.c:1927
          #26 0x0000000000667253 in Fload at lread.c:1332
          #27 0x0000000000632683 in eval_sub at eval.c:2233
          #28 0x0000000000631be5 in Feval at eval.c:2041
          #29 0x000000000057e1af in top_level_2 at keyboard.c:1121
          #30 0x000000000062ffc7 in internal_condition_case at eval.c:1324
          #31 0x000000000057e1f0 in top_level_1 at keyboard.c:1129
          #32 0x000000000062f51e in internal_catch at eval.c:1091
          #33 0x000000000057e0ea in command_loop at keyboard.c:1090
          #34 0x000000000057d6d5 in recursive_edit_1 at keyboard.c:697
          #35 0x000000000057d8b4 in Frecursive_edit at keyboard.c:768
          #36 0x000000000057b55b in main at emacs.c:1687
          Lisp Backtrace:
          "capitalize" (0xffffcf70)
          "format" (0xffffd130)
          "define-charset" (0xffffd370)
          "while" (0xffffd560)
          "let" (0xffffd7c0)
          "dolist" (0xffffd910)
          "let" (0xffffdb70)
          "load" (0xffffdfe0)
          "load" (0xffffe4a0)
      * src/casefiddle.c (syms_of_casefiddle): Declare four new symbols:
      Qtitlecase, Qspecial_uppercase, Qspecial_lowercase and
      (prepare_casing_context): Use aforementioned symbols.