comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Error compiling procedure already compiled
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
Error compiling procedure already compiled [message #34355] Mon, 03 March 2003 19:59 Go to next message
psisquared is currently offline  psisquared
Messages: 5
Registered: December 2002
Junior Member
I'm trying to learn IDLWAVE whenever I get time, which isn't much. I'm
also still very new emacs, so I get lost pretty easily. When I save and .
run a file that's already been compiled, my 2 pane emacs window splits
into a 3 pane window with the following error in the 3rd pane. Is this
normal? It doesn't seem to happen the first time I save and .run, only
on subsequent attempts. The idl buffer window shows the command executed
normally, but I'd like to know what's going on here. Thanks in advance
for you tips,
Rob

(No changes need to be saved) Routine Info warning: No match for END
line in >>> RESTORE, '/tmp/idltemp1385yt2' & idlwave_routine_info
%
RESTORE: Procedure IDLWAVE_ROUTINE_INFO can't be restored while active.
%
RESTORE: Procedure IDLWAVE_PRINT_INFO_ENTRY can't be restored while
active. >>>BEGIN OF IDLWAVE ROUTINE INFO ("<@>" IS THE SEPARATOR)
%
ROUTINE_INFO: String expression required in this context: NAME.
%
Execution halted at: IDLWAVE_PRINT_INFO_ENTRY
%
IDLWAVE_ROUTINE_INFO
% IDLWAVE_PRINT_INFO_ENTRY
%
IDLWAVE_ROUTINE_INFO
% $MAIN$
IDL>
<<<
Re: Error compiling procedure already compiled [message #34393 is a reply to message #34355] Mon, 10 March 2003 10:44 Go to previous messageGo to next message
JD Smith is currently offline  JD Smith
Messages: 850
Registered: December 1999
Senior Member
On Fri, 07 Mar 2003 18:16:54 -0700, Rob wrote:

> JD Smith <jdsmith@as.arizona.edu> wrote:
>
>> On Wed, 05 Mar 2003 19:34:01 -0700, Rob wrote:
>>
>>> JD Smith <jdsmith@as.arizona.edu> wrote:
>>>
>>>> On Tue, 04 Mar 2003 21:14:58 -0700, Rob wrote:
>>>>
>>>> > Okay, so I jumped the gun. Apparently whenever the routine info is
>>>> > updated I can no longer compile without recieving the error. The
>>>> > line about routine info in my .emacs just caused IDLWAVE to
>>>> > perform the updated more frequently, so that's why I thought it
>>>> > was fixed...routine info just hadn't been updated yet. Below is
>>>> > another copy of the error message. As you can see, after routine
>>>> > info is updated, a temp file is written, and following compiling
>>>> > and .run'ing I recieve the Routine Info warning. Any suggestions
>>>> > what I can do to fix this?
>>>> >
>>>> > Scanning all buffers...
>>>> > Routine info updated: buffer(3) compiled(0) catalog(591)
>>>> > system(1324) Querying the shell
>>>> > Wrote /tmp/idltemp19963iX
>>>> > Finishing initialization in idle time...done Routine info updated:
>>>> > buffer(3) compiled(0) catalog(591) system(1324) (No changes need
>>>> > to be saved)
>>>> > Routine Info warning: No match for END line in
>>>> >>>>
>>>> > RESTORE, '/tmp/idltemp1996CFV' & idlwave_routine_info % RESTORE:
>>>> > Procedure IDLWAVE_ROUTINE_INFO can't be restored while active. %
>>>> > RESTORE: Procedure IDLWAVE_PRINT_INFO_ENTRY can't be restored
>>>> > while active.
>>>> >>>>BEGIN OF IDLWAVE ROUTINE INFO ("<@>" IS THE SEPARATOR)
>>>> > % ROUTINE_INFO: String expression required in this context: NAME.
>>>> > % Execution halted at: IDLWAVE_PRINT_INFO_ENTRY %
>>>> > IDLWAVE_ROUTINE_INFO %
>>>> > IDLWAVE_PRINT_INFO_ENTRY %
>>>> > IDLWAVE_ROUTINE_INFO %
>>>> > $MAIN$
>>>> > IDL>
>>>> > <<<
>>>> >
>>>> >
>>>> This is a sign that IDLWAVE is getting out of sync with the IDL
>>>> process. It's looking for a terminated block of output to parse, in
>>>> this case to learn about all the routines IDL knows about. I can
>>>> think of a few possibilities:
>>>>
>>>> 1. A read/write lag with comint, the mode which interacts with the
>>>> IDL
>>>> shell. Newer versions of IDLWAVE deal with this a bit better.
>>>>
>>>> 2. Something specific to your environment in the output of your
>>>> routine_info is confusing IDLWAVE. Seems unlikely, but possible.
>>>>
>>>> 3. You've changed your "IDL> " prompt to something else without
>>>> telling IDLWAVE about it (e.g. if you're using ENVI).
>>>>
>>>> Can you tell me what version of Emacs, IDL, and IDLWAVE (see
>>>> *Messages*) you are using? And, if you can get it to repeat and
>>>> have a recent IDLWAVE, check the menu box Debug->Show
>>>> Commands->Everything, generate the error, and mail me the dump of
>>>> info you find in the shell buffer.
>>>>
>>>> JD
>>>
>>> Thanks for the tips, JD. Before I started I installed IDLWAVE 4.1.6
>>> from www.idlwave.org.
>>>
>>> In response to 1. above, is 4.1.6 the the latest version? I've seen
>>> reference to a version 4.6, but I didn't see anything later than
>>> 4.1.6 on the website. Also, strangely, I don't see a Debug->Show
>>> Commands->Everything option in my Debug menu???
>>>
>>>
>> It's actually 4.16 (>4.6). I only use a single decimal. Make sure
>> that's what's actually running by checking the *Messages* log. If you
>> didn't do the install correctly, it may be defaulting to the bundled
>> version. You need to have the shell running for Everything to show,
>> otherwise, you'll just see "Start Shell" or some such. Start it and
>> see. If not, you're probably defaulting to the old version (4.7?).
>>
>>> In response to 3, I haven't changed my IDL prompt, don't even know
>>> how yet...and I'm not using ENVI.
>>>
>>> I'm using IDL 5.6 on OS X with the Aqua version of Emacs 21.3.50.6
>>> and am using Apples latest beta X11 version 0.2.1(Xfree86 4.2.1).
>>> Below is my .emacs and .tcshrc. If you can think of anything to try
>>> I'd really appreciate it!
>>
>> The next release of IDLWAVE will be fully qualified for OSX. Many have
>> gotten it working in the meantime, and I've never heard of an error
>> like this, but I've yet to test it myself. The error output showing
>> "Everything" will be definitive.
>>
>>> .Emacs file:
>>
>> No setting here should cause these problems.
>>
>
> The messages log confirms I'm running 4.16. But still, under my Debug
> menu I have, in order, Compile and Run, Breakpoints, Continue/Step,
> Examine Expressions, Call Stack, Update Working Directory, Reset IDL
> toggle Toolbar, and Exit IDL. That's it. The IDL shell is running. I
> don't have a Show Commands in my Debug menu. Am I looking in the wrong
> place?

Sorry about that Rob... it's been long enough since the last release
that I'm beginning to forgot things I put in afterwards, and this menu
was one of them. The functionality is there, just not in a menu. You
can set it via customize: IDLWAVE -> Customize -> Browse IDLWAVE
Group; Idlwave Shell Command Setup -> Idlwave Shell Show Commands.
Set that to "everything", save for current session, and give another
try.

JD
Re: Error compiling procedure already compiled [message #34451 is a reply to message #34393] Fri, 14 March 2003 23:14 Go to previous messageGo to next message
psisquared01 is currently offline  psisquared01
Messages: 7
Registered: December 2002
Junior Member
JD Smith <jdsmith@as.arizona.edu> wrote:

> On Fri, 07 Mar 2003 18:16:54 -0700, Rob wrote:
>
>> JD Smith <jdsmith@as.arizona.edu> wrote:
>>
>>> On Wed, 05 Mar 2003 19:34:01 -0700, Rob wrote:
>>>
>>>> JD Smith <jdsmith@as.arizona.edu> wrote:
>>>>
>>>> > On Tue, 04 Mar 2003 21:14:58 -0700, Rob wrote:
>>>> >
>>>> > > Okay, so I jumped the gun. Apparently whenever the routine info is
>>>> > > updated I can no longer compile without recieving the error. The
>>>> > > line about routine info in my .emacs just caused IDLWAVE to
>>>> > > perform the updated more frequently, so that's why I thought it
>>>> > > was fixed...routine info just hadn't been updated yet. Below is
>>>> > > another copy of the error message. As you can see, after routine
>>>> > > info is updated, a temp file is written, and following compiling
>>>> > > and .run'ing I recieve the Routine Info warning. Any suggestions
>>>> > > what I can do to fix this?
>>>> > >
>>>> > > Scanning all buffers...
>>>> > > Routine info updated: buffer(3) compiled(0) catalog(591)
>>>> > > system(1324) Querying the shell
>>>> > > Wrote /tmp/idltemp19963iX
>>>> > > Finishing initialization in idle time...done Routine info updated:
>>>> > > buffer(3) compiled(0) catalog(591) system(1324) (No changes need
>>>> > > to be saved)
>>>> > > Routine Info warning: No match for END line in
>>>> > >>>>
>>>> > > RESTORE, '/tmp/idltemp1996CFV' & idlwave_routine_info % RESTORE:
>>>> > > Procedure IDLWAVE_ROUTINE_INFO can't be restored while active. %
>>>> > > RESTORE: Procedure IDLWAVE_PRINT_INFO_ENTRY can't be restored
>>>> > > while active.
>>>> > >>>>BEGIN OF IDLWAVE ROUTINE INFO ("<@>" IS THE SEPARATOR)
>>>> > > % ROUTINE_INFO: String expression required in this context: NAME.
>>>> > > % Execution halted at: IDLWAVE_PRINT_INFO_ENTRY %
>>>> > > IDLWAVE_ROUTINE_INFO %
>>>> > > IDLWAVE_PRINT_INFO_ENTRY %
>>>> > > IDLWAVE_ROUTINE_INFO %
>>>> > > $MAIN$
>>>> > > IDL>
>>>> > > <<<
>>>> > >
>>>> > >
>>>> > This is a sign that IDLWAVE is getting out of sync with the IDL
>>>> > process. It's looking for a terminated block of output to parse, in
>>>> > this case to learn about all the routines IDL knows about. I can
>>>> > think of a few possibilities:
>>>> >
>>>> > 1. A read/write lag with comint, the mode which interacts with the
>>>> > IDL
>>>> > shell. Newer versions of IDLWAVE deal with this a bit better.
>>>> >
>>>> > 2. Something specific to your environment in the output of your
>>>> > routine_info is confusing IDLWAVE. Seems unlikely, but possible.
>>>> >
>>>> > 3. You've changed your "IDL> " prompt to something else without
>>>> > telling IDLWAVE about it (e.g. if you're using ENVI).
>>>> >
>>>> > Can you tell me what version of Emacs, IDL, and IDLWAVE (see
>>>> > *Messages*) you are using? And, if you can get it to repeat and
>>>> > have a recent IDLWAVE, check the menu box Debug->Show
>>>> > Commands->Everything, generate the error, and mail me the dump of
>>>> > info you find in the shell buffer.
>>>> >
>>>> > JD
>>>>
>>>> Thanks for the tips, JD. Before I started I installed IDLWAVE 4.1.6
>>>> from www.idlwave.org.
>>>>
>>>> In response to 1. above, is 4.1.6 the the latest version? I've seen
>>>> reference to a version 4.6, but I didn't see anything later than
>>>> 4.1.6 on the website. Also, strangely, I don't see a Debug->Show
>>>> Commands->Everything option in my Debug menu???
>>>>
>>>>
>>> It's actually 4.16 (>4.6). I only use a single decimal. Make sure
>>> that's what's actually running by checking the *Messages* log. If you
>>> didn't do the install correctly, it may be defaulting to the bundled
>>> version. You need to have the shell running for Everything to show,
>>> otherwise, you'll just see "Start Shell" or some such. Start it and
>>> see. If not, you're probably defaulting to the old version (4.7?).
>>>
>>>> In response to 3, I haven't changed my IDL prompt, don't even know
>>>> how yet...and I'm not using ENVI.
>>>>
>>>> I'm using IDL 5.6 on OS X with the Aqua version of Emacs 21.3.50.6
>>>> and am using Apples latest beta X11 version 0.2.1(Xfree86 4.2.1).
>>>> Below is my .emacs and .tcshrc. If you can think of anything to try
>>>> I'd really appreciate it!
>>>
>>> The next release of IDLWAVE will be fully qualified for OSX. Many have
>>> gotten it working in the meantime, and I've never heard of an error
>>> like this, but I've yet to test it myself. The error output showing
>>> "Everything" will be definitive.
>>>
>>>> .Emacs file:
>>>
>>> No setting here should cause these problems.
>>>
>>
>> The messages log confirms I'm running 4.16. But still, under my Debug
>> menu I have, in order, Compile and Run, Breakpoints, Continue/Step,
>> Examine Expressions, Call Stack, Update Working Directory, Reset IDL
>> toggle Toolbar, and Exit IDL. That's it. The IDL shell is running. I
>> don't have a Show Commands in my Debug menu. Am I looking in the wrong
>> place?
>
> Sorry about that Rob... it's been long enough since the last release
> that I'm beginning to forgot things I put in afterwards, and this menu
> was one of them. The functionality is there, just not in a menu. You
> can set it via customize: IDLWAVE -> Customize -> Browse IDLWAVE
> Group; Idlwave Shell Command Setup -> Idlwave Shell Show Commands.
> Set that to "everything", save for current session, and give another
> try.
>
> JD

Okay, sorry for the delay. Here's what I get with Everything set after
starting the IDL shell. Any tips appreciated. Thanks!

IDL> !more=0
IDL> defsysv,'!idlwave_version',' 4.16',1
IDL> __pa=expand_path(!path,/array)&for i=0,n_elements(__pa)-1 do
print,'PATH:<'+__pa[i]+'>'&print,'SYSDIR:<'+!dir+'>'
PATH:</usr/local/rsi/idl_5.6/lib/hook>
PATH:</usr/local/rsi/idl_5.6/lib/macros>
PATH:</usr/local/rsi/idl_5.6/lib/obsolete>
PATH:</usr/local/rsi/idl_5.6/lib/utilities>
PATH:</usr/local/rsi/idl_5.6/lib>
PATH:</usr/local/rsi/idl_5.6/examples/analysis>
PATH:</usr/local/rsi/idl_5.6/examples/data>
PATH:</usr/local/rsi/idl_5.6/examples/data_access/sdf>
PATH:</usr/local/rsi/idl_5.6/examples/data_access>
PATH:</usr/local/rsi/idl_5.6/examples/demo/demodata>
PATH:</usr/local/rsi/idl_5.6/examples/demo/demosrc>
PATH:</usr/local/rsi/idl_5.6/examples/demo>
PATH:</usr/local/rsi/idl_5.6/examples/doc>
PATH:</usr/local/rsi/idl_5.6/examples/external>
PATH:</usr/local/rsi/idl_5.6/examples/HP_TIFF>
PATH:</usr/local/rsi/idl_5.6/examples/imsl>
PATH:</usr/local/rsi/idl_5.6/examples/misc>
PATH:</usr/local/rsi/idl_5.6/examples/project>
PATH:</usr/local/rsi/idl_5.6/examples/visual/utility>
PATH:</usr/local/rsi/idl_5.6/examples/visual>
PATH:</usr/local/rsi/idl_5.6/examples/widgets/wexmast>
PATH:</usr/local/rsi/idl_5.6/examples/widgets>
PATH:</usr/local/rsi/idl_5.6/examples>
PATH:</Users/rcohen/Work/EKV_STUFF/idl_lib51>
PATH:</Users/rcohen/Work/EKV_STUFF/X3HDL5/Production51>
SYSDIR:</usr/local/rsi/idl_5.6>
IDL> idlwave_get_sysvars
% Attempt to call undefined procedure/function: 'IDLWAVE_GET_SYSVARS'.
% Execution halted at: $MAIN$
IDL> .run /tmp/idltemp2630kmp
% Compiled module: IDLWAVE_PRINT_INFO_ENTRY.
% Compiled module: IDLWAVE_ROUTINE_INFO.
% Compiled module: IDLWAVE_GET_SYSVARS.
% Compiled module: IDLWAVE_GET_CLASS_TAGS.
IDL>
save,'idlwave_routine_info','idlwave_print_info_entry',FILE= '/tmp/idltem
p2630DHL',/ROUTINES
IDL> RESTORE, '/tmp/idltemp2630DHL' & idlwave_routine_info
>>> BEGIN OF IDLWAVE ROUTINE INFO ("<@>" IS THE SEPARATOR)
% ROUTINE_INFO: String expression required in this context: NAME.
% Execution halted at: IDLWAVE_PRINT_INFO_ENTRY
% IDLWAVE_ROUTINE_INFO
% $MAIN$
IDL> idlwave_get_sysvars
IDLWAVE-SYSVAR: !C
IDLWAVE-SYSVAR: !CPU HW_VECTOR VECTOR_ENABLE HW_NCPU TPOOL_NTHREADS
TPOOL_MIN_ELTS TPOOL_MAX_ELTS
IDLWAVE-SYSVAR: !D NAME X_SIZE Y_SIZE X_VSIZE Y_VSIZE X_CH_SIZE
Y_CH_SIZE X_PX_CM Y_PX_CM N_COLORS TABLE_SIZE FILL_DIST WINDOW UNIT
FLAGS ORIGIN ZOOM
IDLWAVE-SYSVAR: !DIR
IDLWAVE-SYSVAR: !DLM_PATH
IDLWAVE-SYSVAR: !DPI
IDLWAVE-SYSVAR: !DTOR
IDLWAVE-SYSVAR: !EDIT_INPUT
IDLWAVE-SYSVAR: !ERROR_STATE NAME BLOCK CODE SYS_CODE SYS_CODE_TYPE MSG
SYS_MSG MSG_PREFIX
IDLWAVE-SYSVAR: !EXCEPT
IDLWAVE-SYSVAR: !HELP_PATH
IDLWAVE-SYSVAR: !IDLWAVE_VERSION
IDLWAVE-SYSVAR: !JOURNAL
IDLWAVE-SYSVAR: !MAKE_DLL COMPILE_DIRECTORY COMPILER_NAME CC LD
IDLWAVE-SYSVAR: !MAP PROJECTION SIMPLE FILL_METHOD UP_FLAGS UP_NAME
P0LON P0LAT U0 V0 SINO COSO ROTATION SINR COSR A E2 UV POLE UV_BOX
LL_BOX SEGMENT_LENGTH P PIPELINE
IDLWAVE-SYSVAR: !MORE
IDLWAVE-SYSVAR: !MOUSE X Y BUTTON TIME
IDLWAVE-SYSVAR: !ORDER
IDLWAVE-SYSVAR: !P BACKGROUND CHARSIZE CHARTHICK CLIP COLOR FONT
LINESTYLE MULTI NOCLIP NOERASE NSUM POSITION PSYM REGION SUBTITLE
SYMSIZE T T3D THICK TITLE TICKLEN CHANNEL
IDLWAVE-SYSVAR: !PATH
IDLWAVE-SYSVAR: !PI
IDLWAVE-SYSVAR: !PROMPT
IDLWAVE-SYSVAR: !QUIET
IDLWAVE-SYSVAR: !RADEG
IDLWAVE-SYSVAR: !VALUES F_INFINITY F_NAN D_INFINITY D_NAN
IDLWAVE-SYSVAR: !VERSION ARCH OS OS_FAMILY OS_NAME RELEASE BUILD_DATE
MEMORY_BITS FILE_OFFSET_BITS
IDLWAVE-SYSVAR: !WARN OBS_ROUTINES OBS_SYSVARS PARENS
IDLWAVE-SYSVAR: !X TITLE TYPE STYLE TICKS TICKLEN THICK RANGE CRANGE S
MARGIN OMARGIN WINDOW REGION CHARSIZE MINOR TICKV TICKNAME GRIDSTYLE
TICKFORMAT TICKINTERVAL TICKLAYOUT TICKUNITS
IDLWAVE-SYSVAR: !Y TITLE TYPE STYLE TICKS TICKLEN THICK RANGE CRANGE S
MARGIN OMARGIN WINDOW REGION CHARSIZE MINOR TICKV TICKNAME GRIDSTYLE
TICKFORMAT TICKINTERVAL TICKLAYOUT TICKUNITS
IDLWAVE-SYSVAR: !Z TITLE TYPE STYLE TICKS TICKLEN THICK RANGE CRANGE S
MARGIN OMARGIN WINDOW REGION CHARSIZE MINOR TICKV TICKNAME GRIDSTYLE
TICKFORMAT TICKINTERVAL TICKLAYOUT TICKUNITS
IDL>
Re: Error compiling procedure already compiled [message #34493 is a reply to message #34451] Wed, 19 March 2003 10:22 Go to previous message
JD Smith is currently offline  JD Smith
Messages: 850
Registered: December 1999
Senior Member
On Sat, 15 Mar 2003 00:14:27 -0700, Rob wrote:


> % ROUTINE_INFO: String expression required in this context: NAME. %
> Execution halted at: IDLWAVE_PRINT_INFO_ENTRY % IDLWAVE_ROUTINE_INFO %
> $MAIN$ IDL> idlwave_get_sysvars

This turned out to be yet another example of the poor choice parentheses
were as array indexing delimiters in earlier versions of IDL. The
automated code which asks the shell for routine information contained a
few variables subscripted with:

all(i)

instead of

all[i]

Rob had a function on his path named, you guessed it, "all", which was
doing the damage It'll be fixed in the next version.

JD
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: Re: Fullscreen Object graphics ?
Next Topic: Re: IDLgrAxis and scaling

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Wed Oct 08 14:53:45 PDT 2025

Total time taken to generate the page: 0.00690 seconds