aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--configure.ac30
-rw-r--r--lisp/ChangeLog42
-rw-r--r--lisp/emacs-lisp/shadow.el128
-rw-r--r--lisp/emacs-lisp/syntax.el2
-rw-r--r--lisp/emacs-lisp/tabulated-list.el11
-rw-r--r--lisp/gnus/ChangeLog9
-rw-r--r--lisp/gnus/mail-source.el12
-rw-r--r--lisp/gnus/message.el8
-rw-r--r--lisp/progmodes/octave.el33
-rw-r--r--lisp/subr.el2
-rw-r--r--lisp/textmodes/reftex-vars.el1
-rw-r--r--lisp/textmodes/remember.el3
-rw-r--r--src/ChangeLog6
-rw-r--r--src/lisp.h6
15 files changed, 191 insertions, 109 deletions
diff --git a/ChangeLog b/ChangeLog
index 5f74726a743..cf1d4f0d54e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
12013-04-26 Paul Eggert <eggert@cs.ucla.edu>
2
3 Port better to AIX (Bug#14258).
4 * configure.ac (CFLAGS): Append -O if the user did not specify CFLAGS,
5 we did not already infer an optimization option, and -O works.
6 AIX xlc needs -O, otherwise garbage collection doesn't work.
7
12013-04-22 Paul Eggert <eggert@cs.ucla.edu> 82013-04-22 Paul Eggert <eggert@cs.ucla.edu>
2 9
3 * make-dist: Do not distribute admin/unidata/Makefile. 10 * make-dist: Do not distribute admin/unidata/Makefile.
diff --git a/configure.ac b/configure.ac
index b5ac2db9099..4a78a81df4a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -615,10 +615,10 @@ AC_DEFUN([gl_THREADLIB])
615dnl Amongst other things, this sets AR and ARFLAGS. 615dnl Amongst other things, this sets AR and ARFLAGS.
616gl_EARLY 616gl_EARLY
617 617
618# It's helpful to have C macros available to GDB, so prefer -g3 to -g
619# if -g3 works and the user does not specify CFLAGS.
620# This test must follow gl_EARLY; otherwise AC_LINK_IFELSE complains.
621if test "$ac_test_CFLAGS" != set; then 618if test "$ac_test_CFLAGS" != set; then
619 # It's helpful to have C macros available to GDB, so prefer -g3 to -g
620 # if -g3 works and the user does not specify CFLAGS.
621 # This test must follow gl_EARLY; otherwise AC_LINK_IFELSE complains.
622 case $CFLAGS in 622 case $CFLAGS in
623 '-g') 623 '-g')
624 emacs_g3_CFLAGS='-g3';; 624 emacs_g3_CFLAGS='-g3';;
@@ -634,13 +634,29 @@ if test "$ac_test_CFLAGS" != set; then
634 [emacs_cv_prog_cc_g3], 634 [emacs_cv_prog_cc_g3],
635 [AC_LINK_IFELSE([AC_LANG_PROGRAM()], 635 [AC_LINK_IFELSE([AC_LANG_PROGRAM()],
636 [emacs_cv_prog_cc_g3=yes], 636 [emacs_cv_prog_cc_g3=yes],
637 [emacs_cv_prog_cc_g3=no])]) 637 [emacs_cv_prog_cc_g3=no])])
638 if test $emacs_cv_prog_cc_g3 = yes; then 638 if test $emacs_cv_prog_cc_g3 != yes; then
639 CFLAGS=$emacs_g3_CFLAGS
640 else
641 CFLAGS=$emacs_save_CFLAGS 639 CFLAGS=$emacs_save_CFLAGS
642 fi 640 fi
643 fi 641 fi
642
643 case $CFLAGS in
644 *-O*) ;;
645 *)
646 # No optimization flag was inferred for this non-GCC compiler.
647 # Try -O. This is needed for xlc on AIX; see Bug#14258.
648 emacs_save_CFLAGS=$CFLAGS
649 test -z "$CFLAGS" || CFLAGS="$CFLAGS "
650 CFLAGS=${CFLAGS}-O
651 AC_CACHE_CHECK([whether $CC accepts -O],
652 [emacs_cv_prog_cc_o],
653 [AC_LINK_IFELSE([AC_LANG_PROGRAM()],
654 [emacs_cv_prog_cc_o=yes],
655 [emacs_cv_prog_cc_o=no])])
656 if test $emacs_cv_prog_cc_o != yes; then
657 CFLAGS=$emacs_save_CFLAGS
658 fi ;;
659 esac
644fi 660fi
645 661
646AC_ARG_ENABLE([gcc-warnings], 662AC_ARG_ENABLE([gcc-warnings],
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index e7c374e1e96..c88cf1103bc 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,8 +1,44 @@
12013-04-26 Reuben Thomas <rrt@sc3d.org>
2
3 * textmodes/remember.el (remember-store-in-files): document that
4 the file name format is fed through format-time-string.
5
62013-04-26 Leo Liu <sdl.web@gmail.com>
7
8 * progmodes/octave.el (octave-sync-function-file-names): New function.
9 (octave-mode): Use it in before-save-hook.
10
112013-04-26 Stefan Monnier <monnier@iro.umontreal.ca>
12
13 * emacs-lisp/tabulated-list.el (tabulated-list-mode): Disable undo
14 (bug#14274).
15
16 * progmodes/octave.el (octave-smie-forward-token): Properly skip
17 \n and comment, even if it's not an implicit ; (bug#14218).
18
192013-04-26 Glenn Morris <rgm@gnu.org>
20
21 * subr.el (read-number): Once more use `read' rather than
22 `string-to-number', to trap non-numeric input. (Bug#14254)
23
242013-04-26 Erik Charlebois <erikcharlebois@gmail.com>
25
26 * emacs-lisp/syntax.el (syntax-propertize-multiline):
27 Use `syntax-multiline' text property consistently instead of
28 `font-lock-multiline'. (bug#14237).
29
302013-04-26 Glenn Morris <rgm@gnu.org>
31
32 * emacs-lisp/shadow.el (list-load-path-shadows):
33 No longer necessary to check for duplicate simple.el, since
34 2012-07-07 change to init_lread to not include installation lisp
35 directories in load-path when running uninstalled. (Bug#14270)
36
12013-04-26 Leo Liu <sdl.web@gmail.com> 372013-04-26 Leo Liu <sdl.web@gmail.com>
2 38
3 * progmodes/octave.el (octave-submit-bug-report): Obsolete. 39 * progmodes/octave.el (octave-submit-bug-report): Obsolete.
4 (octave-mode, inferior-octave-mode): Use setq-local. 40 (octave-mode, inferior-octave-mode): Use setq-local.
5 (octave-not-in-string-or-comment-p): Renamed to 41 (octave-not-in-string-or-comment-p): Rename to
6 octave-in-string-or-comment-p. 42 octave-in-string-or-comment-p.
7 (octave-in-comment-p, octave-in-string-p) 43 (octave-in-comment-p, octave-in-string-p)
8 (octave-in-string-or-comment-p): Replace defsubst with defun. 44 (octave-in-string-or-comment-p): Replace defsubst with defun.
@@ -18,8 +54,8 @@
18 54
192013-04-25 Leo Liu <sdl.web@gmail.com> 552013-04-25 Leo Liu <sdl.web@gmail.com>
20 56
21 * progmodes/octave.el (octave-completion-at-point-function): Make 57 * progmodes/octave.el (octave-completion-at-point-function):
22 use of inferior octave process. 58 Make use of inferior octave process.
23 (octave-initialize-completions): Remove. 59 (octave-initialize-completions): Remove.
24 (inferior-octave-completion-table): New function. 60 (inferior-octave-completion-table): New function.
25 (inferior-octave-completion-at-point): Use it. 61 (inferior-octave-completion-at-point): Use it.
diff --git a/lisp/emacs-lisp/shadow.el b/lisp/emacs-lisp/shadow.el
index b12fba17027..d0e3c5763b5 100644
--- a/lisp/emacs-lisp/shadow.el
+++ b/lisp/emacs-lisp/shadow.el
@@ -207,101 +207,79 @@ the earlier.
207 207
208For example, suppose `load-path' is set to 208For example, suppose `load-path' is set to
209 209
210\(\"/usr/gnu/emacs/site-lisp\" \"/usr/gnu/emacs/share/emacs/19.30/lisp\"\) 210\(\"/usr/share/emacs/site-lisp\" \"/usr/share/emacs/24.3/lisp\")
211 211
212and that each of these directories contains a file called XXX.el. Then 212and that each of these directories contains a file called XXX.el. Then
213XXX.el in the site-lisp directory is referred to by all of: 213XXX.el in the site-lisp directory is referred to by all of:
214\(require 'XXX\), \(autoload .... \"XXX\"\), \(load-library \"XXX\"\) etc. 214\(require 'XXX), (autoload .... \"XXX\"), (load-library \"XXX\") etc.
215 215
216The first XXX.el file prevents Emacs from seeing the second \(unless 216The first XXX.el file prevents Emacs from seeing the second (unless
217the second is loaded explicitly via `load-file'\). 217the second is loaded explicitly via `load-file').
218 218
219When not intended, such shadowings can be the source of subtle 219When not intended, such shadowings can be the source of subtle
220problems. For example, the above situation may have arisen because the 220problems. For example, the above situation may have arisen because the
221XXX package was not distributed with versions of Emacs prior to 221XXX package was not distributed with versions of Emacs prior to
22219.30. An Emacs maintainer downloaded XXX from elsewhere and installed 22224.3. A system administrator downloaded XXX from elsewhere and installed
223it. Later, XXX was updated and included in the Emacs distribution. 223it. Later, XXX was updated and included in the Emacs distribution.
224Unless the Emacs maintainer checks for this, the new version of XXX 224Unless the system administrator checks for this, the new version of XXX
225will be hidden behind the old \(which may no longer work with the new 225will be hidden behind the old (which may no longer work with the new
226Emacs version\). 226Emacs version).
227 227
228This function performs these checks and flags all possible 228This function performs these checks and flags all possible
229shadowings. Because a .el file may exist without a corresponding .elc 229shadowings. Because a .el file may exist without a corresponding .elc
230\(or vice-versa\), these suffixes are essentially ignored. A file 230\(or vice-versa), these suffixes are essentially ignored. A file
231XXX.elc in an early directory \(that does not contain XXX.el\) is 231XXX.elc in an early directory (that does not contain XXX.el) is
232considered to shadow a later file XXX.el, and vice-versa. 232considered to shadow a later file XXX.el, and vice-versa.
233 233
234Shadowings are located by calling the (non-interactive) companion 234Shadowings are located by calling the (non-interactive) companion
235function, `load-path-shadows-find'." 235function, `load-path-shadows-find'."
236 (interactive) 236 (interactive)
237 (let* ((path (copy-sequence load-path)) 237 (let* ((shadows (load-path-shadows-find load-path))
238 (tem path) 238 (n (/ (length shadows) 2))
239 toplevs) 239 (msg (format "%s Emacs Lisp load-path shadowing%s found"
240 ;; If we can find simple.el in two places, 240 (if (zerop n) "No" (concat "\n" (number-to-string n)))
241 (dolist (tt tem) 241 (if (= n 1) " was" "s were"))))
242 (if (or (file-exists-p (expand-file-name "simple.el" tt)) 242 (with-temp-buffer
243 (file-exists-p (expand-file-name "simple.el.gz" tt))) 243 (while shadows
244 (setq toplevs (cons tt toplevs)))) 244 (insert (format "%s hides %s\n" (car shadows)
245 (if (> (length toplevs) 1) 245 (car (cdr shadows))))
246 ;; Cut off our copy of load-path right before 246 (setq shadows (cdr (cdr shadows))))
247 ;; the last directory which has simple.el in it. 247 (if stringp
248 ;; This avoids loads of duplications between the source dir 248 (buffer-string)
249 ;; and the dir where these files were copied by installation. 249 (if (called-interactively-p 'interactive)
250 (let ((break (car toplevs))) 250 ;; We are interactive.
251 (setq tem path) 251 ;; Create the *Shadows* buffer and display shadowings there.
252 (while tem 252 (let ((string (buffer-string)))
253 (if (eq (nth 1 tem) break) 253 (with-current-buffer (get-buffer-create "*Shadows*")
254 (progn 254 (display-buffer (current-buffer))
255 (setcdr tem nil) 255 (load-path-shadows-mode) ; run after-change-major-mode-hook
256 (setq tem nil))) 256 (let ((inhibit-read-only t))
257 (setq tem (cdr tem))))) 257 (erase-buffer)
258 258 (insert string)
259 (let* ((shadows (load-path-shadows-find path)) 259 (insert msg "\n")
260 (n (/ (length shadows) 2)) 260 (while (re-search-backward "\\(^.*\\) hides \\(.*$\\)"
261 (msg (format "%s Emacs Lisp load-path shadowing%s found" 261 nil t)
262 (if (zerop n) "No" (concat "\n" (number-to-string n))) 262 (dotimes (i 2)
263 (if (= n 1) " was" "s were")))) 263 (make-button (match-beginning (1+ i))
264 (with-temp-buffer 264 (match-end (1+ i))
265 (while shadows 265 'type 'load-path-shadows-find-file
266 (insert (format "%s hides %s\n" (car shadows) 266 'shadow-file
267 (car (cdr shadows)))) 267 (match-string (1+ i)))))
268 (setq shadows (cdr (cdr shadows)))) 268 (goto-char (point-max)))))
269 (if stringp 269 ;; We are non-interactive, print shadows via message.
270 (buffer-string) 270 (unless (zerop n)
271 (if (called-interactively-p 'interactive) 271 (message "This site has duplicate Lisp libraries with the same name.
272 ;; We are interactive.
273 ;; Create the *Shadows* buffer and display shadowings there.
274 (let ((string (buffer-string)))
275 (with-current-buffer (get-buffer-create "*Shadows*")
276 (display-buffer (current-buffer))
277 (load-path-shadows-mode) ; run after-change-major-mode-hook
278 (let ((inhibit-read-only t))
279 (erase-buffer)
280 (insert string)
281 (insert msg "\n")
282 (while (re-search-backward "\\(^.*\\) hides \\(.*$\\)"
283 nil t)
284 (dotimes (i 2)
285 (make-button (match-beginning (1+ i))
286 (match-end (1+ i))
287 'type 'load-path-shadows-find-file
288 'shadow-file
289 (match-string (1+ i)))))
290 (goto-char (point-max)))))
291 ;; We are non-interactive, print shadows via message.
292 (unless (zerop n)
293 (message "This site has duplicate Lisp libraries with the same name.
294If a locally-installed Lisp library overrides a library in the Emacs release, 272If a locally-installed Lisp library overrides a library in the Emacs release,
295that can cause trouble, and you should probably remove the locally-installed 273that can cause trouble, and you should probably remove the locally-installed
296version unless you know what you are doing.\n") 274version unless you know what you are doing.\n")
297 (goto-char (point-min)) 275 (goto-char (point-min))
298 ;; Mimic the previous behavior of using lots of messages. 276 ;; Mimic the previous behavior of using lots of messages.
299 ;; I think one single message would look better... 277 ;; I think one single message would look better...
300 (while (not (eobp)) 278 (while (not (eobp))
301 (message "%s" (buffer-substring (line-beginning-position) 279 (message "%s" (buffer-substring (line-beginning-position)
302 (line-end-position))) 280 (line-end-position)))
303 (forward-line 1)) 281 (forward-line 1))
304 (message "%s" msg)))))))) 282 (message "%s" msg)))))))
305 283
306(provide 'shadow) 284(provide 'shadow)
307 285
diff --git a/lisp/emacs-lisp/syntax.el b/lisp/emacs-lisp/syntax.el
index bf2c8308bb5..0a4758a9ccd 100644
--- a/lisp/emacs-lisp/syntax.el
+++ b/lisp/emacs-lisp/syntax.el
@@ -99,7 +99,7 @@ Put first the functions more likely to cause a change and cheaper to compute.")
99 (setq beg (or (previous-single-property-change beg 'syntax-multiline) 99 (setq beg (or (previous-single-property-change beg 'syntax-multiline)
100 (point-min)))) 100 (point-min))))
101 ;; 101 ;;
102 (when (get-text-property end 'font-lock-multiline) 102 (when (get-text-property end 'syntax-multiline)
103 (setq end (or (text-property-any end (point-max) 103 (setq end (or (text-property-any end (point-max)
104 'syntax-multiline nil) 104 'syntax-multiline nil)
105 (point-max)))) 105 (point-max))))
diff --git a/lisp/emacs-lisp/tabulated-list.el b/lisp/emacs-lisp/tabulated-list.el
index da487e463e2..6dba423010f 100644
--- a/lisp/emacs-lisp/tabulated-list.el
+++ b/lisp/emacs-lisp/tabulated-list.el
@@ -519,12 +519,11 @@ printer is `tabulated-list-print-entry', but a mode that keeps
519data in an ewoc may instead specify a printer function (e.g., one 519data in an ewoc may instead specify a printer function (e.g., one
520that calls `ewoc-enter-last'), with `tabulated-list-print-entry' 520that calls `ewoc-enter-last'), with `tabulated-list-print-entry'
521as the ewoc pretty-printer." 521as the ewoc pretty-printer."
522 (setq truncate-lines t) 522 (setq-local truncate-lines t)
523 (setq buffer-read-only t) 523 (setq-local buffer-read-only t)
524 (set (make-local-variable 'revert-buffer-function) 524 (setq-local buffer-undo-list t)
525 'tabulated-list-revert) 525 (setq-local revert-buffer-function #'tabulated-list-revert)
526 (set (make-local-variable 'glyphless-char-display) 526 (setq-local glyphless-char-display tabulated-list-glyphless-char-display))
527 tabulated-list-glyphless-char-display))
528 527
529(put 'tabulated-list-mode 'mode-class 'special) 528(put 'tabulated-list-mode 'mode-class 'special)
530 529
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 251e5b1f381..e10dd1e94c7 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,12 @@
12013-04-26 Katsumi Yamaoka <yamaoka@jpl.org>
2
3 * mail-source.el (mail-source-fetch-pop, mail-source-check-pop):
4 Don't set the MAILHOST environment variable permanently (Bug#14271).
5
62013-04-26 Glenn Morris <rgm@gnu.org>
7
8 * message.el (message-bury): Revert 2013-03-18 change. (Bug#14117)
9
12013-04-25 Andrew Cohen <cohen@bu.edu> 102013-04-25 Andrew Cohen <cohen@bu.edu>
2 11
3 * gnus-msg.el (gnus-inews-insert-gcc): Re-order conditional to work for 12 * gnus-msg.el (gnus-inews-insert-gcc): Re-order conditional to work for
diff --git a/lisp/gnus/mail-source.el b/lisp/gnus/mail-source.el
index 9cc2e6ac09c..7da2a0a441d 100644
--- a/lisp/gnus/mail-source.el
+++ b/lisp/gnus/mail-source.el
@@ -809,6 +809,10 @@ Deleting old (> %s day(s)) incoming mail file `%s'." diff bfile)
809 prescript-delay) 809 prescript-delay)
810 (let ((from (format "%s:%s:%s" server user port)) 810 (let ((from (format "%s:%s:%s" server user port))
811 (mail-source-string (format "pop:%s@%s" user server)) 811 (mail-source-string (format "pop:%s@%s" user server))
812 (process-environment (if server
813 (cons (concat "MAILHOST=" server)
814 process-environment)
815 process-environment))
812 result) 816 result)
813 (when (eq authentication 'password) 817 (when (eq authentication 'password)
814 (setq password 818 (setq password
@@ -816,8 +820,6 @@ Deleting old (> %s day(s)) incoming mail file `%s'." diff bfile)
816 (cdr (assoc from mail-source-password-cache)) 820 (cdr (assoc from mail-source-password-cache))
817 (read-passwd 821 (read-passwd
818 (format "Password for %s at %s: " user server))))) 822 (format "Password for %s at %s: " user server)))))
819 (when server
820 (setenv "MAILHOST" server))
821 (setq result 823 (setq result
822 (cond 824 (cond
823 (program 825 (program
@@ -877,6 +879,10 @@ Deleting old (> %s day(s)) incoming mail file `%s'." diff bfile)
877 (mail-source-bind (pop source) 879 (mail-source-bind (pop source)
878 (let ((from (format "%s:%s:%s" server user port)) 880 (let ((from (format "%s:%s:%s" server user port))
879 (mail-source-string (format "pop:%s@%s" user server)) 881 (mail-source-string (format "pop:%s@%s" user server))
882 (process-environment (if server
883 (cons (concat "MAILHOST=" server)
884 process-environment)
885 process-environment))
880 result) 886 result)
881 (when (eq authentication 'password) 887 (when (eq authentication 'password)
882 (setq password 888 (setq password
@@ -886,8 +892,6 @@ Deleting old (> %s day(s)) incoming mail file `%s'." diff bfile)
886 (format "Password for %s at %s: " user server)))) 892 (format "Password for %s at %s: " user server))))
887 (unless (assoc from mail-source-password-cache) 893 (unless (assoc from mail-source-password-cache)
888 (push (cons from password) mail-source-password-cache))) 894 (push (cons from password) mail-source-password-cache)))
889 (when server
890 (setenv "MAILHOST" server))
891 (setq result 895 (setq result
892 (cond 896 (cond
893 ;; No easy way to check whether mail is waiting for these. 897 ;; No easy way to check whether mail is waiting for these.
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index 2b2a0a94413..a6638097b47 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -4097,9 +4097,11 @@ Instead, just auto-save the buffer and then bury it."
4097 4097
4098(defun message-bury (buffer) 4098(defun message-bury (buffer)
4099 "Bury this mail BUFFER." 4099 "Bury this mail BUFFER."
4100 (bury-buffer buffer) 4100 (if message-return-action
4101 (when message-return-action 4101 (progn
4102 (apply (car message-return-action) (cdr message-return-action)))) 4102 (bury-buffer buffer)
4103 (apply (car message-return-action) (cdr message-return-action)))
4104 (with-current-buffer buffer (bury-buffer))))
4103 4105
4104(defun message-send (&optional arg) 4106(defun message-send (&optional arg)
4105 "Send the message in the current buffer. 4107 "Send the message in the current buffer.
diff --git a/lisp/progmodes/octave.el b/lisp/progmodes/octave.el
index 640775bfe8b..f8b9e4f6fab 100644
--- a/lisp/progmodes/octave.el
+++ b/lisp/progmodes/octave.el
@@ -461,11 +461,12 @@ Non-nil means always go to the next Octave code line after sending."
461 (forward-comment 1)) 461 (forward-comment 1))
462 (cond 462 (cond
463 ((and (looking-at "$\\|[%#]") 463 ((and (looking-at "$\\|[%#]")
464 (not (smie-rule-bolp)) 464 ;; Ignore it if it's within parentheses or if the newline does not end
465 ;; Ignore it if it's within parentheses. 465 ;; some preceding text.
466 (prog1 (let ((ppss (syntax-ppss))) 466 (prog1 (and (not (smie-rule-bolp))
467 (not (and (nth 1 ppss) 467 (let ((ppss (syntax-ppss)))
468 (eq ?\( (char-after (nth 1 ppss)))))) 468 (not (and (nth 1 ppss)
469 (eq ?\( (char-after (nth 1 ppss)))))))
469 (forward-comment (point-max)))) 470 (forward-comment (point-max))))
470 ;; Why bother distinguishing \n and ;? 471 ;; Why bother distinguishing \n and ;?
471 ";") ;;"\n" 472 ";") ;;"\n"
@@ -625,6 +626,7 @@ including a reproducible test case and send the message."
625 626
626 (add-hook 'completion-at-point-functions 627 (add-hook 'completion-at-point-functions
627 'octave-completion-at-point-function nil t) 628 'octave-completion-at-point-function nil t)
629 (add-hook 'before-save-hook 'octave-sync-function-file-names nil t)
628 (setq-local beginning-of-defun-function 'octave-beginning-of-defun) 630 (setq-local beginning-of-defun-function 'octave-beginning-of-defun)
629 631
630 (easy-menu-add octave-mode-menu)) 632 (easy-menu-add octave-mode-menu))
@@ -1007,6 +1009,27 @@ directory and makes this the current buffer's default directory."
1007 nil 1009 nil
1008 (delete-horizontal-space) 1010 (delete-horizontal-space)
1009 (insert (concat " " octave-continuation-string)))) 1011 (insert (concat " " octave-continuation-string))))
1012
1013(defun octave-sync-function-file-names ()
1014 "Ensure function name agree with function file name.
1015See Info node `(octave)Function Files'."
1016 (interactive)
1017 (save-excursion
1018 (when (and buffer-file-name
1019 (prog2
1020 (goto-char (point-min))
1021 (equal (funcall smie-forward-token-function) "function")
1022 (forward-word -1)))
1023 (let ((file (file-name-sans-extension
1024 (file-name-nondirectory buffer-file-name)))
1025 (func (and (re-search-forward octave-function-header-regexp nil t)
1026 (match-string 3))))
1027 (when (and func
1028 (not (equal file func))
1029 (yes-or-no-p
1030 "Function name different from file name. Fix? "))
1031 (replace-match file nil nil nil 3))))))
1032
1010 1033
1011;;; Indentation 1034;;; Indentation
1012 1035
diff --git a/lisp/subr.el b/lisp/subr.el
index 7fe3d411580..523bec59b29 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -2225,7 +2225,7 @@ The value of DEFAULT is inserted into PROMPT."
2225 (condition-case nil 2225 (condition-case nil
2226 (setq n (cond 2226 (setq n (cond
2227 ((zerop (length str)) default1) 2227 ((zerop (length str)) default1)
2228 ((stringp str) (string-to-number str)))) 2228 ((stringp str) (read str))))
2229 (error nil))) 2229 (error nil)))
2230 (unless (numberp n) 2230 (unless (numberp n)
2231 (message "Please enter a number.") 2231 (message "Please enter a number.")
diff --git a/lisp/textmodes/reftex-vars.el b/lisp/textmodes/reftex-vars.el
index ab085a3085a..a68a27bb07e 100644
--- a/lisp/textmodes/reftex-vars.el
+++ b/lisp/textmodes/reftex-vars.el
@@ -901,6 +901,7 @@ and the functions `TeX-current-macro' and
901`LaTeX-current-environment' are bound. Also note that this 901`LaTeX-current-environment' are bound. Also note that this
902feature might slow down the reftex parsing process for large TeX 902feature might slow down the reftex parsing process for large TeX
903files." 903files."
904 :version "24.4"
904 :group 'reftex-defining-label-environments 905 :group 'reftex-defining-label-environments
905 :type '(repeat string)) 906 :type '(repeat string))
906 907
diff --git a/lisp/textmodes/remember.el b/lisp/textmodes/remember.el
index 76ffeaf30be..c8bafd8176a 100644
--- a/lisp/textmodes/remember.el
+++ b/lisp/textmodes/remember.el
@@ -444,7 +444,8 @@ If you want to remember a region, supply a universal prefix to
444 444
445(defun remember-store-in-files () 445(defun remember-store-in-files ()
446 "Store remember data in a file in `remember-data-directory'. 446 "Store remember data in a file in `remember-data-directory'.
447The file is named after `remember-directory-file-name-format'." 447The file is named after `remember-directory-file-name-format' fed through
448`format-time-string'."
448 (let ((name (format-time-string 449 (let ((name (format-time-string
449 remember-directory-file-name-format (current-time))) 450 remember-directory-file-name-format (current-time)))
450 (text (buffer-string))) 451 (text (buffer-string)))
diff --git a/src/ChangeLog b/src/ChangeLog
index 99e2c3d9a84..9ae5c29ab72 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
12013-04-26 Paul Eggert <eggert@cs.ucla.edu>
2
3 Port better to AIX (Bug#14258).
4 * lisp.h (ENUM_BF) [__IBMC__]: Make it 'unsigned int' here, too,
5 to pacify AIX xlc.
6
12013-04-24 Kenichi Handa <handa@gnu.org> 72013-04-24 Kenichi Handa <handa@gnu.org>
2 8
3 * coding.c (decode_coding_iso_2022): When an invalid escape 9 * coding.c (decode_coding_iso_2022): When an invalid escape
diff --git a/src/lisp.h b/src/lisp.h
index 175ec828c97..f7f8a5fb179 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -231,9 +231,9 @@ enum enum_USE_LSB_TAG { USE_LSB_TAG = 0 };
231#define case_Lisp_Int case Lisp_Int0: case Lisp_Int1 231#define case_Lisp_Int case Lisp_Int0: case Lisp_Int1
232#define LISP_INT_TAG_P(x) (((x) & ~Lisp_Int1) == 0) 232#define LISP_INT_TAG_P(x) (((x) & ~Lisp_Int1) == 0)
233 233
234/* Stolen from GDB. The only known compiler that doesn't support 234/* Idea stolen from GDB. MSVC doesn't support enums in bitfields,
235 enums in bitfields is MSVC. */ 235 and xlc complains vociferously about them. */
236#ifdef _MSC_VER 236#if defined _MSC_VER || defined __IBMC__
237#define ENUM_BF(TYPE) unsigned int 237#define ENUM_BF(TYPE) unsigned int
238#else 238#else
239#define ENUM_BF(TYPE) enum TYPE 239#define ENUM_BF(TYPE) enum TYPE