1. 26 Jul, 2013 1 commit
    • Stefan Monnier's avatar
      Add support for lexical variables to the debugger's `e' command. · 56ea7291
      Stefan Monnier authored
      * lisp/emacs-lisp/debug.el (debug): Don't let-bind the debugger-outer-*
      vars, except for debugger-outer-match-data.
      (debugger-frame-number): Move check for "on a function call" from
      callers into it.  Add `skip-base' argument.
      (debugger-frame, debugger-frame-clear): Simplify accordingly.
      (debugger-env-macro): Only reset the state stored in non-variables,
      i.e. current-buffer and match-data.
      (debugger-eval-expression): Rewrite using backtrace-eval.
      * lisp/subr.el (internal--called-interactively-p--get-frame): Remove.
      (called-interactively-p):
      * lisp/emacs-lisp/edebug.el (edebug--called-interactively-skip): Use the new
      `base' arg of backtrace-frame instead.
      * src/eval.c (set_specpdl_old_value): New function.
      (unbind_to): Minor simplification.
      (get_backtrace_frame): New function.
      (Fbacktrace_frame): Use it.  Add `base' argument.
      (backtrace_eval_unrewind, Fbacktrace_eval): New functions.
      (syms_of_eval): Export backtrace-eval.
      * src/xterm.c (x_focus_changed): Simplify.
      56ea7291
  2. 24 Jul, 2013 3 commits
  3. 23 Jul, 2013 1 commit
  4. 22 Jul, 2013 1 commit
  5. 19 Jul, 2013 1 commit
  6. 16 Jul, 2013 1 commit
    • Jan Djärv's avatar
      Stop cursor blink after blink-cursor-blinks (10), stop timers when not blinking. · 18c26d81
      Jan Djärv authored
      * etc/NEWS: Document blink-cursor-blinks and blink timers stopped.
      
      * lisp/frame.el (blink-cursor-blinks): New defcustom.
      (blink-cursor-blinks-done): New defvar.
      (blink-cursor-start): Set blink-cursor-blinks-done to 1.
      (blink-cursor-timer-function): Check if number of blinks has been
      done on X and NS.
      (blink-cursor-suspend, blink-cursor-check): New defuns.
      
      * src/frame.c (Fhandle_focus_in, Fhandle_focus_out): New functions.
      (Fhandle_switch_frame): Call Fhandle_focus_in.
      (syms_of_frame): defsubr handle-focus-in/out.
      
      * src/keyboard.c (Qfocus_in, Qfocus_out): New static objects.
      (make_lispy_focus_in, make_lispy_focus_out): Declare and define.
      (kbd_buffer_get_event): For FOCUS_IN, make a focus_in event if no
      switch frame event is made.  Check ! NILP (event->arg) if X11 (moved
      from xterm.c). Make focus_out event for FOCUS_OUT_EVENT if NS or X11
      and there is a focused frame.
      (head_table): Add focus-in and focus-out.
      (keys_of_keyboard): Add focus-in and focus-out to Vspecial_event_map,
      bind to handle-focus-in/out.
      
      * src/nsterm.m (windowDidResignKey): If this is the focused frame, generate
      FOCUS_OUT_EVENT.
      
      * src/termhooks.h (enum event_kind): Add FOCUS_OUT_EVENT.
      
      * src/xterm.c (x_focus_changed): Always generate FOCUS_IN_EVENT.
      Set event->arg to Qt if switch-event shall be generated.
      Generate FOCUS_OUT_EVENT for FocusOut if this is the focused frame.
      18c26d81
  7. 15 Jul, 2013 2 commits
    • Paul Eggert's avatar
      * shell.el (explicit-bash-args): Remove obsolete hack for Bash 1.x. · 0463c1ef
      Paul Eggert authored
      The hack didn't work outside English locales anyway.
      0463c1ef
    • Juanma Barranquero's avatar
      lisp/desktop.el (desktop-restore-frames): Change default to t. · b958c0ad
      Juanma Barranquero authored
      (desktop-restore-in-current-display): Now offer more options.
      (desktop-restoring-reuses-frames): New customization option.
      (desktop--saved-states): Doc fix.
      (desktop-filter-parameters-alist): New variable, renamed and expanded from
      desktop--excluded-frame-parameters.
      (desktop--target-display): New variable.
      (desktop-switch-to-gui-p, desktop-switch-to-tty-p, desktop--filter-tty*)
      (desktop--filter-*-color, desktop--filter-minibuffer)
      (desktop--filter-restore-desktop-parm, desktop--filter-save-desktop-parm)
      (desktop-restore-in-original-display-p): New functions.
      (desktop--filter-frame-parms): Use new desktop-filter-parameters-alist.
      (desktop--save-minibuffer-frames): New function, inspired by a similar
      function from Martin Rudalics.
      (desktop--save-frames): Call it; play nice with desktop-globals-to-save.
      (desktop--restore-in-this-display-p): Remove.
      (desktop--find-frame): Rename from desktop--find-frame-in-display and add
      predicate argument.
      (desktop--make-full-frame): Remove, integrated into desktop--make-frame.
      (desktop--reuse-list): New variable.
      (desktop--select-frame, desktop--make-frame, desktop--sort-states):
      New functions.
      (desktop--restore-frames): Add support for "minibuffer-special" frames.
      b958c0ad
  8. 13 Jul, 2013 2 commits
  9. 12 Jul, 2013 1 commit
  10. 10 Jul, 2013 1 commit
    • Paul Eggert's avatar
      Timestamp fixes for undo. · 954b166e
      Paul Eggert authored
      * doc/lispref/text.texi (Undo):
      Document (t . 0) and (t . -1) in buffer-undo-list.
      * etc/NEWS: Changes to visited-file-modtime, set-visited-file-modtime.
      * lisp/files.el (clear-visited-file-modtime): Move here from fileio.c.
      * src/atimer.c (schedule_atimer):
      * src/fileio.c (Ffile_newer_than_file_p):
      Minor cleanup: use EMACS_TIME_LT so that we can remove EMACS_TIME_GT.
      * src/buffer.c (buffer-undo-list): Document (t . 0) and (t . -1).
      * src/fileio.c (Fclear_visited_file_modtime): Move to lisp/files.el.
      (syms_of_fileio): Remove Sclear_visited_file_name.
      (Fvisited_file_modtime): Return -1, not (-1 ...), when the visited
      file doesn't exist; this avoids an ambiguity with negative timestamps.
      (Fset_visited_file_modtime): Accept -1 and 0 as time-list arg.
      * src/systime.h (make_emacs_time, invalid_emacs_time):
      Don't assume struct timespec layout; POSIX doesn't guarantee it.
      (EMACS_TIME_NE, EMACS_TIME_GT, EMACS_TIME_GE): Remove.
      * src/undo.c (record_first_change): Push (visited-file-modtime) onto
      undo list rather than reimplementing it by hand, incorrectly.
      
      Fixes: debbugs:14824
      954b166e
  11. 08 Jul, 2013 2 commits
  12. 06 Jul, 2013 3 commits
  13. 04 Jul, 2013 2 commits
  14. 03 Jul, 2013 1 commit
  15. 01 Jul, 2013 1 commit
    • Juanma Barranquero's avatar
      lisp/desktop.el: More fixes to frame restoration. · 2addf922
      Juanma Barranquero authored
      (desktop-restore-frames): Rename from desktop-save-windows.
      (desktop-restore-in-current-display): New customization option.
      (desktop--excluded-frame-parameters): Add `font'.
      (desktop--save-frames): Rename from desktop--save-windows.
      (desktop--restore-in-this-display-p): New function.
      (desktop--make-full-frame): Remove unwanted width/height from
      full(width|height) frames.
      (desktop--restore-frames): Rename from desktop--restore-windows.
      Obey desktop-restore-current-display.  Do not delete old frames or
      select a new frame unless we were able to restore at least one frame.
      2addf922
  16. 30 Jun, 2013 2 commits
    • Michal Nazarewicz's avatar
      Add `remember-notes' function to store random notes across Emacs · ef099a94
      Michal Nazarewicz authored
      restarts.
      * remember.el (remember-data-file): Add :set callback to affect
      notes buffer (if any).
      (remember-notes): New command.
      (remember-notes-buffer-name, bury-remember-notes-on-kill):
      New defcustoms for the `remember-notes' function.
      (remember-notes-save-and-bury-buffer): New command.
      (remember-notes-mode-map): New variable.
      (remember-mode): New minor mode.
      (remember-notes--kill-buffer-query): New function.
      * lisp/startup.el (initial-buffer-choice): Add notes to custom type.
      * src/buffer.c (FKill_buffer): Run `kill-buffer-query-functions'
      before checking whether buffer is modified.  This lets
      `kill-buffer-query-functions' cancel killing of the buffer or save
      its content before `kill-buffer' asks user the "Buffer %s
      modified; kill anyway?" question.
      
      * remember.el (remember-append-to-file):
      Don't mix `find-buffer-visiting' and `get-file-buffer'.
      
      * lisp/files.el (find-file-noselect): Simplify conditional expression.
      ef099a94
    • Paul Eggert's avatar
      Spelling fixes. · adc5dbce
      Paul Eggert authored
      adc5dbce
  17. 29 Jun, 2013 1 commit
    • Eli Zaretskii's avatar
      Implement visual-order cursor motion. · 4c672a0f
      Eli Zaretskii authored
       src/xdisp.c (Fmove_point_visually): New function.
      
       lisp/bindings.el (visual-order-cursor-movement): New defcustom.
       (right-char, left-char): Provide visual-order cursor motion by
       calling move-point-visually.  Update the doc strings.
      
       doc/emacs/basic.texi (Moving Point): Document visual-order-cursor-movement
       and its effect on right-char and left-char.
      
       doc/lispref/display.texi (Bidirectional Display): Document move-point-visually.
      
       etc/NEWS: Document the new feature.
      4c672a0f
  18. 27 Jun, 2013 3 commits
  19. 26 Jun, 2013 1 commit
  20. 25 Jun, 2013 1 commit
  21. 23 Jun, 2013 1 commit
    • Lars Magne Ingebrigtsen's avatar
      Implement :max-width/:max-height for (ImageMagic) images · f3f9606c
      Lars Magne Ingebrigtsen authored
      * doc/lispref/display.texi (ImageMagick Images): Mention :max-width and
      :max-height.
      
      * lisp/net/shr.el (shr-rescale-image): Use the new
      :max-width/:max-height functionality.
      
      * src/image.c (compute_image_size): New function to implement
      :max-width and :max-height.
      (imagemagick_load_image): Use it.
      f3f9606c
  22. 20 Jun, 2013 1 commit
    • Paul Eggert's avatar
      Add log2 support and make log10 obsolete for consistency. · 89561f72
      Paul Eggert authored
      * configure.ac (log2): Check for this function.
      * doc/lispref/numbers.texi (Math Functions): Remove obsolete function log10.
      * lisp/subr.el (log10): Move here from C code, and declare as obsolete.
      All uses of (log10 X) replaced with (log X 10).
      * src/floatfns.c (Flog) [HAVE_LOG2]: Use log2 if available and if the
      base is 2; this is more accurate.
      (Flog10): Move to Lisp (marked obsolete there).
      89561f72
  23. 18 Jun, 2013 1 commit
    • Juanma Barranquero's avatar
      Convert symbol prettification into minor mode and global minor mode. · 14dd22d2
      Juanma Barranquero authored
      * etc/NEWS: Document new Prettify Symbols mode.
      
      * lisp/progmodes/prog-mode.el (prettify-symbols-alist): Rename from
        `prog-prettify-symbols', and make a local defvar instead of defcustom.
        (prettify-symbols--keywords): Rename from `prog-prettify-symbols-alist'
        and make a local defvar.
        (prettify-symbols--compose-symbol): Rename from
        `prog--prettify-font-lock-compose-symbol'.
        (prettify-symbols--make-keywords): Rename from
        `prog-prettify-font-lock-symbols-keywords' and simplify.
        (prog-prettify-install): Remove.
        (prettify-symbols-mode): New minor mode, based on `prog-prettify-install'.
        (turn-on-prettify-symbols-mode): New function.
        (global-prettify-symbols-mode): New globalized minor mode.
      
      * lisp/emacs-lisp/lisp-mode.el (lisp-mode-variables):
      * lisp/progmodes/cfengine.el (cfengine3-mode):
      * lisp/progmodes/perl-mode.el (perl-mode): Don't call `prog-prettify-install';
        set `prettify-symbols-alist' instead.
      14dd22d2
  24. 17 Jun, 2013 2 commits
  25. 16 Jun, 2013 1 commit
  26. 15 Jun, 2013 1 commit
  27. 14 Jun, 2013 1 commit
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/bytecomp.el (byte-compile-force-lexical-warnings): New var. · 0b31660d
      Stefan Monnier authored
      (byte-compile-preprocess): Use it.
      (byte-compile-file-form-defalias): Try a bit harder to use macros we
      can't quite recognize.
      (byte-compile-add-to-list): Remove.
      * lisp/emacs-lisp/cconv.el (cconv-warnings-only): New function.
      (cconv-closure-convert): Add assertion.
      
      * lisp/emacs-lisp/map-ynp.el: Use lexical-binding.
      (map-y-or-n-p): Remove unused vars `tail' and `object'.
      Factor out some repeated code.
      * etc/NEWS (utf-8 for el): Move to the incompatible section.
      0b31660d
  28. 13 Jun, 2013 1 commit
    • Stefan Monnier's avatar
      * lisp/subr.el (with-eval-after-load): New macro. · de0503df
      Stefan Monnier authored
      (eval-after-load): Allow form to be a function.
      take advantage of lexical-binding.
      (do-after-load-evaluation): Use dolist and adjust to new format.
      * lisp/simple.el (bad-packages-alist): Use dolist and with-eval-after-load.
      * doc/lispref/loading.texi (Hooks for Loading): Document with-eval-after-load
      instead of eval-after-load.  Don't document after-load-alist.
      * src/lread.c (syms_of_lread):
      * src/fns.c (Fprovide): Adjust to new format of after-load-alist.
      de0503df