1. 06 Aug, 2012 1 commit
    • Chong Yidong's avatar
      Add inhibit-switch-frame parameter for display-buffer, and use it in occur-edit. · 90749b53
      Chong Yidong authored
      * replace.el (occur-after-change-function): Avoid losing focus by
      using the inhibit-switch-frame display action option.
      
      * window.el (window--maybe-raise-frame): New function.
      (window--display-buffer): Split off from here.
      (display-buffer-reuse-window, display-buffer-pop-up-frame)
      (display-buffer-pop-up-window, display-buffer-use-some-window):
      Obey an inhibit-switch-frame action alist entry.
      (display-buffer): Update doc.
      
      Fixes: debbugs:12139
      90749b53
  2. 05 Aug, 2012 1 commit
  3. 03 Aug, 2012 2 commits
    • Eli Zaretskii's avatar
      Support symlinks on latest versions of MS-Windows. · 6dad7178
      Eli Zaretskii authored
       src/w32.c: Include winioctl.h and aclapi.h.
       (is_symlink, chase_symlinks, enable_privilege, restore_privilege)
       (revert_to_self): Forward declarations of static functions.
       <static BOOL g_b_init_get_security_info>:
       <g_b_init_create_symbolic_link>: New static flags.
       (globals_of_w32): Initialize them to zero.
       (GetSecurityInfo_Proc, CreateSymbolicLink_Proc): New typedefs.
       (map_w32_filename): Improve commentary.  Simplify switch.
       (SYMBOLIC_LINK_FLAG_DIRECTORY): Define if not defined in system
       headers (most versions of MinGW w32api don't).
       (get_security_info, create_symbolic_link)
       (get_file_security_desc_by_handle, is_symlink, chase_symlinks):
       New functions.
       (sys_access, sys_chmod): Call 'chase_symlinks' to resolve symlinks
       in the argument file name.
       (sys_access): Call unc_volume_file_attributes only if
       GetFileAttributes fails with network-related error codes.
       (sys_rename): Diagnose renaming of a symlink when the user doesn't
       have the required privileges.
       (get_file_security_desc_by_name): Renamed from
       get_file_security_desc.
       (stat_worker): New function, with most of the guts of 'stat', and
       with addition of handling of symlinks and support for 'lstat'.  If
       possible, get file's attributes and security information by
       handle, not by name.  Produce S_IFLNK bit for symlinks, when
       called from 'lstat'.
       (stat, lstat): New functions, call 'stat_worker'.
       (symlink, readlink, careadlinkat): Rewritten to create and resolve
       symlinks when the underlying filesystem supports them.
      
       lib/src/ntlib.c (lstat): New function, calls 'stat'.
      
       nt/inc/sys/stat.h (S_IFLNK): Define.
       (S_ISLNK): A non-trivial definition.
       (lstat): Prototype instead of a macro that redirects to 'stat'.
      
       lisp/files.el (file-truename): Don't skip symlink-chasing part on
       windows-nt.  Incorporate the resolution of 8+3 short aliases on
       Windows into the loop that recursively chases symlinks.  Compare
       directory and its parent case-insensitively on MS-Windows and
       MS-DOS.
      
       etc/NEWS: Announce the symlink support on MS-Windows.
      6dad7178
    • Chong Yidong's avatar
      Add NEWS entry for last change. · f85f636a
      Chong Yidong authored
      f85f636a
  4. 29 Jul, 2012 2 commits
    • Paul Eggert's avatar
      deactive->inactive, inactivate->deactivate spelling fixes (Bug#10150) · 72b255c7
      Paul Eggert authored
      * NEWS: Document these changes.
      * leim/quail/uni-input.el (ucs-input-deactivate):
      Rename from ucs-input-inactivate.
      * leim/quail/hangul.el (hangul-input-method-deactivate):
      Rename from hangul-input-method-inactivate.
      * emulation/viper-init.el (viper-deactivate-input-method-action):
      Rename from viper-inactivate-input-method-action.
      (viper-deactivate-input-method):
      Rename from viper-inactivate-input-method.
      * lisp/follow.el (follow-inactive-menu): Rename from follow-deactive-menu.
      * lisp/international/mule-cmds.el (deactivate-input-method):
      Rename from inactivate-input-method.
      Also run input-method-deactivate-hook.
      (deactivate-current-input-method-function):
      Rename from inactivate-current-input-method-function.
      (input-method-deactivate-hook): New hook.
      (input-method-inactivate-hook): Mark obsolete.
      * lisp/international/quail.el (quail-activate):
      Also run quail-deactivate-hook.
      (quail-deactivate): Rename from quail-inactivate.
      * lisp/international/robin.el (robin-activate):
      Also run robin-deactivate-hook.
      (robin-deactivate): Rename from robin-inactivate.
      72b255c7
    • Juri Linkov's avatar
      * lisp/simple.el (async-shell-command-buffer): New defcustom. · 17711ed9
      Juri Linkov authored
      (shell-command): Use it.
      
      Fixes: debbugs:4719
      17711ed9
  5. 28 Jul, 2012 2 commits
  6. 26 Jul, 2012 1 commit
    • Stefan Monnier's avatar
      Autoload more carefully from Lisp. Follow aliases for function properties. · 7abaf5cc
      Stefan Monnier authored
      * lisp/subr.el (autoloadp): New function.
      (symbol-file): Use it.
      (function-get): New function.
      * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Use function-get and
      autoload-do-load.
      * lisp/emacs-lisp/lisp-mode.el (lisp-font-lock-syntactic-face-function)
      (lisp-indent-function):
      * lisp/emacs-lisp/gv.el (gv-get):
      * lisp/emacs-lisp/edebug.el (get-edebug-spec, edebug-basic-spec):
      * lisp/emacs-lisp/byte-opt.el (byte-optimize-form):
      * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
      * lisp/emacs-lisp/autoload.el (make-autoload, autoload-print-form):
      Use function-get.
      * lisp/emacs-lisp/cl.el: Don't propagate function properties any more.
      
      * src/eval.c (Fautoload_do_load): Rename from do_autoload, export to Lisp,
      add argument, tune behavior, and adjust all callers.
      
      * lisp/speedbar.el (speedbar-add-localized-speedbar-support):
      * lisp/emacs-lisp/disass.el (disassemble-internal):
      * lisp/desktop.el (desktop-load-file):
      * lisp/help-fns.el (help-function-arglist, find-lisp-object-file-name)
      (describe-function-1):
      * lisp/emacs-lisp/find-func.el (find-function-noselect):
      * lisp/emacs-lisp/elp.el (elp-instrument-function):
      * lisp/emacs-lisp/advice.el (ad-has-proper-definition):
      * lisp/apropos.el (apropos-safe-documentation, apropos-macrop):
      * lisp/emacs-lisp/debug.el (debug-on-entry):
      * lisp/emacs-lisp/cl-macs.el (cl-compiler-macroexpand):
      * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
      * lisp/calc/calc.el (name): Use autoloadp & autoload-do-load.
      7abaf5cc
  7. 22 Jul, 2012 1 commit
  8. 18 Jul, 2012 2 commits
  9. 17 Jul, 2012 3 commits
    • Juri Linkov's avatar
      * lisp/dired-aux.el (dired-do-async-shell-command): Doc fix. · 6dafa0d5
      Juri Linkov authored
      (dired-do-async-shell-command): Don't add `*' at the end of the
      command (Bug#11815).
      (dired-do-shell-command): Doc fix.
      (dired-shell-stuff-it): Strip the trailing "&" and ";" if any.
      Join the individual commands using either "&" or ";" as the
      separator depending on the values of these trailing characters.
      At the end re-add the trailing "&".  (Bug#10598)
      
      * lisp/simple.el (async-shell-command): Sync the interactive spec with
      `shell-command'.  Doc fix.
      (shell-command): Doc fix.
      6dafa0d5
    • Chong Yidong's avatar
      Document insert-char changes. · 9ea10cc3
      Chong Yidong authored
      * doc/emacs/basic.texi (Inserting Text): Replace ucs-insert with
      insert-char.  Provide more details of input.
      
      * doc/lispref/mule.texi (International Chars, Input Methods): Likewise.
      
      * doc/lispref/text.texi (Insertion): Document insert-char changes.
      
      * src/editfns.c (Finsert_char): Doc fix.
      9ea10cc3
    • René Kyllingstad's avatar
      Make insert-char interactive, and ucs-insert an obsolete alias for it. · ddfc8813
      René Kyllingstad authored
      * lisp/international/mule-cmds.el (ucs-insert): Make it an obsolete
      alias for insert-char.
      
      * editfns.c (Finsert_char): Make it interactive, and make the second
      arg optional.  Copy interactive spec and docstring from ucs-insert.
      ddfc8813
  10. 15 Jul, 2012 1 commit
  11. 14 Jul, 2012 1 commit
  12. 13 Jul, 2012 1 commit
    • Chong Yidong's avatar
      Don't warn on toggle-read-only calls. · b68b3337
      Chong Yidong authored
      Clarify the documentation of toggle-read-only, and audit the code tree
      for uses of toggle-read-only; where appropriate, switch to setting the
      variable buffer-read-only or calling toggle-read-only with a (new)
      second arg.
      
      * lisp/files.el (toggle-read-only): Doc fix and code cleanup.  New arg
      to allow printing the message when called from Lisp.
      
      * lisp/emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions):
      Remove toggle-read-only.
      
      * lisp/bindings.el (mode-line-toggle-read-only):
      * lisp/dired.el (dired-toggle-read-only):
      * lisp/ibuffer.el (ibuffer-do-toggle-read-only): Call toggle-read-only
      with non-nil second arg.
      
      * lisp/bs.el (bs-toggle-readonly):
      * lisp/buff-menu.el (Buffer-menu-toggle-read-only): Remove
      with-no-warnings around toggle-read-only.
      
      * lisp/ffap.el (ffap--toggle-read-only): Accept a list of buffers.
      Remove with-no-warnings around toggle-read-only.
      (ffap-read-only, ffap-read-only-other-window)
      (ffap-read-only-other-frame): Callers changed.
      
      * lisp/help-mode.el: Don't require view package.
      (help-mode-finish): Set buffer-read-only instead of calling
      toggle-read-only.
      
      * lisp/emacs-lisp/eieio-custom.el (eieio-customize-object):
      * lisp/vc/ediff.el (ediff-set-read-only-in-buf-A): Set buffer-read-only
      directly.
      
      * lisp/gnus/smime.el (smime-certificate-info): Set buffer-read-only directly,
      instead of calling toggle-read-only with a (bogus) argument.
      
      * doc/emacs/buffers.texi (Misc Buffer): Document view-read-only.
      
      * doc/lispref/buffers.texi (Read Only Buffers): Document toggle-read-only
      changes.  Reword to account for the fact that read-only is currently not
      supported in overlay properties.
      b68b3337
  13. 11 Jul, 2012 1 commit
  14. 10 Jul, 2012 2 commits
  15. 02 Jul, 2012 1 commit
  16. 28 Jun, 2012 1 commit
    • Julien Danjou's avatar
      term: rework color cutomizing · ae4969c2
      Julien Danjou authored
      * term.el (term-handle-colors-array): Use a set of new faces to
      color the terminal.  Also uses :inverse-video property.
      (term-default-fg-color): Set to nil by default, deprecate in favor
      of `term-face'.
      (term-default-bg-color): Set to nil by default, deprecate in favor
      of `term-face'.
      (term-current-face): Use `term-face' by default.
      (term-bold-attribute): Variable deleted.
      ae4969c2
  17. 27 Jun, 2012 2 commits
  18. 24 Jun, 2012 1 commit
  19. 22 Jun, 2012 2 commits
    • Paul Eggert's avatar
      Support higher-resolution time stamps. · d35af63c
      Paul Eggert authored
      Fixes: debbugs:9000
      d35af63c
    • Stefan Monnier's avatar
      Provide generalized variables in core Elisp. · 2ee3d7f0
      Stefan Monnier authored
      * lisp/emacs-lisp/gv.el: New file.
      * lisp/subr.el (push, pop): Extend to generalized variables.
      * lisp/loadup.el (macroexp): Unload if preloaded and uncompiled.
      * lisp/emacs-lisp/cl-lib.el (cl-pop, cl-push, cl--set-nthcdr): Remove.
      * lisp/emacs-lisp/cl-macs.el: Require gv.  Use gv-define-setter,
      gv-define-simple-setter, and gv-define-expander.
      Remove setf-methods defined in gv.  Rename cl-setf -> setf.
      (cl-setf, cl-do-pop, cl-get-setf-method): Remove.
      (cl-letf, cl-letf*, cl-define-modify-macro, cl-defsetf)
      (cl-define-setf-expander, cl-struct-setf-expander): Move to cl.el.
      (cl-remf, cl-shiftf, cl-rotatef, cl-callf, cl-callf2): Rewrite with
      gv-letplace.
      (cl-defstruct): Don't define setf-method any more.
      * lisp/emacs-lisp/cl.el (flet): Don't autoload.
      (cl--letf, letf, cl--letf*, letf*, cl--gv-adapt)
      (define-setf-expander, defsetf, define-modify-macro)
      (cl-struct-setf-expander): Move from cl-lib.el.
      * lisp/emacs-lisp/syntax.el:
      * lisp/emacs-lisp/ewoc.el:
      * lisp/emacs-lisp/smie.el:
      * lisp/emacs-lisp/cconv.el:
      * lisp/emacs-lisp/timer.el: Rename cl-setf -> setf, cl-push -> push.
      (timer--time): Use gv-define-simple-setter.
      * lisp/emacs-lisp/macroexp.el (macroexp-let2): Rename from macroexp-let²
      to avoid coding-system problems in subr.el.  Adjust all users.
      (macroexp--maxsize, macroexp-small-p): New functions.
      * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Don't use cl-letf.
      * lisp/scroll-bar.el (scroll-bar-mode):
      * lisp/simple.el (auto-fill-mode, overwrite-mode, binary-overwrite-mode)
      (normal-erase-is-backspace-mode): Don't use the `eq' place.
      * lisp/winner.el (winner-configuration, winner-make-point-alist)
      (winner-set-conf, winner-get-point, winner-set): Don't abuse letf.
      * lisp/files.el (locate-file-completion-table): Avoid list*.
      
      Fixes: debbugs:11657
      2ee3d7f0
  20. 21 Jun, 2012 1 commit
  21. 19 Jun, 2012 1 commit
    • Chong Yidong's avatar
      Preserve tty top-frames under various window-changing operations. · c6bf3022
      Chong Yidong authored
      * subr.el (with-selected-window): Preserve the selected window's
      terminal's top-frame.
      
      * window.el (save-selected-window): Likewise.
      
      * frame.c (delete_frame): When selecting a frame on a different
      text terminal, do not alter the terminal's top-frame.
      
      * term.c (Ftty_top_frame): New function.
      
      * xdisp.c (format_mode_line_unwind_data): Record the target
      frame's selected window and its terminal's top-frame.
      (unwind_format_mode_line): Restore them.
      (x_consider_frame_title, display_mode_line, Fformat_mode_line):
      Callers changed.
      (x_consider_frame_title): Do not condition on HAVE_WINDOW_SYSTEM,
      since tty frames can be explicitly named.
      (prepare_menu_bars): Likewise.
      
      Fixes: debbugs:4702
      c6bf3022
  22. 18 Jun, 2012 1 commit
    • Stefan Monnier's avatar
      Fix return value of `defun' and un-define it. · 1053a871
      Stefan Monnier authored
      * src/data.c (Fdefalias): Return `symbol'.
      * doc/lispref/functions.texi (Defining Functions):
      * doc/lispref/macros.texi (Defining Macros): Un-define the return value of
      `defun', `defmacro' and `defalias'.
      
      Fixes: debbugs:11686
      1053a871
  23. 17 Jun, 2012 2 commits
  24. 16 Jun, 2012 1 commit
  25. 15 Jun, 2012 1 commit
  26. 13 Jun, 2012 3 commits
    • Glenn Morris's avatar
      NEWS tweak · 9702b7a1
      Glenn Morris authored
      9702b7a1
    • Andreas Schwab's avatar
      Use a simple struct to implement compile time checks for the Lisp_Object type · 646b5f55
      Andreas Schwab authored
      * configure.in: Rename --enable-use-lisp-union-type to
      --enable-check-lisp-object-type and define CHECK_LISP_OBJECT_TYPE
      instead of USE_LISP_UNION_TYPE.
      
      * admin/make-emacs: Rename --union-type to --check-lisp-type.  Define
      CHECK_LISP_OBJECT_TYPE insted of USE_LISP_UNION_TYPE.
      * admin/CPP-DEFINES (DEBUG_LISP_OBJECT_TYPE): Renamed from
      USE_LISP_UNION_TYPE.
      
      * src/lisp.h (Lisp_Object) [CHECK_LISP_OBJECT_TYPE]: Define as struct
      instead of union.
      (XLI, XIL): Define.
      (XHASH, XTYPE, XINT, XUINT, make_number, XSET, XPNTR, XUNTAG): Use
      them.
      * src/emacs.c (gdb_use_struct): Renamed from gdb_use_union.
      * src/.gdbinit: Check gdb_use_struct instead of gdb_use_union.
      * src/alloc.c (widen_to_Lisp_Object): Removed.
      (mark_memory): Use XIL instead of widen_to_Lisp_Object.
      * src/frame.c (delete_frame): Remove outdated comment.
      * src/w32fns.c (Fw32_register_hot_key): Use XLI instead of checking
      USE_LISP_UNION_TYPE.
      (Fw32_unregister_hot_key): Likewise.
      (Fw32_toggle_lock_key): Likewise.
      * src/w32menu.c (add_menu_item): Likewise.
      (w32_menu_display_help): Use XIL instead of checking
      USE_LISP_UNION_TYPE.
      * src/w32heap.c (allocate_heap): Don't check USE_LISP_UNION_TYPE.
      (init_heap): Likewise.
      * src/w32term.c (w32_read_socket): Update comment.
      646b5f55
    • Chong Yidong's avatar
      In the Package Menu, indicate packages that are newly-available. · 60057926
      Chong Yidong authored
      * lisp/emacs-lisp/package.el (list-packages): Compute a list of
      packages that are newly-available since the last list-packages
      invocation.
      (package-menu--new-package-list): New var.
      (package-menu--generate, package-menu--print-info)
      (package-menu--status-predicate, package-menu-mark-install):
      Handle new status label "new".
      60057926
  27. 12 Jun, 2012 1 commit
  28. 11 Jun, 2012 1 commit