From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Nix Newsgroups: gmane.emacs.bugs Subject: bug#12869: 24.3.50; 'semantic-change-function' and incremental parsing broken by 'define-obsolete-variable-alias' problems Date: Mon, 12 Nov 2012 14:22:17 +0000 Message-ID: <87lie652au.fsf@spindle.srvr.nix> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1352731646 14234 80.91.229.3 (12 Nov 2012 14:47:26 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 12 Nov 2012 14:47:26 +0000 (UTC) To: 12869@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Nov 12 15:47:36 2012 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1TXvIT-0004rt-Kq for geb-bug-gnu-emacs@m.gmane.org; Mon, 12 Nov 2012 15:47:33 +0100 Original-Received: from localhost ([::1]:38119 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TXuvU-0007uP-Bi for geb-bug-gnu-emacs@m.gmane.org; Mon, 12 Nov 2012 09:23:48 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:51424) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TXuvN-0007dB-8o for bug-gnu-emacs@gnu.org; Mon, 12 Nov 2012 09:23:44 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TXuvK-00040e-6X for bug-gnu-emacs@gnu.org; Mon, 12 Nov 2012 09:23:41 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:53108) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TXuvK-00040a-2V for bug-gnu-emacs@gnu.org; Mon, 12 Nov 2012 09:23:38 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1TXuvi-0002PE-6g for bug-gnu-emacs@gnu.org; Mon, 12 Nov 2012 09:24:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Nix Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 12 Nov 2012 14:24:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 12869 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.13527301859173 (code B ref -1); Mon, 12 Nov 2012 14:24:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 12 Nov 2012 14:23:05 +0000 Original-Received: from localhost ([127.0.0.1]:35126 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TXuul-0002Nt-Sp for submit@debbugs.gnu.org; Mon, 12 Nov 2012 09:23:04 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:43459) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TXuuh-0002NT-LG for submit@debbugs.gnu.org; Mon, 12 Nov 2012 09:23:02 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TXuuG-0003o6-5F for submit@debbugs.gnu.org; Mon, 12 Nov 2012 09:22:35 -0500 Original-Received: from lists.gnu.org ([208.118.235.17]:40888) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TXuuG-0003o0-1s for submit@debbugs.gnu.org; Mon, 12 Nov 2012 09:22:32 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:51109) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TXuuC-0004A4-Uq for bug-gnu-emacs@gnu.org; Mon, 12 Nov 2012 09:22:31 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TXuu9-0003n3-Sc for bug-gnu-emacs@gnu.org; Mon, 12 Nov 2012 09:22:28 -0500 Original-Received: from icebox.esperi.org.uk ([81.187.191.129]:39495 helo=mail.esperi.org.uk) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TXuu9-0003mR-Al for bug-gnu-emacs@gnu.org; Mon, 12 Nov 2012 09:22:25 -0500 Original-Received: from spindle.srvr.nix (nix@spindle.srvr.nix [192.168.14.15]) by mail.esperi.org.uk (8.14.5/8.14.5) with ESMTP id qACEMH9j006361 for ; Mon, 12 Nov 2012 14:22:17 GMT Emacs: a compelling argument for pencil and paper. User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) X-DCC-x.dcc-servers-Metrics: spindle 104; Body=1 Fuz1=1 Fuz2=1 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Spam-Score: -6.9 (------) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-Spam-Score: -6.9 (------) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:66794 Archived-At: This bug report will be sent to the Bug-GNU-Emacs mailing list and the GNU bug tracker at debbugs.gnu.org. Please check that the From: line contains a valid email address. After a delay of up to one day, you should receive an acknowledgment at that address. Please write in English if possible, as the Emacs maintainers usually do not have translators for other languages. Please describe exactly what actions triggered the bug, and the precise symptoms of the bug. If you can, give a recipe starting from `emacs -Q': semantic-change-function is so widely used by semantic that virtually any buffer changes in a semantic-managed buffer will rapidly lead to problems. Here, a simple return caused this backtrace: defvaralias(semantic-edits-new-change-hooks semantic-edits-new-change-functions nil) byte-code("... elided ..." [prop --dolist-tail-- defvaralias semantic-edits-new-change-hooks semantic-edits-new-change-functions nil (saved-value saved-variable-comment) put make-obsolete-variable "24.3"] 6) semantic-change-function(1356 1357 0) self-insert-command(1) newline() c-context-line-break() call-interactively(c-context-line-break nil nil) That byte-code (here elided to get rid of its various control characters) is quite mysterious: semantic-change-function never has anything to do with make-obsolete-variable. However, eval-buffering the entirety of lisp/cedet/semantic/edit.el yields the same failure on this line: (define-obsolete-variable-alias 'semantic-edits-new-change-hooks 'semantic-edits-new-change-functions "24.3") with this backtrace: Debugger entered--Lisp error: (error "Don't know how to make a localized variable an alias") defvaralias(semantic-edits-new-change-hooks semantic-edits-new-change-functions nil) (progn (defvaralias #1=(quote semantic-edits-new-change-hooks) #2=(quote semantic-edits-new-change-functions) nil) (dolist (prop (quote (saved-value saved-variable-comment))) (and (get #1# . #3=(prop)) (null (get #2# . #3#)) (put #2# prop (get #1# . #3#)))) (make-obsolete-variable #1# #2# "24.3")) (define-obsolete-variable-alias (quote semantic-edits-new-change-hooks) (quote semantic-edits-new-change-functions) "24.3") eval((define-obsolete-variable-alias (quote semantic-edits-new-change-hooks) (quote semantic-edits-new-change-functions) "24.3") nil) eval-last-sexp-1(nil) eval-last-sexp(nil) call-interactively(eval-last-sexp nil nil) This is pretty clearly a regression. This variable is not localized, and this error is itself erroneous. In GNU Emacs 24.3.50.2 (x86_64-unknown-linux-gnu, X toolkit, Xaw3d scroll bars) of 2012-11-12 on spindle Bzr revision: 110872 vincentb1@users.sourceforge.net-20121112055353-v0t5ytiafc4327c8 Windowing system distributor `The X.Org Foundation', version 11.0.11300000 System LSB Version: :core-4.1-amd64:core-4.1-noarch Configured using: `configure '--without-pop' '--without-kerberos' '--without-hesiod' '--without-mmdf' '--with-x-toolkit=lucid' '--with-wide-int' 'NO_FAST_MATH=t'' Important settings: value of $LC_COLLATE: C value of $LANG: en_GB.UTF-8 locale-coding-system: utf-8-unix default enable-multibyte-characters: t Major mode: C/lh Minor modes in effect: semantic-minor-modes-format: ((:eval (if (or semantic-highlight-edits-mode) S))) gtags-mode: t git-wip-mode: t persp-mode: t iswitchb-mode: t show-paren-mode: t semantic-mru-bookmark-mode: t global-semantic-mru-bookmark-mode: t global-semanticdb-minor-mode: t global-semantic-idle-scheduler-mode: t semantic-idle-local-symbol-highlight-mode: t global-semantic-idle-local-symbol-highlight-mode: t global-semantic-idle-summary-mode: t semantic-idle-summary-mode: t semantic-idle-scheduler-mode: t semantic-decoration-mode: t global-semantic-decoration-mode: t global-srecode-minor-mode: t srecode-minor-mode: t eldoc-mode: t global-auto-complete-mode: t auto-complete-mode: t global-cwarn-mode: t cwarn-mode: t semantic-highlight-func-mode: t global-semantic-highlight-func-mode: t semantic-stickyfunc-mode: t global-semantic-stickyfunc-mode: t semantic-show-unmatched-syntax-mode: t global-semantic-show-unmatched-syntax-mode: t semantic-mode: t compile-bookmarks-mode: t global-ede-mode: t ede-minor-mode: t type-break-mode-line-message-mode: t type-break-mode: t icomplete-mode: t recentf-mode: t mv-shell-mode: t shell-dirtrack-mode: t which-function-mode: t winner-mode: t desktop-save-mode: t display-time-mode: t tooltip-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t column-number-mode: t line-number-mode: t auto-fill-function: c-do-auto-fill abbrev-mode: t hs-minor-mode: t Recent input: C-h v C-h f M-x f o n t - l o c f o C-g M-x e v a l - b u f f C-x o q C-g q C-x o M-x q C-r d e f v a r a l i a s C-s C-s C-s C-a M-x C-x O C-r s e m a n t i c - e d i t o s - s s - n e w - c h a n g e - h o o k s C-s C-s C-s C-a C-a C-e C-x C-e M-x r e p o r t _ e m a - e m a Recent messages: Quit progn: Don't know how to make a localized variable an alias byte-code: End of buffer Back to top level. Entering debugger... Back to top level. Mark saved where search started Entering debugger... Mark saved where search started Auto-saving...done progn: Don't know how to make a localized variable an alias Load-path shadows: /home/nix/lisp/emacs/site-wide/site-start hides /usr/share/emacs/site-lisp/site-start /home/nix/lisp/emacs/site-wide/default hides /usr/share/emacs/site-lisp/default /home/nix/lisp/emacs/site-wide/scroll-in-place hides /usr/share/emacs/site-lisp/scroll-in-place /usr/share/emacs/site-lisp/emms/tq hides /usr/share/emacs/24.3.50/lisp/emacs-lisp/tq Features: (shadow mail-extr emacsbug debug semantic/symref/filter semantic/analyze/complete semantic/ia semantic/analyze/refs misearch multi-isearch semantic/tag-write ibuf-ext ibuffer semantic/db-typecache jka-compr asm-mode org-wl org-w3m org-vm org-rmail org-mhe org-mew org-irc org-jsinfo org-infojs org-html org-exp ob-exp org-exp-blocks org-agenda org-info org-gnus org-docview org-bibtex bibtex org-bbdb org ob-tangle ob-ref ob-lob ob-table org-footnote org-src ob-comint ob-keys org-pcomplete org-list org-faces org-entities noutline outline org-version ob-emacs-lisp ob org-compat org-macs ob-eval org-loaddefs find-func cal-menu calendar cal-loaddefs bison-mode flex-mode derived ede/project-am ede/autoconf-edit autoconf autoconf-mode ede/makefile-edit semantic/bovine/make semantic/bovine/make-by ede/linux ede/make make-mode pascal sh-script smie executable ede/dired generic ede/locate semantic/imenu semantic/sb semantic/tag-file semantic/db-file data-debug cedet-files semantic/bovine/c semantic/decorate/include hideif semantic/bovine/c-by semantic/lex-spp semantic/bovine/gcc semantic/dep semantic/bovine semantic/analyze semantic/sort semantic/scope semantic/analyze/fcn vc-git c-eldoc cc-langs site-default dot-emacs work-activation git-wip-mode vc vc-dispatcher perspective dot-emacs-emacs iswitchb xemacs-compat add-log misc init-music network-stream starttls tls emms-volume emms-volume-amixer emms-history emms-bookmarks emms-metaplaylist-mode emms-browser sort emms-playlist-sort emms-last-played emms-playing-time emms-stream-info emms-streams emms-mode-line emms-cache emms-info later-do emms-playlist-limit emms-playlist-mode emms-player-mpd tq emms-player-simple emms-source-playlist emms-source-file dired emms emms-compat init-message-modes silly-mail sendmail boxquote rect message rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev mail-utils gmm-utils mailheader init-time-tracking timeclock-visualize sgml-mode url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util mailcap auto-edit-substitute init-prog-modes init-prog-modes-emacs filecache paren inversion semantic/db-global semantic/symref/global semantic/symref semantic/db-find semantic/db-ref cedet-global semantic/mru-bookmark semantic/db-mode semantic/db semantic/idle semantic/decorate/mode srecode/mode semantic/senator semantic/format semantic/ctxt semantic/wisent semantic/wisent/wisent semantic/decorate pulse srecode/insert srecode/filters srecode/args srecode/find srecode/map srecode/ctxt semantic/tag-ls semantic/find srecode/compile srecode/dictionary srecode/table ede/emacs checkdoc thingatpt eldoc auto-complete-config auto-complete popup yasnippet cwarn cc-mode cc-fonts cc-guess cc-menus srecode semantic/util-modes semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local htmlfontify cus-edit cus-start cus-load compile-bookmarks local-projects ede/cpp-root ede/speedbar ede/files ede ede/base ede/auto ede/source eieio-base eieio-speedbar speedbar sb-image ezimage dframe eieio-custom cedet local-dir-classes gtags gpicker ffap url-parse url-vars font-latex latex easy-mmode edmacro kmacro tex-style tex cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs miniedit type-break icomplete site-start-load gawd-keys help-mode gawd-keys-emacs gawd-mode-frobs gawd-mode-frobs-emacs windmove recentf tree-widget wid-edit mv-shell printing ps-print ps-def lpr uptimes pp bbdb timezone browse-kill-ring+ browse-kill-ring tempbuf timeclock igrep grep compile term disp-table ehelp electric tramp tramp-compat auth-source gnus-util mm-util mail-prsvr password-cache tramp-loaddefs shell pcomplete comint ansi-color format-spec hideshow filladapt gawd-faces gawd-faces-emacs nix-dark-theme gawd-misc gawd-misc-emacs which-func imenu winner gawd-lists bbdb-autoloads 50magit desktop generic-x uniquify time advice help-fns advice-preload scroll-in-place site-start-emacs site-autoloads all-autoloads auctex-autoloads tex-site info c-eldoc-autoloads compilation-recenter-end-autoloads compile-bookmarks-autoloads dictionary-autoloads diff-git-autoloads elk-test-autoloads fringe-helper-autoloads full-ack-autoloads htmlize-autoloads ioccur-autoloads iresize-autoloads jump-autoloads inflections-autoloads findr-autoloads lua-mode-autoloads minimap-autoloads mv-shell-autoloads perspective-autoloads vlf-autoloads yasnippet-autoloads package emms-auto rudel-loaddefs rudel-backend warnings eieio byte-opt bytecomp byte-compile cconv cl-macs gv w3m-load apropos-toc cl cl-lib ring filesets easymenu flash-paren saveplace redo+ time-date tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment lisp-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote make-network-process dbusbind dynamic-setting system-font-setting font-render-setting x-toolkit x multi-tty emacs)