Merge from trunk.
This commit is contained in:
commit
b1cb82edff
44 changed files with 1269 additions and 742 deletions
17
ChangeLog
17
ChangeLog
|
@ -1,3 +1,20 @@
|
|||
2013-04-29 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Merge from gnulib, incorporating:
|
||||
2013-04-28 extern-inline: work around bug in Sun c99
|
||||
|
||||
2013-04-27 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Merge from gnulib, incorporating:
|
||||
2013-04-27 alignof, intprops, malloca: port better to IBM's C compiler
|
||||
|
||||
2013-04-26 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Port better to AIX (Bug#14258).
|
||||
* configure.ac (CFLAGS): Append -O if the user did not specify CFLAGS,
|
||||
we did not already infer an optimization option, and -O works.
|
||||
AIX xlc needs -O, otherwise garbage collection doesn't work.
|
||||
|
||||
2013-04-22 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
* make-dist: Do not distribute admin/unidata/Makefile.
|
||||
|
|
|
@ -1579,13 +1579,21 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
Suppress extern inline with HP-UX cc, as it appears to be broken; see
|
||||
<http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>.
|
||||
|
||||
Suppress the use of extern inline on Apple's platforms,
|
||||
as Libc-825.25 (2012-09-19) is incompatible with it; see
|
||||
Suppress extern inline with Sun C in standards-conformance mode, as it
|
||||
mishandles inline functions that call each other. E.g., for 'inline void f
|
||||
(void) { } inline void g (void) { f (); }', c99 incorrectly complains
|
||||
'reference to static identifier "f" in extern inline function'.
|
||||
This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16.
|
||||
|
||||
Suppress the use of extern inline on Apple's platforms, as Libc at least
|
||||
through Libc-825.26 (2013-04-09) is incompatible with it; see, e.g.,
|
||||
<http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
|
||||
Perhaps Apple will fix this some day. */
|
||||
#if ((__GNUC__ \
|
||||
? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
|
||||
: 199901L <= __STDC_VERSION__ && !defined __HP_cc) \
|
||||
: (199901L <= __STDC_VERSION__ \
|
||||
&& !defined __HP_cc \
|
||||
&& !(defined __SUNPRO_C && __STDC__))) \
|
||||
&& !defined __APPLE__)
|
||||
# define _GL_INLINE inline
|
||||
# define _GL_EXTERN_INLINE extern inline
|
||||
|
|
49
autogen/configure
vendored
49
autogen/configure
vendored
|
@ -7271,10 +7271,10 @@ esac
|
|||
# Code from module xalloc-oversized:
|
||||
|
||||
|
||||
# It's helpful to have C macros available to GDB, so prefer -g3 to -g
|
||||
# if -g3 works and the user does not specify CFLAGS.
|
||||
# This test must follow gl_EARLY; otherwise AC_LINK_IFELSE complains.
|
||||
if test "$ac_test_CFLAGS" != set; then
|
||||
# It's helpful to have C macros available to GDB, so prefer -g3 to -g
|
||||
# if -g3 works and the user does not specify CFLAGS.
|
||||
# This test must follow gl_EARLY; otherwise AC_LINK_IFELSE complains.
|
||||
case $CFLAGS in
|
||||
'-g')
|
||||
emacs_g3_CFLAGS='-g3';;
|
||||
|
@ -7312,12 +7312,49 @@ rm -f core conftest.err conftest.$ac_objext \
|
|||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $emacs_cv_prog_cc_g3" >&5
|
||||
$as_echo "$emacs_cv_prog_cc_g3" >&6; }
|
||||
if test $emacs_cv_prog_cc_g3 = yes; then
|
||||
CFLAGS=$emacs_g3_CFLAGS
|
||||
else
|
||||
if test $emacs_cv_prog_cc_g3 != yes; then
|
||||
CFLAGS=$emacs_save_CFLAGS
|
||||
fi
|
||||
fi
|
||||
|
||||
case $CFLAGS in
|
||||
*-O*) ;;
|
||||
*)
|
||||
# No optimization flag was inferred for this non-GCC compiler.
|
||||
# Try -O. This is needed for xlc on AIX; see Bug#14258.
|
||||
emacs_save_CFLAGS=$CFLAGS
|
||||
test -z "$CFLAGS" || CFLAGS="$CFLAGS "
|
||||
CFLAGS=${CFLAGS}-O
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -O" >&5
|
||||
$as_echo_n "checking whether $CC accepts -O... " >&6; }
|
||||
if test "${emacs_cv_prog_cc_o+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_link "$LINENO"; then :
|
||||
emacs_cv_prog_cc_o=yes
|
||||
else
|
||||
emacs_cv_prog_cc_o=no
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $emacs_cv_prog_cc_o" >&5
|
||||
$as_echo "$emacs_cv_prog_cc_o" >&6; }
|
||||
if test $emacs_cv_prog_cc_o != yes; then
|
||||
CFLAGS=$emacs_save_CFLAGS
|
||||
fi ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Check whether --enable-gcc-warnings was given.
|
||||
|
|
30
configure.ac
30
configure.ac
|
@ -623,10 +623,10 @@ AC_DEFUN([gl_THREADLIB])
|
|||
dnl Amongst other things, this sets AR and ARFLAGS.
|
||||
gl_EARLY
|
||||
|
||||
# It's helpful to have C macros available to GDB, so prefer -g3 to -g
|
||||
# if -g3 works and the user does not specify CFLAGS.
|
||||
# This test must follow gl_EARLY; otherwise AC_LINK_IFELSE complains.
|
||||
if test "$ac_test_CFLAGS" != set; then
|
||||
# It's helpful to have C macros available to GDB, so prefer -g3 to -g
|
||||
# if -g3 works and the user does not specify CFLAGS.
|
||||
# This test must follow gl_EARLY; otherwise AC_LINK_IFELSE complains.
|
||||
case $CFLAGS in
|
||||
'-g')
|
||||
emacs_g3_CFLAGS='-g3';;
|
||||
|
@ -642,16 +642,32 @@ if test "$ac_test_CFLAGS" != set; then
|
|||
[emacs_cv_prog_cc_g3],
|
||||
[AC_LINK_IFELSE([AC_LANG_PROGRAM()],
|
||||
[emacs_cv_prog_cc_g3=yes],
|
||||
[emacs_cv_prog_cc_g3=no])])
|
||||
if test $emacs_cv_prog_cc_g3 = yes; then
|
||||
CFLAGS=$emacs_g3_CFLAGS
|
||||
else
|
||||
[emacs_cv_prog_cc_g3=no])])
|
||||
if test $emacs_cv_prog_cc_g3 != yes; then
|
||||
CFLAGS=$emacs_save_CFLAGS
|
||||
fi
|
||||
if test $opsys = mingw32; then
|
||||
CFLAGS="$CFLAGS -gdwarf-2"
|
||||
fi
|
||||
fi
|
||||
|
||||
case $CFLAGS in
|
||||
*-O*) ;;
|
||||
*)
|
||||
# No optimization flag was inferred for this non-GCC compiler.
|
||||
# Try -O. This is needed for xlc on AIX; see Bug#14258.
|
||||
emacs_save_CFLAGS=$CFLAGS
|
||||
test -z "$CFLAGS" || CFLAGS="$CFLAGS "
|
||||
CFLAGS=${CFLAGS}-O
|
||||
AC_CACHE_CHECK([whether $CC accepts -O],
|
||||
[emacs_cv_prog_cc_o],
|
||||
[AC_LINK_IFELSE([AC_LANG_PROGRAM()],
|
||||
[emacs_cv_prog_cc_o=yes],
|
||||
[emacs_cv_prog_cc_o=no])])
|
||||
if test $emacs_cv_prog_cc_o != yes; then
|
||||
CFLAGS=$emacs_save_CFLAGS
|
||||
fi ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
AC_ARG_ENABLE([gcc-warnings],
|
||||
|
|
11
etc/NEWS
11
etc/NEWS
|
@ -101,6 +101,12 @@ You can pick the name of the function and the variables with `C-x 4 a'.
|
|||
|
||||
* Changes in Specialized Modes and Packages in Emacs 24.4
|
||||
|
||||
** `remember' can now store notes in separates files
|
||||
You can use the new function `remember-store-in-files' within the
|
||||
`remember-handler-functions' option.
|
||||
|
||||
See `remember-data-directory' and `remember-directory-file-name-format'
|
||||
for new options related to this function.
|
||||
** `ido-decorations' has been slightly extended to give a bit more control.
|
||||
|
||||
** More packages look for ~/.emacs.d/<foo> additionally to ~/.<foo>.
|
||||
|
@ -163,6 +169,11 @@ on the given date.
|
|||
|
||||
*** Support for ISO 8601 dates.
|
||||
|
||||
** Desktop
|
||||
|
||||
*** `desktop-auto-save-timeout' defines the number of seconds between
|
||||
auto-saves of the desktop.
|
||||
|
||||
** Dired
|
||||
|
||||
*** New minor mode `dired-hide-details-mode' hides details.
|
||||
|
|
|
@ -89,7 +89,7 @@
|
|||
|
||||
/* Return 1 if the __typeof__ keyword works. This could be done by
|
||||
'configure', but for now it's easier to do it by hand. */
|
||||
#if 2 <= __GNUC__ || 0x5110 <= __SUNPRO_C
|
||||
#if 2 <= __GNUC__ || defined __IBM__TYPEOF__ || 0x5110 <= __SUNPRO_C
|
||||
# define _GL_HAVE___TYPEOF__ 1
|
||||
#else
|
||||
# define _GL_HAVE___TYPEOF__ 0
|
||||
|
|
204
lisp/ChangeLog
204
lisp/ChangeLog
|
@ -1,7 +1,205 @@
|
|||
2013-05-01 Leo Liu <sdl.web@gmail.com>
|
||||
|
||||
* progmodes/octave.el: Compatible with older emacs-24 releases.
|
||||
(inferior-octave-has-built-in-variables): Remove. Buil-in
|
||||
variables were removed from Octave in 2007.
|
||||
(inferior-octave-startup): Fix uses.
|
||||
(comint-line-beginning-position): Remove compatibility code for
|
||||
emacs 21.
|
||||
|
||||
2013-05-01 Juri Linkov <juri@jurta.org>
|
||||
|
||||
* isearch.el (isearch-forward, isearch-mode): Doc fix. (Bug#13923)
|
||||
|
||||
2013-05-01 Juri Linkov <juri@jurta.org>
|
||||
|
||||
* comint.el (comint-previous-matching-input): Don't print message
|
||||
"History item: %d" when `isearch-mode' is active.
|
||||
(comint-history-isearch-message): Print message "History item: %d"
|
||||
when `comint-input-ring-index' is not empty and this function is
|
||||
called from `isearch-update' with a nil `ellipsis'. (Bug#13223)
|
||||
|
||||
2013-05-01 Leo Liu <sdl.web@gmail.com>
|
||||
|
||||
* progmodes/octave.el (octave-abbrev-table): Remove abbrev
|
||||
definitions. Use completion-at-point to insert keywords.
|
||||
(octave-abbrev-start): Remove.
|
||||
(inferior-octave-mode, octave-mode): Use :abbrev-table instead.
|
||||
|
||||
2013-04-30 Leo Liu <sdl.web@gmail.com>
|
||||
|
||||
* progmodes/octave.el (inferior-octave-prompt-read-only): Fix last
|
||||
change.
|
||||
|
||||
2013-04-30 Alan Mackenzie <acm@muc.de>
|
||||
|
||||
Handle arbitrarily long C++ member initialisation lists.
|
||||
* progmodes/cc-engine.el (c-back-over-member-initializers): new
|
||||
function.
|
||||
(c-guess-basic-syntax): New CASE 5R (extracted from 5B) to handle
|
||||
(most) member init lists.
|
||||
|
||||
2013-04-30 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
|
||||
|
||||
* progmodes/octave.el (inferior-octave-prompt-read-only): New user
|
||||
variable.
|
||||
|
||||
2013-04-30 Leo Liu <sdl.web@gmail.com>
|
||||
|
||||
* progmodes/octave.el (octave-variables): Remove. No builtin
|
||||
variables any more. All converted to functions.
|
||||
(octave-font-lock-keywords, octave-completion-at-point-function):
|
||||
Fix uses.
|
||||
(octave-font-lock-texinfo-comment): New user variable.
|
||||
(octave-texinfo-font-lock-keywords): New variable for texinfo
|
||||
comment block.
|
||||
(octave-function-comment-block): New face.
|
||||
(octave-font-lock-texinfo-comment): New function.
|
||||
(octave-mode): Font lock texinfo comment block.
|
||||
|
||||
2013-04-29 Leo Liu <sdl.web@gmail.com>
|
||||
|
||||
* progmodes/octave.el (octave-font-lock-keywords): Handle 'end' in
|
||||
indexing expression.
|
||||
(octave-continuation-string): Do not use \.
|
||||
(inferior-octave-complete-impossible): Remove.
|
||||
(inferior-octave-completion-table)
|
||||
(inferior-octave-completion-at-point): Remove its uses.
|
||||
(inferior-octave-startup): completion_matches was introduced to
|
||||
Octave in 1996 so safe to assume it.
|
||||
(octave-function-file-comment): Improve to follow how Octave does it.
|
||||
(octave-update-function-file-comment): Tweak.
|
||||
|
||||
2013-04-29 Leo Liu <sdl.web@gmail.com>
|
||||
|
||||
* progmodes/octave.el (inferior-octave-startup-hook): Obsolete.
|
||||
(inferior-octave-startup): Remove inferior-octave-startup-hook.
|
||||
(octave-function-file-comment): Fix typo.
|
||||
(octave-sync-function-file-names): Use read-char-choice.
|
||||
|
||||
2013-04-28 Jay Belanger <jay.p.belanger@gmail.com>
|
||||
|
||||
* calc/calc.el (math-normalize): Don't set `math-normalize-error'
|
||||
to t for the less important warnings.
|
||||
|
||||
2013-04-27 Darren Hoo <darren.hoo@gmail.com> (tiny change)
|
||||
|
||||
* isearch.el (isearch-fail-pos): Check for empty `cmds'. (Bug#14268)
|
||||
|
||||
2013-04-27 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* vc/log-view.el (log-view-current-entry):
|
||||
Treat "---" separator lines as part of the following rev. (Bug#14169)
|
||||
|
||||
2013-04-27 Juri Linkov <juri@jurta.org>
|
||||
|
||||
* subr.el (read-number): Doc fix about using it by interactive
|
||||
code letter `n'. (Bug#14254)
|
||||
|
||||
2013-04-27 Juri Linkov <juri@jurta.org>
|
||||
|
||||
* desktop.el (desktop-auto-save-timeout): New option.
|
||||
(desktop-file-checksum): New variable.
|
||||
(desktop-save): Add optional arg `auto-save' and don't auto-save
|
||||
if nothing changed.
|
||||
(desktop-auto-save-timer): New variable.
|
||||
(desktop-auto-save, desktop-auto-save-set-timer): New functions.
|
||||
(after-init-hook): Call `desktop-auto-save-set-timer'.
|
||||
Suggested by Reuben Thomas <rrt@sc3d.org> in
|
||||
<http://lists.gnu.org/archive/html/emacs-devel/2013-04/msg00327.html>.
|
||||
|
||||
2013-04-27 Leo Liu <sdl.web@gmail.com>
|
||||
|
||||
* progmodes/octave.el (octave-function-file-p)
|
||||
(octave-skip-comment-forward, octave-function-file-comment)
|
||||
(octave-update-function-file-comment): New functions.
|
||||
(octave-mode-map): Bind C-c ; to
|
||||
octave-update-function-file-comment.
|
||||
(octave-mode-menu): Add octave-update-function-file-comment.
|
||||
(octave-mode, inferior-octave-mode): Fix doc-string.
|
||||
(octave-insert-defun): Conform to Octave's coding convention.
|
||||
(Bug#14285)
|
||||
|
||||
* files.el (basic-save-buffer): Don't let errors in
|
||||
before-save-hook prevent saving buffer.
|
||||
|
||||
2013-04-20 Roland Winkler <winkler@gnu.org>
|
||||
|
||||
* faces.el (read-face-name): Use completing-read if arg multiple
|
||||
is nil.
|
||||
|
||||
2013-04-27 Ingo Lohmar <i.lohmar@gmail.com> (tiny change)
|
||||
|
||||
* ls-lisp.el (ls-lisp-insert-directory): If no files are
|
||||
displayed, move point to after the totals line. See
|
||||
http://lists.gnu.org/archive/html/emacs-devel/2013-04/msg00677.html
|
||||
for the details.
|
||||
|
||||
2013-04-27 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* emacs-lisp/package.el (package-autoload-ensure-default-file):
|
||||
Add current dir to the load-path.
|
||||
(package-generate-autoloads): Don't rely on
|
||||
autoload-ensure-default-file.
|
||||
|
||||
2013-04-26 Reuben Thomas <rrt@sc3d.org>
|
||||
|
||||
* textmodes/remember.el (remember-store-in-files): Document that
|
||||
the file name format is passed to `format-time-string'.
|
||||
|
||||
2013-04-26 Leo Liu <sdl.web@gmail.com>
|
||||
|
||||
* progmodes/octave.el (octave-sync-function-file-names): New function.
|
||||
(octave-mode): Use it in before-save-hook.
|
||||
|
||||
2013-04-26 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* emacs-lisp/tabulated-list.el (tabulated-list-mode): Disable undo
|
||||
(bug#14274).
|
||||
|
||||
* progmodes/octave.el (octave-smie-forward-token): Properly skip
|
||||
\n and comment, even if it's not an implicit ; (bug#14218).
|
||||
|
||||
2013-04-26 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* subr.el (read-number): Once more use `read' rather than
|
||||
`string-to-number', to trap non-numeric input. (Bug#14254)
|
||||
|
||||
2013-04-26 Erik Charlebois <erikcharlebois@gmail.com>
|
||||
|
||||
* emacs-lisp/syntax.el (syntax-propertize-multiline):
|
||||
Use `syntax-multiline' text property consistently instead of
|
||||
`font-lock-multiline'. (bug#14237).
|
||||
|
||||
2013-04-26 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* emacs-lisp/shadow.el (list-load-path-shadows):
|
||||
No longer necessary to check for duplicate simple.el, since
|
||||
2012-07-07 change to init_lread to not include installation lisp
|
||||
directories in load-path when running uninstalled. (Bug#14270)
|
||||
|
||||
2013-04-26 Leo Liu <sdl.web@gmail.com>
|
||||
|
||||
* progmodes/octave.el (octave-submit-bug-report): Obsolete.
|
||||
(octave-mode, inferior-octave-mode): Use setq-local.
|
||||
(octave-not-in-string-or-comment-p): Rename to
|
||||
octave-in-string-or-comment-p.
|
||||
(octave-in-comment-p, octave-in-string-p)
|
||||
(octave-in-string-or-comment-p): Replace defsubst with defun.
|
||||
|
||||
2013-04-25 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
* Makefile.in (distclean): Remove $(lisp)/loaddefs.el~.
|
||||
|
||||
2013-04-25 Bastien Guerry <bzg@gnu.org>
|
||||
|
||||
* textmodes/remember.el (remember-data-directory)
|
||||
(remember-directory-file-name-format): Fix custom types.
|
||||
|
||||
2013-04-25 Leo Liu <sdl.web@gmail.com>
|
||||
|
||||
* progmodes/octave.el (octave-completion-at-point-function): Make
|
||||
use of inferior octave process.
|
||||
* progmodes/octave.el (octave-completion-at-point-function):
|
||||
Make use of inferior octave process.
|
||||
(octave-initialize-completions): Remove.
|
||||
(inferior-octave-completion-table): New function.
|
||||
(inferior-octave-completion-at-point): Use it.
|
||||
|
@ -72,7 +270,7 @@
|
|||
(opascal-parse-next-literal, opascal-debug-unparse-buffer):
|
||||
Adjust callers.
|
||||
|
||||
2013-04-24 Reuben Thomas <rrt@sc3d.org>
|
||||
2013-04-24 Reuben Thomas <rrt@sc3d.org>
|
||||
|
||||
* textmodes/remember.el (remember-handler-functions): Add an
|
||||
option for a new handler `remember-store-in-files'.
|
||||
|
|
|
@ -437,7 +437,7 @@ bootstrap-clean:
|
|||
cd $(lisp); rm -f *.elc */*.elc */*/*.elc */*/*/*.elc $(AUTOGENEL)
|
||||
|
||||
distclean:
|
||||
-rm -f ./Makefile
|
||||
-rm -f ./Makefile $(lisp)/loaddefs.el~
|
||||
|
||||
maintainer-clean: distclean bootstrap-clean
|
||||
|
||||
|
|
|
@ -2701,7 +2701,6 @@ largest Emacs integer.")
|
|||
(cons (car math-normalize-a) args))
|
||||
nil)
|
||||
(wrong-type-argument
|
||||
(setq math-normalize-error t)
|
||||
(or calc-next-why
|
||||
(calc-record-why "Wrong type of argument"
|
||||
(cons (car math-normalize-a) args)))
|
||||
|
@ -2712,7 +2711,6 @@ largest Emacs integer.")
|
|||
(cons (car math-normalize-a) args))
|
||||
nil)
|
||||
(inexact-result
|
||||
(setq math-normalize-error t)
|
||||
(calc-record-why "No exact representation for result"
|
||||
(cons (car math-normalize-a) args))
|
||||
nil)
|
||||
|
|
|
@ -1,3 +1,11 @@
|
|||
2013-04-27 David Engster <deng@randomsample.de>
|
||||
|
||||
* semantic/complete.el
|
||||
(semantic-collector-calculate-completions-raw): If
|
||||
`completionslist' is not set, refresh the cache if necessary and
|
||||
use it for completions. This fixes the
|
||||
`semantic-collector-buffer-deep' collector (bug#14265).
|
||||
|
||||
2013-03-26 Leo Liu <sdl.web@gmail.com>
|
||||
|
||||
* semantic/senator.el (senator-copy-tag-to-register): Move
|
||||
|
|
|
@ -988,14 +988,17 @@ Calculate the cache if there isn't one."
|
|||
"Calculate the completions for prefix from completionlist.
|
||||
Output must be in semanticdb Find result format."
|
||||
;; Must output in semanticdb format
|
||||
(unless completionlist
|
||||
(setq completionlist
|
||||
(or (oref obj cache)
|
||||
(semantic-collector-calculate-cache obj))))
|
||||
(let ((table (with-current-buffer (oref obj buffer)
|
||||
semanticdb-current-table))
|
||||
(result (semantic-find-tags-for-completion
|
||||
prefix
|
||||
;; To do this kind of search with a pre-built completion
|
||||
;; list, we need to strip it first.
|
||||
(semanticdb-strip-find-results completionlist)))
|
||||
)
|
||||
(semanticdb-strip-find-results completionlist))))
|
||||
(if result
|
||||
(list (cons table result)))))
|
||||
|
||||
|
|
|
@ -1191,7 +1191,8 @@ If N is negative, find the next or Nth next match."
|
|||
(setq comint-stored-incomplete-input
|
||||
(funcall comint-get-old-input)))
|
||||
(setq comint-input-ring-index pos)
|
||||
(message "History item: %d" (1+ pos))
|
||||
(unless isearch-mode
|
||||
(message "History item: %d" (1+ pos)))
|
||||
(comint-delete-input)
|
||||
(insert (ring-ref comint-input-ring pos)))))
|
||||
|
||||
|
@ -1540,8 +1541,11 @@ the function `isearch-message'."
|
|||
(overlay-put comint-history-isearch-message-overlay 'evaporate t))
|
||||
(overlay-put comint-history-isearch-message-overlay
|
||||
'display (isearch-message-prefix c-q-hack ellipsis))
|
||||
;; And clear any previous isearch message.
|
||||
(message "")))
|
||||
(if (and comint-input-ring-index (not ellipsis))
|
||||
;; Display the current history index.
|
||||
(message "History item: %d" (1+ comint-input-ring-index))
|
||||
;; Or clear a previous isearch message.
|
||||
(message ""))))
|
||||
|
||||
(defun comint-history-isearch-wrap ()
|
||||
"Wrap the input history search when search fails.
|
||||
|
|
|
@ -189,6 +189,19 @@ determine where the desktop is saved."
|
|||
:group 'desktop
|
||||
:version "22.1")
|
||||
|
||||
(defcustom desktop-auto-save-timeout nil
|
||||
"Number of seconds between auto-saves of the desktop.
|
||||
Zero or nil means disable timer-based auto-saving."
|
||||
:type '(choice (const :tag "Off" nil)
|
||||
(integer :tag "Seconds"))
|
||||
:set (lambda (symbol value)
|
||||
(set-default symbol value)
|
||||
(condition-case nil
|
||||
(desktop-auto-save-set-timer)
|
||||
(error nil)))
|
||||
:group 'desktop
|
||||
:version "24.4")
|
||||
|
||||
(defcustom desktop-load-locked-desktop 'ask
|
||||
"Specifies whether the desktop should be loaded if locked.
|
||||
Possible values are:
|
||||
|
@ -539,6 +552,10 @@ DIRNAME omitted or nil means use `desktop-dirname'."
|
|||
(defvar desktop-delay-hook nil
|
||||
"Hooks run after all buffers are loaded; intended for internal use.")
|
||||
|
||||
(defvar desktop-file-checksum nil
|
||||
"Checksum of the last auto-saved contents of the desktop file.
|
||||
Used to avoid writing contents unchanged between auto-saves.")
|
||||
|
||||
;; ----------------------------------------------------------------------------
|
||||
;; Desktop file conflict detection
|
||||
(defvar desktop-file-modtime nil
|
||||
|
@ -842,11 +859,12 @@ DIRNAME must be the directory in which the desktop file will be saved."
|
|||
|
||||
;; ----------------------------------------------------------------------------
|
||||
;;;###autoload
|
||||
(defun desktop-save (dirname &optional release)
|
||||
(defun desktop-save (dirname &optional release auto-save)
|
||||
"Save the desktop in a desktop file.
|
||||
Parameter DIRNAME specifies where to save the desktop file.
|
||||
Optional parameter RELEASE says whether we're done with this desktop.
|
||||
See also `desktop-base-file-name'."
|
||||
If AUTO-SAVE is non-nil, compare the saved contents to the one last saved,
|
||||
and don't save the buffer if they are the same."
|
||||
(interactive "DDirectory to save desktop file in: ")
|
||||
(setq desktop-dirname (file-name-as-directory (expand-file-name dirname)))
|
||||
(save-excursion
|
||||
|
@ -906,10 +924,17 @@ See also `desktop-base-file-name'."
|
|||
(insert ")\n\n"))))
|
||||
|
||||
(setq default-directory desktop-dirname)
|
||||
(let ((coding-system-for-write 'emacs-mule))
|
||||
(write-region (point-min) (point-max) (desktop-full-file-name) nil 'nomessage))
|
||||
;; We remember when it was modified (which is presumably just now).
|
||||
(setq desktop-file-modtime (nth 5 (file-attributes (desktop-full-file-name)))))))))
|
||||
;; If auto-saving, avoid writing if nothing has changed since the last write.
|
||||
;; Don't check 300 characters of the header that contains the timestamp.
|
||||
(let ((checksum (and auto-save (md5 (current-buffer)
|
||||
(+ (point-min) 300) (point-max)
|
||||
'emacs-mule))))
|
||||
(unless (and auto-save (equal checksum desktop-file-checksum))
|
||||
(let ((coding-system-for-write 'emacs-mule))
|
||||
(write-region (point-min) (point-max) (desktop-full-file-name) nil 'nomessage))
|
||||
(setq desktop-file-checksum checksum)
|
||||
;; We remember when it was modified (which is presumably just now).
|
||||
(setq desktop-file-modtime (nth 5 (file-attributes (desktop-full-file-name)))))))))))
|
||||
|
||||
;; ----------------------------------------------------------------------------
|
||||
;;;###autoload
|
||||
|
@ -1062,6 +1087,37 @@ directory DIRNAME."
|
|||
(call-interactively 'desktop-save))
|
||||
(message "Desktop saved in %s" (abbreviate-file-name desktop-dirname)))
|
||||
|
||||
;; ----------------------------------------------------------------------------
|
||||
;; Auto-Saving.
|
||||
(defvar desktop-auto-save-timer nil)
|
||||
|
||||
(defun desktop-auto-save ()
|
||||
"Save the desktop periodically.
|
||||
Called by the timer created in `desktop-auto-save-set-timer'."
|
||||
(when (and desktop-save-mode
|
||||
(integerp desktop-auto-save-timeout)
|
||||
(> desktop-auto-save-timeout 0)
|
||||
;; Avoid desktop saving during lazy loading.
|
||||
(not desktop-lazy-timer)
|
||||
;; Save only to own desktop file.
|
||||
(eq (emacs-pid) (desktop-owner))
|
||||
desktop-dirname)
|
||||
(desktop-save desktop-dirname nil t))
|
||||
(desktop-auto-save-set-timer))
|
||||
|
||||
(defun desktop-auto-save-set-timer ()
|
||||
"Reset the auto-save timer.
|
||||
Cancel any previous timer. When `desktop-auto-save-timeout' is a positive
|
||||
integer, start a new timer to call `desktop-auto-save' in that many seconds."
|
||||
(when desktop-auto-save-timer
|
||||
(cancel-timer desktop-auto-save-timer)
|
||||
(setq desktop-auto-save-timer nil))
|
||||
(when (and (integerp desktop-auto-save-timeout)
|
||||
(> desktop-auto-save-timeout 0))
|
||||
(setq desktop-auto-save-timer
|
||||
(run-with-timer desktop-auto-save-timeout nil
|
||||
'desktop-auto-save))))
|
||||
|
||||
;; ----------------------------------------------------------------------------
|
||||
;;;###autoload
|
||||
(defun desktop-revert ()
|
||||
|
@ -1315,6 +1371,7 @@ If there are no buffers left to create, kill the timer."
|
|||
(setq desktop-save-mode nil)))
|
||||
(when desktop-save-mode
|
||||
(desktop-read)
|
||||
(desktop-auto-save-set-timer)
|
||||
(setq inhibit-startup-screen t))))
|
||||
|
||||
(provide 'desktop)
|
||||
|
|
|
@ -588,7 +588,8 @@ EXTRA-PROPERTIES is currently unused."
|
|||
(concat ";;; " (file-name-nondirectory file)
|
||||
" --- automatically extracted autoloads\n"
|
||||
";;\n"
|
||||
";;; Code:\n\n"
|
||||
";;; Code:\n"
|
||||
"(add-to-list 'load-path (or (file-name-directory #$) (car load-path)))\n"
|
||||
"\n;; Local Variables:\n"
|
||||
";; version-control: never\n"
|
||||
";; no-byte-compile: t\n"
|
||||
|
@ -605,8 +606,7 @@ EXTRA-PROPERTIES is currently unused."
|
|||
;;(ignore-name (concat name "-pkg.el"))
|
||||
(generated-autoload-file (expand-file-name auto-name pkg-dir))
|
||||
(version-control 'never))
|
||||
(unless (fboundp 'autoload-ensure-default-file)
|
||||
(package-autoload-ensure-default-file generated-autoload-file))
|
||||
(package-autoload-ensure-default-file generated-autoload-file)
|
||||
(update-directory-autoloads pkg-dir)
|
||||
(let ((buf (find-buffer-visiting generated-autoload-file)))
|
||||
(when buf (kill-buffer buf)))))
|
||||
|
|
|
@ -207,101 +207,79 @@ the earlier.
|
|||
|
||||
For example, suppose `load-path' is set to
|
||||
|
||||
\(\"/usr/gnu/emacs/site-lisp\" \"/usr/gnu/emacs/share/emacs/19.30/lisp\"\)
|
||||
\(\"/usr/share/emacs/site-lisp\" \"/usr/share/emacs/24.3/lisp\")
|
||||
|
||||
and that each of these directories contains a file called XXX.el. Then
|
||||
XXX.el in the site-lisp directory is referred to by all of:
|
||||
\(require 'XXX\), \(autoload .... \"XXX\"\), \(load-library \"XXX\"\) etc.
|
||||
\(require 'XXX), (autoload .... \"XXX\"), (load-library \"XXX\") etc.
|
||||
|
||||
The first XXX.el file prevents Emacs from seeing the second \(unless
|
||||
the second is loaded explicitly via `load-file'\).
|
||||
The first XXX.el file prevents Emacs from seeing the second (unless
|
||||
the second is loaded explicitly via `load-file').
|
||||
|
||||
When not intended, such shadowings can be the source of subtle
|
||||
problems. For example, the above situation may have arisen because the
|
||||
XXX package was not distributed with versions of Emacs prior to
|
||||
19.30. An Emacs maintainer downloaded XXX from elsewhere and installed
|
||||
24.3. A system administrator downloaded XXX from elsewhere and installed
|
||||
it. Later, XXX was updated and included in the Emacs distribution.
|
||||
Unless the Emacs maintainer checks for this, the new version of XXX
|
||||
will be hidden behind the old \(which may no longer work with the new
|
||||
Emacs version\).
|
||||
Unless the system administrator checks for this, the new version of XXX
|
||||
will be hidden behind the old (which may no longer work with the new
|
||||
Emacs version).
|
||||
|
||||
This function performs these checks and flags all possible
|
||||
shadowings. Because a .el file may exist without a corresponding .elc
|
||||
\(or vice-versa\), these suffixes are essentially ignored. A file
|
||||
XXX.elc in an early directory \(that does not contain XXX.el\) is
|
||||
\(or vice-versa), these suffixes are essentially ignored. A file
|
||||
XXX.elc in an early directory (that does not contain XXX.el) is
|
||||
considered to shadow a later file XXX.el, and vice-versa.
|
||||
|
||||
Shadowings are located by calling the (non-interactive) companion
|
||||
function, `load-path-shadows-find'."
|
||||
(interactive)
|
||||
(let* ((path (copy-sequence load-path))
|
||||
(tem path)
|
||||
toplevs)
|
||||
;; If we can find simple.el in two places,
|
||||
(dolist (tt tem)
|
||||
(if (or (file-exists-p (expand-file-name "simple.el" tt))
|
||||
(file-exists-p (expand-file-name "simple.el.gz" tt)))
|
||||
(setq toplevs (cons tt toplevs))))
|
||||
(if (> (length toplevs) 1)
|
||||
;; Cut off our copy of load-path right before
|
||||
;; the last directory which has simple.el in it.
|
||||
;; This avoids loads of duplications between the source dir
|
||||
;; and the dir where these files were copied by installation.
|
||||
(let ((break (car toplevs)))
|
||||
(setq tem path)
|
||||
(while tem
|
||||
(if (eq (nth 1 tem) break)
|
||||
(progn
|
||||
(setcdr tem nil)
|
||||
(setq tem nil)))
|
||||
(setq tem (cdr tem)))))
|
||||
|
||||
(let* ((shadows (load-path-shadows-find path))
|
||||
(n (/ (length shadows) 2))
|
||||
(msg (format "%s Emacs Lisp load-path shadowing%s found"
|
||||
(if (zerop n) "No" (concat "\n" (number-to-string n)))
|
||||
(if (= n 1) " was" "s were"))))
|
||||
(with-temp-buffer
|
||||
(while shadows
|
||||
(insert (format "%s hides %s\n" (car shadows)
|
||||
(car (cdr shadows))))
|
||||
(setq shadows (cdr (cdr shadows))))
|
||||
(if stringp
|
||||
(buffer-string)
|
||||
(if (called-interactively-p 'interactive)
|
||||
;; We are interactive.
|
||||
;; Create the *Shadows* buffer and display shadowings there.
|
||||
(let ((string (buffer-string)))
|
||||
(with-current-buffer (get-buffer-create "*Shadows*")
|
||||
(display-buffer (current-buffer))
|
||||
(load-path-shadows-mode) ; run after-change-major-mode-hook
|
||||
(let ((inhibit-read-only t))
|
||||
(erase-buffer)
|
||||
(insert string)
|
||||
(insert msg "\n")
|
||||
(while (re-search-backward "\\(^.*\\) hides \\(.*$\\)"
|
||||
nil t)
|
||||
(dotimes (i 2)
|
||||
(make-button (match-beginning (1+ i))
|
||||
(match-end (1+ i))
|
||||
'type 'load-path-shadows-find-file
|
||||
'shadow-file
|
||||
(match-string (1+ i)))))
|
||||
(goto-char (point-max)))))
|
||||
;; We are non-interactive, print shadows via message.
|
||||
(unless (zerop n)
|
||||
(message "This site has duplicate Lisp libraries with the same name.
|
||||
(let* ((shadows (load-path-shadows-find load-path))
|
||||
(n (/ (length shadows) 2))
|
||||
(msg (format "%s Emacs Lisp load-path shadowing%s found"
|
||||
(if (zerop n) "No" (concat "\n" (number-to-string n)))
|
||||
(if (= n 1) " was" "s were"))))
|
||||
(with-temp-buffer
|
||||
(while shadows
|
||||
(insert (format "%s hides %s\n" (car shadows)
|
||||
(car (cdr shadows))))
|
||||
(setq shadows (cdr (cdr shadows))))
|
||||
(if stringp
|
||||
(buffer-string)
|
||||
(if (called-interactively-p 'interactive)
|
||||
;; We are interactive.
|
||||
;; Create the *Shadows* buffer and display shadowings there.
|
||||
(let ((string (buffer-string)))
|
||||
(with-current-buffer (get-buffer-create "*Shadows*")
|
||||
(display-buffer (current-buffer))
|
||||
(load-path-shadows-mode) ; run after-change-major-mode-hook
|
||||
(let ((inhibit-read-only t))
|
||||
(erase-buffer)
|
||||
(insert string)
|
||||
(insert msg "\n")
|
||||
(while (re-search-backward "\\(^.*\\) hides \\(.*$\\)"
|
||||
nil t)
|
||||
(dotimes (i 2)
|
||||
(make-button (match-beginning (1+ i))
|
||||
(match-end (1+ i))
|
||||
'type 'load-path-shadows-find-file
|
||||
'shadow-file
|
||||
(match-string (1+ i)))))
|
||||
(goto-char (point-max)))))
|
||||
;; We are non-interactive, print shadows via message.
|
||||
(unless (zerop n)
|
||||
(message "This site has duplicate Lisp libraries with the same name.
|
||||
If a locally-installed Lisp library overrides a library in the Emacs release,
|
||||
that can cause trouble, and you should probably remove the locally-installed
|
||||
version unless you know what you are doing.\n")
|
||||
(goto-char (point-min))
|
||||
;; Mimic the previous behavior of using lots of messages.
|
||||
;; I think one single message would look better...
|
||||
(while (not (eobp))
|
||||
(message "%s" (buffer-substring (line-beginning-position)
|
||||
(line-end-position)))
|
||||
(forward-line 1))
|
||||
(message "%s" msg))))))))
|
||||
(goto-char (point-min))
|
||||
;; Mimic the previous behavior of using lots of messages.
|
||||
;; I think one single message would look better...
|
||||
(while (not (eobp))
|
||||
(message "%s" (buffer-substring (line-beginning-position)
|
||||
(line-end-position)))
|
||||
(forward-line 1))
|
||||
(message "%s" msg)))))))
|
||||
|
||||
(provide 'shadow)
|
||||
|
||||
|
|
|
@ -99,7 +99,7 @@ Put first the functions more likely to cause a change and cheaper to compute.")
|
|||
(setq beg (or (previous-single-property-change beg 'syntax-multiline)
|
||||
(point-min))))
|
||||
;;
|
||||
(when (get-text-property end 'font-lock-multiline)
|
||||
(when (get-text-property end 'syntax-multiline)
|
||||
(setq end (or (text-property-any end (point-max)
|
||||
'syntax-multiline nil)
|
||||
(point-max))))
|
||||
|
|
|
@ -519,12 +519,11 @@ printer is `tabulated-list-print-entry', but a mode that keeps
|
|||
data in an ewoc may instead specify a printer function (e.g., one
|
||||
that calls `ewoc-enter-last'), with `tabulated-list-print-entry'
|
||||
as the ewoc pretty-printer."
|
||||
(setq truncate-lines t)
|
||||
(setq buffer-read-only t)
|
||||
(set (make-local-variable 'revert-buffer-function)
|
||||
'tabulated-list-revert)
|
||||
(set (make-local-variable 'glyphless-char-display)
|
||||
tabulated-list-glyphless-char-display))
|
||||
(setq-local truncate-lines t)
|
||||
(setq-local buffer-read-only t)
|
||||
(setq-local buffer-undo-list t)
|
||||
(setq-local revert-buffer-function #'tabulated-list-revert)
|
||||
(setq-local glyphless-char-display tabulated-list-glyphless-char-display))
|
||||
|
||||
(put 'tabulated-list-mode 'mode-class 'special)
|
||||
|
||||
|
|
|
@ -938,19 +938,14 @@ of the default face. Value is FACE."
|
|||
PROMPT should not end in a space or a colon.
|
||||
|
||||
Return DEFAULT if the user enters the empty string.
|
||||
If DEFAULT is non-nil, it should be a list of face names (symbols or strings).
|
||||
In that case, return the `car' of DEFAULT (if MULTIPLE is non-nil),
|
||||
or DEFAULT (if MULTIPLE is nil). See below for the meaning of MULTIPLE.
|
||||
DEFAULT can also be a single face.
|
||||
If DEFAULT is non-nil, it should be a single face or a list of face names
|
||||
\(symbols or strings). In the latter case, return the `car' of DEFAULT
|
||||
\(if MULTIPLE is nil, see below), or DEFAULT (if MULTIPLE is non-nil).
|
||||
|
||||
This function uses `completing-read-multiple' with \"[ \\t]*,[ \\t]*\"
|
||||
as the separator regexp. Thus, the user may enter multiple face names,
|
||||
separated by commas.
|
||||
|
||||
MULTIPLE specifies the form of the return value. If MULTIPLE is non-nil,
|
||||
return a list of face names; if the user entered just one face name,
|
||||
return a list of one face name. Otherwise, return a single face name;
|
||||
if the user entered more than one face name, return only the first one."
|
||||
If MULTIPLE is non-nil, this function uses `completing-read-multiple'
|
||||
to read multiple faces with \"[ \\t]*,[ \\t]*\" as the separator regexp
|
||||
and it returns a list of face names. Otherwise, it reads and returns
|
||||
a single face name."
|
||||
(if (and default (not (stringp default)))
|
||||
(setq default
|
||||
(cond ((symbolp default)
|
||||
|
@ -961,26 +956,36 @@ if the user entered more than one face name, return only the first one."
|
|||
;; If we only want one, and the default is more than one,
|
||||
;; discard the unwanted ones.
|
||||
(t (symbol-name (car default))))))
|
||||
(if (and default (not multiple))
|
||||
;; For compatibility with `completing-read-multiple' use `crm-separator'
|
||||
;; to define DEFAULT if MULTIPLE is nil.
|
||||
(setq default (car (split-string default crm-separator t))))
|
||||
|
||||
(let (aliasfaces nonaliasfaces faces)
|
||||
(let ((prompt (if default
|
||||
(format "%s (default `%s'): " prompt default)
|
||||
(format "%s: " prompt)))
|
||||
aliasfaces nonaliasfaces faces)
|
||||
;; Build up the completion tables.
|
||||
(mapatoms (lambda (s)
|
||||
(if (facep s)
|
||||
(if (get s 'face-alias)
|
||||
(push (symbol-name s) aliasfaces)
|
||||
(push (symbol-name s) nonaliasfaces)))))
|
||||
(dolist (face (completing-read-multiple
|
||||
(if default
|
||||
(format "%s (default `%s'): " prompt default)
|
||||
(format "%s: " prompt))
|
||||
(if multiple
|
||||
(progn
|
||||
(dolist (face (completing-read-multiple
|
||||
prompt
|
||||
(completion-table-in-turn nonaliasfaces aliasfaces)
|
||||
nil t nil 'face-name-history default))
|
||||
;; Ignore elements that are not faces
|
||||
;; (for example, because DEFAULT was "all faces")
|
||||
(if (facep face) (push (intern face) faces)))
|
||||
(nreverse faces))
|
||||
(let ((face (completing-read
|
||||
prompt
|
||||
(completion-table-in-turn nonaliasfaces aliasfaces)
|
||||
nil t nil 'face-name-history default))
|
||||
;; Ignore elements that are not faces
|
||||
;; (for example, because DEFAULT was "all faces")
|
||||
(if (facep face) (push (intern face) faces)))
|
||||
;; Return either a list of faces or just one face.
|
||||
(setq faces (nreverse faces))
|
||||
(if multiple faces (car faces))))
|
||||
nil t nil 'face-name-history default)))
|
||||
(if (facep face) (intern face))))))
|
||||
|
||||
;; Not defined without X, but behind window-system test.
|
||||
(defvar x-bitmap-file-path)
|
||||
|
|
|
@ -4617,7 +4617,8 @@ Before and after saving the buffer, this function runs
|
|||
(insert ?\n))))
|
||||
;; Support VC version backups.
|
||||
(vc-before-save)
|
||||
(run-hooks 'before-save-hook)
|
||||
;; Don't let errors prevent saving the buffer.
|
||||
(with-demoted-errors (run-hooks 'before-save-hook))
|
||||
(or (run-hook-with-args-until-success 'write-contents-functions)
|
||||
(run-hook-with-args-until-success 'local-write-file-hooks)
|
||||
(run-hook-with-args-until-success 'write-file-functions)
|
||||
|
|
|
@ -1,3 +1,32 @@
|
|||
2013-05-01 Katsumi Yamaoka <yamaoka@jpl.org>
|
||||
|
||||
* gnus-util.el (gnus-emacs-completing-read): Fix a filter for XEmacs.
|
||||
(Bug#14304)
|
||||
|
||||
2013-04-27 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* gnus.el (gnus-list-debbugs):
|
||||
Use require rather than autoload. (Bug#14262)
|
||||
|
||||
2013-04-27 Julien Danjou <julien@danjou.info>
|
||||
|
||||
* sieve-manage.el (sieve-manage-authenticator-alist): Update the sieve
|
||||
port to "sieve" now that it has an official IANA port assigned.
|
||||
|
||||
2013-04-26 Katsumi Yamaoka <yamaoka@jpl.org>
|
||||
|
||||
* mail-source.el (mail-source-fetch-pop, mail-source-check-pop):
|
||||
Don't set the MAILHOST environment variable permanently (Bug#14271).
|
||||
|
||||
2013-04-26 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* message.el (message-bury): Revert 2013-03-18 change. (Bug#14117)
|
||||
|
||||
2013-04-25 Andrew Cohen <cohen@bu.edu>
|
||||
|
||||
* gnus-msg.el (gnus-inews-insert-gcc): Re-order conditional to work for
|
||||
string values of 'gcc-self. Thanks to Saroj Thirumalai.
|
||||
|
||||
2013-04-24 Andrew Cohen <cohen@bu.edu>
|
||||
|
||||
* nnir.el (nnir-close-group): Make sure we are in the right group.
|
||||
|
|
|
@ -1719,8 +1719,8 @@ this is a reply."
|
|||
(group (when group (gnus-group-decoded-name group)))
|
||||
(var (or gnus-outgoing-message-group gnus-message-archive-group))
|
||||
(gcc-self-val
|
||||
(and group (gnus-group-find-parameter group 'gcc-self)
|
||||
(not (gnus-virtual-group-p group))))
|
||||
(and group (not (gnus-virtual-group-p group))
|
||||
(gnus-group-find-parameter group 'gcc-self)))
|
||||
result
|
||||
(groups
|
||||
(cond
|
||||
|
|
|
@ -1549,9 +1549,12 @@ SPEC is a predicate specifier that contains stuff like `or', `and',
|
|||
"Call standard `completing-read-function'."
|
||||
(let ((completion-styles gnus-completion-styles))
|
||||
(completing-read prompt
|
||||
;; Old XEmacs (at least 21.4) expect an alist for
|
||||
;; collection.
|
||||
(mapcar 'list collection)
|
||||
;; Old XEmacs (at least 21.4) expect an alist,
|
||||
;; in which the car of each element is a string,
|
||||
;; for collection.
|
||||
(mapcar (lambda (elem)
|
||||
(list (format "%s" (or (car-safe elem) elem))))
|
||||
collection)
|
||||
nil require-match initial-input history def)))
|
||||
|
||||
(autoload 'ido-completing-read "ido")
|
||||
|
|
|
@ -4433,12 +4433,13 @@ prompt the user for the name of an NNTP server to use."
|
|||
(gnus-1 arg dont-connect slave)
|
||||
(gnus-final-warning)))
|
||||
|
||||
(eval-and-compile
|
||||
(unless (fboundp 'debbugs-gnu)
|
||||
(autoload 'debbugs-gnu "debbugs-gnu" "List all outstanding Emacs bugs." t)))
|
||||
(declare-function debbugs-gnu "ext:debbugs-gnu"
|
||||
(severities &optional packages archivedp suppress tags))
|
||||
|
||||
(defun gnus-list-debbugs ()
|
||||
"List all open Gnus bug reports."
|
||||
(interactive)
|
||||
(require 'debbugs-gnu)
|
||||
(debbugs-gnu nil "gnus"))
|
||||
|
||||
;; Allow redefinition of Gnus functions.
|
||||
|
|
|
@ -809,6 +809,10 @@ Deleting old (> %s day(s)) incoming mail file `%s'." diff bfile)
|
|||
prescript-delay)
|
||||
(let ((from (format "%s:%s:%s" server user port))
|
||||
(mail-source-string (format "pop:%s@%s" user server))
|
||||
(process-environment (if server
|
||||
(cons (concat "MAILHOST=" server)
|
||||
process-environment)
|
||||
process-environment))
|
||||
result)
|
||||
(when (eq authentication 'password)
|
||||
(setq password
|
||||
|
@ -816,8 +820,6 @@ Deleting old (> %s day(s)) incoming mail file `%s'." diff bfile)
|
|||
(cdr (assoc from mail-source-password-cache))
|
||||
(read-passwd
|
||||
(format "Password for %s at %s: " user server)))))
|
||||
(when server
|
||||
(setenv "MAILHOST" server))
|
||||
(setq result
|
||||
(cond
|
||||
(program
|
||||
|
@ -877,6 +879,10 @@ Deleting old (> %s day(s)) incoming mail file `%s'." diff bfile)
|
|||
(mail-source-bind (pop source)
|
||||
(let ((from (format "%s:%s:%s" server user port))
|
||||
(mail-source-string (format "pop:%s@%s" user server))
|
||||
(process-environment (if server
|
||||
(cons (concat "MAILHOST=" server)
|
||||
process-environment)
|
||||
process-environment))
|
||||
result)
|
||||
(when (eq authentication 'password)
|
||||
(setq password
|
||||
|
@ -886,8 +892,6 @@ Deleting old (> %s day(s)) incoming mail file `%s'." diff bfile)
|
|||
(format "Password for %s at %s: " user server))))
|
||||
(unless (assoc from mail-source-password-cache)
|
||||
(push (cons from password) mail-source-password-cache)))
|
||||
(when server
|
||||
(setenv "MAILHOST" server))
|
||||
(setq result
|
||||
(cond
|
||||
;; No easy way to check whether mail is waiting for these.
|
||||
|
|
|
@ -4097,9 +4097,11 @@ Instead, just auto-save the buffer and then bury it."
|
|||
|
||||
(defun message-bury (buffer)
|
||||
"Bury this mail BUFFER."
|
||||
(bury-buffer buffer)
|
||||
(when message-return-action
|
||||
(apply (car message-return-action) (cdr message-return-action))))
|
||||
(if message-return-action
|
||||
(progn
|
||||
(bury-buffer buffer)
|
||||
(apply (car message-return-action) (cdr message-return-action)))
|
||||
(with-current-buffer buffer (bury-buffer))))
|
||||
|
||||
(defun message-send (&optional arg)
|
||||
"Send the message in the current buffer.
|
||||
|
|
|
@ -149,9 +149,10 @@ the server support the authenticator and AUTHENTICATE is a function
|
|||
for doing the actual authentication."
|
||||
:group 'sieve-manage)
|
||||
|
||||
(defcustom sieve-manage-default-port 2000
|
||||
(defcustom sieve-manage-default-port "sieve"
|
||||
"Default port number or service name for managesieve protocol."
|
||||
:type 'integer
|
||||
:type '(choice integer string)
|
||||
:version "24.4"
|
||||
:group 'sieve-manage)
|
||||
|
||||
(defcustom sieve-manage-default-stream 'network
|
||||
|
|
|
@ -735,8 +735,9 @@ Other control and meta characters terminate the search
|
|||
and are then executed normally (depending on `search-exit-option').
|
||||
Likewise for function keys and mouse button events.
|
||||
|
||||
If this function is called non-interactively, it does not return to
|
||||
the calling function until the search is done."
|
||||
If this function is called non-interactively with a nil NO-RECURSIVE-EDIT,
|
||||
it does not return to the calling function until the search is done.
|
||||
See the function `isearch-mode' for more information."
|
||||
|
||||
(interactive "P\np")
|
||||
(isearch-mode t (not (null regexp-p)) nil (not no-recursive-edit)))
|
||||
|
@ -799,7 +800,23 @@ as a regexp. See the command `isearch-forward' for more information."
|
|||
|
||||
(defun isearch-mode (forward &optional regexp op-fun recursive-edit word)
|
||||
"Start Isearch minor mode.
|
||||
It is called by the function `isearch-forward' and other related functions."
|
||||
It is called by the function `isearch-forward' and other related functions.
|
||||
|
||||
The non-nil arg FORWARD means searching in the forward direction.
|
||||
|
||||
The non-nil arg REGEXP does an incremental regular expression search.
|
||||
|
||||
The arg OP-FUN is a function to be called after each input character
|
||||
is processed. (It is not called after characters that exit the search.)
|
||||
|
||||
When the arg RECURSIVE-EDIT is non-nil, this function behaves modally and
|
||||
does not return to the calling function until the search is completed.
|
||||
To behave this way it enters a recursive-edit and exits it when done
|
||||
isearching.
|
||||
|
||||
The arg WORD, if t, does incremental search for a sequence of words,
|
||||
ignoring punctuation. If the value is a function, it is called to
|
||||
convert the search string to a regexp used by regexp search functions."
|
||||
|
||||
;; Initialize global vars.
|
||||
(setq isearch-forward forward
|
||||
|
@ -1106,8 +1123,9 @@ If MSG is non-nil, use variable `isearch-message', otherwise `isearch-string'."
|
|||
(curr-msg (if msg isearch-message isearch-string))
|
||||
succ-msg)
|
||||
(when (or (not isearch-success) isearch-error)
|
||||
(while (or (not (isearch--state-success (car cmds)))
|
||||
(isearch--state-error (car cmds)))
|
||||
(while (and cmds
|
||||
(or (not (isearch--state-success (car cmds)))
|
||||
(isearch--state-error (car cmds))))
|
||||
(pop cmds))
|
||||
(setq succ-msg (and cmds (if msg (isearch--state-message (car cmds))
|
||||
(isearch--state-string (car cmds)))))
|
||||
|
|
|
@ -895,7 +895,7 @@ outline hot-spot navigation (see `allout-mode').
|
|||
;;;***
|
||||
|
||||
;;;### (autoloads (ange-ftp-hook-function ange-ftp-reread-dir) "ange-ftp"
|
||||
;;;;;; "net/ange-ftp.el" (20763 30266 231060 0))
|
||||
;;;;;; "net/ange-ftp.el" (20843 54187 671468 0))
|
||||
;;; Generated autoloads from net/ange-ftp.el
|
||||
|
||||
(defalias 'ange-ftp-re-read-dir 'ange-ftp-reread-dir)
|
||||
|
@ -1656,7 +1656,7 @@ should be non-nil).
|
|||
|
||||
;;;### (autoloads (global-auto-revert-mode turn-on-auto-revert-tail-mode
|
||||
;;;;;; auto-revert-tail-mode turn-on-auto-revert-mode auto-revert-mode)
|
||||
;;;;;; "autorevert" "autorevert.el" (20767 27320 533690 0))
|
||||
;;;;;; "autorevert" "autorevert.el" (20831 63016 738579 0))
|
||||
;;; Generated autoloads from autorevert.el
|
||||
|
||||
(autoload 'auto-revert-mode "autorevert" "\
|
||||
|
@ -1860,7 +1860,7 @@ For non-interactive use see also `benchmark-run' and
|
|||
;;;***
|
||||
|
||||
;;;### (autoloads (bibtex-search-entry bibtex-mode bibtex-initialize)
|
||||
;;;;;; "bibtex" "textmodes/bibtex.el" (20709 26818 907104 0))
|
||||
;;;;;; "bibtex" "textmodes/bibtex.el" (20842 33318 816618 0))
|
||||
;;; Generated autoloads from textmodes/bibtex.el
|
||||
|
||||
(autoload 'bibtex-initialize "bibtex" "\
|
||||
|
@ -1868,11 +1868,14 @@ For non-interactive use see also `benchmark-run' and
|
|||
Visit the BibTeX files defined by `bibtex-files' and return a list
|
||||
of corresponding buffers.
|
||||
Initialize in these buffers `bibtex-reference-keys' if not yet set.
|
||||
List of BibTeX buffers includes current buffer if CURRENT is non-nil.
|
||||
List of BibTeX buffers includes current buffer if CURRENT is non-nil
|
||||
and the current buffer visits a file using `bibtex-mode'.
|
||||
If FORCE is non-nil, (re)initialize `bibtex-reference-keys' even if
|
||||
already set. If SELECT is non-nil interactively select a BibTeX buffer.
|
||||
When called interactively, FORCE is t, CURRENT is t if current buffer uses
|
||||
`bibtex-mode', and SELECT is t if current buffer does not use `bibtex-mode',
|
||||
|
||||
When called interactively, FORCE is t, CURRENT is t if current buffer
|
||||
visits a file using `bibtex-mode', and SELECT is t if current buffer
|
||||
does not use `bibtex-mode',
|
||||
|
||||
\(fn &optional CURRENT FORCE SELECT)" t nil)
|
||||
|
||||
|
@ -2109,7 +2112,7 @@ a reflection.
|
|||
;;;;;; bookmark-save bookmark-write bookmark-delete bookmark-insert
|
||||
;;;;;; bookmark-rename bookmark-insert-location bookmark-relocate
|
||||
;;;;;; bookmark-jump-other-window bookmark-jump bookmark-set) "bookmark"
|
||||
;;;;;; "bookmark.el" (20793 51383 764318 0))
|
||||
;;;;;; "bookmark.el" (20849 6570 598687 0))
|
||||
;;; Generated autoloads from bookmark.el
|
||||
(define-key ctl-x-r-map "b" 'bookmark-jump)
|
||||
(define-key ctl-x-r-map "m" 'bookmark-set)
|
||||
|
@ -2713,7 +2716,7 @@ Like `bug-reference-mode', but only buttonize in comments and strings.
|
|||
;;;;;; batch-byte-compile-if-not-done display-call-tree byte-compile
|
||||
;;;;;; compile-defun byte-compile-file byte-recompile-directory
|
||||
;;;;;; byte-force-recompile byte-compile-enable-warning byte-compile-disable-warning)
|
||||
;;;;;; "bytecomp" "emacs-lisp/bytecomp.el" (20780 39352 990623 0))
|
||||
;;;;;; "bytecomp" "emacs-lisp/bytecomp.el" (20851 48294 960738 0))
|
||||
;;; Generated autoloads from emacs-lisp/bytecomp.el
|
||||
(put 'byte-compile-dynamic 'safe-local-variable 'booleanp)
|
||||
(put 'byte-compile-disable-print-circle 'safe-local-variable 'booleanp)
|
||||
|
@ -2872,8 +2875,8 @@ from the cursor position.
|
|||
|
||||
;;;### (autoloads (defmath calc-embedded-activate calc-embedded calc-grab-rectangle
|
||||
;;;;;; calc-grab-region full-calc-keypad calc-keypad calc-eval quick-calc
|
||||
;;;;;; full-calc calc calc-dispatch) "calc" "calc/calc.el" (20759
|
||||
;;;;;; 33211 414988 0))
|
||||
;;;;;; full-calc calc calc-dispatch) "calc" "calc/calc.el" (20863
|
||||
;;;;;; 39461 835648 0))
|
||||
;;; Generated autoloads from calc/calc.el
|
||||
(define-key ctl-x-map "*" 'calc-dispatch)
|
||||
|
||||
|
@ -3090,7 +3093,7 @@ Obsoletes `c-forward-into-nomenclature'.
|
|||
;;;***
|
||||
|
||||
;;;### (autoloads (c-guess-basic-syntax) "cc-engine" "progmodes/cc-engine.el"
|
||||
;;;;;; (20791 9657 561026 0))
|
||||
;;;;;; (20864 28934 62335 0))
|
||||
;;; Generated autoloads from progmodes/cc-engine.el
|
||||
|
||||
(autoload 'c-guess-basic-syntax "cc-engine" "\
|
||||
|
@ -3203,7 +3206,7 @@ the absolute file name of the file if STYLE-NAME is nil.
|
|||
|
||||
;;;### (autoloads (awk-mode pike-mode idl-mode java-mode objc-mode
|
||||
;;;;;; c++-mode c-mode c-initialize-cc-mode) "cc-mode" "progmodes/cc-mode.el"
|
||||
;;;;;; (20709 26818 907104 0))
|
||||
;;;;;; (20845 9511 656701 0))
|
||||
;;; Generated autoloads from progmodes/cc-mode.el
|
||||
|
||||
(autoload 'c-initialize-cc-mode "cc-mode" "\
|
||||
|
@ -4218,7 +4221,7 @@ If FRAME cannot display COLOR, return nil.
|
|||
;;;### (autoloads (comint-redirect-results-list-from-process comint-redirect-results-list
|
||||
;;;;;; comint-redirect-send-command-to-process comint-redirect-send-command
|
||||
;;;;;; comint-run make-comint make-comint-in-buffer) "comint" "comint.el"
|
||||
;;;;;; (20797 44848 327754 0))
|
||||
;;;;;; (20864 60326 774861 0))
|
||||
;;; Generated autoloads from comint.el
|
||||
|
||||
(defvar comint-output-filter-functions '(ansi-color-process-output comint-postoutput-scroll-to-bottom comint-watch-for-password-prompt) "\
|
||||
|
@ -4355,8 +4358,8 @@ on third call it again advances points to the next difference and so on.
|
|||
;;;;;; compilation-shell-minor-mode compilation-mode compilation-start
|
||||
;;;;;; compile compilation-disable-input compile-command compilation-search-path
|
||||
;;;;;; compilation-ask-about-save compilation-window-height compilation-start-hook
|
||||
;;;;;; compilation-mode-hook) "compile" "progmodes/compile.el" (20808
|
||||
;;;;;; 15152 87827 0))
|
||||
;;;;;; compilation-mode-hook) "compile" "progmodes/compile.el" (20856
|
||||
;;;;;; 32301 830403 0))
|
||||
;;; Generated autoloads from progmodes/compile.el
|
||||
|
||||
(defvar compilation-mode-hook nil "\
|
||||
|
@ -5142,7 +5145,7 @@ Enable CUA selection mode without the C-z/C-x/C-c/C-v bindings.
|
|||
;;;;;; customize-mode customize customize-push-and-save customize-save-variable
|
||||
;;;;;; customize-set-variable customize-set-value custom-menu-sort-alphabetically
|
||||
;;;;;; custom-buffer-sort-alphabetically custom-browse-sort-alphabetically)
|
||||
;;;;;; "cus-edit" "cus-edit.el" (20762 9398 526093 0))
|
||||
;;;;;; "cus-edit" "cus-edit.el" (20841 12463 538770 0))
|
||||
;;; Generated autoloads from cus-edit.el
|
||||
|
||||
(defvar custom-browse-sort-alphabetically nil "\
|
||||
|
@ -5454,8 +5457,8 @@ The format is suitable for use with `easy-menu-define'.
|
|||
;;;***
|
||||
|
||||
;;;### (autoloads (customize-themes describe-theme custom-theme-visit-theme
|
||||
;;;;;; customize-create-theme) "cus-theme" "cus-theme.el" (20709
|
||||
;;;;;; 26818 907104 0))
|
||||
;;;;;; customize-create-theme) "cus-theme" "cus-theme.el" (20841
|
||||
;;;;;; 12463 538770 0))
|
||||
;;; Generated autoloads from cus-theme.el
|
||||
|
||||
(autoload 'customize-create-theme "cus-theme" "\
|
||||
|
@ -5545,7 +5548,7 @@ See `cwarn-mode' for more information on Cwarn mode.
|
|||
|
||||
;;;### (autoloads (standard-display-cyrillic-translit cyrillic-encode-alternativnyj-char
|
||||
;;;;;; cyrillic-encode-koi8-r-char) "cyril-util" "language/cyril-util.el"
|
||||
;;;;;; (20709 26818 907104 0))
|
||||
;;;;;; (20826 45095 436233 0))
|
||||
;;; Generated autoloads from language/cyril-util.el
|
||||
|
||||
(autoload 'cyrillic-encode-koi8-r-char "cyril-util" "\
|
||||
|
@ -6006,7 +6009,7 @@ relevant to POS.
|
|||
;;;### (autoloads (desktop-revert desktop-save-in-desktop-dir desktop-change-dir
|
||||
;;;;;; desktop-load-default desktop-read desktop-remove desktop-save
|
||||
;;;;;; desktop-clear desktop-locals-to-save desktop-save-mode) "desktop"
|
||||
;;;;;; "desktop.el" (20817 30120 173418 0))
|
||||
;;;;;; "desktop.el" (20860 63270 684173 0))
|
||||
;;; Generated autoloads from desktop.el
|
||||
|
||||
(defvar desktop-save-mode nil "\
|
||||
|
@ -6144,9 +6147,10 @@ Furthermore, it clears the variables listed in `desktop-globals-to-clear'.
|
|||
Save the desktop in a desktop file.
|
||||
Parameter DIRNAME specifies where to save the desktop file.
|
||||
Optional parameter RELEASE says whether we're done with this desktop.
|
||||
See also `desktop-base-file-name'.
|
||||
If AUTO-SAVE is non-nil, compare the saved contents to the one last saved,
|
||||
and don't save the buffer if they are the same.
|
||||
|
||||
\(fn DIRNAME &optional RELEASE)" t nil)
|
||||
\(fn DIRNAME &optional RELEASE AUTO-SAVE)" t nil)
|
||||
|
||||
(autoload 'desktop-remove "desktop" "\
|
||||
Delete desktop file in `desktop-dirname'.
|
||||
|
@ -6726,8 +6730,8 @@ Locate SOA record and increment the serial field.
|
|||
;;;***
|
||||
|
||||
;;;### (autoloads (doc-view-bookmark-jump doc-view-minor-mode doc-view-mode-maybe
|
||||
;;;;;; doc-view-mode doc-view-mode-p) "doc-view" "doc-view.el" (20806
|
||||
;;;;;; 59818 347907 0))
|
||||
;;;;;; doc-view-mode doc-view-mode-p) "doc-view" "doc-view.el" (20845
|
||||
;;;;;; 9511 656701 0))
|
||||
;;; Generated autoloads from doc-view.el
|
||||
|
||||
(autoload 'doc-view-mode-p "doc-view" "\
|
||||
|
@ -7607,7 +7611,7 @@ an EDE controlled project.
|
|||
|
||||
;;;### (autoloads (edebug-all-forms edebug-all-defs edebug-eval-top-level-form
|
||||
;;;;;; edebug-basic-spec edebug-all-forms edebug-all-defs) "edebug"
|
||||
;;;;;; "emacs-lisp/edebug.el" (20825 24233 991089 0))
|
||||
;;;;;; "emacs-lisp/edebug.el" (20834 39208 838628 0))
|
||||
;;; Generated autoloads from emacs-lisp/edebug.el
|
||||
|
||||
(defvar edebug-all-defs nil "\
|
||||
|
@ -8166,7 +8170,7 @@ Emacs Lisp mode) that support ElDoc.")
|
|||
;;;***
|
||||
|
||||
;;;### (autoloads (electric-layout-mode electric-pair-mode electric-indent-mode)
|
||||
;;;;;; "electric" "electric.el" (20709 26818 907104 0))
|
||||
;;;;;; "electric" "electric.el" (20829 21286 719109 0))
|
||||
;;; Generated autoloads from electric.el
|
||||
|
||||
(defvar electric-indent-chars '(10) "\
|
||||
|
@ -8768,7 +8772,7 @@ if ARG is omitted or nil.
|
|||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads (epg-make-context) "epg" "epg.el" (20712 3008 596088
|
||||
;;;### (autoloads (epg-make-context) "epg" "epg.el" (20853 3623 384273
|
||||
;;;;;; 0))
|
||||
;;; Generated autoloads from epg.el
|
||||
|
||||
|
@ -9316,7 +9320,7 @@ Add a file to `erc-xdcc-files'.
|
|||
|
||||
;;;### (autoloads (ert-describe-test ert-run-tests-interactively
|
||||
;;;;;; ert-run-tests-batch-and-exit ert-run-tests-batch ert-deftest)
|
||||
;;;;;; "ert" "emacs-lisp/ert.el" (20751 39094 700824 0))
|
||||
;;;;;; "ert" "emacs-lisp/ert.el" (20834 39208 838628 0))
|
||||
;;; Generated autoloads from emacs-lisp/ert.el
|
||||
|
||||
(autoload 'ert-deftest "ert" "\
|
||||
|
@ -10246,8 +10250,8 @@ with no args, if that value is non-nil.
|
|||
;;;### (autoloads (variable-pitch-mode buffer-face-toggle buffer-face-set
|
||||
;;;;;; buffer-face-mode text-scale-adjust text-scale-decrease text-scale-increase
|
||||
;;;;;; text-scale-set face-remap-set-base face-remap-reset-base
|
||||
;;;;;; face-remap-add-relative) "face-remap" "face-remap.el" (20709
|
||||
;;;;;; 26818 907104 0))
|
||||
;;;;;; face-remap-add-relative) "face-remap" "face-remap.el" (20841
|
||||
;;;;;; 12463 538770 0))
|
||||
;;; Generated autoloads from face-remap.el
|
||||
|
||||
(autoload 'face-remap-add-relative "face-remap" "\
|
||||
|
@ -11100,7 +11104,7 @@ Turn flymake mode off.
|
|||
|
||||
;;;### (autoloads (flyspell-buffer flyspell-region flyspell-mode-off
|
||||
;;;;;; turn-off-flyspell turn-on-flyspell flyspell-mode flyspell-prog-mode)
|
||||
;;;;;; "flyspell" "textmodes/flyspell.el" (20721 17977 14204 0))
|
||||
;;;;;; "flyspell" "textmodes/flyspell.el" (20847 51240 240216 0))
|
||||
;;; Generated autoloads from textmodes/flyspell.el
|
||||
|
||||
(autoload 'flyspell-prog-mode "flyspell" "\
|
||||
|
@ -11425,7 +11429,7 @@ and choose the directory as the fortune-file.
|
|||
;;;***
|
||||
|
||||
;;;### (autoloads (gdb gdb-enable-debug) "gdb-mi" "progmodes/gdb-mi.el"
|
||||
;;;;;; (20799 169 640767 0))
|
||||
;;;;;; (20851 48294 960738 0))
|
||||
;;; Generated autoloads from progmodes/gdb-mi.el
|
||||
|
||||
(defvar gdb-enable-debug nil "\
|
||||
|
@ -11654,8 +11658,8 @@ DEFAULT-MAP specifies the default key map for ICON-LIST.
|
|||
;;;***
|
||||
|
||||
;;;### (autoloads (gnus gnus-other-frame gnus-slave gnus-no-server
|
||||
;;;;;; gnus-slave-no-server) "gnus" "gnus/gnus.el" (20709 26818
|
||||
;;;;;; 907104 0))
|
||||
;;;;;; gnus-slave-no-server) "gnus" "gnus/gnus.el" (20860 63270
|
||||
;;;;;; 684173 0))
|
||||
;;; Generated autoloads from gnus/gnus.el
|
||||
(when (fboundp 'custom-autoload)
|
||||
(custom-autoload 'gnus-select-method "gnus"))
|
||||
|
@ -12195,7 +12199,7 @@ Calling (gnus-group-split-fancy nil nil \"mail.others\") returns:
|
|||
;;;***
|
||||
|
||||
;;;### (autoloads (gnus-button-reply gnus-button-mailto gnus-msg-mail)
|
||||
;;;;;; "gnus-msg" "gnus/gnus-msg.el" (20820 6311 856169 0))
|
||||
;;;;;; "gnus-msg" "gnus/gnus-msg.el" (20858 21542 723007 0))
|
||||
;;; Generated autoloads from gnus/gnus-msg.el
|
||||
|
||||
(autoload 'gnus-msg-mail "gnus-msg" "\
|
||||
|
@ -12403,7 +12407,7 @@ Declare back end NAME with ABILITIES as a Gnus back end.
|
|||
;;;***
|
||||
|
||||
;;;### (autoloads (gnus-summary-bookmark-jump) "gnus-sum" "gnus/gnus-sum.el"
|
||||
;;;;;; (20791 9657 561026 0))
|
||||
;;;;;; (20856 32301 830403 0))
|
||||
;;; Generated autoloads from gnus/gnus-sum.el
|
||||
|
||||
(autoload 'gnus-summary-bookmark-jump "gnus-sum" "\
|
||||
|
@ -12726,8 +12730,8 @@ the form \"WINDOW-ID PIXMAP-ID\". Value is non-nil if successful.
|
|||
;;;***
|
||||
|
||||
;;;### (autoloads (gud-tooltip-mode gdb-script-mode jdb pdb perldb
|
||||
;;;;;; xdb dbx sdb gud-gdb) "gud" "progmodes/gud.el" (20709 26818
|
||||
;;;;;; 907104 0))
|
||||
;;;;;; xdb dbx sdb gud-gdb) "gud" "progmodes/gud.el" (20851 48294
|
||||
;;;;;; 960738 0))
|
||||
;;; Generated autoloads from progmodes/gud.el
|
||||
|
||||
(autoload 'gud-gdb "gud" "\
|
||||
|
@ -14532,8 +14536,8 @@ The main features of this mode are
|
|||
;;;;;; ido-find-alternate-file ido-find-file-other-window ido-find-file
|
||||
;;;;;; ido-find-file-in-dir ido-switch-buffer-other-frame ido-insert-buffer
|
||||
;;;;;; ido-kill-buffer ido-display-buffer ido-switch-buffer-other-window
|
||||
;;;;;; ido-switch-buffer ido-mode ido-mode) "ido" "ido.el" (20809
|
||||
;;;;;; 36008 682209 0))
|
||||
;;;;;; ido-switch-buffer ido-mode ido-mode) "ido" "ido.el" (20831
|
||||
;;;;;; 63016 738579 0))
|
||||
;;; Generated autoloads from ido.el
|
||||
|
||||
(defvar ido-mode nil "\
|
||||
|
@ -15413,7 +15417,7 @@ for more information.
|
|||
|
||||
;;;### (autoloads (indian-2-column-to-ucs-region in-is13194-pre-write-conversion
|
||||
;;;;;; in-is13194-post-read-conversion indian-compose-string indian-compose-region)
|
||||
;;;;;; "ind-util" "language/ind-util.el" (20709 26818 907104 0))
|
||||
;;;;;; "ind-util" "language/ind-util.el" (20826 45095 436233 0))
|
||||
;;; Generated autoloads from language/ind-util.el
|
||||
|
||||
(autoload 'indian-compose-region "ind-util" "\
|
||||
|
@ -15466,7 +15470,7 @@ of `inferior-lisp-program'). Runs the hooks from
|
|||
;;;;;; Info-goto-emacs-key-command-node Info-goto-emacs-command-node
|
||||
;;;;;; Info-mode info-finder info-apropos Info-index Info-directory
|
||||
;;;;;; Info-on-current-buffer info-standalone info-emacs-bug info-emacs-manual
|
||||
;;;;;; info info-other-window) "info" "info.el" (20813 33065 721081
|
||||
;;;;;; info info-other-window) "info" "info.el" (20841 12463 538770
|
||||
;;;;;; 0))
|
||||
;;; Generated autoloads from info.el
|
||||
|
||||
|
@ -15680,7 +15684,7 @@ Otherwise, visit the manual in a new Info buffer.
|
|||
|
||||
;;;### (autoloads (info-complete-file info-complete-symbol info-lookup-file
|
||||
;;;;;; info-lookup-symbol info-lookup-reset) "info-look" "info-look.el"
|
||||
;;;;;; (20771 24374 643644 0))
|
||||
;;;;;; (20854 24486 190633 0))
|
||||
;;; Generated autoloads from info-look.el
|
||||
|
||||
(autoload 'info-lookup-reset "info-look" "\
|
||||
|
@ -16011,7 +16015,7 @@ Add submenus to the File menu, to convert to and from various formats.
|
|||
;;;;;; ispell-buffer ispell-comments-and-strings ispell-region ispell-change-dictionary
|
||||
;;;;;; ispell-kill-ispell ispell-help ispell-pdict-save ispell-word
|
||||
;;;;;; ispell-personal-dictionary) "ispell" "textmodes/ispell.el"
|
||||
;;;;;; (20787 12616 976036 0))
|
||||
;;;;;; (20847 51240 240216 0))
|
||||
;;; Generated autoloads from textmodes/ispell.el
|
||||
|
||||
(put 'ispell-check-comments 'safe-local-variable (lambda (a) (memq a '(nil t exclusive))))
|
||||
|
@ -16492,7 +16496,7 @@ and the return value is the length of the conversion.
|
|||
;;;### (autoloads (kmacro-end-call-mouse kmacro-end-and-call-macro
|
||||
;;;;;; kmacro-end-or-call-macro kmacro-start-macro-or-insert-counter
|
||||
;;;;;; kmacro-call-macro kmacro-end-macro kmacro-start-macro kmacro-exec-ring-item)
|
||||
;;;;;; "kmacro" "kmacro.el" (20824 3367 300658 0))
|
||||
;;;;;; "kmacro" "kmacro.el" (20830 42150 757296 0))
|
||||
;;; Generated autoloads from kmacro.el
|
||||
(global-set-key "\C-x(" 'kmacro-start-macro)
|
||||
(global-set-key "\C-x)" 'kmacro-end-macro)
|
||||
|
@ -16651,7 +16655,7 @@ Use \\[describe-mode] for more info.
|
|||
|
||||
;;;### (autoloads (lao-compose-region lao-composition-function lao-transcribe-roman-to-lao-string
|
||||
;;;;;; lao-transcribe-single-roman-syllable-to-lao lao-compose-string)
|
||||
;;;;;; "lao-util" "language/lao-util.el" (20709 26818 907104 0))
|
||||
;;;;;; "lao-util" "language/lao-util.el" (20826 45095 436233 0))
|
||||
;;; Generated autoloads from language/lao-util.el
|
||||
|
||||
(autoload 'lao-compose-string "lao-util" "\
|
||||
|
@ -16723,8 +16727,8 @@ coding system names is determined from `latex-inputenc-coding-alist'.
|
|||
;;;***
|
||||
|
||||
;;;### (autoloads (latin1-display-ucs-per-lynx latin1-display latin1-display)
|
||||
;;;;;; "latin1-disp" "international/latin1-disp.el" (20709 26818
|
||||
;;;;;; 907104 0))
|
||||
;;;;;; "latin1-disp" "international/latin1-disp.el" (20826 45095
|
||||
;;;;;; 436233 0))
|
||||
;;; Generated autoloads from international/latin1-disp.el
|
||||
|
||||
(defvar latin1-display nil "\
|
||||
|
@ -16944,8 +16948,8 @@ done. Otherwise, it uses the current buffer.
|
|||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads (log-view-mode) "log-view" "vc/log-view.el" (20709
|
||||
;;;;;; 26818 907104 0))
|
||||
;;;### (autoloads (log-view-mode) "log-view" "vc/log-view.el" (20860
|
||||
;;;;;; 63270 684173 0))
|
||||
;;; Generated autoloads from vc/log-view.el
|
||||
|
||||
(autoload 'log-view-mode "log-view" "\
|
||||
|
@ -17053,7 +17057,7 @@ for further customization of the printer command.
|
|||
;;;***
|
||||
|
||||
;;;### (autoloads (ls-lisp-support-shell-wildcards) "ls-lisp" "ls-lisp.el"
|
||||
;;;;;; (20709 26818 907104 0))
|
||||
;;;;;; (20860 63270 684173 0))
|
||||
;;; Generated autoloads from ls-lisp.el
|
||||
|
||||
(defvar ls-lisp-support-shell-wildcards t "\
|
||||
|
@ -17320,8 +17324,8 @@ matches may be returned from the message body.
|
|||
;;;***
|
||||
|
||||
;;;### (autoloads (define-mail-abbrev build-mail-abbrevs mail-abbrevs-setup
|
||||
;;;;;; mail-abbrevs-mode) "mailabbrev" "mail/mailabbrev.el" (20709
|
||||
;;;;;; 26818 907104 0))
|
||||
;;;;;; mail-abbrevs-mode) "mailabbrev" "mail/mailabbrev.el" (20847
|
||||
;;;;;; 51240 240216 0))
|
||||
;;; Generated autoloads from mail/mailabbrev.el
|
||||
|
||||
(defvar mail-abbrevs-mode nil "\
|
||||
|
@ -17682,7 +17686,7 @@ recursion depth in the minibuffer prompt. This is only useful if
|
|||
;;;;;; message-forward-make-body message-forward message-recover
|
||||
;;;;;; message-supersede message-cancel-news message-followup message-wide-reply
|
||||
;;;;;; message-reply message-news message-mail message-mode) "message"
|
||||
;;;;;; "gnus/message.el" (20808 15152 87827 0))
|
||||
;;;;;; "gnus/message.el" (20858 21542 723007 0))
|
||||
;;; Generated autoloads from gnus/message.el
|
||||
|
||||
(define-mail-user-agent 'message-user-agent 'message-mail 'message-send-and-exit 'message-kill-buffer 'message-send-hook)
|
||||
|
@ -18361,7 +18365,7 @@ Assume text has been decoded if DECODED is non-nil.
|
|||
;;;***
|
||||
|
||||
;;;### (autoloads (mml-attach-file mml-to-mime) "mml" "gnus/mml.el"
|
||||
;;;;;; (20745 310 425822 0))
|
||||
;;;;;; (20829 21286 719109 0))
|
||||
;;; Generated autoloads from gnus/mml.el
|
||||
|
||||
(autoload 'mml-to-mime "mml" "\
|
||||
|
@ -18560,7 +18564,7 @@ To test this function, evaluate:
|
|||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads (mpc) "mpc" "mpc.el" (20822 48073 524485 0))
|
||||
;;;### (autoloads (mpc) "mpc" "mpc.el" (20838 36262 626321 0))
|
||||
;;; Generated autoloads from mpc.el
|
||||
|
||||
(autoload 'mpc "mpc" "\
|
||||
|
@ -18748,7 +18752,7 @@ The default is 20. If LIMIT is negative, do not limit the listing.
|
|||
;;;;;; coding-system-translation-table-for-decode coding-system-pre-write-conversion
|
||||
;;;;;; coding-system-post-read-conversion lookup-nested-alist set-nested-alist
|
||||
;;;;;; truncate-string-to-width store-substring) "mule-util" "international/mule-util.el"
|
||||
;;;;;; (20709 26818 907104 0))
|
||||
;;;;;; (20826 45095 436233 0))
|
||||
;;; Generated autoloads from international/mule-util.el
|
||||
|
||||
(defsubst string-to-list (string) "\
|
||||
|
@ -18879,9 +18883,9 @@ per-character basis, this may not be accurate.
|
|||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads (advice-member-p advice-remove advice-add advice--add-function
|
||||
;;;;;; add-function advice--buffer-local advice--remove-function)
|
||||
;;;;;; "nadvice" "emacs-lisp/nadvice.el" (20785 57270 519804 0))
|
||||
;;;### (autoloads (advice-member-p advice-remove advice-add remove-function
|
||||
;;;;;; advice--add-function add-function advice--buffer-local advice--remove-function)
|
||||
;;;;;; "nadvice" "emacs-lisp/nadvice.el" (20851 48294 960738 0))
|
||||
;;; Generated autoloads from emacs-lisp/nadvice.el
|
||||
|
||||
(autoload 'advice--remove-function "nadvice" "\
|
||||
|
@ -18903,18 +18907,20 @@ call OLDFUN here:
|
|||
`:before' (lambda (&rest r) (apply FUNCTION r) (apply OLDFUN r))
|
||||
`:after' (lambda (&rest r) (prog1 (apply OLDFUN r) (apply FUNCTION r)))
|
||||
`:around' (lambda (&rest r) (apply FUNCTION OLDFUN r))
|
||||
`:override' (lambda (&rest r) (apply FUNCTION r))
|
||||
`:before-while' (lambda (&rest r) (and (apply FUNCTION r) (apply OLDFUN r)))
|
||||
`:before-until' (lambda (&rest r) (or (apply FUNCTION r) (apply OLDFUN r)))
|
||||
`:after-while' (lambda (&rest r) (and (apply OLDFUN r) (apply FUNCTION r)))
|
||||
`:after-until' (lambda (&rest r) (or (apply OLDFUN r) (apply FUNCTION r)))
|
||||
`:filter-args' (lambda (&rest r) (apply OLDFUN (funcall FUNCTION r)))
|
||||
`:filter-return'(lambda (&rest r) (funcall FUNCTION (apply OLDFUN r)))
|
||||
If FUNCTION was already added, do nothing.
|
||||
PROPS is an alist of additional properties, among which the following have
|
||||
a special meaning:
|
||||
- `name': a string or symbol. It can be used to refer to this piece of advice.
|
||||
|
||||
PLACE cannot be a simple variable. Instead it should either be
|
||||
\(default-value 'VAR) or (local 'VAR) depending on whether FUNCTION
|
||||
should be applied to VAR buffer-locally or globally.
|
||||
If PLACE is a simple variable, only its global value will be affected.
|
||||
Use (local 'VAR) if you want to apply FUNCTION to VAR buffer-locally.
|
||||
|
||||
If one of FUNCTION or OLDFUN is interactive, then the resulting function
|
||||
is also interactive. There are 3 cases:
|
||||
|
@ -18931,6 +18937,14 @@ is also interactive. There are 3 cases:
|
|||
|
||||
\(fn WHERE REF FUNCTION PROPS)" nil nil)
|
||||
|
||||
(autoload 'remove-function "nadvice" "\
|
||||
Remove the FUNCTION piece of advice from PLACE.
|
||||
If FUNCTION was not added to PLACE, do nothing.
|
||||
Instead of FUNCTION being the actual function, it can also be the `name'
|
||||
of the piece of advice.
|
||||
|
||||
\(fn PLACE FUNCTION)" nil t)
|
||||
|
||||
(autoload 'advice-add "nadvice" "\
|
||||
Like `add-function' but for the function named SYMBOL.
|
||||
Contrary to `add-function', this will properly handle the cases where SYMBOL
|
||||
|
@ -19420,11 +19434,21 @@ the variable `nxml-enabled-unicode-blocks'.
|
|||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads (inferior-octave) "octave-inf" "progmodes/octave-inf.el"
|
||||
;;;;;; (20709 26818 907104 0))
|
||||
;;; Generated autoloads from progmodes/octave-inf.el
|
||||
;;;### (autoloads (inferior-octave octave-mode) "octave" "progmodes/octave.el"
|
||||
;;;;;; (20864 60326 774861 0))
|
||||
;;; Generated autoloads from progmodes/octave.el
|
||||
|
||||
(autoload 'inferior-octave "octave-inf" "\
|
||||
(autoload 'octave-mode "octave" "\
|
||||
Major mode for editing Octave code.
|
||||
|
||||
Octave is a high-level language, primarily intended for numerical
|
||||
computations. It provides a convenient command line interface
|
||||
for solving linear and nonlinear problems numerically. Function
|
||||
definitions can also be stored in files and used in batch mode.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(autoload 'inferior-octave "octave" "\
|
||||
Run an inferior Octave process, I/O via `inferior-octave-buffer'.
|
||||
This buffer is put in Inferior Octave mode. See `inferior-octave-mode'.
|
||||
|
||||
|
@ -19441,93 +19465,10 @@ startup file, `~/.emacs-octave'.
|
|||
|
||||
(defalias 'run-octave 'inferior-octave)
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads (octave-mode) "octave-mod" "progmodes/octave-mod.el"
|
||||
;;;;;; (20709 26818 907104 0))
|
||||
;;; Generated autoloads from progmodes/octave-mod.el
|
||||
|
||||
(autoload 'octave-mode "octave-mod" "\
|
||||
Major mode for editing Octave code.
|
||||
|
||||
This mode makes it easier to write Octave code by helping with
|
||||
indentation, doing some of the typing for you (with Abbrev mode) and by
|
||||
showing keywords, comments, strings, etc. in different faces (with
|
||||
Font Lock mode on terminals that support it).
|
||||
|
||||
Octave itself is a high-level language, primarily intended for numerical
|
||||
computations. It provides a convenient command line interface for
|
||||
solving linear and nonlinear problems numerically. Function definitions
|
||||
can also be stored in files, and it can be used in a batch mode (which
|
||||
is why you need this mode!).
|
||||
|
||||
The latest released version of Octave is always available via anonymous
|
||||
ftp from ftp.octave.org in the directory `/pub/octave'. Complete
|
||||
source and binaries for several popular systems are available.
|
||||
|
||||
Type \\[list-abbrevs] to display the built-in abbrevs for Octave keywords.
|
||||
|
||||
Keybindings
|
||||
===========
|
||||
|
||||
\\{octave-mode-map}
|
||||
|
||||
Variables you can use to customize Octave mode
|
||||
==============================================
|
||||
|
||||
`octave-blink-matching-block'
|
||||
Non-nil means show matching begin of block when inserting a space,
|
||||
newline or semicolon after an else or end keyword. Default is t.
|
||||
|
||||
`octave-block-offset'
|
||||
Extra indentation applied to statements in block structures.
|
||||
Default is 2.
|
||||
|
||||
`octave-continuation-offset'
|
||||
Extra indentation applied to Octave continuation lines.
|
||||
Default is 4.
|
||||
|
||||
`octave-continuation-string'
|
||||
String used for Octave continuation lines.
|
||||
Default is a backslash.
|
||||
|
||||
`octave-send-echo-input'
|
||||
Non-nil means always display `inferior-octave-buffer' after sending a
|
||||
command to the inferior Octave process.
|
||||
|
||||
`octave-send-line-auto-forward'
|
||||
Non-nil means always go to the next unsent line of Octave code after
|
||||
sending a line to the inferior Octave process.
|
||||
|
||||
`octave-send-echo-input'
|
||||
Non-nil means echo input sent to the inferior Octave process.
|
||||
|
||||
Turning on Octave mode runs the hook `octave-mode-hook'.
|
||||
|
||||
To begin using this mode for all `.m' files that you edit, add the
|
||||
following lines to your init file:
|
||||
|
||||
(add-to-list 'auto-mode-alist '(\"\\\\.m\\\\'\" . octave-mode))
|
||||
|
||||
To automatically turn on the abbrev and auto-fill features,
|
||||
add the following lines to your init file as well:
|
||||
|
||||
(add-hook 'octave-mode-hook
|
||||
(lambda ()
|
||||
(abbrev-mode 1)
|
||||
(auto-fill-mode 1)))
|
||||
|
||||
To submit a problem report, enter \\[octave-submit-bug-report] from an Octave mode buffer.
|
||||
This automatically sets up a mail buffer with version information
|
||||
already added. You just need to add a description of the problem,
|
||||
including a reproducible test case and send the message.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads (opascal-mode) "opascal" "progmodes/opascal.el"
|
||||
;;;;;; (20746 21181 635406 0))
|
||||
;;;;;; (20858 21542 723007 0))
|
||||
;;; Generated autoloads from progmodes/opascal.el
|
||||
|
||||
(define-obsolete-function-alias 'delphi-mode 'opascal-mode "24.4")
|
||||
|
@ -19558,14 +19499,8 @@ Customization:
|
|||
|
||||
Coloring:
|
||||
|
||||
`opascal-comment-face' (default font-lock-comment-face)
|
||||
Face used to color OPascal comments.
|
||||
`opascal-string-face' (default font-lock-string-face)
|
||||
Face used to color OPascal strings.
|
||||
`opascal-keyword-face' (default font-lock-keyword-face)
|
||||
Face used to color OPascal keywords.
|
||||
`opascal-other-face' (default nil)
|
||||
Face used to color everything else.
|
||||
|
||||
Turning on OPascal mode calls the value of the variable `opascal-mode-hook'
|
||||
with no args, if that value is non-nil.
|
||||
|
@ -19806,7 +19741,7 @@ Call the customize function with org as argument.
|
|||
;;;;;; org-search-view org-agenda-list org-batch-store-agenda-views
|
||||
;;;;;; org-store-agenda-views org-batch-agenda-csv org-batch-agenda
|
||||
;;;;;; org-agenda org-toggle-sticky-agenda) "org-agenda" "org/org-agenda.el"
|
||||
;;;;;; (20783 15545 430927 0))
|
||||
;;;;;; (20847 51240 240216 0))
|
||||
;;; Generated autoloads from org/org-agenda.el
|
||||
|
||||
(autoload 'org-toggle-sticky-agenda "org-agenda" "\
|
||||
|
@ -20268,7 +20203,7 @@ See the command `outline-mode' for more information on this mode.
|
|||
;;;### (autoloads (list-packages describe-package package-initialize
|
||||
;;;;;; package-refresh-contents package-install-file package-install-from-buffer
|
||||
;;;;;; package-install package-enable-at-startup) "package" "emacs-lisp/package.el"
|
||||
;;;;;; (20764 51137 83502 0))
|
||||
;;;;;; (20860 63270 684173 0))
|
||||
;;; Generated autoloads from emacs-lisp/package.el
|
||||
|
||||
(defvar package-enable-at-startup t "\
|
||||
|
@ -20644,6 +20579,26 @@ Includes files as well as host names followed by a colon.
|
|||
|
||||
\(fn)" nil nil)
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads (pcomplete/ack pcomplete/tlmgr) "pcmpl-x" "pcmpl-x.el"
|
||||
;;;;;; (20837 15398 184639 0))
|
||||
;;; Generated autoloads from pcmpl-x.el
|
||||
|
||||
(autoload 'pcomplete/tlmgr "pcmpl-x" "\
|
||||
Completion for the `tlmgr' command.
|
||||
|
||||
\(fn)" nil nil)
|
||||
|
||||
(autoload 'pcomplete/ack "pcmpl-x" "\
|
||||
Completion for the `ack' command.
|
||||
Start an argument with '-' to complete short options and '--' for
|
||||
long options.
|
||||
|
||||
\(fn)" nil nil)
|
||||
|
||||
(defalias 'pcomplete/ack-grep 'pcomplete/ack)
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads (pcomplete-shell-setup pcomplete-comint-setup pcomplete-list
|
||||
|
@ -21699,7 +21654,7 @@ Open profile FILENAME.
|
|||
;;;***
|
||||
|
||||
;;;### (autoloads (run-prolog mercury-mode prolog-mode) "prolog"
|
||||
;;;;;; "progmodes/prolog.el" (20791 9657 561026 0))
|
||||
;;;;;; "progmodes/prolog.el" (20851 48294 960738 0))
|
||||
;;; Generated autoloads from progmodes/prolog.el
|
||||
|
||||
(autoload 'prolog-mode "prolog" "\
|
||||
|
@ -21996,7 +21951,7 @@ If EXTENSION is any other symbol, it is ignored.
|
|||
;;;***
|
||||
|
||||
;;;### (autoloads (python-mode run-python) "python" "progmodes/python.el"
|
||||
;;;;;; (20824 3367 300658 0))
|
||||
;;;;;; (20850 27430 515630 0))
|
||||
;;; Generated autoloads from progmodes/python.el
|
||||
|
||||
(add-to-list 'auto-mode-alist (cons (purecopy "\\.py\\'") 'python-mode))
|
||||
|
@ -22615,8 +22570,8 @@ For true \"word wrap\" behavior, use `visual-line-mode' instead.
|
|||
;;;***
|
||||
|
||||
;;;### (autoloads (reftex-reset-scanning-information reftex-mode
|
||||
;;;;;; turn-on-reftex) "reftex" "textmodes/reftex.el" (20777 63161
|
||||
;;;;;; 848428 0))
|
||||
;;;;;; turn-on-reftex) "reftex" "textmodes/reftex.el" (20843 54187
|
||||
;;;;;; 671468 0))
|
||||
;;; Generated autoloads from textmodes/reftex.el
|
||||
|
||||
(autoload 'turn-on-reftex "reftex" "\
|
||||
|
@ -22666,7 +22621,7 @@ This enforces rescanning the buffer on next use.
|
|||
;;;***
|
||||
|
||||
;;;### (autoloads (reftex-citation) "reftex-cite" "textmodes/reftex-cite.el"
|
||||
;;;;;; (20734 30007 218637 0))
|
||||
;;;;;; (20838 36262 626321 0))
|
||||
;;; Generated autoloads from textmodes/reftex-cite.el
|
||||
|
||||
(autoload 'reftex-citation "reftex-cite" "\
|
||||
|
@ -22746,7 +22701,7 @@ Here are all local bindings.
|
|||
;;;***
|
||||
|
||||
;;;### (autoloads (reftex-all-document-files) "reftex-parse" "textmodes/reftex-parse.el"
|
||||
;;;;;; (20709 26818 907104 0))
|
||||
;;;;;; (20858 21542 723007 0))
|
||||
;;; Generated autoloads from textmodes/reftex-parse.el
|
||||
|
||||
(autoload 'reftex-all-document-files "reftex-parse" "\
|
||||
|
@ -22758,8 +22713,8 @@ of master file.
|
|||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "reftex-vars" "textmodes/reftex-vars.el" (20734
|
||||
;;;;;; 30007 218637 0))
|
||||
;;;### (autoloads nil "reftex-vars" "textmodes/reftex-vars.el" (20858
|
||||
;;;;;; 21542 723007 0))
|
||||
;;; Generated autoloads from textmodes/reftex-vars.el
|
||||
(put 'reftex-vref-is-default 'safe-local-variable (lambda (x) (or (stringp x) (symbolp x))))
|
||||
(put 'reftex-fref-is-default 'safe-local-variable (lambda (x) (or (stringp x) (symbolp x))))
|
||||
|
@ -22800,7 +22755,7 @@ This means the number of non-shy regexp grouping constructs
|
|||
|
||||
;;;### (autoloads (remember-diary-extract-entries remember-clipboard
|
||||
;;;;;; remember-other-frame remember) "remember" "textmodes/remember.el"
|
||||
;;;;;; (20799 169 640767 0))
|
||||
;;;;;; (20859 42406 744769 0))
|
||||
;;; Generated autoloads from textmodes/remember.el
|
||||
|
||||
(autoload 'remember "remember" "\
|
||||
|
@ -23466,7 +23421,7 @@ for modes derived from Text mode, like Mail mode.
|
|||
;;;***
|
||||
|
||||
;;;### (autoloads (ruby-mode) "ruby-mode" "progmodes/ruby-mode.el"
|
||||
;;;;;; (20792 30519 8548 0))
|
||||
;;;;;; (20845 9511 656701 0))
|
||||
;;; Generated autoloads from progmodes/ruby-mode.el
|
||||
|
||||
(autoload 'ruby-mode "ruby-mode" "\
|
||||
|
@ -24482,7 +24437,7 @@ To work around that, do:
|
|||
;;;***
|
||||
|
||||
;;;### (autoloads (sh-mode) "sh-script" "progmodes/sh-script.el"
|
||||
;;;;;; (20791 9657 561026 0))
|
||||
;;;;;; (20850 27430 515630 0))
|
||||
;;; Generated autoloads from progmodes/sh-script.el
|
||||
(put 'sh-shell 'safe-local-variable 'symbolp)
|
||||
|
||||
|
@ -24546,7 +24501,7 @@ with your script for an edit-interpret-debug cycle.
|
|||
;;;***
|
||||
|
||||
;;;### (autoloads (list-load-path-shadows) "shadow" "emacs-lisp/shadow.el"
|
||||
;;;;;; (20709 26818 907104 0))
|
||||
;;;;;; (20858 21542 723007 0))
|
||||
;;; Generated autoloads from emacs-lisp/shadow.el
|
||||
|
||||
(autoload 'list-load-path-shadows "shadow" "\
|
||||
|
@ -24564,7 +24519,7 @@ the earlier.
|
|||
|
||||
For example, suppose `load-path' is set to
|
||||
|
||||
\(\"/usr/gnu/emacs/site-lisp\" \"/usr/gnu/emacs/share/emacs/19.30/lisp\")
|
||||
\(\"/usr/share/emacs/site-lisp\" \"/usr/share/emacs/24.3/lisp\")
|
||||
|
||||
and that each of these directories contains a file called XXX.el. Then
|
||||
XXX.el in the site-lisp directory is referred to by all of:
|
||||
|
@ -24576,9 +24531,9 @@ the second is loaded explicitly via `load-file').
|
|||
When not intended, such shadowings can be the source of subtle
|
||||
problems. For example, the above situation may have arisen because the
|
||||
XXX package was not distributed with versions of Emacs prior to
|
||||
19.30. An Emacs maintainer downloaded XXX from elsewhere and installed
|
||||
24.3. A system administrator downloaded XXX from elsewhere and installed
|
||||
it. Later, XXX was updated and included in the Emacs distribution.
|
||||
Unless the Emacs maintainer checks for this, the new version of XXX
|
||||
Unless the system administrator checks for this, the new version of XXX
|
||||
will be hidden behind the old (which may no longer work with the new
|
||||
Emacs version).
|
||||
|
||||
|
@ -24684,8 +24639,8 @@ Otherwise, one argument `-i' is passed to the shell.
|
|||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads (shr-insert-document) "shr" "gnus/shr.el" (20791
|
||||
;;;;;; 9657 561026 0))
|
||||
;;;### (autoloads (shr-insert-document) "shr" "gnus/shr.el" (20845
|
||||
;;;;;; 9511 656701 0))
|
||||
;;; Generated autoloads from gnus/shr.el
|
||||
|
||||
(autoload 'shr-insert-document "shr" "\
|
||||
|
@ -27574,8 +27529,8 @@ In dired, call the setroot program on the image at point.
|
|||
;;;;;; tibetan-post-read-conversion tibetan-compose-buffer tibetan-decompose-buffer
|
||||
;;;;;; tibetan-decompose-string tibetan-decompose-region tibetan-compose-region
|
||||
;;;;;; tibetan-compose-string tibetan-transcription-to-tibetan tibetan-tibetan-to-transcription
|
||||
;;;;;; tibetan-char-p) "tibet-util" "language/tibet-util.el" (20709
|
||||
;;;;;; 26818 907104 0))
|
||||
;;;;;; tibetan-char-p) "tibet-util" "language/tibet-util.el" (20826
|
||||
;;;;;; 45095 436233 0))
|
||||
;;; Generated autoloads from language/tibet-util.el
|
||||
|
||||
(autoload 'tibetan-char-p "tibet-util" "\
|
||||
|
@ -28269,8 +28224,8 @@ to a tcp server on another machine.
|
|||
;;;***
|
||||
|
||||
;;;### (autoloads (trace-function-background trace-function-foreground
|
||||
;;;;;; trace-buffer) "trace" "emacs-lisp/trace.el" (20727 56759
|
||||
;;;;;; 628211 0))
|
||||
;;;;;; trace-values trace-buffer) "trace" "emacs-lisp/trace.el"
|
||||
;;;;;; (20842 33318 816618 0))
|
||||
;;; Generated autoloads from emacs-lisp/trace.el
|
||||
|
||||
(defvar trace-buffer "*trace-output*" "\
|
||||
|
@ -28278,6 +28233,12 @@ Trace output will by default go to that buffer.")
|
|||
|
||||
(custom-autoload 'trace-buffer "trace" t)
|
||||
|
||||
(autoload 'trace-values "trace" "\
|
||||
Helper function to get internal values.
|
||||
You can call this function to add internal values in the trace buffer.
|
||||
|
||||
\(fn &rest VALUES)" nil nil)
|
||||
|
||||
(autoload 'trace-function-foreground "trace" "\
|
||||
Traces FUNCTION with trace output going to BUFFER.
|
||||
For every call of FUNCTION Lisp-style trace messages that display argument
|
||||
|
@ -28305,7 +28266,7 @@ changing the window configuration.
|
|||
;;;### (autoloads (tramp-unload-tramp tramp-completion-handle-file-name-completion
|
||||
;;;;;; tramp-completion-handle-file-name-all-completions tramp-unload-file-name-handlers
|
||||
;;;;;; tramp-file-name-handler tramp-syntax tramp-mode) "tramp"
|
||||
;;;;;; "net/tramp.el" (20824 3367 300658 0))
|
||||
;;;;;; "net/tramp.el" (20854 24486 190633 0))
|
||||
;;; Generated autoloads from net/tramp.el
|
||||
|
||||
(defvar tramp-mode t "\
|
||||
|
@ -29551,8 +29512,8 @@ If FILE-NAME is non-nil, save the result to FILE-NAME.
|
|||
;;;;;; vc-print-log vc-retrieve-tag vc-create-tag vc-merge vc-insert-headers
|
||||
;;;;;; vc-revision-other-window vc-root-diff vc-ediff vc-version-ediff
|
||||
;;;;;; vc-diff vc-version-diff vc-register vc-next-action vc-before-checkin-hook
|
||||
;;;;;; vc-checkin-hook vc-checkout-hook) "vc" "vc/vc.el" (20752
|
||||
;;;;;; 26669 524456 0))
|
||||
;;;;;; vc-checkin-hook vc-checkout-hook) "vc" "vc/vc.el" (20855
|
||||
;;;;;; 45357 683214 0))
|
||||
;;; Generated autoloads from vc/vc.el
|
||||
|
||||
(defvar vc-checkout-hook nil "\
|
||||
|
@ -29882,8 +29843,8 @@ mode-specific menu. `vc-annotate-color-map' and
|
|||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "vc-bzr" "vc/vc-bzr.el" (20820 6311 856169
|
||||
;;;;;; 0))
|
||||
;;;### (autoloads nil "vc-bzr" "vc/vc-bzr.el" (20856 32310 242920
|
||||
;;;;;; 705000))
|
||||
;;; Generated autoloads from vc/vc-bzr.el
|
||||
|
||||
(defconst vc-bzr-admin-dirname ".bzr" "\
|
||||
|
@ -29899,7 +29860,7 @@ Name of the format file in a .bzr directory.")
|
|||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "vc-cvs" "vc/vc-cvs.el" (20748 62911 684442
|
||||
;;;### (autoloads nil "vc-cvs" "vc/vc-cvs.el" (20855 45357 683214
|
||||
;;;;;; 0))
|
||||
;;; Generated autoloads from vc/vc-cvs.el
|
||||
(defun vc-cvs-registered (f)
|
||||
|
@ -29976,7 +29937,7 @@ These are the commands available for use in the file status buffer:
|
|||
;;;***
|
||||
|
||||
;;;### (autoloads (vc-do-command) "vc-dispatcher" "vc/vc-dispatcher.el"
|
||||
;;;;;; (20709 26818 907104 0))
|
||||
;;;;;; (20851 48294 960738 0))
|
||||
;;; Generated autoloads from vc/vc-dispatcher.el
|
||||
|
||||
(autoload 'vc-do-command "vc-dispatcher" "\
|
||||
|
@ -29999,7 +29960,7 @@ case, and the process object in the asynchronous case.
|
|||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "vc-git" "vc/vc-git.el" (20748 62911 684442
|
||||
;;;### (autoloads nil "vc-git" "vc/vc-git.el" (20855 45357 683214
|
||||
;;;;;; 0))
|
||||
;;; Generated autoloads from vc/vc-git.el
|
||||
(defun vc-git-registered (file)
|
||||
|
@ -30011,7 +29972,7 @@ case, and the process object in the asynchronous case.
|
|||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "vc-hg" "vc/vc-hg.el" (20748 62911 684442 0))
|
||||
;;;### (autoloads nil "vc-hg" "vc/vc-hg.el" (20855 45357 683214 0))
|
||||
;;; Generated autoloads from vc/vc-hg.el
|
||||
(defun vc-hg-registered (file)
|
||||
"Return non-nil if FILE is registered with hg."
|
||||
|
@ -30022,7 +29983,7 @@ case, and the process object in the asynchronous case.
|
|||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "vc-mtn" "vc/vc-mtn.el" (20748 62911 684442
|
||||
;;;### (autoloads nil "vc-mtn" "vc/vc-mtn.el" (20855 45357 683214
|
||||
;;;;;; 0))
|
||||
;;; Generated autoloads from vc/vc-mtn.el
|
||||
|
||||
|
@ -30040,7 +30001,7 @@ Name of the monotone directory's format file.")
|
|||
;;;***
|
||||
|
||||
;;;### (autoloads (vc-rcs-master-templates) "vc-rcs" "vc/vc-rcs.el"
|
||||
;;;;;; (20709 26818 907104 0))
|
||||
;;;;;; (20855 45357 683214 0))
|
||||
;;; Generated autoloads from vc/vc-rcs.el
|
||||
|
||||
(defvar vc-rcs-master-templates (purecopy '("%sRCS/%s,v" "%s%s,v" "%sRCS/%s")) "\
|
||||
|
@ -30054,7 +30015,7 @@ For a description of possible values, see `vc-check-master-templates'.")
|
|||
;;;***
|
||||
|
||||
;;;### (autoloads (vc-sccs-master-templates) "vc-sccs" "vc/vc-sccs.el"
|
||||
;;;;;; (20709 26818 907104 0))
|
||||
;;;;;; (20855 45357 683214 0))
|
||||
;;; Generated autoloads from vc/vc-sccs.el
|
||||
|
||||
(defvar vc-sccs-master-templates (purecopy '("%sSCCS/s.%s" "%ss.%s" vc-sccs-search-project-dir)) "\
|
||||
|
@ -30072,7 +30033,7 @@ find any project directory." (let ((project-dir (getenv "PROJECTDIR")) dirs dir)
|
|||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "vc-svn" "vc/vc-svn.el" (20760 54070 584283
|
||||
;;;### (autoloads nil "vc-svn" "vc/vc-svn.el" (20855 45357 683214
|
||||
;;;;;; 0))
|
||||
;;; Generated autoloads from vc/vc-svn.el
|
||||
(defun vc-svn-registered (f)
|
||||
|
@ -30894,7 +30855,7 @@ Syntax table and abbrevs while in vi mode remain as they were in Emacs.
|
|||
;;;### (autoloads (viqr-pre-write-conversion viqr-post-read-conversion
|
||||
;;;;;; viet-encode-viqr-buffer viet-encode-viqr-region viet-decode-viqr-buffer
|
||||
;;;;;; viet-decode-viqr-region viet-encode-viscii-char) "viet-util"
|
||||
;;;;;; "language/viet-util.el" (20709 26818 907104 0))
|
||||
;;;;;; "language/viet-util.el" (20826 45095 436233 0))
|
||||
;;; Generated autoloads from language/viet-util.el
|
||||
|
||||
(autoload 'viet-encode-viscii-char "viet-util" "\
|
||||
|
@ -31390,8 +31351,8 @@ in certain major modes.
|
|||
;;;### (autoloads (whitespace-report-region whitespace-report whitespace-cleanup-region
|
||||
;;;;;; whitespace-cleanup global-whitespace-toggle-options whitespace-toggle-options
|
||||
;;;;;; global-whitespace-newline-mode global-whitespace-mode whitespace-newline-mode
|
||||
;;;;;; whitespace-mode) "whitespace" "whitespace.el" (20809 36008
|
||||
;;;;;; 682209 0))
|
||||
;;;;;; whitespace-mode) "whitespace" "whitespace.el" (20831 63016
|
||||
;;;;;; 738579 0))
|
||||
;;; Generated autoloads from whitespace.el
|
||||
|
||||
(autoload 'whitespace-mode "whitespace" "\
|
||||
|
@ -31917,8 +31878,8 @@ Default MODIFIER is 'shift.
|
|||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads (winner-mode) "winner" "winner.el" (20709 26818
|
||||
;;;;;; 907104 0))
|
||||
;;;### (autoloads (winner-mode) "winner" "winner.el" (20849 6570
|
||||
;;;;;; 598687 0))
|
||||
;;; Generated autoloads from winner.el
|
||||
|
||||
(defvar winner-mode nil "\
|
||||
|
@ -32466,8 +32427,8 @@ Zone out, completely.
|
|||
;;;;;; "vc/ediff-ptch.el" "vc/ediff-vers.el" "vc/ediff-wind.el"
|
||||
;;;;;; "vc/pcvs-info.el" "vc/pcvs-parse.el" "vc/pcvs-util.el" "vc/vc-dav.el"
|
||||
;;;;;; "vcursor.el" "vt-control.el" "vt100-led.el" "w32-common-fns.el"
|
||||
;;;;;; "w32-fns.el" "w32-vars.el" "x-dnd.el") (20825 24458 310780
|
||||
;;;;;; 797000))
|
||||
;;;;;; "w32-fns.el" "w32-vars.el" "x-dnd.el") (20864 60345 274595
|
||||
;;;;;; 113000))
|
||||
|
||||
;;;***
|
||||
|
||||
|
|
|
@ -404,6 +404,13 @@ not contain `d', so that a full listing is expected."
|
|||
;; the wildcard; let's say something similar.
|
||||
(insert "(No match)\n"))
|
||||
(insert (format "total %.0f\n" (fceiling (/ sum 1024.0))))))
|
||||
;; dired-insert-directory exprects to find point after the
|
||||
;; text. But if the listinmg is empty, as e.g. in empty
|
||||
;; directories with -a removed from switches, point will be
|
||||
;; before the inserted text, and dired-insert-directory will
|
||||
;; not indent the listing correctly. Going to the end of the
|
||||
;; buffer fixes that.
|
||||
(unless files (goto-char (point-max)))
|
||||
(if (memq ?R switches)
|
||||
;; List the contents of all directories recursively.
|
||||
;; cadr of each element of `file-alist' is t for
|
||||
|
|
|
@ -6475,6 +6475,52 @@ comment at the start of cc-engine.el for more info."
|
|||
(c-go-list-forward)
|
||||
t)))
|
||||
|
||||
(defun c-back-over-member-initializers ()
|
||||
;; Test whether we are in a C++ member initializer list, and if so, go back
|
||||
;; to the introducing ":", returning the position of the opening paren of
|
||||
;; the function's arglist. Otherwise return nil, leaving point unchanged.
|
||||
(let ((here (point))
|
||||
(paren-state (c-parse-state))
|
||||
res)
|
||||
|
||||
(setq res
|
||||
(catch 'done
|
||||
(if (not (c-at-toplevel-p))
|
||||
(progn
|
||||
(while (not (c-at-toplevel-p))
|
||||
(goto-char (c-pull-open-brace paren-state)))
|
||||
(c-backward-syntactic-ws)
|
||||
(when (not (c-simple-skip-symbol-backward))
|
||||
(throw 'done nil))
|
||||
(c-backward-syntactic-ws))
|
||||
(c-backward-syntactic-ws)
|
||||
(when (memq (char-before) '(?\) ?}))
|
||||
(when (not (c-go-list-backward))
|
||||
(throw 'done nil))
|
||||
(c-backward-syntactic-ws))
|
||||
(when (c-simple-skip-symbol-backward)
|
||||
(c-backward-syntactic-ws)))
|
||||
|
||||
(while (eq (char-before) ?,)
|
||||
(backward-char)
|
||||
(c-backward-syntactic-ws)
|
||||
|
||||
(when (not (memq (char-before) '(?\) ?})))
|
||||
(throw 'done nil))
|
||||
(when (not (c-go-list-backward))
|
||||
(throw 'done nil))
|
||||
(c-backward-syntactic-ws)
|
||||
(when (not (c-simple-skip-symbol-backward))
|
||||
(throw 'done nil))
|
||||
(c-backward-syntactic-ws))
|
||||
|
||||
(and
|
||||
(eq (char-before) ?:)
|
||||
(c-just-after-func-arglist-p))))
|
||||
|
||||
(or res (goto-char here))
|
||||
res))
|
||||
|
||||
|
||||
;; Handling of large scale constructs like statements and declarations.
|
||||
|
||||
|
@ -9677,18 +9723,13 @@ comment at the start of cc-engine.el for more info."
|
|||
;; 2007-11-09)
|
||||
))))
|
||||
|
||||
;; CASE 5B: After a function header but before the body (or
|
||||
;; the ending semicolon if there's no body).
|
||||
;; CASE 5R: Member init list. (Used to be part of CASE 5B.1)
|
||||
;; Note there is no limit on the backward search here, since member
|
||||
;; init lists can, in practice, be very large.
|
||||
((save-excursion
|
||||
(when (setq placeholder (c-just-after-func-arglist-p
|
||||
(max lim (c-determine-limit 500))))
|
||||
(when (setq placeholder (c-back-over-member-initializers))
|
||||
(setq tmp-pos (point))))
|
||||
(cond
|
||||
|
||||
;; CASE 5B.1: Member init list.
|
||||
((eq (char-after tmp-pos) ?:)
|
||||
(if (or (>= tmp-pos indent-point)
|
||||
(= (c-point 'bosws) (1+ tmp-pos)))
|
||||
(if (= (c-point 'bosws) (1+ tmp-pos))
|
||||
(progn
|
||||
;; There is no preceding member init clause.
|
||||
;; Indent relative to the beginning of indentation
|
||||
|
@ -9701,6 +9742,23 @@ comment at the start of cc-engine.el for more info."
|
|||
(c-forward-syntactic-ws)
|
||||
(c-add-syntax 'member-init-cont (point))))
|
||||
|
||||
;; CASE 5B: After a function header but before the body (or
|
||||
;; the ending semicolon if there's no body).
|
||||
((save-excursion
|
||||
(when (setq placeholder (c-just-after-func-arglist-p
|
||||
(max lim (c-determine-limit 500))))
|
||||
(setq tmp-pos (point))))
|
||||
(cond
|
||||
|
||||
;; CASE 5B.1: Member init list.
|
||||
((eq (char-after tmp-pos) ?:)
|
||||
;; There is no preceding member init clause.
|
||||
;; Indent relative to the beginning of indentation
|
||||
;; for the topmost-intro line that contains the
|
||||
;; prototype's open paren.
|
||||
(goto-char placeholder)
|
||||
(c-add-syntax 'member-init-intro (c-point 'boi)))
|
||||
|
||||
;; CASE 5B.2: K&R arg decl intro
|
||||
((and c-recognize-knr-p
|
||||
(c-in-knr-argdecl lim))
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
;;; octave.el --- editing octave source files under emacs
|
||||
;;; octave.el --- editing octave source files under emacs -*- lexical-binding: t; -*-
|
||||
|
||||
;; Copyright (C) 1997, 2001-2013 Free Software Foundation, Inc.
|
||||
|
||||
|
@ -34,63 +34,42 @@
|
|||
;;; Code:
|
||||
(require 'comint)
|
||||
|
||||
;;; For emacs < 24.3.
|
||||
(require 'newcomment)
|
||||
(eval-when-compile
|
||||
(unless (fboundp 'setq-local)
|
||||
(defmacro setq-local (var val)
|
||||
"Set variable VAR to value VAL in current buffer."
|
||||
(list 'set (list 'make-local-variable (list 'quote var)) val))))
|
||||
|
||||
(defgroup octave nil
|
||||
"Editing Octave code."
|
||||
:link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces)
|
||||
:group 'languages)
|
||||
|
||||
(defconst octave-maintainer-address
|
||||
"Kurt Hornik <Kurt.Hornik@wu-wien.ac.at>, bug-gnu-emacs@gnu.org"
|
||||
"Current maintainer of the Emacs Octave package.")
|
||||
(define-obsolete-function-alias 'octave-submit-bug-report
|
||||
'report-emacs-bug "24.4")
|
||||
|
||||
(define-abbrev-table 'octave-abbrev-table
|
||||
(mapcar (lambda (e) (append e '(nil 0 t)))
|
||||
'(("`a" "all_va_args")
|
||||
("`b" "break")
|
||||
("`cs" "case")
|
||||
("`ca" "catch")
|
||||
("`c" "continue")
|
||||
("`el" "else")
|
||||
("`eli" "elseif")
|
||||
("`et" "end_try_catch")
|
||||
("`eu" "end_unwind_protect")
|
||||
("`ef" "endfor")
|
||||
("`efu" "endfunction")
|
||||
("`ei" "endif")
|
||||
("`es" "endswitch")
|
||||
("`ew" "endwhile")
|
||||
("`f" "for")
|
||||
("`fu" "function")
|
||||
("`gl" "global")
|
||||
("`gp" "gplot")
|
||||
("`gs" "gsplot")
|
||||
("`if" "if ()")
|
||||
("`o" "otherwise")
|
||||
("`rp" "replot")
|
||||
("`r" "return")
|
||||
("`s" "switch")
|
||||
("`t" "try")
|
||||
("`u" "until ()")
|
||||
("`up" "unwind_protect")
|
||||
("`upc" "unwind_protect_cleanup")
|
||||
("`w" "while ()")))
|
||||
(define-abbrev-table 'octave-abbrev-table nil
|
||||
"Abbrev table for Octave's reserved words.
|
||||
Used in `octave-mode' and `inferior-octave-mode' buffers.
|
||||
All Octave abbrevs start with a grave accent (`)."
|
||||
:regexp "\\(?:[^`]\\|^\\)\\(\\(?:\\<\\|`\\)\\w+\\)\\W*")
|
||||
Used in `octave-mode' and `inferior-octave-mode' buffers.")
|
||||
|
||||
(defvar octave-comment-char ?#
|
||||
"Character to start an Octave comment.")
|
||||
|
||||
(defvar octave-comment-start
|
||||
(string octave-comment-char ?\s)
|
||||
"String to insert to start a new Octave in-line comment.")
|
||||
|
||||
(defvar octave-comment-start-skip "\\s<+\\s-*"
|
||||
"Regexp to match the start of an Octave comment up to its body.")
|
||||
|
||||
(defvar octave-begin-keywords
|
||||
'("do" "for" "function" "if" "switch" "try" "unwind_protect" "while"))
|
||||
|
||||
(defvar octave-else-keywords
|
||||
'("case" "catch" "else" "elseif" "otherwise" "unwind_protect_cleanup"))
|
||||
|
||||
(defvar octave-end-keywords
|
||||
'("endfor" "endfunction" "endif" "endswitch" "end_try_catch"
|
||||
"end_unwind_protect" "endwhile" "until" "end"))
|
||||
|
@ -109,37 +88,6 @@ All Octave abbrevs start with a grave accent (`)."
|
|||
"which" "who" "whos")
|
||||
"Text functions in Octave.")
|
||||
|
||||
(defvar octave-variables
|
||||
'("DEFAULT_EXEC_PATH" "DEFAULT_LOADPATH"
|
||||
"EDITOR" "EXEC_PATH" "F_DUPFD" "F_GETFD" "F_GETFL" "F_SETFD"
|
||||
"F_SETFL" "I" "IMAGE_PATH" "Inf" "J"
|
||||
"NaN" "OCTAVE_VERSION" "O_APPEND" "O_CREAT" "O_EXCL"
|
||||
"O_NONBLOCK" "O_RDONLY" "O_RDWR" "O_TRUNC" "O_WRONLY" "PAGER" "PS1"
|
||||
"PS2" "PS4" "PWD" "SEEK_CUR" "SEEK_END" "SEEK_SET" "__F_DUPFD__"
|
||||
"__F_GETFD__" "__F_GETFL__" "__F_SETFD__" "__F_SETFL__" "__I__"
|
||||
"__Inf__" "__J__" "__NaN__" "__OCTAVE_VERSION__" "__O_APPEND__"
|
||||
"__O_CREAT__" "__O_EXCL__" "__O_NONBLOCK__" "__O_RDONLY__"
|
||||
"__O_RDWR__" "__O_TRUNC__" "__O_WRONLY__" "__PWD__" "__SEEK_CUR__"
|
||||
"__SEEK_END__" "__SEEK_SET__" "__argv__" "__e__" "__eps__"
|
||||
"__i__" "__inf__" "__j__" "__nan__" "__pi__"
|
||||
"__program_invocation_name__" "__program_name__" "__realmax__"
|
||||
"__realmin__" "__stderr__" "__stdin__" "__stdout__" "ans" "argv"
|
||||
"beep_on_error" "completion_append_char"
|
||||
"crash_dumps_octave_core" "default_save_format"
|
||||
"e" "echo_executing_commands" "eps"
|
||||
"error_text" "gnuplot_binary" "history_file"
|
||||
"history_size" "ignore_function_time_stamp"
|
||||
"inf" "nan" "nargin" "output_max_field_width" "output_precision"
|
||||
"page_output_immediately" "page_screen_output" "pi"
|
||||
"print_answer_id_name" "print_empty_dimensions"
|
||||
"program_invocation_name" "program_name"
|
||||
"realmax" "realmin" "return_last_computed_value" "save_precision"
|
||||
"saving_history" "sighup_dumps_octave_core" "sigterm_dumps_octave_core"
|
||||
"silent_functions" "split_long_rows" "stderr" "stdin" "stdout"
|
||||
"string_fill_char" "struct_levels_to_print"
|
||||
"suppress_verbose_help_message")
|
||||
"Builtin variables in Octave.")
|
||||
|
||||
(defvar octave-function-header-regexp
|
||||
(concat "^\\s-*\\_<\\(function\\)\\_>"
|
||||
"\\([^=;\n]*=[ \t]*\\|[ \t]*\\)\\(\\(?:\\w\\|\\s_\\)+\\)\\_>")
|
||||
|
@ -156,14 +104,22 @@ parenthetical grouping.")
|
|||
octave-text-functions))
|
||||
"\\)\\_>")
|
||||
'font-lock-keyword-face)
|
||||
;; Note: 'end' also serves as the last index in an indexing expression.
|
||||
;; Ref: http://www.mathworks.com/help/matlab/ref/end.html
|
||||
'("\\_<end\\_>" (0 (save-excursion
|
||||
(condition-case nil
|
||||
(progn
|
||||
(goto-char (match-beginning 0))
|
||||
(backward-up-list)
|
||||
(unless (eq (char-after) ?\()
|
||||
font-lock-keyword-face))
|
||||
(error font-lock-keyword-face)))
|
||||
t))
|
||||
;; Fontify all builtin operators.
|
||||
(cons "\\(&\\||\\|<=\\|>=\\|==\\|<\\|>\\|!=\\|!\\)"
|
||||
(if (boundp 'font-lock-builtin-face)
|
||||
'font-lock-builtin-face
|
||||
'font-lock-preprocessor-face))
|
||||
;; Fontify all builtin variables.
|
||||
(cons (concat "\\_<" (regexp-opt octave-variables) "\\_>")
|
||||
'font-lock-variable-name-face)
|
||||
;; Fontify all function declarations.
|
||||
(list octave-function-header-regexp
|
||||
'(1 font-lock-keyword-face)
|
||||
|
@ -196,10 +152,8 @@ parenthetical grouping.")
|
|||
|
||||
(defvar octave-mode-map
|
||||
(let ((map (make-sparse-keymap)))
|
||||
(define-key map "`" 'octave-abbrev-start)
|
||||
(define-key map "\e\n" 'octave-indent-new-comment-line)
|
||||
(define-key map "\M-\C-q" 'octave-indent-defun)
|
||||
(define-key map "\C-c\C-b" 'octave-submit-bug-report)
|
||||
(define-key map "\C-c\C-p" 'octave-previous-code-line)
|
||||
(define-key map "\C-c\C-n" 'octave-next-code-line)
|
||||
(define-key map "\C-c\C-a" 'octave-beginning-of-line)
|
||||
|
@ -208,6 +162,7 @@ parenthetical grouping.")
|
|||
(define-key map "\C-c\M-\C-h" 'octave-mark-block)
|
||||
(define-key map "\C-c]" 'smie-close-block)
|
||||
(define-key map "\C-c/" 'smie-close-block)
|
||||
(define-key map "\C-c;" 'octave-update-function-file-comment)
|
||||
(define-key map "\C-c\C-f" 'octave-insert-defun)
|
||||
(define-key map "\C-c\C-il" 'octave-send-line)
|
||||
(define-key map "\C-c\C-ib" 'octave-send-block)
|
||||
|
@ -242,7 +197,8 @@ parenthetical grouping.")
|
|||
["Close Block" smie-close-block t])
|
||||
("Functions"
|
||||
["Indent Function" octave-indent-defun t]
|
||||
["Insert Function" octave-insert-defun t])
|
||||
["Insert Function" octave-insert-defun t]
|
||||
["Update function file comment" octave-update-function-file-comment t])
|
||||
"-"
|
||||
("Debug"
|
||||
["Send Current Line" octave-send-line t]
|
||||
|
@ -255,16 +211,14 @@ parenthetical grouping.")
|
|||
"-"
|
||||
["Indent Line" indent-according-to-mode t]
|
||||
["Complete Symbol" completion-at-point t]
|
||||
"-"
|
||||
["Toggle Abbrev Mode" abbrev-mode
|
||||
:style toggle :selected abbrev-mode]
|
||||
["Toggle Auto-Fill Mode" auto-fill-mode
|
||||
:style toggle :selected auto-fill-function]
|
||||
"-"
|
||||
["Submit Bug Report" octave-submit-bug-report t]
|
||||
"-"
|
||||
["Describe Octave Mode" describe-mode t]
|
||||
["Lookup Octave Index" info-lookup-symbol t]))
|
||||
["Lookup Octave Index" info-lookup-symbol t]
|
||||
["Customize Octave" (customize-group 'octave) t]
|
||||
"-"
|
||||
["Submit Bug Report" report-emacs-bug t]))
|
||||
|
||||
(defvar octave-mode-syntax-table
|
||||
(let ((table (make-syntax-table)))
|
||||
|
@ -300,6 +254,12 @@ parenthetical grouping.")
|
|||
table)
|
||||
"Syntax table in use in `octave-mode' buffers.")
|
||||
|
||||
(defcustom octave-font-lock-texinfo-comment t
|
||||
"Control whether to highlight the texinfo comment block."
|
||||
:type 'boolean
|
||||
:group 'octave
|
||||
:version "24.4")
|
||||
|
||||
(defcustom octave-blink-matching-block t
|
||||
"Control the blinking of matching Octave block keywords.
|
||||
Non-nil means show matching begin of block when inserting a space,
|
||||
|
@ -320,15 +280,17 @@ newline or semicolon after an else or end keyword."
|
|||
"Extra indentation applied to Octave continuation lines."
|
||||
:type 'integer
|
||||
:group 'octave)
|
||||
|
||||
(eval-and-compile
|
||||
(defconst octave-continuation-marker-regexp "\\\\\\|\\.\\.\\."))
|
||||
|
||||
(defvar octave-continuation-regexp
|
||||
(concat "[^#%\n]*\\(" octave-continuation-marker-regexp
|
||||
"\\)\\s-*\\(\\s<.*\\)?$"))
|
||||
(defcustom octave-continuation-string "\\"
|
||||
"Character string used for Octave continuation lines. Normally \\."
|
||||
:type 'string
|
||||
:group 'octave)
|
||||
|
||||
;; Char \ is considered a bad decision for continuing a line.
|
||||
(defconst octave-continuation-string "..."
|
||||
"Character string used for Octave continuation lines.")
|
||||
|
||||
(defvar octave-mode-imenu-generic-expression
|
||||
(list
|
||||
|
@ -345,11 +307,13 @@ newline or semicolon after an else or end keyword."
|
|||
"Non-nil means display `inferior-octave-buffer' after sending to it."
|
||||
:type 'boolean
|
||||
:group 'octave)
|
||||
|
||||
(defcustom octave-send-line-auto-forward t
|
||||
"Control auto-forward after sending to the inferior Octave process.
|
||||
Non-nil means always go to the next Octave code line after sending."
|
||||
:type 'boolean
|
||||
:group 'octave)
|
||||
|
||||
(defcustom octave-send-echo-input t
|
||||
"Non-nil means echo input sent to the inferior Octave process."
|
||||
:type 'boolean
|
||||
|
@ -462,11 +426,12 @@ Non-nil means always go to the next Octave code line after sending."
|
|||
(forward-comment 1))
|
||||
(cond
|
||||
((and (looking-at "$\\|[%#]")
|
||||
(not (smie-rule-bolp))
|
||||
;; Ignore it if it's within parentheses.
|
||||
(prog1 (let ((ppss (syntax-ppss)))
|
||||
(not (and (nth 1 ppss)
|
||||
(eq ?\( (char-after (nth 1 ppss))))))
|
||||
;; Ignore it if it's within parentheses or if the newline does not end
|
||||
;; some preceding text.
|
||||
(prog1 (and (not (smie-rule-bolp))
|
||||
(let ((ppss (syntax-ppss)))
|
||||
(not (and (nth 1 ppss)
|
||||
(eq ?\( (char-after (nth 1 ppss)))))))
|
||||
(forward-comment (point-max))))
|
||||
;; Why bother distinguishing \n and ;?
|
||||
";") ;;"\n"
|
||||
|
@ -508,130 +473,59 @@ Non-nil means always go to the next Octave code line after sending."
|
|||
(define-derived-mode octave-mode prog-mode "Octave"
|
||||
"Major mode for editing Octave code.
|
||||
|
||||
This mode makes it easier to write Octave code by helping with
|
||||
indentation, doing some of the typing for you (with Abbrev mode) and by
|
||||
showing keywords, comments, strings, etc. in different faces (with
|
||||
Font Lock mode on terminals that support it).
|
||||
|
||||
Octave itself is a high-level language, primarily intended for numerical
|
||||
computations. It provides a convenient command line interface for
|
||||
solving linear and nonlinear problems numerically. Function definitions
|
||||
can also be stored in files, and it can be used in a batch mode (which
|
||||
is why you need this mode!).
|
||||
|
||||
The latest released version of Octave is always available via anonymous
|
||||
ftp from ftp.octave.org in the directory `/pub/octave'. Complete
|
||||
source and binaries for several popular systems are available.
|
||||
|
||||
Type \\[list-abbrevs] to display the built-in abbrevs for Octave keywords.
|
||||
|
||||
Keybindings
|
||||
===========
|
||||
|
||||
\\{octave-mode-map}
|
||||
|
||||
Variables you can use to customize Octave mode
|
||||
==============================================
|
||||
|
||||
`octave-blink-matching-block'
|
||||
Non-nil means show matching begin of block when inserting a space,
|
||||
newline or semicolon after an else or end keyword. Default is t.
|
||||
|
||||
`octave-block-offset'
|
||||
Extra indentation applied to statements in block structures.
|
||||
Default is 2.
|
||||
|
||||
`octave-continuation-offset'
|
||||
Extra indentation applied to Octave continuation lines.
|
||||
Default is 4.
|
||||
|
||||
`octave-continuation-string'
|
||||
String used for Octave continuation lines.
|
||||
Default is a backslash.
|
||||
|
||||
`octave-send-echo-input'
|
||||
Non-nil means always display `inferior-octave-buffer' after sending a
|
||||
command to the inferior Octave process.
|
||||
|
||||
`octave-send-line-auto-forward'
|
||||
Non-nil means always go to the next unsent line of Octave code after
|
||||
sending a line to the inferior Octave process.
|
||||
|
||||
`octave-send-echo-input'
|
||||
Non-nil means echo input sent to the inferior Octave process.
|
||||
|
||||
Turning on Octave mode runs the hook `octave-mode-hook'.
|
||||
|
||||
To begin using this mode for all `.m' files that you edit, add the
|
||||
following lines to your init file:
|
||||
|
||||
(add-to-list 'auto-mode-alist '(\"\\\\.m\\\\'\" . octave-mode))
|
||||
|
||||
To automatically turn on the abbrev and auto-fill features,
|
||||
add the following lines to your init file as well:
|
||||
|
||||
(add-hook 'octave-mode-hook
|
||||
(lambda ()
|
||||
(abbrev-mode 1)
|
||||
(auto-fill-mode 1)))
|
||||
|
||||
To submit a problem report, enter \\[octave-submit-bug-report] from \
|
||||
an Octave mode buffer.
|
||||
This automatically sets up a mail buffer with version information
|
||||
already added. You just need to add a description of the problem,
|
||||
including a reproducible test case and send the message."
|
||||
(setq local-abbrev-table octave-abbrev-table)
|
||||
Octave is a high-level language, primarily intended for numerical
|
||||
computations. It provides a convenient command line interface
|
||||
for solving linear and nonlinear problems numerically. Function
|
||||
definitions can also be stored in files and used in batch mode."
|
||||
:abbrev-table octave-abbrev-table
|
||||
|
||||
(smie-setup octave-smie-grammar #'octave-smie-rules
|
||||
:forward-token #'octave-smie-forward-token
|
||||
:backward-token #'octave-smie-backward-token)
|
||||
(set (make-local-variable 'smie-indent-basic) 'octave-block-offset)
|
||||
(setq-local smie-indent-basic 'octave-block-offset)
|
||||
|
||||
(set (make-local-variable 'smie-blink-matching-triggers)
|
||||
(cons ?\; smie-blink-matching-triggers))
|
||||
(setq-local smie-blink-matching-triggers
|
||||
(cons ?\; smie-blink-matching-triggers))
|
||||
(unless octave-blink-matching-block
|
||||
(remove-hook 'post-self-insert-hook #'smie-blink-matching-open 'local))
|
||||
|
||||
(set (make-local-variable 'electric-indent-chars)
|
||||
(cons ?\; electric-indent-chars))
|
||||
(setq-local electric-indent-chars
|
||||
(cons ?\; electric-indent-chars))
|
||||
;; IIUC matlab-mode takes the opposite approach: it makes RET insert
|
||||
;; a ";" at those places where it's correct (i.e. outside of parens).
|
||||
(set (make-local-variable 'electric-layout-rules) '((?\; . after)))
|
||||
(setq-local electric-layout-rules '((?\; . after)))
|
||||
|
||||
(set (make-local-variable 'comment-start) octave-comment-start)
|
||||
(set (make-local-variable 'comment-end) "")
|
||||
(setq-local comment-start octave-comment-start)
|
||||
(setq-local comment-end "")
|
||||
;; Don't set it here: it's not really a property of the language,
|
||||
;; just a personal preference of the author.
|
||||
;; (set (make-local-variable 'comment-column) 32)
|
||||
(set (make-local-variable 'comment-start-skip) "\\s<+\\s-*")
|
||||
(set (make-local-variable 'comment-add) 1)
|
||||
;; (setq-local comment-column 32)
|
||||
(setq-local comment-start-skip "\\s<+\\s-*")
|
||||
(setq-local comment-add 1)
|
||||
|
||||
(set (make-local-variable 'parse-sexp-ignore-comments) t)
|
||||
(set (make-local-variable 'paragraph-start)
|
||||
(concat "\\s-*$\\|" page-delimiter))
|
||||
(set (make-local-variable 'paragraph-separate) paragraph-start)
|
||||
(set (make-local-variable 'paragraph-ignore-fill-prefix) t)
|
||||
(set (make-local-variable 'fill-paragraph-function) 'octave-fill-paragraph)
|
||||
(setq-local parse-sexp-ignore-comments t)
|
||||
(setq-local paragraph-start (concat "\\s-*$\\|" page-delimiter))
|
||||
(setq-local paragraph-separate paragraph-start)
|
||||
(setq-local paragraph-ignore-fill-prefix t)
|
||||
(setq-local fill-paragraph-function 'octave-fill-paragraph)
|
||||
;; FIXME: Why disable it?
|
||||
;; (set (make-local-variable 'adaptive-fill-regexp) nil)
|
||||
;; (setq-local adaptive-fill-regexp nil)
|
||||
;; Again, this is not a property of the language, don't set it here.
|
||||
;; (set (make-local-variable 'fill-column) 72)
|
||||
(set (make-local-variable 'normal-auto-fill-function) 'octave-auto-fill)
|
||||
;; (setq fill-column 72)
|
||||
(setq-local normal-auto-fill-function 'octave-auto-fill)
|
||||
|
||||
(set (make-local-variable 'font-lock-defaults)
|
||||
'(octave-font-lock-keywords))
|
||||
(setq font-lock-defaults '(octave-font-lock-keywords))
|
||||
|
||||
(set (make-local-variable 'syntax-propertize-function)
|
||||
#'octave-syntax-propertize-function)
|
||||
(setq-local syntax-propertize-function #'octave-syntax-propertize-function)
|
||||
|
||||
(set (make-local-variable 'imenu-generic-expression)
|
||||
octave-mode-imenu-generic-expression)
|
||||
(set (make-local-variable 'imenu-case-fold-search) nil)
|
||||
(setq imenu-generic-expression octave-mode-imenu-generic-expression)
|
||||
(setq imenu-case-fold-search nil)
|
||||
|
||||
(add-hook 'completion-at-point-functions
|
||||
'octave-completion-at-point-function nil t)
|
||||
(set (make-local-variable 'beginning-of-defun-function)
|
||||
'octave-beginning-of-defun)
|
||||
(add-hook 'before-save-hook 'octave-sync-function-file-names nil t)
|
||||
(setq-local beginning-of-defun-function 'octave-beginning-of-defun)
|
||||
(and octave-font-lock-texinfo-comment (octave-font-lock-texinfo-comment))
|
||||
|
||||
(easy-menu-add octave-mode-menu))
|
||||
|
||||
|
@ -652,6 +546,13 @@ including a reproducible test case and send the message."
|
|||
:type 'regexp
|
||||
:group 'octave)
|
||||
|
||||
(defcustom inferior-octave-prompt-read-only comint-prompt-read-only
|
||||
"If non-nil, the Octave prompt is read only.
|
||||
See `comint-prompt-read-only' for details."
|
||||
:type 'boolean
|
||||
:group 'octave
|
||||
:version "24.4")
|
||||
|
||||
(defcustom inferior-octave-startup-file nil
|
||||
"Name of the inferior Octave startup file.
|
||||
The contents of this file are sent to the inferior Octave process on
|
||||
|
@ -696,28 +597,12 @@ mode, set this to (\"-q\" \"--traditional\")."
|
|||
;; Could certainly do more font locking in inferior Octave ...
|
||||
"Additional expressions to highlight in Inferior Octave mode.")
|
||||
|
||||
|
||||
;;; Compatibility functions
|
||||
(if (not (fboundp 'comint-line-beginning-position))
|
||||
;; comint-line-beginning-position is defined in Emacs 21
|
||||
(defun comint-line-beginning-position ()
|
||||
"Returns the buffer position of the beginning of the line, after any prompt.
|
||||
The prompt is assumed to be any text at the beginning of the line matching
|
||||
the regular expression `comint-prompt-regexp', a buffer local variable."
|
||||
(save-excursion (comint-bol nil) (point))))
|
||||
|
||||
|
||||
(defvar inferior-octave-output-list nil)
|
||||
(defvar inferior-octave-output-string nil)
|
||||
(defvar inferior-octave-receive-in-progress nil)
|
||||
|
||||
(defvar inferior-octave-startup-hook nil)
|
||||
|
||||
(defvar inferior-octave-complete-impossible nil
|
||||
"Non-nil means that `inferior-octave-complete' is impossible.")
|
||||
|
||||
(defvar inferior-octave-has-built-in-variables nil
|
||||
"Non-nil means that Octave has built-in variables.")
|
||||
(define-obsolete-variable-alias 'inferior-octave-startup-hook
|
||||
'inferior-octave-mode-hook "24.4")
|
||||
|
||||
(defvar inferior-octave-dynamic-complete-functions
|
||||
'(inferior-octave-completion-at-point comint-filename-completion)
|
||||
|
@ -728,31 +613,25 @@ in the Inferior Octave buffer.")
|
|||
(defvar info-lookup-mode)
|
||||
|
||||
(define-derived-mode inferior-octave-mode comint-mode "Inferior Octave"
|
||||
"Major mode for interacting with an inferior Octave process.
|
||||
Runs Octave as a subprocess of Emacs, with Octave I/O through an Emacs
|
||||
buffer.
|
||||
"Major mode for interacting with an inferior Octave process."
|
||||
:abbrev-table octave-abbrev-table
|
||||
(setq comint-prompt-regexp inferior-octave-prompt)
|
||||
|
||||
Entry to this mode successively runs the hooks `comint-mode-hook' and
|
||||
`inferior-octave-mode-hook'."
|
||||
(setq comint-prompt-regexp inferior-octave-prompt
|
||||
mode-line-process '(":%s")
|
||||
local-abbrev-table octave-abbrev-table)
|
||||
(setq-local comment-start octave-comment-start)
|
||||
(setq-local comment-end "")
|
||||
(setq comment-column 32)
|
||||
(setq-local comment-start-skip octave-comment-start-skip)
|
||||
|
||||
(set (make-local-variable 'comment-start) octave-comment-start)
|
||||
(set (make-local-variable 'comment-end) "")
|
||||
(set (make-local-variable 'comment-column) 32)
|
||||
(set (make-local-variable 'comment-start-skip) octave-comment-start-skip)
|
||||
(setq font-lock-defaults '(inferior-octave-font-lock-keywords nil nil))
|
||||
|
||||
(set (make-local-variable 'font-lock-defaults)
|
||||
'(inferior-octave-font-lock-keywords nil nil))
|
||||
|
||||
(set (make-local-variable 'info-lookup-mode) 'octave-mode)
|
||||
(setq info-lookup-mode 'octave-mode)
|
||||
|
||||
(setq comint-input-ring-file-name
|
||||
(or (getenv "OCTAVE_HISTFILE") "~/.octave_hist")
|
||||
comint-input-ring-size (or (getenv "OCTAVE_HISTSIZE") 1024))
|
||||
(set (make-local-variable 'comint-dynamic-complete-functions)
|
||||
inferior-octave-dynamic-complete-functions)
|
||||
(setq-local comint-dynamic-complete-functions
|
||||
inferior-octave-dynamic-complete-functions)
|
||||
(setq-local comint-prompt-read-only inferior-octave-prompt-read-only)
|
||||
(add-hook 'comint-input-filter-functions
|
||||
'inferior-octave-directory-tracker nil t)
|
||||
(comint-read-input-ring t))
|
||||
|
@ -816,20 +695,11 @@ startup file, `~/.emacs-octave'."
|
|||
'identity inferior-octave-output-list "\n")
|
||||
"\n"))))
|
||||
|
||||
;; Find out whether Octave has built-in variables.
|
||||
(inferior-octave-send-list-and-digest
|
||||
(list "exist \"LOADPATH\"\n"))
|
||||
(setq inferior-octave-has-built-in-variables
|
||||
(string-match "101$" (car inferior-octave-output-list)))
|
||||
|
||||
;; An empty secondary prompt, as e.g. obtained by '--braindead',
|
||||
;; means trouble.
|
||||
(inferior-octave-send-list-and-digest (list "PS2\n"))
|
||||
(if (string-match "\\(PS2\\|ans\\) = *$" (car inferior-octave-output-list))
|
||||
(inferior-octave-send-list-and-digest
|
||||
(list (if inferior-octave-has-built-in-variables
|
||||
"PS2 = \"> \"\n"
|
||||
"PS2 (\"> \");\n"))))
|
||||
(inferior-octave-send-list-and-digest (list "PS2 (\"> \");\n")))
|
||||
|
||||
;; O.k., now we are ready for the Inferior Octave startup commands.
|
||||
(let* (commands
|
||||
|
@ -840,9 +710,7 @@ startup file, `~/.emacs-octave'."
|
|||
(list "more off;\n"
|
||||
(if (not (string-equal
|
||||
inferior-octave-output-string ">> "))
|
||||
(if inferior-octave-has-built-in-variables
|
||||
"PS1=\"\\\\s> \";\n"
|
||||
"PS1 (\"\\\\s> \");\n"))
|
||||
"PS1 (\"\\\\s> \");\n")
|
||||
(if (file-exists-p file)
|
||||
(format "source (\"%s\");\n" file))))
|
||||
(inferior-octave-send-list-and-digest commands))
|
||||
|
@ -853,28 +721,20 @@ startup file, `~/.emacs-octave'."
|
|||
'identity inferior-octave-output-list "\n")
|
||||
"\n"))
|
||||
inferior-octave-output-string))
|
||||
;; Next, we check whether Octave supports `completion_matches' ...
|
||||
(inferior-octave-send-list-and-digest
|
||||
(list "exist \"completion_matches\"\n"))
|
||||
(setq inferior-octave-complete-impossible
|
||||
(not (string-match "5$" (car inferior-octave-output-list))))
|
||||
|
||||
;; And finally, everything is back to normal.
|
||||
(set-process-filter proc 'inferior-octave-output-filter)
|
||||
(run-hooks 'inferior-octave-startup-hook)
|
||||
(run-hooks 'inferior-octave-startup-hook)
|
||||
;; Just in case, to be sure a cd in the startup file
|
||||
;; won't have detrimental effects.
|
||||
(inferior-octave-resync-dirs)))
|
||||
|
||||
(defun inferior-octave-completion-table ()
|
||||
(unless inferior-octave-complete-impossible
|
||||
(completion-table-dynamic
|
||||
(lambda (command)
|
||||
(inferior-octave-send-list-and-digest
|
||||
(list (concat "completion_matches (\"" command "\");\n")))
|
||||
(sort (delete-dups inferior-octave-output-list)
|
||||
'string-lessp)))))
|
||||
(completion-table-dynamic
|
||||
(lambda (command)
|
||||
(inferior-octave-send-list-and-digest
|
||||
(list (concat "completion_matches (\"" command "\");\n")))
|
||||
(sort (delete-dups inferior-octave-output-list)
|
||||
'string-lessp))))
|
||||
|
||||
(defun inferior-octave-completion-at-point ()
|
||||
"Return the data to complete the Octave symbol at point."
|
||||
|
@ -883,13 +743,8 @@ startup file, `~/.emacs-octave'."
|
|||
(save-excursion
|
||||
(skip-syntax-backward "w_" (comint-line-beginning-position))
|
||||
(point))))
|
||||
(cond ((eq start end) nil)
|
||||
(inferior-octave-complete-impossible
|
||||
(message (concat
|
||||
"Your Octave does not have `completion_matches'. "
|
||||
"Please upgrade to version 2.X."))
|
||||
nil)
|
||||
(t (list start end (inferior-octave-completion-table))))))
|
||||
(when (> end start)
|
||||
(list start end (inferior-octave-completion-table)))))
|
||||
|
||||
(define-obsolete-function-alias 'inferior-octave-complete
|
||||
'completion-at-point "24.1")
|
||||
|
@ -989,19 +844,17 @@ directory and makes this the current buffer's default directory."
|
|||
|
||||
;;; Miscellaneous useful functions
|
||||
|
||||
(defsubst octave-in-comment-p ()
|
||||
"Return t if point is inside an Octave comment."
|
||||
(defun octave-in-comment-p ()
|
||||
"Return non-nil if point is inside an Octave comment."
|
||||
(nth 4 (syntax-ppss)))
|
||||
|
||||
(defsubst octave-in-string-p ()
|
||||
"Return t if point is inside an Octave string."
|
||||
(defun octave-in-string-p ()
|
||||
"Return non-nil if point is inside an Octave string."
|
||||
(nth 3 (syntax-ppss)))
|
||||
|
||||
(defsubst octave-not-in-string-or-comment-p ()
|
||||
"Return t if point is not inside an Octave string or comment."
|
||||
(let ((pps (syntax-ppss)))
|
||||
(not (or (nth 3 pps) (nth 4 pps)))))
|
||||
|
||||
(defun octave-in-string-or-comment-p ()
|
||||
"Return non-nil if point is inside an Octave string or comment."
|
||||
(nth 8 (syntax-ppss)))
|
||||
|
||||
(defun octave-looking-at-kw (regexp)
|
||||
"Like `looking-at', but sets `case-fold-search' nil."
|
||||
|
@ -1016,6 +869,163 @@ directory and makes this the current buffer's default directory."
|
|||
nil
|
||||
(delete-horizontal-space)
|
||||
(insert (concat " " octave-continuation-string))))
|
||||
|
||||
(defun octave-function-file-p ()
|
||||
"Return non-nil if the first token is \"function\".
|
||||
The value is (START END NAME-START NAME-END) of the function."
|
||||
(save-excursion
|
||||
(goto-char (point-min))
|
||||
(when (equal (funcall smie-forward-token-function) "function")
|
||||
(forward-word -1)
|
||||
(let* ((start (point))
|
||||
(end (progn (forward-sexp 1) (point)))
|
||||
(name (when (progn
|
||||
(goto-char start)
|
||||
(re-search-forward octave-function-header-regexp
|
||||
end t))
|
||||
(list (match-beginning 3) (match-end 3)))))
|
||||
(cons start (cons end name))))))
|
||||
|
||||
;; Like forward-comment but stop at non-comment blank
|
||||
(defun octave-skip-comment-forward (limit)
|
||||
(let ((ppss (syntax-ppss)))
|
||||
(if (nth 4 ppss)
|
||||
(goto-char (nth 8 ppss))
|
||||
(goto-char (or (comment-search-forward limit t) (point)))))
|
||||
(while (and (< (point) limit) (looking-at-p "\\s<"))
|
||||
(forward-comment 1)))
|
||||
|
||||
;;; First non-copyright comment block
|
||||
(defun octave-function-file-comment ()
|
||||
"Beginning and end positions of the function file comment."
|
||||
(save-excursion
|
||||
(goto-char (point-min))
|
||||
;; Copyright block: octave/libinterp/parse-tree/lex.ll around line 1634
|
||||
(while (save-excursion
|
||||
(when (comment-search-forward (point-max) t)
|
||||
(when (eq (char-after) ?\{) ; case of block comment
|
||||
(forward-char 1))
|
||||
(skip-syntax-forward "-")
|
||||
(let ((case-fold-search t))
|
||||
(looking-at-p "\\(?:copyright\\|author\\)\\_>"))))
|
||||
(octave-skip-comment-forward (point-max)))
|
||||
(let ((beg (comment-search-forward (point-max) t)))
|
||||
(when beg
|
||||
(goto-char beg)
|
||||
(octave-skip-comment-forward (point-max))
|
||||
(list beg (point))))))
|
||||
|
||||
(defun octave-sync-function-file-names ()
|
||||
"Ensure function name agree with function file name.
|
||||
See Info node `(octave)Function Files'."
|
||||
(interactive)
|
||||
(when buffer-file-name
|
||||
(pcase-let ((`(,start ,_end ,name-start ,name-end)
|
||||
(octave-function-file-p)))
|
||||
(when (and start name-start)
|
||||
(let* ((func (buffer-substring name-start name-end))
|
||||
(file (file-name-sans-extension
|
||||
(file-name-nondirectory buffer-file-name)))
|
||||
(help-form (format "\
|
||||
a: Use function name `%s'
|
||||
b: Use file name `%s'
|
||||
q: Don't fix\n" func file))
|
||||
(c (unless (equal file func)
|
||||
(save-window-excursion
|
||||
(help-form-show)
|
||||
(read-char-choice
|
||||
"Which name to use? (a/b/q) " '(?a ?b ?q))))))
|
||||
(pcase c
|
||||
(`?a (let ((newname (expand-file-name
|
||||
(concat func (file-name-extension
|
||||
buffer-file-name t)))))
|
||||
(when (or (not (file-exists-p newname))
|
||||
(yes-or-no-p
|
||||
(format "Target file %s exists; proceed? " newname)))
|
||||
(when (file-exists-p buffer-file-name)
|
||||
(rename-file buffer-file-name newname t))
|
||||
(set-visited-file-name newname))))
|
||||
(`?b (save-excursion
|
||||
(goto-char name-start)
|
||||
(delete-region name-start name-end)
|
||||
(insert file)))))))))
|
||||
|
||||
(defun octave-update-function-file-comment (beg end)
|
||||
"Query replace function names in function file comment."
|
||||
(interactive
|
||||
(progn
|
||||
(barf-if-buffer-read-only)
|
||||
(if (use-region-p)
|
||||
(list (region-beginning) (region-end))
|
||||
(or (octave-function-file-comment)
|
||||
(error "No function file comment found")))))
|
||||
(save-excursion
|
||||
(let* ((bounds (or (octave-function-file-p)
|
||||
(error "Not in a function file buffer")))
|
||||
(func (if (cddr bounds)
|
||||
(apply #'buffer-substring (cddr bounds))
|
||||
(error "Function name not found")))
|
||||
(old-func (progn
|
||||
(goto-char beg)
|
||||
(when (re-search-forward
|
||||
"[=}]\\s-*\\(\\(?:\\sw\\|\\s_\\)+\\)\\_>"
|
||||
(min (line-end-position 4) end)
|
||||
t)
|
||||
(match-string 1))))
|
||||
(old-func (read-string (format (if old-func
|
||||
"Name to replace (default %s): "
|
||||
"Name to replace: ")
|
||||
old-func)
|
||||
nil nil old-func)))
|
||||
(if (and func old-func (not (equal func old-func)))
|
||||
(perform-replace old-func func 'query
|
||||
nil 'delimited nil nil beg end)
|
||||
(message "Function names match")))))
|
||||
|
||||
;; Adapted from texinfo-font-lock-keywords
|
||||
(defvar octave-texinfo-font-lock-keywords
|
||||
`(("@\\([a-zA-Z]+\\|[^ \t\n]\\)" 1 font-lock-keyword-face prepend) ;commands
|
||||
("^\\*\\([^\n:]*\\)" 1 font-lock-function-name-face prepend) ;menu items
|
||||
("@\\(emph\\|i\\|sc\\){\\([^}]+\\)" 2 'italic prepend)
|
||||
("@\\(strong\\|b\\){\\([^}]+\\)" 2 'bold prepend)
|
||||
("@\\(kbd\\|key\\|url\\|uref\\){\\([^}]+\\)"
|
||||
2 font-lock-string-face prepend)
|
||||
("@\\(file\\|email\\){\\([^}]+\\)" 2 font-lock-string-face prepend)
|
||||
("@\\(samp\\|code\\|var\\|math\\|env\\|command\\|option\\){\\([^}]+\\)"
|
||||
2 font-lock-variable-name-face prepend)
|
||||
("@\\(cite\\|x?ref\\|pxref\\|dfn\\|inforef\\){\\([^}]+\\)"
|
||||
2 font-lock-constant-face prepend)
|
||||
("@\\(anchor\\){\\([^}]+\\)" 2 font-lock-type-face prepend)
|
||||
("@\\(dmn\\|acronym\\|value\\){\\([^}]+\\)"
|
||||
2 font-lock-builtin-face prepend)
|
||||
("@\\(end\\|itemx?\\) +\\(.+\\)" 2 font-lock-keyword-face prepend))
|
||||
"Additional keywords to highlight in texinfo comment block.")
|
||||
|
||||
(defface octave-function-comment-block
|
||||
'((t (:inherit font-lock-doc-face)))
|
||||
"Face used to highlight function comment block."
|
||||
:group 'octave)
|
||||
|
||||
(defun octave-font-lock-texinfo-comment ()
|
||||
(font-lock-add-keywords
|
||||
nil
|
||||
'(((lambda (limit)
|
||||
(while (and (search-forward "-*- texinfo -*-" limit t)
|
||||
(octave-in-comment-p))
|
||||
(let ((beg (nth 8 (syntax-ppss)))
|
||||
(end (progn
|
||||
(octave-skip-comment-forward (point-max))
|
||||
(point))))
|
||||
(put-text-property beg end 'font-lock-multiline t)
|
||||
(font-lock-prepend-text-property
|
||||
beg end 'face 'octave-function-comment-block)
|
||||
(dolist (kw octave-texinfo-font-lock-keywords)
|
||||
(goto-char beg)
|
||||
(while (re-search-forward (car kw) end 'move)
|
||||
(font-lock-apply-highlight (cdr kw))))))
|
||||
nil)))
|
||||
'append))
|
||||
|
||||
|
||||
;;; Indentation
|
||||
|
||||
|
@ -1149,8 +1159,8 @@ Returns t unless search stops at the beginning or end of the buffer."
|
|||
(while (and (/= arg 0)
|
||||
(setq found
|
||||
(re-search-backward "\\_<function\\_>" inc)))
|
||||
(if (octave-not-in-string-or-comment-p)
|
||||
(setq arg (- arg inc))))
|
||||
(unless (octave-in-string-or-comment-p)
|
||||
(setq arg (- arg inc))))
|
||||
(if found
|
||||
(progn
|
||||
(and (< inc 0) (goto-char (match-beginning 0)))
|
||||
|
@ -1303,34 +1313,17 @@ otherwise."
|
|||
(process-live-p inferior-octave-process)
|
||||
(inferior-octave-completion-table))
|
||||
(append octave-reserved-words
|
||||
octave-text-functions
|
||||
octave-variables)))))
|
||||
octave-text-functions)))))
|
||||
|
||||
(define-obsolete-function-alias 'octave-complete-symbol
|
||||
'completion-at-point "24.1")
|
||||
|
||||
;;; Electric characters && friends
|
||||
|
||||
(defun octave-abbrev-start ()
|
||||
"Start entering an Octave abbreviation.
|
||||
If Abbrev mode is turned on, typing ` (grave accent) followed by ? or
|
||||
\\[help-command] lists all Octave abbrevs. Any other key combination is
|
||||
executed normally.
|
||||
Note that all Octave mode abbrevs start with a grave accent."
|
||||
(interactive)
|
||||
(self-insert-command 1)
|
||||
(when abbrev-mode
|
||||
(set-temporary-overlay-map
|
||||
(let ((map (make-sparse-keymap)))
|
||||
(define-key map [??] 'list-abbrevs)
|
||||
(define-key map (vector help-char) 'list-abbrevs)
|
||||
map))))
|
||||
|
||||
(define-skeleton octave-insert-defun
|
||||
"Insert an Octave function skeleton.
|
||||
Prompt for the function's name, arguments and return values (to be
|
||||
entered without parens)."
|
||||
(let* ((defname (substring (buffer-name) 0 -2))
|
||||
(let* ((defname (file-name-sans-extension (buffer-name)))
|
||||
(name (read-string (format "Function name (default %s): " defname)
|
||||
nil nil defname))
|
||||
(args (read-string "Arguments: "))
|
||||
|
@ -1342,10 +1335,11 @@ entered without parens)."
|
|||
(t (concat vals " = ")))
|
||||
name
|
||||
args))
|
||||
\n "function " > str \n \n
|
||||
octave-block-comment-start "usage: " str \n
|
||||
octave-block-comment-start \n octave-block-comment-start
|
||||
\n _ \n
|
||||
\n octave-block-comment-start "usage: " str \n
|
||||
octave-block-comment-start '(delete-horizontal-space) \n
|
||||
octave-block-comment-start '(delete-horizontal-space) \n
|
||||
"function " > str \n
|
||||
_ \n
|
||||
"endfunction" > \n)
|
||||
|
||||
;;; Communication with the inferior Octave process
|
||||
|
@ -1450,26 +1444,7 @@ code line."
|
|||
"\n")))
|
||||
(mapconcat 'identity inferior-octave-output-list "\n")))
|
||||
(terpri)))
|
||||
|
||||
;;; Bug reporting
|
||||
(defun octave-submit-bug-report ()
|
||||
"Submit a bug report on the Emacs Octave package via mail."
|
||||
(interactive)
|
||||
(require 'reporter)
|
||||
(and
|
||||
(y-or-n-p "Do you want to submit a bug report? ")
|
||||
(reporter-submit-bug-report
|
||||
octave-maintainer-address
|
||||
(concat "Emacs version " emacs-version)
|
||||
(list
|
||||
'octave-blink-matching-block
|
||||
'octave-block-offset
|
||||
'octave-comment-char
|
||||
'octave-continuation-offset
|
||||
'octave-continuation-string
|
||||
'octave-send-echo-input
|
||||
'octave-send-line-auto-forward
|
||||
'octave-send-show-buffer))))
|
||||
|
||||
|
||||
(provide 'octave)
|
||||
;;; octave.el ends here
|
||||
|
|
|
@ -2200,11 +2200,11 @@ by doing (clear-string STRING)."
|
|||
;; And of course, don't keep the sensitive data around.
|
||||
(erase-buffer))))))))
|
||||
|
||||
;; This should be used by `call-interactively' for `n' specs.
|
||||
(defun read-number (prompt &optional default)
|
||||
"Read a numeric value in the minibuffer, prompting with PROMPT.
|
||||
DEFAULT specifies a default value to return if the user just types RET.
|
||||
The value of DEFAULT is inserted into PROMPT."
|
||||
The value of DEFAULT is inserted into PROMPT.
|
||||
This function is used by the `interactive' code letter `n'."
|
||||
(let ((n nil)
|
||||
(default1 (if (consp default) (car default) default)))
|
||||
(when default1
|
||||
|
@ -2225,7 +2225,7 @@ The value of DEFAULT is inserted into PROMPT."
|
|||
(condition-case nil
|
||||
(setq n (cond
|
||||
((zerop (length str)) default1)
|
||||
((stringp str) (string-to-number str))))
|
||||
((stringp str) (read str))))
|
||||
(error nil)))
|
||||
(unless (numberp n)
|
||||
(message "Please enter a number.")
|
||||
|
|
|
@ -901,6 +901,7 @@ and the functions `TeX-current-macro' and
|
|||
`LaTeX-current-environment' are bound. Also note that this
|
||||
feature might slow down the reftex parsing process for large TeX
|
||||
files."
|
||||
:version "24.4"
|
||||
:group 'reftex-defining-label-environments
|
||||
:type '(repeat string))
|
||||
|
||||
|
|
|
@ -432,17 +432,20 @@ If you want to remember a region, supply a universal prefix to
|
|||
|
||||
(defcustom remember-data-directory "~/remember"
|
||||
"The directory in which to store remember data as files."
|
||||
:type 'file
|
||||
:type 'directory
|
||||
:version "24.4"
|
||||
:group 'remember)
|
||||
|
||||
(defcustom remember-directory-file-name-format "%Y-%m-%d_%T-%z"
|
||||
"Format string for the file name in which to store unprocessed data."
|
||||
:type 'file
|
||||
:type 'string
|
||||
:version "24.4"
|
||||
:group 'remember)
|
||||
|
||||
(defun remember-store-in-files ()
|
||||
"Store remember data in a file in `remember-data-directory'.
|
||||
The file is named after `remember-directory-file-name-format'."
|
||||
The file is named after `remember-directory-file-name-format' fed through
|
||||
`format-time-string'."
|
||||
(let ((name (format-time-string
|
||||
remember-directory-file-name-format (current-time)))
|
||||
(text (buffer-string)))
|
||||
|
|
|
@ -317,7 +317,9 @@ Otherwise, don't move point."
|
|||
result)
|
||||
(save-excursion
|
||||
(when pos (goto-char pos))
|
||||
(forward-line 1)
|
||||
(forward-line 0)
|
||||
;; Treat "---" separator lines as part of the following revision.
|
||||
(forward-line (if (looking-at "-\\{20,\\}$") 2 1))
|
||||
(while looping
|
||||
(setq pos (re-search-backward log-view-message-re nil 'move)
|
||||
looping (and pos (log-view-inside-comment-p (point)))))
|
||||
|
|
|
@ -21,13 +21,21 @@ AC_DEFUN([gl_EXTERN_INLINE],
|
|||
Suppress extern inline with HP-UX cc, as it appears to be broken; see
|
||||
<http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>.
|
||||
|
||||
Suppress the use of extern inline on Apple's platforms,
|
||||
as Libc-825.25 (2012-09-19) is incompatible with it; see
|
||||
Suppress extern inline with Sun C in standards-conformance mode, as it
|
||||
mishandles inline functions that call each other. E.g., for 'inline void f
|
||||
(void) { } inline void g (void) { f (); }', c99 incorrectly complains
|
||||
'reference to static identifier "f" in extern inline function'.
|
||||
This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16.
|
||||
|
||||
Suppress the use of extern inline on Apple's platforms, as Libc at least
|
||||
through Libc-825.26 (2013-04-09) is incompatible with it; see, e.g.,
|
||||
<http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
|
||||
Perhaps Apple will fix this some day. */
|
||||
#if ((__GNUC__ \
|
||||
? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
|
||||
: 199901L <= __STDC_VERSION__ && !defined __HP_cc) \
|
||||
: (199901L <= __STDC_VERSION__ \
|
||||
&& !defined __HP_cc \
|
||||
&& !(defined __SUNPRO_C && __STDC__))) \
|
||||
&& !defined __APPLE__)
|
||||
# define _GL_INLINE inline
|
||||
# define _GL_EXTERN_INLINE extern inline
|
||||
|
|
|
@ -1,3 +1,44 @@
|
|||
2013-05-01 David Reitter <david.reitter@gmail.com>
|
||||
|
||||
* nsfns.m (ns_tooltip): Initialize.
|
||||
|
||||
2013-04-28 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* coding.c (decode_coding_gap): Don't remove the character before
|
||||
a newline unless it's a CR character. (Bug#14287)
|
||||
|
||||
2013-04-28 Dan Nicolaescu <dann@gnu.org>
|
||||
|
||||
* dispextern.h (struct face): Move enum face_underline_type
|
||||
earlier so that bitfields can be in the same word.
|
||||
|
||||
2013-04-28 Jan Djärv <jan.h.d@swipnet.se>
|
||||
|
||||
* nsfns.m (handlePanelKeys): New function.
|
||||
(EmacsOpenPanel:performKeyEquivalent:)
|
||||
(EmacsSavePanel:performKeyEquivalent:): Call handlePanelKeys to handle
|
||||
arrows/function/control and copy/paste keys (Bug#14296).
|
||||
|
||||
2013-04-27 Juri Linkov <juri@jurta.org>
|
||||
|
||||
* callint.c (Fcall_interactively): Call `Qread_number' for
|
||||
interactive code letter `n' instead of using duplicate code.
|
||||
(Bug#14254)
|
||||
|
||||
2013-04-27 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
* systime.h (make_timeval): Declare as 'const'.
|
||||
|
||||
2013-04-27 Kenichi Handa <handa@gnu.org>
|
||||
|
||||
* font.c (font_open_entity): Always open a font of manageable
|
||||
size.
|
||||
|
||||
2013-04-26 Paul Eggert <eggert@cs.ucla.edu>
|
||||
Port better to AIX (Bug#14258).
|
||||
* lisp.h (ENUM_BF) [__IBMC__]: Make it 'unsigned int' here, too,
|
||||
to pacify AIX xlc.
|
||||
|
||||
2013-04-24 Kenichi Handa <handa@gnu.org>
|
||||
|
||||
* coding.c (decode_coding_iso_2022): When an invalid escape
|
||||
|
|
|
@ -34,6 +34,7 @@ static Lisp_Object Qcommand_debug_status;
|
|||
static Lisp_Object Qenable_recursive_minibuffers;
|
||||
|
||||
static Lisp_Object Qhandle_shift_selection;
|
||||
static Lisp_Object Qread_number;
|
||||
|
||||
Lisp_Object Qmouse_leave_buffer_hook;
|
||||
|
||||
|
@ -683,29 +684,7 @@ invoke it. If KEYS is omitted or nil, the return value of
|
|||
if (!NILP (prefix_arg))
|
||||
goto have_prefix_arg;
|
||||
case 'n': /* Read number from minibuffer. */
|
||||
{
|
||||
bool first = 1;
|
||||
do
|
||||
{
|
||||
Lisp_Object str;
|
||||
if (! first)
|
||||
{
|
||||
message1 ("Please enter a number.");
|
||||
sit_for (make_number (1), 0, 0);
|
||||
}
|
||||
first = 0;
|
||||
|
||||
str = Fread_from_minibuffer (callint_message,
|
||||
Qnil, Qnil, Qnil, Qnil, Qnil,
|
||||
Qnil);
|
||||
if (! STRINGP (str) || SCHARS (str) == 0)
|
||||
args[i] = Qnil;
|
||||
else
|
||||
args[i] = Fread (str);
|
||||
}
|
||||
while (! NUMBERP (args[i]));
|
||||
}
|
||||
visargs[i] = args[i];
|
||||
args[i] = call1 (Qread_number, callint_message);
|
||||
break;
|
||||
|
||||
case 'P': /* Prefix arg in raw form. Does no I/O. */
|
||||
|
@ -903,6 +882,7 @@ syms_of_callint (void)
|
|||
DEFSYM (Qminus, "-");
|
||||
DEFSYM (Qplus, "+");
|
||||
DEFSYM (Qhandle_shift_selection, "handle-shift-selection");
|
||||
DEFSYM (Qread_number, "read-number");
|
||||
DEFSYM (Qcall_interactively, "call-interactively");
|
||||
DEFSYM (Qcommand_debug_status, "command-debug-status");
|
||||
DEFSYM (Qenable_recursive_minibuffers, "enable-recursive-minibuffers");
|
||||
|
|
|
@ -7774,7 +7774,7 @@ decode_coding_gap (struct coding_system *coding,
|
|||
while (src_beg < src)
|
||||
{
|
||||
*--dst = *--src;
|
||||
if (*src == '\n')
|
||||
if (*src == '\n' && src > src_beg && src[-1] == '\r')
|
||||
src--;
|
||||
}
|
||||
diff = dst - src;
|
||||
|
|
|
@ -1591,13 +1591,13 @@ struct face
|
|||
shadow colors derived from the background color of the face. */
|
||||
enum face_box_type box;
|
||||
|
||||
/* Style of underlining. */
|
||||
enum face_underline_type underline_type;
|
||||
|
||||
/* If `box' above specifies a 3D type, 1 means use box_color for
|
||||
drawing shadows. */
|
||||
unsigned use_box_color_for_shadows_p : 1;
|
||||
|
||||
/* Style of underlining. */
|
||||
enum face_underline_type underline_type;
|
||||
|
||||
/* Non-zero if text in this face should be underlined, overlined,
|
||||
strike-through or have a box drawn around it. */
|
||||
unsigned underline_p : 1;
|
||||
|
|
21
src/font.c
21
src/font.c
|
@ -2819,7 +2819,7 @@ font_open_entity (FRAME_PTR f, Lisp_Object entity, int pixel_size)
|
|||
struct font_driver_list *driver_list;
|
||||
Lisp_Object objlist, size, val, font_object;
|
||||
struct font *font;
|
||||
int min_width, height;
|
||||
int min_width, height, psize;
|
||||
|
||||
eassert (FONT_ENTITY_P (entity));
|
||||
size = AREF (entity, FONT_SIZE_INDEX);
|
||||
|
@ -2846,12 +2846,19 @@ font_open_entity (FRAME_PTR f, Lisp_Object entity, int pixel_size)
|
|||
}
|
||||
}
|
||||
|
||||
font_object = driver_list->driver->open (f, entity, pixel_size);
|
||||
if (!NILP (font_object))
|
||||
ASET (font_object, FONT_SIZE_INDEX, make_number (pixel_size));
|
||||
/* We always open a font of manageable size; i.e non-zero average
|
||||
width and height. */
|
||||
for (psize = pixel_size; ; psize++)
|
||||
{
|
||||
font_object = driver_list->driver->open (f, entity, psize);
|
||||
if (NILP (font_object))
|
||||
return Qnil;
|
||||
font = XFONT_OBJECT (font_object);
|
||||
if (font->average_width > 0 && font->height > 0)
|
||||
break;
|
||||
}
|
||||
ASET (font_object, FONT_SIZE_INDEX, make_number (pixel_size));
|
||||
FONT_ADD_LOG ("open", entity, font_object);
|
||||
if (NILP (font_object))
|
||||
return Qnil;
|
||||
ASET (entity, FONT_OBJLIST_INDEX,
|
||||
Fcons (font_object, AREF (entity, FONT_OBJLIST_INDEX)));
|
||||
|
||||
|
@ -3118,6 +3125,8 @@ font_find_for_lface (FRAME_PTR f, Lisp_Object *attrs, Lisp_Object spec, int c)
|
|||
double pt = XINT (attrs[LFACE_HEIGHT_INDEX]);
|
||||
|
||||
pixel_size = POINT_TO_PIXEL (pt / 10, FRAME_RES_Y (f));
|
||||
if (pixel_size < 1)
|
||||
pixel_size = 1;
|
||||
}
|
||||
ASET (work, FONT_SIZE_INDEX, Qnil);
|
||||
foundry[0] = AREF (work, FONT_FOUNDRY_INDEX);
|
||||
|
|
|
@ -231,9 +231,9 @@ enum enum_USE_LSB_TAG { USE_LSB_TAG = 0 };
|
|||
#define case_Lisp_Int case Lisp_Int0: case Lisp_Int1
|
||||
#define LISP_INT_TAG_P(x) (((x) & ~Lisp_Int1) == 0)
|
||||
|
||||
/* Stolen from GDB. The only known compiler that doesn't support
|
||||
enums in bitfields is MSVC. */
|
||||
#ifdef _MSC_VER
|
||||
/* Idea stolen from GDB. MSVC doesn't support enums in bitfields,
|
||||
and xlc complains vociferously about them. */
|
||||
#if defined _MSC_VER || defined __IBMC__
|
||||
#define ENUM_BF(TYPE) unsigned int
|
||||
#else
|
||||
#define ENUM_BF(TYPE) enum TYPE
|
||||
|
|
90
src/nsfns.m
90
src/nsfns.m
|
@ -88,7 +88,7 @@ Updated by Christian Limpach (chris@nice.ch)
|
|||
/* hack for OS X file panels */
|
||||
char panelOK = 0;
|
||||
|
||||
EmacsTooltip *ns_tooltip;
|
||||
EmacsTooltip *ns_tooltip = nil;
|
||||
|
||||
/* Need forward declaration here to preserve organizational integrity of file */
|
||||
Lisp_Object Fx_open_connection (Lisp_Object, Lisp_Object, Lisp_Object);
|
||||
|
@ -1477,7 +1477,7 @@ Turn the input menu (an NSMenu) into a lisp list for tracking on lisp side
|
|||
[panel setCanChooseFiles: YES];
|
||||
}
|
||||
|
||||
block_input ();
|
||||
block_input ();
|
||||
#if defined (NS_IMPL_COCOA) && \
|
||||
MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6
|
||||
if (! NILP (mustmatch) || ! NILP (dir_only_p))
|
||||
|
@ -2544,6 +2544,75 @@ DY added (default is -10).
|
|||
|
||||
========================================================================== */
|
||||
|
||||
/*
|
||||
Handle arrow/function/control keys and copy/paste/cut in file dialogs.
|
||||
Return YES if handeled, NO if not.
|
||||
*/
|
||||
static BOOL
|
||||
handlePanelKeys (NSSavePanel *panel, NSEvent *theEvent)
|
||||
{
|
||||
NSString *s;
|
||||
int i;
|
||||
BOOL ret = NO;
|
||||
|
||||
if ([theEvent type] != NSKeyDown) return NO;
|
||||
s = [theEvent characters];
|
||||
|
||||
for (i = 0; i < [s length]; ++i)
|
||||
{
|
||||
int ch = (int) [s characterAtIndex: i];
|
||||
switch (ch)
|
||||
{
|
||||
case NSHomeFunctionKey:
|
||||
case NSDownArrowFunctionKey:
|
||||
case NSUpArrowFunctionKey:
|
||||
case NSLeftArrowFunctionKey:
|
||||
case NSRightArrowFunctionKey:
|
||||
case NSPageUpFunctionKey:
|
||||
case NSPageDownFunctionKey:
|
||||
case NSEndFunctionKey:
|
||||
[panel sendEvent: theEvent];
|
||||
ret = YES;
|
||||
break;
|
||||
/* As we don't have the standard key commands for
|
||||
copy/paste/cut/select-all in our edit menu, we must handle
|
||||
them here. TODO: handle Emacs key bindings for copy/cut/select-all
|
||||
here, paste works, because we have that in our Edit menu.
|
||||
I.e. refactor out code in nsterm.m, keyDown: to figure out the
|
||||
correct modifier.
|
||||
*/
|
||||
case 'x': // Cut
|
||||
case 'c': // Copy
|
||||
case 'v': // Paste
|
||||
case 'a': // Select all
|
||||
if ([theEvent modifierFlags] & NSCommandKeyMask)
|
||||
{
|
||||
[NSApp sendAction:
|
||||
(ch == 'x'
|
||||
? @selector(cut:)
|
||||
: (ch == 'c'
|
||||
? @selector(copy:)
|
||||
: (ch == 'v'
|
||||
? @selector(paste:)
|
||||
: @selector(selectAll:))))
|
||||
to:nil from:panel];
|
||||
ret = YES;
|
||||
}
|
||||
default:
|
||||
// Send all control keys, as the text field supports C-a, C-f, C-e
|
||||
// C-b and more.
|
||||
if ([theEvent modifierFlags] & NSControlKeyMask)
|
||||
{
|
||||
[panel sendEvent: theEvent];
|
||||
ret = YES;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@implementation EmacsSavePanel
|
||||
#ifdef NS_IMPL_COCOA
|
||||
|
@ -2572,6 +2641,14 @@ - (NSString *) getDirectory
|
|||
{
|
||||
return ns_directory_from_panel (self);
|
||||
}
|
||||
|
||||
- (BOOL)performKeyEquivalent:(NSEvent *)theEvent
|
||||
{
|
||||
BOOL ret = handlePanelKeys (self, theEvent);
|
||||
if (! ret)
|
||||
ret = [super performKeyEquivalent:theEvent];
|
||||
return ret;
|
||||
}
|
||||
@end
|
||||
|
||||
|
||||
|
@ -2609,7 +2686,14 @@ - (NSString *) getDirectory
|
|||
{
|
||||
return ns_directory_from_panel (self);
|
||||
}
|
||||
|
||||
- (BOOL)performKeyEquivalent:(NSEvent *)theEvent
|
||||
{
|
||||
// NSOpenPanel inherits NSSavePanel, so passing self is OK.
|
||||
BOOL ret = handlePanelKeys (self, theEvent);
|
||||
if (! ret)
|
||||
ret = [super performKeyEquivalent:theEvent];
|
||||
return ret;
|
||||
}
|
||||
@end
|
||||
|
||||
|
||||
|
|
|
@ -143,7 +143,7 @@ EMACS_TIME_TO_DOUBLE (EMACS_TIME t)
|
|||
|
||||
/* defined in sysdep.c */
|
||||
extern int set_file_times (int, const char *, EMACS_TIME, EMACS_TIME);
|
||||
extern struct timeval make_timeval (EMACS_TIME);
|
||||
extern struct timeval make_timeval (EMACS_TIME) ATTRIBUTE_CONST;
|
||||
|
||||
/* defined in keyboard.c */
|
||||
extern void set_waiting_for_input (EMACS_TIME *);
|
||||
|
|
Loading…
Add table
Reference in a new issue