diff options
| author | Glenn Morris | 2012-06-28 23:28:37 -0700 |
|---|---|---|
| committer | Glenn Morris | 2012-06-28 23:28:37 -0700 |
| commit | c8d3a25c0981020e1b8aa3bf96a4a0059be82431 (patch) | |
| tree | 46a76faa5df111a6bea439330ea26bea1cc85585 | |
| parent | 5437effdb836355436f5f986e46baa6a41ec0966 (diff) | |
| parent | 3d8b9024adf6136edd3f7b7edf70a88b6ab8a61b (diff) | |
| download | emacs-c8d3a25c0981020e1b8aa3bf96a4a0059be82431.tar.gz emacs-c8d3a25c0981020e1b8aa3bf96a4a0059be82431.zip | |
Merge from emacs-24; up to 2012-04-30T11:57:47Z!sdl.web@gmail.com
| -rw-r--r-- | doc/emacs/ChangeLog | 8 | ||||
| -rw-r--r-- | doc/emacs/fixit.texi | 8 | ||||
| -rw-r--r-- | etc/PROBLEMS | 30 | ||||
| -rw-r--r-- | lisp/ChangeLog | 29 | ||||
| -rw-r--r-- | lisp/calendar/cal-dst.el | 4 | ||||
| -rw-r--r-- | lisp/minibuffer.el | 3 | ||||
| -rw-r--r-- | lisp/progmodes/cperl-mode.el | 17 | ||||
| -rw-r--r-- | lisp/progmodes/f90.el | 10 | ||||
| -rw-r--r-- | lisp/progmodes/which-func.el | 3 | ||||
| -rw-r--r-- | lisp/textmodes/enriched.el | 2 | ||||
| -rw-r--r-- | src/ChangeLog | 9 | ||||
| -rw-r--r-- | src/charset.c | 10 | ||||
| -rw-r--r-- | src/gnutls.c | 1 |
13 files changed, 113 insertions, 21 deletions
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index f7feb62e0f1..117bbfc21c8 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog | |||
| @@ -1,3 +1,11 @@ | |||
| 1 | 2012-06-29 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * fixit.texi (Undo): Grammar fixes. (Bug#11779) | ||
| 4 | |||
| 5 | 2012-06-29 Michael Witten <mfwitten@gmail.com> (tiny change) | ||
| 6 | |||
| 7 | * fixit.texi (Undo): Fix typo. (Bug#11775) | ||
| 8 | |||
| 1 | 2012-06-27 Glenn Morris <rgm@gnu.org> | 9 | 2012-06-27 Glenn Morris <rgm@gnu.org> |
| 2 | 10 | ||
| 3 | * ack.texi (Acknowledgments): Tiny update. | 11 | * ack.texi (Acknowledgments): Tiny update. |
diff --git a/doc/emacs/fixit.texi b/doc/emacs/fixit.texi index 8f75c5e151c..b9199eba553 100644 --- a/doc/emacs/fixit.texi +++ b/doc/emacs/fixit.texi | |||
| @@ -35,7 +35,7 @@ These were described earlier in this manual. @xref{Erasing}. | |||
| 35 | The @dfn{undo} command reverses recent changes in the buffer's text. | 35 | The @dfn{undo} command reverses recent changes in the buffer's text. |
| 36 | Each buffer records changes individually, and the undo command always | 36 | Each buffer records changes individually, and the undo command always |
| 37 | applies to the current buffer. You can undo all the changes in a | 37 | applies to the current buffer. You can undo all the changes in a |
| 38 | buffer for as far as back its records go. Usually, each editing | 38 | buffer for as far back as the buffer's records go. Usually, each editing |
| 39 | command makes a separate entry in the undo records, but some commands | 39 | command makes a separate entry in the undo records, but some commands |
| 40 | such as @code{query-replace} divide their changes into multiple | 40 | such as @code{query-replace} divide their changes into multiple |
| 41 | entries for flexibility in undoing. Consecutive character insertion | 41 | entries for flexibility in undoing. Consecutive character insertion |
| @@ -109,9 +109,9 @@ Emacs to hold text that users don't normally look at or edit. | |||
| 109 | @vindex undo-strong-limit | 109 | @vindex undo-strong-limit |
| 110 | @vindex undo-outer-limit | 110 | @vindex undo-outer-limit |
| 111 | @cindex undo limit | 111 | @cindex undo limit |
| 112 | When the undo records for a buffer becomes too large, Emacs discards | 112 | When the undo information for a buffer becomes too large, Emacs discards |
| 113 | the oldest undo records from time to time (during @dfn{garbage | 113 | the oldest records from time to time (during @dfn{garbage |
| 114 | collection}). You can specify how much undo records to keep by | 114 | collection}). You can specify how much undo information to keep by |
| 115 | setting the variables @code{undo-limit}, @code{undo-strong-limit}, and | 115 | setting the variables @code{undo-limit}, @code{undo-strong-limit}, and |
| 116 | @code{undo-outer-limit}. Their values are expressed in bytes. | 116 | @code{undo-outer-limit}. Their values are expressed in bytes. |
| 117 | 117 | ||
diff --git a/etc/PROBLEMS b/etc/PROBLEMS index 078352d78f4..4dd8585fc2c 100644 --- a/etc/PROBLEMS +++ b/etc/PROBLEMS | |||
| @@ -255,6 +255,36 @@ result in an endless loop. | |||
| 255 | If you need Emacs to be able to recover from closing displays, compile | 255 | If you need Emacs to be able to recover from closing displays, compile |
| 256 | it with the Lucid toolkit instead of GTK. | 256 | it with the Lucid toolkit instead of GTK. |
| 257 | 257 | ||
| 258 | ** Emacs crashes when you try to view a file with complex characters. | ||
| 259 | For example, the etc/HELLO file (as shown by C-h h). | ||
| 260 | The message "symbol lookup error: /usr/bin/emacs: undefined symbol: OTF_open" | ||
| 261 | is shown in the terminal from which you launched Emacs. | ||
| 262 | This problem only happens when you use a graphical display (ie not | ||
| 263 | with -nw) and compiled Emacs with the "libotf" library for complex | ||
| 264 | text handling. | ||
| 265 | |||
| 266 | This problem occurs because unfortunately there are two libraries | ||
| 267 | called "libotf". One is the library for handling OpenType fonts, | ||
| 268 | http://www.m17n.org/libotf/, which is the one that Emacs expects. | ||
| 269 | The other is a library for Open Trace Format, and is used by some | ||
| 270 | versions of the MPI message passing interface for parallel | ||
| 271 | programming. | ||
| 272 | |||
| 273 | For example, on RHEL6 GNU/Linux, the OpenMPI rpm provides a version | ||
| 274 | of "libotf.so" in /usr/lib/openmpi/lib. This directory is not | ||
| 275 | normally in the ld search path, but if you want to use OpenMPI, | ||
| 276 | you must issue the command "module load openmpi". This adds | ||
| 277 | /usr/lib/openmpi/lib to LD_LIBRARY_PATH. If you then start Emacs from | ||
| 278 | the same shell, you will encounter this crash. | ||
| 279 | Ref: <URL:https://bugzilla.redhat.com/show_bug.cgi?id=806031> | ||
| 280 | |||
| 281 | There is no good solution to this problem if you need to use both | ||
| 282 | OpenMPI and Emacs with libotf support. The best you can do is use a | ||
| 283 | wrapper shell script (or function) "emacs" that removes the offending | ||
| 284 | element from LD_LIBRARY_PATH before starting emacs proper. | ||
| 285 | Or you could recompile Emacs with an -Wl,-rpath option that | ||
| 286 | gives the location of the correct libotf. | ||
| 287 | |||
| 258 | * General runtime problems | 288 | * General runtime problems |
| 259 | 289 | ||
| 260 | ** Lisp problems | 290 | ** Lisp problems |
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index e083b628cde..0f293be18c9 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,32 @@ | |||
| 1 | 2012-06-29 Andreas Schwab <schwab@linux-m68k.org> | ||
| 2 | |||
| 3 | * calendar/cal-dst.el (calendar-current-time-zone): | ||
| 4 | Return calendar-current-time-zone-cache if non-nil. | ||
| 5 | |||
| 6 | 2012-06-29 Masatake YAMATO <yamato@redhat.com> | ||
| 7 | |||
| 8 | * progmodes/which-func.el (which-func-format): | ||
| 9 | Add mouse-face. (Bug#11698) | ||
| 10 | |||
| 11 | 2012-06-29 Leo Liu <sdl.web@gmail.com> | ||
| 12 | |||
| 13 | * textmodes/enriched.el (enriched-next-annotation): Use eq (Bug#11528). | ||
| 14 | |||
| 15 | 2012-06-29 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 16 | |||
| 17 | * minibuffer.el (minibuffer-confirm-exit-commands): | ||
| 18 | Add completion-at-point (bug#11725). | ||
| 19 | |||
| 20 | 2012-06-29 Glenn Morris <rgm@gnu.org> | ||
| 21 | |||
| 22 | * progmodes/f90.el (f90-font-lock-keywords-2): | ||
| 23 | Add some preprocessor elements. (Bug#10499) | ||
| 24 | |||
| 25 | 2012-06-29 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 26 | |||
| 27 | * progmodes/cperl-mode.el (cperl-update-syntaxification): | ||
| 28 | Use syntax-propertize (bug#11739). | ||
| 29 | |||
| 1 | 2012-06-28 Juanma Barranquero <lekktu@gmail.com> | 30 | 2012-06-28 Juanma Barranquero <lekktu@gmail.com> |
| 2 | 31 | ||
| 3 | * emacs-lisp/cl-lib.el (cl-pushnew): Don't capture X (bug#11811). | 32 | * emacs-lisp/cl-lib.el (cl-pushnew): Don't capture X (bug#11811). |
diff --git a/lisp/calendar/cal-dst.el b/lisp/calendar/cal-dst.el index e3996cae3de..4af3ea53ab3 100644 --- a/lisp/calendar/cal-dst.el +++ b/lisp/calendar/cal-dst.el | |||
| @@ -347,8 +347,8 @@ DST-ZONE are equal, and all the DST-* integer variables are 0. | |||
| 347 | Some operating systems cannot provide all this information to Emacs; in this | 347 | Some operating systems cannot provide all this information to Emacs; in this |
| 348 | case, `calendar-current-time-zone' returns a list containing nil for the data | 348 | case, `calendar-current-time-zone' returns a list containing nil for the data |
| 349 | it can't find." | 349 | it can't find." |
| 350 | (unless calendar-current-time-zone-cache | 350 | (or calendar-current-time-zone-cache |
| 351 | (setq calendar-current-time-zone-cache (calendar-dst-find-data)))) | 351 | (setq calendar-current-time-zone-cache (calendar-dst-find-data)))) |
| 352 | 352 | ||
| 353 | 353 | ||
| 354 | ;; Following options should be set based on conditions when the code | 354 | ;; Following options should be set based on conditions when the code |
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index e5151cd8148..e20106e1098 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el | |||
| @@ -1136,7 +1136,8 @@ Repeated uses step through the possible completions." | |||
| 1136 | (completion--cache-all-sorted-completions (cdr all))))))) | 1136 | (completion--cache-all-sorted-completions (cdr all))))))) |
| 1137 | 1137 | ||
| 1138 | (defvar minibuffer-confirm-exit-commands | 1138 | (defvar minibuffer-confirm-exit-commands |
| 1139 | '(minibuffer-complete minibuffer-complete-word PC-complete PC-complete-word) | 1139 | '(completion-at-point minibuffer-complete |
| 1140 | minibuffer-complete-word PC-complete PC-complete-word) | ||
| 1140 | "A list of commands which cause an immediately following | 1141 | "A list of commands which cause an immediately following |
| 1141 | `minibuffer-complete-and-exit' to ask for extra confirmation.") | 1142 | `minibuffer-complete-and-exit' to ask for extra confirmation.") |
| 1142 | 1143 | ||
diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el index e95b6fa288d..f0499424952 100644 --- a/lisp/progmodes/cperl-mode.el +++ b/lisp/progmodes/cperl-mode.el | |||
| @@ -8950,14 +8950,15 @@ do extra unwind via `cperl-unwind-to-safe'." | |||
| 8950 | (setq cperl-syntax-done-to (min cperl-syntax-done-to beg)))) | 8950 | (setq cperl-syntax-done-to (min cperl-syntax-done-to beg)))) |
| 8951 | 8951 | ||
| 8952 | (defun cperl-update-syntaxification (from to) | 8952 | (defun cperl-update-syntaxification (from to) |
| 8953 | (if (and cperl-use-syntax-table-text-property | 8953 | (cond |
| 8954 | cperl-syntaxify-by-font-lock | 8954 | ((not cperl-use-syntax-table-text-property) nil) |
| 8955 | (or (null cperl-syntax-done-to) | 8955 | ((fboundp 'syntax-propertize) (syntax-propertize to)) |
| 8956 | (< cperl-syntax-done-to to))) | 8956 | ((and cperl-syntaxify-by-font-lock |
| 8957 | (progn | 8957 | (or (null cperl-syntax-done-to) |
| 8958 | (save-excursion | 8958 | (< cperl-syntax-done-to to))) |
| 8959 | (goto-char from) | 8959 | (save-excursion |
| 8960 | (cperl-fontify-syntaxically to))))) | 8960 | (goto-char from) |
| 8961 | (cperl-fontify-syntaxically to))))) | ||
| 8961 | 8962 | ||
| 8962 | (defvar cperl-version | 8963 | (defvar cperl-version |
| 8963 | (let ((v "Revision: 6.2")) | 8964 | (let ((v "Revision: 6.2")) |
diff --git a/lisp/progmodes/f90.el b/lisp/progmodes/f90.el index 712725ffaf0..cc1251f6a75 100644 --- a/lisp/progmodes/f90.el +++ b/lisp/progmodes/f90.el | |||
| @@ -233,6 +233,7 @@ | |||
| 233 | :safe 'stringp | 233 | :safe 'stringp |
| 234 | :group 'f90-indent) | 234 | :group 'f90-indent) |
| 235 | 235 | ||
| 236 | ;; Should we add ^# to this? That's not really a comment. | ||
| 236 | (defcustom f90-directive-comment-re "!hpf\\$" | 237 | (defcustom f90-directive-comment-re "!hpf\\$" |
| 237 | "Regexp of comment-like directive like \"!HPF\\\\$\", not to be indented." | 238 | "Regexp of comment-like directive like \"!HPF\\\\$\", not to be indented." |
| 238 | :type 'regexp | 239 | :type 'regexp |
| @@ -627,7 +628,14 @@ logical\\|double[ \t]*precision\\|type[ \t]*(\\sw+)\\|none\\)[ \t]*" | |||
| 627 | '("\\<\\(do\\|go[ \t]*to\\)\\>[ \t]*\\([0-9]+\\)" | 628 | '("\\<\\(do\\|go[ \t]*to\\)\\>[ \t]*\\([0-9]+\\)" |
| 628 | (1 font-lock-keyword-face) (2 font-lock-constant-face)) | 629 | (1 font-lock-keyword-face) (2 font-lock-constant-face)) |
| 629 | ;; Line numbers (lines whose first character after number is letter). | 630 | ;; Line numbers (lines whose first character after number is letter). |
| 630 | '("^[ \t]*\\([0-9]+\\)[ \t]*[a-z]+" (1 font-lock-constant-face t)))) | 631 | '("^[ \t]*\\([0-9]+\\)[ \t]*[a-z]+" (1 font-lock-constant-face t)) |
| 632 | ;; Override eg for "#include". | ||
| 633 | '("^#[ \t]*\\w+" (0 font-lock-preprocessor-face t) | ||
| 634 | ("\\<defined\\>" nil nil (0 font-lock-preprocessor-face))) | ||
| 635 | '("^#" ("\\(&&\\|||\\)" nil nil (0 font-lock-constant-face t))) | ||
| 636 | '("^#[ \t]*define[ \t]+\\(\\w+\\)(" (1 font-lock-function-name-face)) | ||
| 637 | '("^#[ \t]*define[ \t]+\\(\\w+\\)" (1 font-lock-variable-name-face)) | ||
| 638 | '("^#[ \t]*include[ \t]+\\(<.+>\\)" (1 font-lock-string-face)))) | ||
| 631 | "Highlights declarations, do-loops and other constructs.") | 639 | "Highlights declarations, do-loops and other constructs.") |
| 632 | 640 | ||
| 633 | (defvar f90-font-lock-keywords-3 | 641 | (defvar f90-font-lock-keywords-3 |
diff --git a/lisp/progmodes/which-func.el b/lisp/progmodes/which-func.el index d5c8a1c6792..02948b35fe0 100644 --- a/lisp/progmodes/which-func.el +++ b/lisp/progmodes/which-func.el | |||
| @@ -144,12 +144,13 @@ Zero means compute the Imenu menu regardless of size." | |||
| 144 | (:propertize which-func-current | 144 | (:propertize which-func-current |
| 145 | local-map ,which-func-keymap | 145 | local-map ,which-func-keymap |
| 146 | face which-func | 146 | face which-func |
| 147 | ;;mouse-face highlight ; currently not evaluated :-( | 147 | mouse-face mode-line-highlight |
| 148 | help-echo "mouse-1: go to beginning\n\ | 148 | help-echo "mouse-1: go to beginning\n\ |
| 149 | mouse-2: toggle rest visibility\n\ | 149 | mouse-2: toggle rest visibility\n\ |
| 150 | mouse-3: go to end") | 150 | mouse-3: go to end") |
| 151 | "]") | 151 | "]") |
| 152 | "Format for displaying the function in the mode line." | 152 | "Format for displaying the function in the mode line." |
| 153 | :version "24.2" ; added mouse-face | ||
| 153 | :group 'which-func | 154 | :group 'which-func |
| 154 | :type 'sexp) | 155 | :type 'sexp) |
| 155 | ;;;###autoload (put 'which-func-format 'risky-local-variable t) | 156 | ;;;###autoload (put 'which-func-format 'risky-local-variable t) |
diff --git a/lisp/textmodes/enriched.el b/lisp/textmodes/enriched.el index 68a99b0efe4..a28fcfc7e4b 100644 --- a/lisp/textmodes/enriched.el +++ b/lisp/textmodes/enriched.el | |||
| @@ -437,7 +437,7 @@ Return value is \(begin end name positive-p), or nil if none was found." | |||
| 437 | (progn (goto-char (match-beginning 0)) | 437 | (progn (goto-char (match-beginning 0)) |
| 438 | (not (looking-at enriched-annotation-regexp)))) | 438 | (not (looking-at enriched-annotation-regexp)))) |
| 439 | (forward-char 1) | 439 | (forward-char 1) |
| 440 | (if (= ?< (char-after (point))) | 440 | (if (eq ?< (char-after (point))) |
| 441 | (delete-char 1) | 441 | (delete-char 1) |
| 442 | ;; A single < that does not start an annotation is an error, | 442 | ;; A single < that does not start an annotation is an error, |
| 443 | ;; which we note and then ignore. | 443 | ;; which we note and then ignore. |
diff --git a/src/ChangeLog b/src/ChangeLog index 09fc8fbfda2..29fc2561c03 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,12 @@ | |||
| 1 | 2012-06-29 Andreas Schwab <schwab@linux-m68k.org> | ||
| 2 | |||
| 3 | * gnutls.c (emacs_gnutls_handshake): | ||
| 4 | Add QUIT to make the loop interruptible. | ||
| 5 | |||
| 6 | 2012-06-29 Glenn Morris <rgm@gnu.org> | ||
| 7 | |||
| 8 | * charset.c (init_charset): Make lack of etc/charsets fatal. | ||
| 9 | |||
| 1 | 2012-06-29 Dmitry Antipov <dmantipov@yandex.ru> | 10 | 2012-06-29 Dmitry Antipov <dmantipov@yandex.ru> |
| 2 | 11 | ||
| 3 | * editfns.c (region_limit): Fix type mismatch. | 12 | * editfns.c (region_limit): Fix type mismatch. |
diff --git a/src/charset.c b/src/charset.c index 8ce972ebf37..04de8a44b4c 100644 --- a/src/charset.c +++ b/src/charset.c | |||
| @@ -2296,11 +2296,15 @@ init_charset (void) | |||
| 2296 | tempdir = Fexpand_file_name (build_string ("charsets"), Vdata_directory); | 2296 | tempdir = Fexpand_file_name (build_string ("charsets"), Vdata_directory); |
| 2297 | if (access (SSDATA (tempdir), 0) < 0) | 2297 | if (access (SSDATA (tempdir), 0) < 0) |
| 2298 | { | 2298 | { |
| 2299 | dir_warning ("Error: charsets directory (%s) does not exist.\n\ | 2299 | /* This used to be non-fatal (dir_warning), but it should not |
| 2300 | happen, and if it does sooner or later it will cause some | ||
| 2301 | obscure problem (eg bug#6401), so better abort. */ | ||
| 2302 | fprintf (stderr, "Error: charsets directory not found:\n\ | ||
| 2303 | %s\n\ | ||
| 2300 | Emacs will not function correctly without the character map files.\n\ | 2304 | Emacs will not function correctly without the character map files.\n\ |
| 2301 | Please check your installation!\n", | 2305 | Please check your installation!\n", |
| 2302 | tempdir); | 2306 | SDATA (tempdir)); |
| 2303 | /* TODO should this be a fatal error? (Bug#909) */ | 2307 | exit (1); |
| 2304 | } | 2308 | } |
| 2305 | 2309 | ||
| 2306 | Vcharset_map_path = Fcons (tempdir, Qnil); | 2310 | Vcharset_map_path = Fcons (tempdir, Qnil); |
diff --git a/src/gnutls.c b/src/gnutls.c index c5e21cc8777..9c96379ff7e 100644 --- a/src/gnutls.c +++ b/src/gnutls.c | |||
| @@ -322,6 +322,7 @@ emacs_gnutls_handshake (struct Lisp_Process *proc) | |||
| 322 | { | 322 | { |
| 323 | ret = fn_gnutls_handshake (state); | 323 | ret = fn_gnutls_handshake (state); |
| 324 | emacs_gnutls_handle_error (state, ret); | 324 | emacs_gnutls_handle_error (state, ret); |
| 325 | QUIT; | ||
| 325 | } | 326 | } |
| 326 | while (ret < 0 && fn_gnutls_error_is_fatal (ret) == 0); | 327 | while (ret < 0 && fn_gnutls_error_is_fatal (ret) == 0); |
| 327 | 328 | ||