1. 22 Jun, 2012 1 commit
    • 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
  2. 21 Jun, 2012 1 commit
  3. 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
  4. 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
  5. 17 Jun, 2012 2 commits
  6. 16 Jun, 2012 1 commit
  7. 15 Jun, 2012 1 commit
  8. 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
  9. 12 Jun, 2012 1 commit
  10. 11 Jun, 2012 2 commits
  11. 07 Jun, 2012 1 commit
  12. 06 Jun, 2012 2 commits
    • Michael Albinus's avatar
      Add enable-remote-dir-locals. · 21ffb35a
      Michael Albinus authored
      21ffb35a
    • Glenn Morris's avatar
      Remove lib-src/vcdiff · 276d5f5d
      Glenn Morris authored
      * lib-src/vcdiff: Remove file.
      * lib-src/Makefile.in (SCRIPTS, STAMP_SCRIPTS): Remove vcdiff.
      (stamp-vcdiff): Remove.
      
      * INSTALL, make-dist: Remove vcdiff.
      
      * lisp/emacs-lisp/authors.el (authors-fixed-entries): Remove vcdiff
      276d5f5d
  13. 05 Jun, 2012 3 commits
    • Glenn Morris's avatar
      Make ledit.el obsolete. · daed4003
      Glenn Morris authored
      Also, etc/LEDIT was removed some time ago.
      daed4003
    • Stefan Monnier's avatar
      d32926ff
    • Martin Rudalics's avatar
      Clean up and simplify buffer display routines. · 51a5f9d8
      Martin Rudalics authored
      * window.el (get-lru-window, get-mru-window, get-largest-window):
      New argument NOT-SELECTED to avoid picking the selected window.
      (window--display-buffer-1, window--display-buffer-2): Replace by
      new function window--display-buffer
      (display-buffer-same-window, display-buffer-reuse-window)
      (display-buffer-pop-up-frame, display-buffer-pop-up-window): Use
      window--display-buffer.
      (display-buffer-use-some-window): Remove temporary dedication
      hack by calling get-lru-window and get-largest-window with
      NOT-SELECTED argument non-nil.  Call window--display-buffer.
      51a5f9d8
  14. 04 Jun, 2012 1 commit
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/cl-lib.el: Rename from cl.el. · 7c1898a7
      Stefan Monnier authored
      * lisp/emacs-lisp/cl.el: New compatibility file.
      * emacs-lisp/cl-lib.el, lisp/emacs-lisp/cl-seq.el, lisp/emacs-lisp/cl-macs.el:
      * lisp/emacs-lisp/cl-extra.el: Rename all top-level functions and variables
      to obey the "cl-" prefix.
      * lisp/emacs-lisp/macroexp.el (macroexpand-all-1): Adjust to new name.
      7c1898a7
  15. 03 Jun, 2012 3 commits
  16. 01 Jun, 2012 1 commit
  17. 31 May, 2012 4 commits
    • Glenn Morris's avatar
      Split off imagemagick-filter-types from imagemagick-register-types · 60b5f187
      Glenn Morris authored
      * lisp/image.el: (imagemagick-filter-types): New function.  (Bug#7406)
      (imagemagick-register-types): Use imagemagick-filter-types.
      
      * etc/NEWS: Mention this.
      60b5f187
    • Glenn Morris's avatar
      Add option imagemagick-types-enable · 32d72c2f
      Glenn Morris authored
      * lisp/image.el: For clarity, call imagemagick-register-types at
      top-level, rather than relying on a custom :initialize.
      (imagemagick-types-enable): New option. 
      (imagemagick-register-types): Respect imagemagick-types-inhibit.
      If disabling support, remove elements altogether rather
      than using an impossible regexp.
      (imagemagick-types-inhibit): Give it the default init function.
      
      * src/image.c (Fimagemagick_types): Doc fix.
      
      * etc/NEWS: Mention this.
      
      Fixes: debbugs:11557
      32d72c2f
    • Stefan Monnier's avatar
      Add `declare' for `defun'. Align `defmacro's with it. · 500fcedc
      Stefan Monnier authored
      * lisp/emacs-lisp/easy-mmode.el (define-minor-mode)
      (define-globalized-minor-mode): Don't autoload the var definitions.
      * lisp/emacs-lisp/byte-run.el: Use lexical-binding.
      (defun-declarations-alist, macro-declarations-alist): New vars.
      (defmacro, defun): Use them.
      (make-obsolete, define-obsolete-function-alias)
      (make-obsolete-variable, define-obsolete-variable-alias):
      Use `declare'.
      (macro-declaration-function): Mark obsolete.
      * lisp/emacs-lisp/autoload.el: Use lexical-binding.
      (make-autoload): Add `expansion' arg.  Rely more on macro expansion.
      500fcedc
    • Juri Linkov's avatar
      * etc/NEWS: Doc fix. · b03b4c00
      Juri Linkov authored
      Fixes: debbugs:11574
      b03b4c00
  18. 29 May, 2012 2 commits
  19. 28 May, 2012 1 commit
  20. 26 May, 2012 1 commit
  21. 25 May, 2012 2 commits
    • Glenn Morris's avatar
      * lisp/image.el (imagemagick-types-inhibit): Doc fix. · 87eb79c2
      Glenn Morris authored
      * etc/NEWS: Related edits.
      87eb79c2
    • Juri Linkov's avatar
      Use the same diff color scheme as in modern VCSes (bug#10181). · bc1b21bb
      Juri Linkov authored
      * lisp/vc/diff-mode.el (diff-header, diff-file-header): Remove "green"
      to avoid confusion with `diff-added' that now uses green colors.
      (diff-removed): Use shades of red.
      (diff-added): Use shades of green.
      (diff-changed): Leave just the yellow color.
      (diff-use-changed-face): New variable.
      (diff-font-lock-keywords): Use `diff-use-changed-face' to decide
      how to highlight context diff changes.
      (diff-refine-change): Use shades of yellow.
      (diff-refine-removed): New face that uses shades of red.
      (diff-refine-added): New face that uses shades of green.
      (diff-refine-hunk): Use `diff-refine-change', `diff-refine-added',
      `diff-refine-removed' in the call to `smerge-refine-subst'
      depending on the value of `diff-use-changed-face'.
      
      * lisp/vc/ediff-init.el (ediff-current-diff-A, ediff-fine-diff-A):
      Add face condition `min-colors 88' with shades of red.
      (ediff-current-diff-B, ediff-fine-diff-B): Add face condition
      `min-colors 88' with shades of green.
      (ediff-current-diff-C, ediff-fine-diff-C): Add face condition
      `min-colors 88' with shades of yellow.
      
      * lisp/vc/smerge-mode.el (smerge-mine): Use shades of red.
      (smerge-other): Use shades of green.
      (smerge-base): Use shades of yellow.
      (smerge-refined-change): Empty face.
      (smerge-refined-removed): New face that uses shades of red.
      (smerge-refined-added): New face that uses shades of green.
      (smerge-refine-subst): Rename arg `props' to `props-c'.  Add new
      args `props-r' and `props-a', and use them.  Doc fix.
      (smerge-refine): Evaluate `smerge-use-changed-face' and depending
      on its value use different faces `smerge-refined-change',
      `smerge-refined-removed', `smerge-refined-added' in the call to
      `smerge-refine-subst'.
      bc1b21bb
  22. 18 May, 2012 1 commit
  23. 15 May, 2012 1 commit
  24. 11 May, 2012 1 commit
    • Stefan Monnier's avatar
      * lisp/progmodes/sh-script.el: Use post-self-insert-hook&electric-pair-mode. · ff46c759
      Stefan Monnier authored
      Provide SMIE-based indentation (not enabled by default yet).
      (sh-mode-map): Don't bind electric keys.
      Use electric-pair-mode instead of skeleton-pair.
      (sh-assignment-regexp): Fit within 80 columns.
      (sh-indent-supported): Specify actual shell name instead of boolean.
      (sh--maybe-here-document): New fun, from sh-maybe-here-document.
      (sh-maybe-here-document): Use it.  Make obsolete.
      (sh-electric-here-document-mode) New minor mode.
      (sh-mode): Use it.  Don't set sh-indent-supported-here here.
      (sh-smie-sh-grammar, sh-smie--sh-operators, sh-smie--sh-operators-re)
      (sh-smie--sh-operators-back-re, sh-indent-after-continuation)
      (sh-smie-rc-grammar, sh-use-smie): New vars.
      (sh-smie--keyword-p, sh-smie--newline-semi-p, sh-smie--sh-keyword-p)
      (sh-smie-sh-forward-token, sh-smie--looking-back-at-continuation-p)
      (sh-smie-sh-backward-token, sh-smie--continuation-start-indent)
      (sh-smie-sh-rules, sh-smie-rc-rules, sh-smie--sh-keyword-in-p)
      (sh-smie--rc-after-special-arg-p, sh-smie-rc-backward-token)
      (sh-smie-sh-rules, sh-smie--rc-newline-semi-p): New functions.
      (sh-set-shell): Use smie-setup if requested.
      ff46c759
  25. 10 May, 2012 2 commits
    • Chong Yidong's avatar
      Cleanups and improvements for FFAP and URL. · 9f9aa044
      Chong Yidong authored
      * ffap.el (ffap-url-unwrap-local): Make it work right.
      Use url-generic-parse-url, and handle host names and Windows
      filenames properly.
      (ffap-url-unwrap-remote): Use url-generic-parse-url.
      (ffap-url-unwrap-remote): Accept list values, specifying a list of
      URL schemes to work on.
      (ffap--toggle-read-only): New function.
      (ffap-read-only, ffap-read-only-other-window)
      (ffap-read-only-other-frame): Use it.
      (ffap-fixup-url): Don't check ffap-ftp-regexp, since it is not
      necessary for ffap-url-unwrap-remote.
      
      * url-parse.el (url-path-and-query, url-port-if-non-default): New
      functions.
      (url-generic-parse-url): Don't set the portspec slot if it is not
      specified; that is what `url-port' is for.
      (url-port): Only require the scheme to be specified to call
      url-scheme-get-property.
      
      * url-util.el (url-encode-url): Use url-path-and-query.
      
      * url-vars.el (url-mime-charset-string): Load mm-util lazily.
      
      Fixes: debbugs:9131
      9f9aa044
    • Glenn Morris's avatar
      Update doc for obsolescence of "unibyte: t" · b8a82b69
      Glenn Morris authored
      * doc/emacs/mule.texi (Disabling Multibyte):
      * doc/lispref/loading.texi (Loading Non-ASCII):
      Replace the obsolete "unibyte: t" with "coding: raw-text".
      * etc/NEWS: Related markup.
      b8a82b69