diff options
| author | Joakim Verona | 2013-04-02 08:27:06 +0200 |
|---|---|---|
| committer | Joakim Verona | 2013-04-02 08:27:06 +0200 |
| commit | 39667649e3bcf9b9de7b70ee7dd2df7bfb9ac972 (patch) | |
| tree | 3a4e52c3ada312618e94abd078e384e3a6223708 | |
| parent | 86dc02fe08b1a2d26d380ba67d6a165ead70bc79 (diff) | |
| parent | 5584cae0be16d1188dbe4943e71b4954a9a028d0 (diff) | |
| download | emacs-39667649e3bcf9b9de7b70ee7dd2df7bfb9ac972.tar.gz emacs-39667649e3bcf9b9de7b70ee7dd2df7bfb9ac972.zip | |
upstream
| -rw-r--r-- | ChangeLog | 5 | ||||
| -rw-r--r-- | admin/CPP-DEFINES | 1 | ||||
| -rw-r--r-- | autogen/config.in | 3 | ||||
| -rwxr-xr-x | autogen/configure | 3 | ||||
| -rw-r--r-- | configure.ac | 1 | ||||
| -rw-r--r-- | etc/NEWS | 7 | ||||
| -rw-r--r-- | lisp/ChangeLog | 22 | ||||
| -rw-r--r-- | lisp/case-table.el | 40 | ||||
| -rw-r--r-- | lisp/facemenu.el | 15 | ||||
| -rw-r--r-- | lisp/gnus/ChangeLog | 9 | ||||
| -rw-r--r-- | lisp/gnus/gnus-msg.el | 18 | ||||
| -rw-r--r-- | lisp/gnus/nnir.el | 7 | ||||
| -rw-r--r-- | lisp/minibuffer.el | 21 | ||||
| -rw-r--r-- | lisp/progmodes/subword.el | 111 | ||||
| -rw-r--r-- | nt/ChangeLog | 19 | ||||
| -rw-r--r-- | nt/addpm.c | 7 | ||||
| -rw-r--r-- | nt/inc/ms-w32.h | 4 | ||||
| -rw-r--r-- | nt/makefile.w32-in | 24 | ||||
| -rw-r--r-- | src/ChangeLog | 17 | ||||
| -rw-r--r-- | src/casetab.c | 12 | ||||
| -rw-r--r-- | src/image.c | 36 | ||||
| -rw-r--r-- | src/w32.c | 3 | ||||
| -rw-r--r-- | src/xfns.c | 10 |
23 files changed, 281 insertions, 114 deletions
| @@ -1,3 +1,8 @@ | |||
| 1 | 2013-03-27 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | * configure.ac (HAVE_XKBGETKEYBOARD): Remove. | ||
| 4 | Subsumed by HAVE_XKB. All uses changed. | ||
| 5 | |||
| 1 | 2013-03-27 Aidan Gauland <aidalgol@no8wireless.co.nz | 6 | 2013-03-27 Aidan Gauland <aidalgol@no8wireless.co.nz |
| 2 | 7 | ||
| 3 | * lisp/eshell/em-unix.el: Moved su and sudo to... | 8 | * lisp/eshell/em-unix.el: Moved su and sudo to... |
diff --git a/admin/CPP-DEFINES b/admin/CPP-DEFINES index c11c3c3b489..a89d1764f7b 100644 --- a/admin/CPP-DEFINES +++ b/admin/CPP-DEFINES | |||
| @@ -377,7 +377,6 @@ HAVE_WS2TCPIP_H | |||
| 377 | HAVE_XAW3D | 377 | HAVE_XAW3D |
| 378 | HAVE_XFT | 378 | HAVE_XFT |
| 379 | HAVE_XIM | 379 | HAVE_XIM |
| 380 | HAVE_XKBGETKEYBOARD | ||
| 381 | HAVE_XPM | 380 | HAVE_XPM |
| 382 | HAVE_XRMSETDATABASE | 381 | HAVE_XRMSETDATABASE |
| 383 | HAVE_XSCREENNUMBEROFSCREEN | 382 | HAVE_XSCREENNUMBEROFSCREEN |
diff --git a/autogen/config.in b/autogen/config.in index f68efed389a..25f060b9bb9 100644 --- a/autogen/config.in +++ b/autogen/config.in | |||
| @@ -1109,9 +1109,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 1109 | /* Define to 1 if you have the Xkb extension. */ | 1109 | /* Define to 1 if you have the Xkb extension. */ |
| 1110 | #undef HAVE_XKB | 1110 | #undef HAVE_XKB |
| 1111 | 1111 | ||
| 1112 | /* Define to 1 if you have the XkbGetKeyboard function. */ | ||
| 1113 | #undef HAVE_XKBGETKEYBOARD | ||
| 1114 | |||
| 1115 | /* Define to 1 if you have the Xpm library (-lXpm). */ | 1112 | /* Define to 1 if you have the Xpm library (-lXpm). */ |
| 1116 | #undef HAVE_XPM | 1113 | #undef HAVE_XPM |
| 1117 | 1114 | ||
diff --git a/autogen/configure b/autogen/configure index e519edaa39d..126248beced 100755 --- a/autogen/configure +++ b/autogen/configure | |||
| @@ -10634,9 +10634,6 @@ rm -f core conftest.err conftest.$ac_objext \ | |||
| 10634 | $as_echo "$emacs_xkb" >&6; } | 10634 | $as_echo "$emacs_xkb" >&6; } |
| 10635 | if test $emacs_xkb = yes; then | 10635 | if test $emacs_xkb = yes; then |
| 10636 | 10636 | ||
| 10637 | $as_echo "#define HAVE_XKBGETKEYBOARD 1" >>confdefs.h | ||
| 10638 | |||
| 10639 | |||
| 10640 | $as_echo "#define HAVE_XKB 1" >>confdefs.h | 10637 | $as_echo "#define HAVE_XKB 1" >>confdefs.h |
| 10641 | 10638 | ||
| 10642 | fi | 10639 | fi |
diff --git a/configure.ac b/configure.ac index 3feb6479271..4a27099ab4a 100644 --- a/configure.ac +++ b/configure.ac | |||
| @@ -1823,7 +1823,6 @@ if test "${HAVE_X11}" = "yes"; then | |||
| 1823 | emacs_xkb=yes, emacs_xkb=no) | 1823 | emacs_xkb=yes, emacs_xkb=no) |
| 1824 | AC_MSG_RESULT($emacs_xkb) | 1824 | AC_MSG_RESULT($emacs_xkb) |
| 1825 | if test $emacs_xkb = yes; then | 1825 | if test $emacs_xkb = yes; then |
| 1826 | AC_DEFINE(HAVE_XKBGETKEYBOARD, 1, [Define to 1 if you have the XkbGetKeyboard function.]) | ||
| 1827 | AC_DEFINE(HAVE_XKB, 1, [Define to 1 if you have the Xkb extension.]) | 1826 | AC_DEFINE(HAVE_XKB, 1, [Define to 1 if you have the Xkb extension.]) |
| 1828 | fi | 1827 | fi |
| 1829 | 1828 | ||
| @@ -254,6 +254,11 @@ has not been relevant for some time. | |||
| 254 | 254 | ||
| 255 | 255 | ||
| 256 | * New Modes and Packages in Emacs 24.4 | 256 | * New Modes and Packages in Emacs 24.4 |
| 257 | ** New `superword-mode' in subword.el | ||
| 258 | `superword-mode' overrides the default word motion commands to treat | ||
| 259 | symbol_words as a single word, similar to what `subword-mode' does and | ||
| 260 | using the same internal functions. | ||
| 261 | |||
| 257 | ** New nadvice.el package offering lighter-weight advice facilities. | 262 | ** New nadvice.el package offering lighter-weight advice facilities. |
| 258 | It is layered as: | 263 | It is layered as: |
| 259 | - add-function/remove-function which can be used to add/remove code on any | 264 | - add-function/remove-function which can be used to add/remove code on any |
| @@ -297,6 +302,8 @@ file using `set-file-extended-attributes'. | |||
| 297 | 302 | ||
| 298 | ** `dont-compile' is declared obsolete. | 303 | ** `dont-compile' is declared obsolete. |
| 299 | 304 | ||
| 305 | ** `get-upcase-table' is obsoleted by the new `case-table-get-table'. | ||
| 306 | |||
| 300 | ** Support for filesystem notifications. | 307 | ** Support for filesystem notifications. |
| 301 | Emacs now supports notifications of filesystem changes, such as | 308 | Emacs now supports notifications of filesystem changes, such as |
| 302 | creation, modification, and deletion of files. This requires the | 309 | creation, modification, and deletion of files. This requires the |
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index e86bc7f0a96..00a105b5142 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,25 @@ | |||
| 1 | 2013-03-27 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * facemenu.el (list-colors-callback): New defvar. | ||
| 4 | (list-colors-redisplay): New function. | ||
| 5 | (list-colors-display): Install list-colors-redisplay as the | ||
| 6 | revert-buffer-function. (Bug#14063) | ||
| 7 | |||
| 8 | 2013-03-27 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 9 | |||
| 10 | * minibuffer.el (completion-pcm--merge-completions): Make sure prefixes | ||
| 11 | and suffixes don't overlap (bug#14061). | ||
| 12 | |||
| 13 | * case-table.el: Use lexical-binding. | ||
| 14 | (case-table-get-table): New function. | ||
| 15 | (get-upcase-table): Use it. Mark as obsolete. Adjust callers. | ||
| 16 | |||
| 17 | 2013-03-27 Teodor Zlatanov <tzz@lifelogs.com> | ||
| 18 | |||
| 19 | * progmodes/subword.el: Add `superword-mode' to do word motion | ||
| 20 | over symbol_words (parallels and leverages `subword-mode' which | ||
| 21 | does word motion inside MixedCaseWords). | ||
| 22 | |||
| 1 | 2013-03-26 Stefan Monnier <monnier@iro.umontreal.ca> | 23 | 2013-03-26 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 24 | ||
| 3 | * desktop.el (desktop--v2s): Rename from desktop-internal-v2s. | 25 | * desktop.el (desktop--v2s): Rename from desktop-internal-v2s. |
diff --git a/lisp/case-table.el b/lisp/case-table.el index 711d4e4ec8c..7d4aa27de1c 100644 --- a/lisp/case-table.el +++ b/lisp/case-table.el | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | ;;; case-table.el --- code to extend the character set and support case tables | 1 | ;;; case-table.el --- code to extend the character set and support case tables -*- lexical-binding: t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1988, 1994, 2001-2013 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1988, 1994, 2001-2013 Free Software Foundation, Inc. |
| 4 | 4 | ||
| @@ -65,18 +65,26 @@ | |||
| 65 | (describe-vector description) | 65 | (describe-vector description) |
| 66 | (help-mode))))) | 66 | (help-mode))))) |
| 67 | 67 | ||
| 68 | (defun case-table-get-table (case-table table) | ||
| 69 | "Return the TABLE of CASE-TABLE. | ||
| 70 | TABLE can be `down', `up', `eqv' or `canon'." | ||
| 71 | (let ((slot-nb (cdr (assq table '((up . 0) (canon . 1) (eqv . 2)))))) | ||
| 72 | (or (if (eq table 'down) case-table) | ||
| 73 | (char-table-extra-slot case-table slot-nb) | ||
| 74 | ;; Setup all extra slots of CASE-TABLE by temporarily selecting | ||
| 75 | ;; it as the standard case table. | ||
| 76 | (let ((old (standard-case-table))) | ||
| 77 | (unwind-protect | ||
| 78 | (progn | ||
| 79 | (set-standard-case-table case-table) | ||
| 80 | (char-table-extra-slot case-table slot-nb)) | ||
| 81 | (or (eq case-table old) | ||
| 82 | (set-standard-case-table old))))))) | ||
| 83 | |||
| 68 | (defun get-upcase-table (case-table) | 84 | (defun get-upcase-table (case-table) |
| 69 | "Return the upcase table of CASE-TABLE." | 85 | "Return the upcase table of CASE-TABLE." |
| 70 | (or (char-table-extra-slot case-table 0) | 86 | (case-table-get-table case-table 'up)) |
| 71 | ;; Setup all extra slots of CASE-TABLE by temporarily selecting | 87 | (make-obsolete 'get-upcase-table 'case-table-get-table "24.4") |
| 72 | ;; it as the standard case table. | ||
| 73 | (let ((old (standard-case-table))) | ||
| 74 | (unwind-protect | ||
| 75 | (progn | ||
| 76 | (set-standard-case-table case-table) | ||
| 77 | (char-table-extra-slot case-table 0)) | ||
| 78 | (or (eq case-table old) | ||
| 79 | (set-standard-case-table old)))))) | ||
| 80 | 88 | ||
| 81 | (defun copy-case-table (case-table) | 89 | (defun copy-case-table (case-table) |
| 82 | (let ((copy (copy-sequence case-table)) | 90 | (let ((copy (copy-sequence case-table)) |
| @@ -97,7 +105,7 @@ It also modifies `standard-syntax-table' to | |||
| 97 | indicate left and right delimiters." | 105 | indicate left and right delimiters." |
| 98 | (aset table l l) | 106 | (aset table l l) |
| 99 | (aset table r r) | 107 | (aset table r r) |
| 100 | (let ((up (get-upcase-table table))) | 108 | (let ((up (case-table-get-table table 'up))) |
| 101 | (aset up l l) | 109 | (aset up l l) |
| 102 | (aset up r r)) | 110 | (aset up r r)) |
| 103 | ;; Clear out the extra slots so that they will be | 111 | ;; Clear out the extra slots so that they will be |
| @@ -117,7 +125,7 @@ It also modifies `standard-syntax-table' to give them the syntax of | |||
| 117 | word constituents." | 125 | word constituents." |
| 118 | (aset table uc lc) | 126 | (aset table uc lc) |
| 119 | (aset table lc lc) | 127 | (aset table lc lc) |
| 120 | (let ((up (get-upcase-table table))) | 128 | (let ((up (case-table-get-table table 'up))) |
| 121 | (aset up uc uc) | 129 | (aset up uc uc) |
| 122 | (aset up lc uc)) | 130 | (aset up lc uc)) |
| 123 | ;; Clear out the extra slots so that they will be | 131 | ;; Clear out the extra slots so that they will be |
| @@ -132,7 +140,7 @@ word constituents." | |||
| 132 | It also modifies `standard-syntax-table' to give them the syntax of | 140 | It also modifies `standard-syntax-table' to give them the syntax of |
| 133 | word constituents." | 141 | word constituents." |
| 134 | (aset table lc lc) | 142 | (aset table lc lc) |
| 135 | (let ((up (get-upcase-table table))) | 143 | (let ((up (case-table-get-table table 'up))) |
| 136 | (aset up uc uc) | 144 | (aset up uc uc) |
| 137 | (aset up lc uc)) | 145 | (aset up lc uc)) |
| 138 | ;; Clear out the extra slots so that they will be | 146 | ;; Clear out the extra slots so that they will be |
| @@ -148,7 +156,7 @@ It also modifies `standard-syntax-table' to give them the syntax of | |||
| 148 | word constituents." | 156 | word constituents." |
| 149 | (aset table uc lc) | 157 | (aset table uc lc) |
| 150 | (aset table lc lc) | 158 | (aset table lc lc) |
| 151 | (let ((up (get-upcase-table table))) | 159 | (let ((up (case-table-get-table table 'up))) |
| 152 | (aset up uc uc)) | 160 | (aset up uc uc)) |
| 153 | ;; Clear out the extra slots so that they will be | 161 | ;; Clear out the extra slots so that they will be |
| 154 | ;; recomputed from the main (downcase) table and upcase table. | 162 | ;; recomputed from the main (downcase) table and upcase table. |
| @@ -164,7 +172,7 @@ that will be used as the downcase part of a case table. | |||
| 164 | It also modifies `standard-syntax-table'. | 172 | It also modifies `standard-syntax-table'. |
| 165 | SYNTAX should be \" \", \"w\", \".\" or \"_\"." | 173 | SYNTAX should be \" \", \"w\", \".\" or \"_\"." |
| 166 | (aset table c c) | 174 | (aset table c c) |
| 167 | (let ((up (get-upcase-table table))) | 175 | (let ((up (case-table-get-table table 'up))) |
| 168 | (aset up c c)) | 176 | (aset up c c)) |
| 169 | ;; Clear out the extra slots so that they will be | 177 | ;; Clear out the extra slots so that they will be |
| 170 | ;; recomputed from the main (downcase) table and upcase table. | 178 | ;; recomputed from the main (downcase) table and upcase table. |
diff --git a/lisp/facemenu.el b/lisp/facemenu.el index e86c1c23d66..9a66edd28fc 100644 --- a/lisp/facemenu.el +++ b/lisp/facemenu.el | |||
| @@ -513,12 +513,23 @@ filter out the color from the output." | |||
| 513 | (* (nth 1 c-rgb) 0.7151522) | 513 | (* (nth 1 c-rgb) 0.7151522) |
| 514 | (* (nth 2 c-rgb) 0.0721750)))))) | 514 | (* (nth 2 c-rgb) 0.0721750)))))) |
| 515 | 515 | ||
| 516 | (defvar list-colors-callback nil | ||
| 517 | "Value of CALLBACK arg passed to `list-colors-display'; internal use.") | ||
| 518 | |||
| 519 | (defun list-colors-redisplay (_ignore-auto _noconfirm) | ||
| 520 | "Redisplay the colors using `list-colors-sort'. | ||
| 521 | |||
| 522 | This is installed as a `revert-buffer-function' in the *Colors* buffer." | ||
| 523 | (list-colors-display nil (buffer-name) list-colors-callback)) | ||
| 524 | |||
| 516 | (defun list-colors-display (&optional list buffer-name callback) | 525 | (defun list-colors-display (&optional list buffer-name callback) |
| 517 | "Display names of defined colors, and show what they look like. | 526 | "Display names of defined colors, and show what they look like. |
| 518 | If the optional argument LIST is non-nil, it should be a list of | 527 | If the optional argument LIST is non-nil, it should be a list of |
| 519 | colors to display. Otherwise, this command computes a list of | 528 | colors to display. Otherwise, this command computes a list of |
| 520 | colors that the current display can handle. Customize | 529 | colors that the current display can handle. Customize |
| 521 | `list-colors-sort' to change the order in which colors are shown. | 530 | `list-colors-sort' to change the order in which colors are shown. |
| 531 | Type `g' or \\[revert-buffer] after customizing `list-colors-sort' | ||
| 532 | to redisplay colors in the new order. | ||
| 522 | 533 | ||
| 523 | If the optional argument BUFFER-NAME is nil, it defaults to *Colors*. | 534 | If the optional argument BUFFER-NAME is nil, it defaults to *Colors*. |
| 524 | 535 | ||
| @@ -566,7 +577,9 @@ color. The function should accept a single argument, the color name." | |||
| 566 | (erase-buffer) | 577 | (erase-buffer) |
| 567 | (list-colors-print list callback) | 578 | (list-colors-print list callback) |
| 568 | (set-buffer-modified-p nil) | 579 | (set-buffer-modified-p nil) |
| 569 | (setq truncate-lines t))) | 580 | (setq truncate-lines t) |
| 581 | (setq-local list-colors-callback callback) | ||
| 582 | (setq revert-buffer-function 'list-colors-redisplay))) | ||
| 570 | (when callback | 583 | (when callback |
| 571 | (pop-to-buffer buffer-name) | 584 | (pop-to-buffer buffer-name) |
| 572 | (message "Click on a color to select it."))) | 585 | (message "Click on a color to select it."))) |
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 9fffc4f1a45..cbfb0109aec 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,3 +1,12 @@ | |||
| 1 | 2013-03-27 Andrew Cohen <cohen@bu.edu> | ||
| 2 | |||
| 3 | * gnus-msg.el (gnus-setup-message): When replying from an nnir summary | ||
| 4 | buffer use the posting-style and gcc of the original article group. | ||
| 5 | (gnus-inews-insert-gcc): Don't set gcc-self for virtual groups. | ||
| 6 | |||
| 7 | * nnir.el: Fix byte-compile warning. nnoo-define-skeleton should come | ||
| 8 | after other deffoos. | ||
| 9 | |||
| 1 | 2013-03-26 Andrew Cohen <cohen@bu.edu> | 10 | 2013-03-26 Andrew Cohen <cohen@bu.edu> |
| 2 | 11 | ||
| 3 | * nnir.el: Major rewrite. Cleaner separation between searches and group | 12 | * nnir.el: Major rewrite. Cleaner separation between searches and group |
diff --git a/lisp/gnus/gnus-msg.el b/lisp/gnus/gnus-msg.el index f7b2d8b99d9..067465b0e6f 100644 --- a/lisp/gnus/gnus-msg.el +++ b/lisp/gnus/gnus-msg.el | |||
| @@ -426,15 +426,24 @@ Thank you for your help in stamping out bugs. | |||
| 426 | `(let ((,winconf (current-window-configuration)) | 426 | `(let ((,winconf (current-window-configuration)) |
| 427 | (,winconf-name gnus-current-window-configuration) | 427 | (,winconf-name gnus-current-window-configuration) |
| 428 | (,buffer (buffer-name (current-buffer))) | 428 | (,buffer (buffer-name (current-buffer))) |
| 429 | (,article gnus-article-reply) | 429 | (,article (or (when (and |
| 430 | (string-match "^nnir:" gnus-newsgroup-name) | ||
| 431 | gnus-article-reply) | ||
| 432 | (nnir-article-number gnus-article-reply)) | ||
| 433 | gnus-article-reply)) | ||
| 430 | (,yanked gnus-article-yanked-articles) | 434 | (,yanked gnus-article-yanked-articles) |
| 431 | (,group gnus-newsgroup-name) | 435 | (,group (or (when (and |
| 436 | (string-match "^nnir:" gnus-newsgroup-name) | ||
| 437 | gnus-article-reply) | ||
| 438 | (nnir-article-group gnus-article-reply)) | ||
| 439 | gnus-newsgroup-name)) | ||
| 432 | (message-header-setup-hook | 440 | (message-header-setup-hook |
| 433 | (copy-sequence message-header-setup-hook)) | 441 | (copy-sequence message-header-setup-hook)) |
| 434 | (mbl mml-buffer-list) | 442 | (mbl mml-buffer-list) |
| 435 | (message-mode-hook (copy-sequence message-mode-hook))) | 443 | (message-mode-hook (copy-sequence message-mode-hook))) |
| 436 | (setq mml-buffer-list nil) | 444 | (setq mml-buffer-list nil) |
| 437 | (add-hook 'message-header-setup-hook 'gnus-inews-insert-gcc) | 445 | (add-hook 'message-header-setup-hook (lambda () |
| 446 | (gnus-inews-insert-gcc ,group))) | ||
| 438 | ;; message-newsreader and message-mailer were formerly set in | 447 | ;; message-newsreader and message-mailer were formerly set in |
| 439 | ;; gnus-inews-add-send-actions, but this is too late when | 448 | ;; gnus-inews-add-send-actions, but this is too late when |
| 440 | ;; message-generate-headers-first is used. --ansel | 449 | ;; message-generate-headers-first is used. --ansel |
| @@ -1706,7 +1715,8 @@ this is a reply." | |||
| 1706 | (group (when group (gnus-group-decoded-name group))) | 1715 | (group (when group (gnus-group-decoded-name group))) |
| 1707 | (var (or gnus-outgoing-message-group gnus-message-archive-group)) | 1716 | (var (or gnus-outgoing-message-group gnus-message-archive-group)) |
| 1708 | (gcc-self-val | 1717 | (gcc-self-val |
| 1709 | (and group (gnus-group-find-parameter group 'gcc-self))) | 1718 | (and group (gnus-group-find-parameter group 'gcc-self) |
| 1719 | (not (gnus-virtual-group-p group)))) | ||
| 1710 | result | 1720 | result |
| 1711 | (groups | 1721 | (groups |
| 1712 | (cond | 1722 | (cond |
diff --git a/lisp/gnus/nnir.el b/lisp/gnus/nnir.el index cabd08b0653..a48c6043e82 100644 --- a/lisp/gnus/nnir.el +++ b/lisp/gnus/nnir.el | |||
| @@ -886,7 +886,7 @@ skips all prompting." | |||
| 886 | ;; (car (assoc '(nnir "nnir-ephemeral" (nnir-address "nnir")) | 886 | ;; (car (assoc '(nnir "nnir-ephemeral" (nnir-address "nnir")) |
| 887 | ;; gnus-opened-servers)))) | 887 | ;; gnus-opened-servers)))) |
| 888 | 888 | ||
| 889 | (nnoo-define-skeleton nnir) | 889 | |
| 890 | 890 | ||
| 891 | 891 | ||
| 892 | (defmacro nnir-add-result (dirnam artno score prefix server artlist) | 892 | (defmacro nnir-add-result (dirnam artno score prefix server artlist) |
| @@ -1880,6 +1880,11 @@ article came from is also searched." | |||
| 1880 | (nnir-request-update-info pgroup (gnus-get-info pgroup))) | 1880 | (nnir-request-update-info pgroup (gnus-get-info pgroup))) |
| 1881 | t)) | 1881 | t)) |
| 1882 | 1882 | ||
| 1883 | (deffoo nnir-request-close () | ||
| 1884 | t) | ||
| 1885 | |||
| 1886 | |||
| 1887 | (nnoo-define-skeleton nnir) | ||
| 1883 | 1888 | ||
| 1884 | ;; The end. | 1889 | ;; The end. |
| 1885 | (provide 'nnir) | 1890 | (provide 'nnir) |
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index ec237f0f664..016b16d0740 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el | |||
| @@ -2997,12 +2997,21 @@ the same set of elements." | |||
| 2997 | ;; here any more. | 2997 | ;; here any more. |
| 2998 | (unless unique | 2998 | (unless unique |
| 2999 | (push elem res) | 2999 | (push elem res) |
| 3000 | (when (memq elem '(star point prefix)) | 3000 | ;; Extract common suffix additionally to common prefix. |
| 3001 | ;; Extract common suffix additionally to common prefix. | 3001 | ;; Don't do it for `any' since it could lead to a merged |
| 3002 | ;; Only do it for `point', `star', and `prefix' since for | 3002 | ;; completion that doesn't itself match the candidates. |
| 3003 | ;; `any' it could lead to a merged completion that | 3003 | (when (and (memq elem '(star point prefix)) |
| 3004 | ;; doesn't itself match the candidates. | 3004 | ;; If prefix is one of the completions, there's no |
| 3005 | (let ((suffix (completion--common-suffix comps))) | 3005 | ;; suffix left to find. |
| 3006 | (not (assoc-string prefix comps t))) | ||
| 3007 | (let ((suffix | ||
| 3008 | (completion--common-suffix | ||
| 3009 | (if (zerop (length prefix)) comps | ||
| 3010 | ;; Ignore the chars in the common prefix, so we | ||
| 3011 | ;; don't merge '("abc" "abbc") as "ab*bc". | ||
| 3012 | (let ((skip (length prefix))) | ||
| 3013 | (mapcar (lambda (str) (substring str skip)) | ||
| 3014 | comps)))))) | ||
| 3006 | (cl-assert (stringp suffix)) | 3015 | (cl-assert (stringp suffix)) |
| 3007 | (unless (equal suffix "") | 3016 | (unless (equal suffix "") |
| 3008 | (push suffix res))))) | 3017 | (push suffix res))))) |
diff --git a/lisp/progmodes/subword.el b/lisp/progmodes/subword.el index 80e632c6ef6..24abfa8a053 100644 --- a/lisp/progmodes/subword.el +++ b/lisp/progmodes/subword.el | |||
| @@ -26,7 +26,8 @@ | |||
| 26 | 26 | ||
| 27 | ;; This package provides `subword' oriented commands and a minor mode | 27 | ;; This package provides `subword' oriented commands and a minor mode |
| 28 | ;; (`subword-mode') that substitutes the common word handling | 28 | ;; (`subword-mode') that substitutes the common word handling |
| 29 | ;; functions with them. | 29 | ;; functions with them. It also provides the `superword-mode' minor |
| 30 | ;; mode that treats symbols as words, the opposite of `subword-mode'. | ||
| 30 | 31 | ||
| 31 | ;; In spite of GNU Coding Standards, it is popular to name a symbol by | 32 | ;; In spite of GNU Coding Standards, it is popular to name a symbol by |
| 32 | ;; mixing uppercase and lowercase letters, e.g. "GtkWidget", | 33 | ;; mixing uppercase and lowercase letters, e.g. "GtkWidget", |
| @@ -43,12 +44,13 @@ | |||
| 43 | 44 | ||
| 44 | ;; The subword oriented commands defined in this package recognize | 45 | ;; The subword oriented commands defined in this package recognize |
| 45 | ;; subwords in a nomenclature to move between them and to edit them as | 46 | ;; subwords in a nomenclature to move between them and to edit them as |
| 46 | ;; words. | 47 | ;; words. You also get a mode to treat symbols as words instead, |
| 48 | ;; called `superword-mode' (the opposite of `subword-mode'). | ||
| 47 | 49 | ||
| 48 | ;; In the minor mode, all common key bindings for word oriented | 50 | ;; In the minor mode, all common key bindings for word oriented |
| 49 | ;; commands are overridden by the subword oriented commands: | 51 | ;; commands are overridden by the subword oriented commands: |
| 50 | 52 | ||
| 51 | ;; Key Word oriented command Subword oriented command | 53 | ;; Key Word oriented command Subword oriented command (also superword) |
| 52 | ;; ============================================================ | 54 | ;; ============================================================ |
| 53 | ;; M-f `forward-word' `subword-forward' | 55 | ;; M-f `forward-word' `subword-forward' |
| 54 | ;; M-b `backward-word' `subword-backward' | 56 | ;; M-b `backward-word' `subword-backward' |
| @@ -67,8 +69,13 @@ | |||
| 67 | ;; To make the mode turn on automatically, put the following code in | 69 | ;; To make the mode turn on automatically, put the following code in |
| 68 | ;; your .emacs: | 70 | ;; your .emacs: |
| 69 | ;; | 71 | ;; |
| 70 | ;; (add-hook 'c-mode-common-hook | 72 | ;; (add-hook 'c-mode-common-hook 'subword-mode) |
| 71 | ;; (lambda () (subword-mode 1))) | 73 | ;; |
| 74 | |||
| 75 | ;; To make the mode turn `superword-mode' on automatically for | ||
| 76 | ;; only some modes, put the following code in your .emacs: | ||
| 77 | ;; | ||
| 78 | ;; (add-hook 'c-mode-common-hook 'superword-mode) | ||
| 72 | ;; | 79 | ;; |
| 73 | 80 | ||
| 74 | ;; Acknowledgment: | 81 | ;; Acknowledgment: |
| @@ -98,7 +105,8 @@ | |||
| 98 | (let ((map (make-sparse-keymap))) | 105 | (let ((map (make-sparse-keymap))) |
| 99 | (dolist (cmd '(forward-word backward-word mark-word kill-word | 106 | (dolist (cmd '(forward-word backward-word mark-word kill-word |
| 100 | backward-kill-word transpose-words | 107 | backward-kill-word transpose-words |
| 101 | capitalize-word upcase-word downcase-word)) | 108 | capitalize-word upcase-word downcase-word |
| 109 | left-word right-word)) | ||
| 102 | (let ((othercmd (let ((name (symbol-name cmd))) | 110 | (let ((othercmd (let ((name (symbol-name cmd))) |
| 103 | (string-match "\\([[:alpha:]-]+\\)-word[s]?" name) | 111 | (string-match "\\([[:alpha:]-]+\\)-word[s]?" name) |
| 104 | (intern (concat "subword-" (match-string 1 name)))))) | 112 | (intern (concat "subword-" (match-string 1 name)))))) |
| @@ -133,9 +141,8 @@ subwords in a nomenclature to move between subwords and to edit them | |||
| 133 | as words. | 141 | as words. |
| 134 | 142 | ||
| 135 | \\{subword-mode-map}" | 143 | \\{subword-mode-map}" |
| 136 | nil | 144 | :lighter " ," |
| 137 | nil | 145 | (when subword-mode (superword-mode -1))) |
| 138 | subword-mode-map) | ||
| 139 | 146 | ||
| 140 | (define-obsolete-function-alias 'c-subword-mode 'subword-mode "23.2") | 147 | (define-obsolete-function-alias 'c-subword-mode 'subword-mode "23.2") |
| 141 | 148 | ||
| @@ -161,6 +168,8 @@ Optional argument ARG is the same as for `forward-word'." | |||
| 161 | 168 | ||
| 162 | (put 'subword-forward 'CUA 'move) | 169 | (put 'subword-forward 'CUA 'move) |
| 163 | 170 | ||
| 171 | (defalias 'subword-right 'subword-forward) | ||
| 172 | |||
| 164 | (defun subword-backward (&optional arg) | 173 | (defun subword-backward (&optional arg) |
| 165 | "Do the same as `backward-word' but on subwords. | 174 | "Do the same as `backward-word' but on subwords. |
| 166 | See the command `subword-mode' for a description of subwords. | 175 | See the command `subword-mode' for a description of subwords. |
| @@ -168,6 +177,8 @@ Optional argument ARG is the same as for `backward-word'." | |||
| 168 | (interactive "p") | 177 | (interactive "p") |
| 169 | (subword-forward (- (or arg 1)))) | 178 | (subword-forward (- (or arg 1)))) |
| 170 | 179 | ||
| 180 | (defalias 'subword-left 'subword-backward) | ||
| 181 | |||
| 171 | (defun subword-mark (arg) | 182 | (defun subword-mark (arg) |
| 172 | "Do the same as `mark-word' but on subwords. | 183 | "Do the same as `mark-word' but on subwords. |
| 173 | See the command `subword-mode' for a description of subwords. | 184 | See the command `subword-mode' for a description of subwords. |
| @@ -254,41 +265,73 @@ Optional argument ARG is the same as for `capitalize-word'." | |||
| 254 | (unless advance | 265 | (unless advance |
| 255 | (goto-char start)))) | 266 | (goto-char start)))) |
| 256 | 267 | ||
| 268 | |||
| 269 | |||
| 270 | (defvar superword-mode-map subword-mode-map | ||
| 271 | "Keymap used in `superword-mode' minor mode.") | ||
| 272 | |||
| 273 | ;;;###autoload | ||
| 274 | (define-minor-mode superword-mode | ||
| 275 | "Toggle superword movement and editing (Superword mode). | ||
| 276 | With a prefix argument ARG, enable Superword mode if ARG is | ||
| 277 | positive, and disable it otherwise. If called from Lisp, enable | ||
| 278 | the mode if ARG is omitted or nil. | ||
| 279 | |||
| 280 | Superword mode is a buffer-local minor mode. Enabling it remaps | ||
| 281 | word-based editing commands to superword-based commands that | ||
| 282 | treat symbols as words, e.g. \"this_is_a_symbol\". | ||
| 283 | |||
| 284 | The superword oriented commands activated in this minor mode | ||
| 285 | recognize symbols as superwords to move between superwords and to | ||
| 286 | edit them as words. | ||
| 287 | |||
| 288 | \\{superword-mode-map}" | ||
| 289 | :lighter " ²" | ||
| 290 | (when superword-mode (subword-mode -1))) | ||
| 291 | |||
| 292 | ;;;###autoload | ||
| 293 | (define-global-minor-mode global-superword-mode superword-mode | ||
| 294 | (lambda () (superword-mode 1))) | ||
| 257 | 295 | ||
| 258 | 296 | ||
| 259 | ;; | 297 | ;; |
| 260 | ;; Internal functions | 298 | ;; Internal functions |
| 261 | ;; | 299 | ;; |
| 262 | (defun subword-forward-internal () | 300 | (defun subword-forward-internal () |
| 263 | (if (and | 301 | (if superword-mode |
| 264 | (save-excursion | 302 | (forward-symbol 1) |
| 265 | (let ((case-fold-search nil)) | 303 | (if (and |
| 266 | (re-search-forward subword-forward-regexp nil t))) | 304 | (save-excursion |
| 267 | (> (match-end 0) (point))) | 305 | (let ((case-fold-search nil)) |
| 268 | (goto-char | 306 | (re-search-forward subword-forward-regexp nil t))) |
| 269 | (cond | 307 | (> (match-end 0) (point))) |
| 270 | ((< 1 (- (match-end 2) (match-beginning 2))) | 308 | (goto-char |
| 271 | (1- (match-end 2))) | 309 | (cond |
| 272 | (t | 310 | ((< 1 (- (match-end 2) (match-beginning 2))) |
| 273 | (match-end 0)))) | 311 | (1- (match-end 2))) |
| 274 | (forward-word 1))) | 312 | (t |
| 275 | 313 | (match-end 0)))) | |
| 314 | (forward-word 1)))) | ||
| 276 | 315 | ||
| 277 | (defun subword-backward-internal () | 316 | (defun subword-backward-internal () |
| 278 | (if (save-excursion | 317 | (if superword-mode |
| 279 | (let ((case-fold-search nil)) | 318 | (forward-symbol -1) |
| 280 | (re-search-backward subword-backward-regexp nil t))) | 319 | (if (save-excursion |
| 281 | (goto-char | 320 | (let ((case-fold-search nil)) |
| 282 | (cond | 321 | (re-search-backward subword-backward-regexp nil t))) |
| 283 | ((and (match-end 3) | 322 | (goto-char |
| 284 | (< 1 (- (match-end 3) (match-beginning 3))) | 323 | (cond |
| 285 | (not (eq (point) (match-end 3)))) | 324 | ((and (match-end 3) |
| 286 | (1- (match-end 3))) | 325 | (< 1 (- (match-end 3) (match-beginning 3))) |
| 287 | (t | 326 | (not (eq (point) (match-end 3)))) |
| 288 | (1+ (match-beginning 0))))) | 327 | (1- (match-end 3))) |
| 289 | (backward-word 1))) | 328 | (t |
| 329 | (1+ (match-beginning 0))))) | ||
| 330 | (backward-word 1)))) | ||
| 290 | 331 | ||
| 291 | 332 | ||
| 333 | |||
| 292 | (provide 'subword) | 334 | (provide 'subword) |
| 335 | (provide 'superword) | ||
| 293 | 336 | ||
| 294 | ;;; subword.el ends here | 337 | ;;; subword.el ends here |
diff --git a/nt/ChangeLog b/nt/ChangeLog index f851004f605..03bd86a3216 100644 --- a/nt/ChangeLog +++ b/nt/ChangeLog | |||
| @@ -1,3 +1,22 @@ | |||
| 1 | 2013-03-27 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * makefile.w32-in (all-other-dirs-nmake, all-other-dirs-gmake) | ||
| 4 | (bootstrap, bootstrap-nmake, bootstrap-gmake, install-addpm): | ||
| 5 | Depend on .exe files. | ||
| 6 | |||
| 7 | * inc/ms-w32.h (sys_localtime) [_W64]: Provide a prototype, to | ||
| 8 | avoid MinGW64 compiler warnings in editfns.c. | ||
| 9 | |||
| 10 | Fix rules for parallel builds. | ||
| 11 | * makefile.w32-in (ALL): Depend on *.exe files, not on phony names | ||
| 12 | without the .exe suffix. | ||
| 13 | (addpm, ddeclient, cmdproxy, addsection, preprep): Remove phony | ||
| 14 | targets. | ||
| 15 | (.PHONY): Remove. | ||
| 16 | |||
| 17 | * addpm.c (_WIN32_IE) [_W64]: Move after inclusion of standard | ||
| 18 | headers, since that's where _W64 is declared by MinGW64. | ||
| 19 | |||
| 1 | 2013-03-26 Eli Zaretskii <eliz@gnu.org> | 20 | 2013-03-26 Eli Zaretskii <eliz@gnu.org> |
| 2 | 21 | ||
| 3 | * inc/ms-w32.h (USE_NO_MINGW_SETJMP_TWO_ARGS): Don't define. | 22 | * inc/ms-w32.h (USE_NO_MINGW_SETJMP_TWO_ARGS): Don't define. |
diff --git a/nt/addpm.c b/nt/addpm.c index 8079d51dd64..688e0167334 100644 --- a/nt/addpm.c +++ b/nt/addpm.c | |||
| @@ -34,6 +34,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 34 | installed, then the DDE fallback for creating icons the Windows 3.1 | 34 | installed, then the DDE fallback for creating icons the Windows 3.1 |
| 35 | progman way will be used instead, but that is prone to lockups | 35 | progman way will be used instead, but that is prone to lockups |
| 36 | caused by other applications not servicing their message queues. */ | 36 | caused by other applications not servicing their message queues. */ |
| 37 | #include <stdlib.h> | ||
| 38 | #include <stdio.h> | ||
| 39 | #include <malloc.h> | ||
| 40 | |||
| 37 | /* MinGW64 defines _W64 and barfs if _WIN32_IE is defined to anything | 41 | /* MinGW64 defines _W64 and barfs if _WIN32_IE is defined to anything |
| 38 | below 0x500. */ | 42 | below 0x500. */ |
| 39 | #ifndef _W64 | 43 | #ifndef _W64 |
| @@ -45,9 +49,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 45 | #include <windows.h> | 49 | #include <windows.h> |
| 46 | #include <shlobj.h> | 50 | #include <shlobj.h> |
| 47 | #include <ddeml.h> | 51 | #include <ddeml.h> |
| 48 | #include <stdlib.h> | ||
| 49 | #include <stdio.h> | ||
| 50 | #include <malloc.h> | ||
| 51 | 52 | ||
| 52 | HDDEDATA CALLBACK | 53 | HDDEDATA CALLBACK |
| 53 | DdeCallback (UINT uType, UINT uFmt, HCONV hconv, | 54 | DdeCallback (UINT uType, UINT uFmt, HCONV hconv, |
diff --git a/nt/inc/ms-w32.h b/nt/inc/ms-w32.h index a2111da6f3e..cd183c917c4 100644 --- a/nt/inc/ms-w32.h +++ b/nt/inc/ms-w32.h | |||
| @@ -161,6 +161,10 @@ extern char *getenv (); | |||
| 161 | /* Make sure 'struct timespec' and 'struct timezone' are defined. */ | 161 | /* Make sure 'struct timespec' and 'struct timezone' are defined. */ |
| 162 | #include <sys/types.h> | 162 | #include <sys/types.h> |
| 163 | #include <time.h> | 163 | #include <time.h> |
| 164 | /* This prototype avoids MinGW64 compiler warnings due to the fact | ||
| 165 | that time.h is included before localtime is redirected to | ||
| 166 | sys_localtime below. */ | ||
| 167 | extern struct tm * sys_localtime (const time_t *); | ||
| 164 | /* MinGW64 uses a 2-argument _setjmp, and setjmp is a macro defined to | 168 | /* MinGW64 uses a 2-argument _setjmp, and setjmp is a macro defined to |
| 165 | supply the 2nd arg correctly, so don't use _setjmp directly in that | 169 | supply the 2nd arg correctly, so don't use _setjmp directly in that |
| 166 | case. */ | 170 | case. */ |
diff --git a/nt/makefile.w32-in b/nt/makefile.w32-in index 9336ddb5002..d3e1c8e2228 100644 --- a/nt/makefile.w32-in +++ b/nt/makefile.w32-in | |||
| @@ -31,33 +31,26 @@ CLIENTRES = $(BLD)/emacsclient.res | |||
| 31 | 31 | ||
| 32 | XMFLAGS = | 32 | XMFLAGS = |
| 33 | 33 | ||
| 34 | ALL = addpm ddeclient runemacs cmdproxy addsection preprep | 34 | ALL = $(BLD)/addpm.exe $(BLD)/ddeclient.exe $(BLD)/runemacs.exe \ |
| 35 | $(BLD)/cmdproxy.exe $(BLD)/addsection.exe $(BLD)/preprep.exe | ||
| 35 | 36 | ||
| 36 | .PHONY: $(ALL) | ||
| 37 | |||
| 38 | |||
| 39 | addpm: stamp_BLD $(BLD)/addpm.exe | ||
| 40 | $(BLD)/addpm.exe: $(BLD)/addpm.$(O) | 37 | $(BLD)/addpm.exe: $(BLD)/addpm.$(O) |
| 41 | $(LINK) $(LINK_OUT)$@ \ | 38 | $(LINK) $(LINK_OUT)$@ \ |
| 42 | $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) \ | 39 | $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) \ |
| 43 | $(USER32) $(OLE32) $(UUID) $(SHELL32) | 40 | $(USER32) $(OLE32) $(UUID) $(SHELL32) |
| 44 | 41 | ||
| 45 | ddeclient: stamp_BLD $(BLD)/ddeclient.exe | ||
| 46 | $(BLD)/ddeclient.exe: $(BLD)/ddeclient.$(O) | 42 | $(BLD)/ddeclient.exe: $(BLD)/ddeclient.$(O) |
| 47 | $(LINK) $(LINK_OUT)$@ \ | 43 | $(LINK) $(LINK_OUT)$@ \ |
| 48 | $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32) | 44 | $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32) |
| 49 | 45 | ||
| 50 | cmdproxy: stamp_BLD $(BLD)/cmdproxy.exe | ||
| 51 | $(BLD)/cmdproxy.exe: $(BLD)/cmdproxy.$(O) | 46 | $(BLD)/cmdproxy.exe: $(BLD)/cmdproxy.$(O) |
| 52 | $(LINK) $(LINK_OUT)$@ \ | 47 | $(LINK) $(LINK_OUT)$@ \ |
| 53 | $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(USER32) | 48 | $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(USER32) |
| 54 | 49 | ||
| 55 | addsection: stamp_BLD $(BLD)/addsection.exe | ||
| 56 | $(BLD)/addsection.exe: $(BLD)/addsection.$(O) | 50 | $(BLD)/addsection.exe: $(BLD)/addsection.$(O) |
| 57 | $(LINK) $(LINK_OUT)$@ \ | 51 | $(LINK) $(LINK_OUT)$@ \ |
| 58 | $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(USER32) | 52 | $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(USER32) |
| 59 | 53 | ||
| 60 | preprep: stamp_BLD $(BLD)/preprep.exe | ||
| 61 | $(BLD)/preprep.exe: $(BLD)/preprep.$(O) | 54 | $(BLD)/preprep.exe: $(BLD)/preprep.$(O) |
| 62 | $(LINK) $(LINK_OUT)$@ \ | 55 | $(LINK) $(LINK_OUT)$@ \ |
| 63 | $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) | 56 | $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) |
| @@ -72,7 +65,6 @@ $(TRES): emacs.rc icons/emacs.ico $(EMACS_MANIFEST) stamp_BLD | |||
| 72 | $(CLIENTRES): emacsclient.rc stamp_BLD | 65 | $(CLIENTRES): emacsclient.rc stamp_BLD |
| 73 | $(RC) $(RC_OUT)$(CLIENTRES) emacsclient.rc | 66 | $(RC) $(RC_OUT)$(CLIENTRES) emacsclient.rc |
| 74 | 67 | ||
| 75 | runemacs: stamp_BLD $(BLD)/runemacs.exe | ||
| 76 | $(BLD)/runemacs.exe: $(BLD)/runemacs.$(O) $(TRES) | 68 | $(BLD)/runemacs.exe: $(BLD)/runemacs.$(O) $(TRES) |
| 77 | $(LINK) $(LINK_OUT)$@ $(SUBSYSTEM_WINDOWS) \ | 69 | $(LINK) $(LINK_OUT)$@ $(SUBSYSTEM_WINDOWS) \ |
| 78 | $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32) | 70 | $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32) |
| @@ -93,7 +85,7 @@ all: which-sh $(ALL) $(CLIENTRES) all-other-dirs-$(MAKETYPE) | |||
| 93 | 85 | ||
| 94 | all-other-dirs-$(MAKETYPE): maybe-bootstrap | 86 | all-other-dirs-$(MAKETYPE): maybe-bootstrap |
| 95 | 87 | ||
| 96 | all-other-dirs-nmake: addsection | 88 | all-other-dirs-nmake: $(BLD)/addsection.exe |
| 97 | cd ..\lib | 89 | cd ..\lib |
| 98 | $(MAKE) $(MFLAGS) all | 90 | $(MAKE) $(MFLAGS) all |
| 99 | cd ..\lib-src | 91 | cd ..\lib-src |
| @@ -106,7 +98,7 @@ all-other-dirs-nmake: addsection | |||
| 106 | $(MAKE) $(MFLAGS) all | 98 | $(MAKE) $(MFLAGS) all |
| 107 | cd ..\nt | 99 | cd ..\nt |
| 108 | 100 | ||
| 109 | all-other-dirs-gmake: addsection | 101 | all-other-dirs-gmake: $(BLD)/addsection.exe |
| 110 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib all | 102 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib all |
| 111 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src all | 103 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src all |
| 112 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src all | 104 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src all |
| @@ -153,10 +145,10 @@ maybe-bootstrap-SH: doit | |||
| 153 | 145 | ||
| 154 | # Bootstrap depends on cmdproxy because some Lisp functions | 146 | # Bootstrap depends on cmdproxy because some Lisp functions |
| 155 | # loaded during bootstrap may need to run shell commands. | 147 | # loaded during bootstrap may need to run shell commands. |
| 156 | bootstrap: addsection cmdproxy bootstrap-$(MAKETYPE) | 148 | bootstrap: $(BLD)/addsection.exe $(BLD)/cmdproxy.exe bootstrap-$(MAKETYPE) |
| 157 | $(MAKE) $(MFLAGS) $(XMFLAGS) all | 149 | $(MAKE) $(MFLAGS) $(XMFLAGS) all |
| 158 | 150 | ||
| 159 | bootstrap-nmake: addsection cmdproxy | 151 | bootstrap-nmake: $(BLD)/addsection.exe $(BLD)/cmdproxy.exe |
| 160 | cd ..\lisp | 152 | cd ..\lisp |
| 161 | $(MAKE) $(MFLAGS) bootstrap-clean | 153 | $(MAKE) $(MFLAGS) bootstrap-clean |
| 162 | cd ..\src | 154 | cd ..\src |
| @@ -176,7 +168,7 @@ bootstrap-nmake: addsection cmdproxy | |||
| 176 | $(MAKE) $(MFLAGS) DOC | 168 | $(MAKE) $(MFLAGS) DOC |
| 177 | cd ..\nt | 169 | cd ..\nt |
| 178 | 170 | ||
| 179 | bootstrap-gmake: addsection cmdproxy | 171 | bootstrap-gmake: $(BLD)/addsection.exe $(BLD)/cmdproxy.exe |
| 180 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp bootstrap-clean | 172 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp bootstrap-clean |
| 181 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src clean | 173 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src clean |
| 182 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src clean | 174 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src clean |
| @@ -257,7 +249,7 @@ install-other-dirs-gmake: all | |||
| 257 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp install | 249 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp install |
| 258 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim install | 250 | $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim install |
| 259 | 251 | ||
| 260 | install-addpm: $(INSTALL_DIR)/bin addpm | 252 | install-addpm: $(INSTALL_DIR)/bin $(BLD)/addpm.exe |
| 261 | - $(CP) $(BLD)/addpm.exe $(INSTALL_DIR)/bin | 253 | - $(CP) $(BLD)/addpm.exe $(INSTALL_DIR)/bin |
| 262 | 254 | ||
| 263 | install-shortcuts: install-addpm | 255 | install-shortcuts: install-addpm |
diff --git a/src/ChangeLog b/src/ChangeLog index 94eef08b5f8..6698cfe0fcf 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,20 @@ | |||
| 1 | 2013-03-27 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * casetab.c (init_casetab_once): Don't abuse the ascii eqv table for | ||
| 4 | the upcase table. | ||
| 5 | |||
| 6 | 2013-03-27 rzl24ozi <rzl24ozi@gmail.com> (tiny changes) | ||
| 7 | |||
| 8 | * image.c [WINDOWSNT]: Fix calls to DEF_IMGLIB_FN for SVG function. | ||
| 9 | |||
| 10 | 2013-03-27 Eli Zaretskii <eliz@gnu.org> | ||
| 11 | |||
| 12 | * w32proc.c (IsValidLocale) [__GNUC__]: Don't declare prototype, | ||
| 13 | since MinGW's w32api headers do. This avoids compiler warnings. | ||
| 14 | |||
| 15 | * w32.c (FSCTL_GET_REPARSE_POINT) [_MSC_VER || _W64]: Don't define | ||
| 16 | if already defined. | ||
| 17 | |||
| 1 | 2013-03-26 Eli Zaretskii <eliz@gnu.org> | 18 | 2013-03-26 Eli Zaretskii <eliz@gnu.org> |
| 2 | 19 | ||
| 3 | * w32.c (_REPARSE_DATA_BUFFER): Condition by _MSVC and _W64. | 20 | * w32.c (_REPARSE_DATA_BUFFER): Condition by _MSVC and _W64. |
diff --git a/src/casetab.c b/src/casetab.c index 76f72b26db3..13bed64e4b2 100644 --- a/src/casetab.c +++ b/src/casetab.c | |||
| @@ -246,7 +246,7 @@ void | |||
| 246 | init_casetab_once (void) | 246 | init_casetab_once (void) |
| 247 | { | 247 | { |
| 248 | register int i; | 248 | register int i; |
| 249 | Lisp_Object down, up; | 249 | Lisp_Object down, up, eqv; |
| 250 | DEFSYM (Qcase_table, "case-table"); | 250 | DEFSYM (Qcase_table, "case-table"); |
| 251 | 251 | ||
| 252 | /* Intern this now in case it isn't already done. | 252 | /* Intern this now in case it isn't already done. |
| @@ -275,13 +275,21 @@ init_casetab_once (void) | |||
| 275 | 275 | ||
| 276 | for (i = 0; i < 128; i++) | 276 | for (i = 0; i < 128; i++) |
| 277 | { | 277 | { |
| 278 | int c = (i >= 'a' && i <= 'z') ? i + ('A' - 'a') : i; | ||
| 279 | CHAR_TABLE_SET (up, i, make_number (c)); | ||
| 280 | } | ||
| 281 | |||
| 282 | eqv = Fmake_char_table (Qcase_table, Qnil); | ||
| 283 | |||
| 284 | for (i = 0; i < 128; i++) | ||
| 285 | { | ||
| 278 | int c = ((i >= 'A' && i <= 'Z') ? i + ('a' - 'A') | 286 | int c = ((i >= 'A' && i <= 'Z') ? i + ('a' - 'A') |
| 279 | : ((i >= 'a' && i <= 'z') ? i + ('A' - 'a') | 287 | : ((i >= 'a' && i <= 'z') ? i + ('A' - 'a') |
| 280 | : i)); | 288 | : i)); |
| 281 | CHAR_TABLE_SET (up, i, make_number (c)); | 289 | CHAR_TABLE_SET (up, i, make_number (c)); |
| 282 | } | 290 | } |
| 283 | 291 | ||
| 284 | set_char_table_extras (down, 2, Fcopy_sequence (up)); | 292 | set_char_table_extras (down, 2, eqv); |
| 285 | 293 | ||
| 286 | /* Fill in what isn't filled in. */ | 294 | /* Fill in what isn't filled in. */ |
| 287 | set_case_table (down, 1); | 295 | set_case_table (down, 1); |
diff --git a/src/image.c b/src/image.c index 21f486176df..6da430bee73 100644 --- a/src/image.c +++ b/src/image.c | |||
| @@ -8120,24 +8120,24 @@ svg_image_p (Lisp_Object object) | |||
| 8120 | #ifdef WINDOWSNT | 8120 | #ifdef WINDOWSNT |
| 8121 | 8121 | ||
| 8122 | /* SVG library functions. */ | 8122 | /* SVG library functions. */ |
| 8123 | DEF_IMGLIB_FN (RsvgHandle *, rsvg_handle_new); | 8123 | DEF_IMGLIB_FN (RsvgHandle *, rsvg_handle_new, (void)); |
| 8124 | DEF_IMGLIB_FN (void, rsvg_handle_get_dimensions); | 8124 | DEF_IMGLIB_FN (void, rsvg_handle_get_dimensions, (RsvgHandle *, RsvgDimensionData *)); |
| 8125 | DEF_IMGLIB_FN (gboolean, rsvg_handle_write); | 8125 | DEF_IMGLIB_FN (gboolean, rsvg_handle_write, (RsvgHandle *, const guchar *, gsize, GError **)); |
| 8126 | DEF_IMGLIB_FN (gboolean, rsvg_handle_close); | 8126 | DEF_IMGLIB_FN (gboolean, rsvg_handle_close, (RsvgHandle *, GError **)); |
| 8127 | DEF_IMGLIB_FN (GdkPixbuf *, rsvg_handle_get_pixbuf); | 8127 | DEF_IMGLIB_FN (GdkPixbuf *, rsvg_handle_get_pixbuf, (RsvgHandle *)); |
| 8128 | 8128 | DEF_IMGLIB_FN (void *, rsvg_handle_set_size_callback, (RsvgHandle *, RsvgSizeFunc, gpointer, GDestroyNotify)); | |
| 8129 | DEF_IMGLIB_FN (int, gdk_pixbuf_get_width); | 8129 | |
| 8130 | DEF_IMGLIB_FN (int, gdk_pixbuf_get_height); | 8130 | DEF_IMGLIB_FN (int, gdk_pixbuf_get_width, (const GdkPixbuf *)); |
| 8131 | DEF_IMGLIB_FN (guchar *, gdk_pixbuf_get_pixels); | 8131 | DEF_IMGLIB_FN (int, gdk_pixbuf_get_height, (const GdkPixbuf *)); |
| 8132 | DEF_IMGLIB_FN (int, gdk_pixbuf_get_rowstride); | 8132 | DEF_IMGLIB_FN (guchar *, gdk_pixbuf_get_pixels, (const GdkPixbuf *)); |
| 8133 | DEF_IMGLIB_FN (GdkColorspace, gdk_pixbuf_get_colorspace); | 8133 | DEF_IMGLIB_FN (int, gdk_pixbuf_get_rowstride, (const GdkPixbuf *)); |
| 8134 | DEF_IMGLIB_FN (int, gdk_pixbuf_get_n_channels); | 8134 | DEF_IMGLIB_FN (GdkColorspace, gdk_pixbuf_get_colorspace, (const GdkPixbuf *)); |
| 8135 | DEF_IMGLIB_FN (gboolean, gdk_pixbuf_get_has_alpha); | 8135 | DEF_IMGLIB_FN (int, gdk_pixbuf_get_n_channels, (const GdkPixbuf *)); |
| 8136 | DEF_IMGLIB_FN (int, gdk_pixbuf_get_bits_per_sample); | 8136 | DEF_IMGLIB_FN (gboolean, gdk_pixbuf_get_has_alpha, (const GdkPixbuf *)); |
| 8137 | 8137 | DEF_IMGLIB_FN (int, gdk_pixbuf_get_bits_per_sample, (const GdkPixbuf *)); | |
| 8138 | DEF_IMGLIB_FN (void, g_type_init); | 8138 | |
| 8139 | DEF_IMGLIB_FN (void, g_object_unref); | 8139 | DEF_IMGLIB_FN (void, g_type_init, (void)); |
| 8140 | DEF_IMGLIB_FN (void, g_error_free); | 8140 | DEF_IMGLIB_FN (void, g_object_unref, (gpointer)); |
| 8141 | 8141 | ||
| 8142 | Lisp_Object Qgdk_pixbuf, Qglib, Qgobject; | 8142 | Lisp_Object Qgdk_pixbuf, Qglib, Qgobject; |
| 8143 | 8143 | ||
| @@ -174,9 +174,12 @@ typedef struct _REPARSE_DATA_BUFFER { | |||
| 174 | #ifndef CTL_CODE | 174 | #ifndef CTL_CODE |
| 175 | #define CTL_CODE(t,f,m,a) (((t)<<16)|((a)<<14)|((f)<<2)|(m)) | 175 | #define CTL_CODE(t,f,m,a) (((t)<<16)|((a)<<14)|((f)<<2)|(m)) |
| 176 | #endif | 176 | #endif |
| 177 | /* MinGW64 defines FSCTL_GET_REPARSE_POINT on winioctl.h. */ | ||
| 178 | #ifndef FSCTL_GET_REPARSE_POINT | ||
| 177 | #define FSCTL_GET_REPARSE_POINT \ | 179 | #define FSCTL_GET_REPARSE_POINT \ |
| 178 | CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 42, METHOD_BUFFERED, FILE_ANY_ACCESS) | 180 | CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 42, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| 179 | #endif | 181 | #endif |
| 182 | #endif | ||
| 180 | 183 | ||
| 181 | /* TCP connection support. */ | 184 | /* TCP connection support. */ |
| 182 | #include <sys/socket.h> | 185 | #include <sys/socket.h> |
diff --git a/src/xfns.c b/src/xfns.c index a6a179be97d..e24d3981a09 100644 --- a/src/xfns.c +++ b/src/xfns.c | |||
| @@ -5591,7 +5591,7 @@ nil, it defaults to the selected frame. */) | |||
| 5591 | Keyboard | 5591 | Keyboard |
| 5592 | ***********************************************************************/ | 5592 | ***********************************************************************/ |
| 5593 | 5593 | ||
| 5594 | #ifdef HAVE_XKBGETKEYBOARD | 5594 | #ifdef HAVE_XKB |
| 5595 | #include <X11/XKBlib.h> | 5595 | #include <X11/XKBlib.h> |
| 5596 | #include <X11/keysym.h> | 5596 | #include <X11/keysym.h> |
| 5597 | #endif | 5597 | #endif |
| @@ -5605,7 +5605,9 @@ usual X keysyms. Value is `lambda' if we cannot determine if both keys are | |||
| 5605 | present and mapped to the usual X keysyms. */) | 5605 | present and mapped to the usual X keysyms. */) |
| 5606 | (Lisp_Object frame) | 5606 | (Lisp_Object frame) |
| 5607 | { | 5607 | { |
| 5608 | #ifdef HAVE_XKBGETKEYBOARD | 5608 | #ifndef HAVE_XKB |
| 5609 | return Qlambda; | ||
| 5610 | #else | ||
| 5609 | XkbDescPtr kb; | 5611 | XkbDescPtr kb; |
| 5610 | struct frame *f = check_x_frame (frame); | 5612 | struct frame *f = check_x_frame (frame); |
| 5611 | Display *dpy = FRAME_X_DISPLAY (f); | 5613 | Display *dpy = FRAME_X_DISPLAY (f); |
| @@ -5683,9 +5685,7 @@ present and mapped to the usual X keysyms. */) | |||
| 5683 | } | 5685 | } |
| 5684 | unblock_input (); | 5686 | unblock_input (); |
| 5685 | return have_keys; | 5687 | return have_keys; |
| 5686 | #else /* not HAVE_XKBGETKEYBOARD */ | 5688 | #endif |
| 5687 | return Qlambda; | ||
| 5688 | #endif /* not HAVE_XKBGETKEYBOARD */ | ||
| 5689 | } | 5689 | } |
| 5690 | 5690 | ||
| 5691 | 5691 | ||