* lisp/calc/calc-alg.el (math-beforep):
* lisp/progmodes/cc-guess.el (c-guess-view-reorder-offsets-alist-in-style):
Simplify because string-lessp can accept symbols as args.
* emacs-lisp/package.el (package--check-signature): If
package-check-signature is allow-unsigned, don't signal error when
we can't verify signature because of missing public key
(bug#17625).
* lisp/ps-samp.el (ps-rmail-mode-hook, ps-gnus-article-prepare-hook)
(ps-vm-mode-hook, ps-gnus-summary-setup, ps-info-mode-hook):
Use [print] key. Only set local values.
(ps-article-subject, ps-article-author): Use standard functions
like mail-fetch-field.
(ps-info-file, ps-info-node): Use match-string.
(ps-jts-ps-setup, ps-jack-setup): Remove, merging into...
(ps-samp-ps-setup): ... new function.
* lib-src/Makefile.in (blessmail): Depend on lisp/mail/blessmail.el.
Use $<, $@.
(regex.o, etags${EXEEXT}, ctags${EXEEXT}, ebrowse${EXEEXT})
(profile${EXEEXT}, make-docfile${EXEEXT}, movemail${EXEEXT})
(pop.o, emacsclient${EXEEXT}, emacsclientw${EXEEXT}, ntlib.o)
(hexl${EXEEXT}, update-game-score${EXEEXT}, emacsclient.res): Use $<.
(ctags${EXEEXT}): Add $srcdir to dependency rather than using VPATH.
on the completed work posted on http://www.emacswiki.org/emacs/HideIfDef.
- Supporting argumented macro expansion.
- Stringification, tokenization and concatenation of strings and tokens.
- Add functions to find defines and parse argumented macros into a macro
tree containing macro name, formal parameters and macro body.
- On macro evaluation, macros will be applied with actual parameters and
then got expanded recursively.
- Merge main trunk changes
* lisp/progmodes/hideif.el (hif-string-to-number): Merge changes from
main trunk.
(hif-simple-token-only, hif-tokenize): Commentted in detail mainly for
performance enhancements.
(hif-parse-if-exp): Rename to `hif-parse-exp'. Enhanced for macro
expansion.
(hif-factor, hif-string-concatenation, intern-safe): Support string
concatenation and argumented macro expansion.
(hif-if-valid-identifier-p, hif-define-operator, hif-flatten)
(hif-expand-token-list, hif-get-argument-list, hif-define-macro)
(hif-delimit, hif-macro-supply-arguments, hif-invoke, hif-canonicalize)
(hif-canonicalize-tokens, hif-looking-at-elif, hif-place-macro-invocation)
(hif-parse-macro-arglist): Mostly new functions for supporting argumented
macro expansion.
(hif-string-concatenation, hif-stringify, hif-token-concat)
(hif-token-stringification, hif-token-concatenation): Stringify and
concatentation.
(hif-find-next-relevant): Fix comments
(hif-ifdef-to-endif, hif-looking-at-elif, hif-hide-line): Bug fix for
some cases involving #elif.
(hif-find-define, hif-add-new-defines): New functions for automatically
scanning of defined symbols.
(hide-ifdef-guts): Fix for auto defined symbol scanning.
(hide-ifdef-undef): Fix behavior to match CPP.
on the completed work posted on http://www.emacswiki.org/emacs/HideIfDef.
- Supporting argumented macro expansion.
- Stringification, tokenization and concatenation of strings and tokens.
- Add functions to find defines and parse argumented macros into a macro
tree containing macro name, formal parameters and macro body.
- On macro evaluation, macros will be applied with actual parameters and
then got expanded recursively.
- Apply review changes.
* lisp/progmodes/hideif.el (hif-string-to-number): Fix return value bug.
(hif-simple-token-only, hif-tokenize): Commentted in detail mainly for
performance enhancements.
(hif-parse-if-exp): Rename to `hif-parse-exp'. Enhanced for macro
expansion.
(hif-factor, hif-string-concatenation, intern-safe): Support string
concatenation and argumented macro expansion.
(hif-if-valid-identifier-p, hif-define-operator, hif-flatten)
(hif-expand-token-list, hif-get-argument-list, hif-define-macro)
(hif-delimit, hif-macro-supply-arguments, hif-invoke, hif-canonicalize)
(hif-canonicalize-tokens, hif-looking-at-elif, hif-place-macro-invocation)
(hif-parse-macro-arglist): Mostly new functions for supporting argumented
macro expansion.
(hif-string-concatenation, hif-stringify, hif-token-concat)
(hif-token-stringification, hif-token-concatenation): Stringify and
concatentation.
(hif-find-next-relevant): Fix comments
(hif-ifdef-to-endif, hif-looking-at-elif, hif-hide-line): Bug fix for
some cases involving #elif.
(hif-find-define, hif-add-new-defines): New functions for automatically
scanning of defined symbols.
(hide-ifdef-guts): Fix for auto defined symbol scanning.
(hide-ifdef-undef): Fix behavior to match CPP.
(url-insert-file-contents): Condition on url-http-response-status
for the HTTP/S specific part.
* lisp/url/url-http.el (url-http-end-of-headers): Remove duplicate defvar.
Fixes: debbugs:17549
* indent.el (indent-accumulate-tab-stops): New function.
* textmodes/picture.el (picture-set-tab-stops):
* ruler-mode.el (ruler-mode-mouse-add-tab-stop)
(ruler-mode-ruler): Fix to work with nil tab-stop-list.
* progmodes/asm-mode.el (asm-calculate-indentation): Use
indent-next-tab-stop.
* lisp/Makefile.in ($(lisp)/progmodes/cc-defs.elc)
($(lisp)/progmodes/cc-fonts.elc, $(lisp)/progmodes/cc-langs.elc)
($(lisp)/progmodes/cc-vars.elc): Drop hand-written deps on non-cc files.
They are not relevant to the original issue (bug#1004),
and cause unnecessary recompilation (bug#2151).
(landmark--last-pos): New var.
(landmark--intangible-chars): New const.
(landmark--intangible): New function.
(landmark-mode, landmark-move): Use it.
(landmark-mode): Remove properties.
(landmark-plot-square, landmark-point-square, landmark-goto-xy)
(landmark-cross-qtuple):
Don't worry about `intangible' any more.
(landmark-click, landmark-point-y): Same; and don't assume point-min==1.
(landmark-init-display): Don't set `intangible' and `point-entered'.
(square): Remove. Inline it instead.
(landmark--distance): Rename from `distance'.
(landmark-calc-distance-of-robot-from): Rename from
calc-distance-of-robot-from.
(landmark-calc-smell-internal): Rename from calc-smell-internal.
* fns.c (validate_substring): Not static any more. Adjust to
use ptrdiff_t, not EMACS_INT, becase string and vector limits
can't exceed ptrdiff_t even if EMACS_INT is wider.
* lisp.h (validate_subarray): Add prototype.
* coding.c (Fundecodable_char_position):
* composite.c (Fcomposition_get_gstring, Fcompose_string_internal):
Use validate_subarray. Adjust comment to mention substring.
(todo-insert-item--basic): If user cancels item insertion to
another category before setting priority, show original category
whether it is in the same or a different file.
(todo-set-item-priority): After selecting category, instead of
moving point to top, which extends an active region, restore it.
* src/fns.c (validate_subarray): Add prototype.
(Fcompare_substring): Use validate_subarray to check ranges.
Adjust comment to mention that the semantics was changed. Also see
http://lists.gnu.org/archive/html/emacs-devel/2014-06/msg00447.html.
* lisp/files.el (dir-locals-find-file, file-relative-name):
* lisp/info.el (Info-complete-menu-item):
* lisp/minibuffer.el (completion-table-subvert): Prefer string-prefix-p
to compare-strings to avoid out-of-range errors.
* lisp/subr.el (string-prefix-p): Adjust to match strict range
checking in compare-strings.
* test/automated/fns-tests.el (fns-tests-compare-string): New test.
* admin/unidata/Makefile.in (${top_srcdir}/src/macuvs.h): Make and load .elc.
(.el.elc): Replace with pattern rule.
(%.elc): New.
(unidata.txt): Use $<.
(compile): Remove.
(${DSTDIR}/charprop.el): Use order-only prereqs rather than a sub-make.
(desktop-auto-save-disable): New functions.
(desktop-save-mode, desktop-auto-save-timeout): Use them.
(desktop-read): Disable the autosave before loading the desktop,
and enable afterwards.
Fixes: debbugs:17351
* lisp/progmodes/sh-script.el (sh-mode-syntax-table): Set syntax of ;|&.
(sh-smie--default-forward-token, sh-smie--default-backward-token):
New functions.
(sh-smie-sh-forward-token, sh-smie-sh-backward-token)
(sh-smie-rc-forward-token, sh-smie-rc-backward-token): Use them.
(sh-smie-sh-rules): Fix indentation of a pipe at BOL.
Fixes: debbugs:17842
* textmodes/reftex-parse.el (reftex-using-biblatex-p): Make search
for comment lines non-greedy and stopping at newlines to fix stack
overflows with large files.