diff --git a/ChangeLog b/ChangeLog index d6260f6c228..57f1bec65ac 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2012-09-18 Jan Djärv + + * configure.ac (HAVE_GTK): Mention if we use GTK2 or GTK3. + 2012-09-17 Andreas Schwab * Makefile.in (bootstrap): Revert last change. Run config.status diff --git a/configure.ac b/configure.ac index 0b4aece4daf..8f4d90afd53 100644 --- a/configure.ac +++ b/configure.ac @@ -1916,6 +1916,7 @@ if test "${with_gtk3}" = "yes" || test "${with_gtk}" = "yes" || test "$USE_X_TOO AC_DEFINE(HAVE_GTK3, 1, [Define to 1 if using GTK 3 or later.]) GTK_OBJ=emacsgtkfixed.o term_header=gtkutil.h + USE_GTK_TOOLKIT="GTK3" else check_gtk2=yes gtk3_pkg_errors="$GTK_PKG_ERRORS " @@ -1934,6 +1935,7 @@ if test "${with_gtk2}" = "yes" || test "$check_gtk2" = "yes"; then then AC_MSG_ERROR($gtk3_pkg_errors$GTK_PKG_ERRORS) fi + test "$pkg_check_gtk" = "yes" && USE_GTK_TOOLKIT="GTK2" fi if test x"$pkg_check_gtk" = xyes; then @@ -4457,7 +4459,7 @@ End: #### It makes printing result more understandable as using GTK sets #### toolkit_scroll_bars to yes by default. if test "${HAVE_GTK}" = "yes"; then - USE_X_TOOLKIT=GTK + USE_X_TOOLKIT="$USE_GTK_TOOLKIT" fi echo " diff --git a/etc/NEWS b/etc/NEWS index 3344158b73c..15c06181a9a 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -459,9 +459,17 @@ channel keys found, if any. if the command ends in `;' (when operating on multiple files). Otherwise, it executes the command on each file in parallel. +*** Typing M-n in the minibuffer of `dired-do-chmod', `dired-do-chgrp', +`dired-do-chown', `dired-do-touch' pulls the file attributes of the +file at point. + +*** When the region is active, `m' (`dired-mark'), `u' (`dired-unmark'), +`DEL' (`dired-unmark-backward'), `d' (`dired-flag-file-deletion') +mark/unmark/flag all files in the active region. + *** The minibuffer default for `=' (`dired-diff) has changed. -It is now the backup file for the file at point, if one exists, rather -than the file at the mark. +It is now the backup file for the file at point, if one exists. +In Transient Mark mode the default is the file at the active mark. *** `M-=' is no longer bound to `dired-backup-diff' in Dired buffers. The global binding for `M-=', `count-words-region' is in effect. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 549b70a1de1..8036e819d4d 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,297 @@ +2012-09-18 Juri Linkov + + * dired-aux.el (dired-diff): Restore original functionality of + getting the default value, but keep new feature of using the + latest existing backup file (`diff-latest-backup-file'). + +2012-09-18 Juri Linkov + + * dired.el (dired-mark): If the region is active in Transient Mark + mode, mark all files in the active region. Doc fix. + (dired-unmark, dired-flag-file-deletion, dired-unmark-backward): + Doc fix. (Bug#10624) + +2012-09-18 Juri Linkov + + * dired-aux.el (dired-do-chxxx, dired-do-chmod): Default file + attributes for M-n are pulled from the file at point. + (dired-do-chgrp, dired-do-chown, dired-do-touch): Doc fix. + Suggested by Drew Adams. (Bug#10624) + +2012-09-18 Dmitry Gutov + + * progmodes/ruby-mode.el (ruby-brace-to-do-end): Don't add extra + whitespace after "end". + (ruby-do-end-to-brace): Collapse block to one line if it fits + within fill-column. + +2012-09-18 Martin Rudalics + + * emacs-lisp/debug.el (debugger-bury-or-kill): Fix customization + value. + (debug): Don't remove debugger window when debugger is expected + to be back. + +2012-09-18 Chong Yidong + + * custom.el (defface): Doc fix. + + * cus-edit.el (custom-unlispify-remove-prefixes): Add warning. + +2012-09-18 Martin Blais (tiny change) + + * progmodes/compile.el (compilation-start): Use compilation-always-kill + to initialize query-on-exit; then test that instead (bug#12288). + +2012-09-17 Stefan Merten + + * rst.el: Add support for `testcover'. + (rst-defcustom-testcover, rst-testcover-add-compose) + (rst-testcover-add-1value): New functions. + (rst-portable-mark-active-p): Replace by `use-region-p'. + (rst-update-section, rst-classify-adornment) + (rst-find-title-line): Mark `1value' forms. + (rst-classify-adornment): Remove superfluous form. + (rst-update-section, rst-get-adornments-around) + (rst-adornment-complete-p, rst-get-next-adornment) + (rst-adjust, rst-promote-region) + (rst-display-adornments-hierarchy, rst-straighten-adornments) + (rst-find-pfx-in-region, rst-section-tree-rec) + (rst-section-tree-point, rst-toc-insert, rst-toc-insert-node) + (rst-toc-node, rst-toc, rst-forward-section) + (rst-iterate-leftmost-paragraphs) + (rst-iterate-leftmost-paragraphs-2, rst-enumerate-region) + (rst-bullet-list-region) + (rst-convert-bullets-to-enumeration, rst-font-lock-keywords) + (rst-compile-find-conf, rst-compile) + (rst-repeat-last-character): Fix style. + +2012-09-17 Chong Yidong + + * comint.el (comint--complete-file-name-data): Don't add a space + if the status is `sole'; that adds a gratuitous space in the + completion-cycling case (Bug#12092). + + * pcomplete.el (pcomplete-completions-at-point): Likewise. + +2012-09-17 Richard Stallman + + * mail/rmailmm.el (rmail-mime-toggle-raw): Do rmail-mime-insert + only in the mime-shown mode, not in raw mode. + (rmail-mime): Toggle off mime by displaying the message without + mime processing. (Bug#12305) + + * mail/rmail.el (rmail-retry-failure): + Turn off mime processing first. (Bug#12037) + + * epa-mail.el (epa-mail-encrypt): Fix bug when a name has no key. + +2012-09-17 Chong Yidong + + * shell.el (shell-file-name-chars, shell-file-name-quote-list) + (shell-dynamic-complete-functions): Convert to defcustom. + (shell-prompt-pattern, shell-completion-fignore): Doc fix. + + * bookmark.el (bookmark-bmenu-toggle-filenames): Doc fixes. + * comint.el (comint-prompt-read-only): + * custom.el (defcustom): + * hi-lock.el (hi-lock-mode): + * ibuffer.el (ibuffer-formats): + * ielm.el (ielm-prompt-read-only): + * novice.el (disable-command): + * saveplace.el (toggle-save-place): + * speedbar.el (speedbar-supported-extension-expressions): + * startup.el (auto-save-list-file-prefix, init-file-user) + (after-init-hook, inhibit-startup-echo-area-message): + * strokes.el (strokes-help): + * time-stamp.el (time-stamp): + * calendar/calendar.el (calendar, diary-file): + * calendar/diary-lib.el (diary-mail-entries, diary) + (diary-list-entries-hook): + * calendar/holidays.el (holidays, calendar-holidays): + * calendar/lunar.el (lunar-phases): + * calendar/solar.el (sunrise-sunset): + * emulation/edt.el (edt-load-keys): + * emulation/viper.el (viper-mode): + * eshell/em-alias.el (eshell-command-aliases-list): + * eshell/esh-util.el (eshell-convert-numeric-arguments): + * international/ogonek.el (ogonek-information): + * net/tramp-cmds.el (tramp-bug): + * net/quickurl.el (quickurl-reread-hook-postfix): + * play/decipher.el (decipher-font-lock-keywords): + * progmodes/cc-styles.el (c-set-style): + * progmodes/idlw-shell.el (idlwave-shell-prompt-pattern): + * progmodes/inf-lisp.el (inferior-lisp-prompt): + * progmodes/octave-mod.el (octave-mode): + * progmodes/sql.el (sql-mode, sql-interactive-mode, sql-password): + * progmodes/verilog-mode.el (verilog-read-defines): + * textmodes/two-column.el (2C-mode): Likewise. + +2012-09-16 Katsumi Yamaoka + + * mail/mailabbrev.el (mail-abbrev-expand-hook): Work for a mail aliasee + that holds many addresses. + +2012-09-16 Chong Yidong + + * align.el (align-areas): Call the indication function with + positions instead of markers for arguments (Bug#12343). + + * files.el (parse-colon-path): Use split-string (Bug#12351). + + * window.el (special-display-popup-frame): Doc fix (Bug#8853). + (display-buffer-function): Mark as obsolete. + + * progmodes/compile.el (compilation-parse-errors): Accept list + values similar to font-lock-keywords (Bug#12136). Suggested by + Oleksandr Manzyuk. + (compilation-error-regexp-alist): Doc fix. + +2012-09-15 Glenn Morris + + * version.el (emacs-bzr-version-bzr): New function. + (emacs-bzr-get-version): Add optional EXTERNAL argument. + + * vc/vc-bzr.el (vc-bzr-working-revision): For lightweight local + checkouts, check the parent dirstate matches the branch. + Add "--tree" to "bzr revno" arguments. Don't try to shorten the + empty string. + + * version.el (emacs-bzr-version): Doc fix. + (emacs-bzr-version-dirstate): New function. + (emacs-bzr-get-version): For lightweight checkouts, if the parent + is local try and check that it matches the branch. If not, just + use dirstate information. (Bug#12441) + +2012-09-14 Juri Linkov + + * dired-aux.el (dired-do-chmod): Use `eq' to detect empty input. + (Bug#12399) + +2012-09-14 Stefan Monnier + + * emacs-lisp/advice.el (ad-prognify): Remove, use macroexp-progn. + + * emacs-lisp/edebug.el: Miscellaneous cleanup. + Remove obsolete byte-compiler hack that tried to silence some warnings. + (edebug-submit-bug-report): Remove. + (edebug-get-buffer-window, edebug-sit-for, edebug-input-pending-p): + Remove aliases, use the un-prefixed name instead. + (edebug-pop-to-buffer): Consider other frames. + (edebug-original-read):: Make it more obvious that it's always defined. + (edebug--make-form-data-entry, edebug--form-data-name) + (edebug--form-data-begin, edebug--form-data-end): Rename from the + single-dashed name, and implement with cl-defstruct. + (edebug-set-form-data-entry): Use the standard accessors. + (edebug-make-top-form-data-entry): Use push. + (edebug-no-match): Drop useless `funcall'. + (mapcar, mapconcat, mapatoms, apply, funcall): Don't add debug specs + to functions. + (defsubst, dont-compile, eval-when-compile, eval-and-compile) + (delay-mode-hooks, with-temp-file, with-temp-message, ad-dolist) + (with-syntax-table, push, pop, 1value, noreturn, defadvice) + (easy-menu-define, with-custom-print): Remove redundant specs. + (edebug-outside-overriding-local-map) + (edebug-outside-overriding-terminal-local-map): Remove, unused. + (edebug--display): Bind unread-command-events directly to nil rather + than binding it to unread-command-events and later setting it to nil. + (edebug--display): Kill edebug-eval-buffer here... + (edebug--recursive-edit): ...rather than here. + Bind standard-output and standard-input. + (edebug-eval): Check cl-macroexpand-all is fboundp. + (edebug-temp-display-freq-count): Fix last change. + + * emacs-lisp/easymenu.el (easy-menu-define): Add `debug' spec. + * subr.el (noreturn, 1value): Add `debug' spec. + * emacs-lisp/advice.el: Require cl-lib. + (ad-copy-tree): Remove, use copy-tree instead. + (ad-dolist): Remove use dolist or cl-dolist instead. + (ad-do-return): Remove, use cl-return instead. + (defadvice): Add `debug' spec. + +2012-09-13 Juri Linkov + + * dired-aux.el (dired-do-chxxx): Use `eq' to detect empty input. + (Bug#12399) + +2012-09-13 Glenn Morris + + * calc/calc.el (math-compose-expr): + * calc/calc-ext.el (math-compose-expr): + * progmodes/cc-defs.el (cl-macroexpand-all): + * progmodes/cc-langs.el (delete-duplicates, mapcan) + (cl-macroexpand-all): Update declarations. + + * vc/vc.el: No need to require ediff. + (ediff-load-version-control): Declare. + (ediff-vc-internal): Fix declaration. + (vc-version-ediff): Require ediff. + +2012-09-13 Paul Eggert + + Use a more backwards-compatible timer format (Bug#12430). + * emacs-lisp/timer.el (timer): PSECS is now at the end, rather than + being right after USECS, as that better supports old code that + inadvisedly looked directly at the timer vector. + +2012-09-13 Kenichi Handa + + * language/chinese.el ("Chinese-GB", "Chinese-BIG5") + ("Chinese-CNS", "Chinese-EUC-TW"): Add chinese-gbk to + `coding-priority' property of these language environment. + +2012-09-13 Paul Eggert + + Fix glitches caused by addition of psec to timers (Bug#12430). + * image.el (image-animate-timer): + * time.el (display-time-world-timer): + Use timer--function and timer--args rather than raw access to + timer vector. + +2012-09-13 Glenn Morris + + * emacs-lisp/bytecomp.el (byte-compile-warning-prefix): + If not compiling a file, try using load-file-name. + +2012-09-13 Stefan Monnier + + * emacs-lisp/edebug.el (edebug-outside-unread-command-events): + Fix last change. + (edebug-update-eval-list): Use `push'. + + * emacs-lisp/edebug.el: Use lexical-binding. + Remove the "edebug-" prefix from non-dynamically-scoped variables. + Mark unused args with underscore. + (edebug-save-restriction, edebug-outside-excursion): Use `declare'. + (edebug-form-data): Use defvar-local. + (edebug-make-before-and-after-form, edebug-make-after-form): + Use backquote. + (edebug-args, edebug-value, edebug-after-index, edebug-arg-mode): + Not dynamically scoped any more. + (edebug--enter-trace): Add arguments `function' and `args'. + Rename from edebug-enter-trace. + (edebug-enter): Call it accordingly. Bind edebug-function explicitly. + (edebug--update-coverage): Add `after-index' and `value' args. + Rename from edebug-update-coverage. + (edebug-slow-after): Call it accordingly. + (edebug--recursive-edit): Add arg `arg-mode'. Rename from + edebug-recursive-edit. + (edebug--display): Call it accordingly. Add args `value', + `offset-index', and `arg-mode'. Rename from edebug-display. + (edebug-debugger, edebug): Call it accordingly. + (edebug-eval-display-list): Use dolist. + +2012-09-12 Juri Linkov + + * info.el (Info-search): Don't check for isearch-mode and + isearch-regexp before let-binding search-spaces-regexp to + Info-search-whitespace-regexp. + (Info-isearch-search): Let-bind Info-search-whitespace-regexp to + search-whitespace-regexp if isearch-lax-whitespace or + isearch-regexp-lax-whitespace is non-nil. + (Info-mode): Don't set local variable search-whitespace-regexp. + http://lists.gnu.org/archive/html/emacs-devel/2012-08/msg00811.html + 2012-09-12 Stefan Monnier * emacs-lisp/debug.el (debugger-outer-unread-command-char, debug) @@ -44,16 +338,16 @@ 2012-09-11 Bastien Guerry * subr.el (set-temporary-overlay-map): Add a docstring. - (bug#12346) + (Bug#12346) 2012-09-11 Bastien Guerry * minibuffer.el (completion-table-subvert): Fix docstring. - (bug#12347) + (Bug#12347) 2012-09-11 Bastien Guerry - * help-fns.el (describe-variable): Fix typo. (bug#12346) + * help-fns.el (describe-variable): Fix typo. (Bug#12346) 2012-09-10 Michael R. Mauger @@ -73,9 +367,8 @@ 2012-09-10 Stefan Monnier * emacs-lisp/lisp-mode.el (emacs-list-byte-code-comment-re): New var. - (emacs-lisp-byte-code-comment) - (emacs-lisp-byte-code-syntax-propertize, emacs-lisp-byte-code-mode): - New functions. + (emacs-lisp-byte-code-comment, emacs-lisp-byte-code-syntax-propertize) + (emacs-lisp-byte-code-mode): New functions. (eval-sexp-add-defvars): Don't skip defvars in column >0. (eval-defun-2): Remove bogus interactive spec. (lisp-indent-line): Remove redundant whole-exp code, now done in @@ -1454,7 +1747,7 @@ :local as the address. (list-processes): Doc fix. -2012-08-04 Michal Nazarewicz (tiny change) +2012-08-04 Michal Nazarewicz * lisp/mpc.el: Support password in host argument. (mpc--proc-connect): Parse and use new password element. @@ -1562,7 +1855,7 @@ * calc-mode.el (calc-basic-simplification-mode): Rename from `calc-limited-simplification-mode'. (calc-alg-simplification-mode): New function. - (calc-set-simplify-mode): Adjust message. + (calc-set-simplify-mode): Adjust message. * calc.el (calc-set-mode-line): Adjust mode line display for basic simplification mode. @@ -1760,7 +2053,7 @@ * notifications.el (notifications-on-action-signal) (notifications-on-closed-signal): Use also the bus address for the map. (notifications-notify, notifications-close-notification) - (notifications-get-capabilities): Add optional argument BUS. + (notifications-get-capabilities): Add optional argument BUS. 2012-07-27 Tassilo Horn @@ -1880,7 +2173,7 @@ ses-cell-set-formula or ses-set-cell to change the cell and handle the undo at the same time, but rather use lower level new macros `ses-cell-formula-aset' and `ses-cell-references-aset' and handle - the undo directly. Refresh the mode line. + the undo directly. Refresh the mode line. 2012-07-21 Leo Liu @@ -5296,13 +5589,13 @@ * progmodes/verilog-mode.el (font-lock-keywords): Fix mis-highligting auto. Reported by Craig Barner. (verilog-auto, verilog-auto-undef): Add AUTOUNDEF to remove - defines from global name space. Reported by Dan Dever. + defines from global name space. Reported by Dan Dever. (verilog-auto-reset, verilog-auto-reset-widths) (verilog-auto-tieoff): Support using unbased numbers for AUTORESET and AUTOTIEOFF. (verilog-submit-bug-report): Update variable list. (verilog-read-auto-params): Fix AUTOINPUT regexps containing - parenthesis from not matching. Reported by Michael Rytting. + parenthesis from not matching. Reported by Michael Rytting. (verilog-auto-template-lint): Fix hash error when linting modules with no used templates. (verilog-warn, verilog-warn-error) @@ -5312,12 +5605,12 @@ (verilog-read-auto-template): Add `verilog-auto-template-warn-unused' to report unused template errors. Reported by Brad Dobbie. (verilog-read-decls): Fix AUTOWIRE etc on supply0, supply1 type - nets, bug438. Reported by Vns Blore. + nets, bug438. Reported by Vns Blore. (verilog-auto-inout-module, verilog-auto-reg) (verilog-read-decls, verilog-read-sub-decls-sig) (verilog-signals-edit-wire-reg, verilog-signals-with): Fix passing of Verilog data types in ANSI input/output ports - such as "output logic" into the AUTOs. Special case "wire" and + such as "output logic" into the AUTOs. Special case "wire" and "reg" for backwards compatibility presuming Verilog 2001. (verilog-auto-ascii-enum): Add "auto enum" as alias. (verilog-preprocess): Fix replication of preprocess output. @@ -5338,7 +5631,7 @@ (verilog-read-decls): Fix 'parameter type' not appearing in AUTOINSTPARAM, bug340. Reported by Jonathan Greenlaw. (verilog-auto-logic): Fix when AUTOLOGIC present to properly do - AUTOINPUTs, bug411. Reported by Jonathan Greenlaw. + AUTOINPUTs, bug411. Reported by Jonathan Greenlaw. (verilog-read-auto-lisp): Avoid syntax-ppss warning on AUTOLISP. Reported by David Kravitz. diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el index e5ca463e8d4..7ba67050337 100644 --- a/lisp/dired-aux.el +++ b/lisp/dired-aux.el @@ -51,33 +51,57 @@ into this list; they also should call `dired-log' to log the errors.") (defconst dired-star-subst-regexp "\\(^\\|[ \t]\\)\\*\\([ \t]\\|$\\)") (defconst dired-quark-subst-regexp "\\(^\\|[ \t]\\)\\?\\([ \t]\\|$\\)") +(declare-function diff-latest-backup-file "diff" (fn)) ; actually belongs into files.el + ;;;###autoload (defun dired-diff (file &optional switches) "Compare file at point with file FILE using `diff'. -If called interactively, prompt for FILE; if the file at point -has a backup file, use that as the default. +If called interactively, prompt for FILE. If the file at point +has a backup file, use that as the default. If the mark is active +in Transient Mark mode, use the file at the mark as the default. +\(That's the mark set by \\[set-mark-command], not by Dired's +\\[dired-mark] command.) -FILE is the first file given to `diff'. -With prefix arg, prompt for second argument SWITCHES, -which is the string of command switches for `diff'." +FILE is the first file given to `diff'. The file at point +is the second file given to `diff'. + +With prefix arg, prompt for second argument SWITCHES, which is +the string of command switches for the third argument of `diff'." (interactive (let* ((current (dired-get-filename t)) - (oldf (file-newest-backup current)) - (dir (if oldf (file-name-directory oldf)))) - (list (read-file-name - (format "Diff %s with%s: " - (file-name-nondirectory current) - (if oldf - (concat " (default " - (file-name-nondirectory oldf) - ")") - "")) - dir oldf t) - (if current-prefix-arg - (read-string "Options for diff: " - (if (stringp diff-switches) - diff-switches - (mapconcat 'identity diff-switches " "))))))) + ;; Get the latest existing backup file. + (oldf (diff-latest-backup-file current)) + ;; Get the file at the mark. + (file-at-mark (if (and transient-mark-mode mark-active) + (save-excursion (goto-char (mark t)) + (dired-get-filename t t)))) + (default-file (or file-at-mark + (and oldf (file-name-nondirectory oldf)))) + ;; Use it as default if it's not the same as the current file, + ;; and the target dir is current or there is a default file. + (default (if (and (not (equal default-file current)) + (or (equal (dired-dwim-target-directory) + (dired-current-directory)) + default-file)) + default-file)) + (target-dir (if default + (dired-current-directory) + (dired-dwim-target-directory))) + (defaults (dired-dwim-target-defaults (list current) target-dir))) + (list + (minibuffer-with-setup-hook + (lambda () + (set (make-local-variable 'minibuffer-default-add-function) nil) + (setq minibuffer-default defaults)) + (read-file-name + (format "Diff %s with%s: " current + (if default (format " (default %s)" default) "")) + target-dir default t)) + (if current-prefix-arg + (read-string "Options for diff: " + (if (stringp diff-switches) + diff-switches + (mapconcat 'identity diff-switches " "))))))) (let ((current (dired-get-filename t))) (when (or (equal (expand-file-name file) (expand-file-name current)) @@ -223,10 +247,17 @@ List has a form of (file-name full-file-name (attribute-list))." ;; OP-SYMBOL is the type of operation (for use in `dired-mark-pop-up'). ;; ARG describes which files to use, as in `dired-get-marked-files'. (let* ((files (dired-get-marked-files t arg)) - (default (and (eq op-symbol 'touch) - (stringp (car files)) - (format-time-string "%Y%m%d%H%M.%S" - (nth 5 (file-attributes (car files)))))) + ;; The source of default file attributes is the file at point. + (default-file (dired-get-filename t)) + (default (when default-file + (cond ((eq op-symbol 'touch) + (format-time-string + "%Y%m%d%H%M.%S" + (nth 5 (file-attributes default-file)))) + ((eq op-symbol 'chown) + (nth 2 (file-attributes default-file 'string))) + ((eq op-symbol 'chgrp) + (nth 3 (file-attributes default-file 'string)))))) (prompt (concat "Change " attribute-name " of %s to" (if (eq op-symbol 'touch) " (default now): " @@ -263,11 +294,15 @@ List has a form of (file-name full-file-name (attribute-list))." ;;;###autoload (defun dired-do-chmod (&optional arg) "Change the mode of the marked (or next ARG) files. -Symbolic modes like `g+w' are allowed." +Symbolic modes like `g+w' are allowed. +Type M-n to pull the file attributes of the file at point +into the minibuffer." (interactive "P") (let* ((files (dired-get-marked-files t arg)) - (modestr (and (stringp (car files)) - (nth 8 (file-attributes (car files))))) + ;; The source of default file attributes is the file at point. + (default-file (dired-get-filename t)) + (modestr (when default-file + (nth 8 (file-attributes default-file)))) (default (and (stringp modestr) (string-match "^.\\(...\\)\\(...\\)\\(...\\)$" modestr) @@ -300,7 +335,9 @@ Symbolic modes like `g+w' are allowed." ;;;###autoload (defun dired-do-chgrp (&optional arg) - "Change the group of the marked (or next ARG) files." + "Change the group of the marked (or next ARG) files. +Type M-n to pull the file attributes of the file at point +into the minibuffer." (interactive "P") (if (memq system-type '(ms-dos windows-nt)) (error "chgrp not supported on this system")) @@ -308,7 +345,9 @@ Symbolic modes like `g+w' are allowed." ;;;###autoload (defun dired-do-chown (&optional arg) - "Change the owner of the marked (or next ARG) files." + "Change the owner of the marked (or next ARG) files. +Type M-n to pull the file attributes of the file at point +into the minibuffer." (interactive "P") (if (memq system-type '(ms-dos windows-nt)) (error "chown not supported on this system")) @@ -317,7 +356,9 @@ Symbolic modes like `g+w' are allowed." ;;;###autoload (defun dired-do-touch (&optional arg) "Change the timestamp of the marked (or next ARG) files. -This calls touch." +This calls touch. +Type M-n to pull the file attributes of the file at point +into the minibuffer." (interactive "P") (dired-do-chxxx "Timestamp" dired-touch-program 'touch arg)) diff --git a/lisp/dired.el b/lisp/dired.el index 54921a4ea66..0f453fe8f5d 100644 --- a/lisp/dired.el +++ b/lisp/dired.el @@ -3097,21 +3097,37 @@ argument or confirmation)." (defun dired-mark (arg) "Mark the current (or next ARG) files. If on a subdir headerline, mark all its files except `.' and `..'. +If the region is active in Transient Mark mode, mark all files +in the active region. Use \\[dired-unmark-all-files] to remove all marks and \\[dired-unmark] on a subdir to remove the marks in this subdir." (interactive "P") - (if (dired-get-subdir) - (save-excursion (dired-mark-subdir-files)) + (cond + ;; Mark files in the active region. + ((and transient-mark-mode mark-active) + (save-excursion + (let ((beg (region-beginning)) + (end (region-end))) + (dired-mark-files-in-region + (progn (goto-char beg) (line-beginning-position)) + (progn (goto-char end) (line-beginning-position)))))) + ;; Mark subdir files from the subdir headerline. + ((dired-get-subdir) + (save-excursion (dired-mark-subdir-files))) + ;; Mark the current (or next ARG) files. + (t (let ((inhibit-read-only t)) (dired-repeat-over-lines (prefix-numeric-value arg) - (function (lambda () (delete-char 1) (insert dired-marker-char))))))) + (function (lambda () (delete-char 1) (insert dired-marker-char)))))))) (defun dired-unmark (arg) "Unmark the current (or next ARG) files. -If looking at a subdir, unmark all its files except `.' and `..'." +If looking at a subdir, unmark all its files except `.' and `..'. +If the region is active in Transient Mark mode, unmark all files +in the active region." (interactive "P") (let ((dired-marker-char ?\040)) (dired-mark arg))) @@ -3119,8 +3135,9 @@ If looking at a subdir, unmark all its files except `.' and `..'." (defun dired-flag-file-deletion (arg) "In Dired, flag the current line's file for deletion. With prefix arg, repeat over several lines. - -If on a subdir headerline, mark all its files except `.' and `..'." +If on a subdir headerline, flag all its files except `.' and `..'. +If the region is active in Transient Mark mode, flag all files +in the active region." (interactive "P") (let ((dired-marker-char dired-del-marker)) (dired-mark arg))) @@ -3128,7 +3145,9 @@ If on a subdir headerline, mark all its files except `.' and `..'." (defun dired-unmark-backward (arg) "In Dired, move up lines and remove marks or deletion flags there. Optional prefix ARG says how many lines to unmark/unflag; default -is one line." +is one line. +If the region is active in Transient Mark mode, unmark all files +in the active region." (interactive "p") (dired-unmark (- arg))) @@ -3744,17 +3763,22 @@ Ask means pop up a menu for the user to select one of copy, move or link." ;;;;;; dired-run-shell-command dired-do-shell-command dired-do-async-shell-command ;;;;;; dired-clean-directory dired-do-print dired-do-touch dired-do-chown ;;;;;; dired-do-chgrp dired-do-chmod dired-compare-directories dired-backup-diff -;;;;;; dired-diff) "dired-aux" "dired-aux.el" "3c768e470d5d053d0049e0286ce38da7") +;;;;;; dired-diff) "dired-aux" "dired-aux.el" "2a883f0d481a8d0292eb90c09ae36a8e") ;;; Generated autoloads from dired-aux.el (autoload 'dired-diff "dired-aux" "\ Compare file at point with file FILE using `diff'. -If called interactively, prompt for FILE; if the file at point -has a backup file, use that as the default. +If called interactively, prompt for FILE. If the file at point +has a backup file, use that as the default. If the mark is active +in Transient Mark mode, use the file at the mark as the default. +\(That's the mark set by \\[set-mark-command], not by Dired's +\\[dired-mark] command.) -FILE is the first file given to `diff'. -With prefix arg, prompt for second argument SWITCHES, -which is the string of command switches for `diff'. +FILE is the first file given to `diff'. The file at point +is the second file given to `diff'. + +With prefix arg, prompt for second argument SWITCHES, which is +the string of command switches for the third argument of `diff'. \(fn FILE &optional SWITCHES)" t nil) @@ -3798,22 +3822,30 @@ Examples of PREDICATE: (autoload 'dired-do-chmod "dired-aux" "\ Change the mode of the marked (or next ARG) files. Symbolic modes like `g+w' are allowed. +Type M-n to pull the file attributes of the file at point +into the minibuffer. \(fn &optional ARG)" t nil) (autoload 'dired-do-chgrp "dired-aux" "\ Change the group of the marked (or next ARG) files. +Type M-n to pull the file attributes of the file at point +into the minibuffer. \(fn &optional ARG)" t nil) (autoload 'dired-do-chown "dired-aux" "\ Change the owner of the marked (or next ARG) files. +Type M-n to pull the file attributes of the file at point +into the minibuffer. \(fn &optional ARG)" t nil) (autoload 'dired-do-touch "dired-aux" "\ Change the timestamp of the marked (or next ARG) files. This calls touch. +Type M-n to pull the file attributes of the file at point +into the minibuffer. \(fn &optional ARG)" t nil) diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el index 5606e71dea4..828cd6e72e7 100644 --- a/lisp/mail/rmail.el +++ b/lisp/mail/rmail.el @@ -4550,7 +4550,7 @@ encoded string (and the same mask) will decode the string." ;;; Start of automatically extracted autoloads. ;;;### (autoloads (rmail-edit-current-message) "rmailedit" "rmailedit.el" -;;;;;; "7d558f958574f6003fa474ce2f3c80a8") +;;;;;; "78b8b7d5c679935c118d595d473d7c5e") ;;; Generated autoloads from rmailedit.el (autoload 'rmail-edit-current-message "rmailedit" "\ diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el index 77ec8084ea2..0f02e81cbad 100644 --- a/lisp/progmodes/ruby-mode.el +++ b/lisp/progmodes/ruby-mode.el @@ -1112,8 +1112,9 @@ See `add-log-current-defun-function'." (goto-char end) (when (eq (char-before) ?\}) (delete-char -1) - (skip-chars-backward " \t") - (when (not (bolp)) + (when (save-excursion + (skip-chars-backward " \t") + (not (bolp))) (insert "\n")) (insert "end") (setq end-marker (point-marker)) @@ -1137,16 +1138,35 @@ See `add-log-current-defun-function'." t))) (defun ruby-do-end-to-brace (orig end) - (goto-char (- end 3)) - (when (looking-at ruby-block-end-re) - (delete-char 3) - (insert "}") - (goto-char orig) - (delete-char 2) - (insert "{") - (if (looking-at "\\s +|") - (delete-char (- (match-end 0) (match-beginning 0) 1))) - t)) + (let (beg-marker end-marker beg-pos end-pos) + (goto-char (- end 3)) + (when (looking-at ruby-block-end-re) + (delete-char 3) + (setq end-marker (point-marker)) + (insert "}") + (goto-char orig) + (delete-char 2) + (insert "{") + (setq beg-marker (point-marker)) + (when (looking-at "\\s +|") + (delete-char (- (match-end 0) (match-beginning 0) 1)) + (forward-char) + (re-search-forward "|" (line-end-position) t)) + (save-excursion + (skip-chars-forward " \t\n\r") + (setq beg-pos (point)) + (goto-char end-marker) + (skip-chars-backward " \t\n\r") + (setq end-pos (point))) + (when (or + (< end-pos beg-pos) + (and (= (line-number-at-pos beg-pos) (line-number-at-pos end-pos)) + (< (+ (current-column) (- end-pos beg-pos) 2) fill-column))) + (just-one-space -1) + (goto-char end-marker) + (just-one-space -1)) + (goto-char beg-marker) + t))) (defun ruby-toggle-block () "Toggle block type from do-end to braces or back. diff --git a/nt/ChangeLog b/nt/ChangeLog index 106f0e91695..311a10f66c5 100644 --- a/nt/ChangeLog +++ b/nt/ChangeLog @@ -1,3 +1,8 @@ +2012-09-18 Eli Zaretskii + + * configure.bat: Include stddef.h before gif_lib.h, to have size_t + defined, as needed by giflib-5.0.0. (Bug#12464) + 2012-09-17 Juanma Barranquero * config.nt: Sync with autogen/config.in. diff --git a/nt/configure.bat b/nt/configure.bat index 5890b12d02e..7fedff411bc 100755 --- a/nt/configure.bat +++ b/nt/configure.bat @@ -627,7 +627,10 @@ rm -f junk.c junk.obj if (%gifsupport%) == (N) goto gifDone echo Checking for libgif... -echo #include "gif_lib.h" >junk.c +rem giflib-5.0.0 needs size_t defined before gif_lib.h is included +rem redirection characters need to be protected from the shell +echo #include ^ >junk.c +echo #include "gif_lib.h" >>junk.c echo main (){} >>junk.c rem -o option is ignored with cl, but allows result to be consistent. echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log diff --git a/src/emacsgtkfixed.c b/src/emacsgtkfixed.c index d23f3e21f24..c190862ab7d 100644 --- a/src/emacsgtkfixed.c +++ b/src/emacsgtkfixed.c @@ -35,26 +35,26 @@ along with GNU Emacs. If not, see . */ # pragma GCC diagnostic ignored "-Wunused-local-typedefs" #endif -#define EMACS_TYPE_FIXED emacs_fixed_get_type () -#define EMACS_FIXED(obj) \ - G_TYPE_CHECK_INSTANCE_CAST (obj, EMACS_TYPE_FIXED, EmacsFixed) +//#define EMACS_TYPE_FIXED emacs_fixed_get_type () +/* #define EMACS_FIXED(obj) \ */ +/* G_TYPE_CHECK_INSTANCE_CAST (obj, EMACS_TYPE_FIXED, EmacsFixed) */ typedef struct _EmacsFixed EmacsFixed; typedef struct _EmacsFixedPrivate EmacsFixedPrivate; typedef struct _EmacsFixedClass EmacsFixedClass; -struct _EmacsFixed -{ - GtkFixed container; +/* struct _EmacsFixed */ +/* { */ +/* GtkFixed container; */ - /*< private >*/ - EmacsFixedPrivate *priv; -}; +/* /\*< private >*\/ */ +/* EmacsFixedPrivate *priv; */ +/* }; */ -struct _EmacsFixedClass -{ - GtkFixedClass parent_class; -}; +/* struct _EmacsFixedClass */ +/* { */ +/* GtkFixedClass parent_class; */ +/* }; */ struct _EmacsFixedPrivate { diff --git a/src/emacsgtkfixed.h b/src/emacsgtkfixed.h index 90fb37e521b..b18c541081f 100644 --- a/src/emacsgtkfixed.h +++ b/src/emacsgtkfixed.h @@ -34,7 +34,7 @@ struct frame; #define EMACS_IS_FIXED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EMACS_TYPE_FIXED)) #define EMACS_FIXED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EMACS_TYPE_FIXED, EmacsFixedClass)) -typedef struct _EmacsFixed EmacsFixed; +//typedef struct _EmacsFixed EmacsFixed; typedef struct _EmacsFixedPrivate EmacsFixedPrivate; typedef struct _EmacsFixedClass EmacsFixedClass; diff --git a/test/automated/ruby-mode-tests.el b/test/automated/ruby-mode-tests.el index e711b52fb9c..ba3040577b1 100644 --- a/test/automated/ruby-mode-tests.el +++ b/test/automated/ruby-mode-tests.el @@ -219,12 +219,16 @@ VALUES-PLIST is a list with alternating index and value elements." (should (string= "foo do |b|\nend" (buffer-string))))) (ert-deftest ruby-toggle-block-to-brace () - (with-temp-buffer - (insert "foo do |b|\nend") - (ruby-mode) - (beginning-of-line) - (ruby-toggle-block) - (should (string= "foo {|b|\n}" (buffer-string))))) + (let ((pairs '((16 . "foo {|b| b + 2 }") + (15 . "foo {|b|\n b + 2\n}")))) + (dolist (pair pairs) + (with-temp-buffer + (let ((fill-column (car pair))) + (insert "foo do |b|\n b + 2\nend") + (ruby-mode) + (beginning-of-line) + (ruby-toggle-block) + (should (string= (cdr pair) (buffer-string)))))))) (ert-deftest ruby-toggle-block-to-multiline () (with-temp-buffer